Skip to content

Releases: ecadlabs/taquito

Taquito v17.4.0

16 Nov 21:44
Compare
Choose a tag to compare

Potential Breaking Changes :
We have updated various dependencies to the latest version in this release. Please update and test our packages for compatibility. We encourage all users to get in touch with the Taquito team if you encounter any unexpected behaviours and/or side effects.

We also strongly encourage users to migrate to Node v18 for increased stability.

Summary

Documentation

  • Updated docs on flattening nested Michelson type pairs and unions #2458 #2328
  • Added docs to obtain operation hash before injecting an operation #2550
  • Added details of FA2 contract entrypoint balance_of param #2719
  • Updated Wallet API docs to include examples on subscribing to events emitted by Beacon #2707
  • Updated the Taquito test dApp to output events #2707

Internals

  • Updated various dependencies PR#2693 PR#2720
  • Added detectOpenHandles argument when running Flextesa integration tests as temporary workaround to Jest throwing circular JSON errors PR#2721

Taquito v17.3.2

14 Oct 00:01
Compare
Choose a tag to compare

Summary

  • Updated Beacon version to v4.0.12

Documentation

  • Updated website documentation to group sections by logical order instead of alphabetical #2665
  • Added detail for getBalance() method documentation that it returns balances in mutez #2495

Internals

  • Minor typo fix on variable name in RpcEstimateProvider PR#2669
  • Added @taquito/core as an explicit dependency on other packages PR#2673

Taquito v18.0.0-RC.0

29 Sep 22:45
Compare
Choose a tag to compare
Taquito v18.0.0-RC.0 Pre-release
Pre-release

Breaking Changes: (if applicable)

  • @taquito/rpc - Removed RPC method getOriginationProof() #2597

    • Batch API method withSmartRollupOriginate() now no longer needs originationProof as a parameter
    • Contract API method smartRollupOriginate() now no longer needs originationProof as a parameter
  • @taquito/local-forging

    • now supports attestation instead of endorsement. #2599
    • removed support of set_deposit_limit operation #2646
  • @taquito/rpc - Updated protocol constants in Taquito to support Oxford changes #2594

Summary

Oxford Support

  • @taquito/rpc - Updated RPC endpoints' return types for getDelegates() and getConstants() #2596
  • @taquito/rpc - RPC endpoints getBlock, preapplyOperations, runOperation, simulateOperation, getBlockMetadata now support RPCOptions of { version: 0 | 1 } (0 returns endorsement; 1 returns attestation) #2596
  • @taquito/rpc - RPC endopintsgetPendingOperations now support RPCOptions of {version: 1 | 2 } (1 returns applied & endorsement; 2 returns validated & attestation) #2596
  • @taquito/rpc - Removed RPC endpoint of getTxRollupInbox() and getTxRollupState() #2596
  • @taquito/local-forging - removed forging support for set_deposit_limit operation #2646

Internals

  • Updated integration test configs to support protocol Oxford PR#2632
  • Removed remaining tx_rollup references from Taquito #2650
  • Added timelock test case to our localForger tests #2653
  • Added @taquito/core as explicit dependency in all package.json PR#2673

Taquito v17.3.1

13 Sep 18:31
3eac921
Compare
Choose a tag to compare

Summary

  • This is a patch release to upgrade @airgap/beacon-sdk and @airgap/beacon-dapp packages to v4.0.10 PR#2649
  • Updating license to Apache-2.0 in package.json files PR#2636
  • Updated the ledger dependencies PR#2645
  • Applied dependency upgrades in website suggested by dependabot PR#2645

Taquito v17.3.0

30 Aug 23:30
Compare
Choose a tag to compare

A change in Licensing:
Taquito has moved from MIT to Apache 2.0.

Potential Breaking Changes:

  • Previously, an OrToken's EncodeObject method would accept an object with multiple fields. It now only accepts an object with a single field.
  • The generateSchema method in an OrToken with nested OrTokens (as well as ExtractSchema) would generate a schema object that was misleading and did not match what Execute created or EncodeObject accepted. This is now fixed and the behavior is consistent across all methods.
  • OrToken.Execute() used to throw OrTokenDecodingError in case of failure, but now will throw OrValidationError

Summary

New Features

  • @taquito/michelson-encoder - The OrToken's EncodeObject method now only accepts an object with a single field #2544

Bug Fixes

  • @taquito/michelson-encoder - A nested PairToken with a mix of fields with annots and fields without annots could generate the wrong javascript object with Execute #2540
  • @taquito/michelson-encoder - the generateSchema method in a nested OrToken now generates a schema that is consistent with Execute and EncodeObject #2543
const schema = {
    prim: 'pair',
    args: [
      {
        prim: 'pair',
        args: [
          {
            prim: 'pair',
            args: [{ prim: 'int' }, { prim: 'int' }],
            annots: ['%A3'],
          },
          { prim: 'int' },
        ],
      },
      { prim: 'bool' },
    ],
  };

  const michelineJson = {
    prim: 'Pair',
    args: [
      {
        prim: 'Pair',
        args: [{ prim: 'Pair', args: [{ int: '11' }, { int: '22' }] }, { int: '33' }],
      },
      { prim: 'True' },
    ],
  };
  const javaScriptObject = new Schema(schema).Execute(michelineJson);

Previously, this javaScriptObject would be equal to:

{
    2: true,
    A3: {
      0: 11,
      1: 22,
    },
}

But now it returns:

{
    1: 33,
    2: true,
    A3: {
      0: 11,
      1: 22,
    },
}

Internals

  • integration-tests config improvement #2163
  • update RPC urls to align with the updated infrastructure PR#2576 #2633

@taquito/michelson-encoder - Validate that an OrToken's EncodeObject method only accepts an object with a single field

Previously, an OrToken's EncodeObject method would accept an object with multiple fields. It now only accepts an object with a single field.

    const token = createToken({
        prim: 'or',
        args: [{ prim: 'int' }, { prim: 'string' }], annots: []
        }, 0) as OrToken;
    const javascriptObject = token.EncodeObject({ '0': 10, '1': '10' }));

Previously, this would return work and the result was the same as token.EncodeObject({ '0': 10, '1': '10' })). Now, this throws an error.

@taquito/michelson-encoder - For an OrToken with nested OrTokens, generateSchema behaved inconsistently with Execute and EncodeObject

Previously, generateSchema would generate a schema object that was misleading and did not match what Execute created or EncodeObject accepted. This is now fixed and the behavior is consistent across all methods.

const token = createToken(
  {
    prim: 'or',
    args: [
      {
        prim: 'bytes',
      },
      {
        prim: 'or',
        annots: ['A'],
        args: [
          {
            prim: 'or',
            args: [{ prim: 'int' }, { prim: 'nat' }],
          },
          { prim: 'bool' },
        ],
      },
    ],
  },
  0
) as OrToken;
const schema = token.generateSchema();

Previously, schema would be equal to:

{
    __michelsonType: "or",
    schema: {
        "0": { __michelsonType: "bytes", schema: "bytes" },
        "A": {
            __michelsonType: "or",
            schema: {
                "1": { __michelsonType: "int", schema: "int" },
                "2": { __michelsonType: "nat", schema: "nat" },
                "3": { __michelsonType: "bool", schema: "bool" }
            }
        }
    }
}

Which was inconsistent with what Execute created and what EncodeObject accepted.
Now it is:

{
    __michelsonType: 'or',
    schema: {
        0: { __michelsonType: 'bytes', schema: 'bytes' },
        1: { __michelsonType: 'int', schema: 'int' },
        2: { __michelsonType: 'nat', schema: 'nat' },
        3: { __michelsonType: 'bool', schema: 'bool' },
    },
}

Taquito v17.2.0

10 Aug 21:57
8fe3376
Compare
Choose a tag to compare

Potential Breaking Changes :
Further improved error classes
- In @taquito/sapling InvalidMerkleRootError is renamed to InvalidMerkleTreeError
- In @taquito/sapling InvalidParameter is renamed to SaplingTransactionViewerError
- In @taquito/michel-codec InvalidContractError is renamed to InvalidMichelsonError

Summary

New Features

  • Added new RPC endpoint simulateOperation #2548
  • Added support for signing failingNoop operation in Contract API and Wallet API #952 #2507

Bug Fixes

  • Updated sapling live code example contract on website #2542

Improvement

Improved error classes for the following packages:
- @taquito-sapling #2568
- @taquito-michel-codec #2568

Documentation

  • Updated local forger documentation #2571
  • Adjusted website wallet page design and removed website lambda view page broken link #1652

Internals

  • Updated beacon dependency to v4.0.6 #2584
  • Updated estimation process to use simulateOperation() instead of runOperation() #2548
  • Updated website dependencies PR#2587

@taquito/taquito - Add support of failing_noop operation in Contract and Wallet API

Taquito now supports the failing_noop operation

const Tezos = new TezosToolkit(rpcUrl);

Tezos.setWalletProvider(wallet)
const signedW = await Tezos.wallet.signFailingNoop({
arbitrary: char2Bytes("Hello World"),
basedOnBlock: 0,
});

Tezos.setSignerProvider(signer)
const signedC = await Tezos.contract.signFailingNoop({
arbitrary: char2Bytes("Hello World"),
basedOnBlock: 'genesis',
});

@taquito/rpc - Add support of simulateOperation RPC call

const Tezos = new TezosToolkit(rpcUrl)
let account ='tz1...'
let counter = Number((await Tezos.rpc.getContract(account, {block: 'head'})).counter)
const op = {
  chain_id: await Tezos.rpc.getChainId(),
  operation: {
    branch: 'BLzyjjHKEKMULtvkpSHxuZxx6ei6fpntH2BTkYZiLgs8zLVstvX',
    contents: [{
      kind: OpKind.TRANSACTION,
      counter: (counter + 1).toString(),
      source: account,
      destination: account,
      fee: '0',
      gas_limit: '1100',
      storage_limit: '600',
      amount: '1',
    }]
  }
};

let simulate = await Tezos.rpc.simulateOperation(op)).contents[0]

Taquito v17.1.1

26 Jul 20:42
8f685d3
Compare
Choose a tag to compare

Summary

This is a patch release to fix a potential issue with verifySignature() and hex2buf() util method.

Bug Fixes

  • Fixed a potentially exploitable behaviour where verifySignature() was allowing an appended character to a message payload and still verify the signature correctly. It has now been fixed to validate against odd length characters #2578

Taquito v17.1.0

12 Jul 20:44
Compare
Choose a tag to compare

Potential Breaking Changes

  • Updated RxJS version from v6.6.3 to v7.8.1
  • Updated TS version into v4.2.4
  • Please be wary due to the RxJS version upgrade, we've been seeing intermittent timeouts when testing against a Flextesa sandbox. This behaviour is not present when using it against a regular node (Mainnet, Nairobinet, etc). We are still investigating what the cause might be. #2261

Some other subtle changes that might affect some developers:

  • In @taquito/taquito - IntegerError is renamed to InvalidBalanceError
  • In @taquito/taquito - PrepareProvider used to throw RevealEstimateError now will throw PublicKeyNotFoundError
  • In @taquito/tzip-16 - MetadataNotFound is renamed to ContractMetadataNotFoundError
  • In @taquito/tzip-16 - InvalidMetadata is renamed to InvalidContractMetadataError
  • In @taquito/tzip-16 - InvalidMetadataType is renamed to InvalidContractMetadataTypeError
  • In @taquito/tzip-16 - BigMapMetadataNotFound is renamed to BigMapContractMetadataNotFoundError
  • In @taquito/tzip-16 - UriNotFound is renamed to UriNotFoundError
  • In @taquito/tzip-16 - InvalidUri is renamed to InvalidUriError
  • In @taquito/tzip-16 - ProtocolNotSupported is renamed to ProtocolNotSupportedError
  • In @taquito/tzip-16 - UnconfiguredMetadataProviderError is renamed to UnconfiguredContractMetadataProviderError
  • In @taquito/tzip-16 - ForbiddenInstructionInViewCode is renamed to ForbiddenInstructionInViewCodeError

Summary

New Features

  • Exposed the injector to be customizable from the TezosToolkit class #1344

Improvement

  • Simplified generated Lambda for transferToContract PR#2404
  • Improved error classes for these following packages:

Internals

  • Updated version dependencies for Sass and Dotenv in /website PR#2560

Taquito v17.1.0-beta-RC.1

11 Jul 23:54
Compare
Choose a tag to compare
Pre-release

Potential Breaking Changes

  • Updated RxJS version from v6.6.3 to v7.8.1
  • Updated TS version into v4.2.4
  • Please be wary due to the RxJS version upgrade, we've been seeing intermittent timeouts when testing against a Flextesa sandbox. This behaviour is not present when using it against a regular node (Mainnet, Nairobinet, etc). We are still investigating what the cause might be. #2261

Summary

New Features

  • Exposed the injector to be customizable from the TezosToolkit class #1344

Improvement

  • Simplified generated Lambda for transferToContract PR#2404
  • Improved error classes for these following packages:

Internals

  • Updated version dependencies for Sass and Dotenv in /website PR#2560

Taquito v17.0.0

09 Jun 23:00
b744498
Compare
Choose a tag to compare

Potential Breaking Changes

Protocol Nairobi comes with a couple potential breaking changes for our users:

  • @taquito/taquito - Update gas limit changes that pertains to each different curve in Protocol N #2447
  • @taquito/rpc - Update operation result of sc_rollup_cement_result to have the newly added field #2448
  • Changed error class names #2505 :
    • @taquito/remote-signer - KeyNotFoundError renamed to PublicKeyNotFoundError
    • @taquito/remote-signer - PublicKeyMismatch renamed to PublicKeyVerificationError
    • @taquito/remote-signer - SignatureVerificationFailedError renamed to SignatureVerificationError

Summary

Nairobi Support

  • @taquito/taquito - Update gas limit changes that pertains to each different curve in Protocol N #2447
  • @taquito/rpc - Update operation result of sc_rollup_cement_result to have the newly added field #2448

New Features

  • @taquito/taquito & @taquito/michelson-encoder- Introduced a new feature called EventAbstraction that provides an abstraction to Events, similar to ContractAbstraction #2128

Bug Fixes

  • @taquito/taquito - Fixed contract call estimation to check for unrevealed keys #2500

Testing

  • Fixed ballot operation testing to have a dynamic wait #2403

Improvement

  • Further improved error classes and updated error class hierarchy for the following packages #2509 & #2505:
    • @taquito/http-utils
    • @taquito/contracts-library
    • @taquito/beacon-wallet
    • @taquito/ledger-signer
    • @taquito/remote-signer
  • Improved error capturing/validation for RPC calls #1996

Documentation

  • Added docs for making contract calls with JSON Michelson as a workaround to limitations that are introduced by complex contract call parameters #2443

Internals

  • Upgrade netlify-cli package to fix CI issues PR#2496