Commit e7901f80 authored by hezhengjun's avatar hezhengjun

modify evmxgo

parent 6e383173
...@@ -16,7 +16,7 @@ type evmxgoDB struct { ...@@ -16,7 +16,7 @@ type evmxgoDB struct {
evmxgo evmxgotypes.Evmxgo evmxgo evmxgotypes.Evmxgo
} }
func newEvmxgoDB(cfg *types.Chain33Config, mint *evmxgotypes.EvmxgoMint, creator string, height int64) *evmxgoDB { func newEvmxgoDB(mint *evmxgotypes.EvmxgoMint) *evmxgoDB {
e := &evmxgoDB{} e := &evmxgoDB{}
e.evmxgo.Symbol = mint.GetSymbol() e.evmxgo.Symbol = mint.GetSymbol()
return e return e
...@@ -69,7 +69,7 @@ func safeAdd(balance, amount int64) (int64, error) { ...@@ -69,7 +69,7 @@ func safeAdd(balance, amount int64) (int64, error) {
return balance + amount, nil return balance + amount, nil
} }
func (e *evmxgoDB) mint(db dbm.KV, addr string, amount int64) ([]*types.KeyValue, []*types.ReceiptLog, error) { func (e *evmxgoDB) mint(amount int64) ([]*types.KeyValue, []*types.ReceiptLog, error) {
newTotal, err := safeAdd(e.evmxgo.Total, amount) newTotal, err := safeAdd(e.evmxgo.Total, amount)
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
...@@ -273,10 +273,10 @@ func (action *evmxgoAction) mint(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Tr ...@@ -273,10 +273,10 @@ func (action *evmxgoAction) mint(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Tr
return nil, evmxgotypes.ErrEvmxgoSymbolNotAllowedMint return nil, evmxgotypes.ErrEvmxgoSymbolNotAllowedMint
} }
evmxgodb = newEvmxgoDB(cfg, mint, action.fromaddr, action.height) evmxgodb = newEvmxgoDB(mint)
} }
kvs, logs, err := evmxgodb.mint(action.db, action.fromaddr, mint.Amount) kvs, logs, err := evmxgodb.mint(mint.Amount)
if err != nil { if err != nil {
elog.Error("evmxgo mint ", "symbol", mint.GetSymbol(), "error", err, "from", action.fromaddr) elog.Error("evmxgo mint ", "symbol", mint.GetSymbol(), "error", err, "from", action.fromaddr)
return nil, err return nil, err
...@@ -287,7 +287,7 @@ func (action *evmxgoAction) mint(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Tr ...@@ -287,7 +287,7 @@ func (action *evmxgoAction) mint(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Tr
return nil, err return nil, err
} }
elog.Debug("mint", "evmxgo.Symbol", mint.Symbol, "evmxgo.Amount", mint.Amount) elog.Debug("mint", "evmxgo.Symbol", mint.Symbol, "evmxgo.Amount", mint.Amount)
receipt, err := evmxgoAccount.Mint(action.fromaddr, mint.Amount) receipt, err := evmxgoAccount.Mint(mint.Recipient, mint.Amount)
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
...@@ -14,6 +14,7 @@ const ( ...@@ -14,6 +14,7 @@ const (
) )
//solidity interface: function lock(address _recipient, address _token, uint256 _amount) //solidity interface: function lock(address _recipient, address _token, uint256 _amount)
//铸币交易的接收人必须与发起lock交易时填写的接收地址一致
func checkMinePara(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Transaction) error { func checkMinePara(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Transaction) error {
unpack, err := chain33Abi.Unpack(tx2lock.Payload, LockMethod, bridgevmxgo.BridgeBankABI) unpack, err := chain33Abi.Unpack(tx2lock.Payload, LockMethod, bridgevmxgo.BridgeBankABI)
if err != nil { if err != nil {
...@@ -22,7 +23,7 @@ func checkMinePara(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Transaction) err ...@@ -22,7 +23,7 @@ func checkMinePara(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Transaction) err
for _, para := range unpack { for _, para := range unpack {
switch para.Name { switch para.Name {
case "_recipient": case "_recipient":
if mint.Address != para.Value { if mint.Recipient != para.Value {
return errors.New("Not consitent recipient address") return errors.New("Not consitent recipient address")
} }
case "_amount": case "_amount":
...@@ -31,7 +32,7 @@ func checkMinePara(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Transaction) err ...@@ -31,7 +32,7 @@ func checkMinePara(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Transaction) err
} }
case "_token": case "_token":
if mint.Token != para.Value { if mint.BridgeToken != para.Value {
return errors.New("Not consitent token Address") return errors.New("Not consitent token Address")
} }
} }
......
...@@ -19,10 +19,10 @@ message EvmxgoAction { ...@@ -19,10 +19,10 @@ message EvmxgoAction {
} }
message EvmxgoMint { message EvmxgoMint {
string symbol = 1; string symbol = 1;
int64 amount = 2; int64 amount = 2;
string address =3; string bridgeToken = 3;
string token =4; string recipient = 4;
} }
message EvmxgoBurn { message EvmxgoBurn {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment