class Transaction {

    @Nullable
    public UscAddress getContractAddress() {
        if (!isContractCreation()) {
            return null;
        }

        return new UscAddress(HashUtil.calcNewAddr(this.getSender().getBytes(), this.getNonce()));
    }

    protected  Transaction(byte[] rawData);
    public  Transaction(byte[] nonce, byte[] gasPriceRaw, byte[] gasLimit, byte[] receiveAddress, byte[] value, byte[] data);
    public  Transaction(byte[] nonce, byte[] gasPriceRaw, byte[] gasLimit, byte[] receiveAddress, byte[] value, byte[] data, byte[] r, byte[] s, byte v);
    public  Transaction(byte[] nonce, byte[] gasPriceRaw, byte[] gasLimit, byte[] receiveAddress, byte[] valueRaw, byte[] data,
                       byte chainId);

}