Skip to content

Commit

Permalink
Merge pull request #78 from fractalplatform/vmfix
Browse files Browse the repository at this point in the history
fixvmbug
  • Loading branch information
findbug2019 committed Mar 19, 2019
2 parents aa959c8 + 4f9e20e commit e23bcae
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 25 deletions.
2 changes: 1 addition & 1 deletion processor/vm/instructions.go
Original file line number Diff line number Diff line change
Expand Up @@ -953,7 +953,7 @@ func opGetAccountID(pc *uint64, evm *EVM, contract *Contract, memory *Memory, st
account := stack.pop()
if name, err := common.BigToName(account); err == nil {
acctName := common.Name(name)
if accountID, err := evm.AccountDB.GetAccountIDByName(acctName); err != nil {
if accountID, err := evm.AccountDB.GetAccountIDByName(acctName); err == nil {
stack.push(evm.interpreter.intPool.get().SetUint64(accountID))
} else {
stack.push(evm.interpreter.intPool.getZero())
Expand Down
61 changes: 37 additions & 24 deletions test/contract/MultiAsset/MultiAsset.sol
Original file line number Diff line number Diff line change
@@ -1,39 +1,52 @@
pragma solidity ^0.4.24;

contract MultiAsset {
function() public payable {
constructor() public payable {

}
function reg(string desc) public {
issueasset(desc);
}
function add(address assetId, uint256 value) public {
addasset(assetId,value);

function reg(string desc) public returns(uint256){
return issueasset(desc);
}
function transAsset(address to, address assetId, uint256 value) public payable {
to.transferex(assetId, value);

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

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

function add(uint256 assetId, address toname,uint256 value) public returns(uint256) {
return addasset(assetId,toname,value);
}

function changeOwner(address newOwner, uint256 assetId) public returns(uint256) {
return setassetowner(assetId, newOwner);
}
function changeOwner(address newOwner, address assetId) public {
setassetowner(assetId, newOwner);

function transAsset(address to, uint256 assetId, uint256 value) public payable {
to.transferex(assetId, value);
}
function getBalanceEx(address to,address assetId) public {

function getBalanceEx(address to,uint256 assetId) public {
log1(bytes32(to.balanceex(assetId)),"getbalanceex");
}

function getAssetAmount(uint256 assetId, uint256 time) public{
uint256 x;
x = assetamount(assetId,time);
log1(bytes32(x),"getassetamount");
}

function getAssetAmount(uint256 assetId, uint256 time) public{
uint256 x;
x = assetamount(assetId,time);
log1(bytes32(x),"getassetamount");
}
function getSnapshotTime(uint256 t,uint256 time) public{
uint256 x;
x = snapshottime(t,time);
log1(bytes32(x),"getSnapshotTime" );

}
function getSnapBalance(address to,uint256 assetId,uint256 time) public {
uint256 x;
x = snapshottime(t,time);
log1(bytes32(x),"getSnapshotTime" );
}
function getSnapBalance(address to,uint256 assetId,uint256 time,uint256 t) public {
uint256 x ;
x = to.snapbalance(assetId,time);
x = to.snapbalance(assetId,time,t);
log1(bytes32(x),"getSnapBalance");
}
}

0 comments on commit e23bcae

Please sign in to comment.