Skip to content

Releases: AIBlockOfficial/Chain

v1.1.3

06 Jun 08:52
be3a48d

Choose a tag to compare

Changelog

  • Prevents an empty transaction (without inputs and outputs) from being validated correctly

v1.1.2

13 May 12:15
0c45924

Choose a tag to compare

Changelog

  • tx_is_valid and tx_outs_are_valid have changed from a bool return type to a (bool, String) return type, where the String contains reasoning or additional information about the nature of the validation.

Some Notes: In most cases, a correct validation will return no additional information at the chain level. For incorrect validations, the reasoning should in most cases provide more comprehensive context but may need to be updated when newer error types become possible

v1.1.1

06 May 10:39
38308d5

Choose a tag to compare

Changelog

  • Removes the correct validation of signature messages under old structures

TODO: Old transactions will have signature information that contains old structures, and old spends on-chain will no longer validate correctly. This should be noted in future, as external validations will need to be correctly proved.

v1.1.0 (tw_chain)

10 Jan 11:02
9bedfdd

Choose a tag to compare

Changelog

  • Removes the old P2PKH transaction validation structure. Note that this is a non-backwards compatible change, motivating a minor version bump

v1.0.6

12 Apr 09:15
9b4ae93

Choose a tag to compare

Changelog

  • Updates signable_data input to include all output info as well as the current input's previous_out

v1.0.5

11 Apr 08:45
912467d

Choose a tag to compare

Changelog

  • Removes JSON string parsing for signed data

v1.0.4

10 Apr 13:59
14f38d3

Choose a tag to compare

Changelog

  • Adds validation for input signature for payments to a combination of the previous output's transaction hash and all available outputs' addresses.

Validation Change

It's now possible to use the following structure for data to be signed for P2PKH transactions:

let signable_data = ""df8f140e031c380a379d6eff80f767f58c13f314bfd7a34875fca7368bde0d52""56181905ff39daad6d02b87e5c6a1630b54a3374b74f2ec7cf836a1487d34bde"000000"

Where the first 2 values, in quotes, are the addresses of the outputs, and the last value (000000) is the transaction hash of the particular input's previous outpoint

v1.0.3

05 Apr 13:00
0823a78

Choose a tag to compare

Changelog

  • Replaces all println with tracing
  • Checks overflows for integers/floats
  • Removes generic error revelation

v1.0.2

02 Apr 09:33
442d001

Choose a tag to compare

Changelog

  • Adds a difficulty value to the block header, for future use 😉

v1.0.1

13 Mar 10:48
64b07ac

Choose a tag to compare

Changelog

  • Adds PR template
  • Adds test for token on-spend with fees
  • Adds test for token/item on-spend with fees
  • Updates colored crate dependency due to security vulnerability
  • Removes allowance for dead code