Commit Graph

3347 Commits

Author SHA1 Message Date
Andrew Poelstra 141d805ddc
Merge rust-bitcoin/rust-bitcoin#2073: Feature: Count sigops for Transaction
158ba26a8a Feature: Count sigops for Transaction (junderw)

Pull request description:

  I copied over the sigop counting logic from Bitcoin Core, but I made a few adjustments.

  1. I removed 2 consensus flags that checked for P2SH and SegWit activation. This code assumes both are activated. If we were to include that, what would be a good way to go about it? (ie. If I run this method on a transaction from the 1000th block and it just so happened to have a P2SH-like input, Bitcoin Core wouldn't accidentally count those sigops because the consensus flag will stop them from running the P2SH logic. Same goes for SegWit)
  3. Since there's no guarantee that we have an index from which we can get the prevout scripts, I made it into a generic closure that looks up the prevout script for us. If the caller doesn't provide it, We can only count sigops directly in the scriptSig and scriptPubkey (no P2SH or SegWit).

  ## TODO
  - [x] Write tests for transaction sigop counting

  ~~Edit: The test changes are just to get the 1.48 tests passing. I'll remove them and replace them with whatever solution that is agreed upon in another PR etc.~~

  Edit 2: This is the code I used as a guide:

  8105bce5b3/src/consensus/tx_verify.cpp (L147-L166)

  Edit 3: I found a subtle bug in the implementation of `count_sigops` (https://github.com/rust-bitcoin/rust-bitcoin/pull/2073#issuecomment-1722403687)

ACKs for top commit:
  apoelstra:
    ACK 158ba26a8a
  tcharding:
    ACK 158ba26a8a

Tree-SHA512: 2b8a0c50b9390bfb914da1ba687e8599b957c75c511f764a2f3ed3414580150ce3aa2ac7aed97a4f7587d3fbeece269444c65c7449b88f1bdb02e573e6f6febd
2023-09-22 17:12:29 +00:00
Tobin C. Harding 34b20dfed1
Remove unused internals dependency 2023-09-22 12:36:00 +10:00
Andrew Poelstra 675fd54c95
Merge rust-bitcoin/rust-bitcoin#1951: Use newly released bech32 API
e4c7e01a6f Use the new bech32 iterator API (Tobin C. Harding)

Pull request description:

  Depend on the newly released version of `bech32`, BOOM!

ACKs for top commit:
  apoelstra:
    ACK e4c7e01a6f
  clarkmoody:
    ACK e4c7e01a6f

Tree-SHA512: 91675a830cf67f8dcabd42e7dc1b70d80b669330be5244bb8102e0ec5d1a206d5ead07f73b328a158b761c328bc78d573185af8d31f14183ccc17318d752c02b
2023-09-21 22:26:51 +00:00
junderw 158ba26a8a
Feature: Count sigops for Transaction
Co-authored-by: Tobin C. Harding <me@tobin.cc>
2023-09-21 14:50:23 -07:00
Andrew Poelstra c32c7d1611
Merge rust-bitcoin/rust-bitcoin#2026: Use valid Psbt for serde regression test
95b7a95fc2 test: correct psbt used for regression test (Subhradeep Chakraborty)

Pull request description:

  The `unknown` key used in the `Psbt` (in `serde_regression_psbt` test) is not really unknown. Also the `preimages` in the `Input` don't seem to be valid. Though they don't affect the tests because of the `serde::serialize`, the `Psbt` itself is invalid and hence this PR.

ACKs for top commit:
  tcharding:
    ACK 95b7a95fc2
  apoelstra:
    ACK 95b7a95fc2

Tree-SHA512: 275320bb273163364640351e55a3f16c34c1eef06e9dde79b72bf40187d313f037edb5e4544f4dce32fb8a7cc552504aa2e4d22a646c89a3dec022f917539219
2023-09-21 18:53:54 +00:00
Andrew Poelstra f71948a778
Merge rust-bitcoin/rust-bitcoin#2021: Move and rename `XpubIdentifier`
b2a7d7023c Rename XpubIdentifier to XKeyIdentifier (Tobin C. Harding)
ffd2466ad1 Move XpubIdentifier to the bip32 module (Tobin C. Harding)

Pull request description:

  - Patch 1: Move the hash to the `bip32` module where it is used, as we have done with other hashes recently (and re-export it at crate root).
  - Patch 2: Rename the hash to `XKeyIdentifier` as discussed in #2014

  Fix: #2014

ACKs for top commit:
  apoelstra:
    ACK b2a7d7023c

Tree-SHA512: 5efa9fc857c71e506263bf6adee3b4294f22838d5b119177c9108c69191d545338c11a4796bc95e956a67f3418010725f3d12c06d2c4c3bb5cf038d59976ae0f
2023-09-21 17:55:31 +00:00
Andrew Poelstra eda7e7df0d
Merge rust-bitcoin/rust-bitcoin#2068: Fixes #2011: Customize Debug implementation of `absolute::LockTime`
71a5fe2b54 Customize Debug implementation of absolute::LockTime (Subhradeep Chakraborty)

Pull request description:

  Fixes https://github.com/rust-bitcoin/rust-bitcoin/issues/2011.

  This PR aims to make the "pretty print" of `absolute::LockTime` prettier by printing `X blocks` and `X seconds` for `Blocks` and `Seconds` respectively instead of the default Enum printing.

ACKs for top commit:
  apoelstra:
    ACK 71a5fe2b54
  tcharding:
    ACK 71a5fe2b54

Tree-SHA512: 79baad5ee0ba1aa892cb38588dae6a24977b8e42356208d6cc9adb007d1f8371e61dc82e35bb4dac9961216d68c56907f0db376c5c6fbb5a406728b8f7c3f5ad
2023-09-21 17:03:59 +00:00
Andrew Poelstra fc52fd9ced
Merge rust-bitcoin/rust-bitcoin#2045: Use correct terminology: carve out
b229fd5555 Use correct form for noun: carve-out (Tobin C. Harding)

Pull request description:

  One "carves out" something, not "carve output" - woops.

ACKs for top commit:
  apoelstra:
    ACK b229fd5555

Tree-SHA512: 196c5c239da35a67b83eb96f2f9346af6518af51ff6bb4a9e40cddab8c8511f2e913278a9727bfe4e97d50c58cb87a4100e40c13c8313643b04a2d0fabaaa9e5
2023-09-21 16:55:44 +00:00
Andrew Poelstra 36805b5283
Merge rust-bitcoin/rust-bitcoin#1994: Remove redundant segwit version from function names
bc398204bf Remove redundant segwit version from function names (Tobin C. Harding)

Pull request description:

  A P2TR output does not need to be clarified with version 1, it is implicit. As with p2wpkh/p2wsh and version 0.

  Remove redundant version identifiers from function names, deprecating the originals.

ACKs for top commit:
  apoelstra:
    ACK bc398204bf

Tree-SHA512: 49806c564badca25ce02161445b2b41497b565f2002aa1edfc0cf0c57b38683480deec0d9b682e18dc7e59c22128e0b641abcccc2cbedd0b5603cbcbf2fd26df
2023-09-21 16:10:50 +00:00
Andrew Poelstra f80ec98f35
Merge rust-bitcoin/rust-bitcoin#2002: Remove unnecessary reference
f17bb0d18f Remove unnecessary reference (Tobin C. Harding)

Pull request description:

  `T` is a generic that implements`AsRef<PushBytes>`, it should not be a reference. This is inline with other usages of `AsRef<PushBytes>` for example in `Builder::push_slice`.

  Found while working on #2003

ACKs for top commit:
  apoelstra:
    ACK f17bb0d18f

Tree-SHA512: 6f6ae0ba5d5010db53d9c2af107df84bc058277b2b7cc35800f4e6ed93d351838b7f101284b7d80345bee639615d27d76a2e5c4c784782c5b3e5090444defe29
2023-09-21 14:23:50 +00:00
Subhradeep Chakraborty 95b7a95fc2 test: correct psbt used for regression test 2023-09-21 11:45:18 +05:30
Tobin C. Harding e4c7e01a6f
Use the new bech32 iterator API
Use the new bech32 iterator API that Andrew and I wrote.
2023-09-21 15:10:57 +10:00
Tobin C. Harding c950ef4bbd
Add transaction::Version data type
BIP-68 activated a fair while ago (circa 2019) and since then only
transaction versions 1 and 2 have been considered standard.

Currently in our `Transaction` struct we use an `i32`, this means users
can construct a non-standard transaction if they do not first look up
what the value should be. We can help folk out here by abstracting over
the version number.

Since the version number only governs standardness elect to make the
inner `i32` public (ie., not an invariant). The aim of the type is to
make life easy not restrict what versions are used.

Add transaction::Version data type that simply provides two consts `ONE`
and `TWO`.

Add a `Default` impl on `Version` that returns `Version::TWO`.

In tests that used version 0, instead use `Version::default` because the
test obviously does not care.
2023-09-21 15:02:02 +10:00
Andrew Poelstra a2a4efbe6a
Merge rust-bitcoin/rust-bitcoin#1975: Prepare for using new bech32 release
52f2332383 Remove docs from witness version conversion functions (Tobin C. Harding)
47d6d785cb Remove bip 173/350 test vectors (Tobin C. Harding)
e0eaeaad99 Split ParseError out of Error (Tobin C. Harding)
0f536e86dc Add new UnknownAddressTypeError for parsing address type (Tobin C. Harding)
e2014cba1b Import error variants within dislay impl (Tobin C. Harding)
9d7791fcd6 Remove unnecessary self:: from error import (Tobin C. Harding)
b2e485ed51 Split the address error code out into a separate module (Tobin C. Harding)
f34ca0c52b Move address.rs to address/mod.rs (Tobin C. Harding)

Pull request description:

  In preparation for depending on the recently released version of `rust-bech32` do a bunch of preparatory fixes.

  1. Improve `address` module error handling as we are doing else where at the moment
  2. Remove bip 173 and 350 test vector tests, these are fully covered in bech32
  3. Trim down the docs on `WitnessVersion`

  This PR is the first 8 patches of https://github.com/rust-bitcoin/rust-bitcoin/pull/1951

ACKs for top commit:
  sanket1729:
    ACK 52f2332383
  apoelstra:
    ACK 52f2332383

Tree-SHA512: 67a4ea4020b4e5c9c8396e4195e06dbd1d11335788f9e52f60abbc0b399e37e5dacc9bb7fa4e88221670322fa3c3407ade059d5c709f96e2df97240f4524e08c
2023-09-20 19:54:36 +00:00
Andrew Poelstra 3b9bc9a063
Merge rust-bitcoin/rust-bitcoin#2038: Re-export Opcode
ccdcffe69c Re-export Opcode (Tobin C. Harding)

Pull request description:

  We recently rename `opcodes::All` to `Opcode` but did not re-export it from the crate root. Since it now has a nice clear name we can do so.

  Found while hacking up the `rust-bitcoincore-rpc` dependency upgrade for upcoming release `bitcoin v0.31.0`.

ACKs for top commit:
  apoelstra:
    ACK ccdcffe69c

Tree-SHA512: 8acac90d01f14245f93edc10f3483d8aa9865aca59b6ef42ab744b875558fca8ad74894ad95a83637f0cec7a2a353d74d4d6f7ee5f1d1276cc0fc3dcb6983362
2023-09-20 17:33:53 +00:00
Andrew Poelstra f4c83b4d8e
Merge rust-bitcoin/rust-bitcoin#2078: Script helper to classify bare multisig
acbf23aaa5 Add `is_multisig` helper to Script type (Clark Moody)

Pull request description:

  A new `is_multisig` helper method to classify bare multisig output scripts.

  The form of a valid multisig script is:
  - Pushnum `M`
  - &lt;N&gt; pubkeys
  - Pushnum `N`
  - `OP_CHECKMULTISIG`

  `N` must equal the number of pushed pubkeys, and `M` must be less than or equal to `N`.

  I've tested this against the RPC output of Core at the block level, checking that the total number of multisig outputs matches.

  ```
  Block 350338, 89 multisig
  Block 350340, 29 multisig
  Block 350341, 4 multisig
  Block 350343, 579 multisig
  Block 350344, 48 multisig
  Block 350346, 11 multisig
  Block 350347, 404 multisig
  Block 350350, 127 multisig
  Block 350351, 1 multisig
  Block 350353, 40 multisig
  Block 350356, 13 multisig
  Block 350357, 2 multisig
  Block 350358, 1 multisig
  ```

ACKs for top commit:
  tcharding:
    ACK acbf23aaa5
  apoelstra:
    ACK acbf23aaa5

Tree-SHA512: b8feeaa8725ac63a658897dac3b303fc8b3d56674d796b14569548124928329993bea45482928d9ce85231f1b5837922af8c0a77b2601a92f88b5e2a9394e97f
2023-09-20 16:38:33 +00:00
Andrew Poelstra 6e6847a263
Merge rust-bitcoin/rust-bitcoin#2075: Bugfix: Script::count_sigops should not return a Result
026a55809e Fix: Script::count_sigops parsing should not return a Result (junderw)

Pull request description:

  When implementing some tests for the Transaction PR, I noticed that there were coinbase transactions that would pass Bitcoin Core parsing and fail my code.

  It turns out that the Script parsing for sigops calls `break`  to exit the loop and returns the current n value whenever there is an EarlyEndOfScript error.

  See this comment: https://github.com/rust-bitcoin/rust-bitcoin/pull/2073#issuecomment-1722403687 for some links to the relevant source.

ACKs for top commit:
  apoelstra:
    ACK 026a55809e
  tcharding:
    ACK 026a55809e

Tree-SHA512: 57c1b88add5e1c9ef9245fcec0e471db55c2f9b1b0b0f8ebd471f1bede0ca5eeb8492d8c75dea1fd43f1343037df44969c9b9fde26a7de9ac68a26dca899e47f
2023-09-20 15:53:30 +00:00
Andrew Poelstra f5b1788ec7
Merge rust-bitcoin/rust-bitcoin#2081: Feature: Instruction can read the script number
cd15c746cb Feature: Instruction can read the script number (junderw)

Pull request description:

  This new method on `Instruction` will allow for interpreting the Instruction as a script number (i32)

ACKs for top commit:
  tcharding:
    ACK cd15c746cb
  apoelstra:
    ACK cd15c746cb

Tree-SHA512: 597add5ab28b53b7f61633b2e2005bed2c8fe4777575c9498c9a5431e4b020cf8ddf02509b1b4c1ba455e879e024d7d034636ab4863cca42567ed087b648abc3
2023-09-20 15:42:15 +00:00
junderw cd15c746cb
Feature: Instruction can read the script number 2023-09-19 21:08:17 -07:00
Tobin C. Harding 52f2332383
Remove docs from witness version conversion functions
These docs do not add that much value, we do not typically bother
documenting `From` and `TryFrom` implementations because they are super
well known and its obvious from the function signature what is going on.
2023-09-20 13:13:56 +10:00
Tobin C. Harding 47d6d785cb
Remove bip 173/350 test vectors
The BIP-173 and BIP-350 test vectors are implemented in `rust-bech32`,
no need to duplicate those tests here.
2023-09-20 13:13:56 +10:00
Tobin C. Harding e0eaeaad99
Split ParseError out of Error
The `address::Error` is module level general, we can make the code
easier to maintain and easier to stabalize by splitting the parse error
out of the general error.

Create a `ParseError` that is returned by `FromStr for Address`. Remove
the now unused variants from the general `address::Error`.
2023-09-20 13:13:56 +10:00
Tobin C. Harding 0f536e86dc
Add new UnknownAddressTypeError for parsing address type
There is no need to use the general `address::Error` when parsing an
address type, there is only one error path.
2023-09-20 13:13:56 +10:00
Tobin C. Harding e2014cba1b
Import error variants within dislay impl
In an effort to reduce the number of lines of code import the error
variants locally within the `Display` impl on `Error`.

Refactor only, no logic changes.
2023-09-20 13:13:55 +10:00
Tobin C. Harding 9d7791fcd6
Remove unnecessary self:: from error import
`Error` is in this file, no need for `self::Error`.
2023-09-20 13:13:55 +10:00
Tobin C. Harding b2e485ed51
Split the address error code out into a separate module
Split the error code out of `address/mod.rs` and into
`address/error.rs`. Code move only, no changes other than to
imports/exports etc. to make it build.
2023-09-20 13:13:55 +10:00
Tobin C. Harding f34ca0c52b
Move address.rs to address/mod.rs
In preparation for splitting out the error code move `address.rs` to
`address/mod.rs`.

File move only, no other changes.
2023-09-20 13:13:55 +10:00
Clark Moody acbf23aaa5
Add `is_multisig` helper to Script type 2023-09-19 21:37:14 -05:00
junderw 026a55809e
Fix: Script::count_sigops parsing should not return a Result 2023-09-19 00:33:54 -07:00
Andrew Poelstra e70836c871
Merge rust-bitcoin/rust-bitcoin#2077: CI: Pin `syn`
f5bc9b3cd4 Remove pinning docs from readme (Tobin C. Harding)
34890827ae Pin syn to 2.0.32 (Tobin C. Harding)

Pull request description:

  Lets see if this fixes CI.

ACKs for top commit:
  apoelstra:
    ACK f5bc9b3cd4

Tree-SHA512: 71b5a9b12782948a7fa2c6a4c9448d580ccde6c347eb9d399f97cf16d7b5dd7bbac19b2906eeccaa3cd6ff289a797d210518edbe985aa7a340ac6723cd0188e1
2023-09-19 00:41:41 +00:00
Tobin C. Harding f5bc9b3cd4
Remove pinning docs from readme
The pinning docs are stale; the single source of truth for pinning is
the CI script.

Remove the stale pinning docs and just point devs towards the CI script.
2023-09-19 06:33:33 +10:00
Tobin C. Harding 34890827ae
Pin syn to 2.0.32
We have a dependency on `syn` deep in the dependency graph that is
breaking MSRV, just pin the damn thing to 2.0.32
2023-09-19 05:37:35 +10:00
Subhradeep Chakraborty 71a5fe2b54 Customize Debug implementation of absolute::LockTime 2023-09-15 22:59:26 +05:30
Andrew Poelstra bbe4800607
Merge rust-bitcoin/rust-bitcoin#2046: Add one ACK carve-out
4222e4d817 Add one-ack carve outside (Tobin C. Harding)

Pull request description:

  In an effort to reduce review burden add so strict rules defining 3 times where we think it is acceptable for code to be merged with a single ACK. Feels a bit like we only just added the refactor carve-out and now we are adding more carve-outs, so whats next? We should take these rules seriously, if we are to be taken seriously.

  ```
  We reserve the right to merge PRs with a single ACK [0], at any time, if they match
  any of the following conditions:

  1. PR only touches CI i.e, only changes any of the `test.sh` scripts and/or
     stuff in `.github/workflows`.
  2. Non-content changing documentation fixes i.e., grammar/typos, spelling, full
     stops, capital letters. Any change with more substance must still get two
     ACKs.
  3. Code moves that do not change the API i.e., moving error types to a submodule
     and re-exporting them from the original module.  Must not include any code
     changes except to import paths.

  [0] - Obviously author and ACK'er must not be the same person.
  ```

ACKs for top commit:
  apoelstra:
    ACK 4222e4d817
  sanket1729:
    ACK 4222e4d817
  RCasatta:
    ACK 4222e4d817

Tree-SHA512: b85645213a38e9d6dcb1a81ff2de3e24768716541ed34c250c66179ee7b19d426ec0bfc34386c7bb32cdc182de07146ac55a8c30c895e8b9febb498fbe1b3440
2023-09-14 13:34:37 +00:00
Riccardo Casatta 3dc75b5071
Merge rust-bitcoin/rust-bitcoin#2041: Fix deprecation notice
a0a3d4728a Fix deprecation notice (Tobin C. Harding)

Pull request description:

  Recently we deprecated the `segwit_signature_hash` function but during development the deprecation notice got stale.

  Fix deprecation notice to use the actual function names.

ACKs for top commit:
  RCasatta:
    ACK a0a3d4728a
  apoelstra:
    ACK a0a3d4728a

Tree-SHA512: d84941b605c5bc6ceab75cd60eb820c1d2c16fcd1431dc3927dc22d79886d3de26fd796fab92d97e7f8d567eab0b5a1987303107720524e7b648b1168541a2ed
2023-09-12 09:01:02 +02:00
Riccardo Casatta 25b81dddc1
Merge rust-bitcoin/rust-bitcoin#2048: hashes: Remove duplicate entry
cd47daf13f hashes: Remove duplicate entry (Tobin C. Harding)

Pull request description:

  We accidentally mentioned an error change twice, remove the entry without the PR link.

ACKs for top commit:
  apoelstra:
    ACK cd47daf13f
  RCasatta:
    ACK cd47daf13f

Tree-SHA512: 94189596ece5e4cd71da256c85eefb77bbec3b1d9fa3f7198d4cf9d3b2120be6dd841ec5dc5575fb4a501c6b0c662861fe69703a2937f6e7b7706f93099376b2
2023-09-12 08:57:43 +02:00
Riccardo Casatta 374484ca76
Merge rust-bitcoin/rust-bitcoin#2063: Fix: IndexOutOfBoundsError Display impl has values in wrong order
c98106ef2e Fix: IndexOutOfBoundsError Display impl has values in wrong order (junderw)

Pull request description:

  Simple self explanatory fix.

ACKs for top commit:
  apoelstra:
    ACK c98106ef2e
  RCasatta:
    utACK c98106ef2e

Tree-SHA512: d08e1f71283a3ef100947418f29caa860080eb32e35ed978710a17694222ab71fc25c0fcc8cdef7af049d9f5ea72319467ef5c0b51376f065ae1ea33c74680fb
2023-09-12 08:55:49 +02:00
Andrew Poelstra 4da3db1a11
Merge rust-bitcoin/rust-bitcoin#2062: Bump actions/upload-artifact from 2 to 3
0f77afdef0 Bump actions/upload-artifact from 2 to 3 (dependabot[bot])

Pull request description:

  Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
  <details>
  <summary>Release notes</summary>
  <p><em>Sourced from <a href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's releases</a>.</em></p>
  <blockquote>
  <h2>v3.0.0</h2>
  <h2>What's Changed</h2>
  <ul>
  <li>Update default runtime to node16 (<a href="https://redirect.github.com/actions/upload-artifact/issues/293">#293</a>)</li>
  <li>Update package-lock.json file version to 2 (<a href="https://redirect.github.com/actions/upload-artifact/issues/302">#302</a>)</li>
  </ul>
  <h3>Breaking Changes</h3>
  <p>With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.</p>
  <h2>v2.3.1</h2>
  <p>Fix for empty fails on Windows failing on upload <a href="https://redirect.github.com/actions/upload-artifact/issues/281">#281</a></p>
  <h2>v2.3.0 Upload Artifact</h2>
  <ul>
  <li>Optimizations for faster uploads of larger files that are already compressed</li>
  <li>Significantly improved logging when there are chunked uploads</li>
  <li>Clarifications in logs around the upload size and prohibited characters that aren't allowed in the artifact name or any uploaded files</li>
  <li>Various other small bugfixes &amp; optimizations</li>
  </ul>
  <h2>v2.2.4</h2>
  <ul>
  <li>Retry on HTTP 500 responses from the service</li>
  </ul>
  <h2>v2.2.3</h2>
  <ul>
  <li>Fixes for proxy related issues</li>
  </ul>
  <h2>v2.2.2</h2>
  <ul>
  <li>Improved retryability and error handling</li>
  </ul>
  <h2>v2.2.1</h2>
  <ul>
  <li>Update used actions/core package to the latest version</li>
  </ul>
  <h2>v2.2.0</h2>
  <ul>
  <li>Support for artifact retention</li>
  </ul>
  <h2>v2.1.4</h2>
  <ul>
  <li>Add Third Party License Information</li>
  </ul>
  <h2>v2.1.3</h2>
  <ul>
  <li>Use updated version of the <code>@action/artifact</code> NPM package</li>
  </ul>
  <h2>v2.1.2</h2>
  <ul>
  <li>Increase upload chunk size from 4MB to 8MB</li>
  <li>Detect case insensitive file uploads</li>
  </ul>
  <h2>v2.1.1</h2>
  <ul>
  <li>Fix for certain symlinks not correctly being identified as directories before starting uploads</li>
  </ul>
  <h2>v2.1.0</h2>
  <ul>
  <li>Support for uploading artifacts with multiple paths</li>
  <li>Support for using exclude paths</li>
  <li>Updates to dependencies</li>
  </ul>
  <!-- raw HTML omitted -->
  </blockquote>
  <p>... (truncated)</p>
  </details>
  <details>
  <summary>Commits</summary>
  <ul>
  <li><a href="a8a3f3ad30"><code>a8a3f3a</code></a> Merge pull request <a href="https://redirect.github.com/actions/upload-artifact/issues/436">#436</a> from bethanyj28/main</li>
  <li><a href="7b48769c03"><code>7b48769</code></a> update dependency cache</li>
  <li><a href="66630398df"><code>6663039</code></a> update dist/index.js</li>
  <li><a href="55e76b779d"><code>55e76b7</code></a> bump <code>@actions/artifact</code> version</li>
  <li><a href="65d862660a"><code>65d8626</code></a> chore(github): remove trailing whitespaces (<a href="https://redirect.github.com/actions/upload-artifact/issues/313">#313</a>)</li>
  <li><a href="0b7f8abb15"><code>0b7f8ab</code></a> ci(github): update action/download-artifact from v1 to v3 (<a href="https://redirect.github.com/actions/upload-artifact/issues/312">#312</a>)</li>
  <li><a href="013d2b89ba"><code>013d2b8</code></a> Create devcontainer for codespaces + update all dev dependencies (<a href="https://redirect.github.com/actions/upload-artifact/issues/375">#375</a>)</li>
  <li><a href="055b8b3f04"><code>055b8b3</code></a> Bump Actions NPM dependencies (<a href="https://redirect.github.com/actions/upload-artifact/issues/374">#374</a>)</li>
  <li><a href="7a5d4831f7"><code>7a5d483</code></a> ci(github): update action/checkout from v2 to v3 (<a href="https://redirect.github.com/actions/upload-artifact/issues/315">#315</a>)</li>
  <li><a href="e0057a5b76"><code>e0057a5</code></a> README: Bump actions/checkout to v3 (<a href="https://redirect.github.com/actions/upload-artifact/issues/352">#352</a>)</li>
  <li>Additional commits viewable in <a href="https://github.com/actions/upload-artifact/compare/v2...v3">compare view</a></li>
  </ul>
  </details>
  <br />

  [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/upload-artifact&package-manager=github_actions&previous-version=2&new-version=3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

  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-automerge-start)
  [//]: # (dependabot-automerge-end)

  ---

  <details>
  <summary>Dependabot commands and options</summary>
  <br />

  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 <dependency name> 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)

  </details>

ACKs for top commit:
  apoelstra:
    ACK 0f77afdef0
  tcharding:
    ACK 0f77afdef0

Tree-SHA512: 9fe185275f7c28c4186e89b9cf22f15d000404c8c3c73c94fafa9fd953f9028b473eceb69ed100c5244f9dde559c7b5ccc066828b6ea325ce5ca6c8d84bd0748
2023-09-11 21:56:46 +00:00
junderw c98106ef2e
Fix: IndexOutOfBoundsError Display impl has values in wrong order 2023-09-11 11:25:21 -07:00
dependabot[bot] 0f77afdef0
Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 10:17:32 +00:00
Einherjar c34c709681
CI: add an automated github releases on new tags
Creates a `gh-release.yml` that runs on every new tag using the [`ncipollo/release-action`](https://github.com/ncipollo/release-action),
which is one of the recommended actions after [GitHub's official `actions/create-release`](https://github.com/actions/create-release) was archived.

fix: remove the write permissions
2023-09-10 19:21:22 -03:00
Andrew Poelstra 26c27d9071
Merge rust-bitcoin/rust-bitcoin#2060: fix(CI): `rust-toolchain` stable
c2f3c1fa11 fix(CI): rust-toolchain stable (Einherjar)

Pull request description:

  - sets `dtolnay/rust-toolchain` to `stable`
  - delegates the `toolchain` to `1.48.0` as GitHub action input

  This will make the rust-toolchain to always run in the `stable` branch with the toolchain version being handled in the action. It will appease dependabot and we can change at any time the `toolchain` action input.

  Discussed in https://github.com/rust-bitcoin/rust-bitcoin/pull/2055

ACKs for top commit:
  apoelstra:
    ACK c2f3c1fa11
  tcharding:
    ACK c2f3c1fa11

Tree-SHA512: 83637bcd73aed1210ff67376c9f99047293dd22c2b863dd5f39ba5efb65081ff2d0cce4e375abb79b33918101a12f1780c3bde78b76a29331733f5cf515d1ac7
2023-09-10 21:10:17 +00:00
Andrew Poelstra 5a9d70757d
Merge rust-bitcoin/rust-bitcoin#2025: Split witness version errors up
7309c7749a Split witness version errors up (Tobin C. Harding)
40db2f5ed6 witness_version: Remove rustdocs from TryFrom imlps (Tobin C. Harding)
3397ff9910 witness_version: Use Self in error From impl (Tobin C. Harding)

Pull request description:

  Done as part of the push to have small specific errors instead of large general ones.

  Split the `witness_version::Error` up into small specific errors.

  The first two patches are preparatory clean up.

ACKs for top commit:
  stevenroose:
    ACK 7309c7749a
  apoelstra:
    ACK 7309c7749a

Tree-SHA512: 9e8b4bc5db3435c88aa6de9d92f668146b20b292c3609e2d4415ff0c32a0e3923bbe765333e0d7c255c326d65680015fc9cdf3e4a994727f4d0273dc396314df
2023-09-10 15:03:33 +00:00
Andrew Poelstra 9677247b25
Merge rust-bitcoin/rust-bitcoin#2022: Make Encodable/Decodable usage uniform
4f43965ade Make Encodable/Decodable usage uniform (Tobin C. Harding)

Pull request description:

  One encodes to a writer and decodes from a reader, most of the time in the consensus `Encodable`/`Decodable` traits we use generic `R`/`W` and variable `r`/`w` but there are other places that use other characters.

  While touching these lines note also that there are a bunch of unneeded `mut`s, I'm not sure why since usually between the compiler and the linter `mut` is handled correctly.

  Make implementations of `Encodable` and `Decodable` uniform by:
  - Use R/W and r/w for trait and variable name
  - Remove unneeded mut

  (This is split out of #1891 to assist review.)

ACKs for top commit:
  apoelstra:
    ACK 4f43965ade
  stevenroose:
    ACK 4f43965ade

Tree-SHA512: 256d080b32e60a7cabf6db4945a18d7ff5b296cb848712238e33f9b1ff3cabbe7d76723fed61a04e4b2a6c9423f12c32ec10e3ebb633761122add50e6a6cc7c9
2023-09-10 14:08:03 +00:00
Andrew Poelstra 518b1dc7ea
Merge rust-bitcoin/rust-bitcoin#2056: Bump actions/checkout from 2 to 4
ddcf705f6a Bump actions/checkout from 2 to 4 (dependabot[bot])

Pull request description:

  Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4.
  <details>
  <summary>Release notes</summary>
  <p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
  <blockquote>
  <h2>v4.0.0</h2>
  <h2>What's Changed</h2>
  <ul>
  <li>Update default runtime to node20 by <a href="https://github.com/takost"><code>@takost</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
  <li>Support fetching without the --progress option by <a href="https://github.com/simonbaird"><code>@simonbaird</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
  <li>Release 4.0.0 by <a href="https://github.com/takost"><code>@takost</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1447">actions/checkout#1447</a></li>
  </ul>
  <h2>New Contributors</h2>
  <ul>
  <li><a href="https://github.com/takost"><code>@takost</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
  <li><a href="https://github.com/simonbaird"><code>@simonbaird</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
  </ul>
  <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3...v4.0.0">https://github.com/actions/checkout/compare/v3...v4.0.0</a></p>
  <h2>v3.6.0</h2>
  <h2>What's Changed</h2>
  <ul>
  <li>Mark test scripts with Bash'isms to be run via Bash by <a href="https://github.com/dscho"><code>@dscho</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1377">actions/checkout#1377</a></li>
  <li>Add option to fetch tags even if fetch-depth &gt; 0 by <a href="https://github.com/RobertWieczoreck"><code>@RobertWieczoreck</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
  <li>Release 3.6.0 by <a href="https://github.com/luketomlinson"><code>@luketomlinson</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
  </ul>
  <h2>New Contributors</h2>
  <ul>
  <li><a href="https://github.com/RobertWieczoreck"><code>@RobertWieczoreck</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
  <li><a href="https://github.com/luketomlinson"><code>@luketomlinson</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
  </ul>
  <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.5.3...v3.6.0">https://github.com/actions/checkout/compare/v3.5.3...v3.6.0</a></p>
  <h2>v3.5.3</h2>
  <h2>What's Changed</h2>
  <ul>
  <li>Fix: Checkout Issue in self hosted runner due to faulty submodule check-ins by <a href="https://github.com/megamanics"><code>@megamanics</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
  <li>Fix typos found by codespell by <a href="https://github.com/DimitriPapadopoulos"><code>@DimitriPapadopoulos</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
  <li>Add support for sparse checkouts by <a href="https://github.com/dscho"><code>@dscho</code></a> and <a href="https://github.com/dfdez"><code>@dfdez</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
  <li>Release v3.5.3 by <a href="https://github.com/TingluoHuang"><code>@TingluoHuang</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1376">actions/checkout#1376</a></li>
  </ul>
  <h2>New Contributors</h2>
  <ul>
  <li><a href="https://github.com/megamanics"><code>@megamanics</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
  <li><a href="https://github.com/DimitriPapadopoulos"><code>@DimitriPapadopoulos</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
  <li><a href="https://github.com/dfdez"><code>@dfdez</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
  </ul>
  <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3...v3.5.3">https://github.com/actions/checkout/compare/v3...v3.5.3</a></p>
  <h2>v3.5.2</h2>
  <h2>What's Changed</h2>
  <ul>
  <li>Fix: Use correct API url / endpoint in GHES by <a href="https://github.com/fhammerl"><code>@fhammerl</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1289">actions/checkout#1289</a> based on <a href="https://redirect.github.com/actions/checkout/issues/1286">#1286</a> by <a href="https://github.com/1newsr"><code>@1newsr</code></a></li>
  </ul>
  <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.5.1...v3.5.2">https://github.com/actions/checkout/compare/v3.5.1...v3.5.2</a></p>
  <h2>v3.5.1</h2>
  <h2>What's Changed</h2>
  <ul>
  <li>Improve checkout performance on Windows runners by upgrading <code>@actions/github</code> dependency by <a href="https://github.com/BrettDong"><code>@BrettDong</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
  </ul>
  <h2>New Contributors</h2>
  <ul>
  <li><a href="https://github.com/BrettDong"><code>@BrettDong</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
  </ul>
  <!-- raw HTML omitted -->
  </blockquote>
  <p>... (truncated)</p>
  </details>
  <details>
  <summary>Changelog</summary>
  <p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
  <blockquote>
  <h1>Changelog</h1>
  <h2>v4.0.0</h2>
  <ul>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1067">Support fetching without the --progress option</a></li>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1436">Update to node20</a></li>
  </ul>
  <h2>v3.6.0</h2>
  <ul>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark test scripts with Bash'isms to be run via Bash</a></li>
  <li><a href="https://redirect.github.com/actions/checkout/pull/579">Add option to fetch tags even if fetch-depth &gt; 0</a></li>
  </ul>
  <h2>v3.5.3</h2>
  <ul>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1196">Fix: Checkout fail in self-hosted runners when faulty submodule are checked-in</a></li>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix typos found by codespell</a></li>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add support for sparse checkouts</a></li>
  </ul>
  <h2>v3.5.2</h2>
  <ul>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix api endpoint for GHES</a></li>
  </ul>
  <h2>v3.5.1</h2>
  <ul>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix slow checkout on Windows</a></li>
  </ul>
  <h2>v3.5.0</h2>
  <ul>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1237">Add new public key for known_hosts</a></li>
  </ul>
  <h2>v3.4.0</h2>
  <ul>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade codeql actions to v2</a></li>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade dependencies</a></li>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade <code>@actions/io</code></a></li>
  </ul>
  <h2>v3.3.0</h2>
  <ul>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1045">Implement branch list using callbacks from exec function</a></li>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1050">Add in explicit reference to private checkout options</a></li>
  <li>[Fix comment typos (that got added in <a href="https://redirect.github.com/actions/checkout/issues/770">#770</a>)](<a href="https://redirect.github.com/actions/checkout/pull/1057">actions/checkout#1057</a>)</li>
  </ul>
  <h2>v3.2.0</h2>
  <ul>
  <li><a href="https://redirect.github.com/actions/checkout/pull/942">Add GitHub Action to perform release</a></li>
  <li><a href="https://redirect.github.com/actions/checkout/pull/967">Fix status badge</a></li>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1002">Replace datadog/squid with ubuntu/squid Docker image</a></li>
  <li><a href="https://redirect.github.com/actions/checkout/pull/964">Wrap pipeline commands for submoduleForeach in quotes</a></li>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1029">Update <code>@actions/io</code> to 1.1.2</a></li>
  <li><a href="https://redirect.github.com/actions/checkout/pull/1039">Upgrading version to 3.2.0</a></li>
  </ul>
  <h2>v3.1.0</h2>
  <ul>
  <li><a href="https://redirect.github.com/actions/checkout/pull/939">Use <code>@actions/core</code> <code>saveState</code> and <code>getState</code></a></li>
  <li><a href="https://redirect.github.com/actions/checkout/pull/922">Add <code>github-server-url</code> input</a></li>
  </ul>
  <h2>v3.0.2</h2>
  <ul>
  <li><a href="https://redirect.github.com/actions/checkout/pull/770">Add input <code>set-safe-directory</code></a></li>
  </ul>
  <h2>v3.0.1</h2>
  <!-- raw HTML omitted -->
  </blockquote>
  <p>... (truncated)</p>
  </details>
  <details>
  <summary>Commits</summary>
  <ul>
  <li><a href="3df4ab11eb"><code>3df4ab1</code></a> Release 4.0.0 (<a href="https://redirect.github.com/actions/checkout/issues/1447">#1447</a>)</li>
  <li><a href="8b5e8b7687"><code>8b5e8b7</code></a> Support fetching without the --progress option (<a href="https://redirect.github.com/actions/checkout/issues/1067">#1067</a>)</li>
  <li><a href="97a652b800"><code>97a652b</code></a> Update default runtime to node20 (<a href="https://redirect.github.com/actions/checkout/issues/1436">#1436</a>)</li>
  <li><a href="f43a0e5ff2"><code>f43a0e5</code></a> Release 3.6.0 (<a href="https://redirect.github.com/actions/checkout/issues/1437">#1437</a>)</li>
  <li><a href="7739b9ba2e"><code>7739b9b</code></a> Add option to fetch tags even if fetch-depth &gt; 0 (<a href="https://redirect.github.com/actions/checkout/issues/579">#579</a>)</li>
  <li><a href="96f53100ba"><code>96f5310</code></a> Mark test scripts with Bash'isms to be run via Bash (<a href="https://redirect.github.com/actions/checkout/issues/1377">#1377</a>)</li>
  <li><a href="c85c95e3d7"><code>c85c95e</code></a> Release v3.5.3 (<a href="https://redirect.github.com/actions/checkout/issues/1376">#1376</a>)</li>
  <li><a href="d106d4669b"><code>d106d46</code></a> Add support for sparse checkouts (<a href="https://redirect.github.com/actions/checkout/issues/1369">#1369</a>)</li>
  <li><a href="f095bcc56b"><code>f095bcc</code></a> Fix typos found by codespell (<a href="https://redirect.github.com/actions/checkout/issues/1287">#1287</a>)</li>
  <li><a href="47fbe2df0a"><code>47fbe2d</code></a> Fix: Checkout fail in self-hosted runners when faulty submodule are checked-i...</li>
  <li>Additional commits viewable in <a href="https://github.com/actions/checkout/compare/v2...v4">compare view</a></li>
  </ul>
  </details>
  <br />

  [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=2&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

  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-automerge-start)
  [//]: # (dependabot-automerge-end)

  ---

  <details>
  <summary>Dependabot commands and options</summary>
  <br />

  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 <dependency name> 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)

  </details>

ACKs for top commit:
  tcharding:
    ACK ddcf705f6a

Tree-SHA512: 2b02302db934b9682440bedf8d6f8d272cd4d0504c453150cdec219264c2544dcd10c1067ff28958b637d85585edad5c2efe66eca00d22c9df931119138ee231
2023-09-10 12:50:12 +00:00
dependabot[bot] ddcf705f6a
Bump actions/checkout from 2 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-09 15:26:36 +00:00
Andrew Poelstra 31c46d72a7
Merge rust-bitcoin/rust-bitcoin#2058: Bump actions/cache from 2 to 3
daa70ea931 Bump actions/cache from 2 to 3 (dependabot[bot])

Pull request description:

  Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.
  <details>
  <summary>Release notes</summary>
  <p><em>Sourced from <a href="https://github.com/actions/cache/releases">actions/cache's releases</a>.</em></p>
  <blockquote>
  <h2>v3.0.0</h2>
  <ul>
  <li>
  <p>This change adds a minimum runner version(node12 -&gt; node16), which can break users using an out-of-date/fork of the runner. This would be most commonly affecting users on GHES 3.3 or before, as those runners do not support node16 actions and they can use actions from github.com via <a href="https://docs.github.com/en/enterprise-server@3.0/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect">github connect</a> or manually copying the repo to their GHES instance.</p>
  </li>
  <li>
  <p>Few dependencies and cache action usage examples have also been updated.</p>
  </li>
  </ul>
  <h2>Updating actions/core to version 1.10.0</h2>
  <p>The ::save-state and ::set-output are deprecated. The newer version of actions/core &gt;1.10.0 uses the new syntax for save and set output. After this change, customers using actions/cache@v2 won't see deprecation warning message.</p>
  <h2>v2.1.7</h2>
  <p>Support 10GB cache upload using the latest version <code>1.0.8</code> of <a href="https://www.npmjs.com/package/@actions/cache"><code>@actions/cache</code> </a></p>
  <h2>v2.1.6</h2>
  <ul>
  <li>Catch unhandled &quot;bad file descriptor&quot; errors that sometimes occurs when the cache server returns non-successful response (<a href="https://redirect.github.com/actions/cache/pull/596">actions/cache#596</a>)</li>
  </ul>
  <h2>v2.1.5</h2>
  <ul>
  <li>Fix permissions error seen when extracting caches with GNU tar that were previously created using BSD tar (<a href="https://redirect.github.com/actions/cache/issues/527">actions/cache#527</a>)</li>
  </ul>
  <h2>v2.1.4</h2>
  <ul>
  <li>Make caching more verbose <a href="https://redirect.github.com/actions/toolkit/pull/650">#650</a></li>
  <li>Use GNU tar on macOS if available <a href="https://redirect.github.com/actions/toolkit/pull/701">#701</a></li>
  </ul>
  <h2>v2.1.3</h2>
  <ul>
  <li>Upgrades <code>@actions/core</code> to v1.2.6 for <a href="https://github.com/advisories/GHSA-mfwh-5m23-j46w">CVE-2020-15228</a>. This action was not using the affected methods.</li>
  <li>Fix error handling in <code>uploadChunk</code> where 400-level errors were not being detected and handled correctly</li>
  </ul>
  <h2>v2.1.2</h2>
  <ul>
  <li>Adds input to limit the chunk upload size, useful for self-hosted runners with slower upload speeds</li>
  <li>No-op when executing on GHES</li>
  </ul>
  <h2>v2.1.1</h2>
  <ul>
  <li>Update <code>@actions/cache</code> package to <code>v1.0.2</code> which allows cache action to use posix format when taring files.</li>
  </ul>
  <h2>v2.1.0</h2>
  <ul>
  <li>Replaces the <code>http-client</code> with the Azure Storage SDK for NodeJS when downloading cache content from Azure.  This should help improve download performance and reliability as the SDK downloads files in 4 MB chunks, which can be parallelized and retried independently</li>
  <li>Display download progress and speed</li>
  </ul>
  </blockquote>
  </details>
  <details>
  <summary>Changelog</summary>
  <p><em>Sourced from <a href="https://github.com/actions/cache/blob/main/RELEASES.md">actions/cache's changelog</a>.</em></p>
  <blockquote>
  <h1>Releases</h1>
  <h3>3.0.0</h3>
  <ul>
  <li>Updated minimum runner version support from node 12 -&gt; node 16</li>
  </ul>
  <h3>3.0.1</h3>
  <ul>
  <li>Added support for caching from GHES 3.5.</li>
  <li>Fixed download issue for files &gt; 2GB during restore.</li>
  </ul>
  <h3>3.0.2</h3>
  <ul>
  <li>Added support for dynamic cache size cap on GHES.</li>
  </ul>
  <h3>3.0.3</h3>
  <ul>
  <li>Fixed avoiding empty cache save when no files are available for caching. (<a href="https://redirect.github.com/actions/cache/issues/624">issue</a>)</li>
  </ul>
  <h3>3.0.4</h3>
  <ul>
  <li>Fixed tar creation error while trying to create tar with path as <code>~/</code> home folder on <code>ubuntu-latest</code>. (<a href="https://redirect.github.com/actions/cache/issues/689">issue</a>)</li>
  </ul>
  <h3>3.0.5</h3>
  <ul>
  <li>Removed error handling by consuming actions/cache 3.0 toolkit, Now cache server error handling will be done by toolkit. (<a href="https://redirect.github.com/actions/cache/pull/834">PR</a>)</li>
  </ul>
  <h3>3.0.6</h3>
  <ul>
  <li>Fixed <a href="https://redirect.github.com/actions/cache/issues/809">#809</a> - zstd -d: no such file or directory error</li>
  <li>Fixed <a href="https://redirect.github.com/actions/cache/issues/833">#833</a> - cache doesn't work with github workspace directory</li>
  </ul>
  <h3>3.0.7</h3>
  <ul>
  <li>Fixed <a href="https://redirect.github.com/actions/cache/issues/810">#810</a> - download stuck issue. A new timeout is introduced in the download process to abort the download if it gets stuck and doesn't finish within an hour.</li>
  </ul>
  <h3>3.0.8</h3>
  <ul>
  <li>Fix zstd not working for windows on gnu tar in issues <a href="https://redirect.github.com/actions/cache/issues/888">#888</a> and <a href="https://redirect.github.com/actions/cache/issues/891">#891</a>.</li>
  <li>Allowing users to provide a custom timeout as input for aborting download of a cache segment using an environment variable <code>SEGMENT_DOWNLOAD_TIMEOUT_MINS</code>. Default is 60 minutes.</li>
  </ul>
  <h3>3.0.9</h3>
  <ul>
  <li>Enhanced the warning message for cache unavailablity in case of GHES.</li>
  </ul>
  <h3>3.0.10</h3>
  <ul>
  <li>Fix a bug with sorting inputs.</li>
  <li>Update definition for restore-keys in README.md</li>
  </ul>
  <!-- raw HTML omitted -->
  </blockquote>
  <p>... (truncated)</p>
  </details>
  <details>
  <summary>Commits</summary>
  <ul>
  <li><a href="704facf57e"><code>704facf</code></a> Merge pull request <a href="https://redirect.github.com/actions/cache/issues/1236">#1236</a> from actions/bethanyj28/bump-version</li>
  <li><a href="17e2888746"><code>17e2888</code></a> Add to RELEASES.md</li>
  <li><a href="667d8fdfa2"><code>667d8fd</code></a> bump action version to 3.3.2</li>
  <li><a href="f7ebb81a3f"><code>f7ebb81</code></a> Consume latest toolkit and fix dangling promise bug (<a href="https://redirect.github.com/actions/cache/issues/1217">#1217</a>)</li>
  <li><a href="67b839edb6"><code>67b839e</code></a> Merge pull request <a href="https://redirect.github.com/actions/cache/issues/1187">#1187</a> from jorendorff/jorendorff/rm-add-to-project</li>
  <li><a href="57f0e3f198"><code>57f0e3f</code></a> Remove actions to add new PRs and issues to a project board</li>
  <li><a href="04f198bf0b"><code>04f198b</code></a> Merge pull request <a href="https://redirect.github.com/actions/cache/issues/1132">#1132</a> from vorburger/bazel-example</li>
  <li><a href="bd9b49b6c3"><code>bd9b49b</code></a> Merge branch 'main' into bazel-example</li>
  <li><a href="ea0503788c"><code>ea05037</code></a> Merge pull request <a href="https://redirect.github.com/actions/cache/issues/1122">#1122</a> from actions/pdotl-patch-1</li>
  <li><a href="6a1a45d49b"><code>6a1a45d</code></a> Merge branch 'main' into pdotl-patch-1</li>
  <li>Additional commits viewable in <a href="https://github.com/actions/cache/compare/v2...v3">compare view</a></li>
  </ul>
  </details>
  <br />

  [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/cache&package-manager=github_actions&previous-version=2&new-version=3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

  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-automerge-start)
  [//]: # (dependabot-automerge-end)

  ---

  <details>
  <summary>Dependabot commands and options</summary>
  <br />

  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 <dependency name> 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)

  </details>

ACKs for top commit:
  apoelstra:
    ACK daa70ea931
  tcharding:
    ACK daa70ea931

Tree-SHA512: bb832378a7b5cb507a253d263eb55e35bb54f2a738fd379c9022fc30ae81e29f92d5b861ccfae6c1f4bffeb3b72c29bac06cbd374277dcf8e3abd24a362ff459
2023-09-09 15:25:48 +00:00
Andrew Poelstra 582c0e3dfa
Merge rust-bitcoin/rust-bitcoin#2054: Bump model-checking/kani-github-action from 0.15 to 0.36
1f25a40440 Bump model-checking/kani-github-action from 0.15 to 0.36 (dependabot[bot])

Pull request description:

  Bumps [model-checking/kani-github-action](https://github.com/model-checking/kani-github-action) from 0.15 to 0.36.
  <details>
  <summary>Release notes</summary>
  <p><em>Sourced from <a href="https://github.com/model-checking/kani-github-action/releases">model-checking/kani-github-action's releases</a>.</em></p>
  <blockquote>
  <h2>Kani Verifier CI Action 0.36</h2>
  <p>No release notes provided.</p>
  <h2>Kani Verifier CI Action 0.35</h2>
  <p>No release notes provided.</p>
  <h2>Kani Verifier CI Action 0.34</h2>
  <p>No release notes provided.</p>
  <h2>Kani Verifier CI Action 0.33</h2>
  <p>No release notes provided.</p>
  <h2>Kani Verifier CI Action 0.32</h2>
  <p>No release notes provided.</p>
  <h2>Kani Verifier CI Action 0.31</h2>
  <p>No release notes provided.</p>
  <h2>Kani Verifier CI Action 0.30</h2>
  <p>No release notes provided.</p>
  <h2>Kani Verifier CI Action 0.29</h2>
  <p>No release notes provided.</p>
  <h2>Kani Verifier CI Action 0.28</h2>
  <p>No release notes provided.</p>
  <h2>Kani Verifier CI Action 0.27</h2>
  <p>No release notes provided.</p>
  <h2>Kani Verifier CI Action 0.26</h2>
  <p>No release notes provided.</p>
  <h2>Kani Verifier CI Action 0.25</h2>
  <p>Bump Kani version to 0.25.0</p>
  <h2>Kani Verifier CI Action 0.24</h2>
  <p>No release notes provided.</p>
  <h2>Kani Verifier CI Action 0.23</h2>
  <p>Update to Kani 0.23.0</p>
  <h2>Kani Verifier CI Action 0.22</h2>
  <p>No release notes provided.</p>
  <h2>Kani Verifier CI Action 0.21</h2>
  <h2>What's Changed</h2>
  <ul>
  <li>Bump version to 0.21 by <a href="https://github.com/danielsn"><code>@danielsn</code></a> in <a href="https://redirect.github.com/model-checking/kani-github-action/pull/23">model-checking/kani-github-action#23</a></li>
  </ul>
  <h2>Kani Verifier CI Action 0.20</h2>
  <!-- raw HTML omitted -->
  </blockquote>
  <p>... (truncated)</p>
  </details>
  <details>
  <summary>Commits</summary>
  <ul>
  <li><a href="4876903b8a"><code>4876903</code></a> Update Kani version to 0.36.0 (<a href="https://redirect.github.com/model-checking/kani-github-action/issues/47">#47</a>)</li>
  <li><a href="402266cd4f"><code>402266c</code></a> Update Kani version to 0.35.0 (<a href="https://redirect.github.com/model-checking/kani-github-action/issues/43">#43</a>)</li>
  <li><a href="86cd7a26e0"><code>86cd7a2</code></a> Bump Kani version to 0.34.0 (<a href="https://redirect.github.com/model-checking/kani-github-action/issues/42">#42</a>)</li>
  <li><a href="ba46efd09d"><code>ba46efd</code></a> Bump Kani version (<a href="https://redirect.github.com/model-checking/kani-github-action/issues/41">#41</a>)</li>
  <li><a href="8b0aa93be2"><code>8b0aa93</code></a> Bump Kani version to 0.32.0 (<a href="https://redirect.github.com/model-checking/kani-github-action/issues/40">#40</a>)</li>
  <li><a href="251c15a5fb"><code>251c15a</code></a> update-to-0.31.0 (<a href="https://redirect.github.com/model-checking/kani-github-action/issues/39">#39</a>)</li>
  <li><a href="7a843b5dbf"><code>7a843b5</code></a> Bump kani version to 0.30.0 (<a href="https://redirect.github.com/model-checking/kani-github-action/issues/38">#38</a>)</li>
  <li><a href="e6805b4b48"><code>e6805b4</code></a> Bump kani version to 0.29.0 (<a href="https://redirect.github.com/model-checking/kani-github-action/issues/37">#37</a>)</li>
  <li><a href="15bc38bcae"><code>15bc38b</code></a> Bump Kani version to 0.28.0 (<a href="https://redirect.github.com/model-checking/kani-github-action/issues/36">#36</a>)</li>
  <li><a href="9757fc4509"><code>9757fc4</code></a> Update Kani version to 0.27.0 (<a href="https://redirect.github.com/model-checking/kani-github-action/issues/35">#35</a>)</li>
  <li>Additional commits viewable in <a href="https://github.com/model-checking/kani-github-action/compare/v0.15...v0.36">compare view</a></li>
  </ul>
  </details>
  <br />

  [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=model-checking/kani-github-action&package-manager=github_actions&previous-version=0.15&new-version=0.36)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

  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-automerge-start)
  [//]: # (dependabot-automerge-end)

  ---

  <details>
  <summary>Dependabot commands and options</summary>
  <br />

  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 <dependency name> 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)

  </details>

ACKs for top commit:
  apoelstra:
    ACK 1f25a40440
  tcharding:
    ACK 1f25a40440

Tree-SHA512: 38beebebc2402c299d03999096ab0258842e44ebcd11da80e376c41c8ec1ebd8738e15dfcab906af9f094ccf9db763747eaeddd40fd7348d0d3c52d926be9d8d
2023-09-09 14:22:56 +00:00
Einherjar c2f3c1fa11
fix(CI): rust-toolchain stable
- sets `dtolnay/rust-toolchain` to `stable`
- delegates the `toolchain` to `1.48.0` as GitHub action input

This will make the rust-toolchain to always run in the `stable` branch with the toolchain version being handled in the action.
It will appease dependabot and we can change at any time the `toolchain` action input.
2023-09-09 10:16:36 -04:00
Andrew Poelstra f2701f6241
Merge rust-bitcoin/rust-bitcoin#2057: Bump actions/download-artifact from 2 to 3
ba3c770e69 Bump actions/download-artifact from 2 to 3 (dependabot[bot])

Pull request description:

  Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3.
  <details>
  <summary>Release notes</summary>
  <p><em>Sourced from <a href="https://github.com/actions/download-artifact/releases">actions/download-artifact's releases</a>.</em></p>
  <blockquote>
  <h2>v3.0.0</h2>
  <h2>What's Changed</h2>
  <ul>
  <li>Update default runtime to node16 (<a href="https://redirect.github.com/actions/download-artifact/pull/134">actions/download-artifact#134</a>)</li>
  <li>Update package-lock.json file version to 2 (<a href="https://redirect.github.com/actions/download-artifact/pull/136">actions/download-artifact#136</a>)</li>
  </ul>
  <h3>Breaking Changes</h3>
  <p>With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.</p>
  <h2>v2.1.1</h2>
  <ul>
  <li>Bump <code>@actions/core</code> to the latest version to prevent breaking changes once <code>set-output</code> and <code>save-state</code> commands are deprecated <a href="https://redirect.github.com/actions/download-artifact/pull/210">#21</a></li>
  </ul>
  <h2>v2.1.0 Download Artifact</h2>
  <ul>
  <li>Improved output &amp; logging</li>
  <li>Fixed issue where downloading all artifacts could cause display percentages to be over 100%</li>
  <li>Various small bug fixes &amp; improvements</li>
  </ul>
  <h2>v2.0.10</h2>
  <ul>
  <li>Retry on HTTP 500 responses from the service</li>
  </ul>
  <h2>v2.0.9</h2>
  <ul>
  <li>Fixes to proxy related issues</li>
  </ul>
  <h2>v2.0.8</h2>
  <ul>
  <li>Improvements to retryability if an error is encountered during artifact download</li>
  </ul>
  <h2>v2.0.7 download-artifact</h2>
  <ul>
  <li>Improved download retry-ability if a partial download is encountered</li>
  </ul>
  <h2>v2.0.6</h2>
  <p>Update actions/core NPM package that is used internally</p>
  <h2>v2.0.5</h2>
  <ul>
  <li>Add Third Party License Information</li>
  </ul>
  <h2>v2.0.4</h2>
  <ul>
  <li>Use the latest version of the <code>@actions/artifact</code> NPM package</li>
  </ul>
  <h2>v2.0.3</h2>
  <ul>
  <li>Misc improvements</li>
  </ul>
  <h2>v2.0.2</h2>
  <ul>
  <li>Support for tilde expansion</li>
  </ul>
  <h2>v2.0.1</h2>
  <ul>
  <li>Download path output</li>
  <li>Improved logging</li>
  </ul>
  </blockquote>
  </details>
  <details>
  <summary>Commits</summary>
  <ul>
  <li><a href="9bc31d5ccc"><code>9bc31d5</code></a> Update to latest actions/artifact NPM package (<a href="https://redirect.github.com/actions/download-artifact/issues/195">#195</a>)</li>
  <li><a href="d2278a10ef"><code>d2278a1</code></a> Update release-new-action-version.yml (<a href="https://redirect.github.com/actions/download-artifact/issues/196">#196</a>)</li>
  <li><a href="c1a6d8f06a"><code>c1a6d8f</code></a> Update codeql-analysis.yml (<a href="https://redirect.github.com/actions/download-artifact/issues/197">#197</a>)</li>
  <li><a href="9782bd6a98"><code>9782bd6</code></a> Update <code>@actions/core</code> to 1.10.0 (<a href="https://redirect.github.com/actions/download-artifact/issues/178">#178</a>)</li>
  <li><a href="076f0f7dd0"><code>076f0f7</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/156">#156</a> from actions/dependabot/npm_and_yarn/ansi-regex-4.1.1</li>
  <li><a href="7151be3221"><code>7151be3</code></a> Bump ansi-regex from 4.1.0 to 4.1.1</li>
  <li><a href="51cbdc41c1"><code>51cbdc4</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/152">#152</a> from actions/dependabot/npm_and_yarn/minimist-1.2.6</li>
  <li><a href="e89a529079"><code>e89a529</code></a> Bump minimist from 1.2.5 to 1.2.6</li>
  <li><a href="fb598a63ae"><code>fb598a6</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/136">#136</a> from actions/jtamsut/update-lockfile-version</li>
  <li><a href="a4a09c5d7e"><code>a4a09c5</code></a> regenerate index.js</li>
  <li>Additional commits viewable in <a href="https://github.com/actions/download-artifact/compare/v2...v3">compare view</a></li>
  </ul>
  </details>
  <br />

  [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/download-artifact&package-manager=github_actions&previous-version=2&new-version=3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

  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-automerge-start)
  [//]: # (dependabot-automerge-end)

  ---

  <details>
  <summary>Dependabot commands and options</summary>
  <br />

  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 <dependency name> 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)

  </details>

ACKs for top commit:
  apoelstra:
    ACK ba3c770e69
  tcharding:
    ACK ba3c770e69

Tree-SHA512: f095603846a08e52def2c44666edc1d8e4c277a518c988b366bf37fa1ecb74e4e68ff0be91541970d20c8db779b6a984c08e14d61522c4a0edf6927b6ab338ee
2023-09-09 14:15:26 +00:00