Commit graph

103 commits

Author SHA1 Message Date
Santiago Carmuega
698d7a4933
feat(txbuilder): compute ScriptDataHash including edge cases (#525)
Co-authored-by: kalomaaan <kalomaaan@gmail.com>
2024-10-22 22:20:58 -03:00
Matthias Benkort
969d5612b7
refactor: Re-organize and clean-up pallas-primitives (#523)
* Re-organize and clean-up pallas-primitives

  Namely:

  - Move _common_ (i.e. era-independent) types and structures up to the
    `lib` module; to be shared across all eras. If any of those deviate
    in a subsequent era, it is easy to bring them down and define new
    types from the point of divergence onward. This simplifies the scope
    of each era-specific module and make them slightly easier to
    navigate.

    Note that, each era module still re-export all of the common types
    that's relevant to that particular era. So technically, this
    reorganization doesn't really change anything for callers/users of
    the library.

  - Rename `Scripthash` to `ScriptHash`. Before this commit, both
    actually existed as `ScriptHash` was introduced with the Conway era.
    Yet, they refer to the same thing, so the duplication is simply
    confusing.

  - Rename `One` / `Two` constructors for `NetworkId` to `Testnet` and
    `Mainnet` respectively. Also defined idiomatic `From` & `TryFrom`
    implementation for conversion to and from `u8`. This is a lot let
    confusing!

  - Generalize `PlutusScript` with a constant generic, to avoid
    repetition for each plutus script generated for specific version.
    Note that a distinction is still _necessary_ if we want to provie
    out-of-the-box serialisers for Plutus scripts, which are serialised
    with a tag prefix depending on the language. All else apart, they
    are strictly similar types.

  - Rename `CostMdls` to `CostModels`. Because, common.

  - Rename `plutus_script` to `plutus_v1_script` in the Alonzo's witness
    set, for consistency with other eras.

* Fix ordering of ScriptHash variants.

  This is an odd one. See the note.

* Bump minicbor to v0.25.1

* Add aliases with deprecation warnings to various fields and types.

* revert renaming plutus_script to plutus_v1_script in Alonzo witness

  See https://github.com/txpipe/pallas/pull/523#discussion_r1807329742
2024-10-22 08:57:21 -03:00
Andrew Westberg
0ca7c34776
feat(crypto): add extra types and conversions (#517) 2024-10-04 08:37:36 -03:00
Santiago Carmuega
80d121d13a
feat(codec): improve KeyValuePairs ergonomics (#515) 2024-10-01 09:00:23 -03:00
Santiago Carmuega
1bec8be109
Release 0.30.2
pallas@0.30.2
pallas-addresses@0.30.2
pallas-applying@0.30.2
pallas-codec@0.30.2
pallas-configs@0.30.2
pallas-crypto@0.30.2
pallas-hardano@0.30.2
pallas-math@0.30.2
pallas-network@0.30.2
pallas-primitives@0.30.2
pallas-rolldb@0.30.2
pallas-traverse@0.30.2
pallas-txbuilder@0.30.2
pallas-utxorpc@0.30.2
pallas-wallet@0.30.2

Generated by cargo-workspaces
2024-09-08 18:49:23 -03:00
Santiago Carmuega
21640a5c68
Release 0.30.1
pallas@0.30.1
pallas-addresses@0.30.1
pallas-applying@0.30.1
pallas-codec@0.30.1
pallas-configs@0.30.1
pallas-crypto@0.30.1
pallas-hardano@0.30.1
pallas-math@0.30.1
pallas-network@0.30.1
pallas-primitives@0.30.1
pallas-rolldb@0.30.1
pallas-traverse@0.30.1
pallas-txbuilder@0.30.1
pallas-utxorpc@0.30.1
pallas-wallet@0.30.1

Generated by cargo-workspaces
2024-08-25 14:35:15 -03:00
Harper
7aa510389b
fix(primitives): skip nonempty invariant check (#506) 2024-08-25 11:44:35 -03:00
Santiago Carmuega
385973b544
Release 0.30.0
pallas@0.30.0
pallas-addresses@0.30.0
pallas-applying@0.30.0
pallas-codec@0.30.0
pallas-configs@0.30.0
pallas-crypto@0.30.0
pallas-hardano@0.30.0
pallas-math@0.30.0
pallas-network@0.30.0
pallas-primitives@0.30.0
pallas-rolldb@0.30.0
pallas-traverse@0.30.0
pallas-txbuilder@0.30.0
pallas-utxorpc@0.30.0
pallas-wallet@0.30.0

Generated by cargo-workspaces
2024-08-20 14:02:20 -03:00
Matthias Benkort
5c18f06fa2
fix(traverse): use Conway types in places they are meant to (#499) 2024-08-08 08:33:10 -03:00
Santiago Carmuega
5d00e2c992
Release 0.29.0
pallas@0.29.0
pallas-addresses@0.29.0
pallas-applying@0.29.0
pallas-codec@0.29.0
pallas-configs@0.29.0
pallas-crypto@0.29.0
pallas-hardano@0.29.0
pallas-math@0.29.0
pallas-network@0.29.0
pallas-primitives@0.29.0
pallas-rolldb@0.29.0
pallas-traverse@0.29.0
pallas-txbuilder@0.29.0
pallas-utxorpc@0.29.0
pallas-wallet@0.29.0

Generated by cargo-workspaces
2024-07-15 22:31:37 -03:00
Santiago Carmuega
412fde4d6c
Release 0.28.0
pallas@0.28.0
pallas-addresses@0.28.0
pallas-applying@0.28.0
pallas-codec@0.28.0
pallas-configs@0.28.0
pallas-crypto@0.28.0
pallas-hardano@0.28.0
pallas-math@0.28.0
pallas-network@0.28.0
pallas-primitives@0.28.0
pallas-rolldb@0.28.0
pallas-traverse@0.28.0
pallas-txbuilder@0.28.0
pallas-utxorpc@0.28.0
pallas-wallet@0.28.0

Generated by cargo-workspaces
2024-07-01 13:39:28 -03:00
Santiago Carmuega
91e17f31d1
Release 0.27.0
pallas@0.27.0
pallas-addresses@0.27.0
pallas-applying@0.27.0
pallas-codec@0.27.0
pallas-configs@0.27.0
pallas-crypto@0.27.0
pallas-hardano@0.27.0
pallas-network@0.27.0
pallas-primitives@0.27.0
pallas-rolldb@0.27.0
pallas-traverse@0.27.0
pallas-txbuilder@0.27.0
pallas-utxorpc@0.27.0
pallas-wallet@0.27.0

Generated by cargo-workspaces
2024-06-01 08:47:13 -03:00
Santiago Carmuega
51a81241d3
Release 0.26.0
pallas@0.26.0
pallas-addresses@0.26.0
pallas-applying@0.26.0
pallas-codec@0.26.0
pallas-configs@0.26.0
pallas-crypto@0.26.0
pallas-hardano@0.26.0
pallas-network@0.26.0
pallas-primitives@0.26.0
pallas-rolldb@0.26.0
pallas-traverse@0.26.0
pallas-txbuilder@0.26.0
pallas-utxorpc@0.26.0
pallas-wallet@0.26.0

Generated by cargo-workspaces
2024-05-21 08:32:18 -03:00
Alexsander Falcucci
97a32c9af5
feat(network): implement GetChainBlockNo local state query (#441) 2024-04-16 09:27:23 -03:00
Santiago Carmuega
d5fd8f1e20
Release 0.25.0
pallas@0.25.0
pallas-addresses@0.25.0
pallas-applying@0.25.0
pallas-codec@0.25.0
pallas-configs@0.25.0
pallas-crypto@0.25.0
pallas-hardano@0.25.0
pallas-network@0.25.0
pallas-primitives@0.25.0
pallas-rolldb@0.25.0
pallas-traverse@0.25.0
pallas-txbuilder@0.25.0
pallas-utxorpc@0.25.0
pallas-wallet@0.25.0

Generated by cargo-workspaces
2024-04-02 09:50:58 -03:00
Harper
c31e773ce2
feat: add Conway 2024-03 CDDL conformity (#424) 2024-04-01 14:02:52 -03:00
Santiago Carmuega
00ece5d300
Release 0.24.0
pallas@0.24.0
pallas-addresses@0.24.0
pallas-applying@0.24.0
pallas-codec@0.24.0
pallas-configs@0.24.0
pallas-crypto@0.24.0
pallas-hardano@0.24.0
pallas-network@0.24.0
pallas-primitives@0.24.0
pallas-rolldb@0.24.0
pallas-traverse@0.24.0
pallas-txbuilder@0.24.0
pallas-utxorpc@0.24.0
pallas-wallet@0.24.0

Generated by cargo-workspaces
2024-03-09 08:09:42 -03:00
Santiago Carmuega
54997daf66
fix(primitives): contemplate Conway's CBOR set tag (#421)
Co-authored-by: jmhrpr <25673452+jmhrpr@users.noreply.github.com>
2024-03-08 19:32:03 -03:00
Santiago Carmuega
5a44f38e7a
Release 0.23.0
pallas@0.23.0
pallas-addresses@0.23.0
pallas-applying@0.23.0
pallas-codec@0.23.0
pallas-configs@0.23.0
pallas-crypto@0.23.0
pallas-hardano@0.23.0
pallas-network@0.23.0
pallas-primitives@0.23.0
pallas-rolldb@0.23.0
pallas-traverse@0.23.0
pallas-txbuilder@0.23.0
pallas-utxorpc@0.23.0
pallas-wallet@0.23.0

Generated by cargo-workspaces
2024-02-11 18:02:33 -03:00
Santiago Carmuega
3dd00ad3cd
chore: fix new lint warnings (#400) 2024-02-11 17:56:22 -03:00
Santiago Carmuega
8916e43b95
Release 0.22.0
pallas@0.22.0
pallas-addresses@0.22.0
pallas-applying@0.22.0
pallas-codec@0.22.0
pallas-configs@0.22.0
pallas-crypto@0.22.0
pallas-hardano@0.22.0
pallas-network@0.22.0
pallas-primitives@0.22.0
pallas-rolldb@0.22.0
pallas-traverse@0.22.0
pallas-txbuilder@0.22.0
pallas-utxorpc@0.22.0
pallas-wallet@0.22.0

Generated by cargo-workspaces
2024-01-25 09:03:26 -03:00
Matthias Benkort
7cb1ffe100
fix(codec): Fix flat encoding and decoding of arbitrarily size integers (#378)
This commits fixes the flat encoding and decoding (and consequently,
  the zigzag) for large integers in the following ways:

  - It removes support for encoding and decoding i128 values.

  - It optionally (feature = "num-bigint") introduces encoding and
    decoding of large sized integers through the num-bigint::BigInt
    type.

  Without the feature enabled, it is still possible to encode and decode
  isize values; but the use of i128 is now prohibited (as it would
  overflow on boundaries) in favor of arbitrarily sized integers.

  The commit also introduces a missing property roundtrip for encoding
  and decoding large integers, which was missing and thus, failed to
  identify the overflow problem.

  See related issue: https://github.com/aiken-lang/aiken/issues/796
2024-01-13 10:09:16 -03:00
Santiago Carmuega
cf98e1e5da
release: v0.21.0 (#375) 2024-01-04 10:07:12 -03:00
dependabot[bot]
caef9d9c34
build(deps): update minicbor requirement from 0.19 to 0.20 (#337)
Updates the requirements on [minicbor](https://gitlab.com/twittner/minicbor) to permit the latest version.
- [Changelog](https://gitlab.com/twittner/minicbor/blob/develop/CHANGELOG.md)
- [Commits](https://gitlab.com/twittner/minicbor/compare/minicbor-v0.19.0...minicbor-v0.20.0)

---
updated-dependencies:
- dependency-name: minicbor
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 07:20:08 -03:00
Alexsander Falcucci
6f1b15269c
feat(network): implement GetUTxOByAddress local state query (#341) 2023-12-12 09:31:46 -03:00
Alexsander Falcucci
645989465d
feat(network): implement stake distribution local state query (#340) 2023-11-24 06:43:25 -03:00
Santiago Carmuega
25b552c6a9
Release 0.20.0
pallas@0.20.0
pallas-addresses@0.20.0
pallas-applying@0.20.0
pallas-codec@0.20.0
pallas-configs@0.20.0
pallas-crypto@0.20.0
pallas-network@0.20.0
pallas-primitives@0.20.0
pallas-rolldb@0.20.0
pallas-traverse@0.20.0
pallas-utxorpc@0.20.0

Generated by cargo-workspaces
2023-11-20 19:53:17 -03:00
Santiago Carmuega
f26b9bd591
chore: fix lint warnings (#330) 2023-11-13 17:00:00 -03:00
Santiago Carmuega
aae7d92b44
feat(codec): add utility for untyped CBOR fragments (#327) 2023-11-09 18:22:42 -03:00
Maico Leberle
986ee75761
feat: scaffold Byron phase-1 validations (#300)
Co-authored-by: Santiago Carmuega <santiago@carmuega.me>
2023-10-10 17:16:26 -03:00
Lucas
7fada705a0
feat: Move flat en/de from aiken to pallas (#303)
Nothing new is going on within the code itself.
I simply popped the crate into pallas_codec
as a submodule `pallas_codec::flat`. I also moved
over the tests that we had in the crate. In general
this is in solid shape and hasn't had any changes for
months. That said there could be some things that require love
like dealing with BigInt.

Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-10-04 19:08:52 -04:00
Santiago Carmuega
18428298a4
Release 0.19.1
pallas@0.19.1
pallas-addresses@0.19.1
pallas-codec@0.19.1
pallas-crypto@0.19.1
pallas-network@0.19.1
pallas-primitives@0.19.1
pallas-traverse@0.19.1
pallas-utxorpc@0.19.1

Generated by cargo-workspaces
2023-09-10 22:49:11 -03:00
Santiago Carmuega
1b1f5faaca
Release 0.19.0
pallas@0.19.0
pallas-addresses@0.19.0
pallas-codec@0.19.0
pallas-crypto@0.19.0
pallas-network@0.19.0
pallas-primitives@0.19.0
pallas-traverse@0.19.0
pallas-utxorpc@0.19.0

Generated by cargo-workspaces
2023-09-09 10:31:39 -03:00
Santiago Carmuega
e117a2723a
feat: add helper to create bootstrap addresses (#269) 2023-07-29 18:15:00 -03:00
Santiago Carmuega
ea9c4e8b59
Release 0.19.0-alpha.2
pallas@0.19.0-alpha.2
pallas-addresses@0.19.0-alpha.2
pallas-codec@0.19.0-alpha.2
pallas-crypto@0.19.0-alpha.2
pallas-network@0.19.0-alpha.2
pallas-primitives@0.19.0-alpha.2
pallas-traverse@0.19.0-alpha.2
pallas-utxorpc@0.19.0-alpha.2

Generated by cargo-workspaces
2023-07-18 22:58:45 -03:00
Santiago Carmuega
fcd8bb2e62
Release 0.19.0-alpha.1
pallas@0.19.0-alpha.1
pallas-addresses@0.19.0-alpha.1
pallas-codec@0.19.0-alpha.1
pallas-crypto@0.19.0-alpha.1
pallas-network@0.19.0-alpha.1
pallas-primitives@0.19.0-alpha.1
pallas-traverse@0.19.0-alpha.1
pallas-utxorpc@0.19.0-alpha.1

Generated by cargo-workspaces
2023-06-11 21:42:56 -03:00
Santiago Carmuega
535147e9c4
Release 0.19.0-alpha.0
pallas@0.19.0-alpha.0
pallas-addresses@0.19.0-alpha.0
pallas-codec@0.19.0-alpha.0
pallas-crypto@0.19.0-alpha.0
pallas-network@0.19.0-alpha.0
pallas-primitives@0.19.0-alpha.0
pallas-traverse@0.19.0-alpha.0
pallas-upstream@0.19.0-alpha.0

Generated by cargo-workspaces
2023-04-13 21:31:42 -03:00
Mitchell Turner
61f50b2cca
feat(addresses): Derive Hash on Address (#235)
authored-by: Turner <mitch@tpfs.io>
2023-03-14 18:10:55 -03:00
Santiago Carmuega
97727ce107
Release 0.18.0
pallas@0.18.0
pallas-addresses@0.18.0
pallas-codec@0.18.0
pallas-crypto@0.18.0
pallas-miniprotocols@0.18.0
pallas-multiplexer@0.18.0
pallas-primitives@0.18.0
pallas-traverse@0.18.0

Generated by cargo-workspaces
2023-02-04 09:01:11 -03:00
dependabot[bot]
773a774c1b
build(deps): update minicbor requirement from 0.18 to 0.19 (#213)
Updates the requirements on [minicbor](https://gitlab.com/twittner/minicbor) to permit the latest version.
- [Release notes](https://gitlab.com/twittner/minicbor/tags)
- [Changelog](https://gitlab.com/twittner/minicbor/blob/develop/CHANGELOG.md)
- [Commits](https://gitlab.com/twittner/minicbor/compare/minicbor-v0.18.0...minicbor-v0.19.0)

---
updated-dependencies:
- dependency-name: minicbor
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-04 08:51:25 -03:00
Santiago Carmuega
16d0211c5b
feat(miniprotocols): Implement tx submission client (#220)
* feat(miniprotocols): Implement tx submission client

* Match CDDL specs

* Fix build errors

* Add server implementation for txsubmission

Also includes some documentation for how to use both the client and the server

* cargo fmt

* clippy suggestions

clippy pls

* Fail explicitly on missing n2c unix socket

---------

Co-authored-by: Pi Lanningham <pi@sundaeswap.finance>
2023-02-03 20:38:12 -05:00
Santiago Carmuega
e600190107
fix: Provide original hash for inline datum (#221) 2023-02-03 14:58:39 -03:00
Santiago Carmuega
2e86a39042 Release 0.17.0
pallas@0.17.0
pallas-addresses@0.17.0
pallas-codec@0.17.0
pallas-crypto@0.17.0
pallas-miniprotocols@0.17.0
pallas-multiplexer@0.17.0
pallas-primitives@0.17.0
pallas-traverse@0.17.0

Generated by cargo-workspaces
2023-01-26 07:10:23 -03:00
Harper
c6730340d0
fix: use PlutusBytes to encode BigUInt/BigNInt (#216) 2023-01-25 21:15:55 -03:00
Santiago Carmuega
120e782988 Release 0.16.0
pallas@0.16.0
pallas-addresses@0.16.0
pallas-codec@0.16.0
pallas-crypto@0.16.0
pallas-miniprotocols@0.16.0
pallas-multiplexer@0.16.0
pallas-primitives@0.16.0
pallas-traverse@0.16.0

Generated by cargo-workspaces
2023-01-06 11:54:37 -03:00
Santiago Carmuega
c51580d042
feat(miniprotocols): Introduce tracing (#214) 2022-12-20 14:31:43 -03:00
Karol Ochman-Milarski
6fa936a998
fix: Match CBOR encoding of plutus data with the haskell implementation. (#212)
* Add failing cbor rountrip test
* Encode lists like haskell does
* Encode plutus data bytestrings as haskell does

That is:
 - as bytestring for up to 64 bytes length
 - as an indefinite bytestring made of 64 byte chunks, last one can be shorter
2022-12-14 21:20:11 -03:00
Santiago Carmuega
59ccdcda40 Release 0.15.0
pallas@0.15.0
pallas-addresses@0.15.0
pallas-codec@0.15.0
pallas-crypto@0.15.0
pallas-miniprotocols@0.15.0
pallas-multiplexer@0.15.0
pallas-primitives@0.15.0
pallas-traverse@0.15.0

Generated by cargo-workspaces
2022-11-13 11:38:17 -03:00
Santiago Carmuega
a34060a2a2 Release 0.14.1
pallas@0.14.1
pallas-addresses@0.14.1
pallas-codec@0.14.1
pallas-crypto@0.14.1
pallas-miniprotocols@0.14.1
pallas-multiplexer@0.14.1
pallas-primitives@0.14.1
pallas-traverse@0.14.1

Generated by cargo-workspaces
2022-11-13 11:12:54 -03:00
Santiago Carmuega
f4b278aa23 Release 0.14.0
pallas@0.14.0
pallas-addresses@0.14.0
pallas-codec@0.14.0
pallas-crypto@0.14.0
pallas-miniprotocols@0.14.0
pallas-multiplexer@0.14.0
pallas-primitives@0.14.0
pallas-traverse@0.14.0

Generated by cargo-workspaces
2022-10-13 20:10:38 -03:00