Migration to 9.0.0
This guide describes all breaking changes introduced with v9.0.0.
drop waitMined static method
waitMined static methodIf you used it like
const sdk = await Universal({ ... })
sdk.waitMined(false)then you have to rewrite it using Stamp composition
const sdk = await Universal.compose({
deepProps: { Ae: { defaults: { waitMined: false } } }
})({ ... })or pass it to specific methods, like
sdk.spend(amount, receiver, { waitMined: false });or even
const sdk = await Universal({ ... })
sdk.deepProps({ Ae: { defaults: { waitMined: false } } })drop assertedType, use decode instead
assertedType, use decode insteadIf you used it like
const payload = Crypto.decodeBase64Check(Crypto.assertedType('tx_...', 'tx'));then you have to rewrite it using decode method
const payload = TxBuilderHelper.decode('tx_...', 'tx');validator: recursive validator, simplify schema
Instead of TransactionValidator stamp use verifyTransaction function. The function accepts
a transaction, and a Node instance for validation (instead of network id), it doesn't return
an unpacked transaction anymore, just an array of errors. Each error contains a verbose message
(msg before), unique key (for easy comparison), checkedKeys array (txKey before). Usingnode instead of networkId allows to ensure transaction validation, so warnings are errors
now (type field removed).
SCHEMA doesn't contain validation schema anymore. This wasn't supposed to be used by external
developers.
simplify buildTxHash helper
If you used buildHash like
const hash = TxBuilderHelper.buildHash('xx', Buffer.from([1, 2, 3]), { raw: true });then use
const hash = Crypto.hash(Buffer.from([1, 2, 3]));If you used it with a falsy raw then
const hash = TxBuilderHelper.encode(Crypto.hash(Buffer.from([1, 2, 3])), 'xx');buildTxHash don't have raw switch anymore, it returns th_-encoded string in all cases,
but it still accepts transactions as a string and as a buffer.
enable verification in deep props instead of extra variable
If you were passing verifyTx: false to sdk factory then use verify: false instead.
Last updated
Was this helpful?