Commit e7901f80 authored by hezhengjun's avatar hezhengjun

modify evmxgo

parent 6e383173
......@@ -16,7 +16,7 @@ type evmxgoDB struct {
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.evmxgo.Symbol = mint.GetSymbol()
return e
......@@ -69,7 +69,7 @@ func safeAdd(balance, amount int64) (int64, error) {
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)
if err != nil {
return nil, nil, err
......@@ -273,10 +273,10 @@ func (action *evmxgoAction) mint(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Tr
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 {
elog.Error("evmxgo mint ", "symbol", mint.GetSymbol(), "error", err, "from", action.fromaddr)
return nil, err
......@@ -287,7 +287,7 @@ func (action *evmxgoAction) mint(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Tr
return nil, err
}
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 {
return nil, err
}
......
......@@ -14,6 +14,7 @@ const (
)
//solidity interface: function lock(address _recipient, address _token, uint256 _amount)
//铸币交易的接收人必须与发起lock交易时填写的接收地址一致
func checkMinePara(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Transaction) error {
unpack, err := chain33Abi.Unpack(tx2lock.Payload, LockMethod, bridgevmxgo.BridgeBankABI)
if err != nil {
......@@ -22,7 +23,7 @@ func checkMinePara(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Transaction) err
for _, para := range unpack {
switch para.Name {
case "_recipient":
if mint.Address != para.Value {
if mint.Recipient != para.Value {
return errors.New("Not consitent recipient address")
}
case "_amount":
......@@ -31,7 +32,7 @@ func checkMinePara(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Transaction) err
}
case "_token":
if mint.Token != para.Value {
if mint.BridgeToken != para.Value {
return errors.New("Not consitent token Address")
}
}
......
......@@ -19,10 +19,10 @@ message EvmxgoAction {
}
message EvmxgoMint {
string symbol = 1;
int64 amount = 2;
string address =3;
string token =4;
string symbol = 1;
int64 amount = 2;
string bridgeToken = 3;
string recipient = 4;
}
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