Galleon v0.8.0b — Release Notes
Originally published on IPFS via Pheme.
We are back with a brand new release of Tezori / Galleon. In this release, we added support for smart contract interactions and made Galleon compatible with the new Cryptonomic infrastructure. Click the link below to get it!
Smart Contract Interactions
At Cryptonomic we believe that smart contracts might become a big part of our daily digital lives. To help the community carry Tezos to this future, we wanted to do our part and make interacting with smart contracts easier for both users and developers. Starting with this release, Galleon users will be able to invoke smart contract functions through their wallets. Tezos developers, on the other hand, will be able to deploy their contracts using Galleon and add these new contracts as shortcuts to their wallets for easier interaction.
It is important to note that we couldn’t include the final versions of the language parsers — tools used for transforming one coding language to another.
Michelson to Micheline
Before we discuss the details of this parser, please allow us to briefly explain what Michelson and Micheline are. Michelson is the official smart contract language of Tezos and Micheline is a special JSON formatted version of Michelson, which can be interpreted by a Tezos Node.
We have been working on this parser for quite some time now. The parser we implemented is capable of transforming Michelson into Micheline with high accuracy, but it is just not yet complete. Therefore, in this version of Galleon, smart contract interactions will be limited to Micheline. However, we are working very hard on finalizing this parser and hoping to do another minor release soon, which will allow our users to deploy and invoke smart contracts using Michelson.
Micheline to Hex
Parsing Micheline into Hex is another challenge. Although this parser does not have any impact on the usability of Galleon, it has a lot of impact on the security of it. A couple of months ago, the Tezos community was warned of a vulnerability called the Blind-Sig Attack found in most Tezos wallets. Along with many other wallet providers, we made Galleon resistant to this attack for delegation, regular transaction and regular origination operations. By regular, we mean transactions and originations which do not contain parameters or scripts. Adding smart contract support to Galleon means adding support for transactions with parameters (smart contract invocations) and originations with scripts (smart contract origination). To make Galleon resistant to the Blind Sig attack for these operation groups, we must finish our work with our Micheline to Hex parser, which also will need some more time. That is why, when you try to interact with a smart contract, you will be shown a security notice, which you should approve to continue.
Micheline to Michelson
Yet another parsing challenge is converting Micheline to Michelson. This parser has no direct impact on usability or security in Galleon but adds convenience. If you are a developer and if you choose Galleon to deploy your contract, you will get a shortcut to interact with it. Without this parser, we are unable to properly format the code nor the storage of your smart contract. Therefore, in this version, when you try to view the storage or code of your contract in Galleon, you will see a “Coming Soon…” message.
Ledger Nano S
Ledger Nano S devices are also not yet capable of parsing any parameters or scripts. If you plan on using the Ledger Nano S to interact with smart contracts, almost every time you try to sign an operation (unless you leave the parameters section blank) you will see “Unrecognized Operation, Sign Unverified?” message instead of the details to your operation. Since signing an unverified message is against the security practice of Ledger Nano S devices, we ask our users to sign these operations at their own risk.
We are hoping to fix all parser problems, except the Ledger Nano S one, with our next minor release. We don’t have an estimate on the Ledger device fix since it depends on the help of our good friends at Obsidian Systems. Thank you for your patience!
The second major change we are releasing in this version does not have any direct effects on our users just yet. Starting with this release, Galleon will be compatible with Conseil & ConseilJS v2 APIs. One of the biggest advantages of this change is the increased performance and stability of Galleon’s servers. Further advantages will be visible to the users in the next major release of Galleon, where we will allow bakers to vote on proposals, and users to track the voting results real-time through their wallets. As it is highly possible that the roll size will decrease in just a couple of months, we are expecting new individual bakers to join the ecosystem and benefit from Galleon’s voting UI.