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
b975d224
Commit
b975d224
authored
Nov 29, 2019
by
pengjun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#627 add param check & collateralize create balance check
parent
2f57d651
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
37 additions
and
35 deletions
+37
-35
cmd.go
plugin/dapp/collateralize/commands/cmd.go
+4
-4
collateralize_test.go
plugin/dapp/collateralize/executor/collateralize_test.go
+1
-0
collateralizedb.go
plugin/dapp/collateralize/executor/collateralizedb.go
+0
-0
query.go
plugin/dapp/collateralize/executor/query.go
+3
-12
issuancedb.go
plugin/dapp/issuance/executor/issuancedb.go
+29
-19
No files found.
plugin/dapp/collateralize/commands/cmd.go
View file @
b975d224
...
@@ -299,11 +299,11 @@ func CollateralizeManage(cmd *cobra.Command, args []string) {
...
@@ -299,11 +299,11 @@ func CollateralizeManage(cmd *cobra.Command, args []string) {
}
}
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
debtCeiling
,
_
:=
cmd
.
Flags
()
.
GetFloat
32
(
"debtCeiling"
)
debtCeiling
,
_
:=
cmd
.
Flags
()
.
GetFloat
64
(
"debtCeiling"
)
liquidationRatio
,
_
:=
cmd
.
Flags
()
.
GetFloat
32
(
"liquidationRatio"
)
liquidationRatio
,
_
:=
cmd
.
Flags
()
.
GetFloat
64
(
"liquidationRatio"
)
stabilityFeeRatio
,
_
:=
cmd
.
Flags
()
.
GetFloat
32
(
"stabilityFeeRatio"
)
stabilityFeeRatio
,
_
:=
cmd
.
Flags
()
.
GetFloat
64
(
"stabilityFeeRatio"
)
period
,
_
:=
cmd
.
Flags
()
.
GetUint64
(
"period"
)
period
,
_
:=
cmd
.
Flags
()
.
GetUint64
(
"period"
)
totalBalance
,
_
:=
cmd
.
Flags
()
.
GetFloat
32
(
"totalBalance"
)
totalBalance
,
_
:=
cmd
.
Flags
()
.
GetFloat
64
(
"totalBalance"
)
params
:=
&
rpctypes
.
CreateTxIn
{
params
:=
&
rpctypes
.
CreateTxIn
{
Execer
:
cfg
.
ExecName
(
pkt
.
CollateralizeX
),
Execer
:
cfg
.
ExecName
(
pkt
.
CollateralizeX
),
...
...
plugin/dapp/collateralize/executor/collateralize_test.go
View file @
b975d224
...
@@ -151,6 +151,7 @@ func TestCollateralize(t *testing.T) {
...
@@ -151,6 +151,7 @@ func TestCollateralize(t *testing.T) {
p3
.
LiquidationRatio
=
0.25
p3
.
LiquidationRatio
=
0.25
p3
.
DebtCeiling
=
100
p3
.
DebtCeiling
=
100
p3
.
StabilityFeeRatio
=
0.0001
p3
.
StabilityFeeRatio
=
0.0001
p3
.
TotalBalance
=
10000
createTx
,
err
:=
pkt
.
CreateRawCollateralizeManageTx
(
env
.
cfg
,
p3
)
createTx
,
err
:=
pkt
.
CreateRawCollateralizeManageTx
(
env
.
cfg
,
p3
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Error
(
"RPC_Default_Process"
,
"err"
,
err
)
t
.
Error
(
"RPC_Default_Process"
,
"err"
,
err
)
...
...
plugin/dapp/collateralize/executor/collateralizedb.go
View file @
b975d224
This diff is collapsed.
Click to expand it.
plugin/dapp/collateralize/executor/query.go
View file @
b975d224
...
@@ -139,21 +139,12 @@ func (c *Collateralize) Query_CollateralizeConfig(req *pty.ReqCollateralizeRecor
...
@@ -139,21 +139,12 @@ func (c *Collateralize) Query_CollateralizeConfig(req *pty.ReqCollateralizeRecor
return
nil
,
err
return
nil
,
err
}
}
collIDRecords
,
err
:=
queryCollateralizeByStatus
(
c
.
GetLocalDB
(),
pty
.
CollateralizeStatusCreated
,
0
)
balance
,
err
:=
getCollBalance
(
config
.
TotalBalance
,
c
.
GetLocalDB
(),
c
.
GetStateDB
()
)
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Debug
(
"Query_CollateralizeByStatus"
,
"get collateralize record error"
,
err
)
clog
.
Error
(
"Query_CollateralizeInfoByID"
,
"error"
,
err
)
return
nil
,
err
}
}
balance
:=
config
.
TotalBalance
for
_
,
id
:=
range
collIDRecords
{
coll
,
err
:=
queryCollateralizeByID
(
c
.
GetStateDB
(),
id
)
if
err
!=
nil
{
clog
.
Error
(
"Query_CollateralizeInfoByID"
,
"id"
,
id
,
"error"
,
err
)
return
nil
,
err
}
balance
-=
coll
.
TotalBalance
}
ret
:=
&
pty
.
RepCollateralizeConfig
{
ret
:=
&
pty
.
RepCollateralizeConfig
{
TotalBalance
:
config
.
TotalBalance
,
TotalBalance
:
config
.
TotalBalance
,
DebtCeiling
:
config
.
DebtCeiling
,
DebtCeiling
:
config
.
DebtCeiling
,
...
...
plugin/dapp/issuance/executor/issuancedb.go
View file @
b975d224
...
@@ -175,7 +175,7 @@ func NewIssuanceAction(c *Issuance, tx *types.Transaction, index int) *Action {
...
@@ -175,7 +175,7 @@ func NewIssuanceAction(c *Issuance, tx *types.Transaction, index int) *Action {
cfg
:=
c
.
GetAPI
()
.
GetConfig
()
cfg
:=
c
.
GetAPI
()
.
GetConfig
()
tokenDb
,
err
:=
account
.
NewAccountDB
(
cfg
,
tokenE
.
GetName
(),
pty
.
CCNYTokenName
,
c
.
GetStateDB
())
tokenDb
,
err
:=
account
.
NewAccountDB
(
cfg
,
tokenE
.
GetName
(),
pty
.
CCNYTokenName
,
c
.
GetStateDB
())
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"NewIssuanceAction"
,
"Get Account DB error"
,
"err"
,
err
)
clog
.
Error
(
"NewIssuanceAction"
,
"Get Account DB error"
,
"err
or
"
,
err
)
return
nil
return
nil
}
}
...
@@ -385,6 +385,16 @@ func (action *Action) IssuanceCreate(create *pty.IssuanceCreate) (*types.Receipt
...
@@ -385,6 +385,16 @@ func (action *Action) IssuanceCreate(create *pty.IssuanceCreate) (*types.Receipt
return
nil
,
pty
.
ErrPermissionDeny
return
nil
,
pty
.
ErrPermissionDeny
}
}
// 参数检查
if
create
.
GetTotalBalance
()
<=
0
{
clog
.
Error
(
"IssuanceCreate"
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"total balance"
,
create
.
GetTotalBalance
(),
"error"
,
types
.
ErrAmount
)
return
nil
,
types
.
ErrAmount
}
if
create
.
DebtCeiling
<
0
||
create
.
LiquidationRatio
<
0
||
create
.
Period
<
0
{
clog
.
Error
(
"IssuanceCreate"
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"error"
,
types
.
ErrInvalidParam
)
return
nil
,
types
.
ErrInvalidParam
}
// 检查ccny余额
// 检查ccny余额
if
!
action
.
CheckExecTokenAccount
(
action
.
fromaddr
,
create
.
TotalBalance
,
false
)
{
if
!
action
.
CheckExecTokenAccount
(
action
.
fromaddr
,
create
.
TotalBalance
,
false
)
{
return
nil
,
types
.
ErrInsufficientBalance
return
nil
,
types
.
ErrInsufficientBalance
...
@@ -512,13 +522,13 @@ func (action *Action) IssuanceDebt(debt *pty.IssuanceDebt) (*types.Receipt, erro
...
@@ -512,13 +522,13 @@ func (action *Action) IssuanceDebt(debt *pty.IssuanceDebt) (*types.Receipt, erro
// 查找对应的借贷ID
// 查找对应的借贷ID
issuance
,
err
:=
queryIssuanceByID
(
action
.
db
,
debt
.
IssuanceId
)
issuance
,
err
:=
queryIssuanceByID
(
action
.
db
,
debt
.
IssuanceId
)
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"IssuanceDebt"
,
"IssuanceId"
,
debt
.
IssuanceId
,
"err"
,
err
)
clog
.
Error
(
"IssuanceDebt"
,
"IssuanceId"
,
debt
.
IssuanceId
,
"err
or
"
,
err
)
return
nil
,
err
return
nil
,
err
}
}
// 状态检查
// 状态检查
if
issuance
.
Status
==
pty
.
IssuanceStatusClose
{
if
issuance
.
Status
==
pty
.
IssuanceStatusClose
{
clog
.
Error
(
"IssuanceDebt"
,
"CollID"
,
issuance
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"status"
,
issuance
.
Status
,
"err"
,
pty
.
ErrIssuanceStatus
)
clog
.
Error
(
"IssuanceDebt"
,
"CollID"
,
issuance
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"status"
,
issuance
.
Status
,
"err
or
"
,
pty
.
ErrIssuanceStatus
)
return
nil
,
pty
.
ErrIssuanceStatus
return
nil
,
pty
.
ErrIssuanceStatus
}
}
...
@@ -526,19 +536,19 @@ func (action *Action) IssuanceDebt(debt *pty.IssuanceDebt) (*types.Receipt, erro
...
@@ -526,19 +536,19 @@ func (action *Action) IssuanceDebt(debt *pty.IssuanceDebt) (*types.Receipt, erro
// 借贷金额检查
// 借贷金额检查
if
debt
.
GetValue
()
<=
0
{
if
debt
.
GetValue
()
<=
0
{
clog
.
Error
(
"IssuanceDebt"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"debt value"
,
debt
.
GetValue
(),
"err"
,
types
.
ErrInvalidParam
)
clog
.
Error
(
"IssuanceDebt"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"debt value"
,
debt
.
GetValue
(),
"err
or
"
,
types
.
ErrInvalidParam
)
return
nil
,
types
.
ErrInvalidParam
return
nil
,
types
.
ErrInvalidParam
}
}
// 借贷金额不超过个人限额
// 借贷金额不超过个人限额
if
debt
.
GetValue
()
>
issu
.
DebtCeiling
{
if
debt
.
GetValue
()
>
issu
.
DebtCeiling
{
clog
.
Error
(
"IssuanceDebt"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"debt value"
,
debt
.
GetValue
(),
"err"
,
pty
.
ErrIssuanceExceedDebtCeiling
)
clog
.
Error
(
"IssuanceDebt"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"debt value"
,
debt
.
GetValue
(),
"err
or
"
,
pty
.
ErrIssuanceExceedDebtCeiling
)
return
nil
,
pty
.
ErrIssuanceExceedDebtCeiling
return
nil
,
pty
.
ErrIssuanceExceedDebtCeiling
}
}
// 借贷金额不超过当前可借贷金额
// 借贷金额不超过当前可借贷金额
if
debt
.
GetValue
()
>
issu
.
Balance
{
if
debt
.
GetValue
()
>
issu
.
Balance
{
clog
.
Error
(
"IssuanceDebt"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"debt value"
,
debt
.
GetValue
(),
"err"
,
pty
.
ErrIssuanceLowBalance
)
clog
.
Error
(
"IssuanceDebt"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"debt value"
,
debt
.
GetValue
(),
"err
or
"
,
pty
.
ErrIssuanceLowBalance
)
return
nil
,
pty
.
ErrIssuanceLowBalance
return
nil
,
pty
.
ErrIssuanceLowBalance
}
}
clog
.
Debug
(
"IssuanceDebt"
,
"value"
,
debt
.
GetValue
())
clog
.
Debug
(
"IssuanceDebt"
,
"value"
,
debt
.
GetValue
())
...
@@ -546,20 +556,20 @@ func (action *Action) IssuanceDebt(debt *pty.IssuanceDebt) (*types.Receipt, erro
...
@@ -546,20 +556,20 @@ func (action *Action) IssuanceDebt(debt *pty.IssuanceDebt) (*types.Receipt, erro
// 获取抵押物价格
// 获取抵押物价格
lastPrice
,
err
:=
getLatestPrice
(
action
.
db
)
lastPrice
,
err
:=
getLatestPrice
(
action
.
db
)
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"IssuanceDebt.getLatestPrice"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err"
,
err
)
clog
.
Error
(
"IssuanceDebt.getLatestPrice"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err
or
"
,
err
)
return
nil
,
err
return
nil
,
err
}
}
// 根据价格和需要借贷的金额,计算需要质押的抵押物数量
// 根据价格和需要借贷的金额,计算需要质押的抵押物数量
btyFrozen
,
err
:=
getBtyNumToFrozen
(
debt
.
Value
,
lastPrice
,
issu
.
LiquidationRatio
)
btyFrozen
,
err
:=
getBtyNumToFrozen
(
debt
.
Value
,
lastPrice
,
issu
.
LiquidationRatio
)
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"IssuanceDebt.getBtyNumToFrozen"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err"
,
err
)
clog
.
Error
(
"IssuanceDebt.getBtyNumToFrozen"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err
or
"
,
err
)
return
nil
,
err
return
nil
,
err
}
}
// 检查抵押物账户余额
// 检查抵押物账户余额
if
!
action
.
CheckExecAccountBalance
(
action
.
fromaddr
,
btyFrozen
,
0
)
{
if
!
action
.
CheckExecAccountBalance
(
action
.
fromaddr
,
btyFrozen
,
0
)
{
clog
.
Error
(
"IssuanceDebt.CheckExecAccountBalance"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"btyFrozen"
,
btyFrozen
,
"err"
,
types
.
ErrNoBalance
)
clog
.
Error
(
"IssuanceDebt.CheckExecAccountBalance"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"btyFrozen"
,
btyFrozen
,
"err
or
"
,
types
.
ErrNoBalance
)
return
nil
,
types
.
ErrNoBalance
return
nil
,
types
.
ErrNoBalance
}
}
...
@@ -634,7 +644,7 @@ func (action *Action) IssuanceRepay(repay *pty.IssuanceRepay) (*types.Receipt, e
...
@@ -634,7 +644,7 @@ func (action *Action) IssuanceRepay(repay *pty.IssuanceRepay) (*types.Receipt, e
// 找到相应的借贷
// 找到相应的借贷
issuance
,
err
:=
queryIssuanceByID
(
action
.
db
,
repay
.
IssuanceId
)
issuance
,
err
:=
queryIssuanceByID
(
action
.
db
,
repay
.
IssuanceId
)
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"IssuanceRepay"
,
"CollID"
,
repay
.
IssuanceId
,
"err"
,
err
)
clog
.
Error
(
"IssuanceRepay"
,
"CollID"
,
repay
.
IssuanceId
,
"err
or
"
,
err
)
return
nil
,
err
return
nil
,
err
}
}
...
@@ -642,7 +652,7 @@ func (action *Action) IssuanceRepay(repay *pty.IssuanceRepay) (*types.Receipt, e
...
@@ -642,7 +652,7 @@ func (action *Action) IssuanceRepay(repay *pty.IssuanceRepay) (*types.Receipt, e
// 状态检查
// 状态检查
if
issu
.
Status
!=
pty
.
IssuanceStatusCreated
{
if
issu
.
Status
!=
pty
.
IssuanceStatusCreated
{
clog
.
Error
(
"IssuanceRepay"
,
"CollID"
,
repay
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err"
,
"status error"
,
"Status"
,
issu
.
Status
)
clog
.
Error
(
"IssuanceRepay"
,
"CollID"
,
repay
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err
or
"
,
"status error"
,
"Status"
,
issu
.
Status
)
return
nil
,
pty
.
ErrIssuanceStatus
return
nil
,
pty
.
ErrIssuanceStatus
}
}
...
@@ -658,13 +668,13 @@ func (action *Action) IssuanceRepay(repay *pty.IssuanceRepay) (*types.Receipt, e
...
@@ -658,13 +668,13 @@ func (action *Action) IssuanceRepay(repay *pty.IssuanceRepay) (*types.Receipt, e
}
}
if
debtRecord
==
nil
{
if
debtRecord
==
nil
{
clog
.
Error
(
"IssuanceRepay"
,
"CollID"
,
repay
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err"
,
"Can not find debt record"
)
clog
.
Error
(
"IssuanceRepay"
,
"CollID"
,
repay
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err
or
"
,
"Can not find debt record"
)
return
nil
,
pty
.
ErrRecordNotExist
return
nil
,
pty
.
ErrRecordNotExist
}
}
// 检查
// 检查
if
!
action
.
CheckExecTokenAccount
(
action
.
fromaddr
,
debtRecord
.
DebtValue
,
false
)
{
if
!
action
.
CheckExecTokenAccount
(
action
.
fromaddr
,
debtRecord
.
DebtValue
,
false
)
{
clog
.
Error
(
"IssuanceRepay"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err"
,
types
.
ErrInsufficientBalance
)
clog
.
Error
(
"IssuanceRepay"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err
or
"
,
types
.
ErrInsufficientBalance
)
return
nil
,
types
.
ErrNoBalance
return
nil
,
types
.
ErrNoBalance
}
}
...
@@ -745,7 +755,7 @@ func (action *Action) systemLiquidation(issu *pty.Issuance, price float64) (*typ
...
@@ -745,7 +755,7 @@ func (action *Action) systemLiquidation(issu *pty.Issuance, price float64) (*typ
// 抵押物转移
// 抵押物转移
receipt
,
err
:=
action
.
coinsAccount
.
ExecTransferFrozen
(
issu
.
IssuerAddr
,
getGuarantorAddr
,
action
.
execaddr
,
debtRecord
.
CollateralValue
)
receipt
,
err
:=
action
.
coinsAccount
.
ExecTransferFrozen
(
issu
.
IssuerAddr
,
getGuarantorAddr
,
action
.
execaddr
,
debtRecord
.
CollateralValue
)
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"systemLiquidation"
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"amount"
,
debtRecord
.
CollateralValue
,
"err"
,
err
)
clog
.
Error
(
"systemLiquidation"
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"amount"
,
debtRecord
.
CollateralValue
,
"err
or
"
,
err
)
continue
continue
}
}
logs
=
append
(
logs
,
receipt
.
Logs
...
)
logs
=
append
(
logs
,
receipt
.
Logs
...
)
...
@@ -803,7 +813,7 @@ func (action *Action) expireLiquidation(issu *pty.Issuance) (*types.Receipt, err
...
@@ -803,7 +813,7 @@ func (action *Action) expireLiquidation(issu *pty.Issuance) (*types.Receipt, err
// 抵押物转移
// 抵押物转移
receipt
,
err
:=
action
.
coinsAccount
.
ExecTransferFrozen
(
issu
.
IssuerAddr
,
getGuarantorAddr
,
action
.
execaddr
,
debtRecord
.
CollateralValue
)
receipt
,
err
:=
action
.
coinsAccount
.
ExecTransferFrozen
(
issu
.
IssuerAddr
,
getGuarantorAddr
,
action
.
execaddr
,
debtRecord
.
CollateralValue
)
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"systemLiquidation"
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"amount"
,
debtRecord
.
CollateralValue
,
"err"
,
err
)
clog
.
Error
(
"systemLiquidation"
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"amount"
,
debtRecord
.
CollateralValue
,
"err
or
"
,
err
)
continue
continue
}
}
logs
=
append
(
logs
,
receipt
.
Logs
...
)
logs
=
append
(
logs
,
receipt
.
Logs
...
)
...
@@ -876,7 +886,7 @@ func (action *Action) IssuanceFeed(feed *pty.IssuanceFeed) (*types.Receipt, erro
...
@@ -876,7 +886,7 @@ func (action *Action) IssuanceFeed(feed *pty.IssuanceFeed) (*types.Receipt, erro
price
:=
pricePolicy
(
feed
)
price
:=
pricePolicy
(
feed
)
if
price
<=
0
{
if
price
<=
0
{
clog
.
Error
(
"IssuancePriceFeed"
,
"price"
,
price
,
"err"
,
pty
.
ErrPriceInvalid
)
clog
.
Error
(
"IssuancePriceFeed"
,
"price"
,
price
,
"err
or
"
,
pty
.
ErrPriceInvalid
)
return
nil
,
pty
.
ErrPriceInvalid
return
nil
,
pty
.
ErrPriceInvalid
}
}
...
@@ -938,7 +948,7 @@ func (action *Action) IssuanceClose(close *pty.IssuanceClose) (*types.Receipt, e
...
@@ -938,7 +948,7 @@ func (action *Action) IssuanceClose(close *pty.IssuanceClose) (*types.Receipt, e
issuance
,
err
:=
queryIssuanceByID
(
action
.
db
,
close
.
IssuanceId
)
issuance
,
err
:=
queryIssuanceByID
(
action
.
db
,
close
.
IssuanceId
)
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"IssuanceClose"
,
"IssuanceId"
,
close
.
IssuanceId
,
"err"
,
err
)
clog
.
Error
(
"IssuanceClose"
,
"IssuanceId"
,
close
.
IssuanceId
,
"err
or
"
,
err
)
return
nil
,
err
return
nil
,
err
}
}
...
@@ -949,7 +959,7 @@ func (action *Action) IssuanceClose(close *pty.IssuanceClose) (*types.Receipt, e
...
@@ -949,7 +959,7 @@ func (action *Action) IssuanceClose(close *pty.IssuanceClose) (*types.Receipt, e
for
_
,
debtRecord
:=
range
issuance
.
DebtRecords
{
for
_
,
debtRecord
:=
range
issuance
.
DebtRecords
{
if
debtRecord
.
Status
!=
pty
.
IssuanceUserStatusClose
{
if
debtRecord
.
Status
!=
pty
.
IssuanceUserStatusClose
{
clog
.
Error
(
"IssuanceClose"
,
"IssuanceId"
,
close
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err"
,
pty
.
ErrIssuanceRecordNotEmpty
)
clog
.
Error
(
"IssuanceClose"
,
"IssuanceId"
,
close
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err
or
"
,
pty
.
ErrIssuanceRecordNotEmpty
)
return
nil
,
pty
.
ErrIssuanceRecordNotEmpty
return
nil
,
pty
.
ErrIssuanceRecordNotEmpty
}
}
}
}
...
@@ -957,7 +967,7 @@ func (action *Action) IssuanceClose(close *pty.IssuanceClose) (*types.Receipt, e
...
@@ -957,7 +967,7 @@ func (action *Action) IssuanceClose(close *pty.IssuanceClose) (*types.Receipt, e
// 解冻ccny
// 解冻ccny
receipt
,
err
=
action
.
tokenAccount
.
ExecActive
(
action
.
fromaddr
,
action
.
execaddr
,
issuance
.
Balance
)
receipt
,
err
=
action
.
tokenAccount
.
ExecActive
(
action
.
fromaddr
,
action
.
execaddr
,
issuance
.
Balance
)
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"IssuanceClose.ExecActive"
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"amount"
,
issuance
.
Balance
,
"err"
,
err
)
clog
.
Error
(
"IssuanceClose.ExecActive"
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"amount"
,
issuance
.
Balance
,
"err
or
"
,
err
)
return
nil
,
err
return
nil
,
err
}
}
logs
=
append
(
logs
,
receipt
.
Logs
...
)
logs
=
append
(
logs
,
receipt
.
Logs
...
)
...
...
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