Search in sources :

Example 1 with ContractTransferData

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;
}
Also used : Na(io.nuls.kernel.model.Na) ContractTransferData(io.nuls.contract.entity.txdata.ContractTransferData)

Example 2 with ContractTransferData

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;
}
Also used : HashMap(java.util.HashMap) CallContractData(io.nuls.contract.entity.txdata.CallContractData) ContractTransferData(io.nuls.contract.entity.txdata.ContractTransferData) CreateContractData(io.nuls.contract.entity.txdata.CreateContractData) DeleteContractData(io.nuls.contract.entity.txdata.DeleteContractData) TransactionLogicData(io.nuls.kernel.model.TransactionLogicData)

Aggregations

ContractTransferData (io.nuls.contract.entity.txdata.ContractTransferData)2 CallContractData (io.nuls.contract.entity.txdata.CallContractData)1 CreateContractData (io.nuls.contract.entity.txdata.CreateContractData)1 DeleteContractData (io.nuls.contract.entity.txdata.DeleteContractData)1 Na (io.nuls.kernel.model.Na)1 TransactionLogicData (io.nuls.kernel.model.TransactionLogicData)1 HashMap (java.util.HashMap)1