Skip to content

Commit

Permalink
Merge pull request #1256 from Plutonomicon/klntsky/prepare-release
Browse files Browse the repository at this point in the history
Prepare for v3 release
  • Loading branch information
klntsky committed Nov 21, 2022
2 parents a6661e1 + 708dc61 commit cf8638c
Show file tree
Hide file tree
Showing 14 changed files with 10,380 additions and 1,411 deletions.
30 changes: 22 additions & 8 deletions CHANGELOG.md
Expand Up @@ -6,30 +6,43 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

**Table of Contents**

- [[Unreleased]](#unreleased)
- [[Unreleased]](#-unreleased-)
- [Added](#added)
- [Changed](#changed)
- [Removed](#removed)
- [Fixed](#fixed)
- [[2.0.0] - 2022-09-12](#200---2022-09-12)
- [[3.0.0]](#-300-)
- [Added](#added-1)
- [Changed](#changed-1)
- [Removed](#removed-1)
- [Fixed](#fixed-1)
- [[2.0.0-alpha] - 2022-07-05](#200-alpha---2022-07-05)
- [[2.0.0] - 2022-09-12](#-200----2022-09-12)
- [Added](#added-2)
- [Removed](#removed-2)
- [Changed](#changed-2)
- [Removed](#removed-2)
- [Fixed](#fixed-2)
- [[1.1.0] - 2022-06-30](#110---2022-06-30)
- [[2.0.0-alpha] - 2022-07-05](#-200-alpha----2022-07-05)
- [Added](#added-3)
- [Removed](#removed-3)
- [Changed](#changed-3)
- [Fixed](#fixed-3)
- [[1.0.1] - 2022-06-17](#101---2022-06-17)
- [[1.1.0] - 2022-06-30](#-110----2022-06-30)
- [Fixed](#fixed-4)
- [[1.0.0] - 2022-06-10](#100---2022-06-10)
- [[1.0.1] - 2022-06-17](#-101----2022-06-17)
- [Fixed](#fixed-5)
- [[1.0.0] - 2022-06-10](#-100----2022-06-10)

## [Unreleased]

### Added

## [Unreleased]
### Changed

### Removed

### Fixed

## [3.0.0]

### Added

Expand Down Expand Up @@ -90,6 +103,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
- `Interval` type is redesigned to restrain some finite intervals to be expressed in the system ([#1041](https://github.com/Plutonomicon/cardano-transaction-lib/issues/1041))

### Removed

- `balanceAndSignTxE`, `balanceAndSignTx`, `balanceAndSignTxs`, `balanceTxWithAddress`, `balanceTxsWithAddress`, `withBalancedAndSignedTx` and `withBalancedAndSignedTxs` from `Contract.Transaction` ([#1053](https://github.com/Plutonomicon/cardano-transaction-lib/pull/1053))
- `ScriptOutput` is removed and therefore not exported by `Contract.Address` anymore. also, `Contract.Transaction` doesn't export `scriptOutputToTransactionOutput` anymore ([#652](https://github.com/Plutonomicon/cardano-transaction-lib/issues/652)).
- `Contract.TxConstraints.TxConstraint` type from public API. The users should rely on domain functions instead ([#1135](https://github.com/Plutonomicon/cardano-transaction-lib/pull/1135))
Expand Down
5 changes: 3 additions & 2 deletions README.md
Expand Up @@ -65,8 +65,8 @@ CTL is directly inspired by the Plutus Application Backend (PAB). Unlike PAB, ho
1. How do we get the transaction in the right format?
- This is handled by `cardano-serialization-lib`, a Rust library available as WASM
2. How do we query the chain?
- This has been solved using Ogmios
- We may, however, support a BlockFrost backend as well in the future
- This has been solved using Ogmios & Kupo
- We will support an alternative BlockFrost backend as well in the future
3. How do we query for datums (i.e. the datums themselves and not just their hashes)?
- `ogmios-datum-cache` solves this problem
4. How do we submit the transaction?
Expand All @@ -81,6 +81,7 @@ CTL is directly inspired by the Plutus Application Backend (PAB). Unlike PAB, ho

- [`cardano-serialization-lib`](https://github.com/Emurgo/cardano-serialization-lib/)
- [Ogmios](https://ogmios.dev) for chain queries
- [Kupo](https://cardanosolutions.github.io/kupo/) for chain queries
- [CIP-30](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0030) (wallet interface - Nami partially implements this)
- [Nami docs](https://github.com/Berry-Pool/nami-wallet)
- [Alonzo CDDL spec](https://github.com/input-output-hk/cardano-ledger/blob/0738804155245062f05e2f355fadd1d16f04cd56/alonzo/impl/cddl-files/alonzo.cddl)
Expand Down
4 changes: 2 additions & 2 deletions doc/ctl-as-dependency.md
Expand Up @@ -23,13 +23,13 @@ The following caveats alway applies when using CTL from your project:
CTL exposes two `overlay`s from its flake. You can use these in the Nix setup of your own project to use the same setup as we do, e.g. the same packages and PS builders:

- `overlays.purescript` contains Purescript builders to compile Purescript sources, build bundles with Webpack (`bundlePursProject`), run unit tests using NodeJS (`runPursTest`), run CTL contracts on a private testnet using Plutip (`runPlutipTest`), or build Pursuit documentation (`buildSearchablePursDocs` and `launchSearchablePursDocs`)
- `overlays.runtime` contains various packages and other tools used in CTL's runtime, including `ogmios`, `ogmios-datum-cache`, `plutip-server`, and our own `ctl-server`. It also defines `buildCtlRuntime` and `launchCtlRuntime` to help you quickly launch all runtime services (see the [runtime docs](./runtime.md))
- `overlays.runtime` contains various packages and other tools used in CTL's runtime, including `ogmios`, `kupo`, `ogmios-datum-cache`, `plutip-server`, and our own `ctl-server`. It also defines `buildCtlRuntime` and `launchCtlRuntime` to help you quickly launch all runtime services (see the [runtime docs](./runtime.md))

We've split the overlays into two components to allow users to more easily choose which parts of CTL's Nix infrastructure they would like to directly consume. For example, some users do not require a pre-packaged runtime and would prefer to build it themselves with more control over its components (e.g. by directly using `ogmios` from their own `inputs`). Such users might still like to use our `purescript` overlay -- splitting the `overlays` allows us to support this. `overlays.runtime` also contains several haskell.nix packages which may cause issues with `hackage.nix` versions in your own project.

Do note that `runPlutipTest` in `overlays.purescript` requires the presence of all of our runtime components. If you choose not to consume `overlays.runtime`, please ensure that your package set contains these (e.g. by adding them to your own `overlays` when instantiating `nixpkgs`). You can find a complete list of the required runtime services [here](./plutip-testing.md#architecture).

To see an example project that uses both `overlays`, please refer to our [scaffolding template](../templates/ctl-scaffold/flake.nix). You can also use this template to conveniently initialize a new CTL-based project (`nix flake init -t github:Plutonomicon/cardano-transaction-lib` in a new directory).
To see an example project that uses both `overlays`, please refer to our [scaffolding template](../templates/ctl-scaffold/flake.nix). You can also use this template to conveniently initialize a new CTL-based project (`nix flake init -t github:Plutonomicon/cardano-transaction-lib` in a new directory). It will take a significant amount of time for spago to download the dependencies.

## Upgrading CTL

Expand Down
1 change: 1 addition & 0 deletions doc/plutip-testing.md
Expand Up @@ -17,6 +17,7 @@ CTL depends on a number of binaries in the `$PATH` to execute Plutip tests:

- `plutip-server` to launch a local `cardano-node` cluster
- [`ogmios`](https://ogmios.dev/)
- [`kupo`](https://cardanosolutions.github.io/kupo/)
- [`ogmios-datum-cache`](https://github.com/mlabs-haskell/ogmios-datum-cache)
- PostgreSQL: `initdb`, `createdb` and `psql` for `ogmios-datum-cache` storage

Expand Down
25 changes: 6 additions & 19 deletions doc/runtime.md
Expand Up @@ -8,9 +8,7 @@ In order to run CTL's `Contract` effects, several services are required. These c
- [Using NixOS module](#using-nixos-module)
- [Using CTL's `runtime` overlay](#using-ctl-s--runtime--overlay)
- [Changing network configurations](#changing-network-configurations)
- [Other requirements](#other-requirements)
- [With Nami:](#with-nami-)
- [With Gero:](#with-gero-)
- [Wallet requirements](#wallet-requirements)

### Current services

Expand Down Expand Up @@ -60,21 +58,10 @@ inputs.cardano-transaction-lib.inputs.cardano-configurations.follows = "...";

When changing networks, make sure that `network.magic` is correctly synchronized with value in config (see `protocolConsts.protocolMagic` in `byron.json`).

### Other requirements
### Wallet requirements

In order to run most `Contract` actions in the browser, **you must use Nami or Gero wallet**. The following steps must be taken to ensure that you can run CTL contracts:
In order to run most `Contract` actions in the browser, **you must use one of the supported wallets**. The following steps must be taken to ensure that you can run CTL contracts:

#### With Nami:

1. Install [Nami extension](https://chrome.google.com/webstore/detail/nami/lpfcbjknijpeeillifnkikgncikgfhdo)
- Due to limitations with Nami itself, only Chromium-based browsers are supported
2. Make sure that you have an active wallet
3. Make sure that your wallet is running on the testnet (can be configured via a toggle in the settings menu)
4. Make sure that you have set collateral for the wallet, which Nami reserves apart from other wallet UTxOs

#### With Gero:

1. Install [GeroWallet Testnet extension](https://chrome.google.com/webstore/detail/gerowallet-testnet/iifeegfcfhlhhnilhfoeihllenamcfgc)
- Due to limitations with Gero itself, only Chromium-based browsers are supported
2. Make sure that you have an active wallet
3. Make sure that you have set collateral for the wallet, which Gero reserves apart from other wallet UTxOs
1. Make sure that your wallet is running on the testnet (some wallets can be configured via a toggle in the settings menu, other provide a separate extension)
2. Fund the wallet using the [Testnet Faucet](https://docs.cardano.org/cardano-testnet/tools/faucet/)
3. Make sure that you have set collateral for the wallet, which wallets reserve apart from other UTxOs
2 changes: 1 addition & 1 deletion package.json
@@ -1,6 +1,6 @@
{
"name": "cardano-transaction-lib",
"version": "2.0.0-alpha",
"version": "3.0.0",
"description": "",
"repository": {
"type": "git",
Expand Down

0 comments on commit cf8638c

Please sign in to comment.