Skip to content

v0.8.0-beta.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@mehcode mehcode released this 12 Dec 19:33

Changed

  • Client constructor takes the network as { network: ... } instead of { nodes: ... }

  • Transactions and queries do not take Client in the constructor; instead, Client is passed to execute.

  • Removed Transaction.executeForReceipt and Transaction.executeForRecord

    These methods have been identified as harmful as they hide too much. If one fails, you do not know if the transaction failed to execute; or, the receipt/record could not be retrieved. In a mission-critical application, that is, of course, an important distinction.

    Now there is only Transaction.execute which returns a TransactionId. If you don't care about waiting for consensus or retrieving a receipt/record in your application, you're done. Otherwise you can now use any TransactionId and ask for the receipt/record (with a stepped retry interval until consensus) with TransactionId.getReceipt and TransactionId.getRecord.

    v0.7.x and below

    let newAccountId = new AccountCreateTransaction(hederaClient)
        .setKey(newKey.publicKey)
        .setInitialBalance(1000)
        .executeForReceipt() // TransactionReceipt
        .accountId;

    v0.8.x

    let newAccountId = new AccountCreateTransaction()
        .setKey(newKey.publicKey)
        .setInitialBalance(1000)
        .execute(hederaClient) // TranactionId
        .getReceipt(hederaClient) // TransactionReceipt
        .accountId;
  • Rename setPaymentDefault to setPaymentAmount

Added

  • All transaction and query types that were in the Java SDK but not yet in the JS SDK (GetBySolidityIdQuery, AccountStakersQuery, etc.)

  • TransactionId.getReceipt

  • TransactionId.getRecord

  • Transaction.toString. This will dump the transaction (incl. the body) to a stringified JSON object representation of the transaction. Useful for debugging.

  • A default of 1 Hbar is now set for both maximum transaction fees and maximum query payments.

  • Smart Contract type encoding and decoding to match Java.

  • To/From string methods on AccountId, FileId, etc.

  • Internal retry handling for Transactions and Queries (incl. BUSY)

Removed

  • Transaction and Query types related to claims