You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(MAJOR) Various postgres functions, such as random() or now() are no longer available to enforce determinism.
This is a database wide change, so if you use it for other purposes you may want to keep them available, in which case make sure to avoid using them inside smart contracts.
(MAJOR) Postgres queries may no longer contain localtime, current_time and current_date to enforce determinism.
(MAJOR) Postgres BIGINT arrays are returned as number[] instead of string[]
(MAJOR) encode/decodeURI(Component) and URL.parse() return undefined instead of throwing an error if invalid data is provided.
(MAJOR) Transaction with as payload an empty array are invalid. Use an empty object instead.
(MAJOR) Function.toString() no longer available inside smart contracts.
(MAJOR) Check length of addresses for (smart contracts) isValidAddress(). (As addresses contain a checksum it is unlikely for this to go wrong by accident.)
(MAJOR) The non-standard properties on RegExp objects are no longer available inside smart contracts.
(MAJOR) Can no longer create contract-specific tables with last argument of query() inside contracts. (Tables already created this way are still available by providing this argument, but not contract-specific anymore.)
(MINOR) The query() method for smart contracts accept direct sql queries, instead of having to provide the 'action', 'table' and 'info' as seperate arguments.
(MINOR) transactionId (hex string) is available inside smart contracts.
(MINOR) currentBlockTimestamp (number) is available inside smart contracts. It reflects when this block started being created, not when it finished, but is more up to date then previousBlockTimestamp.
(MINOR) addressAsString() and addressAsBuffer() are available inside smart contracts to transform an address. An error will be thrown if the address is invalid.
(MINOR) Can create version 2 contracts. Add validanaVersion: 2 to the payload when creating a contract.
Those contracts always run as 'use strict'.
The template type 'json' expects an object instead of a valid string for JSON.parse()
The template type 'id' is available, which must be a length 32 hex string.
Non-array template types ending in '?' are optional when calling the smart contract.
Contracts are rejected when calling the new reject() method instead of returning a non-"OK" string. This thus allows returning any string desired.
Fix check if a public/private key is correctly formatted.
Added tests.
Various other bugfixes and performance improvements.