get contract state
(cmd map[string]interface{})
| 361 | |
| 362 | //get contract state |
| 363 | func GetContractState(cmd map[string]interface{}) map[string]interface{} { |
| 364 | resp := ResponsePack(berr.SUCCESS) |
| 365 | str, ok := cmd["Hash"].(string) |
| 366 | if !ok { |
| 367 | return ResponsePack(berr.INVALID_PARAMS) |
| 368 | } |
| 369 | address, err := bcomn.GetAddress(str) |
| 370 | if err != nil { |
| 371 | return ResponsePack(berr.INVALID_PARAMS) |
| 372 | } |
| 373 | contract, err := bactor.GetContractStateFromStore(address) |
| 374 | if err != nil { |
| 375 | return ResponsePack(berr.INTERNAL_ERROR) |
| 376 | } |
| 377 | if contract == nil { |
| 378 | return ResponsePack(berr.UNKNOWN_CONTRACT) |
| 379 | } |
| 380 | if raw, ok := cmd["Raw"].(string); ok && raw == "1" { |
| 381 | sink := common.NewZeroCopySink(nil) |
| 382 | contract.Serialization(sink) |
| 383 | resp["Result"] = common.ToHexString(sink.Bytes()) |
| 384 | return resp |
| 385 | } |
| 386 | resp["Result"] = bcomn.TransPayloadToHex(contract) |
| 387 | return resp |
| 388 | } |
| 389 | |
| 390 | //get storage from contract |
| 391 | func GetStorage(cmd map[string]interface{}) map[string]interface{} { |
nothing calls this directly
no test coverage detected