@circle-fin/provider-cctp-v2 1.7.0 → 1.8.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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @circle-fin/provider-cctp-v2
2
2
 
3
+ ## 1.8.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Add support for bridging USDC to and from Injective (mainnet and testnet) via CCTP v2. Both networks are now available as source and destination options in Bridge Kit.
8
+
3
9
  ## 1.7.0
4
10
 
5
11
  ### Minor Changes
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  **Circle's Cross-Chain Transfer Protocol v2 provider for Bridge Kit**
11
11
 
12
- _Native USDC bridging across 43 chains using Circle's battle-tested protocols._
12
+ _Native USDC bridging across 45 chains using Circle's battle-tested protocols._
13
13
 
14
14
  </div>
15
15
 
@@ -130,7 +130,7 @@ const result = await provider.bridge({
130
130
  - ✅ **Native USDC bridging** - Move real USDC between supported networks
131
131
  - ✅ **CCTP v2 integration** - Direct integration with Circle's CCTP v2 protocol
132
132
  - ✅ **Comprehensive validation** - Route validation and parameter checking
133
- - ✅ **Multi-chain support** - Works across all 43 CCTPv2-supported chains
133
+ - ✅ **Multi-chain support** - Works across all 45 CCTPv2-supported chains
134
134
  - ✅ **Type safety** - Full TypeScript support with detailed error handling
135
135
  - ✅ **Bridge speeds** - Support for both FAST and SLOW bridge configurations
136
136
  - ✅ **Forwarder integration** - Circle's Orbit relayer handles attestation and mint automatically
@@ -138,15 +138,15 @@ const result = await provider.bridge({
138
138
 
139
139
  ## Supported Chains & Routes
140
140
 
141
- The provider supports **882 total bridge routes** across these chains:
141
+ The provider supports **968 total bridge routes** across these chains:
142
142
 
143
143
  ### Mainnet Chains
144
144
 
145
- **Arbitrum**, **Avalanche**, **Base**, **Codex**, **Edge**, **Ethereum**, **HyperEVM**, **Ink**, **Linea**, **Monad**, **Morph**, **OP Mainnet**, **Pharos**, **Plume**, **Polygon PoS**, **Sei**, **Solana**, **Sonic**, **Unichain**, **World Chain**, **XDC**
145
+ **Arbitrum**, **Avalanche**, **Base**, **Codex**, **Edge**, **Ethereum**, **HyperEVM**, **Injective**, **Ink**, **Linea**, **Monad**, **Morph**, **OP Mainnet**, **Pharos**, **Plume**, **Polygon PoS**, **Sei**, **Solana**, **Sonic**, **Unichain**, **World Chain**, **XDC**
146
146
 
147
147
  ### Testnet Chains
148
148
 
149
- **Arc Testnet**, **Arbitrum Sepolia**, **Avalanche Fuji**, **Base Sepolia**, **Codex Testnet**, **Edge Testnet**, **Ethereum Sepolia**, **HyperEVM Testnet**, **Ink Testnet**, **Linea Sepolia**, **Monad Testnet**, **Morph Testnet**, **OP Sepolia**, **Pharos Atlantic**, **Plume Testnet**, **Polygon PoS Amoy**, **Sei Testnet**, **Solana Devnet**, **Sonic Testnet**, **Unichain Sepolia**, **World Chain Sepolia**, **XDC Apothem**
149
+ **Arc Testnet**, **Arbitrum Sepolia**, **Avalanche Fuji**, **Base Sepolia**, **Codex Testnet**, **Edge Testnet**, **Ethereum Sepolia**, **HyperEVM Testnet**, **Injective Testnet**, **Ink Testnet**, **Linea Sepolia**, **Monad Testnet**, **Morph Testnet**, **OP Sepolia**, **Pharos Atlantic**, **Plume Testnet**, **Polygon PoS Amoy**, **Sei Testnet**, **Solana Devnet**, **Sonic Testnet**, **Unichain Sepolia**, **World Chain Sepolia**, **XDC Apothem**
150
150
 
151
151
  ## Error Handling
152
152
 
package/index.cjs CHANGED
@@ -81,6 +81,8 @@ var Blockchain;
81
81
  Blockchain["Hedera_Testnet"] = "Hedera_Testnet";
82
82
  Blockchain["HyperEVM"] = "HyperEVM";
83
83
  Blockchain["HyperEVM_Testnet"] = "HyperEVM_Testnet";
84
+ Blockchain["Injective"] = "Injective";
85
+ Blockchain["Injective_Testnet"] = "Injective_Testnet";
84
86
  Blockchain["Ink"] = "Ink";
85
87
  Blockchain["Ink_Testnet"] = "Ink_Testnet";
86
88
  Blockchain["Linea"] = "Linea";
@@ -300,6 +302,7 @@ var BridgeChain;
300
302
  BridgeChain["Edge"] = "Edge";
301
303
  BridgeChain["Ethereum"] = "Ethereum";
302
304
  BridgeChain["HyperEVM"] = "HyperEVM";
305
+ BridgeChain["Injective"] = "Injective";
303
306
  BridgeChain["Ink"] = "Ink";
304
307
  BridgeChain["Linea"] = "Linea";
305
308
  BridgeChain["Monad"] = "Monad";
@@ -323,6 +326,7 @@ var BridgeChain;
323
326
  BridgeChain["Edge_Testnet"] = "Edge_Testnet";
324
327
  BridgeChain["Ethereum_Sepolia"] = "Ethereum_Sepolia";
325
328
  BridgeChain["HyperEVM_Testnet"] = "HyperEVM_Testnet";
329
+ BridgeChain["Injective_Testnet"] = "Injective_Testnet";
326
330
  BridgeChain["Ink_Testnet"] = "Ink_Testnet";
327
331
  BridgeChain["Linea_Sepolia"] = "Linea_Sepolia";
328
332
  BridgeChain["Monad_Testnet"] = "Monad_Testnet";
@@ -1742,6 +1746,98 @@ const HyperEVMTestnet = defineChain({
1742
1746
  },
1743
1747
  });
1744
1748
 
1749
+ /**
1750
+ * Injective Mainnet chain definition
1751
+ * @remarks
1752
+ * This represents the official production network for the Injective blockchain.
1753
+ * Injective is a high-performance, interoperable Layer-1 blockchain built for
1754
+ * finance, with an EVM execution layer on top of a Cosmos SDK base and
1755
+ * sub-second block finality.
1756
+ */
1757
+ const Injective = defineChain({
1758
+ type: 'evm',
1759
+ chain: Blockchain.Injective,
1760
+ name: 'Injective',
1761
+ title: 'Injective Mainnet',
1762
+ nativeCurrency: {
1763
+ name: 'Injective',
1764
+ symbol: 'INJ',
1765
+ decimals: 18,
1766
+ },
1767
+ chainId: 1776,
1768
+ isTestnet: false,
1769
+ explorerUrl: 'https://injscan.com/transaction/{hash}',
1770
+ rpcEndpoints: ['https://sentry.evm-rpc.injective.network'],
1771
+ eurcAddress: null,
1772
+ usdcAddress: '0xa00C59fF5a080D2b954d0c75e46E22a0c371235a',
1773
+ usdtAddress: null,
1774
+ cctp: {
1775
+ domain: 29,
1776
+ contracts: {
1777
+ v2: {
1778
+ type: 'split',
1779
+ tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1780
+ messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1781
+ confirmations: 1,
1782
+ fastConfirmations: 1,
1783
+ },
1784
+ },
1785
+ forwarderSupported: {
1786
+ source: false,
1787
+ destination: false,
1788
+ },
1789
+ },
1790
+ kitContracts: {
1791
+ bridge: BRIDGE_CONTRACT_EVM_MAINNET,
1792
+ },
1793
+ });
1794
+
1795
+ /**
1796
+ * Injective Testnet chain definition
1797
+ * @remarks
1798
+ * This represents the official test network for the Injective blockchain.
1799
+ * Injective is a high-performance, interoperable Layer-1 blockchain built for
1800
+ * finance, with an EVM execution layer on top of a Cosmos SDK base and
1801
+ * sub-second block finality.
1802
+ */
1803
+ const InjectiveTestnet = defineChain({
1804
+ type: 'evm',
1805
+ chain: Blockchain.Injective_Testnet,
1806
+ name: 'Injective Testnet',
1807
+ title: 'Injective Testnet',
1808
+ nativeCurrency: {
1809
+ name: 'Injective',
1810
+ symbol: 'INJ',
1811
+ decimals: 18,
1812
+ },
1813
+ chainId: 1439,
1814
+ isTestnet: true,
1815
+ explorerUrl: 'https://testnet.explorer.injective.network/transaction/{hash}',
1816
+ rpcEndpoints: ['https://k8s.testnet.json-rpc.injective.network'],
1817
+ eurcAddress: null,
1818
+ usdcAddress: '0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d',
1819
+ usdtAddress: null,
1820
+ cctp: {
1821
+ domain: 29,
1822
+ contracts: {
1823
+ v2: {
1824
+ type: 'split',
1825
+ tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1826
+ messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1827
+ confirmations: 1,
1828
+ fastConfirmations: 1,
1829
+ },
1830
+ },
1831
+ forwarderSupported: {
1832
+ source: false,
1833
+ destination: false,
1834
+ },
1835
+ },
1836
+ kitContracts: {
1837
+ bridge: BRIDGE_CONTRACT_EVM_TESTNET,
1838
+ },
1839
+ });
1840
+
1745
1841
  /**
1746
1842
  * Ink Mainnet chain definition
1747
1843
  * @remarks
@@ -3584,6 +3680,8 @@ var Chains = {
3584
3680
  HederaTestnet: HederaTestnet,
3585
3681
  HyperEVM: HyperEVM,
3586
3682
  HyperEVMTestnet: HyperEVMTestnet,
3683
+ Injective: Injective,
3684
+ InjectiveTestnet: InjectiveTestnet,
3587
3685
  Ink: Ink,
3588
3686
  InkTestnet: InkTestnet,
3589
3687
  Linea: Linea,
@@ -7283,6 +7381,7 @@ const USDC = {
7283
7381
  [Blockchain.Ethereum]: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
7284
7382
  [Blockchain.Hedera]: '0.0.456858',
7285
7383
  [Blockchain.HyperEVM]: '0xb88339CB7199b77E23DB6E890353E22632Ba630f',
7384
+ [Blockchain.Injective]: '0xa00C59fF5a080D2b954d0c75e46E22a0c371235a',
7286
7385
  [Blockchain.Ink]: '0x2D270e6886d130D724215A266106e6832161EAEd',
7287
7386
  [Blockchain.Linea]: '0x176211869ca2b568f2a7d4ee941e073a821ee1ff',
7288
7387
  [Blockchain.Monad]: '0x754704Bc059F8C67012fEd69BC8A327a5aafb603',
@@ -7315,6 +7414,7 @@ const USDC = {
7315
7414
  [Blockchain.Ethereum_Sepolia]: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238',
7316
7415
  [Blockchain.Hedera_Testnet]: '0.0.429274',
7317
7416
  [Blockchain.HyperEVM_Testnet]: '0x2B3370eE501B4a559b57D449569354196457D8Ab',
7417
+ [Blockchain.Injective_Testnet]: '0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d',
7318
7418
  [Blockchain.Ink_Testnet]: '0xFabab97dCE620294D2B0b0e46C68964e326300Ac',
7319
7419
  [Blockchain.Linea_Sepolia]: '0xfece4462d57bd51a6a552365a011b95f0e16d9b7',
7320
7420
  [Blockchain.Monad_Testnet]: '0x534b2f3A21130d7a60830c2Df862319e593943A3',
@@ -9279,18 +9379,16 @@ const buildIrisUrl = (sourceDomainId, transactionHash, isTestnet) => {
9279
9379
  };
9280
9380
  /**
9281
9381
  * Fetches attestation data from the IRIS API with retry and timeout handling.
9282
- * Since fetching starts after a confirmed burn transaction, we attempt up to 10 retries.
9283
- * Implements a conservative delay between requests to respect the API rate
9284
- * limit of 35 requests per second. To avoid rate limiting when multiple processes are
9285
- * running concurrently, we enforce a 200ms delay between retries.
9286
9382
  *
9287
- * Each HTTP request is given a maximum of 2 seconds before it is aborted.
9288
- * We retry up to 10 times, waiting 200ms between attempts.
9383
+ * Polls the IRIS API until a complete attestation is available. The default
9384
+ * window is sized for slow source chains where finality may take many
9385
+ * confirmations.
9289
9386
  *
9290
- * The total maximum time this function might take (worst case) is:
9291
- * - Perattempt timeout: 2 000 ms
9292
- * - Retry delays: 9 × 200 ms = 1 800 ms
9293
- * - Total max time: 2 000 ms + 1 800 ms = 3 800 ms
9387
+ * Defaults (see `DEFAULT_CONFIG`):
9388
+ * - Per-attempt timeout: 2 000 ms (each HTTP request aborts after 2 s)
9389
+ * - Retry delay: 2 000 ms between attempts
9390
+ * - Max retries: 600 (30 × 20)
9391
+ * - Total worst-case polling window: 600 × (2 000 ms + 2 000 ms) ≈ 40 minutes
9294
9392
  *
9295
9393
  * @param sourceDomainId - The CCTP domain ID.
9296
9394
  * @param transactionHash - The transaction hash to fetch attestation for.
@@ -12150,7 +12248,7 @@ async function buildBatchedStep(name, receipt, batchId, adapter, chain, statusCo
12150
12248
  return step;
12151
12249
  }
12152
12250
 
12153
- var version = "1.7.0";
12251
+ var version = "1.8.0";
12154
12252
  var pkg = {
12155
12253
  version: version};
12156
12254
 
package/index.d.ts CHANGED
@@ -666,6 +666,8 @@ declare enum Blockchain {
666
666
  Hedera_Testnet = "Hedera_Testnet",
667
667
  HyperEVM = "HyperEVM",
668
668
  HyperEVM_Testnet = "HyperEVM_Testnet",
669
+ Injective = "Injective",
670
+ Injective_Testnet = "Injective_Testnet",
669
671
  Ink = "Ink",
670
672
  Ink_Testnet = "Ink_Testnet",
671
673
  Linea = "Linea",
package/index.mjs CHANGED
@@ -74,6 +74,8 @@ var Blockchain;
74
74
  Blockchain["Hedera_Testnet"] = "Hedera_Testnet";
75
75
  Blockchain["HyperEVM"] = "HyperEVM";
76
76
  Blockchain["HyperEVM_Testnet"] = "HyperEVM_Testnet";
77
+ Blockchain["Injective"] = "Injective";
78
+ Blockchain["Injective_Testnet"] = "Injective_Testnet";
77
79
  Blockchain["Ink"] = "Ink";
78
80
  Blockchain["Ink_Testnet"] = "Ink_Testnet";
79
81
  Blockchain["Linea"] = "Linea";
@@ -293,6 +295,7 @@ var BridgeChain;
293
295
  BridgeChain["Edge"] = "Edge";
294
296
  BridgeChain["Ethereum"] = "Ethereum";
295
297
  BridgeChain["HyperEVM"] = "HyperEVM";
298
+ BridgeChain["Injective"] = "Injective";
296
299
  BridgeChain["Ink"] = "Ink";
297
300
  BridgeChain["Linea"] = "Linea";
298
301
  BridgeChain["Monad"] = "Monad";
@@ -316,6 +319,7 @@ var BridgeChain;
316
319
  BridgeChain["Edge_Testnet"] = "Edge_Testnet";
317
320
  BridgeChain["Ethereum_Sepolia"] = "Ethereum_Sepolia";
318
321
  BridgeChain["HyperEVM_Testnet"] = "HyperEVM_Testnet";
322
+ BridgeChain["Injective_Testnet"] = "Injective_Testnet";
319
323
  BridgeChain["Ink_Testnet"] = "Ink_Testnet";
320
324
  BridgeChain["Linea_Sepolia"] = "Linea_Sepolia";
321
325
  BridgeChain["Monad_Testnet"] = "Monad_Testnet";
@@ -1735,6 +1739,98 @@ const HyperEVMTestnet = defineChain({
1735
1739
  },
1736
1740
  });
1737
1741
 
1742
+ /**
1743
+ * Injective Mainnet chain definition
1744
+ * @remarks
1745
+ * This represents the official production network for the Injective blockchain.
1746
+ * Injective is a high-performance, interoperable Layer-1 blockchain built for
1747
+ * finance, with an EVM execution layer on top of a Cosmos SDK base and
1748
+ * sub-second block finality.
1749
+ */
1750
+ const Injective = defineChain({
1751
+ type: 'evm',
1752
+ chain: Blockchain.Injective,
1753
+ name: 'Injective',
1754
+ title: 'Injective Mainnet',
1755
+ nativeCurrency: {
1756
+ name: 'Injective',
1757
+ symbol: 'INJ',
1758
+ decimals: 18,
1759
+ },
1760
+ chainId: 1776,
1761
+ isTestnet: false,
1762
+ explorerUrl: 'https://injscan.com/transaction/{hash}',
1763
+ rpcEndpoints: ['https://sentry.evm-rpc.injective.network'],
1764
+ eurcAddress: null,
1765
+ usdcAddress: '0xa00C59fF5a080D2b954d0c75e46E22a0c371235a',
1766
+ usdtAddress: null,
1767
+ cctp: {
1768
+ domain: 29,
1769
+ contracts: {
1770
+ v2: {
1771
+ type: 'split',
1772
+ tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1773
+ messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1774
+ confirmations: 1,
1775
+ fastConfirmations: 1,
1776
+ },
1777
+ },
1778
+ forwarderSupported: {
1779
+ source: false,
1780
+ destination: false,
1781
+ },
1782
+ },
1783
+ kitContracts: {
1784
+ bridge: BRIDGE_CONTRACT_EVM_MAINNET,
1785
+ },
1786
+ });
1787
+
1788
+ /**
1789
+ * Injective Testnet chain definition
1790
+ * @remarks
1791
+ * This represents the official test network for the Injective blockchain.
1792
+ * Injective is a high-performance, interoperable Layer-1 blockchain built for
1793
+ * finance, with an EVM execution layer on top of a Cosmos SDK base and
1794
+ * sub-second block finality.
1795
+ */
1796
+ const InjectiveTestnet = defineChain({
1797
+ type: 'evm',
1798
+ chain: Blockchain.Injective_Testnet,
1799
+ name: 'Injective Testnet',
1800
+ title: 'Injective Testnet',
1801
+ nativeCurrency: {
1802
+ name: 'Injective',
1803
+ symbol: 'INJ',
1804
+ decimals: 18,
1805
+ },
1806
+ chainId: 1439,
1807
+ isTestnet: true,
1808
+ explorerUrl: 'https://testnet.explorer.injective.network/transaction/{hash}',
1809
+ rpcEndpoints: ['https://k8s.testnet.json-rpc.injective.network'],
1810
+ eurcAddress: null,
1811
+ usdcAddress: '0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d',
1812
+ usdtAddress: null,
1813
+ cctp: {
1814
+ domain: 29,
1815
+ contracts: {
1816
+ v2: {
1817
+ type: 'split',
1818
+ tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1819
+ messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1820
+ confirmations: 1,
1821
+ fastConfirmations: 1,
1822
+ },
1823
+ },
1824
+ forwarderSupported: {
1825
+ source: false,
1826
+ destination: false,
1827
+ },
1828
+ },
1829
+ kitContracts: {
1830
+ bridge: BRIDGE_CONTRACT_EVM_TESTNET,
1831
+ },
1832
+ });
1833
+
1738
1834
  /**
1739
1835
  * Ink Mainnet chain definition
1740
1836
  * @remarks
@@ -3577,6 +3673,8 @@ var Chains = /*#__PURE__*/Object.freeze({
3577
3673
  HederaTestnet: HederaTestnet,
3578
3674
  HyperEVM: HyperEVM,
3579
3675
  HyperEVMTestnet: HyperEVMTestnet,
3676
+ Injective: Injective,
3677
+ InjectiveTestnet: InjectiveTestnet,
3580
3678
  Ink: Ink,
3581
3679
  InkTestnet: InkTestnet,
3582
3680
  Linea: Linea,
@@ -7276,6 +7374,7 @@ const USDC = {
7276
7374
  [Blockchain.Ethereum]: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
7277
7375
  [Blockchain.Hedera]: '0.0.456858',
7278
7376
  [Blockchain.HyperEVM]: '0xb88339CB7199b77E23DB6E890353E22632Ba630f',
7377
+ [Blockchain.Injective]: '0xa00C59fF5a080D2b954d0c75e46E22a0c371235a',
7279
7378
  [Blockchain.Ink]: '0x2D270e6886d130D724215A266106e6832161EAEd',
7280
7379
  [Blockchain.Linea]: '0x176211869ca2b568f2a7d4ee941e073a821ee1ff',
7281
7380
  [Blockchain.Monad]: '0x754704Bc059F8C67012fEd69BC8A327a5aafb603',
@@ -7308,6 +7407,7 @@ const USDC = {
7308
7407
  [Blockchain.Ethereum_Sepolia]: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238',
7309
7408
  [Blockchain.Hedera_Testnet]: '0.0.429274',
7310
7409
  [Blockchain.HyperEVM_Testnet]: '0x2B3370eE501B4a559b57D449569354196457D8Ab',
7410
+ [Blockchain.Injective_Testnet]: '0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d',
7311
7411
  [Blockchain.Ink_Testnet]: '0xFabab97dCE620294D2B0b0e46C68964e326300Ac',
7312
7412
  [Blockchain.Linea_Sepolia]: '0xfece4462d57bd51a6a552365a011b95f0e16d9b7',
7313
7413
  [Blockchain.Monad_Testnet]: '0x534b2f3A21130d7a60830c2Df862319e593943A3',
@@ -9272,18 +9372,16 @@ const buildIrisUrl = (sourceDomainId, transactionHash, isTestnet) => {
9272
9372
  };
9273
9373
  /**
9274
9374
  * Fetches attestation data from the IRIS API with retry and timeout handling.
9275
- * Since fetching starts after a confirmed burn transaction, we attempt up to 10 retries.
9276
- * Implements a conservative delay between requests to respect the API rate
9277
- * limit of 35 requests per second. To avoid rate limiting when multiple processes are
9278
- * running concurrently, we enforce a 200ms delay between retries.
9279
9375
  *
9280
- * Each HTTP request is given a maximum of 2 seconds before it is aborted.
9281
- * We retry up to 10 times, waiting 200ms between attempts.
9376
+ * Polls the IRIS API until a complete attestation is available. The default
9377
+ * window is sized for slow source chains where finality may take many
9378
+ * confirmations.
9282
9379
  *
9283
- * The total maximum time this function might take (worst case) is:
9284
- * - Perattempt timeout: 2 000 ms
9285
- * - Retry delays: 9 × 200 ms = 1 800 ms
9286
- * - Total max time: 2 000 ms + 1 800 ms = 3 800 ms
9380
+ * Defaults (see `DEFAULT_CONFIG`):
9381
+ * - Per-attempt timeout: 2 000 ms (each HTTP request aborts after 2 s)
9382
+ * - Retry delay: 2 000 ms between attempts
9383
+ * - Max retries: 600 (30 × 20)
9384
+ * - Total worst-case polling window: 600 × (2 000 ms + 2 000 ms) ≈ 40 minutes
9287
9385
  *
9288
9386
  * @param sourceDomainId - The CCTP domain ID.
9289
9387
  * @param transactionHash - The transaction hash to fetch attestation for.
@@ -12143,7 +12241,7 @@ async function buildBatchedStep(name, receipt, batchId, adapter, chain, statusCo
12143
12241
  return step;
12144
12242
  }
12145
12243
 
12146
- var version = "1.7.0";
12244
+ var version = "1.8.0";
12147
12245
  var pkg = {
12148
12246
  version: version};
12149
12247
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@circle-fin/provider-cctp-v2",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "Circle's official Cross-Chain Transfer Protocol v2 provider for native USDC bridging",
5
5
  "keywords": [
6
6
  "circle",