Skip to content
Open
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
b4fbd00
clarify generateDeterministicEntropy usage examples
bitjson Apr 10, 2024
4043ae7
Deprecate BCH_2022_05, add BCH_2023_05, BCH_2025_05, and BCH_SPEC, up…
bitjson May 8, 2024
49bcce4
Begin implementation of BCH_2025_05 and BCH_SPEC
bitjson May 10, 2024
1f34ca4
Update `isStandardOutputBytecode` to allow P2SH32
bitjson May 28, 2024
18e1614
Add BCH_2026_05, add VM benchmarking
bitjson May 30, 2024
c0eadac
Run VMB benchmarks in CI
bitjson May 30, 2024
d0d54b9
Fix OP_TXVERSION VMB tests, reduce 2025 nonstandard hashing density l…
bitjson May 31, 2024
1a03d3f
Improve VM perf, support schnorr multisig, expand support for limit, …
bitjson Jul 26, 2024
a867ff9
Merge branch 'benchmarks' into next
bitjson Jul 26, 2024
ffad3f6
Enter prerelease mode
bitjson Jul 26, 2024
b1851d4
Release v3.1.0-next.0 (#138)
github-actions[bot] Jul 26, 2024
cad78dd
Revise BCH VMs and VMB tests, rewrite VMB test tooling for performance
bitjson Sep 17, 2024
9c35e3e
Upgrade deps, add export:vmb_tests tooling, more tests
bitjson Sep 25, 2024
546ae14
Merge pull request #144 from bitauth/2025
bitjson Sep 27, 2024
33bbdaa
Release v (next)
github-actions[bot] Sep 27, 2024
94306e4
Merge pull request #146 from bitauth/changeset-release/next
bitjson Sep 27, 2024
76879be
Submodule and test against BCHN, expand VMB test coverage
bitjson Nov 15, 2024
1ae893c
Merge pull request #148 from bitauth/2025
bitjson Nov 15, 2024
10b1eeb
Release v (next)
github-actions[bot] Nov 15, 2024
681f962
Merge pull request #149 from bitauth/changeset-release/next
bitjson Nov 15, 2024
836d917
Speculatively implement P2S, OP_EVAL, and OP_POW (#150)
bitjson Dec 12, 2024
febc970
Release v3.1.0-next.3 (#151)
github-actions[bot] Dec 12, 2024
3075c46
Fix build issues
bitjson Dec 13, 2024
4efa3fb
Commit BCH_2026 tests
bitjson Dec 13, 2024
477334a
Improve BCH_2026 support and test coverage
bitjson Dec 19, 2024
489cac0
Release v3.1.0-next.4 (#152)
github-actions[bot] Dec 19, 2024
cea3f0f
Reclassify and extend VMB tests for 2026 proposals
bitjson Apr 22, 2025
548df89
Continue BCH_2026 development
bitjson May 28, 2025
0c1f0b8
Release v3.1.0-next.5 (#156)
github-actions[bot] May 28, 2025
dcd7185
Implement Bitwise CHIP in BCH_2026
bitjson May 31, 2025
28b9aeb
Release v3.1.0-next.6 (#157)
github-actions[bot] May 31, 2025
a4da66c
Add CashAssembly features, improve VM performance
bitjson Jul 1, 2025
0955b4c
Release v3.1.0-next.7 (#159)
github-actions[bot] Jul 1, 2025
35c37df
Update BCH_2026 VM and VMB tests
bitjson Sep 4, 2025
d28da7f
Release v3.1.0-next.8 (#160)
github-actions[bot] Sep 5, 2025
61abaca
Update benchmark results
bitjson Sep 5, 2025
0534f9b
Fix OP_INVOKE/OP_DEFINE descriptions
bitjson Sep 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
5 changes: 5 additions & 0 deletions .changeset/breezy-tables-enjoy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Fix operation cost in OP_SIZE
5 changes: 5 additions & 0 deletions .changeset/bright-steaks-explode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Add CashAssembly support for stack item labels
5 changes: 5 additions & 0 deletions .changeset/clean-adults-explain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Extend AuthenticationErrorCommon with all transaction verification errors
5 changes: 5 additions & 0 deletions .changeset/cold-cups-eat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Add support for debugging evaluations with loops
5 changes: 5 additions & 0 deletions .changeset/cold-icons-kneel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

add debug and compileCashAssembly utilities
7 changes: 7 additions & 0 deletions .changeset/curvy-pandas-agree.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@bitauth/libauth': patch
---

Update `isStandardOutputBytecode` to allow P2SH32

Fixes #133. Thanks for the report @rkalis!
5 changes: 5 additions & 0 deletions .changeset/dull-fireants-float.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Improve VM Number encoding/decoding performance
5 changes: 5 additions & 0 deletions .changeset/eight-mirrors-arrive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Add support for warnings in VMB test generation
5 changes: 5 additions & 0 deletions .changeset/fair-zoos-tap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Add support for verifying VMB tests against BCHN metrics and fail reasons
5 changes: 5 additions & 0 deletions .changeset/famous-spies-drive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Fix OP_TXVERSION VMB tests, reduce 2025 nonstandard hashing density limit
5 changes: 5 additions & 0 deletions .changeset/fast-ghosts-fix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Move VMB test duplication checking to start of generation
5 changes: 5 additions & 0 deletions .changeset/fifty-bears-cross.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Add support for Bitwise CHIP to BCH_2026
7 changes: 7 additions & 0 deletions .changeset/great-ducks-roll.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@bitauth/libauth': minor
---

Deprecate `BCH_2022_05` VM, add `BCH_2023_05`, `BCH_2025_05`, and `BCH_SPEC` VMs, update vmb_tests

Additionally, all exports have been renamed to more consistently adhere to the `camelCase` capitalization style, without exceptions for abbreviations. For example `assembleBytecodeBCH` is now `assembleBytecodeBch`. To ensure backwards-compatibility, aliases (marked with `@deprecated` TSdoc tags) are also exported using the old capitalization. These aliases will be removed in a future major version.
5 changes: 5 additions & 0 deletions .changeset/happy-insects-wait.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Add BCH_2026_05, add VM benchmarking
5 changes: 5 additions & 0 deletions .changeset/healthy-planets-repeat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Rename `nonP2SH` to `P2S`
5 changes: 5 additions & 0 deletions .changeset/itchy-dancers-confess.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Add support for BigInt CHIP
5 changes: 5 additions & 0 deletions .changeset/kind-drinks-lie.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Reclassify existing VMB tests for 2026 proposals, add additional tests
5 changes: 5 additions & 0 deletions .changeset/long-hairs-jam.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Improve performance of all virtual machines
5 changes: 5 additions & 0 deletions .changeset/modern-cobras-drop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Prevent excessive hashing in null-signature CHECKMULTISIG
5 changes: 5 additions & 0 deletions .changeset/nervous-carrots-punch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Run VMB benchmarks in CI
5 changes: 5 additions & 0 deletions .changeset/nice-flies-listen.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Fix operation cost in OP_NIP
5 changes: 5 additions & 0 deletions .changeset/plenty-frogs-vanish.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Add `elideWordsAndHexAtLength`
5 changes: 5 additions & 0 deletions .changeset/polite-eggs-pretend.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Add -i flag to ignore warnings in gen:vmb_tests
44 changes: 44 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"mode": "pre",
"tag": "next",
"initialVersions": {
"@bitauth/libauth": "3.0.0"
},
"changesets": [
"breezy-tables-enjoy",
"clean-adults-explain",
"cold-cups-eat",
"curvy-pandas-agree",
"eight-mirrors-arrive",
"fair-zoos-tap",
"famous-spies-drive",
"fast-ghosts-fix",
"fifty-bears-cross",
"great-ducks-roll",
"happy-insects-wait",
"healthy-planets-repeat",
"itchy-dancers-confess",
"kind-drinks-lie",
"long-hairs-jam",
"modern-cobras-drop",
"nervous-carrots-punch",
"nice-flies-listen",
"orange-suits-impress",
"plenty-frogs-vanish",
"polite-eggs-pretend",
"quiet-ducks-sneeze",
"rare-carrots-fry",
"seven-ligers-drum",
"shaggy-monkeys-tell",
"short-cars-cheat",
"shy-kings-grow",
"sixty-brooms-shout",
"sour-ties-allow",
"tall-actors-sell",
"ten-crabs-smell",
"twelve-suns-protect",
"two-peas-give",
"unlucky-windows-remember",
"wet-pans-confess"
]
}
5 changes: 5 additions & 0 deletions .changeset/quiet-ducks-sneeze.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Fix operation cost in OP_ROLL
5 changes: 5 additions & 0 deletions .changeset/rare-carrots-fry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

`yarn gen:vmb-tests` watch mode: rebuild only the modified file
5 changes: 5 additions & 0 deletions .changeset/seven-ligers-drum.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Add support for Schnorr multisig in BCH VMs
5 changes: 5 additions & 0 deletions .changeset/shaggy-monkeys-tell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Submodule BCHN and extend package scripts to verify VMB tests
5 changes: 5 additions & 0 deletions .changeset/short-cars-cheat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Expand VMB test coverage
5 changes: 5 additions & 0 deletions .changeset/shy-kings-grow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Eliminate Repeated Bytes counter from BCH_2026_05
5 changes: 5 additions & 0 deletions .changeset/silver-bottles-repair.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Update 2026 CHIP implementations
5 changes: 5 additions & 0 deletions .changeset/sixty-brooms-shout.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Add combinatorial VMB test sets for arithmetic, hashing, and signature checking
9 changes: 9 additions & 0 deletions .changeset/sour-ties-allow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
'@bitauth/libauth': patch
---

Begin implementation of BCH_2025_05 and BCH_SPEC

- Revised `AuthenticationVirtualMachine` to remove `clone` (obviated by wide availability of `structuredClone`) and add `initialize`, allowing VM proposals to add to the program state of an existing VM (in a type-safe way) without duplicating its unchanged logic.
- Clarified documentation around contributing upgrade proposals to Libauth VMs
- Allow usage of any `BCH_SPEC` opcodes in `assembleBytecodeBch`/`disassembleBytecodeBch`
5 changes: 5 additions & 0 deletions .changeset/tall-actors-sell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Speculatively implement P2S, OP_EVAL, and OP_POW
5 changes: 5 additions & 0 deletions .changeset/ten-crabs-smell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Expand VMB tests for OP_EVAL and loops
5 changes: 5 additions & 0 deletions .changeset/twelve-suns-protect.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Refactor BCH VMs for correctness and clarity
5 changes: 5 additions & 0 deletions .changeset/two-peas-give.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': minor
---

Rewrite VMB test tooling for parallel and incremental generation, benchmarking
5 changes: 5 additions & 0 deletions .changeset/unlucky-windows-remember.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Expand VMB benchmark tests and tooling
5 changes: 5 additions & 0 deletions .changeset/wet-pans-confess.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bitauth/libauth': patch
---

Fix bug in isMinimalDataPush for OP_PUSHBYTES_1
21 changes: 19 additions & 2 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
"authchain",
"authchains",
"authhead",
"BCHCHIPs",
"bchn",
"bchreg",
"bchtest",
Expand All @@ -40,6 +39,7 @@
"cashaddr",
"CASHTOKENS",
"Chaingraph",
"checkbits",
"CHECKDATASIG",
"CHECKDATASIGVERIFY",
"CHECKLOCKTIMEVERIFY",
Expand Down Expand Up @@ -69,6 +69,7 @@
"deserialize",
"devtools",
"discoverability",
"DIVSHIFT",
"Dreyzehner",
"DYNAMICTOP",
"ecdsa",
Expand Down Expand Up @@ -102,6 +103,8 @@
"lifecycle",
"locktime",
"LSHIFT",
"LSHIFTBIN",
"LSHIFTNUM",
"mainnet",
"malleate",
"malleated",
Expand All @@ -112,6 +115,7 @@
"MINIMALIF",
"MITM",
"monospace",
"MULSHIFT",
"multisig",
"Nakamoto",
"NONFUNGIBLE",
Expand All @@ -130,6 +134,8 @@
"OUTPUTTOKENCATEGORY",
"OUTPUTTOKENCOMMITMENT",
"OUTPUTVALUE",
"PADLEFT",
"PADRIGHT",
"parsimmon",
"performant",
"plusplus",
Expand All @@ -143,18 +149,24 @@
"PUBKEYS",
"PUSHBYTES",
"PUSHDATA",
"pushonly",
"rebranded",
"rebranding",
"redenominated",
"regtest",
"reversebytes",
"ripemd",
"rkalis",
"RSHIFT",
"RSHIFTBIN",
"RSHIFTNUM",
"rustup",
"satoshi",
"satoshis",
"Sats",
"schnorr",
"scriptonly",
"scriptsig",
"seckey",
"secp",
"secp256k1",
Expand All @@ -173,13 +185,16 @@
"substack",
"templating",
"testnet",
"tinybench",
"TOALTSTACK",
"tprv",
"tpub",
"trxhzt",
"tsdoc",
"txid",
"TXINPUTCOUNT",
"TXLOCKTIME",
"txns",
"TXOUTPUTCOUNT",
"TXVERSION",
"typeof",
Expand Down Expand Up @@ -219,7 +234,9 @@
"tsconfig.json",
"node_modules/**",
"src/**/*.base64.ts",
"src/**/script_tests.json"
"src/**/script_tests.json",
"src/lib/vmb-tests/generated",
"src/lib/vmb-tests/bchn/*.json"
],
"patterns": [
{
Expand Down
Loading
Loading