Commit graph

587 commits

Author SHA1 Message Date
51a0d0bd77 pallas-addresses: pub fn new on StakeAddress 2026-05-04 12:33:19 -07:00
57b36d3a7c pallas-txbuilder: thread auxiliary_data through StagingTransaction → Conway build
addresses the four TODO comments in pallas-txbuilder/src/transaction/model.rs
and conway.rs around auxiliary_data + auxiliary_data_hash. without this the
conway builder hardcodes auxiliary_data: None, which blocks CIP-20 / CIP-25
/ CIP-68 metadata.

implementation:
- new StagingTransaction field: pub auxiliary_data: Option<Vec<u8>>.
  stored as opaque cbor bytes (caller encodes alonzo::AuxiliaryData) since
  AuxiliaryData itself doesn't impl Eq, which the rest of StagingTransaction
  requires.
- builder methods .auxiliary_data(cbor) and .clear_auxiliary_data().
- conway::build_conway_raw now decodes the bytes back into
  AuxiliaryData::decode_fragment and plugs it into pallas_tx.auxiliary_data.
  the existing auxiliary_data_hash population block is unchanged — it
  already computes the hash from pallas_tx.auxiliary_data after assignment.
- decode failures map to TxBuilderError::CorruptedTxBytes.

tests:
- auxiliary_data_round_trips_through_build: encodes a CIP-25-shaped
  metadata, attaches, builds, decodes resulting tx, asserts both
  body.auxiliary_data_hash matches expected_hash.compute_hash() and the
  aux re-encodes byte-equivalent.
- no_auxiliary_data_means_no_hash: confirms the absence path still works
  (no aux → hash field stays None).

both pre-existing tests (staging_json_roundtrip, built_json_roundtrip,
test_script_data_hash) continue to pass — the new field defaults to None
and rides alongside.

PR upstream pending; using as a vendored patch via [patch.crates-io] on
the Sulkta side until merge.
2026-05-04 12:04:11 -07:00
Santiago Carmuega
af0463f5b6
Release 0.32.1
pallas@0.32.1
pallas-addresses@0.32.1
pallas-applying@0.32.1
pallas-codec@0.32.1
pallas-configs@0.32.1
pallas-crypto@0.32.1
pallas-hardano@0.32.1
pallas-math@0.32.1
pallas-network@0.32.1
pallas-primitives@0.32.1
pallas-traverse@0.32.1
pallas-txbuilder@0.32.1
pallas-utxorpc@0.32.1
pallas-wallet@0.32.1

Generated by cargo-workspaces
2025-06-25 10:28:02 -03:00
Paulo Bressan
d09677bdd4
chore: add n2n handshake version 14 to default options (#665) 2025-06-25 10:27:01 -03:00
Santiago Carmuega
b7b64977e4
Release 0.32.0
pallas@0.32.0
pallas-addresses@0.32.0
pallas-applying@0.32.0
pallas-codec@0.32.0
pallas-configs@0.32.0
pallas-crypto@0.32.0
pallas-hardano@0.32.0
pallas-math@0.32.0
pallas-network@0.32.0
pallas-primitives@0.32.0
pallas-traverse@0.32.0
pallas-txbuilder@0.32.0
pallas-utxorpc@0.32.0
pallas-wallet@0.32.0

Generated by cargo-workspaces
2024-12-29 19:18:18 -03:00
Santiago Carmuega
acc3c7d8af
chore(deps): update utxorpc-spec to v0.15 (#568) 2024-12-29 19:16:24 -03:00
Santiago Carmuega
45e04b0901
feat(traverse): introduce small QoL improvements (#567) 2024-12-29 15:17:08 -03:00
Francisco Joray
3122c92ced
feat(network): implement get_utxo_whole query (#564) 2024-12-23 13:50:40 -03:00
Santiago Carmuega
50cfce2d87
fix(traverse): don't mess with Byron update epoch (#566) 2024-12-22 12:11:04 -03:00
Santiago Carmuega
67789f25cd
feat(applying): include main constants in pparams (#565) 2024-12-22 12:06:47 -03:00
Pedro Sánchez Terraf
9133163b73
feat(network): implement get stake pool parameters query (#554) 2024-12-17 13:04:48 -03:00
Santiago Carmuega
3a614d2c91
chore: apply new lint warnings from latest clippy (#561) 2024-12-14 17:37:33 -03:00
Santiago Carmuega
106d8676b6
chore: fix examples after latest refactors (#560) 2024-12-14 17:18:31 -03:00
Andrew Westberg
1e5c267823
chore(math): replace malachite lib with dashu (#542) 2024-12-14 16:45:32 -03:00
Clark Alesna
fcfc5af253
feat(configs): allow clone for genesis file structs (#528) 2024-12-14 16:42:14 -03:00
Pedro Sánchez Terraf
9747be3095
fix(network): adjust PoolDistr & ProtocolParam structs used for state queries (#551)
Signed-off-by: Pedro Sánchez Terraf <sterraf@users.noreply.github.com>
2024-12-14 16:32:12 -03:00
Santiago Carmuega
227b5781a9
chore(utxorpc): update spec to v0.14 and update redeemer mapper (#559)
Co-authored-by: ricomiles <ricoquiblat@gmail.com>
2024-12-14 16:16:42 -03:00
Logical Mechanism
2864ff45a9
feat(txbuilder): allow cloning of relevant structs (#558)
Co-authored-by: logicalmechanism <logicalmechanism@protonmail.com>
2024-12-13 07:57:36 -03:00
Pedro Sánchez Terraf
cfc840f1b2
feat(network): implement GetFilteredDelegationsAndRewardAccounts query (#552)
Signed-off-by: Santiago Carmuega <santiago@carmuega.me>
Co-authored-by: Santiago Carmuega <santiago@carmuega.me>
2024-12-11 22:15:07 -03:00
Pedro Sánchez Terraf
57157b66fa
feat(network): implement GetUTxOByTxIn state query (#550) 2024-12-11 21:57:25 -03:00
Rico Miles Quiblat
e20ebb6bb8
feat(utxorpc): add execution cost prices to parameter mapper (#555) 2024-12-11 21:55:16 -03:00
Logical Mechanism
e9b7ec23ee
fix(txbuilder): support adding signatures to Conway transactions (#553)
Co-authored-by: logicalmechanism <logicalmechanism@protonmail.com>
Co-authored-by: logicalmechanism <logicalmechanism@proton.mail>
2024-12-11 21:54:09 -03:00
Simon Gellis
296b43f33a
feat(traverse): implement MultiEraValue.into_conway (#545) 2024-11-12 21:06:24 -03:00
Santiago Carmuega
3ba8dac19c
fix: remove math from root crate (#541) 2024-11-04 12:29:46 -03:00
Santiago Carmuega
a8c4ba3979
fix(crypto): remove modules with non-published deps (#540) 2024-11-04 12:16:26 -03:00
Santiago Carmuega
bda3889b41
Release 0.31.0
pallas@0.31.0
pallas-addresses@0.31.0
pallas-applying@0.31.0
pallas-codec@0.31.0
pallas-configs@0.31.0
pallas-crypto@0.31.0
pallas-hardano@0.31.0
pallas-math@0.31.0
pallas-network@0.31.0
pallas-primitives@0.31.0
pallas-traverse@0.31.0
pallas-txbuilder@0.31.0
pallas-utxorpc@0.31.0
pallas-wallet@0.31.0

Generated by cargo-workspaces
2024-11-03 12:28:59 -03:00
Santiago Carmuega
f3de418eee
docs: update readme with latest crate structure (#539) 2024-11-03 12:26:35 -03:00
Santiago Carmuega
e406e8fe58
chore: use new method for github dark mode images (#538) 2024-11-03 11:25:03 -03:00
Santiago Carmuega
3bdae69b0f
chore: remove rolldb from repo (#537) 2024-11-03 11:14:39 -03:00
Santiago Carmuega
00e1611592
chore: update root crate re-exports (#536) 2024-11-03 10:51:34 -03:00
Andrew Westberg
b641c4e686 fix(math): update once_cell::Lazy -> std::sync::LazyLock 2024-10-31 18:18:45 -04:00
Andrew Westberg
2db41703b3 fix(math): fix edge cases of ln and pow 2024-10-30 20:42:33 -04:00
Joshua Marchand (JSHy)
0dd9bcdd7e
fix(txbuilder): don't include empty redeemers in Conway txs (#532) 2024-10-25 19:06:25 -03:00
Santiago Carmuega
211674d81c
fix(txbuilder): sign transactions using Conway era (#531) 2024-10-24 16:17:34 -03:00
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
Santiago Carmuega
061a7796d6
feat(traverse): prioritize Conway for tx decoding heuristics (#527) 2024-10-22 10:27:56 -03:00
Santiago Carmuega
537cd45c23
refactor: support roundtrip encoding for script data hash components (#526) 2024-10-22 10:09:37 -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
4871342a8d feat(crypto): Add Key Evolving Signatures (KES) 2024-10-17 15:12:33 -04:00
Santiago Carmuega
05f8b2bd07
feat(txbuilder): expose independent output builder (#522) 2024-10-17 13:36:33 -03:00
Santiago Carmuega
21af5b7505
feat: add support for Conway config and params traverse (#521)
Co-authored-by: Clark Alesna <clark_alesna@hotmail.com>
Co-authored-by: johnquinnvictaboada <quinnvictaboada@gmail.com>
2024-10-16 21:43:23 -03:00
Santiago Carmuega
4d0f9fc0cf
chore(interop): bump u5c to v0.11.0 (#519) 2024-10-11 09:10:39 -03:00
Andrew Westberg
0ca7c34776
feat(crypto): add extra types and conversions (#517) 2024-10-04 08:37:36 -03:00
Santiago Carmuega
de88df1986
feat(traverse): introduce MultiEraValue (#516) 2024-10-01 09:46:58 -03:00
Santiago Carmuega
80d121d13a
feat(codec): improve KeyValuePairs ergonomics (#515) 2024-10-01 09:00:23 -03:00
Andrew Westberg
615e2d4c29 chore[applying]: Fix cargo fmt from previous commits 2024-09-26 07:58:08 -04:00
Andrew Westberg
73a3a73d0e fix[pallas-math]: use malachite as default 2024-09-26 07:58:08 -04:00
Andrew Westberg
15b424f4fc feat[pallas-crypto]: Add Nonce Capabilities 2024-09-26 07:58:08 -04:00
Pedro Sánchez Terraf
07b74515a4
feat(applying): add cert and native script validation for ShelleyMA (#510)
BREAKING CHANGE: the `validate` fn signature has changed to support these changes

---------

Co-authored-by: Ale Gadea <ale.gadea@txpipe.io>
2024-09-23 13:24:32 -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