/
chain.go
61 lines (55 loc) · 1.91 KB
/
chain.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/**
* Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED
*
* This file is part of NDID software.
*
* NDID is the free software: you can redistribute it and/or modify it under
* the terms of the Affero GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or any later
* version.
*
* NDID is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the Affero GNU General Public License for more details.
*
* You should have received a copy of the Affero GNU General Public License
* along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt.
*
* Please contact info@ndid.co.th for any further questions
*
*/
package app
import (
"encoding/json"
"github.com/tendermint/tendermint/abci/types"
)
type IsInitEndedResult struct {
InitEnded bool `json:"init_ended"`
}
func (app *ABCIApplication) isInitEnded(param string) types.ResponseQuery {
app.logger.Infof("IsInitEnded, Parameter: %s", param)
var result IsInitEndedResult
result.InitEnded = false
value, err := app.state.Get(initStateKeyBytes, true)
if err != nil {
return app.ReturnQuery(nil, err.Error(), app.state.Height)
}
if string(value) == "false" {
result.InitEnded = true
}
returnValue, err := json.Marshal(result)
if err != nil {
return app.ReturnQuery(nil, err.Error(), app.state.Height)
}
return app.ReturnQuery(returnValue, "success", app.state.Height)
}
func (app *ABCIApplication) getChainHistory(param string) types.ResponseQuery {
app.logger.Infof("GetChainHistory, Parameter: %s", param)
chainHistoryInfoKey := "ChainHistoryInfo"
value, err := app.state.Get([]byte(chainHistoryInfoKey), true)
if err != nil {
return app.ReturnQuery(nil, err.Error(), app.state.Height)
}
return app.ReturnQuery(value, "success", app.state.Height)
}