Releases: ecadlabs/taquito
PRE-RELEASE Lambda View and Beacon v2
This pre-release includes:
- lambda views https://tezostaquito.io/docs/lambda_view
- Michelson validation for instructions and types
- Beacon v2
Available on npm:
npm i @taquito/[email protected]
Update dep on beacon-sdk to support delphinet
This release updates Taquito's Wallet API provider for TZIP-10/beacon-sdk to 1.2.0. This version of beacon-sdk support delpinet.
Preview release with lambda views
See https://tezostaquito.io/docs/lambda_view for full details!
To install this release form NPM use:
npm i @taquito/[email protected]
Delphi Support, Ledger Support, Docs and some breaking changes
Taquito v7.0.0-beta
As per the Taquito Versioning Strategy this v7.0.0 release supports the upcoming Delphinet Tezos Protocol which we are expecting to reach quorum in the coming days.
Delphinet Support
In Delphinet, consumed gas is also provided in milligas
for a more accurate description of the gas consumption. Replaced property _gasLimit
by _milligasLimit
in the Estimate
class. Added a new method called consumedMilligas
. This method estimates the gas that the operation will consume in milligas
. However, the gasLimit
still needs to be specified in gas (not in milligas
) when sending transactions.
For more details on the Delphi protocol see:
Delphi release announcement: https://blog.nomadic-labs.com/delphi-official-release.html
Delphi changelogs: https://blog.nomadic-labs.com/delphi-changelog.html#007-delphi-changelog
Ledger support for signing
Taquito now ships with a Ledger Signer implementation. This feature makes it easy to interoperate with Ledger Hardware wallets in a web context or from command-line tools.
Documentation is available here: https://tezostaquito.io/docs/ledger_signer
We have tested using both Ledger Nano S and X devices.
Both the Madfish (Thanos Wallet) and Agile Ventures (Tezos Domains) have put this package to use in their products. A special thanks to Klas and Luis of the Kukai team for their early feedback.
More documentation!
- Web3js → Taquito
- Docs on how to run our integration tests for
- Docs for RPC
- Docs for popular public Tezos nodes
Breaking Changes
With a major version release, comes an opportunity for us to make some breaking changes.
We have published an upgrade guide to help guide developers and making these changes as easy to adopt as possible.
The three most notable changes are:
Removal of the default RPC URL
Users of Taquito must specifically set their RPC URL. We have published a list of public nodes Tezos RPC nodes
Removal of the default Tezos singleton
This change is related to the removal of the RPC node. Users must now make a new instance of the Taquito TezosToolkit
Remove the deprecated Tezos.importKey
method from the main Taquito package
We deprecated the top-level importKey
method last march, and now it’s finally time to remove it. The method continues to be available in the @taquito/signer
package as usual.
Bugs / Improvements
Fix to the subscription so it doesn’t die on error
We removed the react-components package from Taquito. These may return in the future in a dedicated repository.
Tests
We have added many more tests to our integration-test suit. Including tests for draining of accounts
Infrastructure / backend
- We moved our CI system to GitHub Actions (Thank you to CiricleCI for the year of service!)
- We have deployed GitHub’s code scanning service
- Separated CI jobs by testnet
CII Best Practices
Taquito now meets all the criteria for CII Best Practices which you can review here
Why is Taquito still marked as beta?
Taquito v7 is considered very stable, but there are still some items we want to get perfect before removing the beta
tag. Namely complete architectural documentation to assist developers and auditors with understanding the internals. Documentation is part of the project, and we think our documentation is getting better but we want to go further.
Moar Michelson Macros DUUP/DIIP
Changes
Our @taquito/michel-codec
package now supports the deprecated DUUP and DIIP Michelson Macros, this allows users to originate older contracts that still use these deprecated macros.
Getters and Setters
Get method for RPC URL in the Taquito RPC client
It's now possible to find out what URL the RPC Client is configured to use.
The TezBridge wallet provider allows setting of the RPC url
Add the ability to Set a host for TezBridge. This is helpful when deploying contracts to a local node, the wallet user does not have to manually update the RPC URL in TezBridge. The application can inform TezBridge what node to use, offering a better user experience.
Documentation
We continue to add and improve documentation for Taquito. Feel free to file Issues for features or missing documentation!
Bug fix for null in optional params
Also checkout our new docs on calling smart contracts with complex parameters: https://tezostaquito.io/docs/complex_parameters
New API for Apps to interact with Wallets, and a new Michelson codec package
Changes
Wallet API
A new API for making requests to Wallets.
The new Taquito Wallet API is designed to interact with wallets, and it supports Beacon, the TZIP-10 standard. Read more about this API here: https://medium.com/@jevonearth/the-start-of-a-better-dapp-wallet-story-for-tezos-7538a399724e
New Michelson parser / codec with validation and macro expansion
We have published a brand new package that allows you to encode and decode between "plain" Michelson and Michelson in JSON representation. This is a standalone implementation with no external dependencies. It offers Michelson Macro expansion and Michelson validation using TypeScript Types.
This makes originating Smart Contracts in plain Michelson easy, previously you had to do tezos-client command-line gymnastic to convert & expand plain Michelson to JSON Michelson.
You can now write pass the initial storage of your contract using plain Michelson.
Reading and displaying Michelson code and storage from on-chain contracts is now super simple. You can even configure formatting options for pretty printing.
This package replaces thesexp2mic
and ml2mic
methods, which have now been removed from the Taquito codebase.
Documentation
We are working hard on improving documentation. We have published docs for Estimation and Validation on our website, and we have improved the TypeDoc API documentation for these features also. Documentation for InMemorySigner has been improved with more examples.
Remote Signer signature validation
The Remote Signer implementation now validates that signatures match against the public key. Test coverage for the Remote Signer has been increased.
Integration Tests
Integration tests have been sped up significantly by using a special key API that issues throw away secret keys. This allows integration tests to run in parallel, as each account has its own counter. When running tests with a faucet key, the tests must run synchronously, waiting for a new block for each test. We will release the aforementioned key API sometime in the future.
Others
- Update deps. Taquito now builds using Typescript 3.9.5
- The
hexNonce
function has been removed fromtaquito-utils
. This function was not in use, and of little value. - getBigMapKey has been deprecated in the Tezos RPC in favour of getBigMapKeyByID.
- Fixed a bug where explicit limits were ignored by the estimator
- Website live code examples have the key boilerplate hidden, allowing the reader to focus more on the code.
v6.1.1-beta.0 Release Notes
Changes
Tezos.importKey()
has been marked as deprecated. Please update your application code to use the importKey()
method from the @taquito/singer
package instead. The deprecated Tezos.importKey()
method will be removed in a future release.
import { importKey } from '@taquito/signer';
Documentation
All run-able code examples that broadcast operations now all target carthagenet
.
Several improvements to documentation. The TypeDoc API docs are now more prominently linked from within our documentation website
Removal of streamer and indexer packages
The streamer and indexer packages have been removed
Improvements & Fixes
Pairs as keys (Breaking changes)
v6.1.0-beta.0 Release Notes
Features
(Breaking Change) Support for complex keys in Map and BigMap
This release introduces a breaking change to Map and BigMaps. In the forthcoming protocol "Carthage/006_PsCARTHA", it is possible to use a complex type composed of a pair as a key in a Smart Contracts Map or BigMap. This type of key isn't useable in Javascripts Map objects.
This release introduces MichelsonMap()
class that provides an abstraction over these details.
Existing code that accesses Map or BigMap storage via the Taquito data abstraction in the following fashion:
const account = storage.accounts["tz2Ch1abG7FNiibmV26Uzgdsnfni9XGrk5wD"]
Must be updated to use the get()
and set()
methods as follows;
const account = storage.accounts.get("tz2Ch1abG7FNiibmV26Uzgdsnfni9XGrk5wD")
Additionally, if existing code initializes storage (during contract origination for example), this code must be updated. One can create a new MichelsonMap()
as follows:
const map = new MichelsonMap()
map.set({firstName:"Joe", lastName: "Bloe"}, "myValue")
Tezos.contract.originate({
code: myContractWithAPairAsKeyCode,
storage: map
})
Or one can also use the fromLiteral
convenience method, as illustrated below.
Tezos.contract.originate({
code: assertContractCode,
storage: {
owner: "tz2Ch1abG7FNiibmV26Uzgdsnfni9XGrk5wD",
accounts: MichelsonMap.fromLiteral({
"tz2Ch1abG7FNiibmV26Uzgdsnfni9XGrk5wD": {
balance: "1",
allowances: MichelsonMap.fromLiteral({
"tz3YjfexGakCDeCseXFUpcXPSAN9xHxE9TH2": "1"
})
}
})
}
})
A pair can by uses as a key as follows:
map.set({firstName:"Joe", lastName: "Bloe"}, "myValue")
storage.get({firstName:"Joe", lastName: "Bloe"})
Documentation
New documentation covering how to interact with Smart Contracts using Taquito https://tezostaquito.io/docs/smartcontracts/
Improvements & Fixes
- Add a
UnitType
symbol to theMichelsonEncoder
[#221][#221] - Improved test coverage throughout the project
- Represent all Operation kinds as an ENUM
- Fix for handling of Zarith numbers as reported by Doyensec's security audit #264
- Validate entrypoint name length as reported by Doyensec's security audit #265
- Improve multi-sig integration test example
- Add the mutez option in send method for Smart contract abstraction #255
CDN Bundle
<script src="https://unpkg.com/@taquito/[email protected]/dist/taquito.min.js"
crossorigin="anonymous" integrity="sha384-sk4V+57zLUCfkna8z4p1u6CioucJqmeo+QnaiXoFiuE8vdkm7/ae2TNFLbL+Ys02"></script>
Support Channels
We now have a public support channel dedicated to Taquito on KeyBase. It's a community channel where we provide support on a best effort bases. https://keybase.io/team/ecadlabs.taquito
We also encourage users of Taquito to post questions to the Tezos StackExchange site here: https://tezos.stackexchange.com/questions/tagged/taquito