Skip to content

Taquito v20.0.0

Compare
Choose a tag to compare
@dsawali dsawali released this 31 May 21:17

Summary

Paris(B) Protocol Support

Paris(B) Protocol has new Adaptive Issuance features, including staking pseudo-operations and rpc endpoints.

⚠️ Warning ⚠️
Adaptive Issuance, Staking, and Adaptive slashing will be in effect roughly two weeks (5 cycles) after the proposal is activated on Mainnet. The new AI features will not be usable until then.

⚠️ Breaking Changes ⚠️

Beacon Migration

As of Beacon version 4.2.0, Beacon has migrated from using dAppClient.getActiveAccount() to using an event subscription method BeaconEvent.ACTIVE_ACCOUNT_SET for handling active account changes.

IF YOU ARE STILL USING THE eventHandlers PROPERTY WHEN INITIALIZING A DAPP CLIENT, PLEASE UPDATE YOUR CODE.

const wallet = new BeaconWallet(options);
await wallet.client.subscribeToEvent(BeaconEvent.ACTIVE_ACCOUNT_SET, (data) => {
    // your logic to update your state
    console.log(data.address);
    console.log(data.network.type);
});
await wallet.requestPermissions();

Michelson-encoder

We fixed a bug in @taquito/Michelson-encoder when there are nested pair and or without having annots consistently; the indexing key will have unexpected behaviour as below. This is an API behaviour-breaking change; if your dApp depends on the old behaviour or changing is too much effort, you can configure your TezosToolkit with Tezos.setFieldNumberingStrategy('Legacy') to keep the previous behaviour. But please note that this option might be removed in a future release.

Previous behaviour - inner object's field numbers depend on the object's location in its parent, and start with '2'

{
  '0': 'firstValue',
  '1': 'secondValue,
  '2': {
   '2': 'thirdValue',
   '3': 'fourthValue'
  }
}

New behaviour - inner object's field number will start with '0'

{
  '0': 'firstValue',
  '1': 'secondValue,
  '2': {
   '0': 'thirdValue',
   '1': 'fourthValue'
  }
}

New Features

  • @taquito/taquito - Added staking pseudo operations (stake, unstake, finalize_unstake) to the Contract API. This includes support for prepareProvider, estimationProvider, and rpcContractProvider #2886
  • @taquito/taquito - Added staking related pseudo operations (stake, unstake, finalize_unstake) to the Wallet API #2921
  • @taquito/rpc - Added various RPC endpoints related to Adaptive Issuance (Staking) #2676 #2678
  • @taquito/rpc - Updated return types for several RPC endpoints related to the Paris protocol update #2887
  • @taquito/rpc - Removed getEndorsingRights RPC endpoint along with its related type definition and tests #2884
  • @taquito/rpc - Updated RPC types for AttestationWithDal and EndorsementWithDal #2880
  • @taquito/rpc - Updated RPC response types to support DAL types #2882
  • @taquito/rpc - Updated RPC response type for the new manager op dal_publish_commitment #2881
  • @taquito/rpc - Added a new RPC endpoint called getAllDelegates #2976
  • @taquito/local-forging - Added local forging support for AttestationWithDal operation #2880
  • @taquito/local-forging - Added local forging support for the new manager operation dal_publish_commitment #2881
  • @taquito/michel-codec - Updated Michelson type definitions and validators to include the new Paris protocol ticket literals PR#2940

Internals

  • Updated protocol constants integration test for Paris protocol #2869
  • Configured keygen and integration test configs for Paris protocol #2888
  • Added forger integration test for protocol migrations #2850
  • Updated @taquito/beacon-wallet to use event subscription instead of getActiveAccount() #2958
  • Updated some website dependencies PR#2961
  • Updated Beacon wallet dependency to the latest version v4.2.2 (includes Paris protocol definitions) PR#2956
  • Fixed nested pair and or indexing bug #2927
  • Added a test-dapp case to transfer ghostnet tez to etherlink address #2944
  • Updated the Paris protocol hash to reflect the latest Octez fix PR

Documentation

  • Updated documentation for new Adaptive Issuance related features PR#2928
  • Added Tezos Foundation public testnet nodes to rpc_nodes on website #2933

@taquito/taquito - Added staking pseudo operations (stake, unstake, finalize_unstake) to the Contract API

const op = await Tezos.contract.stake({
  amount: 100
});
await op.confirmation();

@taquito/taquito - Added staking pseudo operations (stake, unstake, finalize_unstake) to the Wallet API

const op = await Tezos.wallet.stake({
  amount: 100,
  mutez: false
}).send();
await op.confirmation();