use of io.nuls.contract.entity.txdata.ContractTransferData in project nuls by nuls-io.
the class ContractTransferTransaction method getFee.
@Override
public Na getFee() {
ContractTransferData data = this.txData;
byte success = data.getSuccess();
// 合约执行成功的内部转账,手续费已从Gas中扣除,此处不在收取手续费
if (success == 1) {
return Na.ZERO;
}
// 合约执行失败,退回调用者向合约地址转入的资金,需要额外收取手续费
Na fee = Na.ZERO;
if (null != coinData) {
fee = coinData.getFee();
}
return fee;
}
use of io.nuls.contract.entity.txdata.ContractTransferData in project nuls by nuls-io.
the class ContractTransactionDto method makeTxData.
private Map<String, Object> makeTxData(Transaction tx) {
Map<String, Object> result = new HashMap<>();
TransactionLogicData txData = tx.getTxData();
if (type == ContractConstant.TX_TYPE_CREATE_CONTRACT) {
CreateContractData create = (CreateContractData) txData;
result.put("data", new CreateContractDataDto(create));
} else if (type == ContractConstant.TX_TYPE_CALL_CONTRACT) {
CallContractData call = (CallContractData) txData;
result.put("data", new CallContractDataDto(call));
} else if (type == ContractConstant.TX_TYPE_DELETE_CONTRACT) {
DeleteContractData delete = (DeleteContractData) txData;
result.put("data", new DeleteContractDataDto(delete));
} else if (type == ContractConstant.TX_TYPE_CONTRACT_TRANSFER) {
ContractTransferData transfer = (ContractTransferData) txData;
result.put("data", new ContractTransferDataDto(transfer));
} else if (type == NulsConstant.TX_TYPE_COINBASE) {
Map<String, String> map = MapUtil.createLinkedHashMap(1);
map.put("sender", EMPTY);
result.put("data", map);
}
return result;
}
Aggregations