Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
admin-backend
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Odysseus
admin-backend
Commits
0b4eff9f
Commit
0b4eff9f
authored
May 27, 2024
by
brent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add merkle tree api
parent
0b30ebbf
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
111 additions
and
0 deletions
+111
-0
client.go
controllers/client.go
+90
-0
client.go
models/client.go
+21
-0
No files found.
controllers/client.go
View file @
0b4eff9f
...
...
@@ -737,6 +737,10 @@ func (server *ClientController) TotalReward() {
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
if
response
.
Code
!=
0
{
server
.
respond
(
models
.
BusinessFailed
,
response
.
Msg
)
return
}
server
.
respond
(
http
.
StatusOK
,
""
,
response
.
Data
)
}
...
...
@@ -786,5 +790,91 @@ func (server *ClientController) WithdrawalRecord() {
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
if
response
.
Code
!=
0
{
server
.
respond
(
models
.
BusinessFailed
,
response
.
Msg
)
return
}
server
.
respond
(
http
.
StatusOK
,
""
,
response
.
Data
)
}
func
(
server
*
ClientController
)
MerkleNodes
()
{
requestBody
:=
server
.
Ctx
.
Input
.
RequestBody
appRequest
:=
models
.
MerkleNodesRequest
{}
err
:=
json
.
Unmarshal
(
requestBody
,
&
appRequest
)
//解析body中数据
logs
.
Debug
(
"appRequest"
,
appRequest
)
if
appRequest
.
Date
==
""
{
server
.
respond
(
models
.
MissingParameter
,
"Missing date."
)
return
}
host
,
_
:=
beego
.
AppConfig
.
String
(
"rewardUrl"
)
url
:=
host
+
"/api/v1/tree/merkleNodes"
payload
:=
new
(
bytes
.
Buffer
)
json
.
NewEncoder
(
payload
)
.
Encode
(
requestBody
)
resp
,
err
:=
http
.
Post
(
url
,
"application/json;charset=UTF-8"
,
payload
)
if
err
!=
nil
{
logs
.
Info
(
"Error sending request:"
,
err
)
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
defer
resp
.
Body
.
Close
()
logs
.
Info
(
"merkleNodes resp code"
,
resp
.
StatusCode
)
body
,
err
:=
io
.
ReadAll
(
resp
.
Body
)
if
err
!=
nil
{
logs
.
Info
(
"Error reading response:"
,
err
)
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
var
response
models
.
MerkleNodesResponse
if
err
:=
json
.
Unmarshal
(
body
,
&
response
);
err
!=
nil
{
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
if
response
.
Code
!=
0
{
server
.
respond
(
models
.
BusinessFailed
,
response
.
Msg
)
return
}
server
.
respond
(
http
.
StatusOK
,
""
,
response
.
Data
)
}
func
(
server
*
ClientController
)
MerkleSumNodes
()
{
requestBody
:=
server
.
Ctx
.
Input
.
RequestBody
appRequest
:=
models
.
MerkleNodesRequest
{}
err
:=
json
.
Unmarshal
(
requestBody
,
&
appRequest
)
//解析body中数据
logs
.
Debug
(
"appRequest"
,
appRequest
)
if
appRequest
.
Date
==
""
{
server
.
respond
(
models
.
MissingParameter
,
"Missing date."
)
return
}
host
,
_
:=
beego
.
AppConfig
.
String
(
"rewardUrl"
)
url
:=
host
+
"/api/v1/tree/merkleSumNodes"
payload
:=
new
(
bytes
.
Buffer
)
json
.
NewEncoder
(
payload
)
.
Encode
(
requestBody
)
resp
,
err
:=
http
.
Post
(
url
,
"application/json;charset=UTF-8"
,
payload
)
if
err
!=
nil
{
logs
.
Info
(
"Error sending request:"
,
err
)
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
defer
resp
.
Body
.
Close
()
logs
.
Info
(
"merkleNodes resp code"
,
resp
.
StatusCode
)
body
,
err
:=
io
.
ReadAll
(
resp
.
Body
)
if
err
!=
nil
{
logs
.
Info
(
"Error reading response:"
,
err
)
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
var
response
models
.
MerkleSumNodesResponse
if
err
:=
json
.
Unmarshal
(
body
,
&
response
);
err
!=
nil
{
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
if
response
.
Code
!=
0
{
server
.
respond
(
models
.
BusinessFailed
,
response
.
Msg
)
return
}
server
.
respond
(
http
.
StatusOK
,
""
,
response
.
Data
)
}
models/client.go
View file @
0b4eff9f
...
...
@@ -75,3 +75,24 @@ type WithdrawalRecordResponse struct {
Msg
string
`json:"msg"`
Data
WithdrawalRecordData
`json:"data"`
}
type
MerkleNodesRequest
struct
{
Date
string
`json:"date"`
Depth
int
`json:"depth"`
RootHash
string
`json:"rootHash"`
}
type
MerkleNodesResponse
struct
{
Code
int
`json:"code"`
Data
[][]
string
`json:"data"`
Msg
string
`json:"msg"`
}
type
MerkleSumNodesResponse
struct
{
Code
int
`json:"code"`
Data
struct
{
Nodes
[][]
string
`json:"nodes"`
Vals
[][]
string
`json:"vals"`
}
`json:"data"`
Msg
string
`json:"msg"`
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment