Changelog
- change gas simulation to
/helpers/scripts/simulate_operation
for better future estimates - new
CallOptions.ExtraGasMargin
arg for manual override of the default (100) - new
CallOptions.SimulationOffset
arg to control future block offset - new
Client.SimulateOperation()
method to simulate execution at a future block
- add Nairobi and Nairobinet constants
- update smart_rollup_cement parameters to Nairobi changes
- fix accounting for internal origination allocation burn
- update secp256k1 package
- add storage limit safety margin (100 byte)
- fix some Micheline translation bugs for nested list/comb-pair ambiguities
- fix decoding for some single-value entrypoints
- support TZGO_API_KEY env variable
Refactoring and Mumbai support
BREAKING: Note that due to a new internal address encoding data writting using binary marshalers with earlier versions of TzGo is incompatible.
- Changed memory layout and interface for all hash types and
tezos.Address
to save 24 bytes per address/hash that was previously required for a byte slice header- hashes and addresses directly comparable now and can thus be used as Golang Map keys
- renamed
Address.Bytes()
toEncode()
- renamed
Address.Bytes22()
toEncodePadded()
- use
Address.Decode(buf []byte)
instead ofUnmarshalBinary()
for reading binary encoded addresses
- Simplified
tezos.Params
removing unused fields and protocol deployment handling - Added smart rollup support to rpc and codec packages
- Added binary encoders for new operations since Lima
drain_delegate
increase_paid_storage
set_deposits_limit
update_consensus_key
transfer_ticket
smart_rollup_add_messages
smart_rollup_cement
smart_rollup_originate
smart_rollup_execute_outbox_message
smart_rollup_publish
smart_rollup_recover_bond
smart_rollup_refute
(incomplete)smart_rollup_timeout
dal_attestation
dal_publish
- fix for crashes when decoding illegally typed Micheline values
- fix watermarks for block and consensus op signing
- fix Micheline type compare for nested optional structs
- Lima changes
- Kathmandu changes
- Jakarta changes
This release contains our finalized stable interface for sending transactions and smart contract calls. In the meantime, Tezos also adopted the Ithaca upgrade for which we added several additional changes.
- Ithaca changes
- support Ithaca rights and snapshot info RPC calls and changes to content
- new operation types and changes to existing types such as
preendorsement
,endorsement
,double * evidences
,set deposist limit
- new Micheline opcode
SUB_MUTEZ
- RPC extensions
- new cost and limits calculator
- improved transaction prepare, complete, simulate and send
- ability to execute contract views
- improved encoding/decoding performance for Micheline data
- Operation forging
- new
signer
package with a public interface (for 3rd parties to add custom signers) - in-memory signer implementation
- remote HTTP signer client
- flexible construction of operation groups
- minimum fee calculation and maximum fee protection
- auto completion of reveal operations
- auto completion of limits and ability to set custom limits
- family of helpers to easily send transfers, delegations, etc.
- Smart Contract extensions
- token type detection for FA1.2, FA2 and common NFT ledgers
- contracts deployment
- construction and sending of contract call
- execute off-chain contract views
- read off-chain view data for FA1.2 (
getBalance
,getTotalSupply
,getAllowance
) - read off-chain view data for FA2 (
balance_of
) - construct FA1.2 and FA2 transfers and approvals
This is the first release of TzGo that allows to send transaction. Our design is still in evolution and a few aspects will change before we craft a final release. We engineered all types and interfaces with maximum composability in mind. Start at essential low level types for public and private key handling, we added operation encoding/signing/broadcast and mempool/block monitoring. These features already sufficient to build end-user applications including the possibility to send smart contract calls, but may be less convenient. In a future release we will introduce higher order functionality that makes it easier and less verbose to send transactions and contract calls.
- extended package
tezos
with private key and message signing support - refactored transaction parameter encoding in
micheline
- new package
codec
for encoding Tezos operations - Refactored and extended package
rpc
- New: POST requests to forge, simulate and broadcast operations
- New: use interface type
BlockID
where a historic block may be specified, can either beBlockAlias
(genesis or head)BlockLevel
an int64tezos.BlockHash
for named blocksBlockOffset
for offsets from a BlockID
- New:
MempoolMonitor
to monitor new mempool transactions - Refactored
Mempool
type to return the same Operation type like block calls - Refactored contract, rights and vote calls for consistent naming and parameters
- Refactored operations
- renamed
OpKind()
intoKind()
- renamed
RevelationOp
intoReveal
and removed..Op
suffix from all types - renamed
Origination.Manager()
intoOrigination.ManagerAddress()
- unified operation metadata and results
- added helpers to extract metadata, result and costs from typed interface
Last modified 1mo ago