github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/store/mpt/proof.go (about) 1 package mpt 2 3 import ( 4 "github.com/fibonacci-chain/fbc/libs/tendermint/crypto/merkle" 5 ) 6 7 type ProofList [][]byte 8 9 func (n *ProofList) Put(key []byte, value []byte) error { 10 *n = append(*n, value) 11 return nil 12 } 13 14 func (n *ProofList) Delete(key []byte) error { 15 panic("not supported") 16 } 17 18 const ProofOpMptValue = "mpt:v" 19 const ProofOpMptAbsence = "mpt:a" 20 21 func newProofOpMptValue(key []byte, proof ProofList) merkle.ProofOp { 22 bz := cdc.MustMarshalBinaryLengthPrefixed(proof) 23 return merkle.ProofOp{ 24 Type: ProofOpMptValue, 25 Key: key, 26 Data: bz, 27 } 28 } 29 30 func newProofOpMptAbsence(key []byte, proof ProofList) merkle.ProofOp { 31 bz := cdc.MustMarshalBinaryLengthPrefixed(proof) 32 return merkle.ProofOp{ 33 Type: ProofOpMptAbsence, 34 Key: key, 35 Data: bz, 36 } 37 }