Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
3261478
extend cldf proposal conversion logic
huangzhen1997 Dec 9, 2025
ce292f9
fix goimport
huangzhen1997 Dec 10, 2025
76f7941
rm redundant wallet funds
huangzhen1997 Dec 10, 2025
6b03e06
remove unused fundwallet func
huangzhen1997 Dec 10, 2025
bb6622b
add test coverage
huangzhen1997 Dec 12, 2025
564f880
update test
huangzhen1997 Dec 12, 2025
fa6aa6c
Merge branch 'main' into NONEVM-3069/extend-cldf-proposal-logic-suppo…
huangzhen1997 Dec 12, 2025
580e5c7
update
huangzhen1997 Dec 12, 2025
d139579
bump version
huangzhen1997 Dec 16, 2025
e0493eb
bump mcms version
huangzhen1997 Dec 16, 2025
8c9b9ff
Merge branch 'main' into NONEVM-3069/extend-cldf-proposal-logic-suppo…
huangzhen1997 Dec 16, 2025
b703c08
fix make
huangzhen1997 Dec 16, 2025
a68db89
Merge branch 'NONEVM-3069/extend-cldf-proposal-logic-support-ton-time…
huangzhen1997 Dec 16, 2025
d440c1d
Merge branch 'main' into NONEVM-3069/extend-cldf-proposal-logic-suppo…
huangzhen1997 Jan 22, 2026
060c95e
fix make
huangzhen1997 Jan 22, 2026
4a13173
fix lint
huangzhen1997 Jan 22, 2026
5f800a9
update test
huangzhen1997 Jan 23, 2026
02d0258
fix test
huangzhen1997 Jan 23, 2026
588016c
update test
huangzhen1997 Jan 23, 2026
3d3a6ba
fix test
huangzhen1997 Jan 23, 2026
95337bb
fix test
huangzhen1997 Jan 23, 2026
c434940
remove duplicate test
huangzhen1997 Jan 23, 2026
781a16b
fix
huangzhen1997 Jan 23, 2026
284e77e
more test coverage
huangzhen1997 Jan 23, 2026
2e6c227
update test
huangzhen1997 Jan 23, 2026
06dd941
refactor for test coverage
huangzhen1997 Jan 23, 2026
4168b5e
revert
huangzhen1997 Jan 23, 2026
120f23b
update
huangzhen1997 Jan 23, 2026
d58f919
minor
huangzhen1997 Jan 24, 2026
ad23d0e
lint
huangzhen1997 Jan 24, 2026
8dcbd7a
remove amount from chain
huangzhen1997 Jan 27, 2026
022e0df
Merge branch 'main' into NONEVM-3069/extend-cldf-proposal-logic-suppo…
huangzhen1997 Jan 27, 2026
075de4e
minor
huangzhen1997 Jan 27, 2026
e5efbd0
Merge branch 'NONEVM-3069/extend-cldf-proposal-logic-support-ton-time…
huangzhen1997 Jan 27, 2026
b25e6bc
rm buildChain
huangzhen1997 Jan 27, 2026
42d488c
fix lint
huangzhen1997 Jan 27, 2026
ced4bfd
Merge branch 'main' into NONEVM-3069/extend-cldf-proposal-logic-suppo…
huangzhen1997 Jan 27, 2026
62b9727
Merge branch 'main' into NONEVM-3069/extend-cldf-proposal-logic-suppo…
huangzhen1997 Jan 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions chain/ton/provider/ctf_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ const (

// supportedTONImageRepository is the only supported Docker image repository for TON localnet.
supportedTONImageRepository = "ghcr.io/neodix42/mylocalton-docker"

// defaultTxTONAmount is the default amount of TON to use for transactions.
defaultTxTONAmount = "0.1"
)

// CTFChainProviderConfig holds the configuration to initialize the CTFChainProvider.
Expand Down Expand Up @@ -123,17 +126,20 @@ func (p *CTFChainProvider) Initialize(ctx context.Context) (chain.BlockChain, er
}

// airdrop the deployer wallet
ferr := fundTonWallets(ctx, nodeClient, []*address.Address{tonWallet.Address()}, []tlb.Coins{tlb.MustFromTON("1000")})
if ferr != nil {
return nil, fmt.Errorf("failed to fund wallet: %w", ferr)
err = fundTonWallets(ctx, nodeClient, []*address.Address{tonWallet.WalletAddress()}, []tlb.Coins{tlb.MustFromTON("1000")}) // TODO does 1000 here make sense?
Comment thread
huangzhen1997 marked this conversation as resolved.
Outdated
Comment thread
huangzhen1997 marked this conversation as resolved.
Outdated
if err != nil {
return nil, fmt.Errorf("failed to fund wallet: %w", err)
}

p.chain = &cldf_ton.Chain{
ChainMetadata: cldf_ton.ChainMetadata{Selector: p.selector},
Client: nodeClient,
Comment thread
huangzhen1997 marked this conversation as resolved.
Wallet: tonWallet,
WalletAddress: tonWallet.Address(),
WalletAddress: tonWallet.WalletAddress(),
Copy link

Copilot AI Dec 12, 2025

Choose a reason for hiding this comment

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

The change from tonWallet.Address() to tonWallet.WalletAddress() lacks test coverage. The existing test in ctf_provider_test.go only checks that WalletAddress is not empty but doesn't verify the correct method is being called or that the address value is as expected.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@copilot This is not true, it's tested in rpc_provider_test.go line 276

Copy link
Copy Markdown
Contributor

@jadepark-dev jadepark-dev Dec 23, 2025

Choose a reason for hiding this comment

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

Not related to this PR but I wonder if we need to apply this change to the rest of the codebase. Any context on bounceable address?

// Address - returns old (bounce) version of wallet address
// DEPRECATED: because of address reform, use WalletAddress,
// it will return UQ format
func (w *Wallet) Address() *address.Address {
	return w.addr
}

// WalletAddress - returns new standard non bounce address
func (w *Wallet) WalletAddress() *address.Address {
	return w.addr.Bounce(false)
}

Copy link
Copy Markdown
Contributor Author

@huangzhen1997 huangzhen1997 Jan 22, 2026

Choose a reason for hiding this comment

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

I think we want to switch to the new WalletAddress() to have non-bounceable, but the underlying address data is identical, just the string rep could be different. Do you see any risk with this change ?

Comment thread
huangzhen1997 marked this conversation as resolved.
Copy link

Copilot AI Jan 23, 2026

Choose a reason for hiding this comment

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

The code previously called tonWallet.Address() and now calls tonWallet.WalletAddress(). If these methods return different values or have different behaviors, this could break existing functionality. Verify that WalletAddress() returns the same address format as the previous Address() method.

Suggested change
WalletAddress: tonWallet.WalletAddress(),
WalletAddress: tonWallet.Address(),

Copilot uses AI. Check for mistakes.
URL: url,
TxOps: cldf_ton.TxOps{
Wallet: tonWallet,
Amount: tlb.MustFromTON(defaultTxTONAmount), // default amount for transactions
Comment thread
krebernisak marked this conversation as resolved.
Outdated
},
Comment thread
jadepark-dev marked this conversation as resolved.
Outdated
}

return *p.chain, nil
Expand Down
2 changes: 1 addition & 1 deletion chain/ton/provider/ctf_provider_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ func Test_CTFChainProvider_Initialize(t *testing.T) {
require.True(t, ok, "expected got to be of type ton.Chain")
assert.Equal(t, tt.giveSelector, gotChain.Selector)
assert.NotEmpty(t, gotChain.Client)
assert.NotEmpty(t, gotChain.Wallet)
assert.NotEmpty(t, gotChain.TxOps)
assert.NotEmpty(t, gotChain.WalletAddress)
}
})
Expand Down
8 changes: 8 additions & 0 deletions chain/ton/provider/rpc_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"strings"

"github.com/xssnick/tonutils-go/liteclient"
"github.com/xssnick/tonutils-go/tlb"
tonlib "github.com/xssnick/tonutils-go/ton"
"github.com/xssnick/tonutils-go/ton/wallet"

Expand All @@ -22,6 +23,8 @@ const (
WalletVersionV4R2 WalletVersion = "V4R2"
WalletVersionV5R1 WalletVersion = "V5R1"
WalletVersionDefault WalletVersion = ""

defaultAmountTonString = "0.1" // Default amount in TON for transactions
Comment thread
huangzhen1997 marked this conversation as resolved.
Outdated
)

// RPCChainProviderConfig holds the configuration to initialize the RPCChainProvider.
Expand All @@ -36,6 +39,7 @@ type RPCChainProviderConfig struct {
// Optional: The TON wallet version to use. Supported versions are: V1R1, V1R2, V1R3, V2R1,
// V2R2, V3R1, V3R2, V4R1, V4R2 and V5R1. If no value provided, V5R1 is used as default.
WalletVersion WalletVersion
Amount string
}

// validateLiteserverURL validates the format of a liteserver URL
Expand Down Expand Up @@ -181,6 +185,10 @@ func (p *RPCChainProvider) Initialize(ctx context.Context) (chain.BlockChain, er
Wallet: tonWallet,
WalletAddress: tonWallet.WalletAddress(),
URL: p.config.HTTPURL,
TxOps: ton.TxOps{
Wallet: tonWallet,
Amount: tlb.MustFromTON(defaultAmountTonString),
},
}

return *p.chain, nil
Expand Down
9 changes: 9 additions & 0 deletions chain/ton/ton_chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,25 @@ import (
"github.com/xssnick/tonutils-go/ton"
"github.com/xssnick/tonutils-go/ton/wallet"

"github.com/xssnick/tonutils-go/tlb"

"github.com/smartcontractkit/chainlink-deployments-framework/chain/internal/common"
)

type ChainMetadata = common.ChainMetadata

// TxOps holds configuration for transaction operations.
type TxOps struct {
Wallet *wallet.Wallet // Wallet abstraction (signing, sending)
Amount tlb.Coins // Default amount for msg transfers
}

// Chain represents a TON chain.
type Chain struct {
ChainMetadata // Contains canonical chain identifier
Client *ton.APIClient // APIClient for Lite Server connection
Wallet *wallet.Wallet // Wallet abstraction (signing, sending)
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

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

The Wallet field is duplicated in both the Chain struct and the TxOps struct. This duplication could lead to maintenance issues and potential inconsistencies if the wallet reference needs to be updated. Consider removing the top-level Wallet field and accessing it through TxOps.Wallet instead, or document why both references are needed.

Suggested change
Wallet *wallet.Wallet // Wallet abstraction (signing, sending)

Copilot uses AI. Check for mistakes.
WalletAddress *address.Address // Address of deployer wallet
URL string // Liteserver URL
TxOps TxOps // Transaction operations configuration
}
49 changes: 33 additions & 16 deletions engine/cld/legacy/cli/mcmsv2/mcms_v2.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import (
"github.com/smartcontractkit/mcms/sdk/evm/bindings"
"github.com/smartcontractkit/mcms/sdk/solana"
"github.com/smartcontractkit/mcms/sdk/sui"
"github.com/smartcontractkit/mcms/sdk/ton"
"github.com/smartcontractkit/mcms/types"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
Expand Down Expand Up @@ -1183,6 +1184,8 @@ func newCfgv2(lggr logger.Logger, cmd *cobra.Command, domain cldf_domain.Domain,
if err != nil {
return nil, fmt.Errorf("error creating Sui timelock converter: %w", err)
}
case chainsel.FamilyTon:
converter = ton.NewTimelockConverter()
default:
return nil, fmt.Errorf("unsupported chain family %s", fam)
}
Expand Down Expand Up @@ -1489,18 +1492,18 @@ func getExecutorWithChainOverride(cfg *cfgv2, chainSelector types.ChainSelector)
if !ok {
return nil, fmt.Errorf("invalid encoder type: %T", encoder)
}
chain := cfg.blockchains.EVMChains()[uint64(chainSelector)]
c := cfg.blockchains.EVMChains()[uint64(chainSelector)]
Comment thread
gustavogama-cll marked this conversation as resolved.

return evm.NewExecutor(evmEncoder, chain.Client, chain.DeployerKey), nil
return evm.NewExecutor(evmEncoder, c.Client, c.DeployerKey), nil

case chainsel.FamilySolana:
solanaEncoder, ok := encoder.(*solana.Encoder)
if !ok {
return nil, fmt.Errorf("invalid encoder type: %T", encoder)
}
chain := cfg.blockchains.SolanaChains()[uint64(chainSelector)]
c := cfg.blockchains.SolanaChains()[uint64(chainSelector)]

return solana.NewExecutor(solanaEncoder, chain.Client, *chain.DeployerKey), nil
return solana.NewExecutor(solanaEncoder, c.Client, *c.DeployerKey), nil

case chainsel.FamilyAptos:
encoder, ok := encoder.(*aptos.Encoder)
Expand All @@ -1511,9 +1514,9 @@ func getExecutorWithChainOverride(cfg *cfgv2, chainSelector types.ChainSelector)
if err != nil {
return nil, fmt.Errorf("error getting aptos role from proposal: %w", err)
}
chain := cfg.blockchains.AptosChains()[uint64(chainSelector)]
c := cfg.blockchains.AptosChains()[uint64(chainSelector)]

return aptos.NewExecutor(chain.Client, chain.DeployerSigner, encoder, *role), nil
return aptos.NewExecutor(c.Client, c.DeployerSigner, encoder, *role), nil

case chainsel.FamilySui:
encoder, ok := encoder.(*sui.Encoder)
Expand All @@ -1524,10 +1527,18 @@ func getExecutorWithChainOverride(cfg *cfgv2, chainSelector types.ChainSelector)
if err != nil {
return nil, fmt.Errorf("error getting sui metadata from proposal: %w", err)
}
chain := cfg.blockchains.SuiChains()[uint64(chainSelector)]
c := cfg.blockchains.SuiChains()[uint64(chainSelector)]
entrypointEncoder := suibindings.NewCCIPEntrypointArgEncoder(metadata.RegistryObj, metadata.DeployerStateObj)

return sui.NewExecutor(chain.Client, chain.Signer, encoder, entrypointEncoder, metadata.McmsPackageID, metadata.Role, cfg.timelockProposal.ChainMetadata[chainSelector].MCMAddress, metadata.AccountObj, metadata.RegistryObj, metadata.TimelockObj)
return sui.NewExecutor(c.Client, c.Signer, encoder, entrypointEncoder, metadata.McmsPackageID, metadata.Role, cfg.timelockProposal.ChainMetadata[chainSelector].MCMAddress, metadata.AccountObj, metadata.RegistryObj, metadata.TimelockObj)
case chainsel.FamilyTon:
encoder, ok := encoder.(*ton.Encoder)
if !ok {
return nil, fmt.Errorf("error getting encoder for chain %d", cfg.chainSelector)
Comment thread
huangzhen1997 marked this conversation as resolved.
Outdated
Comment thread
huangzhen1997 marked this conversation as resolved.
Outdated
Comment thread
gustavogama-cll marked this conversation as resolved.
Outdated
}
c := cfg.blockchains.TonChains()[uint64(chainSelector)]

return ton.NewExecutor(encoder, c.Client, c.TxOps.Wallet, c.TxOps.Amount)
Comment thread
huangzhen1997 marked this conversation as resolved.
Outdated
default:
return nil, fmt.Errorf("unsupported chain family %s", family)
}
Expand Down Expand Up @@ -1557,26 +1568,29 @@ func getTimelockExecutorWithChainOverride(cfg *cfgv2, chainSelector types.ChainS
var executor sdk.TimelockExecutor
switch family {
case chainsel.FamilyEVM:
chain := cfg.blockchains.EVMChains()[uint64(chainSelector)]
c := cfg.blockchains.EVMChains()[uint64(chainSelector)]

executor = evm.NewTimelockExecutor(chain.Client, chain.DeployerKey)
executor = evm.NewTimelockExecutor(c.Client, c.DeployerKey)
case chainsel.FamilySolana:
chain := cfg.blockchains.SolanaChains()[uint64(chainSelector)]
executor = solana.NewTimelockExecutor(chain.Client, *chain.DeployerKey)
c := cfg.blockchains.SolanaChains()[uint64(chainSelector)]
executor = solana.NewTimelockExecutor(c.Client, *c.DeployerKey)
case chainsel.FamilyAptos:
chain := cfg.blockchains.AptosChains()[uint64(chainSelector)]
executor = aptos.NewTimelockExecutor(chain.Client, chain.DeployerSigner)
c := cfg.blockchains.AptosChains()[uint64(chainSelector)]
executor = aptos.NewTimelockExecutor(c.Client, c.DeployerSigner)
case chainsel.FamilySui:
chain := cfg.blockchains.SuiChains()[uint64(chainSelector)]
c := cfg.blockchains.SuiChains()[uint64(chainSelector)]
Comment thread
github-code-quality[bot] marked this conversation as resolved.
Fixed
metadata, err := suiMetadataFromProposal(chainSelector, cfg.timelockProposal)
if err != nil {
return nil, fmt.Errorf("error getting sui metadata from proposal: %w", err)
}
entrypointEncoder := suibindings.NewCCIPEntrypointArgEncoder(metadata.AccountObj, metadata.DeployerStateObj)
executor, err = sui.NewTimelockExecutor(chain.Client, chain.Signer, entrypointEncoder, metadata.McmsPackageID, metadata.RegistryObj, metadata.AccountObj)
executor, err = sui.NewTimelockExecutor(c.Client, c.Signer, entrypointEncoder, metadata.McmsPackageID, metadata.RegistryObj, metadata.AccountObj)
if err != nil {
return nil, fmt.Errorf("error creating sui timelock executor: %w", err)
}
case chainsel.FamilyTon:
c := cfg.blockchains.TonChains()[uint64(chainSelector)]
return ton.NewTimelockExecutor(c.Client, c.TxOps.Wallet, c.TxOps.Amount)
Comment thread
huangzhen1997 marked this conversation as resolved.
Outdated
Comment thread
huangzhen1997 marked this conversation as resolved.
Outdated
default:
return nil, fmt.Errorf("unsupported chain family %s", family)
}
Expand Down Expand Up @@ -1631,6 +1645,9 @@ var getInspectorFromChainSelector = func(cfg cfgv2) (sdk.Inspector, error) {
if err != nil {
return nil, fmt.Errorf("error creating sui inspector: %w", err)
}
case chainsel.FamilyTon:
chain := cfg.blockchains.TonChains()[cfg.chainSelector]
inspector = ton.NewInspector(chain.Client)
Comment thread
huangzhen1997 marked this conversation as resolved.
Comment thread
huangzhen1997 marked this conversation as resolved.
Comment thread
huangzhen1997 marked this conversation as resolved.
Comment on lines +1619 to +1620
Copy link

Copilot AI Jan 27, 2026

Choose a reason for hiding this comment

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

Variable 'chain' should be renamed to 'c' for consistency with the naming pattern used in the same function for other chain families (lines 1535, 1539, 1542, 1545).

Suggested change
chain := cfg.blockchains.TonChains()[cfg.chainSelector]
inspector = ton.NewInspector(chain.Client)
c := cfg.blockchains.TonChains()[cfg.chainSelector]
inspector = ton.NewInspector(c.Client)

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Jan 27, 2026

Choose a reason for hiding this comment

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

The TON inspector creation in getInspectorFromChainSelector lacks test coverage. Add test cases to verify the inspector is created correctly for TON chains.

Copilot uses AI. Check for mistakes.
Comment thread
huangzhen1997 marked this conversation as resolved.
default:
return nil, fmt.Errorf("unsupported chain family %s", fam)
}
Expand Down
27 changes: 13 additions & 14 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/smartcontractkit/chainlink-deployments-framework

go 1.24.5
go 1.25.3

replace github.com/fbsobreira/gotron-sdk => github.com/smartcontractkit/chainlink-tron/relayer/gotron-sdk v0.0.4

Expand Down Expand Up @@ -29,7 +29,7 @@ require (
github.com/smartcontractkit/ccip-owner-contracts v0.1.0
github.com/smartcontractkit/chain-selectors v1.0.85
github.com/smartcontractkit/chainlink-aptos v0.0.0-20251024142440-51f2ad2652a2
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20250903115155-a68d8c28ae1d
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251024142759-093ed1b4017f
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250805210128-7f8a0f403c3a
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250805210128-7f8a0f403c3a
github.com/smartcontractkit/chainlink-protos/job-distributor v0.17.0
Expand All @@ -38,15 +38,15 @@ require (
github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.2
github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20250815105909-75499abc4335
github.com/smartcontractkit/freeport v0.1.3-0.20250716200817-cb5dfd0e369e
github.com/smartcontractkit/libocr v0.0.0-20250707144819-babe0ec4e358
github.com/smartcontractkit/mcms v0.31.1
github.com/spf13/cobra v1.8.1
github.com/smartcontractkit/libocr v0.0.0-20250905115425-2785a5cee79d
github.com/smartcontractkit/mcms v0.31.2-0.20251209144844-5431a6ab1526
github.com/spf13/cobra v1.10.1
github.com/spf13/pflag v1.0.10
github.com/spf13/viper v1.21.0
github.com/stretchr/testify v1.11.1
github.com/testcontainers/testcontainers-go v0.39.0
github.com/testcontainers/testcontainers-go/modules/postgres v0.38.0
github.com/xssnick/tonutils-go v1.13.0
github.com/xssnick/tonutils-go v1.14.1
github.com/zksync-sdk/zksync2-go v1.1.1-0.20250620124214-2c742ee399c6
go.uber.org/zap v1.27.1
golang.org/x/crypto v0.45.0
Expand All @@ -70,9 +70,10 @@ require (
github.com/klauspost/cpuid/v2 v2.2.10 // indirect
github.com/lib/pq v1.10.9 // indirect
github.com/minio/sha256-simd v1.0.1 // indirect
github.com/smartcontractkit/chainlink-common v0.9.5-0.20250908082700-aa3f5927af8c // indirect
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1 // indirect
github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250829155125-f4655b0b4605 // indirect
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251003171904-99a82a53b142 // indirect
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 // indirect
github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250911124514-5874cc6d62b2 // indirect
github.com/smartcontractkit/chainlink-ton v0.0.0-20251209121704-8d997e4a1833 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
Expand Down Expand Up @@ -158,7 +159,6 @@ require (
github.com/golang/protobuf v1.5.4 // indirect
github.com/golang/snappy v1.0.0 // indirect
github.com/gorilla/websocket v1.5.3 // indirect
github.com/graph-gophers/graphql-go v1.5.0 // indirect
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1 // indirect
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect
Expand Down Expand Up @@ -217,7 +217,6 @@ require (
github.com/mostynb/zstdpool-freelist v0.0.0-20201229113212-927304c0c3b1 // indirect
github.com/mr-tron/base58 v1.2.0 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a // indirect
github.com/oklog/run v1.2.0 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.1 // indirect
Expand All @@ -230,7 +229,7 @@ require (
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
github.com/prometheus/client_golang v1.22.0 // indirect
github.com/prometheus/client_golang v1.23.0 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/common v0.65.0 // indirect
github.com/prometheus/procfs v0.16.1 // indirect
Expand All @@ -240,7 +239,7 @@ require (
github.com/rs/zerolog v1.34.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sagikazarmark/locafero v0.11.0 // indirect
github.com/samber/lo v1.49.1 // indirect
github.com/samber/lo v1.52.0 // indirect
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
github.com/scylladb/go-reflectx v1.0.1 // indirect
github.com/shirou/gopsutil v3.21.11+incompatible // indirect
Expand Down Expand Up @@ -272,7 +271,7 @@ require (
github.com/x448/float16 v0.8.4 // indirect
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
github.com/yusufpapurcu/wmi v1.2.4 // indirect
go.mongodb.org/mongo-driver v1.17.0 // indirect
go.mongodb.org/mongo-driver v1.17.2 // indirect
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 // indirect
Expand Down
Loading
Loading