Releases: ecadlabs/taquito
Taquito v17.4.0
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
Taquito v17.3.2
Taquito v18.0.0-RC.0
Breaking Changes: (if applicable)
-
@taquito/rpc
- Removed RPC methodgetOriginationProof()
#2597- Batch API method
withSmartRollupOriginate()
now no longer needsoriginationProof
as a parameter - Contract API method
smartRollupOriginate()
now no longer needsoriginationProof
as a parameter
- Batch API method
-
@taquito/local-forging
-
@taquito/rpc
- Updated protocol constants in Taquito to support Oxford changes #2594
Summary
Oxford Support
@taquito/rpc
- Updated RPC endpoints' return types forgetDelegates()
andgetConstants()
#2596@taquito/rpc
- RPC endpointsgetBlock
,preapplyOperations
,runOperation
,simulateOperation
,getBlockMetadata
now supportRPCOptions
of{ version: 0 | 1 }
(0 returns endorsement; 1 returns attestation) #2596@taquito/rpc
- RPC endopintsgetPendingOperations
now supportRPCOptions
of{version: 1 | 2 }
(1 returns applied & endorsement; 2 returns validated & attestation) #2596@taquito/rpc
- Removed RPC endpoint ofgetTxRollupInbox()
andgetTxRollupState()
#2596@taquito/local-forging
- removed forging support forset_deposit_limit
operation #2646
Internals
Taquito v17.3.1
Taquito v17.3.0
A change in Licensing:
Taquito has moved from MIT
to Apache 2.0
.
Potential Breaking Changes:
- Previously, an
OrToken
'sEncodeObject
method would accept an object with multiple fields. It now only accepts an object with a single field. - The
generateSchema
method in anOrToken
with nestedOrToken
s (as well asExtractSchema
) would generate a schema object that was misleading and did not match whatExecute
created orEncodeObject
accepted. This is now fixed and the behavior is consistent across all methods. OrToken.Execute()
used to throwOrTokenDecodingError
in case of failure, but now will throwOrValidationError
Summary
New Features
@taquito/michelson-encoder
- TheOrToken
'sEncodeObject
method now only accepts an object with a single field #2544
Bug Fixes
@taquito/michelson-encoder
- A nestedPairToken
with a mix of fields withannots
and fields withoutannots
could generate the wrong javascript object withExecute
#2540@taquito/michelson-encoder
- thegenerateSchema
method in a nestedOrToken
now generates a schema that is consistent withExecute
andEncodeObject
#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 OrToken
s, 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
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 inContract API
andWallet 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 ofrunOperation()
#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
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
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 toInvalidBalanceError
- In
@taquito/taquito
-PrepareProvider
used to throwRevealEstimateError
now will throwPublicKeyNotFoundError
- In
@taquito/tzip-16
-MetadataNotFound
is renamed toContractMetadataNotFoundError
- In
@taquito/tzip-16
-InvalidMetadata
is renamed toInvalidContractMetadataError
- In
@taquito/tzip-16
-InvalidMetadataType
is renamed toInvalidContractMetadataTypeError
- In
@taquito/tzip-16
-BigMapMetadataNotFound
is renamed toBigMapContractMetadataNotFoundError
- In
@taquito/tzip-16
-UriNotFound
is renamed toUriNotFoundError
- In
@taquito/tzip-16
-InvalidUri
is renamed toInvalidUriError
- In
@taquito/tzip-16
-ProtocolNotSupported
is renamed toProtocolNotSupportedError
- In
@taquito/tzip-16
-UnconfiguredMetadataProviderError
is renamed toUnconfiguredContractMetadataProviderError
- In
@taquito/tzip-16
-ForbiddenInstructionInViewCode
is renamed toForbiddenInstructionInViewCodeError
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
andDotenv
in/website
PR#2560
Taquito v17.1.0-beta-RC.1
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
andDotenv
in/website
PR#2560
Taquito v17.0.0
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 ofsc_rollup_cement_result
to have the newly added field #2448- Changed error class names #2505 :
@taquito/remote-signer
-KeyNotFoundError
renamed toPublicKeyNotFoundError
@taquito/remote-signer
-PublicKeyMismatch
renamed toPublicKeyVerificationError
@taquito/remote-signer
-SignatureVerificationFailedError
renamed toSignatureVerificationError
Summary
Nairobi Support
@taquito/taquito
- Update gas limit changes that pertains to each different curve in Protocol N #2447@taquito/rpc
- Update operation result ofsc_rollup_cement_result
to have the newly added field #2448
New Features
@taquito/taquito
&@taquito/michelson-encoder
- Introduced a new feature calledEventAbstraction
that provides an abstraction to Events, similar toContractAbstraction
#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