Skip to content

Conversation

@arobsn
Copy link
Member

@arobsn arobsn commented Jul 11, 2025

No description provided.

@changeset-bot
Copy link

changeset-bot bot commented Jul 11, 2025

🦋 Changeset detected

Latest commit: 3acfa64

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

This PR includes changesets to release 8 packages
Name Type
@fleet-sdk/serializer Minor
@fleet-sdk/compiler Minor
@fleet-sdk/core Minor
@fleet-sdk/mock-chain Minor
@fleet-sdk/wallet Minor
@fleet-sdk/ageusd-plugin Patch
@fleet-sdk/babel-fees-plugin Patch
@fleet-sdk/blockchain-providers Minor

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

@codecov
Copy link

codecov bot commented Jul 11, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (62b7f17) to head (3acfa64).
Report is 11 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #201   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          123       124    +1     
  Lines        14059     14157   +98     
  Branches      1740      1760   +20     
=========================================
+ Hits         14059     14157   +98     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Jul 11, 2025

@fleet-sdk/blockchain-providers

npm i https://pkg.pr.new/@fleet-sdk/blockchain-providers@201

@fleet-sdk/common

npm i https://pkg.pr.new/@fleet-sdk/common@201

@fleet-sdk/compiler

npm i https://pkg.pr.new/@fleet-sdk/compiler@201

@fleet-sdk/core

npm i https://pkg.pr.new/@fleet-sdk/core@201

@fleet-sdk/crypto

npm i https://pkg.pr.new/@fleet-sdk/crypto@201

@fleet-sdk/mock-chain

npm i https://pkg.pr.new/@fleet-sdk/mock-chain@201

@fleet-sdk/serializer

npm i https://pkg.pr.new/@fleet-sdk/serializer@201

@fleet-sdk/wallet

npm i https://pkg.pr.new/@fleet-sdk/wallet@201

@fleet-sdk/ageusd-plugin

npm i https://pkg.pr.new/@fleet-sdk/ageusd-plugin@201

@fleet-sdk/babel-fees-plugin

npm i https://pkg.pr.new/@fleet-sdk/babel-fees-plugin@201

commit: 3acfa64

@arobsn arobsn requested a review from Copilot July 12, 2025 00:44
Copy link

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

Adds end-to-end support for serializing and deserializing AVL Tree constants.

  • Introduces SAvlTreeType and SAvlTree as a new monomorphic type
  • Registers AVL Tree handling in descriptors, type/data serializers, and wire formats
  • Provides low-level serializeAvlTree/deserializeAvlTree, test vectors, and round-trip tests

Reviewed Changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
monomorphics.ts Added SAvlTreeType
index.ts Exported SAvlTree
descriptors.ts Registered avlTree descriptor
constructors.ts Defined SAvlTree constructor proxy
typeSerializer.ts Handled avlTree in type serialization and deserialization
dataSerializer.ts Plugged in serializeAvlTree/deserializeAvlTree branches
avlTreeSerializer.ts Implemented flag parsing and (de)serialization of AVL data
sigmaByteWriter.ts Added writeOption for optional values
sigmaByteReader.ts Added readOption complement
constantVectors.ts Added test vectors for AVL Tree
sigmaConstant.spec.ts Added AVL Tree round-trip and flag tests
biome.json Allowed use of const enum
.changeset/thirty-pears-listen.md Documented feature bump
Comments suppressed due to low confidence (4)

packages/serializer/src/serializers/avlTreeSerializer.ts:10

  • [nitpick] Consider adding JSDoc comments to AvlTreeFlags and AvlTreeData interfaces to explain each property (e.g., bit meanings, expected digest format) and improve maintainability.
export interface AvlTreeData extends AvlTreeFlags {

packages/serializer/src/serializers/avlTreeSerializer.ts:18

  • [nitpick] The const enum AvlTreeFlag name is very similar to the AvlTreeFlags interface. Renaming it to something like AvlTreeFlagEnum could reduce confusion and clarify intent.
const enum AvlTreeFlag {

packages/serializer/src/serializers/avlTreeSerializer.ts:24

  • It would be valuable to add direct unit tests for serializeAvlTree and deserializeAvlTree to cover flag combinations and optional valueLength encoding separately from the SConstant round-trip tests.
export function serializeAvlTree(

packages/serializer/src/types/monomorphics.ts:25

  • The generic parameter for SAvlTreeType currently mirrors Box<bigint>. It should reflect the actual AvlTreeData constant type (e.g. SMonomorphicType<SConstant<AvlTreeData>>) and import AvlTreeData accordingly to keep type signatures correct.
export class SAvlTreeType extends SMonomorphicType<SConstant<Box<bigint>>> {

@arobsn arobsn merged commit 8642255 into master Jul 12, 2025
16 checks passed
@arobsn arobsn deleted the avl-tree branch July 12, 2025 00:50
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.

2 participants