Skip to content

chore: move Hasher package into Crypto#3964

Open
airope wants to merge 571 commits intoFuelLabs:mainfrom
airope:chore/move-hasher-into-crypto
Open

chore: move Hasher package into Crypto#3964
airope wants to merge 571 commits intoFuelLabs:mainfrom
airope:chore/move-hasher-into-crypto

Conversation

@airope
Copy link
Copy Markdown

@airope airope commented Mar 4, 2026

Description

Moves the @fuel-ts/hasher package functionality into @fuel-ts/crypto, as proposed in #2477.

Changes

  • Moved hasher.ts (and its tests) into packages/crypto/src/
  • Updated @fuel-ts/crypto index to re-export all hasher functions (sha256, hash, uint64ToBytesBE, hashMessage, HashableMessage)
  • Updated all imports across the monorepo from @fuel-ts/hasher to @fuel-ts/crypto
  • Updated package.json dependencies accordingly
  • Kept @fuel-ts/hasher package as a thin re-export wrapper from @fuel-ts/crypto for backward compatibility
  • Removed duplicate re-exports in packages/fuels/src/index.ts

Closes #2477

danielbate and others added 30 commits December 2, 2024 11:42
* chore: cleanups for recipes build

* chore: changeset

* chore: lint

Co-authored-by: Peter Smith <peter@blueoceancomputing.co.uk>

---------

Co-authored-by: Peter Smith <peter@blueoceancomputing.co.uk>
…#3437)

* ci(deps): bump dawidd6/action-download-artifact from 6 to 7

Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 6 to 7.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](dawidd6/action-download-artifact@v6...v7)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* build: update dependency changeset

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix: issue with bun not kill processes

* chore: removed `console.log`'s from tests

* chore: ensure all process children killed

* chore: changeset

* chore: release

* chore: fix test

* chore: un-release

* chore: pls fix

* chore: include custom .d.ts files

* chore: fix test

* chore: removed flaky check

* chore: suppressing errors
* chore: upgrade graphql-request

* chore: changeset
* chore: silence recipe logs

* chore: update changeset
* docs: fixing API links

* chore: fixing relative links
* fix: incorrectly converting BN to number for `formatTransferToContractScriptData`

* chore: changeset

* chore: tests

* chore: added test for batch transfer
* chore: fix link

* docs: fix docs link

* chore: fix link
* chore: disable `launchNode` logging

* chore: suppress logs while spying

* chore: proposed suppression of EventEmitter max connection

* chore: proposed suppression of asm error

* chore: suppressing more logs

* chore: autoStartFuelCore

* chore: fix launchNode test

* chore: checkFuelCoreVersionCompatibility.test

* chore: fixed build test

* chore: temp removal of @fuels/vm-asm warning

* chore: bump limit on EventEmitter

* chore: removed redundancy

* chore: changeset

* chore: ensure we alway log errors

---------

Co-authored-by: dhai <dhaiwatpandya@gmail.com>
* chore: build recipes before building package

* chore: changeset

---------

Co-authored-by: Chad Nehemiah <chad.nehemiah94@gmail.com>
Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>
ci(release): versioning packages and changesets

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* feat: integrate vitest matchers globally

* fix: added global type file & changed setup file directory

* docs: improve `cookbook/transaction-request` (FuelLabs#3440)

* chore: silence recipes format logs (FuelLabs#3451)

* chore: silence recipe logs

* chore: update changeset

* docs: fix api links (FuelLabs#3452)

* docs: fixing API links

* chore: fixing relative links

* fix: `transferToContract` method now allows big numbers (FuelLabs#3458)

* fix: incorrectly converting BN to number for `formatTransferToContractScriptData`

* chore: changeset

* chore: tests

* chore: added test for batch transfer

* fix: moved vitest matcher setup from fuel-gauge to utils

* fix(utils): update vitest matcher import path

* chore: add changeset for vitest matcher changes

* fix: removed previous changeset

* chore: removed types

* chore: added changeset

* Update .changeset/rare-hornets-rush.md

---------

Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>
Co-authored-by: Daniel Bate <djbate23@gmail.com>
Co-authored-by: Peter Smith <peter@blueoceancomputing.co.uk>
…lLabs#3435)

* docs: add max outputs documentation to combining UTXO docs

* docs: add changeset

* docs: updated spelling

* docs: linting fixes

* docs: add max inputs and outputs snippet

* feat: add function for splitting UTXOs and docs on maxOutputs

* docs: update changeset

* build: update lockfile

* build: update spellcheck

* test: add environment to tests

* fix: update return type from splitting utxos function

* docs: add vitepress config for docs

* test: cover fees

* docs: update title

Co-authored-by: Daniel Bate <djbate23@gmail.com>

* docs: update grammatical issues

Co-authored-by: Daniel Bate <djbate23@gmail.com>

* docs: update grammar

Co-authored-by: Daniel Bate <djbate23@gmail.com>

* docs: remove unnecessary fullstop

Co-authored-by: Daniel Bate <djbate23@gmail.com>

* docs: update snippets comment

Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>

* docs: update snippet formatting

Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>

* fix: adjust tests and documentation errors

* docs: update JS docs

* docs: adjust grammatical issue in max inputs/outputs

* docs: add full stop

Co-authored-by: Dhaiwat <dhaiwatpandya@gmail.com>

* docs: update docs

* docs: update changeset

* mend

---------

Co-authored-by: Daniel Bate <djbate23@gmail.com>
Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>
Co-authored-by: Dhaiwat <dhaiwatpandya@gmail.com>
* update chainconfig

* update state transition bytecode wasm files

* reset bytecode wasm file

* remove an extra field

* reset chain id

* reset `privileged_address`

* fix some tests

* add `0x` prefix to asset id

* fix up test

* fix up test

* decrease state transition bytecode chunk size

* update the state transition bytecode

* add changeset

* Delete index.ts

* Update funding-transaction.test.ts

* start removing state from `stateConfig.json`

* Update fuel-wallet-connector.test.ts

* fix more tests

* remove `.only()`

* Update funding-transaction.test.ts

* ensure no breaking changes for fuels CLI

* resolve lockfile conflicts

* Update get-messages-by-nonce.ts

* revert changes in `common.d.ts`

* remove __dirname

* fix lint error

* use `TestMessage`

* refactor type

* oops

* fix for messages

* use hex string instead of wasm file

* remove unused dep

* update lockfile

* update msg id

* final fix for the love of god
* chore: migrate unpublish script -> deprecation script

* chore: add deprecation workflow

* chore: changeset

* chore: rename workflow

* chore: rebuild

* chore: use allSettled

* chore: add dry run

* chore: refactor

* chore: filter out latest next tag

* chore: remove hardcoded package
* chore: bumped forc

* chore: changeset

* chore: fix library visibility

---------

Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>
* fix: use `latest` toolchain channel for `create fuels`

* update versions

* update changeset

* disable pr release

* Update cli.test.ts

* bump fuel-core

* fix test
* fix: vitest matcher setup

* chore: changeset

* chore: fix issue with expect import

* chore: release to npm

* chore: remove release tag

* chore: added peer dependency

* chroe: lock
ci(release): versioning packages and changesets

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Purging everything about benchmarks and codspeed
* Adjusting shell script call in package.json files

* Adding changeset
* Parsing args as an array of paths/globals

* Handling multiple paths in test utility

* Testing multilple paths in `fuel init` command

* Adding changeset

* Tyop

* Updating changeset
* feat: added error condition around number values that are too big

* chore: changeset

* chore: add comment + altered test

* Update .changeset/orange-moles-leave.md

* Update packages/abi-coder/src/encoding/coders/BigNumberCoder.test.ts

Co-authored-by: Daniel Bate <djbate23@gmail.com>

* chore: improving error message

* chore: fix error messages

---------

Co-authored-by: Daniel Bate <djbate23@gmail.com>
Co-authored-by: Anderson Arboleya <anderson@arboleya.me>
* chore: bumped @fuels/connectors + @fuels/react versions

* chore: changeset

* chore: release

* chore: removed await from provider instantiation

* chore: remove release flag

* chore: fixed transaction url

* chore: removed hardcoded network
* chore: removed bech32

* chore: update recipes

* chore: fix test

* chore: update changeset

* Update apps/docs/src/guide/types/address.md

Co-authored-by: Daniel Bate <djbate23@gmail.com>

---------

Co-authored-by: Anderson Arboleya <anderson@arboleya.me>
Co-authored-by: Daniel Bate <djbate23@gmail.com>
* chore: added static method to duplicate predicate

* chore: refactored toNewInstance method

* chore: fixed some lint errors

* chore: added changeset

* Update packages/fuel-gauge/src/predicate/predicate-duplication.test.ts

Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>

* Update packages/fuel-gauge/src/predicate/predicate-duplication.test.ts

Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>

* Update packages/fuel-gauge/src/predicate/predicate-duplication.test.ts

Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>

* Update packages/fuel-gauge/src/predicate/predicate-duplication.test.ts

Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>

* Update packages/fuel-gauge/src/predicate/utils/predicate/fundPredicate.ts

Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>

* Update packages/fuel-gauge/src/predicate/utils/predicate/fundPredicate.ts

Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>

* chore: removed helpers

* chore: typing in fund function

* chore: refactored fundPredicate function to fundAccount

* feat: added method to duplicate predicate

---------

Co-authored-by: Dhaiwat <dhaiwatpandya@gmail.com>
Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>
Co-authored-by: Anderson Arboleya <anderson@arboleya.me>
Torres-ssf and others added 25 commits June 18, 2025 15:25
* Implemented basic functionality for consolidation of non base assets

* Finalized the consolidation process

* Lintfix

* Updated documentation

* Changeset

* Finalised non-base asset consolidation
* ci(scripts): update versions

* ci(release): versioning packages and changesets

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Added missing envs for Vercel release
* Bumped versions

* Sync'd fuel-core schema

* Separated `INSUFFICIENT_FUNDS` and `MAX_COINS_REACHED`

* Fixed error message for `PredicateVerificationFailed`

* Revert "Separated `INSUFFICIENT_FUNDS` and `MAX_COINS_REACHED`"

This reverts commit e05e72d.

* Allow proper mapping of `INSUFFICIENT_FUNDS_OR_MAX_COINS` error

* Bumped `@fuels/asm`

* Changeset

* Added metadata to the `INSUFFICIENT_FUNDS_OR_MAX_COINS` error

* Lintfix

* Update .changeset/full-carpets-lose.md

* Update .changeset/full-carpets-lose.md

* Update .changeset/full-carpets-lose.md

* Only bump version

* Testing with binaries committed

* Added logging to binary finding

* Is it a faulty bin?

* Use correct architecture for Vercel

* rollback bin changes

* Remove binaries

* Install correct version

* Testing publishing preview

* deploy

* Fix env

* Use correct argument

* Move to output

* Removed CWD

* Change dir

* chore: added build

* Added token

* Added action

* Missing shell

* Please build

* Added debug

* Use latest corepack

* Remove corepack version check

* Added template build

* Pull envs

* Delete `vercel.json`

* Fix?

* Echo out deployment URL's

* Echo out deployment URL's

* Added PR comment

* Revert "Only bump version"

This reverts commit 6c42877.

* Revert "Added logging to binary finding"

This reverts commit cead8c3.

* Update id

* Added conditional outcome comment

* Pls

* Ensure all deployments successful

* Added missing project ID

* Added environment support for Vercel deploy

* Fixed inputs

* Single equality check

* Added deployment for the releases

* Missing nightly option

* Added `assetId` to error message

* Fixed error message

---------

Co-authored-by: Sérgio Torres <30977845+Torres-ssf@users.noreply.github.com>
* Revert "chore!: breaking change for `fuel-core@v0.44.0` (FuelLabs#3937)"

This reverts commit 5b3bb62.

* Alter changeset
* Exported `assembleTransferToContractScript`

* Changeset
* ci(scripts): update versions

* ci(release): versioning packages and changesets

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v4...v6)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: update devnet chainId to 1119889111

* feat: add changeset for updating devnet Chain ID

* fix: add 'as const' assertion to CHAIN_IDS for better type inference

* feat!: mark devnet Chain ID update as a breaking change
* fix: migrate to npm oidc auth

* feat: set NPM_CONFIG_PROVENANCE
@fuel-cla-bot
Copy link
Copy Markdown

fuel-cla-bot Bot commented Mar 4, 2026

Thanks for the contribution! Before we can merge this, we need @arboleya @danielbate @Torres-ssf @Dhaiwat10 to sign the Fuel Labs Contributor License Agreement.

@cursor
Copy link
Copy Markdown

cursor Bot commented Mar 4, 2026

PR Summary

High Risk
High risk because it substantially changes the release/publishing and CI workflows (npm publishing via provenance/OIDC, CodeArtifact pr-*/next publishing, Vercel deployments, and test gating), which can easily break automation or ship incorrect artifacts if misconfigured.

Overview
CI/release automation is reworked: adds a new changesets-pr workflow for versioning PRs, switches PR/next publishing to AWS CodeArtifact (publish-to-next), updates release.yaml to publish only on ci(release): commits with npm provenance/OIDC, adds Vercel deploy composites + workflows for PR previews and release deployments, and introduces a deprecate-versions workflow (removing older PR-release/unpublish automation and trimming Dependabot config).

Template + dev tooling updates: migrates apps/create-fuels-counter-guide from Next.js to Vite/React (new app structure, env vars, Tailwind 4, Playwright UI tests, and adds a Sway script plus contract/predicate tests), updates local fuel-core chain/state configs, and refreshes repo hygiene (ESLint/Prettier/ignore rules, .env.example keys, new issue templates, CODEOWNERS, CODE_OF_CONDUCT.md, and expanded SECURITY.md).

Written by Cursor Bugbot for commit 408b35d. This will update automatically on new commits. Configure here.

@github-actions github-actions Bot added the chore Issue is a chore label Mar 4, 2026
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.


export default function Contract() {
const { errorNotification, transactionSubmitNotification, transactionSuccessNotification } = useNotification();
useNotification();
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate useNotification() hook calls in components

Medium Severity

Each of Contract, Script, and Predicate components calls useNotification() twice — once with destructuring on the line above and once as a bare standalone call whose return value is discarded. The extra call creates an orphaned useRef and unused closures on every render. Since useNotification manages toast state via a ref, this silently wastes resources and is clearly leftover from a refactor.

Additional Locations (2)

Fix in Cursor Fix in Web

labels: ["triage"]
body:
- type: markdown
attributes:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feature template YAML has broken indentation

Medium Severity

The first list item under body: uses - type: markdown at zero indentation (line 5), while subsequent items like - type: textarea (line 13) use 2-space indentation. Comparing with the correctly formatted 1-bug.yaml, the dash on line 5 needs to be indented by 2 spaces to be a proper child of body:. This malformed YAML will cause GitHub to fail parsing the feature request issue template.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Issue is a chore cla:missing

Projects

None yet

Development

Successfully merging this pull request may close these issues.