TosiDrop / vm-frontend

Frontend for TosiDrop
MIT License
6 stars 6 forks source link

chore(deps): bump @emurgo/cardano-serialization-lib-nodejs from 11.5.0 to 13.0.0 in /server #505

Closed dependabot[bot] closed 1 month ago

dependabot[bot] commented 1 month ago

Bumps @emurgo/cardano-serialization-lib-nodejs from 11.5.0 to 13.0.0.

Release notes

Sourced from @​emurgo/cardano-serialization-lib-nodejs's releases.

13.0.0 Set theory

Serialization Changes:

  • Set Type Serialization: All set types are now serialized with a tag "258", which will become mandatory after the next hard fork (HF). There is no way to force serialization without the tag. The period between the current and the next era serves as a transition between the old CBOR format and the new CBOR format for sets.

  • Preservation of Original Transaction Bytes: Only the FixedTransaction type can preserve original transaction bytes. This is crucial when signing a transaction from a third party, as there is no guarantee that all CBOR types will be in a specific format.

  • Redeemers Collection Serialization: The redeemers collection is now serialized as a map by default. After the next HF, redeemers will only be allowed as a map.

API Changes:

  • New Function has_transaction_set_tag: We've added the has_transaction_set_tag function to help you check if all sets in a transaction have the tag. It returns TransactionSetsState based on the transaction's content. This is useful for determining whether a transaction can be signed by a hardware wallet. In the case of MixedSets, it might be impossible to sign a transaction with a hardware wallet. Once the tag "258" becomes mandatory, we will remove the has_transaction_set_tag function.

    enum TransactionSetsState {
        AllSetsHaveTag = 0,
        AllSetsHaveNoTag = 1,
        MixedSets = 2,
    }
    
  • Removal of hash_transaction: The hash_transaction function has been removed because it cannot guarantee the correctness of a transaction hash for a transaction from a third-party tool. Instead, you should use the FixedTransaction type.

    WARNING: If you need to sign a transaction from a third party, use the FixedTransaction type. Do not use the Transaction type, as it is not serialization round-trip safe and the transaction hash might be incorrect.

Examples:

  • Getting a Transaction Hash from a Third-Party Transaction:

    let transaction = FixedTransaction::from_hex("tx_hex")?; // Or use from_bytes if you have a byte array.
    let tx_hash = transaction.transaction_hash();
    
  • Getting a Transaction Hash from a Transaction from a Transaction Builder:

    let tx = tx_builder.build_tx()?;
    let transaction = FixedTransaction::from_bytes(tx.to_bytes())?; 
    let tx_hash = transaction.transaction_hash();
    
  • Getting a Transaction Hash from a Transaction Body from a Transaction Builder:

    let tx_body = tx_builder.build()?;
    let transaction = FixedTransaction::new_from_body_bytes(tx_body.to_bytes())?;
    let tx_hash = transaction.transaction_hash();
    

... (truncated)

Commits
  • b6f7b26 update js.flow
  • 3fa975f version bump
  • 4a5df88 remove hash_transaction function
  • 942a4eb add has_transaction_set_tag function
  • afbceba preserve original tag/no-tag for FixedTxWitnessesSet
  • 84db6dd remove extra functions
  • 601c285 PlutusList always with set tag
  • ebe60c5 BootstrapWitnesses, Plutus script witnesses always with set tag
  • a198ecd Merge branch 'refs/heads/master' into evgenii/sets_and_tags
  • 31d929d Merge pull request #695 from Emurgo/evgenii/bootstrap_witnesses_fakes
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 1 month ago

Superseded by #510.