In the last months, we were busy developing many exciting features that we are releasing today with API 1.4.
This post will give a basic overview of all changes introduced in our new update. In the following days, we are planning on publishing a series of blog posts that will explain the functionality in greater detail.
Asynchronous Requests
We have integrated support for asynchronous API endpoints to provide a technical base for advanced blockchain workflows such as ethereum gas pre-funding. Sending a request to an asynchronous endpoint always results in a quick API response containing the status location of the asynchronous process. After a quick validation, WaaS enqueues the API request to be processed in the background and continues to update the corresponding status endpoint GET request/:id
throughout the lifetime of the background process.
Currently supported asynchronous endpoints are POST eth/wallet/:wallet/send-async
and POST eth/contract/:contract/:wallet/send-async
.
Ethereum Gas Tank
We added a new configuration setting tangany-use-gas-tank
that will cause automatic pre-funding of mandatory ethereum transaction fees to the tx-initiating wallet for all participating WaaS subscriptions. This feature enables wallets to interact with smart contracts such as ERC-standardized tokens on public ethereum networks without the necessity of holding any actual Ether balance.
Both POST eth/wallet/:wallet/send-async
and POST eth/contract/:contract/:wallet/send-async
support the Gas Tank HTTP header.
Universal Ethereum Smart Contract Writing
In addition to the already existing option to execute arbitrary write-access smart contract methods employing the data
field via POST eth/wallet/:wallet/send
and POST eth/wallet/:wallet/send-async
, we added the new endpoint POST eth/contract/:contract/:wallet/send-async
, that supports calling write-access smart contract methods using an ABI-like body configuration.
While the data
approach does require the body smart contract method and the supplied arguments to be encoded into a hexadecimal string, this new endpoint accepts the desired method and arguments in a simple, human-readable syntax.
An additional API endpoint for calling read-access smart contract methods will be added in a future release.
Signing API
Both the ethereum and bitcoin signing endpoints POST eth/wallet/:wallet/sign
and POST btc/wallet/:wallet/sign
are now generally available for creating valid, signed transaction hashes that can be manually transmitted to compatible blockchain networks at a later stage. The ethereum signing endpoint is compatible with the custom RPC node customization header tangany-ethereum-network
and enables users of ethereum RPC-compatible networks to benefit from Tangany custody services using private node infrastructure.
Miscellaneous Changes
- Feature: Support new HTTP header
tangany-ethereum-gas-price
to enforce a custom gas price for an ethereum transaction - Bugfix: Fix affinity cookie handling for Bitcoin endpoints
- Bugfix: Limit allowed decimal places for transactions amount parameter based on current chain