Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
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
link33
plugin
Commits
c7c714c5
Commit
c7c714c5
authored
Nov 08, 2018
by
linj
Committed by
linj
Nov 26, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
impl rpc, rename create tx
parent
87b25a1e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
116 additions
and
29 deletions
+116
-29
exec_test.go
executor/exec_test.go
+19
-18
rpc.go
rpc/rpc.go
+86
-0
types.go
types/types.go
+11
-11
No files found.
executor/exec_test.go
View file @
c7c714c5
...
...
@@ -70,6 +70,7 @@ func TestUnfreeze(t *testing.T) {
2
,
1539918074
,
}
ty
:=
pty
.
UnfreezeType
{}
// 创建
opt
:=
&
pty
.
FixAmount
{
Period
:
10
,
Amount
:
2
}
...
...
@@ -82,13 +83,13 @@ func TestUnfreeze(t *testing.T) {
Means
:
"FixAmount"
,
MeansOpt
:
&
pty
.
UnfreezeCreate_FixAmount
{
FixAmount
:
opt
},
}
createTx
,
err
:=
pty
.
Create
UnfreezeCreateTx
(
p1
)
createTx
,
err
:=
ty
.
RPC_
UnfreezeCreateTx
(
p1
)
if
err
!=
nil
{
t
.
Error
(
"
Create
UnfreezeCreateTx"
,
"err"
,
err
)
t
.
Error
(
"
RPC_
UnfreezeCreateTx"
,
"err"
,
err
)
}
createTx
,
err
=
signTx
(
createTx
,
PrivKeyA
)
if
err
!=
nil
{
t
.
Error
(
"
Create
UnfreezeCreateTx sign"
,
"err"
,
err
)
t
.
Error
(
"
RPC_
UnfreezeCreateTx sign"
,
"err"
,
err
)
}
exec
:=
newUnfreeze
()
exec
.
SetStateDB
(
stateDB
)
...
...
@@ -105,13 +106,13 @@ func TestUnfreeze(t *testing.T) {
p2
:=
&
pty
.
UnfreezeWithdraw
{
UnfreezeID
:
string
(
unfreezeID
(
string
(
createTx
.
Hash
()))),
}
withdrawTx
,
err
:=
pty
.
Create
UnfreezeWithdrawTx
(
p2
)
withdrawTx
,
err
:=
ty
.
RPC_
UnfreezeWithdrawTx
(
p2
)
if
err
!=
nil
{
t
.
Error
(
"
Create
UnfreezeWithdrawTx"
,
"err"
,
err
)
t
.
Error
(
"
RPC_
UnfreezeWithdrawTx"
,
"err"
,
err
)
}
withdrawTx
,
err
=
signTx
(
withdrawTx
,
PrivKeyB
)
if
err
!=
nil
{
t
.
Error
(
"
Create
UnfreezeWithdrawTx sign"
,
"err"
,
err
)
t
.
Error
(
"
RPC_
UnfreezeWithdrawTx sign"
,
"err"
,
err
)
}
blockTime
:=
int64
(
10
)
exec
.
SetEnv
(
env
.
blockHeight
+
1
,
env
.
blockTime
+
blockTime
,
env
.
difficulty
)
...
...
@@ -134,13 +135,13 @@ func TestUnfreeze(t *testing.T) {
p2
:=
&
pty
.
UnfreezeWithdraw
{
UnfreezeID
:
string
(
unfreezeID
(
string
(
createTx
.
Hash
()))),
}
withdrawTx
,
err
:=
pty
.
Create
UnfreezeWithdrawTx
(
p2
)
withdrawTx
,
err
:=
ty
.
RPC_
UnfreezeWithdrawTx
(
p2
)
if
err
!=
nil
{
t
.
Error
(
"
Create
UnfreezeWithdrawTx"
,
"err"
,
err
)
t
.
Error
(
"
RPC_
UnfreezeWithdrawTx"
,
"err"
,
err
)
}
withdrawTx
,
err
=
signTx
(
withdrawTx
,
PrivKeyC
)
if
err
!=
nil
{
t
.
Error
(
"
Create
UnfreezeWithdrawTx sign"
,
"err"
,
err
)
t
.
Error
(
"
RPC_
UnfreezeWithdrawTx sign"
,
"err"
,
err
)
}
blockTime
:=
int64
(
10
)
exec
.
SetEnv
(
env
.
blockHeight
+
1
,
env
.
blockTime
+
blockTime
,
env
.
difficulty
)
...
...
@@ -154,13 +155,13 @@ func TestUnfreeze(t *testing.T) {
p3
:=
&
pty
.
UnfreezeTerminate
{
UnfreezeID
:
string
(
unfreezeID
(
string
(
createTx
.
Hash
()))),
}
terminateTx
,
err
:=
pty
.
Create
UnfreezeTerminateTx
(
p3
)
terminateTx
,
err
:=
ty
.
RPC_
UnfreezeTerminateTx
(
p3
)
if
err
!=
nil
{
t
.
Error
(
"
Create
UnfreezeTerminateTx"
,
"err"
,
err
)
t
.
Error
(
"
RPC_
UnfreezeTerminateTx"
,
"err"
,
err
)
}
terminateTx
,
err
=
signTx
(
terminateTx
,
PrivKeyC
)
if
err
!=
nil
{
t
.
Error
(
"
Create
UnfreezeTerminateTx sign"
,
"err"
,
err
)
t
.
Error
(
"
RPC_
UnfreezeTerminateTx sign"
,
"err"
,
err
)
}
receipt
,
err
=
exec
.
Exec
(
terminateTx
,
1
)
assert
.
Equal
(
t
,
pty
.
ErrNoPrivilege
,
err
)
...
...
@@ -171,13 +172,13 @@ func TestUnfreeze(t *testing.T) {
p3
:=
&
pty
.
UnfreezeTerminate
{
UnfreezeID
:
string
(
unfreezeID
(
string
(
createTx
.
Hash
()))),
}
terminateTx
,
err
:=
pty
.
Create
UnfreezeTerminateTx
(
p3
)
terminateTx
,
err
:=
ty
.
RPC_
UnfreezeTerminateTx
(
p3
)
if
err
!=
nil
{
t
.
Error
(
"
Create
UnfreezeTerminateTx"
,
"err"
,
err
)
t
.
Error
(
"
RPC_
UnfreezeTerminateTx"
,
"err"
,
err
)
}
terminateTx
,
err
=
signTx
(
terminateTx
,
PrivKeyA
)
if
err
!=
nil
{
t
.
Error
(
"
Create
UnfreezeTerminateTx sign"
,
"err"
,
err
)
t
.
Error
(
"
RPC_
UnfreezeTerminateTx sign"
,
"err"
,
err
)
}
receipt
,
err
=
exec
.
Exec
(
terminateTx
,
1
)
assert
.
Nil
(
t
,
err
)
...
...
@@ -192,13 +193,13 @@ func TestUnfreeze(t *testing.T) {
p2
:=
&
pty
.
UnfreezeWithdraw
{
UnfreezeID
:
string
(
unfreezeID
(
string
(
createTx
.
Hash
()))),
}
withdrawTx
,
err
:=
pty
.
Create
UnfreezeWithdrawTx
(
p2
)
withdrawTx
,
err
:=
ty
.
RPC_
UnfreezeWithdrawTx
(
p2
)
if
err
!=
nil
{
t
.
Error
(
"
Create
UnfreezeWithdrawTx"
,
"err"
,
err
)
t
.
Error
(
"
RPC_
UnfreezeWithdrawTx"
,
"err"
,
err
)
}
withdrawTx
,
err
=
signTx
(
withdrawTx
,
PrivKeyB
)
if
err
!=
nil
{
t
.
Error
(
"
Create
UnfreezeWithdrawTx sign"
,
"err"
,
err
)
t
.
Error
(
"
RPC_
UnfreezeWithdrawTx sign"
,
"err"
,
err
)
}
blockTime
:=
int64
(
10
)
exec
.
SetEnv
(
env
.
blockHeight
+
1
,
env
.
blockTime
+
blockTime
+
blockTime
,
env
.
difficulty
)
...
...
rpc/rpc.go
0 → 100644
View file @
c7c714c5
package
rpc
import
(
"context"
"encoding/hex"
pty
"gitlab.33.cn/chain33/chain33/plugin/dapp/unfreeze/types"
"gitlab.33.cn/chain33/chain33/types"
)
func
(
c
*
channelClient
)
GetUnfreeze
(
ctx
context
.
Context
,
in
*
types
.
ReqString
)
(
*
pty
.
Unfreeze
,
error
)
{
v
,
err
:=
c
.
Query
(
pty
.
UnfreezeX
,
"GetUnfreeze"
,
in
)
if
err
!=
nil
{
return
nil
,
err
}
if
resp
,
ok
:=
v
.
(
*
pty
.
Unfreeze
);
ok
{
return
resp
,
nil
}
return
nil
,
types
.
ErrDecode
}
func
(
c
*
channelClient
)
GetUnfreezeWithdraw
(
ctx
context
.
Context
,
in
*
types
.
ReqString
)
(
*
pty
.
ReplyQueryUnfreezeWithdraw
,
error
)
{
v
,
err
:=
c
.
Query
(
pty
.
UnfreezeX
,
"GetUnfreezeWithdraw"
,
in
)
if
err
!=
nil
{
return
nil
,
err
}
if
resp
,
ok
:=
v
.
(
*
pty
.
ReplyQueryUnfreezeWithdraw
);
ok
{
return
resp
,
nil
}
return
nil
,
types
.
ErrDecode
}
func
(
c
*
Jrpc
)
GetUnfreeze
(
in
*
types
.
ReqString
,
result
*
interface
{})
error
{
v
,
err
:=
c
.
cli
.
GetUnfreeze
(
context
.
Background
(),
in
)
if
err
!=
nil
{
return
err
}
*
result
=
v
return
nil
}
func
(
c
*
Jrpc
)
GetUnfreezeWithdraw
(
in
*
types
.
ReqString
,
result
*
interface
{})
error
{
v
,
err
:=
c
.
cli
.
GetUnfreezeWithdraw
(
context
.
Background
(),
in
)
if
err
!=
nil
{
return
err
}
*
result
=
v
return
nil
}
func
(
c
*
Jrpc
)
CreateRawUnfreezeCreate
(
param
*
pty
.
UnfreezeCreate
,
result
*
interface
{})
error
{
if
param
==
nil
{
return
types
.
ErrInvalidParam
}
data
,
err
:=
types
.
CallCreateTx
(
types
.
ExecName
(
pty
.
UnfreezeX
),
"UnfreezeCreateTX"
,
param
)
if
err
!=
nil
{
return
err
}
*
result
=
hex
.
EncodeToString
(
data
)
return
nil
}
func
(
c
*
Jrpc
)
CreateRawUnfreezeWithdraw
(
param
*
pty
.
UnfreezeWithdraw
,
result
*
interface
{})
error
{
if
param
==
nil
{
return
types
.
ErrInvalidParam
}
data
,
err
:=
types
.
CallCreateTx
(
types
.
ExecName
(
pty
.
UnfreezeX
),
"UnfreezeWithdrawTx"
,
param
)
if
err
!=
nil
{
return
err
}
*
result
=
hex
.
EncodeToString
(
data
)
return
nil
}
func
(
c
*
Jrpc
)
CreateRawUnfreezeTerminate
(
param
*
pty
.
UnfreezeTerminate
,
result
*
interface
{})
error
{
if
param
==
nil
{
return
types
.
ErrInvalidParam
}
data
,
err
:=
types
.
CallCreateTx
(
types
.
ExecName
(
pty
.
UnfreezeX
),
"UnfreezeTerminateTx"
,
param
)
if
err
!=
nil
{
return
err
}
*
result
=
hex
.
EncodeToString
(
data
)
return
nil
}
types/types.go
View file @
c7c714c5
...
...
@@ -68,7 +68,7 @@ func (u UnfreezeType) CreateTx(action string, message json.RawMessage) (*types.T
tlog
.
Error
(
"CreateTx"
,
"Error"
,
err
)
return
nil
,
types
.
ErrInvalidParam
}
return
Create
UnfreezeCreateTx
(
&
param
)
return
u
.
RPC_
UnfreezeCreateTx
(
&
param
)
}
else
if
action
==
Action_WithdrawUnfreeze
{
var
param
UnfreezeWithdraw
err
:=
json
.
Unmarshal
(
message
,
&
param
)
...
...
@@ -76,7 +76,7 @@ func (u UnfreezeType) CreateTx(action string, message json.RawMessage) (*types.T
tlog
.
Error
(
"CreateTx"
,
"Error"
,
err
)
return
nil
,
types
.
ErrInvalidParam
}
return
Create
UnfreezeWithdrawTx
(
&
param
)
return
u
.
RPC_
UnfreezeWithdrawTx
(
&
param
)
}
else
if
action
==
Action_TerminateUnfreeze
{
var
param
UnfreezeTerminate
err
:=
json
.
Unmarshal
(
message
,
&
param
)
...
...
@@ -84,24 +84,24 @@ func (u UnfreezeType) CreateTx(action string, message json.RawMessage) (*types.T
tlog
.
Error
(
"CreateTx"
,
"Error"
,
err
)
return
nil
,
types
.
ErrInvalidParam
}
return
Create
UnfreezeTerminateTx
(
&
param
)
return
u
.
RPC_
UnfreezeTerminateTx
(
&
param
)
}
else
{
return
nil
,
types
.
ErrNotSupport
}
return
nil
,
nil
}
func
Create
UnfreezeCreateTx
(
parm
*
UnfreezeCreate
)
(
*
types
.
Transaction
,
error
)
{
func
(
u
UnfreezeType
)
RPC_
UnfreezeCreateTx
(
parm
*
UnfreezeCreate
)
(
*
types
.
Transaction
,
error
)
{
if
parm
==
nil
{
tlog
.
Error
(
"
Create
UnfreezeCreateTx"
,
"parm"
,
parm
)
tlog
.
Error
(
"
RPC_
UnfreezeCreateTx"
,
"parm"
,
parm
)
return
nil
,
types
.
ErrInvalidParam
}
if
parm
.
AssetExec
==
""
||
parm
.
AssetSymbol
==
""
||
parm
.
TotalCount
<=
0
||
parm
.
Means
==
""
{
tlog
.
Error
(
"
Create
UnfreezeCreateTx"
,
"parm"
,
parm
)
tlog
.
Error
(
"
RPC_
UnfreezeCreateTx"
,
"parm"
,
parm
)
return
nil
,
types
.
ErrInvalidParam
}
if
!
supportMeans
(
parm
.
Means
)
{
tlog
.
Error
(
"
Create
UnfreezeCreateTx not support means"
,
"parm"
,
parm
)
tlog
.
Error
(
"
RPC_
UnfreezeCreateTx not support means"
,
"parm"
,
parm
)
return
nil
,
types
.
ErrInvalidParam
}
create
:=
&
UnfreezeAction
{
...
...
@@ -118,9 +118,9 @@ func CreateUnfreezeCreateTx(parm *UnfreezeCreate) (*types.Transaction, error) {
return
tx
,
nil
}
func
Create
UnfreezeWithdrawTx
(
parm
*
UnfreezeWithdraw
)
(
*
types
.
Transaction
,
error
)
{
func
(
u
UnfreezeType
)
RPC_
UnfreezeWithdrawTx
(
parm
*
UnfreezeWithdraw
)
(
*
types
.
Transaction
,
error
)
{
if
parm
==
nil
{
tlog
.
Error
(
"
Create
UnfreezeWithdrawTx"
,
"parm"
,
parm
)
tlog
.
Error
(
"
RPC_
UnfreezeWithdrawTx"
,
"parm"
,
parm
)
return
nil
,
types
.
ErrInvalidParam
}
v
:=
&
UnfreezeWithdraw
{
...
...
@@ -140,9 +140,9 @@ func CreateUnfreezeWithdrawTx(parm *UnfreezeWithdraw) (*types.Transaction, error
return
tx
,
nil
}
func
Create
UnfreezeTerminateTx
(
parm
*
UnfreezeTerminate
)
(
*
types
.
Transaction
,
error
)
{
func
(
u
UnfreezeType
)
RPC_
UnfreezeTerminateTx
(
parm
*
UnfreezeTerminate
)
(
*
types
.
Transaction
,
error
)
{
if
parm
==
nil
{
tlog
.
Error
(
"
Create
UnfreezeTerminateTx"
,
"parm"
,
parm
)
tlog
.
Error
(
"
RPC_
UnfreezeTerminateTx"
,
"parm"
,
parm
)
return
nil
,
types
.
ErrInvalidParam
}
v
:=
&
UnfreezeTerminate
{
...
...
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