Skip to content

fix(engine): support big int in changeset#752

Merged
graham-chainlink merged 1 commit intomainfrom
ggoh/marshaloverflow-bug
Feb 19, 2026
Merged

fix(engine): support big int in changeset#752
graham-chainlink merged 1 commit intomainfrom
ggoh/marshaloverflow-bug

Conversation

@graham-chainlink
Copy link
Copy Markdown
Collaborator

@graham-chainlink graham-chainlink commented Feb 19, 2026

when input yaml has some big integers, eg

domain: test
changesets:
  - test_changeset:
      payload:
        feequoterparams:
          maxfeejuelspermsg: 200000000000000000001
          defaulttokenfeeusdcents: 1200
          premiummultiplierwei: 1000000000000000000000000

the value will be represented in float which is not accurate , by implementing unmarshaling with yaml.node, we can manually set the type to be big int, maintaining the accuracy of the number.

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Feb 19, 2026

🦋 Changeset detected

Latest commit: 60e9244

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
chainlink-deployments-framework Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@graham-chainlink graham-chainlink force-pushed the ggoh/marshaloverflow-bug branch 2 times, most recently from fd9a923 to d68902a Compare February 19, 2026 16:50
@graham-chainlink graham-chainlink changed the title unmarshal with yaml.Node fix(engine): support big int in changeset Feb 19, 2026
@cl-sonarqube-production
Copy link
Copy Markdown

@graham-chainlink graham-chainlink marked this pull request as ready for review February 19, 2026 17:02
@graham-chainlink graham-chainlink requested a review from a team as a code owner February 19, 2026 17:02
Copilot AI review requested due to automatic review settings February 19, 2026 17:02
@graham-chainlink graham-chainlink added this pull request to the merge queue Feb 19, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the durable pipeline YAML parsing in the legacy CLI to preserve large integer precision (avoiding float64 coercion) so changeset payloads containing big integers can be safely serialized to JSON without losing accuracy.

Changes:

  • Parse YAML into yaml.Node and convert to map[string]any/[]any while preserving integer scalars as json.Number.
  • Extend chainOverrides validation to accept json.Number and validate it as a non-negative integer.
  • Add regression/compatibility tests and a changeset entry for the patch release.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
engine/cld/legacy/cli/commands/durable_pipeline_yaml.go Switches YAML parsing to yaml.Node + custom conversion to preserve integer precision and updates validation for chainOverrides.
engine/cld/legacy/cli/commands/durable-pipelines_test.go Adds tests covering large-integer precision and YAML node conversion behavior.
.changeset/silent-berries-watch.md Declares a patch release for the big-int preservation fix.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Merged via the queue into main with commit e07d0ff Feb 19, 2026
27 checks passed
@graham-chainlink graham-chainlink deleted the ggoh/marshaloverflow-bug branch February 19, 2026 17:08
github-merge-queue bot pushed a commit that referenced this pull request Feb 19, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## chainlink-deployments-framework@0.81.1

### Patch Changes

-
[#752](#752)
[`e07d0ff`](e07d0ff)
Thanks [@graham-chainlink](https://github.com/graham-chainlink)! -
fix(engine): support big int in changeset

---------

Co-authored-by: app-token-issuer-engops[bot] <144731339+app-token-issuer-engops[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants