Skip to content

Commit

Permalink
Merge ae12176 into e23bcae
Browse files Browse the repository at this point in the history
  • Loading branch information
findbug2019 committed Mar 20, 2019
2 parents e23bcae + ae12176 commit 59fbbaf
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 9 deletions.
3 changes: 3 additions & 0 deletions accountmanager/accountmanager.go
Expand Up @@ -913,7 +913,10 @@ func (am *AccountManager) process(action *types.Action) error {
if action.Recipient() != common.Name(sysName) {
return ErrToNameInvalid
}
} else {
return ErrAmountValueInvalid
}

if err := am.TransferAsset(action.Sender(), action.Recipient(), action.AssetID(), action.Value()); err != nil {
return err
}
Expand Down
20 changes: 13 additions & 7 deletions consensus/dpos/processor.go
Expand Up @@ -17,6 +17,7 @@
package dpos

import (
"fmt"
"math/big"

"github.com/fractalplatform/fractal/accountmanager"
Expand Down Expand Up @@ -70,6 +71,11 @@ func (dpos *Dpos) processAction(chainCfg *params.ChainConfig, state *state.State
},
},
}

if action.Value().Cmp(big.NewInt(0)) > 0 {
return fmt.Errorf("invalid action value, must be zero")
}

switch action.Type() {
case types.RegProducer:
arg := &RegisterProducer{}
Expand Down Expand Up @@ -122,12 +128,12 @@ func (dpos *Dpos) processAction(chainCfg *params.ChainConfig, state *state.State
default:
return accountmanager.ErrUnkownTxType
}
accountDB, err := accountmanager.NewAccountManager(state)
if err != nil {
return err
}
if action.Value().Cmp(big.NewInt(0)) > 0 {
accountDB.TransferAsset(action.Sender(), action.Recipient(), action.AssetID(), action.Value())
}
// accountDB, err := accountmanager.NewAccountManager(state)
// if err != nil {
// return err
// }
// if action.Value().Cmp(big.NewInt(0)) > 0 {
// accountDB.TransferAsset(action.Sender(), action.Recipient(), action.AssetID(), action.Value())
// }
return nil
}
4 changes: 2 additions & 2 deletions test/contract/MultiAsset/MultiAsset.sol
Expand Up @@ -9,11 +9,11 @@ contract MultiAsset {
return issueasset(desc);
}

function destroyasset(uint256 assetId, uint256 value) public returns(uint256) {
function destroyasset1(uint256 assetId, uint256 value) public returns(uint256) {
return destroyasset(assetId, value);
}

function getaccountid(address desc) public returns(uint256) {
function getaccountbyid(address desc) public returns(uint256) {
return getaccountid(desc);
}

Expand Down

0 comments on commit 59fbbaf

Please sign in to comment.