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
e26a5b79
Unverified
Commit
e26a5b79
authored
Jan 10, 2019
by
vipwzw
Committed by
GitHub
Jan 10, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #214 from linj-disanbo/asset-update
Asset update
parents
60651391
08404a30
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
42 additions
and
194 deletions
+42
-194
paracross.go
plugin/dapp/paracross/commands/paracross.go
+13
-70
paracross.go
plugin/dapp/paracross/types/paracross.go
+21
-26
type.go
plugin/dapp/paracross/types/type.go
+4
-3
token.go
plugin/dapp/token/commands/token.go
+4
-95
No files found.
plugin/dapp/paracross/commands/paracross.go
View file @
e26a5b79
...
@@ -12,6 +12,7 @@ import (
...
@@ -12,6 +12,7 @@ import (
"strings"
"strings"
"github.com/33cn/chain33/rpc/jsonclient"
"github.com/33cn/chain33/rpc/jsonclient"
"github.com/33cn/chain33/system/dapp/commands"
"github.com/33cn/chain33/types"
"github.com/33cn/chain33/types"
pt
"github.com/33cn/plugin/plugin/dapp/paracross/types"
pt
"github.com/33cn/plugin/plugin/dapp/paracross/types"
"github.com/spf13/cobra"
"github.com/spf13/cobra"
...
@@ -162,19 +163,12 @@ func addCreateTransferFlags(cmd *cobra.Command) {
...
@@ -162,19 +163,12 @@ func addCreateTransferFlags(cmd *cobra.Command) {
cmd
.
Flags
()
.
StringP
(
"note"
,
"n"
,
""
,
"transaction note info"
)
cmd
.
Flags
()
.
StringP
(
"note"
,
"n"
,
""
,
"transaction note info"
)
cmd
.
Flags
()
.
StringP
(
"title"
,
""
,
""
,
"the title of para chain, like `p.user.guodun.`"
)
cmd
.
MarkFlagRequired
(
"title"
)
cmd
.
Flags
()
.
StringP
(
"symbol"
,
"s"
,
""
,
"default for bty, symbol for token"
)
cmd
.
Flags
()
.
StringP
(
"symbol"
,
"s"
,
""
,
"default for bty, symbol for token"
)
cmd
.
MarkFlagRequired
(
"symbol"
)
}
}
func
createTransfer
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
func
createTransfer
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
txHex
,
err
:=
createTransferTx
(
cmd
,
false
)
commands
.
CreateAssetTransfer
(
cmd
,
args
,
pt
.
ParaX
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
fmt
.
Println
(
txHex
)
}
}
//CreateRawTransferToExecCmd create raw transfer to exec tx
//CreateRawTransferToExecCmd create raw transfer to exec tx
...
@@ -189,27 +183,20 @@ func CreateRawTransferToExecCmd() *cobra.Command {
...
@@ -189,27 +183,20 @@ func CreateRawTransferToExecCmd() *cobra.Command {
}
}
func
addCreateTransferToExecFlags
(
cmd
*
cobra
.
Command
)
{
func
addCreateTransferToExecFlags
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
StringP
(
"to"
,
"t"
,
""
,
"receiver exec name"
)
cmd
.
MarkFlagRequired
(
"to"
)
cmd
.
Flags
()
.
Float64P
(
"amount"
,
"a"
,
0
,
"transaction amount"
)
cmd
.
Flags
()
.
Float64P
(
"amount"
,
"a"
,
0
,
"transaction amount"
)
cmd
.
MarkFlagRequired
(
"amount"
)
cmd
.
MarkFlagRequired
(
"amount"
)
cmd
.
Flags
()
.
StringP
(
"note"
,
"n"
,
""
,
"transaction note info"
)
cmd
.
Flags
()
.
StringP
(
"note"
,
"n"
,
""
,
"transaction note info"
)
cmd
.
Flags
()
.
StringP
(
"
title"
,
""
,
""
,
"the title of para chain, like `p.user.guodun.`
"
)
cmd
.
Flags
()
.
StringP
(
"
symbol"
,
"s"
,
"coins.bty"
,
"default for bty, symbol for token
"
)
cmd
.
MarkFlagRequired
(
"
title
"
)
cmd
.
MarkFlagRequired
(
"
symbol
"
)
cmd
.
Flags
()
.
StringP
(
"symbol"
,
"s"
,
""
,
"default for bty, symbol for token"
)
cmd
.
Flags
()
.
StringP
(
"exec"
,
"e"
,
""
,
"asset deposit exec"
)
cmd
.
MarkFlagRequired
(
"exec"
)
}
}
func
createTransferToExec
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
func
createTransferToExec
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
txHex
,
err
:=
createTransferTx
(
cmd
,
false
)
commands
.
CreateAssetSendToExec
(
cmd
,
args
,
pt
.
ParaX
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
fmt
.
Println
(
txHex
)
}
}
//CreateRawWithdrawCmd create raw withdraw tx
//CreateRawWithdrawCmd create raw withdraw tx
...
@@ -229,59 +216,15 @@ func addCreateWithdrawFlags(cmd *cobra.Command) {
...
@@ -229,59 +216,15 @@ func addCreateWithdrawFlags(cmd *cobra.Command) {
cmd
.
Flags
()
.
StringP
(
"note"
,
"n"
,
""
,
"transaction note info"
)
cmd
.
Flags
()
.
StringP
(
"note"
,
"n"
,
""
,
"transaction note info"
)
cmd
.
Flags
()
.
StringP
(
"title"
,
""
,
""
,
"the title of para chain, like `p.user.guodun.`"
)
cmd
.
MarkFlagRequired
(
"title"
)
cmd
.
Flags
()
.
StringP
(
"from"
,
"t"
,
""
,
"exec name"
)
cmd
.
MarkFlagRequired
(
"from"
)
cmd
.
Flags
()
.
StringP
(
"symbol"
,
"s"
,
""
,
"default for bty, symbol for token"
)
cmd
.
Flags
()
.
StringP
(
"symbol"
,
"s"
,
""
,
"default for bty, symbol for token"
)
}
cmd
.
MarkFlagRequired
(
"symbol"
)
func
createWithdraw
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
cmd
.
Flags
()
.
StringP
(
"exec"
,
"e"
,
""
,
"asset deposit exec"
)
txHex
,
err
:=
createTransferTx
(
cmd
,
true
)
cmd
.
MarkFlagRequired
(
"exec"
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
fmt
.
Println
(
txHex
)
}
}
func
createTransferTx
(
cmd
*
cobra
.
Command
,
isWithdraw
bool
)
(
string
,
error
)
{
func
createWithdraw
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
amount
,
_
:=
cmd
.
Flags
()
.
GetFloat64
(
"amount"
)
commands
.
CreateAssetWithdraw
(
cmd
,
args
,
pt
.
ParaX
)
if
amount
<
0
{
return
""
,
types
.
ErrAmount
}
amountInt64
:=
int64
(
math
.
Trunc
((
amount
+
0.0000001
)
*
1e4
))
*
1e4
toAddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"to"
)
note
,
_
:=
cmd
.
Flags
()
.
GetString
(
"note"
)
symbol
,
_
:=
cmd
.
Flags
()
.
GetString
(
"symbol"
)
title
,
_
:=
cmd
.
Flags
()
.
GetString
(
"title"
)
if
!
strings
.
HasPrefix
(
title
,
"user.p"
)
{
fmt
.
Fprintln
(
os
.
Stderr
,
"title is not right, title format like `user.p.guodun.`"
)
return
""
,
types
.
ErrInvalidParam
}
execName
:=
title
+
pt
.
ParaX
param
:=
types
.
CreateTx
{
To
:
toAddr
,
Amount
:
amountInt64
,
Fee
:
0
,
Note
:
[]
byte
(
note
),
IsWithdraw
:
isWithdraw
,
IsToken
:
false
,
TokenSymbol
:
symbol
,
ExecName
:
execName
,
}
tx
,
err
:=
pt
.
CreateRawTransferTx
(
&
param
)
if
err
!=
nil
{
return
""
,
err
}
txHex
:=
types
.
Encode
(
tx
)
return
hex
.
EncodeToString
(
txHex
),
nil
}
}
// IsSyncCmd query parachain is sync
// IsSyncCmd query parachain is sync
...
...
plugin/dapp/paracross/types/paracross.go
View file @
e26a5b79
...
@@ -5,7 +5,8 @@
...
@@ -5,7 +5,8 @@
package
types
package
types
import
(
import
(
fmt
"fmt"
"encoding/json"
"fmt"
"github.com/33cn/chain33/common/address"
"github.com/33cn/chain33/common/address"
"github.com/33cn/chain33/common/log/log15"
"github.com/33cn/chain33/common/log/log15"
...
@@ -187,34 +188,28 @@ func CreateRawMinerTx(status *ParacrossNodeStatus) (*types.Transaction, error) {
...
@@ -187,34 +188,28 @@ func CreateRawMinerTx(status *ParacrossNodeStatus) (*types.Transaction, error) {
}
}
// CreateRawTransferTx create paracross asset transfer tx with transfer and withdraw
// CreateRawTransferTx create paracross asset transfer tx with transfer and withdraw
func
CreateRawTransferTx
(
param
*
types
.
CreateTx
)
(
*
types
.
Transaction
,
error
)
{
func
(
p
ParacrossType
)
CreateRawTransferTx
(
action
string
,
param
json
.
RawMessage
)
(
*
types
.
Transaction
,
error
)
{
if
!
types
.
IsParaExecName
(
param
.
GetExecName
())
{
tlog
.
Error
(
"ParacrossType CreateTx failed"
,
"action"
,
action
,
"msg"
,
string
(
param
))
tlog
.
Error
(
"CreateRawTransferTx"
,
"exec"
,
param
.
GetExecName
())
tx
,
err
:=
p
.
ExecTypeBase
.
CreateTx
(
action
,
param
)
return
nil
,
types
.
ErrInvalidParam
if
err
!=
nil
{
}
tlog
.
Error
(
"ParacrossType CreateTx failed"
,
"err"
,
err
,
"action"
,
action
,
"msg"
,
string
(
param
))
return
nil
,
err
transfer
:=
&
ParacrossAction
{}
if
!
param
.
IsWithdraw
{
v
:=
&
ParacrossAction_Transfer
{
Transfer
:
&
types
.
AssetsTransfer
{
Amount
:
param
.
Amount
,
Note
:
param
.
GetNote
(),
To
:
param
.
GetTo
(),
Cointoken
:
param
.
TokenSymbol
}}
transfer
.
Value
=
v
transfer
.
Ty
=
ParacrossActionTransfer
}
else
{
v
:=
&
ParacrossAction_Withdraw
{
Withdraw
:
&
types
.
AssetsWithdraw
{
Amount
:
param
.
Amount
,
Note
:
param
.
GetNote
(),
To
:
param
.
GetTo
(),
Cointoken
:
param
.
TokenSymbol
}}
transfer
.
Value
=
v
transfer
.
Ty
=
ParacrossActionWithdraw
}
tx
:=
&
types
.
Transaction
{
Execer
:
[]
byte
(
param
.
GetExecName
()),
Payload
:
types
.
Encode
(
transfer
),
To
:
address
.
ExecAddress
(
param
.
GetExecName
()),
Fee
:
param
.
Fee
,
}
}
var
err
error
if
!
types
.
IsPara
()
{
tx
,
err
=
types
.
FormatTx
(
param
.
GetExecName
(),
tx
)
var
transfer
ParacrossAction
err
=
types
.
Decode
(
tx
.
Payload
,
&
transfer
)
if
err
!=
nil
{
if
err
!=
nil
{
tlog
.
Error
(
"ParacrossType CreateTx failed"
,
"decode payload err"
,
err
,
"action"
,
action
,
"msg"
,
string
(
param
))
return
nil
,
err
return
nil
,
err
}
}
if
action
==
"Transfer"
{
tx
.
To
=
transfer
.
GetTransfer
()
.
To
}
else
if
action
==
"Withdraw"
{
tx
.
To
=
transfer
.
GetWithdraw
()
.
To
}
else
if
action
==
"TransferToExec"
{
tx
.
To
=
transfer
.
GetTransferToExec
()
.
To
}
}
return
tx
,
nil
return
tx
,
nil
}
}
plugin/dapp/paracross/types/type.go
View file @
e26a5b79
...
@@ -98,15 +98,16 @@ func (p ParacrossType) CreateTx(action string, message json.RawMessage) (*types.
...
@@ -98,15 +98,16 @@ func (p ParacrossType) CreateTx(action string, message json.RawMessage) (*types.
}
}
return
CreateRawAssetTransferTx
(
&
param
)
return
CreateRawAssetTransferTx
(
&
param
)
}
else
if
action
==
"ParacrossTransfer"
||
action
==
"ParacrossWithdraw"
||
action
==
"ParacrossTransferToExec"
{
}
else
if
action
==
"ParacrossTransfer"
||
action
==
"Transfer"
||
action
==
"ParacrossWithdraw"
||
action
==
"Withdraw"
||
action
==
"ParacrossTransferToExec"
||
action
==
"TransferToExec"
{
var
param
types
.
CreateTx
var
param
types
.
CreateTx
err
:=
json
.
Unmarshal
(
message
,
&
param
)
err
:=
json
.
Unmarshal
(
message
,
&
param
)
if
err
!=
nil
{
if
err
!=
nil
{
glog
.
Error
(
"CreateTx"
,
"Error"
,
err
)
glog
.
Error
(
"CreateTx"
,
"Error"
,
err
)
return
nil
,
types
.
ErrInvalidParam
return
nil
,
types
.
ErrInvalidParam
}
}
return
CreateRawTransferTx
(
&
param
)
return
p
.
CreateRawTransferTx
(
action
,
message
)
}
}
return
nil
,
types
.
ErrNotSupport
return
nil
,
types
.
ErrNotSupport
...
...
plugin/dapp/token/commands/token.go
View file @
e26a5b79
...
@@ -7,13 +7,13 @@ package commands
...
@@ -7,13 +7,13 @@ package commands
import
(
import
(
"encoding/json"
"encoding/json"
"fmt"
"fmt"
"math"
"os"
"os"
"strconv"
"strconv"
"strings"
"strings"
"github.com/33cn/chain33/rpc/jsonclient"
"github.com/33cn/chain33/rpc/jsonclient"
rpctypes
"github.com/33cn/chain33/rpc/types"
rpctypes
"github.com/33cn/chain33/rpc/types"
"github.com/33cn/chain33/system/dapp/commands"
"github.com/33cn/chain33/types"
"github.com/33cn/chain33/types"
tokenty
"github.com/33cn/plugin/plugin/dapp/token/types"
tokenty
"github.com/33cn/plugin/plugin/dapp/token/types"
"github.com/spf13/cobra"
"github.com/spf13/cobra"
...
@@ -72,31 +72,7 @@ func addCreateTokenTransferFlags(cmd *cobra.Command) {
...
@@ -72,31 +72,7 @@ func addCreateTokenTransferFlags(cmd *cobra.Command) {
}
}
func
createTokenTransfer
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
func
createTokenTransfer
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
toAddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"to"
)
commands
.
CreateAssetTransfer
(
cmd
,
args
,
tokenty
.
TokenX
)
amount
,
_
:=
cmd
.
Flags
()
.
GetFloat64
(
"amount"
)
note
,
_
:=
cmd
.
Flags
()
.
GetString
(
"note"
)
symbol
,
_
:=
cmd
.
Flags
()
.
GetString
(
"symbol"
)
payload
:=
&
types
.
AssetsTransfer
{
To
:
toAddr
,
Amount
:
int64
(
math
.
Trunc
((
amount
+
0.0000001
)
*
1e4
))
*
1e4
,
Note
:
[]
byte
(
note
),
Cointoken
:
symbol
,
}
data
,
err
:=
json
.
Marshal
(
&
payload
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
params
:=
&
rpctypes
.
CreateTxIn
{
Execer
:
types
.
ExecName
(
tokenty
.
TokenX
),
ActionName
:
"Transfer"
,
Payload
:
data
,
}
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
ctx
:=
jsonclient
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.CreateTransaction"
,
params
,
nil
)
ctx
.
RunWithoutMarshal
()
}
}
// CreateTokenTransferExecCmd create raw transfer tx
// CreateTokenTransferExecCmd create raw transfer tx
...
@@ -124,41 +100,7 @@ func addCreateTokenSendToExecFlags(cmd *cobra.Command) {
...
@@ -124,41 +100,7 @@ func addCreateTokenSendToExecFlags(cmd *cobra.Command) {
}
}
func
createTokenSendToExec
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
func
createTokenSendToExec
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
paraName
,
_
:=
cmd
.
Flags
()
.
GetString
(
"paraName"
)
commands
.
CreateAssetSendToExec
(
cmd
,
args
,
tokenty
.
TokenX
)
exec
,
_
:=
cmd
.
Flags
()
.
GetString
(
"exec"
)
exec
=
getRealExecName
(
paraName
,
exec
)
to
,
err
:=
GetExecAddr
(
exec
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
amount
,
_
:=
cmd
.
Flags
()
.
GetFloat64
(
"amount"
)
note
,
_
:=
cmd
.
Flags
()
.
GetString
(
"note"
)
symbol
,
_
:=
cmd
.
Flags
()
.
GetString
(
"symbol"
)
payload
:=
&
types
.
AssetsTransferToExec
{
To
:
to
,
Amount
:
int64
(
math
.
Trunc
((
amount
+
0.0000001
)
*
1e4
))
*
1e4
,
Note
:
[]
byte
(
note
),
Cointoken
:
symbol
,
ExecName
:
exec
,
}
data
,
err
:=
json
.
Marshal
(
&
payload
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
params
:=
&
rpctypes
.
CreateTxIn
{
Execer
:
types
.
ExecName
(
tokenty
.
TokenX
),
ActionName
:
"TransferToExec"
,
Payload
:
data
,
}
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
ctx
:=
jsonclient
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.CreateTransaction"
,
params
,
nil
)
ctx
.
RunWithoutMarshal
()
}
}
// CreateTokenWithdrawCmd create raw withdraw tx
// CreateTokenWithdrawCmd create raw withdraw tx
...
@@ -186,40 +128,7 @@ func addCreateTokenWithdrawFlags(cmd *cobra.Command) {
...
@@ -186,40 +128,7 @@ func addCreateTokenWithdrawFlags(cmd *cobra.Command) {
}
}
func
createTokenWithdraw
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
func
createTokenWithdraw
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
exec
,
_
:=
cmd
.
Flags
()
.
GetString
(
"exec"
)
commands
.
CreateAssetWithdraw
(
cmd
,
args
,
tokenty
.
TokenX
)
paraName
,
_
:=
cmd
.
Flags
()
.
GetString
(
"paraName"
)
exec
=
getRealExecName
(
paraName
,
exec
)
amount
,
_
:=
cmd
.
Flags
()
.
GetFloat64
(
"amount"
)
note
,
_
:=
cmd
.
Flags
()
.
GetString
(
"note"
)
symbol
,
_
:=
cmd
.
Flags
()
.
GetString
(
"symbol"
)
exec
=
getRealExecName
(
paraName
,
exec
)
execAddr
,
err
:=
GetExecAddr
(
exec
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
payload
:=
&
types
.
AssetsWithdraw
{
To
:
execAddr
,
Amount
:
int64
(
math
.
Trunc
((
amount
+
0.0000001
)
*
1e4
))
*
1e4
,
Note
:
[]
byte
(
note
),
Cointoken
:
symbol
,
ExecName
:
exec
,
}
data
,
err
:=
json
.
Marshal
(
&
payload
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
params
:=
&
rpctypes
.
CreateTxIn
{
Execer
:
types
.
ExecName
(
tokenty
.
TokenX
),
ActionName
:
"Withdraw"
,
Payload
:
data
,
}
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
ctx
:=
jsonclient
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.CreateTransaction"
,
params
,
nil
)
ctx
.
RunWithoutMarshal
()
}
}
// GetTokensPreCreatedCmd get precreated tokens
// GetTokensPreCreatedCmd get precreated tokens
...
...
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