(memdb *overlaydb.MemDB, backend *ledger.Ledger, addr common.Address, key []byte)
| 240 | } |
| 241 | |
| 242 | func GetStorageValue(memdb *overlaydb.MemDB, backend *ledger.Ledger, addr common.Address, key []byte) (value []byte, err error) { |
| 243 | if memdb == nil { |
| 244 | return backend.GetStorageItem(addr, key) |
| 245 | } |
| 246 | rawValue, unknown := getRawStorageItemFromMemDb(memdb, addr, key) |
| 247 | if unknown { |
| 248 | return backend.GetStorageItem(addr, key) |
| 249 | } |
| 250 | if len(rawValue) == 0 { |
| 251 | return nil, scommon.ErrNotFound |
| 252 | } |
| 253 | |
| 254 | value, err = states.GetValueFromRawStorageItem(rawValue) |
| 255 | return |
| 256 | } |
| 257 | |
| 258 | func GetGovernanceView(memdb *overlaydb.MemDB) (*gov.GovernanceView, error) { |
| 259 | value, err := GetStorageValue(memdb, ledger.DefLedger, nutils.GovernanceContractAddress, []byte(gov.GOVERNANCE_VIEW)) |
no test coverage detected