When requesting transaction data from the daemon like so:
func (c *DaemonHTTPClient) TX(ctx context.Context, txid string) (contracts.TransactionResult, error) {
var rpcResult rpc.GetTransaction_Result
var result contracts.TransactionResult
if err := c.Call(ctx, "DERO.GetTransaction", rpc.GetTransaction_Params{Tx_Hashes: []string{txid}}, &rpcResult); err != nil {
return contracts.TransactionResult{}, err
}
if txBin, err := hex.DecodeString(rpcResult.Txs_as_hex[0]); err != nil {
return contracts.TransactionResult{}, err
} else if err = result.TX.Deserialize(txBin); err != nil {
return contracts.TransactionResult{}, err
}
result.RelatedInfo = rpcResult.Txs[0]
result.Status = rpcResult.Status
result.Valid = true
// remove rpc leftovers, which disturb contract detection
result.RelatedInfo.Code = strings.TrimRight(result.RelatedInfo.Code, "\x05")
return result, nil
}
Then the field rpcResult.Txs[0].Code contains a 0x05 character at the end, which does not belong to the actual contract code.
When requesting transaction data from the daemon like so:
Then the field rpcResult.Txs[0].Code contains a 0x05 character at the end, which does not belong to the actual contract code.