@circle-fin/app-kit 1.8.1 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -659,6 +659,8 @@ declare enum Blockchain {
659
659
  Celo_Alfajores_Testnet = "Celo_Alfajores_Testnet",
660
660
  Codex = "Codex",
661
661
  Codex_Testnet = "Codex_Testnet",
662
+ Cronos = "Cronos",
663
+ Cronos_Testnet = "Cronos_Testnet",
662
664
  Edge = "Edge",
663
665
  Edge_Testnet = "Edge_Testnet",
664
666
  Ethereum = "Ethereum",
@@ -900,6 +902,7 @@ declare enum BridgeChain {
900
902
  Avalanche = "Avalanche",
901
903
  Base = "Base",
902
904
  Codex = "Codex",
905
+ Cronos = "Cronos",
903
906
  Edge = "Edge",
904
907
  Ethereum = "Ethereum",
905
908
  HyperEVM = "HyperEVM",
@@ -923,6 +926,7 @@ declare enum BridgeChain {
923
926
  Avalanche_Fuji = "Avalanche_Fuji",
924
927
  Base_Sepolia = "Base_Sepolia",
925
928
  Codex_Testnet = "Codex_Testnet",
929
+ Cronos_Testnet = "Cronos_Testnet",
926
930
  Edge_Testnet = "Edge_Testnet",
927
931
  Ethereum_Sepolia = "Ethereum_Sepolia",
928
932
  HyperEVM_Testnet = "HyperEVM_Testnet",
@@ -1880,6 +1884,94 @@ declare const CodexTestnet: {
1880
1884
  };
1881
1885
  };
1882
1886
 
1887
+ /**
1888
+ * Cronos Mainnet chain definition
1889
+ * @remarks
1890
+ * This represents the official production network for the Cronos blockchain.
1891
+ * Cronos is an EVM-compatible blockchain.
1892
+ */
1893
+ declare const Cronos: {
1894
+ readonly type: "evm";
1895
+ readonly chain: Blockchain.Cronos;
1896
+ readonly name: "Cronos";
1897
+ readonly title: "Cronos Mainnet";
1898
+ readonly nativeCurrency: {
1899
+ readonly name: "Cronos";
1900
+ readonly symbol: "CRO";
1901
+ readonly decimals: 18;
1902
+ };
1903
+ readonly chainId: 25;
1904
+ readonly isTestnet: false;
1905
+ readonly explorerUrl: "https://cronoscan.com/tx/{hash}";
1906
+ readonly rpcEndpoints: readonly ["https://evm.cronos.org"];
1907
+ readonly eurcAddress: "0xA6dE01a2d62C6B5f3525d768f34d276652C554c8";
1908
+ readonly usdcAddress: "0x3D7F2C478aAfdB65542BCB44bCeeC05849999d2D";
1909
+ readonly usdtAddress: null;
1910
+ readonly cctp: {
1911
+ readonly domain: 32;
1912
+ readonly contracts: {
1913
+ readonly v2: {
1914
+ readonly type: "split";
1915
+ readonly tokenMessenger: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d";
1916
+ readonly messageTransmitter: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64";
1917
+ readonly confirmations: 1;
1918
+ readonly fastConfirmations: 1;
1919
+ };
1920
+ };
1921
+ readonly forwarderSupported: {
1922
+ readonly source: false;
1923
+ readonly destination: false;
1924
+ };
1925
+ };
1926
+ readonly kitContracts: {
1927
+ readonly bridge: "0xB3FA262d0fB521cc93bE83d87b322b8A23DAf3F0";
1928
+ };
1929
+ };
1930
+
1931
+ /**
1932
+ * Cronos Testnet chain definition
1933
+ * @remarks
1934
+ * This represents the official test network for the Cronos blockchain.
1935
+ * Cronos is an EVM-compatible blockchain.
1936
+ */
1937
+ declare const CronosTestnet: {
1938
+ readonly type: "evm";
1939
+ readonly chain: Blockchain.Cronos_Testnet;
1940
+ readonly name: "Cronos Testnet";
1941
+ readonly title: "Cronos Testnet";
1942
+ readonly nativeCurrency: {
1943
+ readonly name: "CRO";
1944
+ readonly symbol: "tCRO";
1945
+ readonly decimals: 18;
1946
+ };
1947
+ readonly chainId: 338;
1948
+ readonly isTestnet: true;
1949
+ readonly explorerUrl: "https://explorer.cronos.org/testnet/tx/{hash}";
1950
+ readonly rpcEndpoints: readonly ["https://evm-t3.cronos.org"];
1951
+ readonly eurcAddress: "0x31f7538adb53cF16350e6B0c89d03D91b7D12c46";
1952
+ readonly usdcAddress: "0xEb33dc5fac03833e132593659e1dE7256aB59794";
1953
+ readonly usdtAddress: null;
1954
+ readonly cctp: {
1955
+ readonly domain: 32;
1956
+ readonly contracts: {
1957
+ readonly v2: {
1958
+ readonly type: "split";
1959
+ readonly tokenMessenger: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA";
1960
+ readonly messageTransmitter: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275";
1961
+ readonly confirmations: 1;
1962
+ readonly fastConfirmations: 1;
1963
+ };
1964
+ };
1965
+ readonly forwarderSupported: {
1966
+ readonly source: false;
1967
+ readonly destination: false;
1968
+ };
1969
+ };
1970
+ readonly kitContracts: {
1971
+ readonly bridge: "0xC5567a5E3370d4DBfB0540025078e283e36A363d";
1972
+ };
1973
+ };
1974
+
1883
1975
  /**
1884
1976
  * Edge Mainnet chain definition
1885
1977
  * @remarks
@@ -4173,6 +4265,8 @@ declare const Chains_Celo: typeof Celo;
4173
4265
  declare const Chains_CeloAlfajoresTestnet: typeof CeloAlfajoresTestnet;
4174
4266
  declare const Chains_Codex: typeof Codex;
4175
4267
  declare const Chains_CodexTestnet: typeof CodexTestnet;
4268
+ declare const Chains_Cronos: typeof Cronos;
4269
+ declare const Chains_CronosTestnet: typeof CronosTestnet;
4176
4270
  declare const Chains_Edge: typeof Edge;
4177
4271
  declare const Chains_EdgeTestnet: typeof EdgeTestnet;
4178
4272
  declare const Chains_Ethereum: typeof Ethereum;
@@ -4240,6 +4334,8 @@ declare namespace Chains {
4240
4334
  Chains_CeloAlfajoresTestnet as CeloAlfajoresTestnet,
4241
4335
  Chains_Codex as Codex,
4242
4336
  Chains_CodexTestnet as CodexTestnet,
4337
+ Chains_Cronos as Cronos,
4338
+ Chains_CronosTestnet as CronosTestnet,
4243
4339
  Chains_Edge as Edge,
4244
4340
  Chains_EdgeTestnet as EdgeTestnet,
4245
4341
  Chains_Ethereum as Ethereum,
@@ -8381,7 +8477,7 @@ declare const ServiceError: {
8381
8477
  *
8382
8478
  * Error code ranges:
8383
8479
  * - 1100-1105: INPUT errors — invalid inputs, unsupported configurations
8384
- * - 8100-8104: SERVICE errors — retryable backend/provider failures
8480
+ * - 8100-8105: SERVICE errors — retryable backend/provider failures
8385
8481
  *
8386
8482
  * @example
8387
8483
  * ```typescript
@@ -8470,6 +8566,12 @@ declare const EarnError: {
8470
8566
  readonly name: "EARN_PAUSED";
8471
8567
  readonly type: ErrorType;
8472
8568
  };
8569
+ /** Position PnL is still reconciling and can be retried. */
8570
+ readonly POSITION_PNL_PENDING: {
8571
+ readonly code: 8105;
8572
+ readonly name: "EARN_POSITION_PNL_PENDING";
8573
+ readonly type: ErrorType;
8574
+ };
8473
8575
  };
8474
8576
 
8475
8577
  /**
@@ -12015,6 +12117,38 @@ interface ICCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> {
12015
12117
  * @returns A promise that resolves to the attestation message.
12016
12118
  */
12017
12119
  fetchAttestation<TFromAdapterCapabilities extends AdapterCapabilities, TToAdapterCapabilities extends AdapterCapabilities>(source: BridgeParams$1<TFromAdapterCapabilities, TToAdapterCapabilities>['source'], txHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
12120
+ /**
12121
+ * Polls attestation data until Circle's relayer mint transaction is confirmed.
12122
+ *
12123
+ * @param source - The source wallet context containing the chain definition and wallet address.
12124
+ * @param txHash - The transaction hash of the deposit for burn transaction.
12125
+ * @param config - Optional polling configuration overrides.
12126
+ * @returns A promise that resolves to the relayer mint attestation message.
12127
+ * @throws KitError If the source wallet context is invalid, the transaction hash is invalid,
12128
+ * the relayer forward fails, the response is invalid, or polling times out.
12129
+ *
12130
+ * @example
12131
+ * ```typescript
12132
+ * import { CCTPV2BridgingProvider } from '@circle-fin/provider-cctp-v2'
12133
+ * import { Chains } from '@core/chains'
12134
+ *
12135
+ * const provider = new CCTPV2BridgingProvider({
12136
+ * headers: { 'X-Partner-UUID': '00000000-0000-0000-0000-000000000000' },
12137
+ * })
12138
+ *
12139
+ * const attestation = await provider.fetchRelayerMint(
12140
+ * {
12141
+ * adapter,
12142
+ * chain: Chains.EthereumSepolia,
12143
+ * address: '0x1234...',
12144
+ * },
12145
+ * '0xabc123...',
12146
+ * )
12147
+ *
12148
+ * console.log('Relayer mint tx:', attestation.forwardTxHash)
12149
+ * ```
12150
+ */
12151
+ fetchRelayerMint<TFromAdapterCapabilities extends AdapterCapabilities, TToAdapterCapabilities extends AdapterCapabilities>(source: BridgeParams$1<TFromAdapterCapabilities, TToAdapterCapabilities>['source'], txHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
12018
12152
  /**
12019
12153
  * Requests a fresh attestation for an expired attestation.
12020
12154
  *
@@ -12046,10 +12180,28 @@ interface ICCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> {
12046
12180
  * @remarks
12047
12181
  * This interface defines all configurable aspects of the CCTP v2 provider:
12048
12182
  * - attestation: Settings for the attestation fetching process
12183
+ * - headers: Custom HTTP headers sent with every Circle attestation API request
12049
12184
  */
12050
12185
  interface CCTPV2Config {
12051
12186
  /** Configuration for the attestation fetching process */
12052
12187
  attestation?: Partial<ApiPollingConfig>;
12188
+ /**
12189
+ * Custom HTTP headers sent with every Circle attestation (Iris) API request
12190
+ * made by the provider (attestation fetch, re-attestation, and relayer mint
12191
+ * status polling).
12192
+ *
12193
+ * @remarks
12194
+ * Headers are merged on top of the defaults (such as `Content-Type`) without
12195
+ * removing them. The header is forwarded as-is to Circle's API; the SDK does
12196
+ * not interpret it.
12197
+ *
12198
+ * Precedence (lowest to highest): provider defaults, then these
12199
+ * `config.headers`, then any per-call `config.headers` passed to
12200
+ * {@link CCTPV2BridgingProvider.fetchAttestation},
12201
+ * {@link CCTPV2BridgingProvider.fetchRelayerMint}, or
12202
+ * {@link CCTPV2BridgingProvider.reAttest}.
12203
+ */
12204
+ headers?: Record<string, string>;
12053
12205
  }
12054
12206
  /**
12055
12207
  * Concrete implementation of BridgingProvider for Circle's Cross-Chain Transfer Protocol (CCTP) version 2.
@@ -12115,6 +12267,20 @@ declare class CCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> imp
12115
12267
  * @param config - Optional configuration overrides for the provider
12116
12268
  */
12117
12269
  constructor(config?: CCTPV2Config);
12270
+ /**
12271
+ * Resolves the effective polling configuration for an attestation request.
12272
+ *
12273
+ * Precedence (lowest to highest): provider `config.attestation`, then the
12274
+ * per-call `config`. Headers merge independently across
12275
+ * `config.attestation.headers`, the provider-level `config.headers`, and any
12276
+ * per-call `config.headers`, so a more specific header augments rather than
12277
+ * replaces the broader ones. The `headers` key is omitted entirely when no
12278
+ * headers are configured, leaving the attestation fetchers' defaults intact.
12279
+ *
12280
+ * @param config - Optional per-call polling configuration overrides
12281
+ * @returns The merged polling configuration passed to the attestation fetchers
12282
+ */
12283
+ private resolveAttestationConfig;
12118
12284
  /**
12119
12285
  * Execute a cross-chain USDC bridge operation using the CCTP v2 protocol.
12120
12286
  *
@@ -12357,6 +12523,43 @@ declare class CCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> imp
12357
12523
  * ```
12358
12524
  */
12359
12525
  fetchAttestation<TFromAdapterCapabilities extends AdapterCapabilities>(source: WalletContext<TFromAdapterCapabilities, ChainDefinitionWithCCTPv2>, transactionHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
12526
+ /**
12527
+ * Polls attestation data until Circle's relayer mint transaction is confirmed.
12528
+ *
12529
+ * This method is used by forwarded transfers. It polls the same Iris
12530
+ * attestation endpoint as {@link CCTPV2BridgingProvider.fetchAttestation},
12531
+ * but waits for a completed relayer forward state and returns the attestation
12532
+ * message containing `forwardTxHash`.
12533
+ *
12534
+ * @typeParam TFromAdapterCapabilities - The type representing the capabilities of the source adapter
12535
+ * @param source - The source wallet context containing the chain definition and wallet address
12536
+ * @param transactionHash - The transaction hash of the burn operation
12537
+ * @param config - Optional polling configuration overrides for timeout, retries, delay, and headers
12538
+ * @returns A promise that resolves to the attestation message with `forwardTxHash`
12539
+ * @throws KitError If the relayer forward fails, the response is invalid, or polling times out
12540
+ *
12541
+ * @example
12542
+ * ```typescript
12543
+ * import { CCTPV2BridgingProvider } from '@circle-fin/provider-cctp-v2'
12544
+ * import { Chains } from '@core/chains'
12545
+ *
12546
+ * const provider = new CCTPV2BridgingProvider({
12547
+ * headers: { 'X-Partner-UUID': '00000000-0000-0000-0000-000000000000' },
12548
+ * })
12549
+ *
12550
+ * const attestation = await provider.fetchRelayerMint(
12551
+ * {
12552
+ * adapter,
12553
+ * chain: Chains.EthereumSepolia,
12554
+ * address: '0x1234...',
12555
+ * },
12556
+ * '0xabc123...',
12557
+ * )
12558
+ *
12559
+ * console.log('Relayer mint tx:', attestation.forwardTxHash)
12560
+ * ```
12561
+ */
12562
+ fetchRelayerMint<TFromAdapterCapabilities extends AdapterCapabilities>(source: WalletContext<TFromAdapterCapabilities, ChainDefinitionWithCCTPv2>, transactionHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
12360
12563
  /**
12361
12564
  * Requests a fresh attestation for an expired attestation.
12362
12565
  *
@@ -12532,11 +12735,24 @@ declare class CCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> imp
12532
12735
  waitForTransaction(adapter: Adapter, txHash: string, chain: ChainDefinition, config?: WaitForTransactionConfig): Promise<WaitForTransactionResponse>;
12533
12736
  }
12534
12737
 
12738
+ /**
12739
+ * Configuration forwarded to the default bridging providers.
12740
+ */
12741
+ interface DefaultProvidersConfig {
12742
+ /**
12743
+ * Custom HTTP headers forwarded with the CCTP provider's attestation (Iris)
12744
+ * API requests. See {@link BridgeKitConfig.headers}.
12745
+ */
12746
+ headers?: Record<string, string>;
12747
+ }
12535
12748
  /**
12536
12749
  * The default providers that will be used in addition to the providers provided
12537
12750
  * to the BridgeKit constructor.
12751
+ *
12752
+ * @param config - Optional configuration forwarded to the default providers
12753
+ * @returns The default bridging providers
12538
12754
  */
12539
- declare const getDefaultProviders$1: () => readonly [CCTPV2BridgingProvider];
12755
+ declare const getDefaultProviders$1: (config?: DefaultProvidersConfig) => readonly [CCTPV2BridgingProvider];
12540
12756
 
12541
12757
  /**
12542
12758
  * Configuration options for initializing a BridgeKit instance.
@@ -12593,6 +12809,23 @@ interface BridgeKitConfig<TExtraProviders extends FlexibleBridgingProvider[] = [
12593
12809
  * @defaultValue false
12594
12810
  */
12595
12811
  disableErrorReporting?: boolean;
12812
+ /**
12813
+ * Custom HTTP headers forwarded with the default CCTP provider's attestation
12814
+ * (Iris) API requests.
12815
+ *
12816
+ * @remarks
12817
+ * Headers are merged on top of the SDK defaults (such as `Content-Type`)
12818
+ * rather than replacing them. The header is forwarded as-is to Circle's API;
12819
+ * the SDK does not interpret it.
12820
+ *
12821
+ * @example
12822
+ * ```typescript
12823
+ * const kit = new BridgeKit({
12824
+ * headers: { 'X-Access-Key': '00000000-0000-0000-0000-000000000000' },
12825
+ * })
12826
+ * ```
12827
+ */
12828
+ headers?: Record<string, string>;
12596
12829
  }
12597
12830
  /**
12598
12831
  * Merges action types from multiple bridging providers into a unified action map.
@@ -15526,10 +15759,11 @@ interface AssetAmount {
15526
15759
  /**
15527
15760
  * Optional category tag for the amount.
15528
15761
  *
15529
- * Present on fee entries to identify the kind of fee for cross-chain
15530
- * deposit quotes this is the source-fee item type (e.g. `'FORWARD'`,
15531
- * `'PRE_FINALITY'`). Omitted when the amount has no meaningful category
15532
- * (plain deposit/withdrawal/share/reward amounts).
15762
+ * Present on fee entries to identify the kind of fee. For cross-chain deposit
15763
+ * quotes this is the source-fee item type (e.g. `'FORWARD'`,
15764
+ * `'PRE_FINALITY'`), and for withdrawal quotes this can identify Circle fees
15765
+ * (e.g. `'circle'`). Omitted when the amount has no meaningful
15766
+ * category (plain deposit/withdrawal/share/reward amounts).
15533
15767
  */
15534
15768
  readonly type?: string | undefined;
15535
15769
  /**
@@ -16168,7 +16402,12 @@ interface WithdrawalQuoteInfo {
16168
16402
  * available balance and quoted withdrawal in a single round-trip.
16169
16403
  */
16170
16404
  readonly maxWithdrawable: AssetAmount;
16171
- /** Fees applied to the withdrawal. */
16405
+ /**
16406
+ * Fees applied to the withdrawal.
16407
+ *
16408
+ * Circle fees are returned with `type: 'circle'` so callers can distinguish
16409
+ * them from untyped plain fees and native gas estimates.
16410
+ */
16172
16411
  readonly fees: readonly AssetAmount[];
16173
16412
  /**
16174
16413
  * Estimated native gas fees for the transactions needed to withdraw.
@@ -23609,14 +23848,17 @@ type TokenAddress = string & {
23609
23848
  /**
23610
23849
  * Known token aliases supported by AppKit.
23611
23850
  *
23612
- * These aliases map to chain-specific token addresses and have dedicated
23613
- * transfer actions in the adapter layer.
23851
+ * These aliases map to chain-specific token addresses. `USDC`, `USDT`, and
23852
+ * `NATIVE` have dedicated transfer actions in the adapter layer. `EURC` has no
23853
+ * dedicated action — it resolves to the chain's `eurcAddress` and is sent via
23854
+ * the generic token transfer action, so it is only supported on chains where
23855
+ * `eurcAddress` is set.
23614
23856
  *
23615
23857
  * @remarks
23616
23858
  * For swap operations, see {@link SupportedToken} in SwapKit which supports
23617
- * additional tokens (EURC, DAI, USDE, PYUSD).
23859
+ * additional tokens (DAI, USDE, PYUSD).
23618
23860
  */
23619
- type TokenAlias = 'USDC' | 'USDT' | 'NATIVE';
23861
+ type TokenAlias = 'USDC' | 'USDT' | 'NATIVE' | 'EURC';
23620
23862
  /**
23621
23863
  * Operation types that support the `getFee`/`getFeeRecipient` hooks.
23622
23864
  */
@@ -23775,6 +24017,16 @@ interface AppKitContext {
23775
24017
  * @defaultValue false
23776
24018
  */
23777
24019
  disableErrorReporting?: boolean;
24020
+ /**
24021
+ * Custom HTTP headers forwarded with the underlying CCTP provider's
24022
+ * attestation (Iris) API requests made by bridge operations.
24023
+ *
24024
+ * @remarks
24025
+ * Headers are merged on top of the SDK defaults (such as `Content-Type`)
24026
+ * rather than replacing them. The header is forwarded as-is to Circle's API;
24027
+ * the SDK does not interpret it.
24028
+ */
24029
+ headers?: Record<string, string>;
23778
24030
  }
23779
24031
  /**
23780
24032
  * Earn operation namespace exposed as `kit.earn`.
@@ -24073,7 +24325,7 @@ type ActionHandler<T extends {
24073
24325
  * When `to` is a `string`, the address must be a valid address. When `to` is an
24074
24326
  * {@link Adapter}, the recipient is derived from the adapter's active account.
24075
24327
  *
24076
- * The `token` field accepts both supported token aliases ('USDC', 'USDT', 'NATIVE') and custom token
24328
+ * The `token` field accepts both supported token aliases ('USDC', 'USDT', 'NATIVE', 'EURC') and custom token
24077
24329
  * contract addresses.
24078
24330
  *
24079
24331
  * @example
@@ -24113,7 +24365,8 @@ interface SendParams {
24113
24365
  * If omitted, the provider will use 'USDC' by default.
24114
24366
  *
24115
24367
  * Supports both known aliases and custom token contract addresses:
24116
- * - Known aliases: 'USDC', 'USDT', 'NATIVE'
24368
+ * - Known aliases: 'USDC', 'USDT', 'NATIVE', 'EURC' ('EURC' requires the
24369
+ * chain to have an `eurcAddress` configured)
24117
24370
  * - Custom token addresses: EVM addresses or Solana SPL token mint addresses
24118
24371
  *
24119
24372
  * @example
@@ -26551,7 +26804,11 @@ declare class AppKit {
26551
26804
  * The type annotation `readonly TokenAlias[]` ensures this array stays in sync
26552
26805
  * with the TokenAlias type definition - TypeScript will enforce any changes.
26553
26806
  *
26554
- * For swap operations, additional tokens (EURC, DAI, USDE, PYUSD) are supported
26807
+ * `USDC`, `USDT`, and `NATIVE` map to dedicated adapter transfer actions.
26808
+ * `EURC` has no dedicated action — it resolves to the chain's `eurcAddress`
26809
+ * and uses the generic token transfer action (see {@link prepareSend}).
26810
+ *
26811
+ * For swap operations, additional tokens (DAI, USDE, PYUSD) are supported
26555
26812
  * via SwapKit's SupportedToken type.
26556
26813
  */
26557
26814
  declare const TOKEN_ALIASES: readonly TokenAlias[];
@@ -26562,7 +26819,7 @@ declare const TOKEN_ALIASES: readonly TokenAlias[];
26562
26819
  * or neither.
26563
26820
  */
26564
26821
  interface TokenValidationResult {
26565
- /** True if the token is a known alias (USDC, USDT, NATIVE) */
26822
+ /** True if the token is a known alias (USDC, USDT, NATIVE, EURC) */
26566
26823
  isAlias: boolean;
26567
26824
  /** True if the token is a valid address for the chain */
26568
26825
  isAddress: boolean;
@@ -26593,7 +26850,7 @@ declare function isTokenAlias(token: string): token is TokenAlias;
26593
26850
  * Type guard to check if a string is a valid token address for a chain.
26594
26851
  *
26595
26852
  * This function verifies that a token string is:
26596
- * 1. Not a known alias ('USDC', 'USDT', 'NATIVE')
26853
+ * 1. Not a known alias ('USDC', 'USDT', 'NATIVE', 'EURC')
26597
26854
  * 2. A valid address format for the specified chain
26598
26855
  *
26599
26856
  * Use this to narrow the type to `TokenAddress` in TypeScript.
@@ -26622,7 +26879,7 @@ declare function isTokenAddress(token: string, chain: ChainDefinition): token is
26622
26879
  * Validate and classify a token identifier.
26623
26880
  *
26624
26881
  * This function determines whether a token string is:
26625
- * 1. A known alias ('USDC', 'USDT', or 'NATIVE')
26882
+ * 1. A known alias ('USDC', 'USDT', 'NATIVE', or 'EURC')
26626
26883
  * 2. A valid token address for the given chain
26627
26884
  * 3. An invalid/unrecognized token identifier
26628
26885
  *