UNPKG

casper-js-sdk

Version:
1,083 lines (614 loc) 31.9 kB
# Changelog All notable changes to casper-js-sdk. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). <!-- Please follow below structures. ## [1.1.1] - 2023-03-05 ### Added ### Fixed ### Changed ### Removed --> ### [5.0.7] - 2025-12-04 ### Added - CEP-95 support for NFT transfers - Documentation for `Transaction` builder - Updated README.md ### Fixed - Issue with speculative client response deserialization - Issue when `gas_price` not set to value indicated in payment - Optional data type in NFT transfer utils ### Changed - Deprecate `getStateItem` in favor of `queryLatestGlobalState` ### [5.0.6] - 2025-05-01 ### Fixed - Issue with speculative client response deserialization ### [5.0.5] - 2025-04-23 ### Fixed - Issue with circular dependencies for method declaration ### [5.0.4] - 2025-04-22 ### Added - Query latest balance utility function for Casper network ### [5.0.3] - 2025-04-14 ### Fixed - Issue with circular dependencies by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/557 **Full Changelog**: https://github.com/casper-ecosystem/casper-js-sdk/compare/5.0.2...5.0.3 ### [5.0.2] - 2025-04-11 ### Fixed - Issue with parsing named keys for AccountInfo and Contracts by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/552 - Parsing of arguments keys for transaction V1 by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/554 ### Changed - Replace key-encoder lib with equal internal implementation by @Comp0te in https://github.com/casper-ecosystem/casper-js-sdk/pull/551 - Extended the CasperNetwork utility getTransaction method with a fallb… by @ihor in https://github.com/casper-ecosystem/casper-js-sdk/pull/555 ### Added - Support for prefix entity-contract- for contract hashes by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/553 **Full Changelog**: https://github.com/casper-ecosystem/casper-js-sdk/compare/5.0.1...5.0.2 ### [5.0.1] - 2025-04-04 ### Fixed - `token_hash` args type by @Comp0te in https://github.com/casper-ecosystem/casper-js-sdk/pull/545 - Parsing null execution results for `1.5.x` deploys and transactions by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/546 ### Added - `toBytes()` method to `Transaction` class. by @davidatwhiletrue in https://github.com/casper-ecosystem/casper-js-sdk/pull/544 - Dynamic payment amount for deploys by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/547 - `CasperNetwork` utility usage documentation by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/550 ### Changed - hash type to `TransactionHash` by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/549 **Full Changelog**: https://github.com/casper-ecosystem/casper-js-sdk/compare/5.0.0...5.0.1 ### [5.0.0] - 2025-03-27 This version is identical to `5.0.16-beta2`. Please review the changes in the previous beta releases, and refer to the [Migration guide](https://github.com/make-software/casper-net-sdk/blob/master/Docs/Articles/Casper20MigrationGuide.md) if you’re updating a project from `v2.x`. ### [5.0.16-beta2] - 2025-03-19 ### Changed - Handle message keys contract prefixes in https://github.com/casper-ecosystem/casper-js-sdk/pull/534 - Update gas price for utils in https://github.com/casper-ecosystem/casper-js-sdk/pull/538 ### Added - Refund and Current Gas Price fields parsing for execution results in https://github.com/casper-ecosystem/casper-js-sdk/pull/533 - Methods to wait for transaction / deploy in https://github.com/casper-ecosystem/casper-js-sdk/pull/535 - Provide possibility to specify the gas price tolerance when creating Transactions and Deploys in https://github.com/casper-ecosystem/casper-js-sdk/pull/536 **Full Changelog**: https://github.com/casper-ecosystem/casper-js-sdk/compare/5.0.15-beta2...5.0.16-beta2 ### [5.0.15-beta2] - 2025-03-15 ### Fixed - Issue with parsing Transaction with EraId Key in https://github.com/casper-ecosystem/casper-js-sdk/pull/530 **Full Changelog**: https://github.com/casper-ecosystem/casper-js-sdk/compare/5.0.14-beta2...5.0.15-beta2 ### [5.0.14-beta2] - 2025-03-10 ### Fixed - Issue with parsing deploy in https://github.com/casper-ecosystem/casper-js-sdk/pull/528 **Full Changelog**: https://github.com/casper-ecosystem/casper-js-sdk/compare/5.0.13-beta2...5.0.14-beta2 ### [5.0.13-beta2] - 2025-03-07 ### Fixed - Issue with serialization for ParamBlockIdentifier instance in https://github.com/casper-ecosystem/casper-js-sdk/pull/523 - Issue with parsing add_reservation Transaction with Any type in https://github.com/casper-ecosystem/casper-js-sdk/pull/526 ### Added - Possibility to export/import `public key` from/in PEM in https://github.com/casper-ecosystem/casper-js-sdk/pull/524 - `addArgToDeploy` method to be able to modify `Deploy's session` arguments in https://github.com/casper-ecosystem/casper-js-sdk/pull/525 **Full Changelog**: https://github.com/casper-ecosystem/casper-js-sdk/compare/5.0.12-beta2...5.0.13-beta2 ### [5.0.12-beta2] - 2025-02-27 ### Fixed - Parsing clvalues and cltypes in https://github.com/casper-ecosystem/casper-js-sdk/pull/520 - Rewrite and fix the existing SSE Client implementation in https://github.com/casper-ecosystem/casper-js-sdk/pull/521 **Full Changelog**: https://github.com/casper-ecosystem/casper-js-sdk/compare/5.0.11-beta2...5.0.12-beta2 ### [5.0.11-beta2] - 2025-02-24 ### Changed - Updated `cost` / `consumed` for executions result V1 by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/517 ### Fixed - Fixed `toInfoGetTransactionResult` method to parse V1 deploy result by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/518 - Fixed construction of Uref and EraID for Transaction Session builder by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/516 **Full Changelog**: https://github.com/casper-ecosystem/casper-js-sdk/compare/5.0.10-beta2...5.0.11-beta2 ### [5.0.10-beta2] - 2025-02-20 ### Fixed - Fixed issue with importing of `KeyTypeID` - Fixed vulnerability in the elliptic package by @Comp0te in https://github.com/casper-ecosystem/casper-js-sdk/pull/514 **Full Changelog**: https://github.com/casper-ecosystem/casper-js-sdk/compare/5.0.9-beta2...5.0.10-beta2 ### [5.0.9-beta2] - 2025-02-12 ### Added - `transferId` to `transaction / deploy` builders ### Changed - For `HttpHandler` added a possibility to set referer header and choose between axios / fetch ### [5.0.8-beta2] - 2025-02-05 ### Added - Parsing of contract entry points between `Casper 1.5`.x and `Casper 2.0` - New get auction info v2 method support - [Transaction utils](src/utils) ### Fixed - Seigniorage allocations structure from `Delegator` to `DelegatorKind` - Parsing write account for `Transform` - `info_get_status` response parsing ### Changed - Renamed `RpcAddressableEntity` to `AddressableEntity` to improve naming clarity and consistency. ### [5.0.7-beta2] - 2025-01-31 ### Fixed - Un/re-delegate flow with `payment` property ### [5.0.6-beta2] - 2025-01-30 ### Added - Extended `BidAddr`. ### Fixed - Issue with `BlockTransaction` serialization. - Corrected the `rewardedSignatures` type to ensure accuracy. ### Changed - Moved `newCL` methods into the `CLValue` class for a more streamlined `CLValue` creation process. - Added the ability to set a contract hash for the transaction builder, enhancing flexibility. - Updated migration guide from v2 to v5 for a smoother transition. ### [5.0.5-beta2] - 2025-01-22 ### Added - `CasperNetwork` abstraction that helps to easily handle Casper 1.5 and 2.0 versions ### Fixed - Issue with `Conversions.motesToCSPR` and `Conversions.csprToMotes` Update `makeCep18TransferDeploy` - Issue with `CLValueMap.fromBytes` ### [5.0.4-beta2] - 2025-01-16 ### Added - Ability to build `Deploy` with `TransactionBuilder` `buildFor1_5` method - Update `makeCep18TransferDeploy` to use `contractPackageHash` instead of `contractHash` - New auction contract hash for integration-test network, fixed deserialization of CES schema, Update contract package parsing compatible 1.x, added unit tests to cover mentioned bugs / features ### Fixed - Issue with PEM file creation and parsing - Issue with typo in transaction scheduling creation - Issue with compatible transforms parsing - Issues with `@jsonArrayMember` ### [5.0.3-beta2] - 2024-01-25 ### Added - Transform parsing functions - `fromJSON` method for `InfoGetTransactionResultV1Compatible` ### Fixed - Issue with TransactionEntryPoint deserialization ### [5.0.2-beta2] - 2024-12-24 ### Fixed - CLValueMap deserialization from bytes - Deserialization of Deploy from RPC ### [5.0.1-beta2] - 2024-12-24 ### Fixed - `TransactionEntryPoint` serialization in https://github.com/casper-ecosystem/casper-js-sdk/pull/482 ### Added - `parseAsWriteAccount` method / getter for `TransformKind` data, unit tests for different scenarios of parsing `TransformKind` data - `RawWriteAccount` class for parsing `WriteAccount` data ### Changed - `RawWriteCLValue` / `WriteCLValue` values from `Args` to `CLValue` ### [5.0.0-beta2] - 2024-12-23 ### Added - Check for `WriteCLValue` to `TransformKind`, added `executionResultsV1` to `InfoGetDeployResult` by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/481 ### Fixed - `Tuple3` constructor inconsistency, aligned Numerics `CLValue` by value type by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/476 - Offset is outside the bounds of the `DataView` issue for `TransactionV1` by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/479 ### Changed - Aligned casing for `fromJSON` and `toJSON`, updated type for chain name for utils by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/477 - Feat sync keys and fixes by @Comp0te in https://github.com/casper-ecosystem/casper-js-sdk/pull/480 **Full Changelog**: https://github.com/casper-ecosystem/casper-js-sdk/compare/5.0.0-beta1...5.0.0-beta2 ### [5.0.0-beta1] - 2024-12-20 ### Added - Feat utils and fixes by @Comp0te in https://github.com/casper-ecosystem/casper-js-sdk/pull/464 and https://github.com/casper-ecosystem/casper-js-sdk/pull/467 - Added `toJSON` method for each `CLValue` representation by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/470 - Added `transaction` builders by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/473 ### Changed - Updated `TransactionRuntime` / `TransactionTarget` serialization by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/466 - Updated `MessageTopic` serialization, `MessageAddr` key parsing by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/472 ### Fixed - Transform Raw serialization, removed message topics from `AddressableEntity`, `EntryPointPayment` change by @alexmyshchyshyn in https://github.com/casper-ecosystem/casper-js-sdk/pull/468 - Map and List `fromBytes` methods by @Comp0te in https://github.com/casper-ecosystem/casper-js-sdk/pull/469 - Derializers by @Comp0te in https://github.com/casper-ecosystem/casper-js-sdk/pull/471 **Full Changelog**: https://github.com/casper-ecosystem/casper-js-sdk/compare/5.0.0-rc8...5.0.0-beta1 ## [5.0.0-rc8] - 2024-12-16 ### Added - `makeCep18TransferDeploy` and `makeNftTransferDeploy` utils - `PrivateKey.toBytes` method - Rename Key's TypeID to KeyTypeID - Add initial list values to `CLValueList.newCLList` - `Args.getByName` getter - Remove unused `Effects` class - Improvements for `TransformKind` transformation parsing ### Fixed - Issue with `ed25519` private key length ## [5.0.0-rc7] - 2024-12-13 ### Added - Checksummed `PublicKey` hex - Improvements in `Transaction` creation from JSON - Ability to send `Deploy` with the `RPC.putTransaction` method - Renamed `StoredValue.prepaid` to `StoredValue.prepayment` - Improvements in RPC client error processing ### Fixed - Issue with implicit `axios` dependency - Issue with `secp256k1` bytes - Issue with `StepPayload.executionEffects` annotations - Issue with `ExecutionResult` parsing from JSON ## [5.0.0-rc6] - 2024-12-08 ### Added - Basic documentation for Casper 2.0 - **Enhanced `CLValue.newCLOption` Method**: - Automatic resolution of the option type from `inner` when provided. - Optional `clType` parameter when `inner` is present. - Defaults to `CLTypeAny` if `inner` is `null` and `clType` is not specified. - **New Method**: - **`ExecutionResult.toJSON(executionResult: ExecutionResult): object`** - Converts an `ExecutionResult` instance to a plain JSON object using the `TypedJSON` serializer. ### Fixed - Issue with parsing in RPC `getDictionaryItem` method ## [5.0.0-rc5] - 2024-12-01 ### Added - DelegatorKind support fot Bid - Calltable serialization for `TransactionV1` - [Reference of changes](https://github.com/casper-network/casper-node/pull/4823) - Custom ttl for `makeCsprTransferDeploy` and `makeAuctionManagerDeploy` ### Changed - `TransactionV1` structure. From now on a TransactionV1 consists of `hash`, `payload` and `approvals`. `payload` is a merge of `header` and `body` concepts from before. - Updated documentation ## [5.0.0-rc4] - 2024-11-25 ### Added - `makeCsprTransferDeploy` and `makeAuctionManagerDeploy` utils - **README.md**: Introduced a comprehensive README file, including detailed information about the SDK, setup instructions, and usage examples. - **Migration Guide**: Added a basic migration guide to assist developers in transitioning to the new SDK version with updated types and RPC. - `getDeploySizeInBytes` static method for Deploy ### Removed - DeployParams class due to deprecation, renamed `fromHeaderAndItems` function to the `makeDeploy` due to consistency with previous methods names ### Changed - Made `id` optional in TransferDeployItem.newTransfer ## [5.0.0-rc3] - 2024-11-19 ### Added - Deserializer function for InfoGetDeployResultV1Compatible - `fromJSON` - Annotate RPC request params ### Fixed - Args and CLType / CLValue parsers - RPC serialization - Updated names for RPC response/request - Deserializer for Transform class - Removed unnecessary object declaration for deploy/transaction during serialization **Full Changelog**: https://github.com/casper-ecosystem/casper-js-sdk/compare/5.0.0-rc2...5.0.0-rc3 ## [5.0.0-rc1] - 2024-11-12 ### Added - **Caution!** This release contains rewritten classes/CLValue/CLType from scratch, there are some breaking changes so consider it before upgrading. ### Changed - We’ve entirely rewritten the casper-js-sdk from the ground up to provide a more efficient, flexible, and developer-friendly experience. This major release includes significant changes to the SDK’s architecture, type system, and API methods, introducing new types and RPC capabilities to support the latest Casper blockchain features. - Updated Type System: - Refined and expanded CLType and CLValue implementations for stronger type-checking and better type safety. - Introduced new types to support complex data structures and improved encoding/decoding of values for compatibility with the latest Casper updates. - Enhanced RPC Methods: - New RPC methods provide richer interaction capabilities, supporting advanced transactions, streamlined data retrieval, and improved error handling. - Added support for more granular transaction controls, allowing for better customizations of gas fees, transaction targets, and entry points. ## [2.15.6] - 2024-04-18 ### Fixed - Backfilled missing variants of `TransformValue` type (AddInt32|AddUInt64|AddUInt128|AddUInt256|WriteEraInfo|WriteBid|WriteWithdraw|Failure|WriteUnbonding) - Backfilled `operations` field in `Effect` type - Exported all types in `services/types` module so that they can be used by end users ## [2.15.5] - 2024-04-18 ### Fixed - invalid seed usage in the HDKey ([#410](https://github.com/casper-ecosystem/casper-js-sdk/issues/410)) ## [2.15.4] - 2024-02-12 ### Fixed - [`newTransferWithOptionalTransferId` now uses `PublicKey` as a target instead of `AccountHash`.](https://github.com/casper-ecosystem/casper-js-sdk/issues/385) - [Fixed implementation of `EventStream`. Previous one had problems when there was two events emmited at the same time](https://github.com/casper-ecosystem/casper-js-sdk/issues/379) - [Fixed imports problem in modern TS environment](https://github.com/casper-ecosystem/casper-js-sdk/issues/386) ## [2.15.3] - 2023-10-16 ### Fixed - Replace legacy `sendAsync` with `request` ([#373](https://github.com/casper-ecosystem/casper-js-sdk/pull/373)) [2.15.3]: https://github.com/casper-ecosystem/casper-js-sdk/compare/2.15.2...2.15.3 ## [2.15.2] - 2023-8-4 ### Fixed - Reintroduced `getStateRootHash` fix as its not specific for `casper-node 1.5` ([#339](https://github.com/casper-ecosystem/casper-js-sdk/pull/339)) ## [2.15.1] - 2023-8-4 ### Fixed - Reverted broken 1.4.x compatibility. The version compatible with protocol version 1.5.x will be released as a separate one. ([#351](https://github.com/casper-ecosystem/casper-js-sdk/issues/351)) ## [2.15.0] - 2023-8-3 ### Added - `checkApproval` optional parameter (`false` by default) to the `deploy` method of `CasperServiceByJsonRPC` class. ([#348](https://github.com/casper-ecosystem/casper-js-sdk/pull/348)) ### Fixed - Fixed JSON RPC request issues with 1.5 node. ([#339](https://github.com/casper-ecosystem/casper-js-sdk/pull/339),[#344](https://github.com/casper-ecosystem/casper-js-sdk/pull/344)) ### Changed - `waitForDeploy` method of `CasperServiceByJsonRPC` class now supports deploy hash in string ## [2.14.0] - 2023-7-11 ### Fixed - `StoredValue` TypedJSON serialization issue. ([#312](https://github.com/casper-ecosystem/casper-js-sdk/pull/312)) ### Added - Added `BaseSigner` class for further wallet & signer integrations, support [`CasperWallet`](https://github.com/make-software/casper-wallet). ([#300](https://github.com/casper-ecosystem/casper-js-sdk/pull/300)) - Support node URL without `/rpc` like `casper-client` does. ([#298](https://github.com/casper-ecosystem/casper-js-sdk/pull/298)) - Added `to` field to the `TransferJson`. ([#312](https://github.com/casper-ecosystem/casper-js-sdk/pull/312)) ## 2.13.3 ### Fixed - Fixed to support 64 bytes Ed25519 private key generated using v2.10 ## 2.13.2 ### Fixed - Fix for wrong signatures being generated for SECP256K1 keys - it was missing `der: false` setting in a function call ## 2.13.1 ### Added - New method `makeDeployWithAutoTimestamp` that fetches timestamp and then uses it to create deploy header. Recommended to use it in browsers env. ## 2.13.0 ### Added - Added `getEraSummary` - Added `getEraSummaryByBlockHeight` - Added Ed25519 HD Wallet support - Added `timeout` param to all CasperServiceByJsonRPC methods - Deterministic Asymmetric keys can be generated by using HD Wallet following [BIP-0032](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) ### Changed - Switched from `tweetnacl-ts` and `eccrypto` to `noble` libraries ## 2.12.1 ### Fixed - Fix in CI job that broke README.md attached to NPM Package and tgz archive to the release - Fix links to the examples in docs ## 2.12.0 ### Added - HTTPS Event stream without breaking browsers support - New docs generator - Add missing types for `ExecutionResult` - Added missing CLType `Any` - Added tests in browser env - Added source maps to build version ### Changed - Move generated docs to github pages ## 2.11.1 ### Removed - Support for HTTPS/HTTP2 EventStream - as it caused problems in browser environment ## 2.11.0 ### Added - Support for checksumed mixed-case publickeys - Support for HTTPS EventStream - Extended test cases for `CasperServiceByJsonRPC` ### Changed - `CLPublicKey.toHex()` now by default returns checksummed value. You can use it in legacy mode by calling it `CLPublicKey.toHex(false)` that way - `CLPublicKey.fromHex()` now can get two arguments. The first one is string containing hex encoded public key, and the second one is a boolean value that indicates if you want to run checksum validation. When `true` is passed it will throw an error. Otherwise it will log warn to the console. We added this because we want to support users who store the non-checksumed publickeys and need time to adapt - `AccountHash` now can be serialized to bytes (it's an alias) - Some internal optimalization (in `matchByteParserByCLType`) ### Fixed - Issues with parsing broken deploys ## 2.10.2 ### Fixed - Updated ts-results dependency of our own fork to fix some compiling issues ## 2.10.1 ### Fixed - Updated exports so more conversion fuctions are now public - Added typings to `JsonExecutableDeployItem` - Fixed how the `EventStream` URL is build - Replaced `ts-results` dependency for our [own fork](https://github.com/CasperLabs/ts-results) because of the conflicting config ## 2.10.0 ### Added - Added signatures verification in `validateDeploy` method. - Added `queryBalance` (will be supported in casper-node 1.5 - RPC name `query_balance`) method in `CasperServiceByJsonRPC`. - Added `speculativeDeploy` (will be supported in casper-node 1.5 - RPC name `speculative_exec`) method in `CasperServiceByJsonRPC`. - Better documented RPC methods . - Added `csprToMotes` - motes/cspr converter in `Conversions`. - Extended PublicKey class API with two new methods, allowing to get publicKey tag type or its corresponding signature algo type. ### Fixed - `getStateRootHash` (RPC name `chain_get_state_root_hash`) can now correctly support `block_hash` argument. ## 2.9.1 ### Fixed - Got rid of unnecessary instanceof. - Reverted StoredValue and added `{ rawData: boolean }` to `getDictionaryItemByName` and `getDictionaryItemByURef`. ## 2.9.0 ### Added - Now all stored value contains raw JSON from RPC under `raw` key. - New method `getValidatorsInfoByBlockHeight` added. ### Changed - `targetPublicKeyHex` is now optional in `Signer` class. ## 2.8.0 ### Added - Added support to `CLPublicKey` passed as argument to `CLKey` (it gets serialized to `account-hash` when serializing). - New `Contracts` class that basically acts as contract client (possible to install WASM, call an entrypoint, query state or dictionary). - Added `getDictionaryItemByName` that uses `state_get_dictionary_item` with `dictionary_name` and `dictionary_item_key` - Added `sign` and `send` method on `Deploy` class. ## 2.7.9 ### Fixed - Fixed problems with CLResult when it got created using different version of ts-results. ## 2.7.8 ### Fixed - Fixed problems with deserialization Tuples containing CLType which includes length parameter (eg. CLByteArray). ## 2.7.7 ### Changed - Version 2.0 is now @latest. - README updated. ## 2.7.6 ### Fixed - Fixes wrong logic in newTransferWithOptionalTransferId() method. ## 2.7.5 ### Fixed - Fixes problems with Lists containing multiple Keys containing Hash or ByteArray. - Fixes problem with ByteArray with size different than 32 bytes. ## 2.7.4 ### Fixed - Fixes problems with `getBlockInfo` and mixed case block hashes. ## 2.7.3 ### Added - Added types missing in OpenRPC library ## 2.7.2 ### Fixed - Fix for bundling all of the existing types defined in the library. ## 2.7.1 ### Fixed - Added support for mixed case hex representation of public keys introduced in `casper-node` `1.4.2`. ## 2.7.0 ### Changed - Now `target` in transfer is represented by `PublicKey` instead of `account-hash`. ## 2.6.2 ### Added - Now minimal bundle without any polyfills included is a part of distribution package. ## 2.6.1 ### Fixed - Added workaround for historical deploys with invalid serialized `0`. ## 2.6.0 ### Added - Added `CasperProvider` ## 2.5.2 ### Fixed - Problem when serializing U128, U256 ad U512 `toBytes`. ## 2.5.1 ### Fixed - Added stronger validation to `PublicKey.fromHex` method - Fix for deploy's `execution_result` type signatures - Fix instanceof problem in `CLValueParser` which caused problems when two different versions of SDK was used in one project - Signer methods fixes ## 2.5.0 ### Added - `signMessage` - added method to sign arbitrary string message - `verifyMessageSignature` - added method to verify signature of arbitrary string message ## 2.4.1 ### Fixed - `EventStream` - fixed problems with multiple data chunks parsing ## 2.4.0 ### Added - `DeployWatcher` added ## 2.3.0 ### Added - `state_get_dictionary_item` with URef support in `getDictionaryItemByURef` implemented ## 2.2.3 ### Fixed - `StoredValue` parsing access param hotfixed ## 2.2.2 ### Fixed - `CLMap` fix for empty maps from bytes - `CLMap` replaced problematic Map implementation ## 2.2.1 ### Fixed - `EventStream` now properly handle invalid JSONs ## 2.2.0 ### Added - `EventStream` added ## 2.1.0 ### Fixed - `state-get-item` due to RPC changes - `CLList` as empty list initialization from JSON ### Added - `getBlockTransfers`, `getEraInfoBySwitchBlock`, `getEraInfoBySwitchBlockHeight` methods to `CasperServiceByJsonRPC` ## 2.0.1 ### Changed - `DeployUtil.deployFromJson` returns now `Result<Deploy, Error>` instead of `Deploy | undefined`. `Error` has a `message` inside. ## 2.0.0 ### Changed - Caution! This release contains rewritten CLValue from scratch, there are some breaking changes so consider it before upgrading. - Removed `CLTypedAndToBytesHelper` to have consistent way of creating new CLValues by using `new CLBool(true)` or `CLValueBuilder.bool(true)` - Removed `CLTypeHelper` have consistent way of creating new CLValues by using `new CLBoolType()` or `CLTypeBuilder.bool()` - `CLValue` static methods now are moved to `CLValueBuilder` eg. `CLValueBuilder.u512` - Every class inheriting from `CLValue` is now named with `CL` prefix, bigger naming changes: - `StringValue` -> `CLString` - `KeyValue` -> `CLKey` - `MapValue` -> `CLMap` - `Option` -> `CLOption` - There are API changes in `CLResult` ``` const myTypesComplex = { ok: new CLListType(new CLListType(new CLU8Type())), err: new CLOptionType(new CLListType(new CLListType(new CLU8Type()))) }; const myOkComplexRes = new CLResult( Ok(new CLList([new CLList([new CLU8(5), new CLU8(10), new CLU8(15)])])), myTypesComplex ); ``` - There are API changes in `CLOption` - now it requires `Some` or `None` wrappers as argument (from `ts-result` library). - Now all the serialization methods are not connected to `CLValue` anymore - `toJSON`, `fromJSON`, `toBytes`, `fromBytes` needs to be called with `CLValueParsers` eg. `CLValueParser.toJSON(CLValueBuilder.string("ABC"))` - Renamed methods in `CLPublicKey`: - `toAccountHex` -> `toHex` - old name led to misunderstandings as in fact this is hex representation of `public-key` prefixed with key-type. - added method `toAccountHashStr` - this methods returns string containing account hash in hex form prefixed with `account-hash-`. ## 1.4.4 ### Changed - Experimental release with `@next` tag. ## 1.4.3 ### Changed - Changed repo name and npm package name from `casper-client-sdk` to `casper-js-sdk`. ## 1.4.2 ### Added - `newTransferWithoutObligatoryId` renamed to `newTransferWithOptionalTransferId` ## 1.4.1 ### Added - `newTransferWithoutObligatoryId` restores the function that gives abilitity to send transfer without providing id. ## 1.4.0 ### Changed - `Signer.sign` now requires deploy in JSON format, `public-key hex` of a sender and `public-key hex` of a target. ## 1.3.4 ### Added - `Signer.getVersion` returns running version of Signer. ## 1.3.3 ### Fixed - `Keys.SECP256K1.new()` and other SECP256K1 releated methods now can work in a browser environment. ## 1.3.2 ### Added - `DeployUtil.deployToBytes(deploy)` returns an `Uint8Array`, which is a byte representation of a deploy. ## 1.3.1 ### Changed - Added `newTransferToUniqAddress` and `UniqAddress`. - Fix in `newTransfer` - `id` now can be `0` ## 1.3.0 ### Changed - Removed EventStore from codebase. - `CasperClient.getDeployByHashFromRPC` is now `CasperClient.getDeploy`. - Fixed problems with `deployFromJson` caused by missing support for deserialization TTL values other than `ms`. ## 1.2.0 ### Changed - BIP-44 Index changed from `748` to `506`. It follows https://github.com/satoshilabs/slips/blob/master/slip-0044.md. All secret and public keys dervied using `CasperHDKey` class will change. ## 1.1.0 ### Changed - `transfer-id` is required parameter in `DeployUtils.newTransfer`. ## 1.0.44 ### Added - Support `disconnectFromSite` method from the Signer. ## 1.0.43 ### Fixed - Missign interface for `getActivePublicKey` method from the Signer. ## 1.0.42 ### Added - Support `getActivePublicKey` method from the Signer. ## 1.0.41 ### Added - `DeployUtils.deployFromJson` verifies `Deploy`'s `hash` and `bodyHash`. If not matching return `undefined`, so the interface doesn't change. ## 1.0.40 ### Changed - New url for docs. ## 1.0.39 ### Fixed - Reverted usage of `TextEncoder` to support Node.js versions < 11. ## 1.0.38 ### Fixed - Problem with U32 deserialization (and all values that uses Buffer polyfill). ## 1.0.37 ### Changed - Changed the default `Deploy`'s ttl from 1h to 30min. ## 1.0.36 ### Fixed - Fixed Delegator interface shape ## 1.0.35 ### Changed - Validate the size of the `Deploy`. Now `CasperServiceByJsonRPC.deploy` throws an error if the size of the deploy is larger then 1 megabyte.` ## 1.0.34 ### Fixed - Problems with Buffer polyfill not working in browser ## 1.0.32 ### Added - `CasperServiceByJsonRPC.getBlockInfoByHeight(height)` ### Fixed - `CasperServiceByJsonRPC.getBlockInfo(hash)` to return requested block, not the last one. ## 1.0.25 ### Added - Added UMD bundle into npm package. ## 1.0.24 ### Added - Adds `protocol_version` to the `JsonHeader`. ### Fixed - Fixes `ValidatorInfoResult` for casper-node ^0.9.0 (creates `AuctionState` interface). ## 1.0.23 ### Changed - Removes use of `Buffer` in `parseKeyPair()` and instead creates new `Uint8Array` concatenating public and private keys for use as secret key in Ed25519 key pair. ## 1.0.22 ### Fixed - Parsing `ExecutableDeployItem`'s `StoredContractByHash` from JSON to the `ExecutableDeployItem` object. ## 1.0.21 ### Added - `CasperClient.getDeployByHashFromRPC` allows for getting `Deploy` instance from the Node's RPC. ### Fixed - Secp keys generator returns `Uint8Array` instead of `Buffer`. ### Changed - `CLValue.publicKey` accepts `PublicKey` object. ## 1.0.20 ### Fixed - Deserialize `Deploy.hash` to `Uint8Array` instead of `Buffer`. ## 1.0.19 ### Added - `CLValue.isList` and `CLValue.asList`. ### Fixed - BytesArrayValue's fromBytes. ## 1.0.18 ### Added - Partial support for the Contract object under StoredValue. ### Fixed - Deploy's body hash derivation. ## 1.0.17 ### Added - Added `DeployUtils.addArgToDeploy(deploy: Deploy, name: string, value: CLValue)` to be able to modify Deploy's session arguments. It creates a new deploy instance. Can not be used on signed deploys. ### Changed - Default `gasPrice` changed from `10` to `1`. - Casper balances checks return `BigNumber` now. ## 1.0.15 ### Added - Started using CHANGELOG.md. ### Changed - Changed CLValue's `value` to `value()` and `remainder` to `remainder()`. <!-- Add version compare links here --> [unreleased]: https://github.com/casper-ecosystem/casper-js-sdk/compare/2.14.0...dev [2.14.0]: https://github.com/casper-ecosystem/casper-js-sdk/compare/2.13.3...2.14.0