Skip to content

Releases: ecadlabs/taquito

Taquito v16.1.0

10 Apr 21:40
Compare
Choose a tag to compare

Summary

  • @taquito/rpc - Added RPC endpoint to add pending transactions in mempool #2382
  • @taquito/rpc - Added support for types of smart rollup operations in the RPC package #2409
    • smart_rollup_publish
    • smart_rollup_cement
    • smart_rollup_recover_bond
    • smart_rollup_refute
    • smart_rollup_timeout
  • @taquito/taquito - Added support for contractCall() in the estimate provider #2019
  • @taquito/taquito - Added support for smart_rollup_originate operation #2306
  • @taquito/taquito - Added utility functions in prepare provider to accomodate forging and operation pre-apply (dry runs) #2256
  • @taquito/local-forging - Added support for set_deposits_limit in the local forger PR #2237

Bug Fixes

  • Fixed a bug with the Prepare Provider where operation counters get carried over in subsequent method calls #2425

Documentation

  • Fixed typo in Taquito README PR #2275
  • Updated example in signing documentation PR #2399
  • Added Exaion node as a commercial provider PR #2401

@taquito/rpc - Added RPC endpoint to add pending transactions in mempool

This RPC endpoint returns the list of prevalidated operations in the mempool. Note that accessibility of the mempool depends on each Node.

await rpcClient.getPendingOperations();

@taquito/taquito - Added support for contractCall() in the estimate provider

The estimate provider now supports estimates for contract calls directly, and is usable as such:

const contract = await Tezos.contract.at(contractAddress!);
const opEntrypoint = contract.methods.default(5);
const estimate = await Tezos.estimate.contractCall(opEntrypoint);

@taquito/taquito - Added smart_rollup_originate operation support

Added support in the contract provider to inject smart_rollup_originate operations

const op = await Tezos.contract.smartRollupOriginate({
  pvmKind: PvmKind.WASM2,
  kernel: ${KERNEL_VALUE} ,
  parametersType: { prim: 'bytes' }
});

@taquito/taquito - Added utility functions in prepare provider to accomodate forging and operation pre-apply (dry runs)

Provided 2 utility functions to convert results from the PrepareProvider (PreparedOperation type objects) into ForgeParams and PreapplyParams

// pre-apply 
const prepared = await Tezos.prepare.transaction({
  amount: 1,
  to: 'tz1ZfrERcALBwmAqwonRXYVQBDT9BjNjBHJu'
});
const params = await Tezos.prepare.toPreapply(prepared);
const preapplyOp = await Tezos.rpc.preapplyOperations(params);

// forge
const prepared = await Tezos.prepare.transaction({
  amount: 1,
  to: 'tz1ZfrERcALBwmAqwonRXYVQBDT9BjNjBHJu'
});
const params = Tezos.prepare.toForge(prepared);
const forgedBytes = await forger.forge(params);

Taquito v16.0.1

31 Mar 00:02
fb064dd
Compare
Choose a tag to compare

Bug Fixes

  • Fixed an issue where the validateContractAddress() method allows incorrect contract addresses that are too long #2398

Documentation

  • Updated RPC nodes to include Mumbainet and remove references to Kathmandunet #2407

Testing

  • Updated tests and flextesa sandbox image for Protocol Mumbai2 #2397

Taquito v16.0.0

16 Mar 20:03
Compare
Choose a tag to compare

Summary

Mumbai Support

  • @taquito/taquito Support new operation smart_rollup_add_messages #2309
  • @taquito/taquito Updated transferTicket operation in the contract API to support ticket transfers between implicit accounts #2320
  • @taquito/local-forging Support new Mumbai operations #2308
    • smart_rollup_originate,
    • smart_rollup_add_messages,
    • smart_rollup_execute_outbox_message
  • @taquito/local-forging updated validation to allow tz4 addresses #2350
  • @taquito/rpc support Mumbai operation types in the RPC package #2307
  • @taquito/rpc added Mumbai protocol constants in the RPC package #2375
  • @taquito/rpc removed consumed_gas property in update_consensus_key return type in the RPC package #2273
  • @taquito/rpc added new RPC endpoints #2270:
    • getTicketBalance
    • getAllTicketBalances
  • @taquito/michel-codec Added support for bytes in these following Michelson instructions #2267:
    • AND, OR, XOR, NOT, LSL, LSR
  • @taquito/michel-codec added support for bytes-nat conversion in Michelson #2268

Bug Fixes

  • Fixed broken website live examples #2305
  • Updated estimation to validate against decimal values to prevent unwanted errors #2318

Documentation

  • Removed Cryptonomic links from the commercial RPC list on the website #2332
  • Added documentation on MANAGER_LAMBDA #1718
  • Added documentation on ~100 most popular contract entrypoint parameter examples on Tezos #2153
  • Fixed broken link on Dapp pre-launch checklist page #2293
  • Fixed broken link on smart contract collection page #2295
  • Fixed broken live code examples on the tezostaquito.io website #2305
  • Removed invalid links and duplicate entries #2332
  • Added documentation for contract entrypoints parameters in JS/TS #2153
  • Fixed broken link on Smart Contract collection page #2295
  • Fixed broken link on DApp pre-launch checklist page #2293
  • Added documentation on MANAGER_LAMBDA #1718
  • Updated Ledger examples to point to Ghostnet PR
  • Updated README to include cases for specific Linux distros PR

Internals

  • Removed Kathmandu references from local-forger #2131
  • Bumped Node versions to 16 PR #1845
  • Delete TezEdge workflows PR
  • Updated Docusaurus version to it's latest stable release (v2.3.1) PR
  • Removed references to older protocols in Taquito and updated integration tests and examples #485

@taquito/taquito - Support for new operation smart_rollup_add_messages

Support for a new manager operation to add messages to a smart rollup inbox have been added, and can be used as follows:

const op = await Tezos.contract.smartRollupAddMessages({
  message: [
    '0000000031010000000b48656c6c6f20776f726c6401bdb6f61e4f12c952f807ae7d3341af5367887dac000000000764656661756c74'
  ]
});

@taquito/rpc - Support for new Mumbai operation types in the RPC package

Added a few new types to accommodate for Mumbai protocol changes:

  • OperationContentsAndResultSmartRollupOriginate
  • OperationContentsAndResultSmartRollupAddMessages
  • OperationContentsAndResultSmartRollupExecuteOutboxMessage
  • OperationResultSmartRollupOriginate
  • OperationResultSmartRollupAddMessages
  • OperationResultSmartRollupExecuteOutboxMessage
  • OperationContentsAndResultMetadataSmartRollupOriginate
  • OperationContentsAndResultMetadataSmartRollupAddMessages
  • OperationContentsAndResultMetadataSmartRollupExecuteOutboxMessage

@taquito/michel-codec - Added support for bytes

The Mumbai protocol update introduces a change where the following Michelson instructions support bytes: AND, OR, XOR, NOT, LSL, LSR

These instructions now have bytes support of the opcodes. For more information, refer to this document

@taquito/michel-codec - Added support for bytes-nat conversion in Michelson

The Mumbai protocol update now supports conversion between bytes and nat as well as bytes and int

For more information, refer to this page

Taquito v15.1.0

17 Jan 20:33
Compare
Choose a tag to compare

Summary

New Features

  • @taquito/taquito New provider support PrepareProvider to facilitate preparation of operations in Taquito. #2020
  • @taquito/taquito Support new operation increase_paid_storage on the wallet API #1768

Bug Fixes

  • Fixed a bug where axios-fetch-adapter was not returning the response body from errors, causing the wrong error to be captured by the calling method #2187

Documentation

  • Update Taquito website live code examples to use Ghostnet endpoint. #2224

Internals

  • Updated Beacon version to v3.3.1 PR
  • Updated Taquito Github Workflows to use Node LTS/Gallium (v16) PR

@taquito/taquito - Added new provider PrepareProvider to facilitate operation preparation

PrepareProvider now extends more control to the user to give them the ability to 'prepare' Tezos operations before forging and injection. The preparation step now can be done through the TezosToolkit class as such:

// example of a transaction operation preparation
const prepare = await Tezos.prepare.transaction({
    to: 'tz1KvJCU5cNdz5RAS3diEtdRvS9wfhRC7Cwj',
    amount: 5
});

The expected output will look something like this:

{
        opOb: {
          branch: 'BLOCK_HASH',
          contents: [
            {
              kind: 'transaction',
              fee: '391',
              gas_limit: '101',
              storage_limit: '1000',
              amount: '5000000',
              destination: 'tz1KvJCU5cNdz5RAS3diEtdRvS9wfhRC7Cwj',
              source: 'PUBLIC_KEY_HASH',
              counter: '1',
            },
          ],
          protocol: 'PROTOCOL_HASH',
        },
        counter: 0,
      }

@taquito/taquito - Increase paid storage operation support in the wallet API

Taquito now supports increase_paid_storage operation in the Wallet API (previously only available in the Contract API).

const op = await Tezos.wallet.increasePaidStorage({
  amount: 1,
  destination: simpleContractAddress
}).send();

Taquito v15.0.1

21 Dec 17:23
Compare
Choose a tag to compare

Hotfix

  • Fixed a bug where the local-forging package was using an outdated version of the codec when it's instantiated without passing in a protocol hash. Updated so that the default value uses the current protocol hash. #2242

Summary

  • @taquito/taquito Support new operation drain_delegate in the Contract API #2068
  • @taquito/local-forging Support new operation drain_delegate #2065

Bug Fixes

  • @taquito/michelson-encoder fix MapTypecheck bug triggered by nested maps ending with a big_map #1762

Documentation

  • Auto hide sticky navbar for mobile view to increase readability on mobile devices.
    PR: #2236

Internals

  • Start running integration tests against testnets for external PRs.
    PR: #2221

@taquito/taquito drain_delegate operation support

A new manager operation related to the consensus_key change in Lima has been added:

const op = await Tezos.contract.updateConsensusKey({
    pk: 'PUBLIC_KEY'
});

await op.confirmation();

Taquito v15.0.0

06 Dec 21:06
Compare
Choose a tag to compare

Breaking Changes:

  • Some types have changed to support the consensus_key change in Protocol Lima. Refer to issue #2069 for more details

Summary

Lima Support

  • @taquito/taquito Support new operation update_consensus_key in the Contract API #2067
  • @taquito/local-forging Support new operation update_consensus_key #2065
  • @taquito/local-forging Support new instruction LAMBDA_REC and value Lambda_rec and support changes related to the TICKET instruction #2074 #2072
  • @taquito/rpc Support new types and operations for update_consensus_key and drain_delegate #2066
  • @taquito/rpc Support new properties related to Lima #2172 #2071
  • @taquito/michelson-encoder Support new type TICKET_DEPRECATED #2073
  • @taquito/michel-codec Support new instruction LAMBDA_REC and value Lambda_rec and support changes related to the TICKET instruction #2181 #2075

Testing

  • Removed tests that referenced Timelock feature (CHEST_OPEN Michelson instruction) #2070
  • Added tests for unparsing_mode #2077
  • Updated tx-rollup tests to use address from config instead of hard coded addresses #2170
  • Fixed local-forging tests failing in Limanet #2158

Documentation

  • Added documentation for consensus key operations (update_consensus_key) #2067 #2068

Internals

  • Removed legacy lerna bootstrap commands from build workflow #2188

Deprecation

@taquito/tezbridge-signer and @taquito/tezbridge-wallet has been deprecated, and references to them have been removed from the codebase #2080

Others

  • Removed Jakarta protocol references in on chain view related code #2098
  • Removed temple-wallet/dapp dependency from Taquito website that was producing build errors PR

@taquito/taquito - Added support for update_consensus_key

A new manager operation to update consensus keys can be used as follows:

const op = await Tezos.contract.updateConsensusKey({
    pk: 'PUBLIC_KEY'
});

await op.confirmation();

@taquito/local-forging - Added support for Lima operations and instructions

  • Updated local-forger to forge and parse update_consensus_key and drain_delegate
  • Updated local-forger to support the new Michelson instruction LAMBDA_REC and the new data constructor named Lambda_rec which enables recursive LAMBDA

@taquito/rpc - Updated types to support Lima protocol

Added a few new types to accommodate Lima protocol changes:

  • OperationContentsUpdateConsensusKey
  • OperationContentsDrainDelegate
  • OperationContentsAndResultMetadataUpdateConsensusKey
  • OperationContentsAndResultMetadataDrainDelegate
  • OperationContentsAndResultUpdateConsensusKey
  • OperationContentsAndResultDrainDelegate
  • OperationResultUpdateConsensusKey

Also updates to existing types to accommodate changes regarding consensus keys.

@taquito/michelson-encoder - Support new type TICKET_DEPRECATED

@taquito/michel-codec - Support new instruction LAMBDA_REC and value Lambda_rec

The Lima protocol introduces a new Michelson type named LAMBDA_REC, and a new data constructor named Lambda_rec, allowing the creation of recursive lambda functions. Support for those primitives has been added in the michel-codec package enabling users to validate or pack/unpack Michelson code containing them.

The TICKET instruction now returns an optional ticket instead of a ticket. This change has also been reflected in the michel-codec parser.

Taquito v14.2.0

28 Nov 22:07
Compare
Choose a tag to compare

Summary

New Features

  • @taquito/taquito - Added support for Ballot operation in the Contract API #1630
  • @taquito/taquito - Added support for Proposals operation in the Contract API #2099
  • @taquito/taquito-signer - Added new method fromMnemonic to the InMemorySigner #1228

Documentation

  • Updated and organized Taquito README to prepare for translations to other languages #2015

Internals

  • Added integration test for Ballot and Proposals operation #2087
  • Configured NPM workspaces for Taquito to improve build process #2127

@taquito/taquito - Added support for Ballot operation

We added a new Contract API method to support the Ballot operation. Bakers can now cast their ballots using this operation from Taquito as follows:

const op = await Tezos.contract.ballot({
  proposal: 'PROTOCOL_HASH',
  ballot: 'BALLOT_VOTE_STRING'
});

await op.confirmation();

@taquito/taquito - Added support for Proposals operation

Alongside the Ballot operation support, bakers can now also submit proposals using the Proposals operation that can be used as follows:

const op = await Tezos.contract.proposals({
  proposals: ['PROTOCOL_HASH1', 'PROTOCOL_HASH2']
});

await op.confirmation();

@taquito/taquito-signer - Added new method fromMnemonic

Users can now create an InMemorySigner instance using the fromMnemonic method for a tz1, tz2, or tz3 address: ed25519, secp256k1, or p256 respectively.

const mnemonic = 'author crumble medal dose ribbon permit ankle sport final hood shadow vessel horn hawk enter zebra prefer devote captain during fly found despair business'
const signer = InMemorySigner.fromMnemonic({ mnemonic, password, derivationPath: "44h/1729h/1/0", curve: 'secp256k1' });

Taquito v14.1.0-beta

09 Nov 21:56
Compare
Choose a tag to compare

Summary

New features

  • @taquito/taquito - Provide a subscriber to events #1746
  • @taquiro/rpc - Support voting_info endpoint #1749
  • @taquito/ledger-signer - Add support for bip25519 curve #1869

Bug fixes

  • @taquito/http-utils - Issue using Taquito in service worker environment #2025
  • @taquito/taquito - confirmationPollingTimeoutSecond not working #2006
  • @taquito/taquito - PollingSubscribeProvider used in contract confirmations might skip blocks #1783
  • @taquito/michelson-encoder - Fixed Michelson encoder for timestamp to handle numbers being passed #1888

Improvement

  • @taquito/taquito - Allow users to customize the parser #660
  • @taquito/taquito - Accept amount, fee, gasLimit, and storageLimit as parameters of the withContractCall method #1717
  • @taquito/tzip16 - Add more high level functions for tzip16 metadata #584
  • @taquito/taquito - Support string or number for the balance property for contract origination #1795

Documentation

Others

Internals

  • Speed up build with nx #2013
  • Integrate the taquito-test-dapp into the Taquito pipeline #663
  • Add a flextesa node to our CI pipeline #457
  • Add unit tests for taquito-beacon-wallet #1863
  • Adapt integration tests config so they can be run against a sandbox. #1971

@taquito/taquito - Provide a subscriber to events

Taquito provides a simple way for users to subscribe to certain events on the blockchain via the PollingSubscribeProvider.

const Tezos = new TezosToolkit(RPC_URL);

try {
  const sub = Tezos.stream.subscribeEvent({
    tag: 'tagName',
    address: 'KT1_CONTRACT_ADDRESS'
  });
    
  sub.on('data', console.log);
    
} catch (e) {
  console.log(e);
}

Please refer to the documentation for more information: https://tezostaquito.io/docs/next/subscribe_event

@taquiro/rpc - Support voting_info endpoint

We added a new method on the RpcClient named getVotingInfo to support the new RPC endpoint voting_info (Kathmandu). The method returns data found on the voting listings for a delegate as follows :

VotingInfoResponse = {
  voting_power?: string;
  current_ballot?: BallotListResponseEnum;
  current_proposals?: string[];
  remaining_proposals?: number;
};

@taquito/ledger-signer - Add support for bip25519 curve

We added support for the bip32-ed25519 derivation scheme in the ledger package. It can be used as follows:

const transport = await TransportNodeHid.create();
const signer = new LedgerSigner(
    transport,
    "44'/1729'/0'/0'",
    false,
    DerivationType.BIP32_ED25519
)

@taquito/http-utils - Issue using Taquito in a service worker environment

In service worker environments (e.g., Cloudflare workers), XMLHttpRequest used by Axios is deprecated. When using the @taquito/http-utils package in such an environment, the following error was occurring: TypeError: adapter is not a function. A fix has been made to use @vespaiach/axios-fetch-adapter when not in a nodejs environment.

@taquito/taquito - confirmationPollingTimeoutSecond not working

There was an issue with the confirmationPollingTimeoutSecond on the TezosToolkit. During the operation confirmation (both on the contract and wallet API), the timeout timer restarted on every new block emission. This has been fixed.

@taquito/taquito - PollingSubscribeProvider used in contract confirmations might skip blocks

When the polling mechanism skipped a block during the operation confirmation for the wallet API, an error MissedBlockDuringConfirmationError was thrown. We refactored the implementation to retrieve missed blocks instead of throwing an error. On the contract API side, there was no check whether a block was missed or skipped, and it would just timeout, unable to find the operation after a certain time. The implementation has also been changed to retrieve missed blocks.

@taquito/michelson-encoder - Fixed Michelson encoder for timestamp to handle numbers being passed

A bug has been fixed, allowing support of UNIX timestamp number when deploying a contract having a timestamp in storage or calling a contract entry point taking a timestamp in parameter.

@taquito/taquito - Allow users to customize the parser

Taquito makes internal uses of the @taquito/michel-codec package on smart contract origination, allowing to convert Plain Michelson into JSON Michelson, expand Macros and validate Michelson to ensure its correctness. There is no change in this behavior, but we exposed a parserProvider at the TezosToolkit level allowing users to customize if needed. By default, the parserProvider is an instance of MichelCodecParser.

@taquito/taquito - Accept amount, fee, gasLimit, and storageLimit as parameters of the withContractCall method

Before version 14.1.0, it was impossible to specify the amount, the fee, the gasLimit, and the storageLimit when calling a smart contract entry point using the batch API via the withContractCall method. An optional parameter has been added to the method to support this feature and can be used as follows:

const contract = Tezos.contract.at('contactAddress');
const batch = Tezos.contract.batch()
    .withContractCall(contract.methods.entrypointName("entrypointParam", { fee: 100, gasLimit: 1000, storageLimit: 10 })
    .withContractCall(...)                  

const batchOp = await batch.send();
await batchOp.confirmation();

@taquito/taquito - Support string or number for the balance property for contract origination

The balance property was a string in the parameters to pass to originate a new contract. We changed to accept a number and string, which is more intuitive.

What's coming next for Taquito?

We are currently working on compatibility support for the Lima protocol.
We are also investigating the integration of wallet connect 2 in Taquito.

If you have feature or issue requests, please create an issue on http://github.com/ecadlabs/taquito/issues or join us on the Taquito community support channel on Telegram https://t.me/tezostaquito

Taquito v14.0.0-beta

12 Sep 13:44
Compare
Choose a tag to compare

Note for the users of the lower level APIs: injecting more than one manager operation per block from the same account is now forbidden by Tezos in the Kathmandu protocol. You will now receive the following error message: Error while applying operation opHash: Only one manager operation per manager per block allowed (found opHash2 with Xtez fee). This change has no impact if you use the TezosToolkit to send operations. Waiting for the operation to be included in a block is already required before submitting another one.

Breaking changes:

  • Be aware that if you implemented the readProvider interface, we added a new method named getSaplingDiffByContract.
  • We removed the context class in the constructor of the ReadAdapter class and replaced it with RpcClient.

Summary

Kathmandu support

  • @taquito/taquito - Support new operation increase_paid_storage on the Contract API #1767
  • @taquito/local-forging - Support the increase_paid_storage operation and the Emit instruction #1766 #1742
  • @taquito/michel-codec - Support EMIT instruction #1743
  • @taquito/taquito - Replace consumed_gas with consumed_milligas #1769
  • @taquito/rpc - Support new properties/operations for Kathmandu #1862 #1848
  • @taquito/rpc - Add support for run_script_view endpoint #1750

New features

  • Sapling package
  • @taquito/taquito - Added support for the transfer_ticket operation #1680

Bug fixes

  • @taquito/michelson-encoder - Display contract storage properly when it contains a ticket inside a map #1762
  • @taquito/michelson-encoder - Schema.generateSchema() fails for sapling_transaction_deprecated #1763
  • @taquito/michel-codec- Fixed comb pairs unpacking #1471

Improvement

  • @taquito/http-utils - Added request info to the HttpRequestFailed error #1091
  • @taquito/taquito - Retrieve contract addresses from batched operation #1661
  • @taquito/michelson-encoder - Accept hex prefixed with 0x as well #1624
  • @taquito/taquito - Use the new run_script_view endpoint to execute on chain views #1750

Documentation

Testing

  • Emptying an implicit account does not cost extra gas anymore #1771
  • Added more Manager_lambda scenarios to contract multisig integration tests #1724

Others

  • @taquito-beacon-wallet - Updated @airgap/beacon-dapp to version 3.1.4
  • @taquito/local-forging - Pure JS implementation #441

@taquito/taquito - Support new operation increase_paid_storage on the Contract API

The increase_paid_storage operation allows increasing the paid storage of a smart contract by a specified bytes amount. The smart contract owner doesn't have to do it; any user can increase the storage. The operation is of interest for high-traffic dapps as it allows prepaying for storage and prevents transactions from failing because of an unpredictable storage burn.

const Tezos = new TezosToolkit('https://kathmandunet.ecadinfra.com');

const op = await Tezos.contract.increasePaidStorage({
    amount: 5,
    destination: 'contract'
});

- `amount` is the number of bytes we want to increase the paid storage
- `destination` is the address of the smart contract we want to increase the paid storage

@taquito/local-forger - Support the increase_paid_storage operation and the Emit instruction

We added support to forge and parse the new operation kind increase_paid_storage.

We added support for the new Michelson instruction Emit, which can emit contract events when part of a contract script.

@taquito/michel-codec - Support EMIT instruction

@taquito/michel-codec is responsible, among others, for validating Michelson code to ensure its correctness. The package now supports the new EMIT instruction.

@taquito/taquito - Replace consumed_gas with consumed_milligas

In Kathmandu, the property consumed_gas that was previously deprecated in favor of consumed_milligas has been removed.

In Taquito (Contract API), the classes that extend the Operation class like BatchOperation, DelegateOperation, OriginationOperation, TransactionOperation, and so on, have a consumedGas getter. We did an internal change to calculate the consumed gas based on the consumed milligas, so there is no breaking change for the users. We also implemented a new consumedMilligas getter which returns the consumed milligas.

On the wallet API side, the WalletOperation class has a receipt method that returns a Receipt object containing a totalGas property. It is now calculated based on the consumed milligas, and we added an additional totalMilliGas property.

@taquito/rpc - Support new properties/operations for Kathmandu

Kathmandu brings new operation kinds that can be found in a block response. New interfaces representing the new operations have been added to the OperationContents and OperationContentsAndResult types of the RPC package. The new operation kinds are: increase_paid_storage, vdf_revelation. There is also a new internal operation named event.

The DelegatesResponse interface returned by the getDelegates method on the RpcCLient has the new properties current_ballot, current_proposals and remaining_proposals.

The ConstantsResponse type returned by the getConstants method on the RpcCLient has the new properties max_wrapped_proof_binary_size, nonce_revelation_threshold, vdf_difficulty, testnet_dictator,dal_parametric, sc_rollup_stake_amount, sc_rollup_commitment_period_in_blocks, sc_rollup_max_lookahead_in_blocks, sc_rollup_max_active_outbox_levels, sc_rollup_max_outbox_messages_per_level.

@taquito/rpc - Add support for run_script_view endpoint

We added a new method named runScriptView on the RpcClient class to simulate a contract view. The parameter and response types of the method are as follows:

RPCRunScriptViewParam = {
  contract: string;
  view: string;
  input: MichelsonV1Expression;
  unlimited_gas?: boolean;
  chain_id: string;
  source?: string;
  payer?: string;
  gas?: string;
  unparsing_mode?: UnparsingModeEnum;
  now?: string;
  level?: string;
};

RunScriptViewResult = {
  data: MichelsonV1Expression;
};

Sapling package

We implemented a package @taquito/sapling providing functionality for Sapling. For documentation, please refer to the following link: https://tezostaquito.io/docs/next/sapling

We added a post-install script that fetches the z cash parameters required to initialize the sapling state. Excluding the files from the package avoids having an unsustainable bundle size.
The files saplingOutputParams.js and saplingSpendParams.js will be created in the users node_modules/@taquito/sapling folder and avoid them having to download and inject those files.

As the next steps for the sapling package, we will provide interfaces for the key providers, making it easier to generate the proof and produced signature from a remote signer or a ledger. We currently offer an InMemorySpendingKey that must be used appropriately, given your risk profile. We will be looking for integration with wallets as well.

@taquito/taquito - Added support for the transfer_ticket operation

The transfer_ticket operation allows transferring tickets from an implicit account to a smart contract.

const Tezos = new TezosToolkit('https://jakartanet.ecadinfra.com');

const op = await Tezos.contract.transferTicket({
    ticketContents: { "string": "foobar" },
    ticketTy: { "prim": "string" } ,
    ticketTicketer: 'KT1AL8we1Bfajn2M7i3gQM5PJEuyD36sXaYb',
    ticketAmount: 5,
    destination: KT1SUT2TBFPCknkBxLqM5eJZKoYVY6mB26Fg,
    entrypoint: 'default',
});

- `ticketAmount` is the amount that you would like to transfer to the smart contract
- `destination` is the address of the smart contract you would like to transfer the tickets to
- `entrypoint` is the entrypoint of the smart contract
- `ticketContents`, `ticketTy`, and `ticketTicketer` can be retrieved from the tx rollup client

@taquito/michelson-encoder - Display contract storage properly when it contains a ticket inside a map

We fixed a bug in the michelson-encoder package that prevented displaying the contract storage when it contained tickets inside a map.

@taquito/michelson-encoder - Schema.generateSchema() fails for sapling_transaction_deprecated

Support was missing for sapling_transaction_deprecated in the michelson-encoder package and has been added.

@taquito/http-utils - Added request info to the HttpRequestFailed error

We added the Url and method to the HttpRequestFailed error message. This change will make it easier to diagnose timeout error, which was only returning Request timed out after: 30000ms.

@taquito/taquito - Retrieve contract addresses from batched operation

Added a method named getOriginatedContractAddresses on the BatchWalletOperation and the BatchOperation, which returns an array of contract addresses deployed in the batch. If there is no origination operation, the array will be empty.

@taquito/michelson-encoder - Accept hex prefixed with 0x as well

Taquito only accepted hex bytes without the 0x prefix. We added support for this format too.

@taquito/taquito - Use the new run_script_view endpoint to execute on chain views

The execution of the on-chain views previously relied on the helpers/scripts/run_code RPC endpoint. Since there is a new dedicated RPC...

Read more

14.0.0-beta-RC.0

06 Sep 13:40
Compare
Choose a tag to compare
14.0.0-beta-RC.0 Pre-release
Pre-release

Summary

Kathmandu support

  • @taquito/taquito - Support new operation increase_paid_storage on the Contract API #1767
  • @taquito/local-forging - Support the increase_paid_storage operation and the Emit instruction #1766 #1742
  • @taquito/michel-codec - Support EMIT instruction #1743
  • @taquito/taquito - Replace consumed_gas with consumed_milligas #1769
  • @taquito/rpc - Support new properties/operations for Kathmandu #1862 #1848
  • @taquito/rpc - Add support for run_script_view endpoint #1750

New features

  • Sapling package
  • @taquito/taquito - Added support for the transfer_ticket operation #1680

Bug fixes

  • @taquito/michelson-encoder - Display contract storage properly when it contains a ticket inside a map #1762
  • @taquito/michelson-encoder - Schema.generateSchema() fails for sapling_transaction_deprecated #1763
  • @taquito/michel-codec- Fixed comb pairs unpacking #1471

Improvement

  • @taquito/http-utils - Added request info to the HttpRequestFailed error #1091
  • @taquito/taquito - Retrieve contract addresses from batched operation #1661
  • @taquito/michelson-encoder - Accept hex prefixed with 0x as well #1624
  • @taquito/taquito - Use the new run_script_view endpoint to execute on chain views #1750

Documentation

Testing

  • Emptying an implicit account does not cost extra gas anymore #1771
  • Added more Manager_lambda scenarios to contract multisig integration tests #1724

Others

  • @taquito-beacon-wallet - Updated @airgap/beacon-dapp to version 3.1.4
  • @taquito/local-forging - Pure JS implementation #441