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
1ad3a042
Unverified
Commit
1ad3a042
authored
Sep 10, 2019
by
vipwzw
Committed by
GitHub
Sep 10, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #624 from linj-disanbo/retrieve-support-more-assets
Retrieve support more assets
parents
dfac9364
ba56fc97
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
166 additions
and
15 deletions
+166
-15
chain33.para.toml
chain33.para.toml
+1
-0
retrieve.go
plugin/dapp/retrieve/cmd/retrieve.go
+26
-1
exec_del_local.go
plugin/dapp/retrieve/executor/exec_del_local.go
+15
-4
exec_local.go
plugin/dapp/retrieve/executor/exec_local.go
+21
-4
query.go
plugin/dapp/retrieve/executor/query.go
+29
-0
retrieve.go
plugin/dapp/retrieve/executor/retrieve.go
+14
-1
retrievedb.go
plugin/dapp/retrieve/executor/retrievedb.go
+42
-1
retrieve.proto
plugin/dapp/retrieve/proto/retrieve.proto
+3
-0
tx.go
plugin/dapp/retrieve/rpc/tx.go
+10
-3
const.go
plugin/dapp/retrieve/types/const.go
+3
-0
retrieve.pb.go
plugin/dapp/retrieve/types/retrieve.pb.go
+0
-0
types.go
plugin/dapp/retrieve/types/types.go
+2
-1
No files found.
chain33.para.toml
View file @
1ad3a042
...
...
@@ -224,6 +224,7 @@ ForkTicketVrf =0
[fork.sub.retrieve]
Enable
=
0
ForkRetrive
=
0
ForkRetriveAsset
=
0
[fork.sub.hashlock]
Enable
=
0
...
...
plugin/dapp/retrieve/cmd/retrieve.go
View file @
1ad3a042
...
...
@@ -107,6 +107,19 @@ func addRetrieveCmdFlags(cmd *cobra.Command) {
cmd
.
Flags
()
.
Float64P
(
"fee"
,
"f"
,
defaultFee
,
"sign address"
)
}
func
addPerformCmdFlags
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
StringP
(
"backup"
,
"b"
,
""
,
"backup address"
)
cmd
.
MarkFlagRequired
(
"backup"
)
cmd
.
Flags
()
.
StringP
(
"default"
,
"t"
,
""
,
"default address"
)
cmd
.
MarkFlagRequired
(
"default"
)
cmd
.
Flags
()
.
StringArrayP
(
"exec"
,
"e"
,
[]
string
{},
"asset exec"
)
cmd
.
Flags
()
.
StringArrayP
(
"symbol"
,
"s"
,
[]
string
{},
"asset symbol"
)
defaultFee
:=
float64
(
types
.
GInt
(
"MinFee"
))
/
float64
(
types
.
Coin
)
cmd
.
Flags
()
.
Float64P
(
"fee"
,
"f"
,
defaultFee
,
"sign address"
)
}
func
prepareCmd
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
backup
,
_
:=
cmd
.
Flags
()
.
GetString
(
"backup"
)
...
...
@@ -130,7 +143,7 @@ func PerformCmd() *cobra.Command {
Short
:
"Perform the retrieve"
,
Run
:
performCmd
,
}
add
Retrieve
CmdFlags
(
cmd
)
add
Perform
CmdFlags
(
cmd
)
return
cmd
}
...
...
@@ -140,12 +153,24 @@ func performCmd(cmd *cobra.Command, args []string) {
defaultAddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"default"
)
fee
,
_
:=
cmd
.
Flags
()
.
GetFloat64
(
"fee"
)
execs
,
_
:=
cmd
.
Flags
()
.
GetStringArray
(
"exec"
)
symbols
,
_
:=
cmd
.
Flags
()
.
GetStringArray
(
"symbol"
)
feeInt64
:=
int64
(
fee
*
types
.
InputPrecision
)
*
types
.
Multiple1E4
params
:=
rpc
.
RetrievePerformTx
{
BackupAddr
:
backup
,
DefaultAddr
:
defaultAddr
,
Assets
:
[]
rpc
.
Asset
{},
Fee
:
feeInt64
,
}
if
len
(
execs
)
!=
len
(
symbols
)
{
fmt
.
Printf
(
"exec count must equal to symbol count
\n
"
)
return
}
for
i
:=
0
;
i
<
len
(
execs
);
i
++
{
params
.
Assets
=
append
(
params
.
Assets
,
rpc
.
Asset
{
Exec
:
execs
[
i
],
Symbol
:
symbols
[
0
]})
}
ctx
:=
jsonrpc
.
NewRPCCtx
(
rpcLaddr
,
"retrieve.CreateRawRetrievePerformTx"
,
params
,
nil
)
ctx
.
RunWithoutMarshal
()
}
...
...
plugin/dapp/retrieve/executor/exec_del_local.go
View file @
1ad3a042
...
...
@@ -53,7 +53,7 @@ func (c *Retrieve) ExecDelLocal_Backup(backup *rt.BackupRetrieve, tx *types.Tran
set
:=
&
types
.
LocalDBSet
{}
rlog
.
Debug
(
"Retrieve ExecDelLocal_Backup"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
backup
.
BackupAddress
,
DefaultAddress
:
backup
.
DefaultAddress
,
DelayPeriod
:
backup
.
DelayPeriod
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveBackup
}
info
:=
createRetrieve
(
backup
.
BackupAddress
,
backup
.
DefaultAddress
,
retrieveBackup
)
kv
,
err
:=
DelRetrieveInfo
(
&
info
,
retrieveBackup
,
c
.
GetLocalDB
())
if
err
!=
nil
{
return
set
,
nil
...
...
@@ -71,7 +71,7 @@ func (c *Retrieve) ExecDelLocal_Prepare(pre *rt.PrepareRetrieve, tx *types.Trans
set
:=
&
types
.
LocalDBSet
{}
rlog
.
Debug
(
"Retrieve ExecDelLocal_Prepare"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
pre
.
BackupAddress
,
DefaultAddress
:
pre
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
c
.
GetBlockTime
(),
RemainTime
:
zeroRemainTime
,
Status
:
retrievePrepare
}
info
:=
createRetrieve
(
pre
.
BackupAddress
,
pre
.
DefaultAddress
,
retrievePrepare
)
kv
,
err
:=
DelRetrieveInfo
(
&
info
,
retrievePrepare
,
c
.
GetLocalDB
())
if
err
!=
nil
{
return
set
,
nil
...
...
@@ -89,12 +89,23 @@ func (c *Retrieve) ExecDelLocal_Perform(perf *rt.PerformRetrieve, tx *types.Tran
set
:=
&
types
.
LocalDBSet
{}
rlog
.
Debug
(
"Retrieve ExecDelLocal_Perform"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
perf
.
BackupAddress
,
DefaultAddress
:
perf
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrievePerform
}
info
:=
createRetrieve
(
perf
.
BackupAddress
,
perf
.
DefaultAddress
,
retrievePerform
)
kv
,
err
:=
DelRetrieveInfo
(
&
info
,
retrievePerform
,
c
.
GetLocalDB
())
if
err
!=
nil
{
return
set
,
nil
}
if
types
.
IsDappFork
(
c
.
GetHeight
(),
rt
.
RetrieveX
,
rt
.
ForkRetriveAssetX
)
{
if
len
(
perf
.
Assets
)
==
0
{
perf
.
Assets
=
append
(
perf
.
Assets
,
&
types
.
Asset
{
Exec
:
"coins"
,
Symbol
:
types
.
GetCoinSymbol
()})
}
}
for
_
,
asset
:=
range
perf
.
Assets
{
kv
:=
&
types
.
KeyValue
{
Key
:
calcRetrieveAssetKey
(
info
.
BackupAddress
,
info
.
DefaultAddress
,
asset
.
Exec
,
asset
.
Symbol
),
Value
:
nil
}
c
.
GetLocalDB
()
.
Set
(
kv
.
Key
,
kv
.
Value
)
set
.
KV
=
append
(
set
.
KV
,
kv
)
}
if
kv
!=
nil
{
set
.
KV
=
append
(
set
.
KV
,
kv
)
}
...
...
@@ -107,7 +118,7 @@ func (c *Retrieve) ExecDelLocal_Cancel(cancel *rt.CancelRetrieve, tx *types.Tran
set
:=
&
types
.
LocalDBSet
{}
rlog
.
Debug
(
"Retrieve ExecDelLocal_Cancel"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
cancel
.
BackupAddress
,
DefaultAddress
:
cancel
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveCancel
}
info
:=
createRetrieve
(
cancel
.
BackupAddress
,
cancel
.
DefaultAddress
,
retrieveCancel
)
kv
,
err
:=
DelRetrieveInfo
(
&
info
,
retrieveCancel
,
c
.
GetLocalDB
())
if
err
!=
nil
{
return
set
,
nil
...
...
plugin/dapp/retrieve/executor/exec_local.go
View file @
1ad3a042
...
...
@@ -10,6 +10,10 @@ import (
rt
"github.com/33cn/plugin/plugin/dapp/retrieve/types"
)
func
createRetrieve
(
backupAddress
,
defaultAddress
string
,
status
int32
)
rt
.
RetrieveQuery
{
return
rt
.
RetrieveQuery
{
BackupAddress
:
backupAddress
,
DefaultAddress
:
defaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
status
}
}
// SaveRetrieveInfo local
func
SaveRetrieveInfo
(
info
*
rt
.
RetrieveQuery
,
Status
int64
,
db
dbm
.
KVDB
)
(
*
types
.
KeyValue
,
error
)
{
rlog
.
Debug
(
"Retrieve SaveRetrieveInfo"
,
"backupaddr"
,
info
.
BackupAddress
,
"defaddr"
,
info
.
DefaultAddress
)
...
...
@@ -55,7 +59,8 @@ func SaveRetrieveInfo(info *rt.RetrieveQuery, Status int64, db dbm.KVDB) (*types
func
(
c
*
Retrieve
)
ExecLocal_Backup
(
backup
*
rt
.
BackupRetrieve
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
set
:=
&
types
.
LocalDBSet
{}
rlog
.
Debug
(
"Retrieve ExecLocal_Backup"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
backup
.
BackupAddress
,
DefaultAddress
:
backup
.
DefaultAddress
,
DelayPeriod
:
backup
.
DelayPeriod
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveBackup
}
info
:=
createRetrieve
(
backup
.
BackupAddress
,
backup
.
DefaultAddress
,
retrieveBackup
)
info
.
DelayPeriod
=
backup
.
DelayPeriod
kv
,
err
:=
SaveRetrieveInfo
(
&
info
,
retrieveBackup
,
c
.
GetLocalDB
())
if
err
!=
nil
{
return
set
,
nil
...
...
@@ -73,7 +78,8 @@ func (c *Retrieve) ExecLocal_Prepare(pre *rt.PrepareRetrieve, tx *types.Transact
set
:=
&
types
.
LocalDBSet
{}
rlog
.
Debug
(
"Retrieve ExecLocal_Prepare"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
pre
.
BackupAddress
,
DefaultAddress
:
pre
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrievePrepare
}
info
:=
createRetrieve
(
pre
.
BackupAddress
,
pre
.
DefaultAddress
,
retrievePrepare
)
info
.
PrepareTime
=
c
.
GetBlockTime
()
kv
,
err
:=
SaveRetrieveInfo
(
&
info
,
retrievePrepare
,
c
.
GetLocalDB
())
if
err
!=
nil
{
return
set
,
nil
...
...
@@ -91,11 +97,22 @@ func (c *Retrieve) ExecLocal_Perform(perf *rt.PerformRetrieve, tx *types.Transac
set
:=
&
types
.
LocalDBSet
{}
rlog
.
Debug
(
"Retrieve ExecLocal_Perf"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
perf
.
BackupAddress
,
DefaultAddress
:
perf
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrievePerform
}
info
:=
createRetrieve
(
perf
.
BackupAddress
,
perf
.
DefaultAddress
,
retrievePerform
)
kv
,
err
:=
SaveRetrieveInfo
(
&
info
,
retrievePerform
,
c
.
GetLocalDB
())
if
err
!=
nil
{
return
set
,
nil
}
if
types
.
IsDappFork
(
c
.
GetHeight
(),
rt
.
RetrieveX
,
rt
.
ForkRetriveAssetX
)
{
if
len
(
perf
.
Assets
)
==
0
{
perf
.
Assets
=
append
(
perf
.
Assets
,
&
types
.
Asset
{
Exec
:
"coins"
,
Symbol
:
types
.
GetCoinSymbol
()})
}
}
for
_
,
asset
:=
range
perf
.
Assets
{
value
:=
types
.
Encode
(
&
info
)
kv
:=
&
types
.
KeyValue
{
Key
:
calcRetrieveAssetKey
(
info
.
BackupAddress
,
info
.
DefaultAddress
,
asset
.
Exec
,
asset
.
Symbol
),
Value
:
value
}
c
.
GetLocalDB
()
.
Set
(
kv
.
Key
,
kv
.
Value
)
set
.
KV
=
append
(
set
.
KV
,
kv
)
}
if
kv
!=
nil
{
set
.
KV
=
append
(
set
.
KV
,
kv
)
...
...
@@ -109,7 +126,7 @@ func (c *Retrieve) ExecLocal_Cancel(cancel *rt.CancelRetrieve, tx *types.Transac
set
:=
&
types
.
LocalDBSet
{}
rlog
.
Debug
(
"Retrieve ExecLocal_Cancel"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
cancel
.
BackupAddress
,
DefaultAddress
:
cancel
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveCancel
}
info
:=
createRetrieve
(
cancel
.
BackupAddress
,
cancel
.
DefaultAddress
,
retrieveCancel
)
kv
,
err
:=
SaveRetrieveInfo
(
&
info
,
retrieveCancel
,
c
.
GetLocalDB
())
if
err
!=
nil
{
return
set
,
nil
...
...
plugin/dapp/retrieve/executor/query.go
View file @
1ad3a042
...
...
@@ -5,6 +5,8 @@
package
executor
import
(
"fmt"
"github.com/33cn/chain33/types"
rt
"github.com/33cn/plugin/plugin/dapp/retrieve/types"
)
...
...
@@ -22,5 +24,32 @@ func (r *Retrieve) Query_GetRetrieveInfo(in *rt.ReqRetrieveInfo) (types.Message,
info
.
RemainTime
=
0
}
}
// 在指定asset 的情况下, 显示具体asset 的找回状态
if
info
.
Status
==
retrievePerform
&&
in
.
GetAssetExec
()
!=
""
{
// retrievePerform状态下,不存在有两种情况
// 1 还没找回, 2 fork 之前是没有coins 找回记录的
count
:=
r
.
GetLocalDB
()
.
PrefixCount
(
calcRetrieveAssetPrefix
(
in
.
BackupAddress
,
in
.
DefaultAddress
))
// 2 fork 之前是 没有coins 找回记录的, 相当于都找回了
if
count
==
0
{
return
info
,
nil
}
asset
,
_
:=
getRetrieveAsset
(
r
.
GetLocalDB
(),
in
.
BackupAddress
,
in
.
DefaultAddress
,
in
.
AssetExec
,
in
.
AssetSymbol
)
if
asset
!=
nil
{
return
asset
,
nil
}
// 1 还没找回
info
.
Status
=
retrievePrepare
info
.
RemainTime
=
zeroRemainTime
return
info
,
nil
}
return
info
,
nil
}
func
calcRetrieveAssetPrefix
(
backupAddr
,
defaultAddr
string
)
[]
byte
{
key
:=
fmt
.
Sprintf
(
"LODB-retrieve-backup-asset:%s:%s:"
,
backupAddr
,
defaultAddr
)
return
[]
byte
(
key
)
}
plugin/dapp/retrieve/executor/retrieve.go
View file @
1ad3a042
...
...
@@ -69,9 +69,22 @@ func calcRetrieveKey(backupAddr string, defaultAddr string) []byte {
return
[]
byte
(
key
)
}
func
calcRetrieveAssetKey
(
backupAddr
,
defaultAddr
,
assetExec
,
assetSymbol
string
)
[]
byte
{
key
:=
fmt
.
Sprintf
(
"LODB-retrieve-backup-asset:%s:%s:%s:%s"
,
backupAddr
,
defaultAddr
,
assetExec
,
assetSymbol
)
return
[]
byte
(
key
)
}
func
getRetrieveAsset
(
db
dbm
.
KVDB
,
backupAddr
,
defaultAddr
,
assetExec
,
assetSymbol
string
)
(
*
rt
.
RetrieveQuery
,
error
)
{
return
getRetrieve
(
db
,
calcRetrieveAssetKey
(
backupAddr
,
defaultAddr
,
assetExec
,
assetSymbol
))
}
func
getRetrieveInfo
(
db
dbm
.
KVDB
,
backupAddr
string
,
defaultAddr
string
)
(
*
rt
.
RetrieveQuery
,
error
)
{
return
getRetrieve
(
db
,
calcRetrieveKey
(
backupAddr
,
defaultAddr
))
}
func
getRetrieve
(
db
dbm
.
KVDB
,
key
[]
byte
)
(
*
rt
.
RetrieveQuery
,
error
)
{
info
:=
rt
.
RetrieveQuery
{}
retInfo
,
err
:=
db
.
Get
(
calcRetrieveKey
(
backupAddr
,
defaultAddr
)
)
retInfo
,
err
:=
db
.
Get
(
key
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
plugin/dapp/retrieve/executor/retrievedb.go
View file @
1ad3a042
...
...
@@ -116,7 +116,7 @@ func (action *Action) RetrieveBackup(backupRet *rt.BackupRetrieve) (*types.Recei
var
receipt
*
types
.
Receipt
var
r
*
DB
var
newRetrieve
=
false
if
types
.
IsDappFork
(
action
.
height
,
rt
.
RetrieveX
,
"ForkRetrive"
)
{
if
types
.
IsDappFork
(
action
.
height
,
rt
.
RetrieveX
,
rt
.
ForkRetriveX
)
{
if
err
:=
address
.
CheckAddress
(
backupRet
.
BackupAddress
);
err
!=
nil
{
rlog
.
Debug
(
"retrieve checkaddress"
)
return
nil
,
err
...
...
@@ -203,6 +203,43 @@ func (action *Action) RetrievePrepare(preRet *rt.PrepareRetrieve) (*types.Receip
return
receipt
,
nil
}
// RetrievePerformAssets Action
func
(
action
*
Action
)
RetrievePerformAssets
(
perfRet
*
rt
.
PerformRetrieve
,
defaultAddress
string
)
(
*
types
.
Receipt
,
error
)
{
var
logs
[]
*
types
.
ReceiptLog
var
kv
[]
*
types
.
KeyValue
var
receipt
*
types
.
Receipt
// 兼容原来的找回, 在不指定的情况下,找回主币
if
len
(
perfRet
.
Assets
)
==
0
{
perfRet
.
Assets
=
append
(
perfRet
.
Assets
,
&
types
.
Asset
{
Exec
:
"coins"
,
Symbol
:
types
.
GetCoinSymbol
()})
//return nil, nil
}
for
_
,
asset
:=
range
perfRet
.
Assets
{
accdb
,
err
:=
account
.
NewAccountDB
(
asset
.
Exec
,
asset
.
Symbol
,
action
.
db
)
if
err
!=
nil
{
rlog
.
Error
(
"RetrievePerform"
,
"NewAccountDB"
,
err
)
return
nil
,
err
}
acc
:=
accdb
.
LoadExecAccount
(
defaultAddress
,
action
.
execaddr
)
rlog
.
Debug
(
"RetrievePerform"
,
"acc.Balance"
,
acc
.
Balance
)
if
acc
.
Balance
>
0
{
receipt
,
err
=
action
.
coinsAccount
.
ExecTransfer
(
defaultAddress
,
perfRet
.
BackupAddress
,
action
.
execaddr
,
acc
.
Balance
)
if
err
!=
nil
{
rlog
.
Debug
(
"RetrievePerform"
,
"ExecTransfer"
,
err
)
return
nil
,
err
}
logs
=
append
(
logs
,
receipt
.
Logs
...
)
kv
=
append
(
kv
,
receipt
.
KV
...
)
}
else
{
return
nil
,
rt
.
ErrRetrieveNoBalance
}
}
receipt
=
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
kv
,
Logs
:
logs
}
return
receipt
,
nil
}
// RetrievePerform Action
func
(
action
*
Action
)
RetrievePerform
(
perfRet
*
rt
.
PerformRetrieve
)
(
*
types
.
Receipt
,
error
)
{
var
logs
[]
*
types
.
ReceiptLog
...
...
@@ -239,6 +276,10 @@ func (action *Action) RetrievePerform(perfRet *rt.PerformRetrieve) (*types.Recei
return
nil
,
rt
.
ErrRetrievePeriodLimit
}
if
types
.
IsDappFork
(
action
.
height
,
rt
.
RetrieveX
,
rt
.
ForkRetriveAssetX
)
{
return
action
.
RetrievePerformAssets
(
perfRet
,
r
.
RetPara
[
index
]
.
DefaultAddress
)
}
acc
=
action
.
coinsAccount
.
LoadExecAccount
(
r
.
RetPara
[
index
]
.
DefaultAddress
,
action
.
execaddr
)
rlog
.
Debug
(
"RetrievePerform"
,
"acc.Balance"
,
acc
.
Balance
)
if
acc
.
Balance
>
0
{
...
...
plugin/dapp/retrieve/proto/retrieve.proto
View file @
1ad3a042
...
...
@@ -43,6 +43,7 @@ message PrepareRetrieve {
message
PerformRetrieve
{
string
backupAddress
=
1
;
string
defaultAddress
=
2
;
repeated
Asset
assets
=
3
;
}
message
CancelRetrieve
{
...
...
@@ -53,6 +54,8 @@ message CancelRetrieve {
message
ReqRetrieveInfo
{
string
backupAddress
=
1
;
string
defaultAddress
=
2
;
string
assetExec
=
3
;
string
assetSymbol
=
4
;
}
message
RetrieveQuery
{
...
...
plugin/dapp/retrieve/rpc/tx.go
View file @
1ad3a042
...
...
@@ -19,11 +19,18 @@ type RetrievePrepareTx struct {
Fee
int64
`json:"fee"`
}
// Asset Asset
type
Asset
struct
{
Exec
string
`json:"exec"`
Symbol
string
`json:"symbol"`
}
// RetrievePerformTx construction
type
RetrievePerformTx
struct
{
BackupAddr
string
`json:"backupAddr"`
DefaultAddr
string
`json:"defaultAddr"`
Fee
int64
`json:"fee"`
BackupAddr
string
`json:"backupAddr"`
DefaultAddr
string
`json:"defaultAddr"`
Assets
[]
Asset
`json:"assets"`
Fee
int64
`json:"fee"`
}
// RetrieveCancelTx construction
...
...
plugin/dapp/retrieve/types/const.go
View file @
1ad3a042
...
...
@@ -35,6 +35,9 @@ var (
"Backup"
:
RetrieveActionBackup
,
"Cancel"
:
RetrieveActionCancel
,
}
ForkRetriveAssetX
=
"ForkRetriveAsset"
ForkRetriveX
=
"ForkRetrive"
)
func
init
()
{
...
...
plugin/dapp/retrieve/types/retrieve.pb.go
View file @
1ad3a042
This diff is collapsed.
Click to expand it.
plugin/dapp/retrieve/types/types.go
View file @
1ad3a042
...
...
@@ -15,7 +15,8 @@ func init() {
// init executor type
types
.
RegistorExecutor
(
RetrieveX
,
NewType
())
types
.
RegisterDappFork
(
RetrieveX
,
"Enable"
,
0
)
types
.
RegisterDappFork
(
RetrieveX
,
"ForkRetrive"
,
180000
)
types
.
RegisterDappFork
(
RetrieveX
,
ForkRetriveX
,
180000
)
types
.
RegisterDappFork
(
RetrieveX
,
ForkRetriveAssetX
,
3150000
)
}
// RetrieveType def
...
...
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