github.com/mavryk-network/mvgo@v1.19.9/CHANGELOG.md (about) 1 # Changelog 2 3 ## v1.19.2 4 * Update Parisnet hash 5 * Update protocol history of ghostnet 6 7 ## v1.19.1 8 * Update Paris protocol to [ParisB2](https://research-development.nomadic-labs.com/parisB2-announcement.html) 9 10 ## v1.19.0 11 12 * BREAKING CHANGE: The cannonical import part has been changed from `blockwatch.cc` to `github.com/trilitech` 13 * Paris protocol support 14 * tezos: replaced `PreservedCycles` with `ConsensusRightsDelay` in params 15 * tezos: added attestation-style versions of op types 16 * tezos: default to attestation-style versions, using new op tags v3 17 * tezos: add new PVM version tags 18 * micheline: added D_TICKET opcode 19 * rpc: decode endorsement-style and attestation-style ops into Endorsement 20 * rpc: fetch attestation rights for proto v19+ 21 * rpc: add DalPublishCommitment op 22 * rpc: add DalAttestation field to block metadata 23 * rpc: add DalResult to operation metadata 24 * rpc: extend Delegate struct with new v19 fields 25 26 ## v1.18.4 27 28 * 2dc9fa0 | rpc: add missing balance update fields 29 30 ## v1.18.3 31 32 * 291607c | Simplify micheline json decoder 33 * 586f1bc | Add json tags to proposal model 34 * 2205ca9 | Fix links to dev tools 35 * b82e574 | rpc: handle empty block metadata level 36 37 ## v1.18.2 38 39 * 82d9374 | Fix genesis info struct 40 41 ## v1.18.1 (broken) 42 43 * 56291ca | Add genesis block helper 44 45 ## v1.18.0 46 47 * Oxford protocol support 48 * rpc: add adaptive issuance vote to block models 49 * rpc: extend balance updates with staker info 50 * rpc: add issuance rpc 51 * tezos: add oxfordnet hashes and setup 52 * codec: add staking operation codecs 53 * codec: fix block encoding 54 * codec: support block signing and block hash calculation 55 * tzcompose: add oxford staking tasks 56 * tzcompose: add double bake task 57 58 ## v1.17.4 59 60 * rpc: fix reading API key from config URL 61 * micheline: accept new opcodes as valid 62 63 ## v1.17.3 64 65 * cmd: add tzcompose alpha release 66 * rpc: dedicated logger instance per client 67 * rpc observer: return full BlockHeaderLogEntry in callback 68 * rpc observer: multiple subscriptions for the same op hash 69 * rpc observer: support block subscriptions (use zero op hash) 70 * micheline: new prim marshaler (type + Go map[string]any -> prim tree) 71 * micheline: new builder helpers for key hash, union, sorted map elements 72 * micheline: new prim compare, unpack ascii strings, yaml marshaler 73 * tezos: fix for sandbox deployments 74 75 ## v1.17.2 76 77 * accept non-manager ops as successful 78 * decode block monitor protocol data 79 * fix endorsement encoding 80 * add methods to page through bigmap values 81 * add Micheline path setters 82 * skip empty annotations on variadic prims in JSON output 83 * extend Micheline typedef with path info 84 * add TzGen tech preview (a contract interface code generator for Tezos) 85 * remove Mumbainet hashes, config and references 86 87 ## v1.17.1 88 89 * change gas simulation to `/helpers/scripts/simulate_operation` for better future estimates 90 * new `CallOptions.ExtraGasMargin` arg for manual override of the default (100) 91 * new `CallOptions.SimulationOffset` arg to control future block offset 92 * new `Client.SimulateOperation()` method to simulate execution at a future block 93 94 ## v1.17.0 95 96 * add Nairobi and Nairobinet constants 97 * update smart_rollup_cement parameters to Nairobi changes 98 * fix accounting for internal origination allocation burn 99 * update secp256k1 package 100 * add storage limit safety margin (100 byte) 101 * fix some Micheline translation bugs for nested list/comb-pair ambiguities 102 * fix decoding for some single-value entrypoints 103 * support MVGO_API_KEY env variable 104 105 ## v1.16.6 106 107 * sanitize params handling to prevent uninitialized values 108 * fix vote result decoding which changed in new protocol releases 109 * remove token address IsValid() function as token identity is always valid now (including zero contract hash, zero token id which apps may use for special meaning, e.g. representing tez) 110 111 ## v1.16.5 112 113 * fix deployment database scan required for static param init 114 115 ## v1.16.4 116 117 * backport params helpers for block/cycle calculations 118 * add a refactored version of a hard-coded protocol activation database 119 120 ## v1.16.3 121 122 * fix Micheline type compare for nested optional structs 123 * fix watermarks for block and consensus op signing 124 125 ## v1.16.2 126 127 * working fix for crashes when decoding illegally typed Micheline values 128 129 ## v1.16.1 130 131 * incomplete fix for crashes when decoding illegally typed Micheline values 132 133 ## v1.16.0 134 135 Refactoring and Mumbai support 136 137 BREAKING: Note that due to a new internal address encoding data written by binary marshalers from earlier versions of MvGo is incompatible. 138 139 * Changed memory layout and interface for all hash types and `mavryk.Address` to save 24 bytes per address/hash that was previously required for a byte slice header 140 - hashes and addresses directly comparable now and can thus be used as Golang Map keys 141 - renamed `Address.Bytes()` to `Encode()` 142 - renamed `Address.Bytes22()` to `EncodePadded()` 143 - use `Address.Decode(buf []byte)` instead of `UnmarshalBinary()` for reading binary encoded addresses 144 * Simplified `mavryk.Params` removing unused fields and protocol deployment handling 145 * Added smart rollup support to rpc and codec packages 146 * Added binary encoders for new operations since Lima 147 - `drain_delegate` 148 - `increase_paid_storage` 149 - `set_deposits_limit` 150 - `update_consensus_key` 151 - `transfer_ticket` 152 - `smart_rollup_add_messages` 153 - `smart_rollup_cement` 154 - `smart_rollup_originate` 155 - `smart_rollup_execute_outbox_message` 156 - `smart_rollup_publish` 157 - `smart_rollup_recover_bond` 158 - `smart_rollup_refute` (incomplete) 159 - `smart_rollup_timeout` 160 - `dal_attestation` 161 - `dal_publish` 162 163 ## v1.15.0 164 165 Lima support 166 167 * Separate transfer_ticket op from rollup 168 * Add new delegate fields 169 * Add new block metadata fields 170 * Add ticket receipts 171 * Add Lima opcodes 172 * Add deposit entrypoint 173 * Add Lima constants and update params 174 * Update block header to Lima convention 175 * Add Lima op types, tags and op handlers for `drain_delegate` and `update_consensus_key` 176 177 Other changes 178 179 * Don't clone primitive trees when used in Micheline Value 180 * Export Micheline typdef match 181 * Fix setting amount in TxArgs.Encode 182 * Cache head block ops in observer to avoid race conditions 183 * improve base58 performance 184 * Disable balance_of type check for tz12 185 * Allow setting metadata mode as client config 186 * Add token address type 187 * Add bigmap event filter 188 * Fix observer hashval reset 189 190 ## v1.14.2 191 192 * Add Micheline map builder helpers 193 * Add Zarith number arithmetics functions 194 * Improve FA1 and FA2 token helpers 195 196 ## v1.14.1 197 198 * Fix costs calculation for internal gas 199 200 ## v1.14.0 201 202 * Simplify protocol constants (drop constants not required for indexing or to send txs) 203 * Add Kathmandu EMIT opcode 204 * Add parsing for Kathmandu events 205 * Add parsing for Kathmandu ops `vdf_revelation` and `increase_paid_storage` 206 * Add op type enums and tags for Kathmandu TORU, SCORU and DAL ops 207 * Fix block offset calculations (regression from 1.13.2) 208 * Improve Micheline type handling (nested lists) 209 * Fix fee estimation 210 * Add Zarith helpers 211 * Improve bigmap detection from Micheline value 212 * Add simple Micheline type checker 213 214 ## v1.13.2 215 216 * Don't use zero address for contract deployments 217 * Fix transaction burn accounting 218 * Fix origination burn accounting 219 * Remove unnecessary start block offsets from recent testnet configs 220 * Fix RPC execution receipt error handling 221 * Add simple Zarith arithmetic funcs 222 * Add log to contract package 223 * Fix negative block offset in RPC 224 * Add Deku contract address support 225 * Harden address set against hash collisions 226 * Read more token metadata 227 * Improve decoding Go structs from Micheline primitives 228 * Improve bigmap detection 229 * Fix ghostnet start cycle 230 231 ## v1.13.1 232 233 * Add Ghostnet support 234 * Clear old code after constants have been expanded 235 * Handle top-level constant in script code 236 * Update value render testdata 237 * Skip hashing invalid prims 238 * Add jakarta to list of mainnet protocols 239 240 241 ## v1.13.0 242 243 * Add method to expose token uri 244 * Support gas/milligas selection 245 * Rollup data decoding 246 * Rename nft ledger types 247 * Add IPFS url helper 248 * Improve typedefs 249 * Calculate block in cycle position 250 * Fix marshal empty primitive 251 * Fix Jakarta voting power change 252 * Add noview token type 253 * Add fa2 balance helper 254 * Make call args chainable 255 * Add mumav prim helper 256 * Support address add/list for remote signer 257 * Fix merging params 258 * Fix min fee, add min-fee helper 259 * Client function to read contract balance 260 * Expose contract errors 261 * Fix RPC run call 262 * Add call option to select BlockID when simulating operations 263 * Fix writing binary block header 264 * Simple rollup RPC support 265 * Add cycles per vote period constant 266 * Add ticket value wrapper 267 * Add LB toggle vote 268 * Fix bootstrap protocol identification 269 * Add Jakarta support (params, hashes, opcodes, op types) 270 * Fetch chain id if not yet set 271 * Refactor lazy bigmap updates 272 * Fix initializing chain params in RPC client 273 * Preserve API key privacy 274 * Fix BSON protocol data decode and encode 275 276 ## v1.12.3 277 278 * Add quipuswap pool example 279 * Add remote signer example 280 * Fix remote signer package name 281 * Improve path extraction from raw Micheline 282 * Fix getting integers from Value 283 * Add decimal string export to Zarith numbers 284 * Improve contract and token handling 285 * Fix generic signature bytes output 286 * Decode contract and token metadata 287 * Support run_code execution 288 * Add IPFS Url and allow access to http client 289 290 ## v1.12.2 291 292 * Add method to create TxArgs 293 * Add default testnet params 294 * Allow custom contract calls via TxArgs 295 * Read contract address after origination 296 * Avoid double fee estimation during Send() 297 * Add a remote signer client 298 * Refactor signer interface for compatibility with remote signers 299 300 ## v1.12.1 301 302 * Add simple transfer example 303 * Refactor tx and contract call sending 304 * Add FA examples and convenience methods 305 * Add in-memory signer 306 * Support more tenderbake op type changes, add tests 307 * Refactor params loading to avoid uninitialized chain id 308 * Add base tests 309 * Optimize primitive JSON encoding 310 * Add prim size counter 311 * Add optimized script decoder 312 * Default to Ithaca 313 * Improve encoding performance 314 * Fix vesting contract test case 315 * Fix translating embedded Elts in bigmap origination data 316 * Fix comparing zero length annots 317 * Cleanup old protocol settings 318 * Update entrypoint testcases 319 * Update testcases to new bigmap ptr type 320 321 ## v1.12.0 322 323 * Rename entrypoint call to name 324 * Use uint64 for script and storage hashes 325 * Use int64 as bigmap pointers 326 * Add schema decode helper 327 * Update rights RPC call 328 * Add known burn address 329 * Fix imports 330 * Add initial NFT ledger unmarshalling support 331 * Add type checked prim path getters 332 * Remove deprecated hashes and flags 333 * Support Ithaca snapshot RPC, cleanup params 334 * Support pre-Carthage contract flags 335 * Add helper functions to hashes 336 * Remove v002 bug handling, support Ithaca snapshot offset change 337 * Remove indexer-centric operation types 338 * Fix set deposits limit encoding 339 340 ## v1.12-rc1 341 342 - Refactored wallet functionality into rpc package 343 - Refactored op construction 344 - Refactored cost and limit types 345 - Initial contract and token support 346 - Added Ithaca constants, hashes, types and RPC updates 347 348 ## v1.11-rc0 349 350 This is the first release of MvGo that allows sending transactions. All types and interfaces are engineered to be easily composable. We start with essential low level types/functions for public and private key handling, operation encoding/signing/broadcast and mempool/block monitoring. This feature set is already fully sufficient to build end-user applications including the possibility to send smart contract calls, but may at times be less convenient. To simplify complex use cases we will introduce higher order functionality in the next release candidate. 351 352 **Package `tezos`** 353 354 - New: parse, generate, sign, verify operations Ed25519, Secp256k1 and P256 private and public keys 355 - New: reading and writing of encrypted keys 356 - New: explicit EndorsementWithSlot support 357 - Refactored Zarith encoder, added unsigned Zarith type 358 359 **Package `micheline`** 360 361 - Refactored transaction parameter encoding 362 363 **Package `rpc`** 364 365 - New: POST requests to forge, simulate and broadcast operations 366 - New: calls accept interface type `BlockID` which can be 367 - `BlockAlias` (genesis or head) 368 - `BlockLevel` an int64 369 - `mavryk.BlockHash` for named blocks 370 - `BlockOffset` for offsets from a BlockID 371 - New: `MempoolMonitor` to monitor new mempool transactions 372 - Refactored `Mempool` type to return the same Operation type like block calls 373 - Refactored contract, rights and vote calls for consistent naming and parameters 374 - Refactored operations 375 - renamed `OpKind()` into `Kind()` 376 - renamed `RevelationOp` into `Reveal` and removed `..Op` suffix from all types 377 - renamed `Origination.Manager()` into `Origination.ManagerAddress()` 378 - unified operation metadata and results 379 - added helpers to extract metadata, result and costs from typed interface 380 381 **Package `encoding`** 382 383 - New package for operation construction and serialization 384 385 **Package `wallet`** 386 387 - New package for account and operation management 388 - New types `Result`, `FutureResult ` and `Cost` to work with forge/simulate/broadcast results 389 - New `Monitor` to observe transaction completion 390 391 ### Breaking changes 392 393 - RPC functions now use `BlockID` (BlockLevel, BlockHash, BlockOffset) to reference a block, all related functions that used to take a block height or hash now take a BlockID 394 395 ## v0.11 396 397 Micheline 398 - renamed `SearchEntrypointName()` to `ResolveEntrypointPath()` 399 - support on-chain views in script 400 - support global constant detection and injection into script 401 - support timelock detection and types 402 - add new type `View` and related helper functions