Skip to content

Deadline can't be set greater that 6 hours #715

Open
@APshenkin

Description

@APshenkin
  1. Expected behavior and actual behavior.
    In documentation https://docs.symbolplatform.com/serialization/transaction.html#id2
    I can see
    deadline - Number of milliseconds elapsed since the creation of the nemesis block. If a transaction does not get included in a block before the deadline is reached, it is deleted. Deadlines are only allowed to lie up to 24 hours ahead. But if I set this value greater than 6 hours then transaction doesn't apply in blockchain.
    Also when publishing transaction with deadline greater than 6 hours I receive the same response as for successful broadcast
{
    "message": "packet 9 was pushed to the network via /transactions"
}

This response is not clear and doesn't provide information about bad transaction deadline.
2. Steps to reproduce the problem.

const rawAddress = 'TCFV4TKV6RMN7QPR3PTBXDWIJCLXDVKSIPEEUAQ';
const recipientAddress = Address.createFromRawAddress(rawAddress);
// replace with network type
const networkType = NetworkType.TEST_NET;
// replace with symbol.xym id
const networkCurrencyMosaicId = new MosaicId('5B66E76BECAD0860');

const transferTransaction = TransferTransaction.create(
  Deadline.create(7),
  recipientAddress,
  [new Mosaic (networkCurrencyMosaicId,
    UInt64.fromUint(1000000))],
  EmptyMessage,
  networkType,
  UInt64.fromUint(2000000));

// replace with sender private key
const privateKey = '1111111111111111111111111111111111111111111111111111111111111111';
const account = Account.createFromPrivateKey(privateKey, networkType);
// replace with meta.networkGenerationHash (nodeUrl + '/node/info')
const networkGenerationHash = '6C1B92391CCB41C96478471C2634C111D9E989DECD66130C0430B5B8D20117CD';
const signedTransaction = account.sign(transferTransaction, networkGenerationHash);
console.log('Payload:', signedTransaction.payload);
console.log('Transaction Hash:', signedTransaction.hash);

const nodeUrl = 'http://api-01.eu-central-1.0.10.0.x.symboldev.network:3000';
const repositoryFactory = new RepositoryFactoryHttp(nodeUrl);
const transactionHttp = repositoryFactory.createTransactionRepository();

transactionHttp
  .announce(signedTransaction)
  .subscribe((x) => {
    console.log(x)
  }, (err) => {
    console.error(err)
  });
  1. Specifications like the version of the project, operating system, or hardware.
    symbol-sdk version 0.21.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    missing detailsIssue description is missing details. Work cannot be started.questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions