@circle-fin/provider-cctp-v2 1.8.5 → 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/CHANGELOG.md +38 -0
- package/README.md +5 -5
- package/index.cjs +404 -169
- package/index.d.cts +103 -0
- package/index.d.mts +103 -0
- package/index.d.ts +103 -0
- package/index.mjs +404 -169
- package/package.json +3 -1
package/index.d.cts
CHANGED
|
@@ -658,6 +658,8 @@ declare enum Blockchain {
|
|
|
658
658
|
Celo_Alfajores_Testnet = "Celo_Alfajores_Testnet",
|
|
659
659
|
Codex = "Codex",
|
|
660
660
|
Codex_Testnet = "Codex_Testnet",
|
|
661
|
+
Cronos = "Cronos",
|
|
662
|
+
Cronos_Testnet = "Cronos_Testnet",
|
|
661
663
|
Edge = "Edge",
|
|
662
664
|
Edge_Testnet = "Edge_Testnet",
|
|
663
665
|
Ethereum = "Ethereum",
|
|
@@ -6134,6 +6136,38 @@ interface ICCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> {
|
|
|
6134
6136
|
* @returns A promise that resolves to the attestation message.
|
|
6135
6137
|
*/
|
|
6136
6138
|
fetchAttestation<TFromAdapterCapabilities extends AdapterCapabilities, TToAdapterCapabilities extends AdapterCapabilities>(source: BridgeParams<TFromAdapterCapabilities, TToAdapterCapabilities>['source'], txHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
|
|
6139
|
+
/**
|
|
6140
|
+
* Polls attestation data until Circle's relayer mint transaction is confirmed.
|
|
6141
|
+
*
|
|
6142
|
+
* @param source - The source wallet context containing the chain definition and wallet address.
|
|
6143
|
+
* @param txHash - The transaction hash of the deposit for burn transaction.
|
|
6144
|
+
* @param config - Optional polling configuration overrides.
|
|
6145
|
+
* @returns A promise that resolves to the relayer mint attestation message.
|
|
6146
|
+
* @throws KitError If the source wallet context is invalid, the transaction hash is invalid,
|
|
6147
|
+
* the relayer forward fails, the response is invalid, or polling times out.
|
|
6148
|
+
*
|
|
6149
|
+
* @example
|
|
6150
|
+
* ```typescript
|
|
6151
|
+
* import { CCTPV2BridgingProvider } from '@circle-fin/provider-cctp-v2'
|
|
6152
|
+
* import { Chains } from '@core/chains'
|
|
6153
|
+
*
|
|
6154
|
+
* const provider = new CCTPV2BridgingProvider({
|
|
6155
|
+
* headers: { 'X-Partner-UUID': '00000000-0000-0000-0000-000000000000' },
|
|
6156
|
+
* })
|
|
6157
|
+
*
|
|
6158
|
+
* const attestation = await provider.fetchRelayerMint(
|
|
6159
|
+
* {
|
|
6160
|
+
* adapter,
|
|
6161
|
+
* chain: Chains.EthereumSepolia,
|
|
6162
|
+
* address: '0x1234...',
|
|
6163
|
+
* },
|
|
6164
|
+
* '0xabc123...',
|
|
6165
|
+
* )
|
|
6166
|
+
*
|
|
6167
|
+
* console.log('Relayer mint tx:', attestation.forwardTxHash)
|
|
6168
|
+
* ```
|
|
6169
|
+
*/
|
|
6170
|
+
fetchRelayerMint<TFromAdapterCapabilities extends AdapterCapabilities, TToAdapterCapabilities extends AdapterCapabilities>(source: BridgeParams<TFromAdapterCapabilities, TToAdapterCapabilities>['source'], txHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
|
|
6137
6171
|
/**
|
|
6138
6172
|
* Requests a fresh attestation for an expired attestation.
|
|
6139
6173
|
*
|
|
@@ -6165,10 +6199,28 @@ interface ICCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> {
|
|
|
6165
6199
|
* @remarks
|
|
6166
6200
|
* This interface defines all configurable aspects of the CCTP v2 provider:
|
|
6167
6201
|
* - attestation: Settings for the attestation fetching process
|
|
6202
|
+
* - headers: Custom HTTP headers sent with every Circle attestation API request
|
|
6168
6203
|
*/
|
|
6169
6204
|
interface CCTPV2Config {
|
|
6170
6205
|
/** Configuration for the attestation fetching process */
|
|
6171
6206
|
attestation?: Partial<ApiPollingConfig>;
|
|
6207
|
+
/**
|
|
6208
|
+
* Custom HTTP headers sent with every Circle attestation (Iris) API request
|
|
6209
|
+
* made by the provider (attestation fetch, re-attestation, and relayer mint
|
|
6210
|
+
* status polling).
|
|
6211
|
+
*
|
|
6212
|
+
* @remarks
|
|
6213
|
+
* Headers are merged on top of the defaults (such as `Content-Type`) without
|
|
6214
|
+
* removing them. The header is forwarded as-is to Circle's API; the SDK does
|
|
6215
|
+
* not interpret it.
|
|
6216
|
+
*
|
|
6217
|
+
* Precedence (lowest to highest): provider defaults, then these
|
|
6218
|
+
* `config.headers`, then any per-call `config.headers` passed to
|
|
6219
|
+
* {@link CCTPV2BridgingProvider.fetchAttestation},
|
|
6220
|
+
* {@link CCTPV2BridgingProvider.fetchRelayerMint}, or
|
|
6221
|
+
* {@link CCTPV2BridgingProvider.reAttest}.
|
|
6222
|
+
*/
|
|
6223
|
+
headers?: Record<string, string>;
|
|
6172
6224
|
}
|
|
6173
6225
|
/**
|
|
6174
6226
|
* Concrete implementation of BridgingProvider for Circle's Cross-Chain Transfer Protocol (CCTP) version 2.
|
|
@@ -6234,6 +6286,20 @@ declare class CCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> imp
|
|
|
6234
6286
|
* @param config - Optional configuration overrides for the provider
|
|
6235
6287
|
*/
|
|
6236
6288
|
constructor(config?: CCTPV2Config);
|
|
6289
|
+
/**
|
|
6290
|
+
* Resolves the effective polling configuration for an attestation request.
|
|
6291
|
+
*
|
|
6292
|
+
* Precedence (lowest to highest): provider `config.attestation`, then the
|
|
6293
|
+
* per-call `config`. Headers merge independently across
|
|
6294
|
+
* `config.attestation.headers`, the provider-level `config.headers`, and any
|
|
6295
|
+
* per-call `config.headers`, so a more specific header augments rather than
|
|
6296
|
+
* replaces the broader ones. The `headers` key is omitted entirely when no
|
|
6297
|
+
* headers are configured, leaving the attestation fetchers' defaults intact.
|
|
6298
|
+
*
|
|
6299
|
+
* @param config - Optional per-call polling configuration overrides
|
|
6300
|
+
* @returns The merged polling configuration passed to the attestation fetchers
|
|
6301
|
+
*/
|
|
6302
|
+
private resolveAttestationConfig;
|
|
6237
6303
|
/**
|
|
6238
6304
|
* Execute a cross-chain USDC bridge operation using the CCTP v2 protocol.
|
|
6239
6305
|
*
|
|
@@ -6476,6 +6542,43 @@ declare class CCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> imp
|
|
|
6476
6542
|
* ```
|
|
6477
6543
|
*/
|
|
6478
6544
|
fetchAttestation<TFromAdapterCapabilities extends AdapterCapabilities>(source: WalletContext<TFromAdapterCapabilities, ChainDefinitionWithCCTPv2>, transactionHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
|
|
6545
|
+
/**
|
|
6546
|
+
* Polls attestation data until Circle's relayer mint transaction is confirmed.
|
|
6547
|
+
*
|
|
6548
|
+
* This method is used by forwarded transfers. It polls the same Iris
|
|
6549
|
+
* attestation endpoint as {@link CCTPV2BridgingProvider.fetchAttestation},
|
|
6550
|
+
* but waits for a completed relayer forward state and returns the attestation
|
|
6551
|
+
* message containing `forwardTxHash`.
|
|
6552
|
+
*
|
|
6553
|
+
* @typeParam TFromAdapterCapabilities - The type representing the capabilities of the source adapter
|
|
6554
|
+
* @param source - The source wallet context containing the chain definition and wallet address
|
|
6555
|
+
* @param transactionHash - The transaction hash of the burn operation
|
|
6556
|
+
* @param config - Optional polling configuration overrides for timeout, retries, delay, and headers
|
|
6557
|
+
* @returns A promise that resolves to the attestation message with `forwardTxHash`
|
|
6558
|
+
* @throws KitError If the relayer forward fails, the response is invalid, or polling times out
|
|
6559
|
+
*
|
|
6560
|
+
* @example
|
|
6561
|
+
* ```typescript
|
|
6562
|
+
* import { CCTPV2BridgingProvider } from '@circle-fin/provider-cctp-v2'
|
|
6563
|
+
* import { Chains } from '@core/chains'
|
|
6564
|
+
*
|
|
6565
|
+
* const provider = new CCTPV2BridgingProvider({
|
|
6566
|
+
* headers: { 'X-Partner-UUID': '00000000-0000-0000-0000-000000000000' },
|
|
6567
|
+
* })
|
|
6568
|
+
*
|
|
6569
|
+
* const attestation = await provider.fetchRelayerMint(
|
|
6570
|
+
* {
|
|
6571
|
+
* adapter,
|
|
6572
|
+
* chain: Chains.EthereumSepolia,
|
|
6573
|
+
* address: '0x1234...',
|
|
6574
|
+
* },
|
|
6575
|
+
* '0xabc123...',
|
|
6576
|
+
* )
|
|
6577
|
+
*
|
|
6578
|
+
* console.log('Relayer mint tx:', attestation.forwardTxHash)
|
|
6579
|
+
* ```
|
|
6580
|
+
*/
|
|
6581
|
+
fetchRelayerMint<TFromAdapterCapabilities extends AdapterCapabilities>(source: WalletContext<TFromAdapterCapabilities, ChainDefinitionWithCCTPv2>, transactionHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
|
|
6479
6582
|
/**
|
|
6480
6583
|
* Requests a fresh attestation for an expired attestation.
|
|
6481
6584
|
*
|
package/index.d.mts
CHANGED
|
@@ -658,6 +658,8 @@ declare enum Blockchain {
|
|
|
658
658
|
Celo_Alfajores_Testnet = "Celo_Alfajores_Testnet",
|
|
659
659
|
Codex = "Codex",
|
|
660
660
|
Codex_Testnet = "Codex_Testnet",
|
|
661
|
+
Cronos = "Cronos",
|
|
662
|
+
Cronos_Testnet = "Cronos_Testnet",
|
|
661
663
|
Edge = "Edge",
|
|
662
664
|
Edge_Testnet = "Edge_Testnet",
|
|
663
665
|
Ethereum = "Ethereum",
|
|
@@ -6134,6 +6136,38 @@ interface ICCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> {
|
|
|
6134
6136
|
* @returns A promise that resolves to the attestation message.
|
|
6135
6137
|
*/
|
|
6136
6138
|
fetchAttestation<TFromAdapterCapabilities extends AdapterCapabilities, TToAdapterCapabilities extends AdapterCapabilities>(source: BridgeParams<TFromAdapterCapabilities, TToAdapterCapabilities>['source'], txHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
|
|
6139
|
+
/**
|
|
6140
|
+
* Polls attestation data until Circle's relayer mint transaction is confirmed.
|
|
6141
|
+
*
|
|
6142
|
+
* @param source - The source wallet context containing the chain definition and wallet address.
|
|
6143
|
+
* @param txHash - The transaction hash of the deposit for burn transaction.
|
|
6144
|
+
* @param config - Optional polling configuration overrides.
|
|
6145
|
+
* @returns A promise that resolves to the relayer mint attestation message.
|
|
6146
|
+
* @throws KitError If the source wallet context is invalid, the transaction hash is invalid,
|
|
6147
|
+
* the relayer forward fails, the response is invalid, or polling times out.
|
|
6148
|
+
*
|
|
6149
|
+
* @example
|
|
6150
|
+
* ```typescript
|
|
6151
|
+
* import { CCTPV2BridgingProvider } from '@circle-fin/provider-cctp-v2'
|
|
6152
|
+
* import { Chains } from '@core/chains'
|
|
6153
|
+
*
|
|
6154
|
+
* const provider = new CCTPV2BridgingProvider({
|
|
6155
|
+
* headers: { 'X-Partner-UUID': '00000000-0000-0000-0000-000000000000' },
|
|
6156
|
+
* })
|
|
6157
|
+
*
|
|
6158
|
+
* const attestation = await provider.fetchRelayerMint(
|
|
6159
|
+
* {
|
|
6160
|
+
* adapter,
|
|
6161
|
+
* chain: Chains.EthereumSepolia,
|
|
6162
|
+
* address: '0x1234...',
|
|
6163
|
+
* },
|
|
6164
|
+
* '0xabc123...',
|
|
6165
|
+
* )
|
|
6166
|
+
*
|
|
6167
|
+
* console.log('Relayer mint tx:', attestation.forwardTxHash)
|
|
6168
|
+
* ```
|
|
6169
|
+
*/
|
|
6170
|
+
fetchRelayerMint<TFromAdapterCapabilities extends AdapterCapabilities, TToAdapterCapabilities extends AdapterCapabilities>(source: BridgeParams<TFromAdapterCapabilities, TToAdapterCapabilities>['source'], txHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
|
|
6137
6171
|
/**
|
|
6138
6172
|
* Requests a fresh attestation for an expired attestation.
|
|
6139
6173
|
*
|
|
@@ -6165,10 +6199,28 @@ interface ICCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> {
|
|
|
6165
6199
|
* @remarks
|
|
6166
6200
|
* This interface defines all configurable aspects of the CCTP v2 provider:
|
|
6167
6201
|
* - attestation: Settings for the attestation fetching process
|
|
6202
|
+
* - headers: Custom HTTP headers sent with every Circle attestation API request
|
|
6168
6203
|
*/
|
|
6169
6204
|
interface CCTPV2Config {
|
|
6170
6205
|
/** Configuration for the attestation fetching process */
|
|
6171
6206
|
attestation?: Partial<ApiPollingConfig>;
|
|
6207
|
+
/**
|
|
6208
|
+
* Custom HTTP headers sent with every Circle attestation (Iris) API request
|
|
6209
|
+
* made by the provider (attestation fetch, re-attestation, and relayer mint
|
|
6210
|
+
* status polling).
|
|
6211
|
+
*
|
|
6212
|
+
* @remarks
|
|
6213
|
+
* Headers are merged on top of the defaults (such as `Content-Type`) without
|
|
6214
|
+
* removing them. The header is forwarded as-is to Circle's API; the SDK does
|
|
6215
|
+
* not interpret it.
|
|
6216
|
+
*
|
|
6217
|
+
* Precedence (lowest to highest): provider defaults, then these
|
|
6218
|
+
* `config.headers`, then any per-call `config.headers` passed to
|
|
6219
|
+
* {@link CCTPV2BridgingProvider.fetchAttestation},
|
|
6220
|
+
* {@link CCTPV2BridgingProvider.fetchRelayerMint}, or
|
|
6221
|
+
* {@link CCTPV2BridgingProvider.reAttest}.
|
|
6222
|
+
*/
|
|
6223
|
+
headers?: Record<string, string>;
|
|
6172
6224
|
}
|
|
6173
6225
|
/**
|
|
6174
6226
|
* Concrete implementation of BridgingProvider for Circle's Cross-Chain Transfer Protocol (CCTP) version 2.
|
|
@@ -6234,6 +6286,20 @@ declare class CCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> imp
|
|
|
6234
6286
|
* @param config - Optional configuration overrides for the provider
|
|
6235
6287
|
*/
|
|
6236
6288
|
constructor(config?: CCTPV2Config);
|
|
6289
|
+
/**
|
|
6290
|
+
* Resolves the effective polling configuration for an attestation request.
|
|
6291
|
+
*
|
|
6292
|
+
* Precedence (lowest to highest): provider `config.attestation`, then the
|
|
6293
|
+
* per-call `config`. Headers merge independently across
|
|
6294
|
+
* `config.attestation.headers`, the provider-level `config.headers`, and any
|
|
6295
|
+
* per-call `config.headers`, so a more specific header augments rather than
|
|
6296
|
+
* replaces the broader ones. The `headers` key is omitted entirely when no
|
|
6297
|
+
* headers are configured, leaving the attestation fetchers' defaults intact.
|
|
6298
|
+
*
|
|
6299
|
+
* @param config - Optional per-call polling configuration overrides
|
|
6300
|
+
* @returns The merged polling configuration passed to the attestation fetchers
|
|
6301
|
+
*/
|
|
6302
|
+
private resolveAttestationConfig;
|
|
6237
6303
|
/**
|
|
6238
6304
|
* Execute a cross-chain USDC bridge operation using the CCTP v2 protocol.
|
|
6239
6305
|
*
|
|
@@ -6476,6 +6542,43 @@ declare class CCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> imp
|
|
|
6476
6542
|
* ```
|
|
6477
6543
|
*/
|
|
6478
6544
|
fetchAttestation<TFromAdapterCapabilities extends AdapterCapabilities>(source: WalletContext<TFromAdapterCapabilities, ChainDefinitionWithCCTPv2>, transactionHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
|
|
6545
|
+
/**
|
|
6546
|
+
* Polls attestation data until Circle's relayer mint transaction is confirmed.
|
|
6547
|
+
*
|
|
6548
|
+
* This method is used by forwarded transfers. It polls the same Iris
|
|
6549
|
+
* attestation endpoint as {@link CCTPV2BridgingProvider.fetchAttestation},
|
|
6550
|
+
* but waits for a completed relayer forward state and returns the attestation
|
|
6551
|
+
* message containing `forwardTxHash`.
|
|
6552
|
+
*
|
|
6553
|
+
* @typeParam TFromAdapterCapabilities - The type representing the capabilities of the source adapter
|
|
6554
|
+
* @param source - The source wallet context containing the chain definition and wallet address
|
|
6555
|
+
* @param transactionHash - The transaction hash of the burn operation
|
|
6556
|
+
* @param config - Optional polling configuration overrides for timeout, retries, delay, and headers
|
|
6557
|
+
* @returns A promise that resolves to the attestation message with `forwardTxHash`
|
|
6558
|
+
* @throws KitError If the relayer forward fails, the response is invalid, or polling times out
|
|
6559
|
+
*
|
|
6560
|
+
* @example
|
|
6561
|
+
* ```typescript
|
|
6562
|
+
* import { CCTPV2BridgingProvider } from '@circle-fin/provider-cctp-v2'
|
|
6563
|
+
* import { Chains } from '@core/chains'
|
|
6564
|
+
*
|
|
6565
|
+
* const provider = new CCTPV2BridgingProvider({
|
|
6566
|
+
* headers: { 'X-Partner-UUID': '00000000-0000-0000-0000-000000000000' },
|
|
6567
|
+
* })
|
|
6568
|
+
*
|
|
6569
|
+
* const attestation = await provider.fetchRelayerMint(
|
|
6570
|
+
* {
|
|
6571
|
+
* adapter,
|
|
6572
|
+
* chain: Chains.EthereumSepolia,
|
|
6573
|
+
* address: '0x1234...',
|
|
6574
|
+
* },
|
|
6575
|
+
* '0xabc123...',
|
|
6576
|
+
* )
|
|
6577
|
+
*
|
|
6578
|
+
* console.log('Relayer mint tx:', attestation.forwardTxHash)
|
|
6579
|
+
* ```
|
|
6580
|
+
*/
|
|
6581
|
+
fetchRelayerMint<TFromAdapterCapabilities extends AdapterCapabilities>(source: WalletContext<TFromAdapterCapabilities, ChainDefinitionWithCCTPv2>, transactionHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
|
|
6479
6582
|
/**
|
|
6480
6583
|
* Requests a fresh attestation for an expired attestation.
|
|
6481
6584
|
*
|
package/index.d.ts
CHANGED
|
@@ -658,6 +658,8 @@ declare enum Blockchain {
|
|
|
658
658
|
Celo_Alfajores_Testnet = "Celo_Alfajores_Testnet",
|
|
659
659
|
Codex = "Codex",
|
|
660
660
|
Codex_Testnet = "Codex_Testnet",
|
|
661
|
+
Cronos = "Cronos",
|
|
662
|
+
Cronos_Testnet = "Cronos_Testnet",
|
|
661
663
|
Edge = "Edge",
|
|
662
664
|
Edge_Testnet = "Edge_Testnet",
|
|
663
665
|
Ethereum = "Ethereum",
|
|
@@ -6134,6 +6136,38 @@ interface ICCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> {
|
|
|
6134
6136
|
* @returns A promise that resolves to the attestation message.
|
|
6135
6137
|
*/
|
|
6136
6138
|
fetchAttestation<TFromAdapterCapabilities extends AdapterCapabilities, TToAdapterCapabilities extends AdapterCapabilities>(source: BridgeParams<TFromAdapterCapabilities, TToAdapterCapabilities>['source'], txHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
|
|
6139
|
+
/**
|
|
6140
|
+
* Polls attestation data until Circle's relayer mint transaction is confirmed.
|
|
6141
|
+
*
|
|
6142
|
+
* @param source - The source wallet context containing the chain definition and wallet address.
|
|
6143
|
+
* @param txHash - The transaction hash of the deposit for burn transaction.
|
|
6144
|
+
* @param config - Optional polling configuration overrides.
|
|
6145
|
+
* @returns A promise that resolves to the relayer mint attestation message.
|
|
6146
|
+
* @throws KitError If the source wallet context is invalid, the transaction hash is invalid,
|
|
6147
|
+
* the relayer forward fails, the response is invalid, or polling times out.
|
|
6148
|
+
*
|
|
6149
|
+
* @example
|
|
6150
|
+
* ```typescript
|
|
6151
|
+
* import { CCTPV2BridgingProvider } from '@circle-fin/provider-cctp-v2'
|
|
6152
|
+
* import { Chains } from '@core/chains'
|
|
6153
|
+
*
|
|
6154
|
+
* const provider = new CCTPV2BridgingProvider({
|
|
6155
|
+
* headers: { 'X-Partner-UUID': '00000000-0000-0000-0000-000000000000' },
|
|
6156
|
+
* })
|
|
6157
|
+
*
|
|
6158
|
+
* const attestation = await provider.fetchRelayerMint(
|
|
6159
|
+
* {
|
|
6160
|
+
* adapter,
|
|
6161
|
+
* chain: Chains.EthereumSepolia,
|
|
6162
|
+
* address: '0x1234...',
|
|
6163
|
+
* },
|
|
6164
|
+
* '0xabc123...',
|
|
6165
|
+
* )
|
|
6166
|
+
*
|
|
6167
|
+
* console.log('Relayer mint tx:', attestation.forwardTxHash)
|
|
6168
|
+
* ```
|
|
6169
|
+
*/
|
|
6170
|
+
fetchRelayerMint<TFromAdapterCapabilities extends AdapterCapabilities, TToAdapterCapabilities extends AdapterCapabilities>(source: BridgeParams<TFromAdapterCapabilities, TToAdapterCapabilities>['source'], txHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
|
|
6137
6171
|
/**
|
|
6138
6172
|
* Requests a fresh attestation for an expired attestation.
|
|
6139
6173
|
*
|
|
@@ -6165,10 +6199,28 @@ interface ICCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> {
|
|
|
6165
6199
|
* @remarks
|
|
6166
6200
|
* This interface defines all configurable aspects of the CCTP v2 provider:
|
|
6167
6201
|
* - attestation: Settings for the attestation fetching process
|
|
6202
|
+
* - headers: Custom HTTP headers sent with every Circle attestation API request
|
|
6168
6203
|
*/
|
|
6169
6204
|
interface CCTPV2Config {
|
|
6170
6205
|
/** Configuration for the attestation fetching process */
|
|
6171
6206
|
attestation?: Partial<ApiPollingConfig>;
|
|
6207
|
+
/**
|
|
6208
|
+
* Custom HTTP headers sent with every Circle attestation (Iris) API request
|
|
6209
|
+
* made by the provider (attestation fetch, re-attestation, and relayer mint
|
|
6210
|
+
* status polling).
|
|
6211
|
+
*
|
|
6212
|
+
* @remarks
|
|
6213
|
+
* Headers are merged on top of the defaults (such as `Content-Type`) without
|
|
6214
|
+
* removing them. The header is forwarded as-is to Circle's API; the SDK does
|
|
6215
|
+
* not interpret it.
|
|
6216
|
+
*
|
|
6217
|
+
* Precedence (lowest to highest): provider defaults, then these
|
|
6218
|
+
* `config.headers`, then any per-call `config.headers` passed to
|
|
6219
|
+
* {@link CCTPV2BridgingProvider.fetchAttestation},
|
|
6220
|
+
* {@link CCTPV2BridgingProvider.fetchRelayerMint}, or
|
|
6221
|
+
* {@link CCTPV2BridgingProvider.reAttest}.
|
|
6222
|
+
*/
|
|
6223
|
+
headers?: Record<string, string>;
|
|
6172
6224
|
}
|
|
6173
6225
|
/**
|
|
6174
6226
|
* Concrete implementation of BridgingProvider for Circle's Cross-Chain Transfer Protocol (CCTP) version 2.
|
|
@@ -6234,6 +6286,20 @@ declare class CCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> imp
|
|
|
6234
6286
|
* @param config - Optional configuration overrides for the provider
|
|
6235
6287
|
*/
|
|
6236
6288
|
constructor(config?: CCTPV2Config);
|
|
6289
|
+
/**
|
|
6290
|
+
* Resolves the effective polling configuration for an attestation request.
|
|
6291
|
+
*
|
|
6292
|
+
* Precedence (lowest to highest): provider `config.attestation`, then the
|
|
6293
|
+
* per-call `config`. Headers merge independently across
|
|
6294
|
+
* `config.attestation.headers`, the provider-level `config.headers`, and any
|
|
6295
|
+
* per-call `config.headers`, so a more specific header augments rather than
|
|
6296
|
+
* replaces the broader ones. The `headers` key is omitted entirely when no
|
|
6297
|
+
* headers are configured, leaving the attestation fetchers' defaults intact.
|
|
6298
|
+
*
|
|
6299
|
+
* @param config - Optional per-call polling configuration overrides
|
|
6300
|
+
* @returns The merged polling configuration passed to the attestation fetchers
|
|
6301
|
+
*/
|
|
6302
|
+
private resolveAttestationConfig;
|
|
6237
6303
|
/**
|
|
6238
6304
|
* Execute a cross-chain USDC bridge operation using the CCTP v2 protocol.
|
|
6239
6305
|
*
|
|
@@ -6476,6 +6542,43 @@ declare class CCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> imp
|
|
|
6476
6542
|
* ```
|
|
6477
6543
|
*/
|
|
6478
6544
|
fetchAttestation<TFromAdapterCapabilities extends AdapterCapabilities>(source: WalletContext<TFromAdapterCapabilities, ChainDefinitionWithCCTPv2>, transactionHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
|
|
6545
|
+
/**
|
|
6546
|
+
* Polls attestation data until Circle's relayer mint transaction is confirmed.
|
|
6547
|
+
*
|
|
6548
|
+
* This method is used by forwarded transfers. It polls the same Iris
|
|
6549
|
+
* attestation endpoint as {@link CCTPV2BridgingProvider.fetchAttestation},
|
|
6550
|
+
* but waits for a completed relayer forward state and returns the attestation
|
|
6551
|
+
* message containing `forwardTxHash`.
|
|
6552
|
+
*
|
|
6553
|
+
* @typeParam TFromAdapterCapabilities - The type representing the capabilities of the source adapter
|
|
6554
|
+
* @param source - The source wallet context containing the chain definition and wallet address
|
|
6555
|
+
* @param transactionHash - The transaction hash of the burn operation
|
|
6556
|
+
* @param config - Optional polling configuration overrides for timeout, retries, delay, and headers
|
|
6557
|
+
* @returns A promise that resolves to the attestation message with `forwardTxHash`
|
|
6558
|
+
* @throws KitError If the relayer forward fails, the response is invalid, or polling times out
|
|
6559
|
+
*
|
|
6560
|
+
* @example
|
|
6561
|
+
* ```typescript
|
|
6562
|
+
* import { CCTPV2BridgingProvider } from '@circle-fin/provider-cctp-v2'
|
|
6563
|
+
* import { Chains } from '@core/chains'
|
|
6564
|
+
*
|
|
6565
|
+
* const provider = new CCTPV2BridgingProvider({
|
|
6566
|
+
* headers: { 'X-Partner-UUID': '00000000-0000-0000-0000-000000000000' },
|
|
6567
|
+
* })
|
|
6568
|
+
*
|
|
6569
|
+
* const attestation = await provider.fetchRelayerMint(
|
|
6570
|
+
* {
|
|
6571
|
+
* adapter,
|
|
6572
|
+
* chain: Chains.EthereumSepolia,
|
|
6573
|
+
* address: '0x1234...',
|
|
6574
|
+
* },
|
|
6575
|
+
* '0xabc123...',
|
|
6576
|
+
* )
|
|
6577
|
+
*
|
|
6578
|
+
* console.log('Relayer mint tx:', attestation.forwardTxHash)
|
|
6579
|
+
* ```
|
|
6580
|
+
*/
|
|
6581
|
+
fetchRelayerMint<TFromAdapterCapabilities extends AdapterCapabilities>(source: WalletContext<TFromAdapterCapabilities, ChainDefinitionWithCCTPv2>, transactionHash: string, config?: Partial<ApiPollingConfig>): Promise<AttestationMessage>;
|
|
6479
6582
|
/**
|
|
6480
6583
|
* Requests a fresh attestation for an expired attestation.
|
|
6481
6584
|
*
|