Skip to content

Releases: keefertaylor/TezosKit

Babylon Support

20 Jan 23:31
Compare
Choose a tag to compare

Version 4.2 updates TezosKit to support new Smart Contract functionality introduced in the Babylon protocol ammendment. Specifically:

  • Add support for multiple big maps
  • Add support for contract entry points
  • Update RPCs for breaking changes introduced by Babylon

Additionally this update migrates the TokenContractClient to use Tezos' FA1.2 standard. It also updates DexterExchangeClient to work with the most recent revision of DEXter.

4.1.0

26 Sep 07:26
Compare
Choose a tag to compare
Fixing file

DEXter Exchange Integration

26 Sep 07:04
33c1a38
Compare
Choose a tag to compare
Pre-release

New Features

DEXter Integration

In collaboration with CamlCase, TezosKit provides first class integration for DEXter, a decentralized exchange built on Tezos.

Clients can interact with a DEXter smart contract through the new DexterExchangeClient class. Clients can also interact with underlying token contracts using the new TokenContractClient class.

Fee, Gas Limit and Storage Limit Policy

A new enum, OperationFeesPolicy provides a more granular way to provide fees for operations on the Tezos blockchain. OperationsFeesPolicy has three cases:
(1) default: use the default fees for the protocol
(2) custom: provide your own OperationFees via an associated value
(3) estimate: estimate and apply fees for your operation via simulating the operation on the Tezos blockchain.

New APIs have been exposed to allow users to pass these enums. The default is default.

// New API
public func delegate(
    from source: Address,
    to delegate: Address,
    signatureProvider: SignatureProvider,
    operationFeePolicy: OperationFeePolicy = .default,
    completion: @escaping (Result<String, TezosKitError>) -> Void
) { ... }

// Usage Examples

// Use default fees
delegate(<...>, .default) 

// Use custom fees
let operationFees = OperationFees(<...>)
delegate(<...>, .custom(operationFees));

// Estimate fees
delegate(<...>, .estimate);

Older versions of TezosKit allowed users to pass an optional OperationFees object when appending an operation to the ledger. These APIs are now deprecated:

// Deprecated
public func delegate(
    from source: Address,
    to delegate: Address,
    signatureProvider: SignatureProvider,
    operationFees: OperationFees? = nil,
    completion: @escaping (Result<String, TezosKitError>) -> Void
) { ... }

4.0.1: Merge pull request #108 from keefertaylor/public_op_fees_init

14 Aug 23:00
e262356
Compare
Choose a tag to compare
Allow external instantiation of OperationFees

Smart Contract Interaction Improvements

30 Jul 17:13
97a8891
Compare
Choose a tag to compare

TezosKit 4.0

TezosKit 4.0.0 Improves interactions with smart contracts.

Smart Contracts

The following APIs are added to TezosNodeClient:

// Call a smart contract
public func call(...)

// Inspect smart contract storage
public func getContractStorage(...)

// Inspect big map values
public func getBigMapValue(...)

Equivalent PromiseKit APIs are also provided.

Additionally, MichelsonParameter and MichelsonComparable objects are provided to model these interactions.

For additional details about working with Michelson, see: https://github.com/keefertaylor/TezosKit/blob/master/docs/Michelson.md

Other APIs

Signing

A new SignatureProvider class now provides an abstraction for Signing. All Wallet objects now conform to this class and can continue to be used to sign operatins.

Protocol Modeling

A new enum, TezosProtocol provides details about the what protocol version the remote node is running. The value is provided to TezosNodeClient at instantiation time.

Default Fees

A new class, DefaultFeeProvider, is introduced to provide an abstraction between TezosProtocol and default fees. The class is internal to TezosNodeClient and this change should be transparent to suers.

Forging Policy

A new enum, ForgingPolicy, is introduced to express how operations should be forged. TezosKit does not yet support local forging, so the only valid value of this policy is .remote.

Networking

AbstractClient is removed as a super class of TezosNodeClient and ConseilClient and replaced with a new class NetworkClient which is wrapped by the clients.

Athens Protocol Support

02 Jun 11:03
Compare
Choose a tag to compare

This release upgrades TezosKit to be compatible with the Athens protocol.

Upgrade Crypto Library

28 Apr 22:31
Compare
Choose a tag to compare

TezosCrypto 2.0.1 provides new abstractions for cryptographic programming. These abstractions can be used to build out additional TezosKit features, like tz2 and tz3 signing curves, or secure enclave based signing.

Conseil Support

22 Apr 15:10
bc498e9
Compare
Choose a tag to compare

TezosKit 3.0 adds support for Conseil, a powerful indexing service provided by Cryptonomic.

You can learn more about using Conseil here: https://github.com/keefertaylor/TezosKit/blob/master/docs/Conseil.md

2.0.0

19 Mar 22:39
Compare
Choose a tag to compare

Version 2.0.0

Version 2.0.0 introduces two major features:

  • Result style objects in callbacks, rather than objects and errors
  • Promise functionality, via PromiseKit

Version 2.0.0 also introduces performance enhancements and more modular code structure to support future improvements.

1.2.2

26 Jan 14:06
Compare
Choose a tag to compare
Bump fix