Skip to content

fix: forward allowHttp when creating fallback RPC server in Contract #57

Merged
fazzatti merged 1 commit intofazzatti:devfrom
AquiGorka:fix/contract-allow-http
Mar 5, 2026
Merged

fix: forward allowHttp when creating fallback RPC server in Contract #57
fazzatti merged 1 commit intofazzatti:devfrom
AquiGorka:fix/contract-allow-http

Conversation

@AquiGorka
Copy link
Contributor

The Contract constructor creates a fallback Server when no rpc instance is passed, but ignores networkConfig.allowHttp. This causes HTTP RPC URLs (e.g. local development networks) to fail with:

Cannot connect to insecure Soroban RPC server if allowHttp isn't set

The fix passes allowHttp from networkConfig to the Server constructor.

The Contract constructor creates a fallback RPC server when no `rpc`
is passed, but ignores `networkConfig.allowHttp`. This causes all
HTTP RPC URLs (e.g. local development) to fail with "Cannot connect
to insecure Soroban RPC server".
@fazzatti fazzatti changed the base branch from main to dev March 5, 2026 11:34
@fazzatti fazzatti self-requested a review March 5, 2026 11:35
Copy link
Owner

@fazzatti fazzatti left a comment

Choose a reason for hiding this comment

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

❤️

@fazzatti fazzatti merged commit 85ee6fa into fazzatti:dev Mar 5, 2026
1 check failed
@fazzatti fazzatti mentioned this pull request Mar 5, 2026
fazzatti added a commit that referenced this pull request Mar 5, 2026
* fix(types): update isEd25519PublicKey to use type guard for Ed25519PublicKey

* fix(types): update isMuxedAddress to use type predicate for MuxedAddress

* feat: add isTransaction type guard for Transaction and FeeBumpTransaction

* feat: implement isFeeBumpTransaction type guard for FeeBumpTransaction validation

* feat: add verifiers export for transaction validation utilities

* fix(types): enhance SignatureRequirement to include signer field

* feat(tests): add unit tests for isTransaction and isFeeBumpTransaction validation

* fix(types): update SignatureRequirement type to SignatureRequirementRaw for consistency

* feat: implement envelope signing requirements processing and error handling

* fix(tests): update test command to include coverage report generation

* feat: add coverage report generation task to deno.json

* test: add mock for MuxedAccount to simulate account ID retrieval failure

* test: add unit tests for ColibriError minimal info handling

* fix: update error details message for UNEXPECTED_ERROR and add unit test for untracked errors

* test: add unit tests for handling UNEXPECTED_ERROR in BuildTransaction

* test: enhance unit tests for error handling in getRequiredOperationThresholdForClassicOperation

* fix: update details message in UNEXPECTED_ERROR for clarity

* fix: simplify details and diagnostic assignment in ProcessError constructor

* fix: update details message in UNEXPECTED_ERROR for clarity and add unit test for untracked errors

* refactor: remove unused imports in index.unit.test.ts

* refactor: remove unused import from index.unit.test.ts

* feat: add boolean and string helper functions with error handling

* feat: implement SignEnvelope process with error handling and unit tests

* docs: add comments to assert function for clarity

* feat: add assertRequiredArgs function to validate non-null arguments

* refactor: consolidate baseErrorSource for consistent error reporting in string helper functions

* feat: implement getAddressTypeFromAuthEntry and getAddressSignerFromAuthEntry functions for SorobanAuthorizationEntry handling

* feat: enhance ProcessError with DeferredInputError type and improve details handling

* feat: implement SignAuthEntries process and associated error handling

* fix: change xdr import to type import for better type safety

* refactor: reorganize SignAuthEntries test structure for improved readability

* feat: re-add xdr export to helpers for improved module accessibility

* feat: add ResultOrError class for improved error handling and input management

* feat: add softTryToXDR and parse functions for improved error handling and event parsing

* feat: add transaction helper for calculating transaction timeout

* feat: refactor getValidUntilLedgerSeq to use ResultOrError for improved error handling

* feat: implement SendTransaction process with error handling and transaction status management

* feat: update convee dependency to version 0.7.1 and enhance test task commands for improved coverage reporting

* feat: add buildToSimulate transformer for transaction simulation

* feat: implement simulateToRetval transformer with error handling for missing return values

* feat: add TransactionConfig and BaseFee types for transaction configuration

* feat: implement PipelineError class for structured error handling in pipelines

* feat: implement SignEnvelope process with error handling and types

* feat: implement ReadFromContract pipeline with error handling and input/output types

* feat: add unit tests for createReadFromContractPipeline with error handling

* feat: add integration tests for ReadFromContract pipeline functionality

* refactor: update error details and refine CreateReadFromContractPipelineArgs type

* feat: enhance AssembleTransaction with new error handling and input types

* feat: implement isSmartContractTransaction verifier for smart contract operations

* feat: add operations retrieval functions for Transaction handling

* feat: enhance parseErrorResult to handle unexpected TransactionResult formats

* feat: add disableSanitizeConfig for testing and update deno.json for dependency version

* feat: implement error handling for Friendbot operations with custom error types

* fix: correct argument check in assertRequiredArgs and update TransactionSigner method name

* feat: add "tools" to ErrorDomain type for enhanced error categorization

* feat: update TestNet function to return TestNetConfig type for improved type safety

* feat: add MISSING_ARG error class and enhance AssembleTransaction with resourceFee handling

* feat: update SignEnvelope to use TransactionSigner and improve error handling

* fix: rename getPublicKey to publicKey in MockSigner for consistency

* refactor: rename tx to transaction in SendTransactionInput for clarity

* feat: add assembleToEnvelopeSigningRequirements transformer for transaction processing

* fix: add disableSanitizeConfig to ReadFromContract Pipeline tests and clean up error handling

* feat: implement InvokeContract pipeline with error handling and transaction processing

* fix: remove unused import assertRejects from ReadFromContract pipeline tests

* feat: add unit tests for createInvokeContractPipeline with error handling

* fix: remove inclusionFee conditional to zero when parsing transaction fee

* feat: add assembleToEnvelopeSigningRequirements and buildToEnvelopeSigningRequirements transformers

* fix: add missing file extension for assembleToEnvelopeSigningRequirements import

* feat: implement ClassicTransaction pipeline with error handling and connectors

* fix: update import paths for disableSanitizeConfig in test files

* feat: refactor StrKey handling with new regex and type guards

- Introduced a new StrKey module to handle various StrKey types and their validation.
- Added regex patterns for Ed25519 public/secret keys, muxed addresses, and other StrKey types.
- Implemented type guards for validating StrKey formats and checksums.
- Removed old verifiers for Ed25519 public keys and muxed addresses, replacing them with StrKey methods.
- Updated unit tests to cover new StrKey functionalities and validation logic.

* feat: update import paths and refactor types for signer and transaction handling

* feat: implement NativeAccount error handling and types for account operations

* feat: enhance StrKey validation tests for PreAuthTx and Sha256Hash prefixes

* feat: implement unit tests for LocalSigner functionality and security

* feat: refactor error handling in NativeAccount and add unit tests for account methods

* feat: reorganize type exports and update imports for consistency across modules

* feat: update version to 0.1.0 and enhance README with simple architecture and error handling information

* feat: simplify nonBlankString function by removing unused parameter

* refactor: update imports to use type keyword for consistency across modules

* refactor: remove unused Keypair import from sign-envelope process

* feat: add delay before retrying transaction retrieval in getTransactionRecursively

* fix: update test command in Deno workflow to run all tests

* Test/increase coverage (#9)

* fix: correct details assignment in ToolsError constructor

* test: add unit tests for initializeWithFriendbot function

* fix: restore revokeSponsorship case in getRequiredOperationThresholdForClassicOperation
test: add unit tests for pipeline connectors

* test: add unit tests for inputToBuild connector function

* test: add unit tests for inputToBuild and related connectors in createInvokeContractPipeline

* test: add unit tests for connectors in createClassicTransactionPipeline

* fix: update isSigningThreshold function to include zero as a valid threshold and verify against non-integers

* test: add unit tests for isSigningThreshold and isSmartContractTransaction functions

* fix: ensure maxTime is correctly parsed as a number in getTransactionTimeout function

* test: add unit tests for boolean and string helper functions

* test: add unit tests for transaction helper functions

* test: add unit tests for XDR helper functions

* chore: update Deno workflow to include dev branch for push and pull requests

* fix: change details property in ToolsErrorShape to be required

* fix: make details property in TransformerErrorShape required

* fix: remove coverage threshold check from Deno workflow

* feat: Add WrapFeeBump process with error handling and unit tests (#12)

* chore: Update core version to 0.2.0 in deno.json

* chore: Update fee bump plugin's core dependency version to 0.2.0 in deno.json

* Update plugins/fee-bump/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: Add Contract class (#14)

* fix: Update error domain from "plugins" to "contract" in ContractError class

* feat(test): add fungible token contract with initial implementation

- Created Cargo.toml for the fungible token contract.
- Added Makefile for building, deploying, and generating TypeScript bindings.
- Added README.md with project overview and installation instructions.
- Implemented the main contract logic in src/contract.rs, including minting, transferring, and burning tokens.
- Set up the contract library in src/lib.rs.
- Added initial tests in src/test.rs to verify contract functionality.
- Compiled the contract to WASM format.
- Created TypeScript specifications for the fungible token contract.
- Updated workspace dependencies in cargo.toml to align with the new contract.

* feat(test): add VOID type to TYPES_HARNESS_METHOD enum

* refactor: comment out unused UNEXPECTED_ERROR class and update methodArgs to be optional in Contract class

* chore: add test_snapshots directory to .gitignore

* chore: update version to 0.3.1 in deno.json

* Feat/auth entry parser (#17)

* fix: correct signature handling in paramsToAuthEntry function

* fix: import SIM_ERRORS for error handling in simulate-transaction tests

* feat: enhance network configuration types and add type guard helpers

* feat: refactor network passphrase handling to use enum for consistency

* feat: reorganize exports in mod.ts and add tools module for better structure

* chore: update version to 0.4.1 in deno.json

* refactor: remove unused import of SIM_ERRORS in unit tests

* refactor: update TransactionSigner interface and related implementations

* feat: add isTransactionSigner verifier function

* chore: update version to 0.5.0 in deno.json

* chore: update @colibri/core import version to ^0.5.0 in deno.json

* refactor: change Buffer import to type import in index.unit.test.ts

* fix: add auth parameter to invoke method for authorization support

* chore: update version to 0.5.1 in deno.json

* feat: add invokeRaw method for contract invocation with optional auth

* chore: update version to 0.5.2 in deno.json

* fix: authorization entry processing by separating signed and unsigned entries

* chore: update version to 0.5.3 in deno.json

* refactor: simplify error handling in contract deployment and pipeline execution

* feat: add verifySignature method to LocalSigner and TransactionSigner types

* chore: update version to 0.6.0 in deno.json

* refactor: separate LocalSigner type and implement verifySignature method

* feat: enhance network configuration types and add type guard for NetworkConfig

* refactor: update import paths to use alias for improved readability

* refactor: update import paths to use alias for consistency

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use alias for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* chore: update version to 0.7.0 in deno.json

* chore: update version to 0.2.0 and core dependency to ^0.7.0 in deno.json

* chore: update version of convee to ^0.9.2 in deno.json

* fix: convee plugin create payload

* fix: update import paths for error handling consistency

* fix: correct import path for error handling

* feat: enhance README with detailed project overview and add logo

* fix: update README to reflect current beta status instead of stable release

* feat: Implement NetworkConfig class (#27)

* feat: event streamer (#29)

* feat: Implement Events, Standards and more (#32)

* feat: topic filter conversion (#34)

* Fix: toTopicFilter args type (#36)

* fix:  support for muxed transfer events in SAC/SEP41 Mint and Transfer schemas

* fix: update version to 0.10.3 in deno.json

* fix: mark core releases as latest in GitHub release workflow

* docs: add documentation links to README files for better accessibility

* docs: add examples links to README files for better guidance

* docs: remove outdated processes documentation

* Feat/add sac asset (#41)

* feat(wip) add sac client

* feat(wip): implement SAC error handling and contract methods

* feat: rename SEP-11 asset functions and types to StellarAssetCanonicalString

* feat: add unit tests for StellarAssetContract deployment error handling

- Implement unit tests for StellarAssetContract's deploy method to ensure proper error handling for various scenarios, including non-SIMULATION_FAILED errors and malformed simulation responses.
- Refactor asset-related imports to use StellarAssetCanonicalString instead of SEP11Asset across multiple event standards.
- Update contract integration tests to instantiate Contract using the new constructor method.
- Remove unused Asset import from contract error handling.
- Clean up commented-out code related to asset wrapping in contract integration tests.

* fix: correct import paths in unit tests for StellarAsset and ScVal

* test: add missing tests for MintEvent and TransferEvent validation scenarios

* chore: update version to 0.11.0 in deno.json

* refactor: remove unused static create method from Contract class

* fix: export SAC asset modules and error types

* chore: update version to 0.11.1 in deno.json

* fix: enhance StellarAssetContract to support missing native XLM and add related tests

* chore: update version to 0.11.2 in deno.json

* docs: update core/asset/sac/index.ts tsdocs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add calculateContractId function to derive contract ID from add… (#45)

* feat: rework signer and enable indirect signing (#47)

* fix: missing contract signing flow

* chore: bump version to 0.13.1

* standardize account interfaces

* add UNSUPPORTED_ADDRESS_TYPE error and update NativeAccount to handle unsupported address types

* feat: implement format-units helper functions and error handling

* chore: update package versions to 0.14.0 for core, 0.5.0 for event-streamer, and 0.6.0 for fee-bump

* fix: specify generic constraint for WithSigner and WithMultiSig types

* fix: clarify error message for INVALID_SCIENTIFIC_EXPONENT regarding integer range

* feat: add SEP10 and SEP1 support (#51)

* refactor: simplify Sep10Client creation by using StellarToml instance

* fix: change import of StellarToml to type import

* chore: bump version to 0.1.1 in deno.json

* fix: ensure valid URL for WEB_AUTH_ENDPOINT in Sep10Client and add corresponding unit test

* test: rename SEP-10 Client E2E integration tests for authentication flow

* feat: add static utility methods for SEP-10 challenge validation and parsing

* style: format assertions for better readability in SEP10Challenge static utilities tests

* chore: update version to 0.2.0 in deno.json

* test: refactor challenge transaction tests to use mock transactions

* feat: add time tolerance and skip validation options for challenge verification

* chore: update version to 0.3.0 in deno.json

* test: update comment for time tolerance verification in SEP10Challenge tests

* test: remove redundant timeTolerance and skipTimeValidation tests from Sep10Client

* feat: add memoize decorator with unit tests and type definitions

* feat: add active eviction option to memoize decorator with comprehensive tests

* chore: update stellar-sdk version to ^14.4.3 and add @std/expect import

* add fixtures for getLedgers

* test: add deno coverage ignore comments to test files

* refactor: standardize string quotes and clean up whitespace in memoize unit tests

* feat(xdr): Refactor and restructure ScVal parser and utility functions

- Add `parseScVal` function to convert XDR ScVal to TypeScript-friendly values.
- Introduce utility functions: `getScValTypeName`, `isScValRecord`, `isScValMap`, and `asUnion` for type checking and parsing.
- Implement `parseScVals` for batch parsing of ScVal arrays.
- Create `softTryToXDR` utility to safely convert values to XDR format.
- Add comprehensive unit tests for ScVal parsing and utility functions.
- Remove redundant ScVal types from `core/common/scval/types.ts` and consolidate in `core/common/helpers/xdr/types.ts`.

* refactor: remove deprecated general.ts helper functions

* refactor: update import paths for ScVal types and utilities

* feat: remove lobstr from providers as they only offer horizon as of now

* feat: implement ledger-parser with lazy operation parsing

- Added Transaction class to handle transaction metadata and operations parsing.
- Implemented factory methods for creating Transaction instances from metadata.
- Introduced memoization for performance optimization on frequently accessed properties.
- Added comprehensive unit tests for Transaction class covering various scenarios and envelope types.
- Created types for Ledger, Transaction, and Operation for better type safety and clarity.
- Updated module exports to include new ledger-parser functionalities.

* feat: add LedgerStreamer class for streaming Stellar ledger data

- Implemented LedgerStreamer class to support live and historical ingestion of Stellar ledgers.
- Added methods for starting live, archive, and automatic streaming modes.
- Introduced configuration options for batch size, wait intervals, and error handling.
- Created type definitions for handlers and options related to ledger streaming.

* refactor: format workspace array in deno.json for improved readability

* feat: add environment loading utilities and update deno.json for improved testing

* feat: enhance Lightsail provider to support API key for dynamic RPC URLs and add health check for MainNet PRO

* chore: update import paths and add coverage ignore for environment loading files

* chore: update comments to clarify future changes for API key usage in headers

* feat: integrate QUASAR_API_KEY into network configuration for Lightsail provider

* feat: implement rpc-streamer package

feat: add Event Streamer variant with type definitions

- Introduced `EventStreamerOptions` and `EventStreamerConfig` interfaces for event streaming configuration.
- Created a new file `types.ts` under `rpc-streamer/src/variants/event/`.

feat: implement Ledger Streamer variant with integration and unit tests

- Added `createLedgerStreamer` function to handle live and archive ingestion of ledgers.
- Implemented integration tests for the Ledger Streamer in `index.integration.test.ts`.
- Created unit tests for the Ledger Streamer ingestors in `index.unit.test.ts`.
- Defined `LedgerStreamerOptions` and `LedgerStreamerConfig` interfaces for ledger streaming configuration.
- Added necessary mock helpers and test cases to ensure proper functionality and error handling.

* Remove LedgerStreamer and EventStreamer packages and associated references

* chore: add QUASAR_API_KEY environment variable to test step in Deno workflow

* chore: update package versions and core dependency references to 0.16.0

* refactor: remove unused Api type imports and simplify handler function in integration tests

* refactor: use isDefined utility for better null/undefined checks in event filter and transaction classes

* refactor: remove any casting

* refactor: comments

* chore: update stellar-sdk version to 14.6.1

* fix: update resource fee calculation in AssembleTransaction tests

* fix: forward allowHttp when creating fallback RPC server in Contract (#57)

The Contract constructor creates a fallback RPC server when no `rpc`
is passed, but ignores `networkConfig.allowHttp`. This causes all
HTTP RPC URLs (e.g. local development) to fail with "Cannot connect
to insecure Soroban RPC server".

* fix: update version to 0.16.1 in deno.json

* fix: update @colibri/core version to ^0.16.1 in deno.json files

* fix: update version to 0.8.1 in @colibri/plugin-fee-bump and 0.1.1 in @colibri/rpc-streamer

* fix: add wait function to handle RPC delays in Stellar Asset Contract tests

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Gorka Ludlow <gorka@aquigorka.com>
fazzatti added a commit that referenced this pull request Mar 16, 2026
* fix(types): update isMuxedAddress to use type predicate for MuxedAddress

* feat: add isTransaction type guard for Transaction and FeeBumpTransaction

* feat: implement isFeeBumpTransaction type guard for FeeBumpTransaction validation

* feat: add verifiers export for transaction validation utilities

* fix(types): enhance SignatureRequirement to include signer field

* feat(tests): add unit tests for isTransaction and isFeeBumpTransaction validation

* fix(types): update SignatureRequirement type to SignatureRequirementRaw for consistency

* feat: implement envelope signing requirements processing and error handling

* fix(tests): update test command to include coverage report generation

* feat: add coverage report generation task to deno.json

* test: add mock for MuxedAccount to simulate account ID retrieval failure

* test: add unit tests for ColibriError minimal info handling

* fix: update error details message for UNEXPECTED_ERROR and add unit test for untracked errors

* test: add unit tests for handling UNEXPECTED_ERROR in BuildTransaction

* test: enhance unit tests for error handling in getRequiredOperationThresholdForClassicOperation

* fix: update details message in UNEXPECTED_ERROR for clarity

* fix: simplify details and diagnostic assignment in ProcessError constructor

* fix: update details message in UNEXPECTED_ERROR for clarity and add unit test for untracked errors

* refactor: remove unused imports in index.unit.test.ts

* refactor: remove unused import from index.unit.test.ts

* feat: add boolean and string helper functions with error handling

* feat: implement SignEnvelope process with error handling and unit tests

* docs: add comments to assert function for clarity

* feat: add assertRequiredArgs function to validate non-null arguments

* refactor: consolidate baseErrorSource for consistent error reporting in string helper functions

* feat: implement getAddressTypeFromAuthEntry and getAddressSignerFromAuthEntry functions for SorobanAuthorizationEntry handling

* feat: enhance ProcessError with DeferredInputError type and improve details handling

* feat: implement SignAuthEntries process and associated error handling

* fix: change xdr import to type import for better type safety

* refactor: reorganize SignAuthEntries test structure for improved readability

* feat: re-add xdr export to helpers for improved module accessibility

* feat: add ResultOrError class for improved error handling and input management

* feat: add softTryToXDR and parse functions for improved error handling and event parsing

* feat: add transaction helper for calculating transaction timeout

* feat: refactor getValidUntilLedgerSeq to use ResultOrError for improved error handling

* feat: implement SendTransaction process with error handling and transaction status management

* feat: update convee dependency to version 0.7.1 and enhance test task commands for improved coverage reporting

* feat: add buildToSimulate transformer for transaction simulation

* feat: implement simulateToRetval transformer with error handling for missing return values

* feat: add TransactionConfig and BaseFee types for transaction configuration

* feat: implement PipelineError class for structured error handling in pipelines

* feat: implement SignEnvelope process with error handling and types

* feat: implement ReadFromContract pipeline with error handling and input/output types

* feat: add unit tests for createReadFromContractPipeline with error handling

* feat: add integration tests for ReadFromContract pipeline functionality

* refactor: update error details and refine CreateReadFromContractPipelineArgs type

* feat: enhance AssembleTransaction with new error handling and input types

* feat: implement isSmartContractTransaction verifier for smart contract operations

* feat: add operations retrieval functions for Transaction handling

* feat: enhance parseErrorResult to handle unexpected TransactionResult formats

* feat: add disableSanitizeConfig for testing and update deno.json for dependency version

* feat: implement error handling for Friendbot operations with custom error types

* fix: correct argument check in assertRequiredArgs and update TransactionSigner method name

* feat: add "tools" to ErrorDomain type for enhanced error categorization

* feat: update TestNet function to return TestNetConfig type for improved type safety

* feat: add MISSING_ARG error class and enhance AssembleTransaction with resourceFee handling

* feat: update SignEnvelope to use TransactionSigner and improve error handling

* fix: rename getPublicKey to publicKey in MockSigner for consistency

* refactor: rename tx to transaction in SendTransactionInput for clarity

* feat: add assembleToEnvelopeSigningRequirements transformer for transaction processing

* fix: add disableSanitizeConfig to ReadFromContract Pipeline tests and clean up error handling

* feat: implement InvokeContract pipeline with error handling and transaction processing

* fix: remove unused import assertRejects from ReadFromContract pipeline tests

* feat: add unit tests for createInvokeContractPipeline with error handling

* fix: remove inclusionFee conditional to zero when parsing transaction fee

* feat: add assembleToEnvelopeSigningRequirements and buildToEnvelopeSigningRequirements transformers

* fix: add missing file extension for assembleToEnvelopeSigningRequirements import

* feat: implement ClassicTransaction pipeline with error handling and connectors

* fix: update import paths for disableSanitizeConfig in test files

* feat: refactor StrKey handling with new regex and type guards

- Introduced a new StrKey module to handle various StrKey types and their validation.
- Added regex patterns for Ed25519 public/secret keys, muxed addresses, and other StrKey types.
- Implemented type guards for validating StrKey formats and checksums.
- Removed old verifiers for Ed25519 public keys and muxed addresses, replacing them with StrKey methods.
- Updated unit tests to cover new StrKey functionalities and validation logic.

* feat: update import paths and refactor types for signer and transaction handling

* feat: implement NativeAccount error handling and types for account operations

* feat: enhance StrKey validation tests for PreAuthTx and Sha256Hash prefixes

* feat: implement unit tests for LocalSigner functionality and security

* feat: refactor error handling in NativeAccount and add unit tests for account methods

* feat: reorganize type exports and update imports for consistency across modules

* feat: update version to 0.1.0 and enhance README with simple architecture and error handling information

* feat: simplify nonBlankString function by removing unused parameter

* refactor: update imports to use type keyword for consistency across modules

* refactor: remove unused Keypair import from sign-envelope process

* feat: add delay before retrying transaction retrieval in getTransactionRecursively

* fix: update test command in Deno workflow to run all tests

* Test/increase coverage (#9)

* fix: correct details assignment in ToolsError constructor

* test: add unit tests for initializeWithFriendbot function

* fix: restore revokeSponsorship case in getRequiredOperationThresholdForClassicOperation
test: add unit tests for pipeline connectors

* test: add unit tests for inputToBuild connector function

* test: add unit tests for inputToBuild and related connectors in createInvokeContractPipeline

* test: add unit tests for connectors in createClassicTransactionPipeline

* fix: update isSigningThreshold function to include zero as a valid threshold and verify against non-integers

* test: add unit tests for isSigningThreshold and isSmartContractTransaction functions

* fix: ensure maxTime is correctly parsed as a number in getTransactionTimeout function

* test: add unit tests for boolean and string helper functions

* test: add unit tests for transaction helper functions

* test: add unit tests for XDR helper functions

* chore: update Deno workflow to include dev branch for push and pull requests

* fix: change details property in ToolsErrorShape to be required

* fix: make details property in TransformerErrorShape required

* fix: remove coverage threshold check from Deno workflow

* feat: Add WrapFeeBump process with error handling and unit tests (#12)

* chore: Update core version to 0.2.0 in deno.json

* chore: Update fee bump plugin's core dependency version to 0.2.0 in deno.json

* Update plugins/fee-bump/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: Add Contract class (#14)

* fix: Update error domain from "plugins" to "contract" in ContractError class

* feat(test): add fungible token contract with initial implementation

- Created Cargo.toml for the fungible token contract.
- Added Makefile for building, deploying, and generating TypeScript bindings.
- Added README.md with project overview and installation instructions.
- Implemented the main contract logic in src/contract.rs, including minting, transferring, and burning tokens.
- Set up the contract library in src/lib.rs.
- Added initial tests in src/test.rs to verify contract functionality.
- Compiled the contract to WASM format.
- Created TypeScript specifications for the fungible token contract.
- Updated workspace dependencies in cargo.toml to align with the new contract.

* feat(test): add VOID type to TYPES_HARNESS_METHOD enum

* refactor: comment out unused UNEXPECTED_ERROR class and update methodArgs to be optional in Contract class

* chore: add test_snapshots directory to .gitignore

* chore: update version to 0.3.1 in deno.json

* Feat/auth entry parser (#17)

* fix: correct signature handling in paramsToAuthEntry function

* fix: import SIM_ERRORS for error handling in simulate-transaction tests

* feat: enhance network configuration types and add type guard helpers

* feat: refactor network passphrase handling to use enum for consistency

* feat: reorganize exports in mod.ts and add tools module for better structure

* chore: update version to 0.4.1 in deno.json

* refactor: remove unused import of SIM_ERRORS in unit tests

* refactor: update TransactionSigner interface and related implementations

* feat: add isTransactionSigner verifier function

* chore: update version to 0.5.0 in deno.json

* chore: update @colibri/core import version to ^0.5.0 in deno.json

* refactor: change Buffer import to type import in index.unit.test.ts

* fix: add auth parameter to invoke method for authorization support

* chore: update version to 0.5.1 in deno.json

* feat: add invokeRaw method for contract invocation with optional auth

* chore: update version to 0.5.2 in deno.json

* fix: authorization entry processing by separating signed and unsigned entries

* chore: update version to 0.5.3 in deno.json

* refactor: simplify error handling in contract deployment and pipeline execution

* feat: add verifySignature method to LocalSigner and TransactionSigner types

* chore: update version to 0.6.0 in deno.json

* refactor: separate LocalSigner type and implement verifySignature method

* feat: enhance network configuration types and add type guard for NetworkConfig

* refactor: update import paths to use alias for improved readability

* refactor: update import paths to use alias for consistency

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use alias for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* chore: update version to 0.7.0 in deno.json

* chore: update version to 0.2.0 and core dependency to ^0.7.0 in deno.json

* chore: update version of convee to ^0.9.2 in deno.json

* fix: convee plugin create payload

* fix: update import paths for error handling consistency

* fix: correct import path for error handling

* feat: enhance README with detailed project overview and add logo

* fix: update README to reflect current beta status instead of stable release

* feat: Implement NetworkConfig class (#27)

* feat: event streamer (#29)

* feat: Implement Events, Standards and more (#32)

* feat: topic filter conversion (#34)

* Fix: toTopicFilter args type (#36)

* fix:  support for muxed transfer events in SAC/SEP41 Mint and Transfer schemas

* fix: update version to 0.10.3 in deno.json

* fix: mark core releases as latest in GitHub release workflow

* docs: add documentation links to README files for better accessibility

* docs: add examples links to README files for better guidance

* docs: remove outdated processes documentation

* Feat/add sac asset (#41)

* feat(wip) add sac client

* feat(wip): implement SAC error handling and contract methods

* feat: rename SEP-11 asset functions and types to StellarAssetCanonicalString

* feat: add unit tests for StellarAssetContract deployment error handling

- Implement unit tests for StellarAssetContract's deploy method to ensure proper error handling for various scenarios, including non-SIMULATION_FAILED errors and malformed simulation responses.
- Refactor asset-related imports to use StellarAssetCanonicalString instead of SEP11Asset across multiple event standards.
- Update contract integration tests to instantiate Contract using the new constructor method.
- Remove unused Asset import from contract error handling.
- Clean up commented-out code related to asset wrapping in contract integration tests.

* fix: correct import paths in unit tests for StellarAsset and ScVal

* test: add missing tests for MintEvent and TransferEvent validation scenarios

* chore: update version to 0.11.0 in deno.json

* refactor: remove unused static create method from Contract class

* fix: export SAC asset modules and error types

* chore: update version to 0.11.1 in deno.json

* fix: enhance StellarAssetContract to support missing native XLM and add related tests

* chore: update version to 0.11.2 in deno.json

* docs: update core/asset/sac/index.ts tsdocs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add calculateContractId function to derive contract ID from add… (#45)

* feat: rework signer and enable indirect signing (#47)

* fix: missing contract signing flow

* chore: bump version to 0.13.1

* standardize account interfaces

* add UNSUPPORTED_ADDRESS_TYPE error and update NativeAccount to handle unsupported address types

* feat: implement format-units helper functions and error handling

* chore: update package versions to 0.14.0 for core, 0.5.0 for event-streamer, and 0.6.0 for fee-bump

* fix: specify generic constraint for WithSigner and WithMultiSig types

* fix: clarify error message for INVALID_SCIENTIFIC_EXPONENT regarding integer range

* feat: add SEP10 and SEP1 support (#51)

* refactor: simplify Sep10Client creation by using StellarToml instance

* fix: change import of StellarToml to type import

* chore: bump version to 0.1.1 in deno.json

* fix: ensure valid URL for WEB_AUTH_ENDPOINT in Sep10Client and add corresponding unit test

* test: rename SEP-10 Client E2E integration tests for authentication flow

* feat: add static utility methods for SEP-10 challenge validation and parsing

* style: format assertions for better readability in SEP10Challenge static utilities tests

* chore: update version to 0.2.0 in deno.json

* test: refactor challenge transaction tests to use mock transactions

* feat: add time tolerance and skip validation options for challenge verification

* chore: update version to 0.3.0 in deno.json

* test: update comment for time tolerance verification in SEP10Challenge tests

* test: remove redundant timeTolerance and skipTimeValidation tests from Sep10Client

* feat: add memoize decorator with unit tests and type definitions

* feat: add active eviction option to memoize decorator with comprehensive tests

* chore: update stellar-sdk version to ^14.4.3 and add @std/expect import

* add fixtures for getLedgers

* test: add deno coverage ignore comments to test files

* refactor: standardize string quotes and clean up whitespace in memoize unit tests

* feat(xdr): Refactor and restructure ScVal parser and utility functions

- Add `parseScVal` function to convert XDR ScVal to TypeScript-friendly values.
- Introduce utility functions: `getScValTypeName`, `isScValRecord`, `isScValMap`, and `asUnion` for type checking and parsing.
- Implement `parseScVals` for batch parsing of ScVal arrays.
- Create `softTryToXDR` utility to safely convert values to XDR format.
- Add comprehensive unit tests for ScVal parsing and utility functions.
- Remove redundant ScVal types from `core/common/scval/types.ts` and consolidate in `core/common/helpers/xdr/types.ts`.

* refactor: remove deprecated general.ts helper functions

* refactor: update import paths for ScVal types and utilities

* feat: remove lobstr from providers as they only offer horizon as of now

* feat: implement ledger-parser with lazy operation parsing

- Added Transaction class to handle transaction metadata and operations parsing.
- Implemented factory methods for creating Transaction instances from metadata.
- Introduced memoization for performance optimization on frequently accessed properties.
- Added comprehensive unit tests for Transaction class covering various scenarios and envelope types.
- Created types for Ledger, Transaction, and Operation for better type safety and clarity.
- Updated module exports to include new ledger-parser functionalities.

* feat: add LedgerStreamer class for streaming Stellar ledger data

- Implemented LedgerStreamer class to support live and historical ingestion of Stellar ledgers.
- Added methods for starting live, archive, and automatic streaming modes.
- Introduced configuration options for batch size, wait intervals, and error handling.
- Created type definitions for handlers and options related to ledger streaming.

* refactor: format workspace array in deno.json for improved readability

* feat: add environment loading utilities and update deno.json for improved testing

* feat: enhance Lightsail provider to support API key for dynamic RPC URLs and add health check for MainNet PRO

* chore: update import paths and add coverage ignore for environment loading files

* chore: update comments to clarify future changes for API key usage in headers

* feat: integrate QUASAR_API_KEY into network configuration for Lightsail provider

* feat: implement rpc-streamer package

feat: add Event Streamer variant with type definitions

- Introduced `EventStreamerOptions` and `EventStreamerConfig` interfaces for event streaming configuration.
- Created a new file `types.ts` under `rpc-streamer/src/variants/event/`.

feat: implement Ledger Streamer variant with integration and unit tests

- Added `createLedgerStreamer` function to handle live and archive ingestion of ledgers.
- Implemented integration tests for the Ledger Streamer in `index.integration.test.ts`.
- Created unit tests for the Ledger Streamer ingestors in `index.unit.test.ts`.
- Defined `LedgerStreamerOptions` and `LedgerStreamerConfig` interfaces for ledger streaming configuration.
- Added necessary mock helpers and test cases to ensure proper functionality and error handling.

* Remove LedgerStreamer and EventStreamer packages and associated references

* chore: add QUASAR_API_KEY environment variable to test step in Deno workflow

* chore: update package versions and core dependency references to 0.16.0

* refactor: remove unused Api type imports and simplify handler function in integration tests

* refactor: use isDefined utility for better null/undefined checks in event filter and transaction classes

* refactor: remove any casting

* refactor: comments

* chore: update stellar-sdk version to 14.6.1

* fix: update resource fee calculation in AssembleTransaction tests

* fix: forward allowHttp when creating fallback RPC server in Contract (#57)

The Contract constructor creates a fallback RPC server when no `rpc`
is passed, but ignores `networkConfig.allowHttp`. This causes all
HTTP RPC URLs (e.g. local development) to fail with "Cannot connect
to insecure Soroban RPC server".

* fix: update version to 0.16.1 in deno.json

* fix: update @colibri/core version to ^0.16.1 in deno.json files

* fix: update version to 0.8.1 in @colibri/plugin-fee-bump and 0.1.1 in @colibri/rpc-streamer

* fix: add wait function to handle RPC delays in Stellar Asset Contract tests

* Codex/fix lint issues (#59)

* Update Convee to 1.0.0 and refactor core

* Bump versions for core, fee-bump, rpc-streamer, and sep10 to 0.17.0, 0.9.0, 0.2.0, and 0.5.0 respectively

* Fix lint issues and refresh package docs

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Gorka Ludlow <gorka@aquigorka.com>
fazzatti added a commit that referenced this pull request Mar 16, 2026
* feat: add verifiers export for transaction validation utilities

* fix(types): enhance SignatureRequirement to include signer field

* feat(tests): add unit tests for isTransaction and isFeeBumpTransaction validation

* fix(types): update SignatureRequirement type to SignatureRequirementRaw for consistency

* feat: implement envelope signing requirements processing and error handling

* fix(tests): update test command to include coverage report generation

* feat: add coverage report generation task to deno.json

* test: add mock for MuxedAccount to simulate account ID retrieval failure

* test: add unit tests for ColibriError minimal info handling

* fix: update error details message for UNEXPECTED_ERROR and add unit test for untracked errors

* test: add unit tests for handling UNEXPECTED_ERROR in BuildTransaction

* test: enhance unit tests for error handling in getRequiredOperationThresholdForClassicOperation

* fix: update details message in UNEXPECTED_ERROR for clarity

* fix: simplify details and diagnostic assignment in ProcessError constructor

* fix: update details message in UNEXPECTED_ERROR for clarity and add unit test for untracked errors

* refactor: remove unused imports in index.unit.test.ts

* refactor: remove unused import from index.unit.test.ts

* feat: add boolean and string helper functions with error handling

* feat: implement SignEnvelope process with error handling and unit tests

* docs: add comments to assert function for clarity

* feat: add assertRequiredArgs function to validate non-null arguments

* refactor: consolidate baseErrorSource for consistent error reporting in string helper functions

* feat: implement getAddressTypeFromAuthEntry and getAddressSignerFromAuthEntry functions for SorobanAuthorizationEntry handling

* feat: enhance ProcessError with DeferredInputError type and improve details handling

* feat: implement SignAuthEntries process and associated error handling

* fix: change xdr import to type import for better type safety

* refactor: reorganize SignAuthEntries test structure for improved readability

* feat: re-add xdr export to helpers for improved module accessibility

* feat: add ResultOrError class for improved error handling and input management

* feat: add softTryToXDR and parse functions for improved error handling and event parsing

* feat: add transaction helper for calculating transaction timeout

* feat: refactor getValidUntilLedgerSeq to use ResultOrError for improved error handling

* feat: implement SendTransaction process with error handling and transaction status management

* feat: update convee dependency to version 0.7.1 and enhance test task commands for improved coverage reporting

* feat: add buildToSimulate transformer for transaction simulation

* feat: implement simulateToRetval transformer with error handling for missing return values

* feat: add TransactionConfig and BaseFee types for transaction configuration

* feat: implement PipelineError class for structured error handling in pipelines

* feat: implement SignEnvelope process with error handling and types

* feat: implement ReadFromContract pipeline with error handling and input/output types

* feat: add unit tests for createReadFromContractPipeline with error handling

* feat: add integration tests for ReadFromContract pipeline functionality

* refactor: update error details and refine CreateReadFromContractPipelineArgs type

* feat: enhance AssembleTransaction with new error handling and input types

* feat: implement isSmartContractTransaction verifier for smart contract operations

* feat: add operations retrieval functions for Transaction handling

* feat: enhance parseErrorResult to handle unexpected TransactionResult formats

* feat: add disableSanitizeConfig for testing and update deno.json for dependency version

* feat: implement error handling for Friendbot operations with custom error types

* fix: correct argument check in assertRequiredArgs and update TransactionSigner method name

* feat: add "tools" to ErrorDomain type for enhanced error categorization

* feat: update TestNet function to return TestNetConfig type for improved type safety

* feat: add MISSING_ARG error class and enhance AssembleTransaction with resourceFee handling

* feat: update SignEnvelope to use TransactionSigner and improve error handling

* fix: rename getPublicKey to publicKey in MockSigner for consistency

* refactor: rename tx to transaction in SendTransactionInput for clarity

* feat: add assembleToEnvelopeSigningRequirements transformer for transaction processing

* fix: add disableSanitizeConfig to ReadFromContract Pipeline tests and clean up error handling

* feat: implement InvokeContract pipeline with error handling and transaction processing

* fix: remove unused import assertRejects from ReadFromContract pipeline tests

* feat: add unit tests for createInvokeContractPipeline with error handling

* fix: remove inclusionFee conditional to zero when parsing transaction fee

* feat: add assembleToEnvelopeSigningRequirements and buildToEnvelopeSigningRequirements transformers

* fix: add missing file extension for assembleToEnvelopeSigningRequirements import

* feat: implement ClassicTransaction pipeline with error handling and connectors

* fix: update import paths for disableSanitizeConfig in test files

* feat: refactor StrKey handling with new regex and type guards

- Introduced a new StrKey module to handle various StrKey types and their validation.
- Added regex patterns for Ed25519 public/secret keys, muxed addresses, and other StrKey types.
- Implemented type guards for validating StrKey formats and checksums.
- Removed old verifiers for Ed25519 public keys and muxed addresses, replacing them with StrKey methods.
- Updated unit tests to cover new StrKey functionalities and validation logic.

* feat: update import paths and refactor types for signer and transaction handling

* feat: implement NativeAccount error handling and types for account operations

* feat: enhance StrKey validation tests for PreAuthTx and Sha256Hash prefixes

* feat: implement unit tests for LocalSigner functionality and security

* feat: refactor error handling in NativeAccount and add unit tests for account methods

* feat: reorganize type exports and update imports for consistency across modules

* feat: update version to 0.1.0 and enhance README with simple architecture and error handling information

* feat: simplify nonBlankString function by removing unused parameter

* refactor: update imports to use type keyword for consistency across modules

* refactor: remove unused Keypair import from sign-envelope process

* feat: add delay before retrying transaction retrieval in getTransactionRecursively

* fix: update test command in Deno workflow to run all tests

* Test/increase coverage (#9)

* fix: correct details assignment in ToolsError constructor

* test: add unit tests for initializeWithFriendbot function

* fix: restore revokeSponsorship case in getRequiredOperationThresholdForClassicOperation
test: add unit tests for pipeline connectors

* test: add unit tests for inputToBuild connector function

* test: add unit tests for inputToBuild and related connectors in createInvokeContractPipeline

* test: add unit tests for connectors in createClassicTransactionPipeline

* fix: update isSigningThreshold function to include zero as a valid threshold and verify against non-integers

* test: add unit tests for isSigningThreshold and isSmartContractTransaction functions

* fix: ensure maxTime is correctly parsed as a number in getTransactionTimeout function

* test: add unit tests for boolean and string helper functions

* test: add unit tests for transaction helper functions

* test: add unit tests for XDR helper functions

* chore: update Deno workflow to include dev branch for push and pull requests

* fix: change details property in ToolsErrorShape to be required

* fix: make details property in TransformerErrorShape required

* fix: remove coverage threshold check from Deno workflow

* feat: Add WrapFeeBump process with error handling and unit tests (#12)

* chore: Update core version to 0.2.0 in deno.json

* chore: Update fee bump plugin's core dependency version to 0.2.0 in deno.json

* Update plugins/fee-bump/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: Add Contract class (#14)

* fix: Update error domain from "plugins" to "contract" in ContractError class

* feat(test): add fungible token contract with initial implementation

- Created Cargo.toml for the fungible token contract.
- Added Makefile for building, deploying, and generating TypeScript bindings.
- Added README.md with project overview and installation instructions.
- Implemented the main contract logic in src/contract.rs, including minting, transferring, and burning tokens.
- Set up the contract library in src/lib.rs.
- Added initial tests in src/test.rs to verify contract functionality.
- Compiled the contract to WASM format.
- Created TypeScript specifications for the fungible token contract.
- Updated workspace dependencies in cargo.toml to align with the new contract.

* feat(test): add VOID type to TYPES_HARNESS_METHOD enum

* refactor: comment out unused UNEXPECTED_ERROR class and update methodArgs to be optional in Contract class

* chore: add test_snapshots directory to .gitignore

* chore: update version to 0.3.1 in deno.json

* Feat/auth entry parser (#17)

* fix: correct signature handling in paramsToAuthEntry function

* fix: import SIM_ERRORS for error handling in simulate-transaction tests

* feat: enhance network configuration types and add type guard helpers

* feat: refactor network passphrase handling to use enum for consistency

* feat: reorganize exports in mod.ts and add tools module for better structure

* chore: update version to 0.4.1 in deno.json

* refactor: remove unused import of SIM_ERRORS in unit tests

* refactor: update TransactionSigner interface and related implementations

* feat: add isTransactionSigner verifier function

* chore: update version to 0.5.0 in deno.json

* chore: update @colibri/core import version to ^0.5.0 in deno.json

* refactor: change Buffer import to type import in index.unit.test.ts

* fix: add auth parameter to invoke method for authorization support

* chore: update version to 0.5.1 in deno.json

* feat: add invokeRaw method for contract invocation with optional auth

* chore: update version to 0.5.2 in deno.json

* fix: authorization entry processing by separating signed and unsigned entries

* chore: update version to 0.5.3 in deno.json

* refactor: simplify error handling in contract deployment and pipeline execution

* feat: add verifySignature method to LocalSigner and TransactionSigner types

* chore: update version to 0.6.0 in deno.json

* refactor: separate LocalSigner type and implement verifySignature method

* feat: enhance network configuration types and add type guard for NetworkConfig

* refactor: update import paths to use alias for improved readability

* refactor: update import paths to use alias for consistency

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use alias for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* chore: update version to 0.7.0 in deno.json

* chore: update version to 0.2.0 and core dependency to ^0.7.0 in deno.json

* chore: update version of convee to ^0.9.2 in deno.json

* fix: convee plugin create payload

* fix: update import paths for error handling consistency

* fix: correct import path for error handling

* feat: enhance README with detailed project overview and add logo

* fix: update README to reflect current beta status instead of stable release

* feat: Implement NetworkConfig class (#27)

* feat: event streamer (#29)

* feat: Implement Events, Standards and more (#32)

* feat: topic filter conversion (#34)

* Fix: toTopicFilter args type (#36)

* fix:  support for muxed transfer events in SAC/SEP41 Mint and Transfer schemas

* fix: update version to 0.10.3 in deno.json

* fix: mark core releases as latest in GitHub release workflow

* docs: add documentation links to README files for better accessibility

* docs: add examples links to README files for better guidance

* docs: remove outdated processes documentation

* Feat/add sac asset (#41)

* feat(wip) add sac client

* feat(wip): implement SAC error handling and contract methods

* feat: rename SEP-11 asset functions and types to StellarAssetCanonicalString

* feat: add unit tests for StellarAssetContract deployment error handling

- Implement unit tests for StellarAssetContract's deploy method to ensure proper error handling for various scenarios, including non-SIMULATION_FAILED errors and malformed simulation responses.
- Refactor asset-related imports to use StellarAssetCanonicalString instead of SEP11Asset across multiple event standards.
- Update contract integration tests to instantiate Contract using the new constructor method.
- Remove unused Asset import from contract error handling.
- Clean up commented-out code related to asset wrapping in contract integration tests.

* fix: correct import paths in unit tests for StellarAsset and ScVal

* test: add missing tests for MintEvent and TransferEvent validation scenarios

* chore: update version to 0.11.0 in deno.json

* refactor: remove unused static create method from Contract class

* fix: export SAC asset modules and error types

* chore: update version to 0.11.1 in deno.json

* fix: enhance StellarAssetContract to support missing native XLM and add related tests

* chore: update version to 0.11.2 in deno.json

* docs: update core/asset/sac/index.ts tsdocs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add calculateContractId function to derive contract ID from add… (#45)

* feat: rework signer and enable indirect signing (#47)

* fix: missing contract signing flow

* chore: bump version to 0.13.1

* standardize account interfaces

* add UNSUPPORTED_ADDRESS_TYPE error and update NativeAccount to handle unsupported address types

* feat: implement format-units helper functions and error handling

* chore: update package versions to 0.14.0 for core, 0.5.0 for event-streamer, and 0.6.0 for fee-bump

* fix: specify generic constraint for WithSigner and WithMultiSig types

* fix: clarify error message for INVALID_SCIENTIFIC_EXPONENT regarding integer range

* feat: add SEP10 and SEP1 support (#51)

* refactor: simplify Sep10Client creation by using StellarToml instance

* fix: change import of StellarToml to type import

* chore: bump version to 0.1.1 in deno.json

* fix: ensure valid URL for WEB_AUTH_ENDPOINT in Sep10Client and add corresponding unit test

* test: rename SEP-10 Client E2E integration tests for authentication flow

* feat: add static utility methods for SEP-10 challenge validation and parsing

* style: format assertions for better readability in SEP10Challenge static utilities tests

* chore: update version to 0.2.0 in deno.json

* test: refactor challenge transaction tests to use mock transactions

* feat: add time tolerance and skip validation options for challenge verification

* chore: update version to 0.3.0 in deno.json

* test: update comment for time tolerance verification in SEP10Challenge tests

* test: remove redundant timeTolerance and skipTimeValidation tests from Sep10Client

* feat: add memoize decorator with unit tests and type definitions

* feat: add active eviction option to memoize decorator with comprehensive tests

* chore: update stellar-sdk version to ^14.4.3 and add @std/expect import

* add fixtures for getLedgers

* test: add deno coverage ignore comments to test files

* refactor: standardize string quotes and clean up whitespace in memoize unit tests

* feat(xdr): Refactor and restructure ScVal parser and utility functions

- Add `parseScVal` function to convert XDR ScVal to TypeScript-friendly values.
- Introduce utility functions: `getScValTypeName`, `isScValRecord`, `isScValMap`, and `asUnion` for type checking and parsing.
- Implement `parseScVals` for batch parsing of ScVal arrays.
- Create `softTryToXDR` utility to safely convert values to XDR format.
- Add comprehensive unit tests for ScVal parsing and utility functions.
- Remove redundant ScVal types from `core/common/scval/types.ts` and consolidate in `core/common/helpers/xdr/types.ts`.

* refactor: remove deprecated general.ts helper functions

* refactor: update import paths for ScVal types and utilities

* feat: remove lobstr from providers as they only offer horizon as of now

* feat: implement ledger-parser with lazy operation parsing

- Added Transaction class to handle transaction metadata and operations parsing.
- Implemented factory methods for creating Transaction instances from metadata.
- Introduced memoization for performance optimization on frequently accessed properties.
- Added comprehensive unit tests for Transaction class covering various scenarios and envelope types.
- Created types for Ledger, Transaction, and Operation for better type safety and clarity.
- Updated module exports to include new ledger-parser functionalities.

* feat: add LedgerStreamer class for streaming Stellar ledger data

- Implemented LedgerStreamer class to support live and historical ingestion of Stellar ledgers.
- Added methods for starting live, archive, and automatic streaming modes.
- Introduced configuration options for batch size, wait intervals, and error handling.
- Created type definitions for handlers and options related to ledger streaming.

* refactor: format workspace array in deno.json for improved readability

* feat: add environment loading utilities and update deno.json for improved testing

* feat: enhance Lightsail provider to support API key for dynamic RPC URLs and add health check for MainNet PRO

* chore: update import paths and add coverage ignore for environment loading files

* chore: update comments to clarify future changes for API key usage in headers

* feat: integrate QUASAR_API_KEY into network configuration for Lightsail provider

* feat: implement rpc-streamer package

feat: add Event Streamer variant with type definitions

- Introduced `EventStreamerOptions` and `EventStreamerConfig` interfaces for event streaming configuration.
- Created a new file `types.ts` under `rpc-streamer/src/variants/event/`.

feat: implement Ledger Streamer variant with integration and unit tests

- Added `createLedgerStreamer` function to handle live and archive ingestion of ledgers.
- Implemented integration tests for the Ledger Streamer in `index.integration.test.ts`.
- Created unit tests for the Ledger Streamer ingestors in `index.unit.test.ts`.
- Defined `LedgerStreamerOptions` and `LedgerStreamerConfig` interfaces for ledger streaming configuration.
- Added necessary mock helpers and test cases to ensure proper functionality and error handling.

* Remove LedgerStreamer and EventStreamer packages and associated references

* chore: add QUASAR_API_KEY environment variable to test step in Deno workflow

* chore: update package versions and core dependency references to 0.16.0

* refactor: remove unused Api type imports and simplify handler function in integration tests

* refactor: use isDefined utility for better null/undefined checks in event filter and transaction classes

* refactor: remove any casting

* refactor: comments

* chore: update stellar-sdk version to 14.6.1

* fix: update resource fee calculation in AssembleTransaction tests

* fix: forward allowHttp when creating fallback RPC server in Contract (#57)

The Contract constructor creates a fallback RPC server when no `rpc`
is passed, but ignores `networkConfig.allowHttp`. This causes all
HTTP RPC URLs (e.g. local development) to fail with "Cannot connect
to insecure Soroban RPC server".

* fix: update version to 0.16.1 in deno.json

* fix: update @colibri/core version to ^0.16.1 in deno.json files

* fix: update version to 0.8.1 in @colibri/plugin-fee-bump and 0.1.1 in @colibri/rpc-streamer

* fix: add wait function to handle RPC delays in Stellar Asset Contract tests

* Codex/fix lint issues (#59)

* Update Convee to 1.0.0 and refactor core

* Bump versions for core, fee-bump, rpc-streamer, and sep10 to 0.17.0, 0.9.0, 0.2.0, and 0.5.0 respectively

* Fix lint issues and refresh package docs

* Rename workflow badge to CI

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Gorka Ludlow <gorka@aquigorka.com>
fazzatti added a commit that referenced this pull request Mar 16, 2026
* feat(tests): add unit tests for isTransaction and isFeeBumpTransaction validation

* fix(types): update SignatureRequirement type to SignatureRequirementRaw for consistency

* feat: implement envelope signing requirements processing and error handling

* fix(tests): update test command to include coverage report generation

* feat: add coverage report generation task to deno.json

* test: add mock for MuxedAccount to simulate account ID retrieval failure

* test: add unit tests for ColibriError minimal info handling

* fix: update error details message for UNEXPECTED_ERROR and add unit test for untracked errors

* test: add unit tests for handling UNEXPECTED_ERROR in BuildTransaction

* test: enhance unit tests for error handling in getRequiredOperationThresholdForClassicOperation

* fix: update details message in UNEXPECTED_ERROR for clarity

* fix: simplify details and diagnostic assignment in ProcessError constructor

* fix: update details message in UNEXPECTED_ERROR for clarity and add unit test for untracked errors

* refactor: remove unused imports in index.unit.test.ts

* refactor: remove unused import from index.unit.test.ts

* feat: add boolean and string helper functions with error handling

* feat: implement SignEnvelope process with error handling and unit tests

* docs: add comments to assert function for clarity

* feat: add assertRequiredArgs function to validate non-null arguments

* refactor: consolidate baseErrorSource for consistent error reporting in string helper functions

* feat: implement getAddressTypeFromAuthEntry and getAddressSignerFromAuthEntry functions for SorobanAuthorizationEntry handling

* feat: enhance ProcessError with DeferredInputError type and improve details handling

* feat: implement SignAuthEntries process and associated error handling

* fix: change xdr import to type import for better type safety

* refactor: reorganize SignAuthEntries test structure for improved readability

* feat: re-add xdr export to helpers for improved module accessibility

* feat: add ResultOrError class for improved error handling and input management

* feat: add softTryToXDR and parse functions for improved error handling and event parsing

* feat: add transaction helper for calculating transaction timeout

* feat: refactor getValidUntilLedgerSeq to use ResultOrError for improved error handling

* feat: implement SendTransaction process with error handling and transaction status management

* feat: update convee dependency to version 0.7.1 and enhance test task commands for improved coverage reporting

* feat: add buildToSimulate transformer for transaction simulation

* feat: implement simulateToRetval transformer with error handling for missing return values

* feat: add TransactionConfig and BaseFee types for transaction configuration

* feat: implement PipelineError class for structured error handling in pipelines

* feat: implement SignEnvelope process with error handling and types

* feat: implement ReadFromContract pipeline with error handling and input/output types

* feat: add unit tests for createReadFromContractPipeline with error handling

* feat: add integration tests for ReadFromContract pipeline functionality

* refactor: update error details and refine CreateReadFromContractPipelineArgs type

* feat: enhance AssembleTransaction with new error handling and input types

* feat: implement isSmartContractTransaction verifier for smart contract operations

* feat: add operations retrieval functions for Transaction handling

* feat: enhance parseErrorResult to handle unexpected TransactionResult formats

* feat: add disableSanitizeConfig for testing and update deno.json for dependency version

* feat: implement error handling for Friendbot operations with custom error types

* fix: correct argument check in assertRequiredArgs and update TransactionSigner method name

* feat: add "tools" to ErrorDomain type for enhanced error categorization

* feat: update TestNet function to return TestNetConfig type for improved type safety

* feat: add MISSING_ARG error class and enhance AssembleTransaction with resourceFee handling

* feat: update SignEnvelope to use TransactionSigner and improve error handling

* fix: rename getPublicKey to publicKey in MockSigner for consistency

* refactor: rename tx to transaction in SendTransactionInput for clarity

* feat: add assembleToEnvelopeSigningRequirements transformer for transaction processing

* fix: add disableSanitizeConfig to ReadFromContract Pipeline tests and clean up error handling

* feat: implement InvokeContract pipeline with error handling and transaction processing

* fix: remove unused import assertRejects from ReadFromContract pipeline tests

* feat: add unit tests for createInvokeContractPipeline with error handling

* fix: remove inclusionFee conditional to zero when parsing transaction fee

* feat: add assembleToEnvelopeSigningRequirements and buildToEnvelopeSigningRequirements transformers

* fix: add missing file extension for assembleToEnvelopeSigningRequirements import

* feat: implement ClassicTransaction pipeline with error handling and connectors

* fix: update import paths for disableSanitizeConfig in test files

* feat: refactor StrKey handling with new regex and type guards

- Introduced a new StrKey module to handle various StrKey types and their validation.
- Added regex patterns for Ed25519 public/secret keys, muxed addresses, and other StrKey types.
- Implemented type guards for validating StrKey formats and checksums.
- Removed old verifiers for Ed25519 public keys and muxed addresses, replacing them with StrKey methods.
- Updated unit tests to cover new StrKey functionalities and validation logic.

* feat: update import paths and refactor types for signer and transaction handling

* feat: implement NativeAccount error handling and types for account operations

* feat: enhance StrKey validation tests for PreAuthTx and Sha256Hash prefixes

* feat: implement unit tests for LocalSigner functionality and security

* feat: refactor error handling in NativeAccount and add unit tests for account methods

* feat: reorganize type exports and update imports for consistency across modules

* feat: update version to 0.1.0 and enhance README with simple architecture and error handling information

* feat: simplify nonBlankString function by removing unused parameter

* refactor: update imports to use type keyword for consistency across modules

* refactor: remove unused Keypair import from sign-envelope process

* feat: add delay before retrying transaction retrieval in getTransactionRecursively

* fix: update test command in Deno workflow to run all tests

* Test/increase coverage (#9)

* fix: correct details assignment in ToolsError constructor

* test: add unit tests for initializeWithFriendbot function

* fix: restore revokeSponsorship case in getRequiredOperationThresholdForClassicOperation
test: add unit tests for pipeline connectors

* test: add unit tests for inputToBuild connector function

* test: add unit tests for inputToBuild and related connectors in createInvokeContractPipeline

* test: add unit tests for connectors in createClassicTransactionPipeline

* fix: update isSigningThreshold function to include zero as a valid threshold and verify against non-integers

* test: add unit tests for isSigningThreshold and isSmartContractTransaction functions

* fix: ensure maxTime is correctly parsed as a number in getTransactionTimeout function

* test: add unit tests for boolean and string helper functions

* test: add unit tests for transaction helper functions

* test: add unit tests for XDR helper functions

* chore: update Deno workflow to include dev branch for push and pull requests

* fix: change details property in ToolsErrorShape to be required

* fix: make details property in TransformerErrorShape required

* fix: remove coverage threshold check from Deno workflow

* feat: Add WrapFeeBump process with error handling and unit tests (#12)

* chore: Update core version to 0.2.0 in deno.json

* chore: Update fee bump plugin's core dependency version to 0.2.0 in deno.json

* Update plugins/fee-bump/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: Add Contract class (#14)

* fix: Update error domain from "plugins" to "contract" in ContractError class

* feat(test): add fungible token contract with initial implementation

- Created Cargo.toml for the fungible token contract.
- Added Makefile for building, deploying, and generating TypeScript bindings.
- Added README.md with project overview and installation instructions.
- Implemented the main contract logic in src/contract.rs, including minting, transferring, and burning tokens.
- Set up the contract library in src/lib.rs.
- Added initial tests in src/test.rs to verify contract functionality.
- Compiled the contract to WASM format.
- Created TypeScript specifications for the fungible token contract.
- Updated workspace dependencies in cargo.toml to align with the new contract.

* feat(test): add VOID type to TYPES_HARNESS_METHOD enum

* refactor: comment out unused UNEXPECTED_ERROR class and update methodArgs to be optional in Contract class

* chore: add test_snapshots directory to .gitignore

* chore: update version to 0.3.1 in deno.json

* Feat/auth entry parser (#17)

* fix: correct signature handling in paramsToAuthEntry function

* fix: import SIM_ERRORS for error handling in simulate-transaction tests

* feat: enhance network configuration types and add type guard helpers

* feat: refactor network passphrase handling to use enum for consistency

* feat: reorganize exports in mod.ts and add tools module for better structure

* chore: update version to 0.4.1 in deno.json

* refactor: remove unused import of SIM_ERRORS in unit tests

* refactor: update TransactionSigner interface and related implementations

* feat: add isTransactionSigner verifier function

* chore: update version to 0.5.0 in deno.json

* chore: update @colibri/core import version to ^0.5.0 in deno.json

* refactor: change Buffer import to type import in index.unit.test.ts

* fix: add auth parameter to invoke method for authorization support

* chore: update version to 0.5.1 in deno.json

* feat: add invokeRaw method for contract invocation with optional auth

* chore: update version to 0.5.2 in deno.json

* fix: authorization entry processing by separating signed and unsigned entries

* chore: update version to 0.5.3 in deno.json

* refactor: simplify error handling in contract deployment and pipeline execution

* feat: add verifySignature method to LocalSigner and TransactionSigner types

* chore: update version to 0.6.0 in deno.json

* refactor: separate LocalSigner type and implement verifySignature method

* feat: enhance network configuration types and add type guard for NetworkConfig

* refactor: update import paths to use alias for improved readability

* refactor: update import paths to use alias for consistency

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use alias for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* chore: update version to 0.7.0 in deno.json

* chore: update version to 0.2.0 and core dependency to ^0.7.0 in deno.json

* chore: update version of convee to ^0.9.2 in deno.json

* fix: convee plugin create payload

* fix: update import paths for error handling consistency

* fix: correct import path for error handling

* feat: enhance README with detailed project overview and add logo

* fix: update README to reflect current beta status instead of stable release

* feat: Implement NetworkConfig class (#27)

* feat: event streamer (#29)

* feat: Implement Events, Standards and more (#32)

* feat: topic filter conversion (#34)

* Fix: toTopicFilter args type (#36)

* fix:  support for muxed transfer events in SAC/SEP41 Mint and Transfer schemas

* fix: update version to 0.10.3 in deno.json

* fix: mark core releases as latest in GitHub release workflow

* docs: add documentation links to README files for better accessibility

* docs: add examples links to README files for better guidance

* docs: remove outdated processes documentation

* Feat/add sac asset (#41)

* feat(wip) add sac client

* feat(wip): implement SAC error handling and contract methods

* feat: rename SEP-11 asset functions and types to StellarAssetCanonicalString

* feat: add unit tests for StellarAssetContract deployment error handling

- Implement unit tests for StellarAssetContract's deploy method to ensure proper error handling for various scenarios, including non-SIMULATION_FAILED errors and malformed simulation responses.
- Refactor asset-related imports to use StellarAssetCanonicalString instead of SEP11Asset across multiple event standards.
- Update contract integration tests to instantiate Contract using the new constructor method.
- Remove unused Asset import from contract error handling.
- Clean up commented-out code related to asset wrapping in contract integration tests.

* fix: correct import paths in unit tests for StellarAsset and ScVal

* test: add missing tests for MintEvent and TransferEvent validation scenarios

* chore: update version to 0.11.0 in deno.json

* refactor: remove unused static create method from Contract class

* fix: export SAC asset modules and error types

* chore: update version to 0.11.1 in deno.json

* fix: enhance StellarAssetContract to support missing native XLM and add related tests

* chore: update version to 0.11.2 in deno.json

* docs: update core/asset/sac/index.ts tsdocs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add calculateContractId function to derive contract ID from add… (#45)

* feat: rework signer and enable indirect signing (#47)

* fix: missing contract signing flow

* chore: bump version to 0.13.1

* standardize account interfaces

* add UNSUPPORTED_ADDRESS_TYPE error and update NativeAccount to handle unsupported address types

* feat: implement format-units helper functions and error handling

* chore: update package versions to 0.14.0 for core, 0.5.0 for event-streamer, and 0.6.0 for fee-bump

* fix: specify generic constraint for WithSigner and WithMultiSig types

* fix: clarify error message for INVALID_SCIENTIFIC_EXPONENT regarding integer range

* feat: add SEP10 and SEP1 support (#51)

* refactor: simplify Sep10Client creation by using StellarToml instance

* fix: change import of StellarToml to type import

* chore: bump version to 0.1.1 in deno.json

* fix: ensure valid URL for WEB_AUTH_ENDPOINT in Sep10Client and add corresponding unit test

* test: rename SEP-10 Client E2E integration tests for authentication flow

* feat: add static utility methods for SEP-10 challenge validation and parsing

* style: format assertions for better readability in SEP10Challenge static utilities tests

* chore: update version to 0.2.0 in deno.json

* test: refactor challenge transaction tests to use mock transactions

* feat: add time tolerance and skip validation options for challenge verification

* chore: update version to 0.3.0 in deno.json

* test: update comment for time tolerance verification in SEP10Challenge tests

* test: remove redundant timeTolerance and skipTimeValidation tests from Sep10Client

* feat: add memoize decorator with unit tests and type definitions

* feat: add active eviction option to memoize decorator with comprehensive tests

* chore: update stellar-sdk version to ^14.4.3 and add @std/expect import

* add fixtures for getLedgers

* test: add deno coverage ignore comments to test files

* refactor: standardize string quotes and clean up whitespace in memoize unit tests

* feat(xdr): Refactor and restructure ScVal parser and utility functions

- Add `parseScVal` function to convert XDR ScVal to TypeScript-friendly values.
- Introduce utility functions: `getScValTypeName`, `isScValRecord`, `isScValMap`, and `asUnion` for type checking and parsing.
- Implement `parseScVals` for batch parsing of ScVal arrays.
- Create `softTryToXDR` utility to safely convert values to XDR format.
- Add comprehensive unit tests for ScVal parsing and utility functions.
- Remove redundant ScVal types from `core/common/scval/types.ts` and consolidate in `core/common/helpers/xdr/types.ts`.

* refactor: remove deprecated general.ts helper functions

* refactor: update import paths for ScVal types and utilities

* feat: remove lobstr from providers as they only offer horizon as of now

* feat: implement ledger-parser with lazy operation parsing

- Added Transaction class to handle transaction metadata and operations parsing.
- Implemented factory methods for creating Transaction instances from metadata.
- Introduced memoization for performance optimization on frequently accessed properties.
- Added comprehensive unit tests for Transaction class covering various scenarios and envelope types.
- Created types for Ledger, Transaction, and Operation for better type safety and clarity.
- Updated module exports to include new ledger-parser functionalities.

* feat: add LedgerStreamer class for streaming Stellar ledger data

- Implemented LedgerStreamer class to support live and historical ingestion of Stellar ledgers.
- Added methods for starting live, archive, and automatic streaming modes.
- Introduced configuration options for batch size, wait intervals, and error handling.
- Created type definitions for handlers and options related to ledger streaming.

* refactor: format workspace array in deno.json for improved readability

* feat: add environment loading utilities and update deno.json for improved testing

* feat: enhance Lightsail provider to support API key for dynamic RPC URLs and add health check for MainNet PRO

* chore: update import paths and add coverage ignore for environment loading files

* chore: update comments to clarify future changes for API key usage in headers

* feat: integrate QUASAR_API_KEY into network configuration for Lightsail provider

* feat: implement rpc-streamer package

feat: add Event Streamer variant with type definitions

- Introduced `EventStreamerOptions` and `EventStreamerConfig` interfaces for event streaming configuration.
- Created a new file `types.ts` under `rpc-streamer/src/variants/event/`.

feat: implement Ledger Streamer variant with integration and unit tests

- Added `createLedgerStreamer` function to handle live and archive ingestion of ledgers.
- Implemented integration tests for the Ledger Streamer in `index.integration.test.ts`.
- Created unit tests for the Ledger Streamer ingestors in `index.unit.test.ts`.
- Defined `LedgerStreamerOptions` and `LedgerStreamerConfig` interfaces for ledger streaming configuration.
- Added necessary mock helpers and test cases to ensure proper functionality and error handling.

* Remove LedgerStreamer and EventStreamer packages and associated references

* chore: add QUASAR_API_KEY environment variable to test step in Deno workflow

* chore: update package versions and core dependency references to 0.16.0

* refactor: remove unused Api type imports and simplify handler function in integration tests

* refactor: use isDefined utility for better null/undefined checks in event filter and transaction classes

* refactor: remove any casting

* refactor: comments

* chore: update stellar-sdk version to 14.6.1

* fix: update resource fee calculation in AssembleTransaction tests

* fix: forward allowHttp when creating fallback RPC server in Contract (#57)

The Contract constructor creates a fallback RPC server when no `rpc`
is passed, but ignores `networkConfig.allowHttp`. This causes all
HTTP RPC URLs (e.g. local development) to fail with "Cannot connect
to insecure Soroban RPC server".

* fix: update version to 0.16.1 in deno.json

* fix: update @colibri/core version to ^0.16.1 in deno.json files

* fix: update version to 0.8.1 in @colibri/plugin-fee-bump and 0.1.1 in @colibri/rpc-streamer

* fix: add wait function to handle RPC delays in Stellar Asset Contract tests

* Codex/fix lint issues (#59)

* Update Convee to 1.0.0 and refactor core

* Bump versions for core, fee-bump, rpc-streamer, and sep10 to 0.17.0, 0.9.0, 0.2.0, and 0.5.0 respectively

* Fix lint issues and refresh package docs

* Rename workflow badge to CI

* Clarify CAP-67 destination field docs (#62)

Update toMuxedId TSDoc to describe raw CAP-67 semantics and bump package patch versions.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Gorka Ludlow <gorka@aquigorka.com>
fazzatti added a commit that referenced this pull request Mar 21, 2026
* test: add unit tests for ColibriError minimal info handling

* fix: update error details message for UNEXPECTED_ERROR and add unit test for untracked errors

* test: add unit tests for handling UNEXPECTED_ERROR in BuildTransaction

* test: enhance unit tests for error handling in getRequiredOperationThresholdForClassicOperation

* fix: update details message in UNEXPECTED_ERROR for clarity

* fix: simplify details and diagnostic assignment in ProcessError constructor

* fix: update details message in UNEXPECTED_ERROR for clarity and add unit test for untracked errors

* refactor: remove unused imports in index.unit.test.ts

* refactor: remove unused import from index.unit.test.ts

* feat: add boolean and string helper functions with error handling

* feat: implement SignEnvelope process with error handling and unit tests

* docs: add comments to assert function for clarity

* feat: add assertRequiredArgs function to validate non-null arguments

* refactor: consolidate baseErrorSource for consistent error reporting in string helper functions

* feat: implement getAddressTypeFromAuthEntry and getAddressSignerFromAuthEntry functions for SorobanAuthorizationEntry handling

* feat: enhance ProcessError with DeferredInputError type and improve details handling

* feat: implement SignAuthEntries process and associated error handling

* fix: change xdr import to type import for better type safety

* refactor: reorganize SignAuthEntries test structure for improved readability

* feat: re-add xdr export to helpers for improved module accessibility

* feat: add ResultOrError class for improved error handling and input management

* feat: add softTryToXDR and parse functions for improved error handling and event parsing

* feat: add transaction helper for calculating transaction timeout

* feat: refactor getValidUntilLedgerSeq to use ResultOrError for improved error handling

* feat: implement SendTransaction process with error handling and transaction status management

* feat: update convee dependency to version 0.7.1 and enhance test task commands for improved coverage reporting

* feat: add buildToSimulate transformer for transaction simulation

* feat: implement simulateToRetval transformer with error handling for missing return values

* feat: add TransactionConfig and BaseFee types for transaction configuration

* feat: implement PipelineError class for structured error handling in pipelines

* feat: implement SignEnvelope process with error handling and types

* feat: implement ReadFromContract pipeline with error handling and input/output types

* feat: add unit tests for createReadFromContractPipeline with error handling

* feat: add integration tests for ReadFromContract pipeline functionality

* refactor: update error details and refine CreateReadFromContractPipelineArgs type

* feat: enhance AssembleTransaction with new error handling and input types

* feat: implement isSmartContractTransaction verifier for smart contract operations

* feat: add operations retrieval functions for Transaction handling

* feat: enhance parseErrorResult to handle unexpected TransactionResult formats

* feat: add disableSanitizeConfig for testing and update deno.json for dependency version

* feat: implement error handling for Friendbot operations with custom error types

* fix: correct argument check in assertRequiredArgs and update TransactionSigner method name

* feat: add "tools" to ErrorDomain type for enhanced error categorization

* feat: update TestNet function to return TestNetConfig type for improved type safety

* feat: add MISSING_ARG error class and enhance AssembleTransaction with resourceFee handling

* feat: update SignEnvelope to use TransactionSigner and improve error handling

* fix: rename getPublicKey to publicKey in MockSigner for consistency

* refactor: rename tx to transaction in SendTransactionInput for clarity

* feat: add assembleToEnvelopeSigningRequirements transformer for transaction processing

* fix: add disableSanitizeConfig to ReadFromContract Pipeline tests and clean up error handling

* feat: implement InvokeContract pipeline with error handling and transaction processing

* fix: remove unused import assertRejects from ReadFromContract pipeline tests

* feat: add unit tests for createInvokeContractPipeline with error handling

* fix: remove inclusionFee conditional to zero when parsing transaction fee

* feat: add assembleToEnvelopeSigningRequirements and buildToEnvelopeSigningRequirements transformers

* fix: add missing file extension for assembleToEnvelopeSigningRequirements import

* feat: implement ClassicTransaction pipeline with error handling and connectors

* fix: update import paths for disableSanitizeConfig in test files

* feat: refactor StrKey handling with new regex and type guards

- Introduced a new StrKey module to handle various StrKey types and their validation.
- Added regex patterns for Ed25519 public/secret keys, muxed addresses, and other StrKey types.
- Implemented type guards for validating StrKey formats and checksums.
- Removed old verifiers for Ed25519 public keys and muxed addresses, replacing them with StrKey methods.
- Updated unit tests to cover new StrKey functionalities and validation logic.

* feat: update import paths and refactor types for signer and transaction handling

* feat: implement NativeAccount error handling and types for account operations

* feat: enhance StrKey validation tests for PreAuthTx and Sha256Hash prefixes

* feat: implement unit tests for LocalSigner functionality and security

* feat: refactor error handling in NativeAccount and add unit tests for account methods

* feat: reorganize type exports and update imports for consistency across modules

* feat: update version to 0.1.0 and enhance README with simple architecture and error handling information

* feat: simplify nonBlankString function by removing unused parameter

* refactor: update imports to use type keyword for consistency across modules

* refactor: remove unused Keypair import from sign-envelope process

* feat: add delay before retrying transaction retrieval in getTransactionRecursively

* fix: update test command in Deno workflow to run all tests

* Test/increase coverage (#9)

* fix: correct details assignment in ToolsError constructor

* test: add unit tests for initializeWithFriendbot function

* fix: restore revokeSponsorship case in getRequiredOperationThresholdForClassicOperation
test: add unit tests for pipeline connectors

* test: add unit tests for inputToBuild connector function

* test: add unit tests for inputToBuild and related connectors in createInvokeContractPipeline

* test: add unit tests for connectors in createClassicTransactionPipeline

* fix: update isSigningThreshold function to include zero as a valid threshold and verify against non-integers

* test: add unit tests for isSigningThreshold and isSmartContractTransaction functions

* fix: ensure maxTime is correctly parsed as a number in getTransactionTimeout function

* test: add unit tests for boolean and string helper functions

* test: add unit tests for transaction helper functions

* test: add unit tests for XDR helper functions

* chore: update Deno workflow to include dev branch for push and pull requests

* fix: change details property in ToolsErrorShape to be required

* fix: make details property in TransformerErrorShape required

* fix: remove coverage threshold check from Deno workflow

* feat: Add WrapFeeBump process with error handling and unit tests (#12)

* chore: Update core version to 0.2.0 in deno.json

* chore: Update fee bump plugin's core dependency version to 0.2.0 in deno.json

* Update plugins/fee-bump/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: Add Contract class (#14)

* fix: Update error domain from "plugins" to "contract" in ContractError class

* feat(test): add fungible token contract with initial implementation

- Created Cargo.toml for the fungible token contract.
- Added Makefile for building, deploying, and generating TypeScript bindings.
- Added README.md with project overview and installation instructions.
- Implemented the main contract logic in src/contract.rs, including minting, transferring, and burning tokens.
- Set up the contract library in src/lib.rs.
- Added initial tests in src/test.rs to verify contract functionality.
- Compiled the contract to WASM format.
- Created TypeScript specifications for the fungible token contract.
- Updated workspace dependencies in cargo.toml to align with the new contract.

* feat(test): add VOID type to TYPES_HARNESS_METHOD enum

* refactor: comment out unused UNEXPECTED_ERROR class and update methodArgs to be optional in Contract class

* chore: add test_snapshots directory to .gitignore

* chore: update version to 0.3.1 in deno.json

* Feat/auth entry parser (#17)

* fix: correct signature handling in paramsToAuthEntry function

* fix: import SIM_ERRORS for error handling in simulate-transaction tests

* feat: enhance network configuration types and add type guard helpers

* feat: refactor network passphrase handling to use enum for consistency

* feat: reorganize exports in mod.ts and add tools module for better structure

* chore: update version to 0.4.1 in deno.json

* refactor: remove unused import of SIM_ERRORS in unit tests

* refactor: update TransactionSigner interface and related implementations

* feat: add isTransactionSigner verifier function

* chore: update version to 0.5.0 in deno.json

* chore: update @colibri/core import version to ^0.5.0 in deno.json

* refactor: change Buffer import to type import in index.unit.test.ts

* fix: add auth parameter to invoke method for authorization support

* chore: update version to 0.5.1 in deno.json

* feat: add invokeRaw method for contract invocation with optional auth

* chore: update version to 0.5.2 in deno.json

* fix: authorization entry processing by separating signed and unsigned entries

* chore: update version to 0.5.3 in deno.json

* refactor: simplify error handling in contract deployment and pipeline execution

* feat: add verifySignature method to LocalSigner and TransactionSigner types

* chore: update version to 0.6.0 in deno.json

* refactor: separate LocalSigner type and implement verifySignature method

* feat: enhance network configuration types and add type guard for NetworkConfig

* refactor: update import paths to use alias for improved readability

* refactor: update import paths to use alias for consistency

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use alias for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* chore: update version to 0.7.0 in deno.json

* chore: update version to 0.2.0 and core dependency to ^0.7.0 in deno.json

* chore: update version of convee to ^0.9.2 in deno.json

* fix: convee plugin create payload

* fix: update import paths for error handling consistency

* fix: correct import path for error handling

* feat: enhance README with detailed project overview and add logo

* fix: update README to reflect current beta status instead of stable release

* feat: Implement NetworkConfig class (#27)

* feat: event streamer (#29)

* feat: Implement Events, Standards and more (#32)

* feat: topic filter conversion (#34)

* Fix: toTopicFilter args type (#36)

* fix:  support for muxed transfer events in SAC/SEP41 Mint and Transfer schemas

* fix: update version to 0.10.3 in deno.json

* fix: mark core releases as latest in GitHub release workflow

* docs: add documentation links to README files for better accessibility

* docs: add examples links to README files for better guidance

* docs: remove outdated processes documentation

* Feat/add sac asset (#41)

* feat(wip) add sac client

* feat(wip): implement SAC error handling and contract methods

* feat: rename SEP-11 asset functions and types to StellarAssetCanonicalString

* feat: add unit tests for StellarAssetContract deployment error handling

- Implement unit tests for StellarAssetContract's deploy method to ensure proper error handling for various scenarios, including non-SIMULATION_FAILED errors and malformed simulation responses.
- Refactor asset-related imports to use StellarAssetCanonicalString instead of SEP11Asset across multiple event standards.
- Update contract integration tests to instantiate Contract using the new constructor method.
- Remove unused Asset import from contract error handling.
- Clean up commented-out code related to asset wrapping in contract integration tests.

* fix: correct import paths in unit tests for StellarAsset and ScVal

* test: add missing tests for MintEvent and TransferEvent validation scenarios

* chore: update version to 0.11.0 in deno.json

* refactor: remove unused static create method from Contract class

* fix: export SAC asset modules and error types

* chore: update version to 0.11.1 in deno.json

* fix: enhance StellarAssetContract to support missing native XLM and add related tests

* chore: update version to 0.11.2 in deno.json

* docs: update core/asset/sac/index.ts tsdocs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add calculateContractId function to derive contract ID from add… (#45)

* feat: rework signer and enable indirect signing (#47)

* fix: missing contract signing flow

* chore: bump version to 0.13.1

* standardize account interfaces

* add UNSUPPORTED_ADDRESS_TYPE error and update NativeAccount to handle unsupported address types

* feat: implement format-units helper functions and error handling

* chore: update package versions to 0.14.0 for core, 0.5.0 for event-streamer, and 0.6.0 for fee-bump

* fix: specify generic constraint for WithSigner and WithMultiSig types

* fix: clarify error message for INVALID_SCIENTIFIC_EXPONENT regarding integer range

* feat: add SEP10 and SEP1 support (#51)

* refactor: simplify Sep10Client creation by using StellarToml instance

* fix: change import of StellarToml to type import

* chore: bump version to 0.1.1 in deno.json

* fix: ensure valid URL for WEB_AUTH_ENDPOINT in Sep10Client and add corresponding unit test

* test: rename SEP-10 Client E2E integration tests for authentication flow

* feat: add static utility methods for SEP-10 challenge validation and parsing

* style: format assertions for better readability in SEP10Challenge static utilities tests

* chore: update version to 0.2.0 in deno.json

* test: refactor challenge transaction tests to use mock transactions

* feat: add time tolerance and skip validation options for challenge verification

* chore: update version to 0.3.0 in deno.json

* test: update comment for time tolerance verification in SEP10Challenge tests

* test: remove redundant timeTolerance and skipTimeValidation tests from Sep10Client

* feat: add memoize decorator with unit tests and type definitions

* feat: add active eviction option to memoize decorator with comprehensive tests

* chore: update stellar-sdk version to ^14.4.3 and add @std/expect import

* add fixtures for getLedgers

* test: add deno coverage ignore comments to test files

* refactor: standardize string quotes and clean up whitespace in memoize unit tests

* feat(xdr): Refactor and restructure ScVal parser and utility functions

- Add `parseScVal` function to convert XDR ScVal to TypeScript-friendly values.
- Introduce utility functions: `getScValTypeName`, `isScValRecord`, `isScValMap`, and `asUnion` for type checking and parsing.
- Implement `parseScVals` for batch parsing of ScVal arrays.
- Create `softTryToXDR` utility to safely convert values to XDR format.
- Add comprehensive unit tests for ScVal parsing and utility functions.
- Remove redundant ScVal types from `core/common/scval/types.ts` and consolidate in `core/common/helpers/xdr/types.ts`.

* refactor: remove deprecated general.ts helper functions

* refactor: update import paths for ScVal types and utilities

* feat: remove lobstr from providers as they only offer horizon as of now

* feat: implement ledger-parser with lazy operation parsing

- Added Transaction class to handle transaction metadata and operations parsing.
- Implemented factory methods for creating Transaction instances from metadata.
- Introduced memoization for performance optimization on frequently accessed properties.
- Added comprehensive unit tests for Transaction class covering various scenarios and envelope types.
- Created types for Ledger, Transaction, and Operation for better type safety and clarity.
- Updated module exports to include new ledger-parser functionalities.

* feat: add LedgerStreamer class for streaming Stellar ledger data

- Implemented LedgerStreamer class to support live and historical ingestion of Stellar ledgers.
- Added methods for starting live, archive, and automatic streaming modes.
- Introduced configuration options for batch size, wait intervals, and error handling.
- Created type definitions for handlers and options related to ledger streaming.

* refactor: format workspace array in deno.json for improved readability

* feat: add environment loading utilities and update deno.json for improved testing

* feat: enhance Lightsail provider to support API key for dynamic RPC URLs and add health check for MainNet PRO

* chore: update import paths and add coverage ignore for environment loading files

* chore: update comments to clarify future changes for API key usage in headers

* feat: integrate QUASAR_API_KEY into network configuration for Lightsail provider

* feat: implement rpc-streamer package

feat: add Event Streamer variant with type definitions

- Introduced `EventStreamerOptions` and `EventStreamerConfig` interfaces for event streaming configuration.
- Created a new file `types.ts` under `rpc-streamer/src/variants/event/`.

feat: implement Ledger Streamer variant with integration and unit tests

- Added `createLedgerStreamer` function to handle live and archive ingestion of ledgers.
- Implemented integration tests for the Ledger Streamer in `index.integration.test.ts`.
- Created unit tests for the Ledger Streamer ingestors in `index.unit.test.ts`.
- Defined `LedgerStreamerOptions` and `LedgerStreamerConfig` interfaces for ledger streaming configuration.
- Added necessary mock helpers and test cases to ensure proper functionality and error handling.

* Remove LedgerStreamer and EventStreamer packages and associated references

* chore: add QUASAR_API_KEY environment variable to test step in Deno workflow

* chore: update package versions and core dependency references to 0.16.0

* refactor: remove unused Api type imports and simplify handler function in integration tests

* refactor: use isDefined utility for better null/undefined checks in event filter and transaction classes

* refactor: remove any casting

* refactor: comments

* chore: update stellar-sdk version to 14.6.1

* fix: update resource fee calculation in AssembleTransaction tests

* fix: forward allowHttp when creating fallback RPC server in Contract (#57)

The Contract constructor creates a fallback RPC server when no `rpc`
is passed, but ignores `networkConfig.allowHttp`. This causes all
HTTP RPC URLs (e.g. local development) to fail with "Cannot connect
to insecure Soroban RPC server".

* fix: update version to 0.16.1 in deno.json

* fix: update @colibri/core version to ^0.16.1 in deno.json files

* fix: update version to 0.8.1 in @colibri/plugin-fee-bump and 0.1.1 in @colibri/rpc-streamer

* fix: add wait function to handle RPC delays in Stellar Asset Contract tests

* Codex/fix lint issues (#59)

* Update Convee to 1.0.0 and refactor core

* Bump versions for core, fee-bump, rpc-streamer, and sep10 to 0.17.0, 0.9.0, 0.2.0, and 0.5.0 respectively

* Fix lint issues and refresh package docs

* Rename workflow badge to CI

* Clarify CAP-67 destination field docs (#62)

Update toMuxedId TSDoc to describe raw CAP-67 semantics and bump package patch versions.

* test-tooling with test ledger (#65)

* feat: Add StellarTestLedger class for managing a test Stellar ledger in Docker

- Implemented Streams utility for aggregating data from Node.js streams.
- Created types for Docker resource pruning responses and requests.
- Added integration tests for StellarTestLedger constructor and features.
- Developed StellarTestLedger class to manage Docker containers for Stellar networks.
- Defined types for StellarTestLedger options and network configurations.
- Introduced utility functions for highlighting console output with colors.

* feat(test-tooling): revive quickstart ledger harness

* fix(test-tooling): satisfy lint rules

* fix(test-tooling): address review feedback — typos, type safety, and error handling robustness (#66)

* Initial plan

* fix: apply review feedback to test-tooling package

Co-authored-by: fazzatti <62725221+fazzatti@users.noreply.github.com>
Agent-Logs-Url: https://github.com/fazzatti/colibri/sessions/767ace30-179f-4b6b-8f25-92a3196f9bd3

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fazzatti <62725221+fazzatti@users.noreply.github.com>

* docs(test-tooling): expand package documentation

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* fix(test-tooling): address quickstart review feedback (#68)

* fix(test-tooling): address quickstart review feedback

* fix(test-tooling): address follow-up review comments

* fix(test-tooling): address remaining review comments

* fix(test-tooling): strict RPC health check parsing and TRACE log level handling (#69)

* Initial plan

* fix(test-tooling): parse JSON-RPC health response and fix logLevel nullish coalescing

Co-authored-by: fazzatti <62725221+fazzatti@users.noreply.github.com>
Agent-Logs-Url: https://github.com/fazzatti/colibri/sessions/fa31500c-babf-4657-8375-cea89e21af2c

* fix(test-tooling): tighten RPC health parsing

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fazzatti <62725221+fazzatti@users.noreply.github.com>
Co-authored-by: Fabricius Zatti <fazzatti@gmail.com>

* fix(test-tooling): address release review feedback (#70)

* Codex/fix test tooling release review (#71)

* fix(test-tooling): address release review feedback

* fix(test-tooling): cleanup failed startup containers

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Gorka Ludlow <gorka@aquigorka.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
fazzatti added a commit that referenced this pull request Mar 24, 2026
#73)

* test: enhance unit tests for error handling in getRequiredOperationThresholdForClassicOperation

* fix: update details message in UNEXPECTED_ERROR for clarity

* fix: simplify details and diagnostic assignment in ProcessError constructor

* fix: update details message in UNEXPECTED_ERROR for clarity and add unit test for untracked errors

* refactor: remove unused imports in index.unit.test.ts

* refactor: remove unused import from index.unit.test.ts

* feat: add boolean and string helper functions with error handling

* feat: implement SignEnvelope process with error handling and unit tests

* docs: add comments to assert function for clarity

* feat: add assertRequiredArgs function to validate non-null arguments

* refactor: consolidate baseErrorSource for consistent error reporting in string helper functions

* feat: implement getAddressTypeFromAuthEntry and getAddressSignerFromAuthEntry functions for SorobanAuthorizationEntry handling

* feat: enhance ProcessError with DeferredInputError type and improve details handling

* feat: implement SignAuthEntries process and associated error handling

* fix: change xdr import to type import for better type safety

* refactor: reorganize SignAuthEntries test structure for improved readability

* feat: re-add xdr export to helpers for improved module accessibility

* feat: add ResultOrError class for improved error handling and input management

* feat: add softTryToXDR and parse functions for improved error handling and event parsing

* feat: add transaction helper for calculating transaction timeout

* feat: refactor getValidUntilLedgerSeq to use ResultOrError for improved error handling

* feat: implement SendTransaction process with error handling and transaction status management

* feat: update convee dependency to version 0.7.1 and enhance test task commands for improved coverage reporting

* feat: add buildToSimulate transformer for transaction simulation

* feat: implement simulateToRetval transformer with error handling for missing return values

* feat: add TransactionConfig and BaseFee types for transaction configuration

* feat: implement PipelineError class for structured error handling in pipelines

* feat: implement SignEnvelope process with error handling and types

* feat: implement ReadFromContract pipeline with error handling and input/output types

* feat: add unit tests for createReadFromContractPipeline with error handling

* feat: add integration tests for ReadFromContract pipeline functionality

* refactor: update error details and refine CreateReadFromContractPipelineArgs type

* feat: enhance AssembleTransaction with new error handling and input types

* feat: implement isSmartContractTransaction verifier for smart contract operations

* feat: add operations retrieval functions for Transaction handling

* feat: enhance parseErrorResult to handle unexpected TransactionResult formats

* feat: add disableSanitizeConfig for testing and update deno.json for dependency version

* feat: implement error handling for Friendbot operations with custom error types

* fix: correct argument check in assertRequiredArgs and update TransactionSigner method name

* feat: add "tools" to ErrorDomain type for enhanced error categorization

* feat: update TestNet function to return TestNetConfig type for improved type safety

* feat: add MISSING_ARG error class and enhance AssembleTransaction with resourceFee handling

* feat: update SignEnvelope to use TransactionSigner and improve error handling

* fix: rename getPublicKey to publicKey in MockSigner for consistency

* refactor: rename tx to transaction in SendTransactionInput for clarity

* feat: add assembleToEnvelopeSigningRequirements transformer for transaction processing

* fix: add disableSanitizeConfig to ReadFromContract Pipeline tests and clean up error handling

* feat: implement InvokeContract pipeline with error handling and transaction processing

* fix: remove unused import assertRejects from ReadFromContract pipeline tests

* feat: add unit tests for createInvokeContractPipeline with error handling

* fix: remove inclusionFee conditional to zero when parsing transaction fee

* feat: add assembleToEnvelopeSigningRequirements and buildToEnvelopeSigningRequirements transformers

* fix: add missing file extension for assembleToEnvelopeSigningRequirements import

* feat: implement ClassicTransaction pipeline with error handling and connectors

* fix: update import paths for disableSanitizeConfig in test files

* feat: refactor StrKey handling with new regex and type guards

- Introduced a new StrKey module to handle various StrKey types and their validation.
- Added regex patterns for Ed25519 public/secret keys, muxed addresses, and other StrKey types.
- Implemented type guards for validating StrKey formats and checksums.
- Removed old verifiers for Ed25519 public keys and muxed addresses, replacing them with StrKey methods.
- Updated unit tests to cover new StrKey functionalities and validation logic.

* feat: update import paths and refactor types for signer and transaction handling

* feat: implement NativeAccount error handling and types for account operations

* feat: enhance StrKey validation tests for PreAuthTx and Sha256Hash prefixes

* feat: implement unit tests for LocalSigner functionality and security

* feat: refactor error handling in NativeAccount and add unit tests for account methods

* feat: reorganize type exports and update imports for consistency across modules

* feat: update version to 0.1.0 and enhance README with simple architecture and error handling information

* feat: simplify nonBlankString function by removing unused parameter

* refactor: update imports to use type keyword for consistency across modules

* refactor: remove unused Keypair import from sign-envelope process

* feat: add delay before retrying transaction retrieval in getTransactionRecursively

* fix: update test command in Deno workflow to run all tests

* Test/increase coverage (#9)

* fix: correct details assignment in ToolsError constructor

* test: add unit tests for initializeWithFriendbot function

* fix: restore revokeSponsorship case in getRequiredOperationThresholdForClassicOperation
test: add unit tests for pipeline connectors

* test: add unit tests for inputToBuild connector function

* test: add unit tests for inputToBuild and related connectors in createInvokeContractPipeline

* test: add unit tests for connectors in createClassicTransactionPipeline

* fix: update isSigningThreshold function to include zero as a valid threshold and verify against non-integers

* test: add unit tests for isSigningThreshold and isSmartContractTransaction functions

* fix: ensure maxTime is correctly parsed as a number in getTransactionTimeout function

* test: add unit tests for boolean and string helper functions

* test: add unit tests for transaction helper functions

* test: add unit tests for XDR helper functions

* chore: update Deno workflow to include dev branch for push and pull requests

* fix: change details property in ToolsErrorShape to be required

* fix: make details property in TransformerErrorShape required

* fix: remove coverage threshold check from Deno workflow

* feat: Add WrapFeeBump process with error handling and unit tests (#12)

* chore: Update core version to 0.2.0 in deno.json

* chore: Update fee bump plugin's core dependency version to 0.2.0 in deno.json

* Update plugins/fee-bump/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: Add Contract class (#14)

* fix: Update error domain from "plugins" to "contract" in ContractError class

* feat(test): add fungible token contract with initial implementation

- Created Cargo.toml for the fungible token contract.
- Added Makefile for building, deploying, and generating TypeScript bindings.
- Added README.md with project overview and installation instructions.
- Implemented the main contract logic in src/contract.rs, including minting, transferring, and burning tokens.
- Set up the contract library in src/lib.rs.
- Added initial tests in src/test.rs to verify contract functionality.
- Compiled the contract to WASM format.
- Created TypeScript specifications for the fungible token contract.
- Updated workspace dependencies in cargo.toml to align with the new contract.

* feat(test): add VOID type to TYPES_HARNESS_METHOD enum

* refactor: comment out unused UNEXPECTED_ERROR class and update methodArgs to be optional in Contract class

* chore: add test_snapshots directory to .gitignore

* chore: update version to 0.3.1 in deno.json

* Feat/auth entry parser (#17)

* fix: correct signature handling in paramsToAuthEntry function

* fix: import SIM_ERRORS for error handling in simulate-transaction tests

* feat: enhance network configuration types and add type guard helpers

* feat: refactor network passphrase handling to use enum for consistency

* feat: reorganize exports in mod.ts and add tools module for better structure

* chore: update version to 0.4.1 in deno.json

* refactor: remove unused import of SIM_ERRORS in unit tests

* refactor: update TransactionSigner interface and related implementations

* feat: add isTransactionSigner verifier function

* chore: update version to 0.5.0 in deno.json

* chore: update @colibri/core import version to ^0.5.0 in deno.json

* refactor: change Buffer import to type import in index.unit.test.ts

* fix: add auth parameter to invoke method for authorization support

* chore: update version to 0.5.1 in deno.json

* feat: add invokeRaw method for contract invocation with optional auth

* chore: update version to 0.5.2 in deno.json

* fix: authorization entry processing by separating signed and unsigned entries

* chore: update version to 0.5.3 in deno.json

* refactor: simplify error handling in contract deployment and pipeline execution

* feat: add verifySignature method to LocalSigner and TransactionSigner types

* chore: update version to 0.6.0 in deno.json

* refactor: separate LocalSigner type and implement verifySignature method

* feat: enhance network configuration types and add type guard for NetworkConfig

* refactor: update import paths to use alias for improved readability

* refactor: update import paths to use alias for consistency

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use alias for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* chore: update version to 0.7.0 in deno.json

* chore: update version to 0.2.0 and core dependency to ^0.7.0 in deno.json

* chore: update version of convee to ^0.9.2 in deno.json

* fix: convee plugin create payload

* fix: update import paths for error handling consistency

* fix: correct import path for error handling

* feat: enhance README with detailed project overview and add logo

* fix: update README to reflect current beta status instead of stable release

* feat: Implement NetworkConfig class (#27)

* feat: event streamer (#29)

* feat: Implement Events, Standards and more (#32)

* feat: topic filter conversion (#34)

* Fix: toTopicFilter args type (#36)

* fix:  support for muxed transfer events in SAC/SEP41 Mint and Transfer schemas

* fix: update version to 0.10.3 in deno.json

* fix: mark core releases as latest in GitHub release workflow

* docs: add documentation links to README files for better accessibility

* docs: add examples links to README files for better guidance

* docs: remove outdated processes documentation

* Feat/add sac asset (#41)

* feat(wip) add sac client

* feat(wip): implement SAC error handling and contract methods

* feat: rename SEP-11 asset functions and types to StellarAssetCanonicalString

* feat: add unit tests for StellarAssetContract deployment error handling

- Implement unit tests for StellarAssetContract's deploy method to ensure proper error handling for various scenarios, including non-SIMULATION_FAILED errors and malformed simulation responses.
- Refactor asset-related imports to use StellarAssetCanonicalString instead of SEP11Asset across multiple event standards.
- Update contract integration tests to instantiate Contract using the new constructor method.
- Remove unused Asset import from contract error handling.
- Clean up commented-out code related to asset wrapping in contract integration tests.

* fix: correct import paths in unit tests for StellarAsset and ScVal

* test: add missing tests for MintEvent and TransferEvent validation scenarios

* chore: update version to 0.11.0 in deno.json

* refactor: remove unused static create method from Contract class

* fix: export SAC asset modules and error types

* chore: update version to 0.11.1 in deno.json

* fix: enhance StellarAssetContract to support missing native XLM and add related tests

* chore: update version to 0.11.2 in deno.json

* docs: update core/asset/sac/index.ts tsdocs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add calculateContractId function to derive contract ID from add… (#45)

* feat: rework signer and enable indirect signing (#47)

* fix: missing contract signing flow

* chore: bump version to 0.13.1

* standardize account interfaces

* add UNSUPPORTED_ADDRESS_TYPE error and update NativeAccount to handle unsupported address types

* feat: implement format-units helper functions and error handling

* chore: update package versions to 0.14.0 for core, 0.5.0 for event-streamer, and 0.6.0 for fee-bump

* fix: specify generic constraint for WithSigner and WithMultiSig types

* fix: clarify error message for INVALID_SCIENTIFIC_EXPONENT regarding integer range

* feat: add SEP10 and SEP1 support (#51)

* refactor: simplify Sep10Client creation by using StellarToml instance

* fix: change import of StellarToml to type import

* chore: bump version to 0.1.1 in deno.json

* fix: ensure valid URL for WEB_AUTH_ENDPOINT in Sep10Client and add corresponding unit test

* test: rename SEP-10 Client E2E integration tests for authentication flow

* feat: add static utility methods for SEP-10 challenge validation and parsing

* style: format assertions for better readability in SEP10Challenge static utilities tests

* chore: update version to 0.2.0 in deno.json

* test: refactor challenge transaction tests to use mock transactions

* feat: add time tolerance and skip validation options for challenge verification

* chore: update version to 0.3.0 in deno.json

* test: update comment for time tolerance verification in SEP10Challenge tests

* test: remove redundant timeTolerance and skipTimeValidation tests from Sep10Client

* feat: add memoize decorator with unit tests and type definitions

* feat: add active eviction option to memoize decorator with comprehensive tests

* chore: update stellar-sdk version to ^14.4.3 and add @std/expect import

* add fixtures for getLedgers

* test: add deno coverage ignore comments to test files

* refactor: standardize string quotes and clean up whitespace in memoize unit tests

* feat(xdr): Refactor and restructure ScVal parser and utility functions

- Add `parseScVal` function to convert XDR ScVal to TypeScript-friendly values.
- Introduce utility functions: `getScValTypeName`, `isScValRecord`, `isScValMap`, and `asUnion` for type checking and parsing.
- Implement `parseScVals` for batch parsing of ScVal arrays.
- Create `softTryToXDR` utility to safely convert values to XDR format.
- Add comprehensive unit tests for ScVal parsing and utility functions.
- Remove redundant ScVal types from `core/common/scval/types.ts` and consolidate in `core/common/helpers/xdr/types.ts`.

* refactor: remove deprecated general.ts helper functions

* refactor: update import paths for ScVal types and utilities

* feat: remove lobstr from providers as they only offer horizon as of now

* feat: implement ledger-parser with lazy operation parsing

- Added Transaction class to handle transaction metadata and operations parsing.
- Implemented factory methods for creating Transaction instances from metadata.
- Introduced memoization for performance optimization on frequently accessed properties.
- Added comprehensive unit tests for Transaction class covering various scenarios and envelope types.
- Created types for Ledger, Transaction, and Operation for better type safety and clarity.
- Updated module exports to include new ledger-parser functionalities.

* feat: add LedgerStreamer class for streaming Stellar ledger data

- Implemented LedgerStreamer class to support live and historical ingestion of Stellar ledgers.
- Added methods for starting live, archive, and automatic streaming modes.
- Introduced configuration options for batch size, wait intervals, and error handling.
- Created type definitions for handlers and options related to ledger streaming.

* refactor: format workspace array in deno.json for improved readability

* feat: add environment loading utilities and update deno.json for improved testing

* feat: enhance Lightsail provider to support API key for dynamic RPC URLs and add health check for MainNet PRO

* chore: update import paths and add coverage ignore for environment loading files

* chore: update comments to clarify future changes for API key usage in headers

* feat: integrate QUASAR_API_KEY into network configuration for Lightsail provider

* feat: implement rpc-streamer package

feat: add Event Streamer variant with type definitions

- Introduced `EventStreamerOptions` and `EventStreamerConfig` interfaces for event streaming configuration.
- Created a new file `types.ts` under `rpc-streamer/src/variants/event/`.

feat: implement Ledger Streamer variant with integration and unit tests

- Added `createLedgerStreamer` function to handle live and archive ingestion of ledgers.
- Implemented integration tests for the Ledger Streamer in `index.integration.test.ts`.
- Created unit tests for the Ledger Streamer ingestors in `index.unit.test.ts`.
- Defined `LedgerStreamerOptions` and `LedgerStreamerConfig` interfaces for ledger streaming configuration.
- Added necessary mock helpers and test cases to ensure proper functionality and error handling.

* Remove LedgerStreamer and EventStreamer packages and associated references

* chore: add QUASAR_API_KEY environment variable to test step in Deno workflow

* chore: update package versions and core dependency references to 0.16.0

* refactor: remove unused Api type imports and simplify handler function in integration tests

* refactor: use isDefined utility for better null/undefined checks in event filter and transaction classes

* refactor: remove any casting

* refactor: comments

* chore: update stellar-sdk version to 14.6.1

* fix: update resource fee calculation in AssembleTransaction tests

* fix: forward allowHttp when creating fallback RPC server in Contract (#57)

The Contract constructor creates a fallback RPC server when no `rpc`
is passed, but ignores `networkConfig.allowHttp`. This causes all
HTTP RPC URLs (e.g. local development) to fail with "Cannot connect
to insecure Soroban RPC server".

* fix: update version to 0.16.1 in deno.json

* fix: update @colibri/core version to ^0.16.1 in deno.json files

* fix: update version to 0.8.1 in @colibri/plugin-fee-bump and 0.1.1 in @colibri/rpc-streamer

* fix: add wait function to handle RPC delays in Stellar Asset Contract tests

* Codex/fix lint issues (#59)

* Update Convee to 1.0.0 and refactor core

* Bump versions for core, fee-bump, rpc-streamer, and sep10 to 0.17.0, 0.9.0, 0.2.0, and 0.5.0 respectively

* Fix lint issues and refresh package docs

* Rename workflow badge to CI

* Clarify CAP-67 destination field docs (#62)

Update toMuxedId TSDoc to describe raw CAP-67 semantics and bump package patch versions.

* test-tooling with test ledger (#65)

* feat: Add StellarTestLedger class for managing a test Stellar ledger in Docker

- Implemented Streams utility for aggregating data from Node.js streams.
- Created types for Docker resource pruning responses and requests.
- Added integration tests for StellarTestLedger constructor and features.
- Developed StellarTestLedger class to manage Docker containers for Stellar networks.
- Defined types for StellarTestLedger options and network configurations.
- Introduced utility functions for highlighting console output with colors.

* feat(test-tooling): revive quickstart ledger harness

* fix(test-tooling): satisfy lint rules

* fix(test-tooling): address review feedback — typos, type safety, and error handling robustness (#66)

* Initial plan

* fix: apply review feedback to test-tooling package

Co-authored-by: fazzatti <62725221+fazzatti@users.noreply.github.com>
Agent-Logs-Url: https://github.com/fazzatti/colibri/sessions/767ace30-179f-4b6b-8f25-92a3196f9bd3

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fazzatti <62725221+fazzatti@users.noreply.github.com>

* docs(test-tooling): expand package documentation

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* fix(test-tooling): address quickstart review feedback (#68)

* fix(test-tooling): address quickstart review feedback

* fix(test-tooling): address follow-up review comments

* fix(test-tooling): address remaining review comments

* fix(test-tooling): strict RPC health check parsing and TRACE log level handling (#69)

* Initial plan

* fix(test-tooling): parse JSON-RPC health response and fix logLevel nullish coalescing

Co-authored-by: fazzatti <62725221+fazzatti@users.noreply.github.com>
Agent-Logs-Url: https://github.com/fazzatti/colibri/sessions/fa31500c-babf-4657-8375-cea89e21af2c

* fix(test-tooling): tighten RPC health parsing

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fazzatti <62725221+fazzatti@users.noreply.github.com>
Co-authored-by: Fabricius Zatti <fazzatti@gmail.com>

* fix(test-tooling): address release review feedback (#70)

* Codex/fix test tooling release review (#71)

* fix(test-tooling): address release review feedback

* fix(test-tooling): cleanup failed startup containers

* Codex/fix rpc allowhttp friendbot (#72)

* Fix quickstart readiness and HTTP RPC config

* Bump package versions for affected modules

* Tighten quickstart readiness checks

* Harden quickstart image version validation

* Improve quickstart error serialization

* Align quickstart error details typing

* Tighten quickstart image preset defaults

* Fix quickstart Docker host normalization
fazzatti added a commit that referenced this pull request Mar 25, 2026
…port (#76)

* feat: add boolean and string helper functions with error handling

* feat: implement SignEnvelope process with error handling and unit tests

* docs: add comments to assert function for clarity

* feat: add assertRequiredArgs function to validate non-null arguments

* refactor: consolidate baseErrorSource for consistent error reporting in string helper functions

* feat: implement getAddressTypeFromAuthEntry and getAddressSignerFromAuthEntry functions for SorobanAuthorizationEntry handling

* feat: enhance ProcessError with DeferredInputError type and improve details handling

* feat: implement SignAuthEntries process and associated error handling

* fix: change xdr import to type import for better type safety

* refactor: reorganize SignAuthEntries test structure for improved readability

* feat: re-add xdr export to helpers for improved module accessibility

* feat: add ResultOrError class for improved error handling and input management

* feat: add softTryToXDR and parse functions for improved error handling and event parsing

* feat: add transaction helper for calculating transaction timeout

* feat: refactor getValidUntilLedgerSeq to use ResultOrError for improved error handling

* feat: implement SendTransaction process with error handling and transaction status management

* feat: update convee dependency to version 0.7.1 and enhance test task commands for improved coverage reporting

* feat: add buildToSimulate transformer for transaction simulation

* feat: implement simulateToRetval transformer with error handling for missing return values

* feat: add TransactionConfig and BaseFee types for transaction configuration

* feat: implement PipelineError class for structured error handling in pipelines

* feat: implement SignEnvelope process with error handling and types

* feat: implement ReadFromContract pipeline with error handling and input/output types

* feat: add unit tests for createReadFromContractPipeline with error handling

* feat: add integration tests for ReadFromContract pipeline functionality

* refactor: update error details and refine CreateReadFromContractPipelineArgs type

* feat: enhance AssembleTransaction with new error handling and input types

* feat: implement isSmartContractTransaction verifier for smart contract operations

* feat: add operations retrieval functions for Transaction handling

* feat: enhance parseErrorResult to handle unexpected TransactionResult formats

* feat: add disableSanitizeConfig for testing and update deno.json for dependency version

* feat: implement error handling for Friendbot operations with custom error types

* fix: correct argument check in assertRequiredArgs and update TransactionSigner method name

* feat: add "tools" to ErrorDomain type for enhanced error categorization

* feat: update TestNet function to return TestNetConfig type for improved type safety

* feat: add MISSING_ARG error class and enhance AssembleTransaction with resourceFee handling

* feat: update SignEnvelope to use TransactionSigner and improve error handling

* fix: rename getPublicKey to publicKey in MockSigner for consistency

* refactor: rename tx to transaction in SendTransactionInput for clarity

* feat: add assembleToEnvelopeSigningRequirements transformer for transaction processing

* fix: add disableSanitizeConfig to ReadFromContract Pipeline tests and clean up error handling

* feat: implement InvokeContract pipeline with error handling and transaction processing

* fix: remove unused import assertRejects from ReadFromContract pipeline tests

* feat: add unit tests for createInvokeContractPipeline with error handling

* fix: remove inclusionFee conditional to zero when parsing transaction fee

* feat: add assembleToEnvelopeSigningRequirements and buildToEnvelopeSigningRequirements transformers

* fix: add missing file extension for assembleToEnvelopeSigningRequirements import

* feat: implement ClassicTransaction pipeline with error handling and connectors

* fix: update import paths for disableSanitizeConfig in test files

* feat: refactor StrKey handling with new regex and type guards

- Introduced a new StrKey module to handle various StrKey types and their validation.
- Added regex patterns for Ed25519 public/secret keys, muxed addresses, and other StrKey types.
- Implemented type guards for validating StrKey formats and checksums.
- Removed old verifiers for Ed25519 public keys and muxed addresses, replacing them with StrKey methods.
- Updated unit tests to cover new StrKey functionalities and validation logic.

* feat: update import paths and refactor types for signer and transaction handling

* feat: implement NativeAccount error handling and types for account operations

* feat: enhance StrKey validation tests for PreAuthTx and Sha256Hash prefixes

* feat: implement unit tests for LocalSigner functionality and security

* feat: refactor error handling in NativeAccount and add unit tests for account methods

* feat: reorganize type exports and update imports for consistency across modules

* feat: update version to 0.1.0 and enhance README with simple architecture and error handling information

* feat: simplify nonBlankString function by removing unused parameter

* refactor: update imports to use type keyword for consistency across modules

* refactor: remove unused Keypair import from sign-envelope process

* feat: add delay before retrying transaction retrieval in getTransactionRecursively

* fix: update test command in Deno workflow to run all tests

* Test/increase coverage (#9)

* fix: correct details assignment in ToolsError constructor

* test: add unit tests for initializeWithFriendbot function

* fix: restore revokeSponsorship case in getRequiredOperationThresholdForClassicOperation
test: add unit tests for pipeline connectors

* test: add unit tests for inputToBuild connector function

* test: add unit tests for inputToBuild and related connectors in createInvokeContractPipeline

* test: add unit tests for connectors in createClassicTransactionPipeline

* fix: update isSigningThreshold function to include zero as a valid threshold and verify against non-integers

* test: add unit tests for isSigningThreshold and isSmartContractTransaction functions

* fix: ensure maxTime is correctly parsed as a number in getTransactionTimeout function

* test: add unit tests for boolean and string helper functions

* test: add unit tests for transaction helper functions

* test: add unit tests for XDR helper functions

* chore: update Deno workflow to include dev branch for push and pull requests

* fix: change details property in ToolsErrorShape to be required

* fix: make details property in TransformerErrorShape required

* fix: remove coverage threshold check from Deno workflow

* feat: Add WrapFeeBump process with error handling and unit tests (#12)

* chore: Update core version to 0.2.0 in deno.json

* chore: Update fee bump plugin's core dependency version to 0.2.0 in deno.json

* Update plugins/fee-bump/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: Add Contract class (#14)

* fix: Update error domain from "plugins" to "contract" in ContractError class

* feat(test): add fungible token contract with initial implementation

- Created Cargo.toml for the fungible token contract.
- Added Makefile for building, deploying, and generating TypeScript bindings.
- Added README.md with project overview and installation instructions.
- Implemented the main contract logic in src/contract.rs, including minting, transferring, and burning tokens.
- Set up the contract library in src/lib.rs.
- Added initial tests in src/test.rs to verify contract functionality.
- Compiled the contract to WASM format.
- Created TypeScript specifications for the fungible token contract.
- Updated workspace dependencies in cargo.toml to align with the new contract.

* feat(test): add VOID type to TYPES_HARNESS_METHOD enum

* refactor: comment out unused UNEXPECTED_ERROR class and update methodArgs to be optional in Contract class

* chore: add test_snapshots directory to .gitignore

* chore: update version to 0.3.1 in deno.json

* Feat/auth entry parser (#17)

* fix: correct signature handling in paramsToAuthEntry function

* fix: import SIM_ERRORS for error handling in simulate-transaction tests

* feat: enhance network configuration types and add type guard helpers

* feat: refactor network passphrase handling to use enum for consistency

* feat: reorganize exports in mod.ts and add tools module for better structure

* chore: update version to 0.4.1 in deno.json

* refactor: remove unused import of SIM_ERRORS in unit tests

* refactor: update TransactionSigner interface and related implementations

* feat: add isTransactionSigner verifier function

* chore: update version to 0.5.0 in deno.json

* chore: update @colibri/core import version to ^0.5.0 in deno.json

* refactor: change Buffer import to type import in index.unit.test.ts

* fix: add auth parameter to invoke method for authorization support

* chore: update version to 0.5.1 in deno.json

* feat: add invokeRaw method for contract invocation with optional auth

* chore: update version to 0.5.2 in deno.json

* fix: authorization entry processing by separating signed and unsigned entries

* chore: update version to 0.5.3 in deno.json

* refactor: simplify error handling in contract deployment and pipeline execution

* feat: add verifySignature method to LocalSigner and TransactionSigner types

* chore: update version to 0.6.0 in deno.json

* refactor: separate LocalSigner type and implement verifySignature method

* feat: enhance network configuration types and add type guard for NetworkConfig

* refactor: update import paths to use alias for improved readability

* refactor: update import paths to use alias for consistency

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use alias for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* refactor: update import paths to use absolute paths for consistency and clarity

* refactor: update import paths to use aliases for consistency and improved readability

* chore: update version to 0.7.0 in deno.json

* chore: update version to 0.2.0 and core dependency to ^0.7.0 in deno.json

* chore: update version of convee to ^0.9.2 in deno.json

* fix: convee plugin create payload

* fix: update import paths for error handling consistency

* fix: correct import path for error handling

* feat: enhance README with detailed project overview and add logo

* fix: update README to reflect current beta status instead of stable release

* feat: Implement NetworkConfig class (#27)

* feat: event streamer (#29)

* feat: Implement Events, Standards and more (#32)

* feat: topic filter conversion (#34)

* Fix: toTopicFilter args type (#36)

* fix:  support for muxed transfer events in SAC/SEP41 Mint and Transfer schemas

* fix: update version to 0.10.3 in deno.json

* fix: mark core releases as latest in GitHub release workflow

* docs: add documentation links to README files for better accessibility

* docs: add examples links to README files for better guidance

* docs: remove outdated processes documentation

* Feat/add sac asset (#41)

* feat(wip) add sac client

* feat(wip): implement SAC error handling and contract methods

* feat: rename SEP-11 asset functions and types to StellarAssetCanonicalString

* feat: add unit tests for StellarAssetContract deployment error handling

- Implement unit tests for StellarAssetContract's deploy method to ensure proper error handling for various scenarios, including non-SIMULATION_FAILED errors and malformed simulation responses.
- Refactor asset-related imports to use StellarAssetCanonicalString instead of SEP11Asset across multiple event standards.
- Update contract integration tests to instantiate Contract using the new constructor method.
- Remove unused Asset import from contract error handling.
- Clean up commented-out code related to asset wrapping in contract integration tests.

* fix: correct import paths in unit tests for StellarAsset and ScVal

* test: add missing tests for MintEvent and TransferEvent validation scenarios

* chore: update version to 0.11.0 in deno.json

* refactor: remove unused static create method from Contract class

* fix: export SAC asset modules and error types

* chore: update version to 0.11.1 in deno.json

* fix: enhance StellarAssetContract to support missing native XLM and add related tests

* chore: update version to 0.11.2 in deno.json

* docs: update core/asset/sac/index.ts tsdocs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add calculateContractId function to derive contract ID from add… (#45)

* feat: rework signer and enable indirect signing (#47)

* fix: missing contract signing flow

* chore: bump version to 0.13.1

* standardize account interfaces

* add UNSUPPORTED_ADDRESS_TYPE error and update NativeAccount to handle unsupported address types

* feat: implement format-units helper functions and error handling

* chore: update package versions to 0.14.0 for core, 0.5.0 for event-streamer, and 0.6.0 for fee-bump

* fix: specify generic constraint for WithSigner and WithMultiSig types

* fix: clarify error message for INVALID_SCIENTIFIC_EXPONENT regarding integer range

* feat: add SEP10 and SEP1 support (#51)

* refactor: simplify Sep10Client creation by using StellarToml instance

* fix: change import of StellarToml to type import

* chore: bump version to 0.1.1 in deno.json

* fix: ensure valid URL for WEB_AUTH_ENDPOINT in Sep10Client and add corresponding unit test

* test: rename SEP-10 Client E2E integration tests for authentication flow

* feat: add static utility methods for SEP-10 challenge validation and parsing

* style: format assertions for better readability in SEP10Challenge static utilities tests

* chore: update version to 0.2.0 in deno.json

* test: refactor challenge transaction tests to use mock transactions

* feat: add time tolerance and skip validation options for challenge verification

* chore: update version to 0.3.0 in deno.json

* test: update comment for time tolerance verification in SEP10Challenge tests

* test: remove redundant timeTolerance and skipTimeValidation tests from Sep10Client

* feat: add memoize decorator with unit tests and type definitions

* feat: add active eviction option to memoize decorator with comprehensive tests

* chore: update stellar-sdk version to ^14.4.3 and add @std/expect import

* add fixtures for getLedgers

* test: add deno coverage ignore comments to test files

* refactor: standardize string quotes and clean up whitespace in memoize unit tests

* feat(xdr): Refactor and restructure ScVal parser and utility functions

- Add `parseScVal` function to convert XDR ScVal to TypeScript-friendly values.
- Introduce utility functions: `getScValTypeName`, `isScValRecord`, `isScValMap`, and `asUnion` for type checking and parsing.
- Implement `parseScVals` for batch parsing of ScVal arrays.
- Create `softTryToXDR` utility to safely convert values to XDR format.
- Add comprehensive unit tests for ScVal parsing and utility functions.
- Remove redundant ScVal types from `core/common/scval/types.ts` and consolidate in `core/common/helpers/xdr/types.ts`.

* refactor: remove deprecated general.ts helper functions

* refactor: update import paths for ScVal types and utilities

* feat: remove lobstr from providers as they only offer horizon as of now

* feat: implement ledger-parser with lazy operation parsing

- Added Transaction class to handle transaction metadata and operations parsing.
- Implemented factory methods for creating Transaction instances from metadata.
- Introduced memoization for performance optimization on frequently accessed properties.
- Added comprehensive unit tests for Transaction class covering various scenarios and envelope types.
- Created types for Ledger, Transaction, and Operation for better type safety and clarity.
- Updated module exports to include new ledger-parser functionalities.

* feat: add LedgerStreamer class for streaming Stellar ledger data

- Implemented LedgerStreamer class to support live and historical ingestion of Stellar ledgers.
- Added methods for starting live, archive, and automatic streaming modes.
- Introduced configuration options for batch size, wait intervals, and error handling.
- Created type definitions for handlers and options related to ledger streaming.

* refactor: format workspace array in deno.json for improved readability

* feat: add environment loading utilities and update deno.json for improved testing

* feat: enhance Lightsail provider to support API key for dynamic RPC URLs and add health check for MainNet PRO

* chore: update import paths and add coverage ignore for environment loading files

* chore: update comments to clarify future changes for API key usage in headers

* feat: integrate QUASAR_API_KEY into network configuration for Lightsail provider

* feat: implement rpc-streamer package

feat: add Event Streamer variant with type definitions

- Introduced `EventStreamerOptions` and `EventStreamerConfig` interfaces for event streaming configuration.
- Created a new file `types.ts` under `rpc-streamer/src/variants/event/`.

feat: implement Ledger Streamer variant with integration and unit tests

- Added `createLedgerStreamer` function to handle live and archive ingestion of ledgers.
- Implemented integration tests for the Ledger Streamer in `index.integration.test.ts`.
- Created unit tests for the Ledger Streamer ingestors in `index.unit.test.ts`.
- Defined `LedgerStreamerOptions` and `LedgerStreamerConfig` interfaces for ledger streaming configuration.
- Added necessary mock helpers and test cases to ensure proper functionality and error handling.

* Remove LedgerStreamer and EventStreamer packages and associated references

* chore: add QUASAR_API_KEY environment variable to test step in Deno workflow

* chore: update package versions and core dependency references to 0.16.0

* refactor: remove unused Api type imports and simplify handler function in integration tests

* refactor: use isDefined utility for better null/undefined checks in event filter and transaction classes

* refactor: remove any casting

* refactor: comments

* chore: update stellar-sdk version to 14.6.1

* fix: update resource fee calculation in AssembleTransaction tests

* fix: forward allowHttp when creating fallback RPC server in Contract (#57)

The Contract constructor creates a fallback RPC server when no `rpc`
is passed, but ignores `networkConfig.allowHttp`. This causes all
HTTP RPC URLs (e.g. local development) to fail with "Cannot connect
to insecure Soroban RPC server".

* fix: update version to 0.16.1 in deno.json

* fix: update @colibri/core version to ^0.16.1 in deno.json files

* fix: update version to 0.8.1 in @colibri/plugin-fee-bump and 0.1.1 in @colibri/rpc-streamer

* fix: add wait function to handle RPC delays in Stellar Asset Contract tests

* Codex/fix lint issues (#59)

* Update Convee to 1.0.0 and refactor core

* Bump versions for core, fee-bump, rpc-streamer, and sep10 to 0.17.0, 0.9.0, 0.2.0, and 0.5.0 respectively

* Fix lint issues and refresh package docs

* Rename workflow badge to CI

* Clarify CAP-67 destination field docs (#62)

Update toMuxedId TSDoc to describe raw CAP-67 semantics and bump package patch versions.

* test-tooling with test ledger (#65)

* feat: Add StellarTestLedger class for managing a test Stellar ledger in Docker

- Implemented Streams utility for aggregating data from Node.js streams.
- Created types for Docker resource pruning responses and requests.
- Added integration tests for StellarTestLedger constructor and features.
- Developed StellarTestLedger class to manage Docker containers for Stellar networks.
- Defined types for StellarTestLedger options and network configurations.
- Introduced utility functions for highlighting console output with colors.

* feat(test-tooling): revive quickstart ledger harness

* fix(test-tooling): satisfy lint rules

* fix(test-tooling): address review feedback — typos, type safety, and error handling robustness (#66)

* Initial plan

* fix: apply review feedback to test-tooling package

Co-authored-by: fazzatti <62725221+fazzatti@users.noreply.github.com>
Agent-Logs-Url: https://github.com/fazzatti/colibri/sessions/767ace30-179f-4b6b-8f25-92a3196f9bd3

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fazzatti <62725221+fazzatti@users.noreply.github.com>

* docs(test-tooling): expand package documentation

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>

* fix(test-tooling): address quickstart review feedback (#68)

* fix(test-tooling): address quickstart review feedback

* fix(test-tooling): address follow-up review comments

* fix(test-tooling): address remaining review comments

* fix(test-tooling): strict RPC health check parsing and TRACE log level handling (#69)

* Initial plan

* fix(test-tooling): parse JSON-RPC health response and fix logLevel nullish coalescing

Co-authored-by: fazzatti <62725221+fazzatti@users.noreply.github.com>
Agent-Logs-Url: https://github.com/fazzatti/colibri/sessions/fa31500c-babf-4657-8375-cea89e21af2c

* fix(test-tooling): tighten RPC health parsing

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fazzatti <62725221+fazzatti@users.noreply.github.com>
Co-authored-by: Fabricius Zatti <fazzatti@gmail.com>

* fix(test-tooling): address release review feedback (#70)

* Codex/fix test tooling release review (#71)

* fix(test-tooling): address release review feedback

* fix(test-tooling): cleanup failed startup containers

* Codex/fix rpc allowhttp friendbot (#72)

* Fix quickstart readiness and HTTP RPC config

* Bump package versions for affected modules

* Tighten quickstart readiness checks

* Harden quickstart image version validation

* Improve quickstart error serialization

* Align quickstart error details typing

* Tighten quickstart image preset defaults

* Fix quickstart Docker host normalization

* Evaluate quickstart tags (#75)

* Improve quickstart image and service variants

* Add quickstart coverage for edge cases

* Close remaining quickstart coverage gaps

* Stabilize quickstart arbitrary-tag integration test

* Restore quickstart image tag IntelliSense

* Harden quickstart reuse and defaults

* Remove local quickstart smoke test

* Clarify quickstart readiness diagnostics

* Relax quickstart command reuse matching

* Restore quickstart coverage

* Fix stale quickstart reuse state

* Harden quickstart constructor inputs

* Clarify quickstart allowHttp docs

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Gorka Ludlow <gorka@aquigorka.com>
Co-authored-by: Copilot <198982749+Copilot@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.

2 participants