Skip to content

Commit bccdd15

Browse files
authored
prepare USDC gobindings for official release. (#1375)
* prepare USDC gobindings for official release. * attempt CI fixes * remove unnec. CI requirements. * metadata wrapper regen * update zksync gobindings
1 parent 80db65d commit bccdd15

35 files changed

+18882
-33
lines changed

.github/workflows/solidity-build-and-publish.yml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -87,16 +87,6 @@ jobs:
8787
working-directory: chains/evm
8888
run: make wrappers
8989

90-
- name: Run native compile and generate wrappers including metadata
91-
if: ${{ needs.tag-check.outputs.is-release-ccip == 'true' || needs.tag-check.outputs.is-pre-release-ccip == 'true' }}
92-
working-directory: chains/evm
93-
run: make wrappers-release
94-
95-
- name: Install and run forge --zksync, and generate wrappers
96-
if: ${{ needs.tag-check.outputs.is-release-ccip == 'true' || needs.tag-check.outputs.is-pre-release-ccip == 'true' }}
97-
working-directory: chains/evm
98-
run: make wrappers-zksync
99-
10090
- name: Check if Go solidity wrappers are updated
10191
working-directory: chains/evm
10292
run: |

chains/evm/.gas-snapshot

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ ERC20LockBox_configureAllowedCallers:test_ConfigureAllowedCallers_RemoveNonExist
5959
ERC20LockBox_configureAllowedCallers:test_ConfigureAllowedCallers_RemoveSingleCaller() (gas: 49971)
6060
ERC20LockBox_configureAllowedCallers:test_ConfigureAllowedCallers_ZeroAddress() (gas: 53228)
6161
ERC20LockBox_configureAllowedCallers:test_ConfigureAllowedCallers_ZeroTokenAddress() (gas: 11266)
62-
ERC20LockBox_constructor:test_Constructor_Success() (gas: 670901)
62+
ERC20LockBox_constructor:test_Constructor_Success() (gas: 670101)
6363
ERC20LockBox_deposit:test_Deposit_FromDifferentCallers() (gas: 487682)
6464
ERC20LockBox_deposit:test_Deposit_MultipleDeposits() (gas: 90486)
6565
ERC20LockBox_withdraw:test_Withdraw_EventEmission() (gas: 99543)
@@ -550,12 +550,12 @@ TokenPool_validateReleaseOrMint:test_validateReleaseOrMint_Success() (gas: 39621
550550
USDCSourcePoolDataCodec__calculateDepositHash:test__calculateDepositHash() (gas: 9917)
551551
USDCSourcePoolDataCodec__decodeSourceTokenDataPayloadV2:test__decodeSourceTokenDataPayloadV2_CCTPV2() (gas: 5161)
552552
USDCSourcePoolDataCodec__decodeSourceTokenDataPayloadV2:test__decodeSourceTokenDataPayloadV2_CCTPV2CCV() (gas: 4916)
553-
USDCTokenPoolCCTPV2_constructor:test_constructor() (gas: 3470365)
553+
USDCTokenPoolCCTPV2_constructor:test_constructor() (gas: 3469557)
554554
USDCTokenPoolCCTPV2_lockOrBurn:test_lockOrBurn() (gas: 129947)
555555
USDCTokenPoolCCTPV2_lockOrBurn:test_lockOrBurn_MinFeeNotSupported() (gas: 114123)
556556
USDCTokenPoolCCTPV2_lockOrBurn:test_lockOrBurn_MintRecipientOverride() (gas: 157604)
557557
USDCTokenPoolCCTPV2_releaseOrMint:test_releaseOrMint_RealTx() (gas: 265533)
558-
USDCTokenPoolProxy_constructor:test_constructor() (gas: 1823082)
558+
USDCTokenPoolProxy_constructor:test_constructor() (gas: 1822282)
559559
USDCTokenPoolProxy_generateNewReleaseOrMintIn:test_generateNewReleaseOrMintIn() (gas: 35218)
560560
USDCTokenPoolProxy_lockOrBurn:test_lockOrBurn_CCTPV1() (gas: 104790)
561561
USDCTokenPoolProxy_lockOrBurn:test_lockOrBurn_CCTPV2() (gas: 94306)
@@ -572,7 +572,7 @@ USDCTokenPoolProxy_updateLockReleasePoolAddresses:test_updateLockReleasePoolAddr
572572
USDCTokenPoolProxy_updateLockReleasePoolAddresses:test_updateLockReleasePoolAddresses_Single() (gas: 52529)
573573
USDCTokenPoolProxy_updateLockReleasePoolAddresses:test_updateLockReleasePoolAddresses_ZeroAddress() (gas: 25431)
574574
USDCTokenPoolProxy_updatePoolAddresses:test_updatePoolAddresses() (gas: 55499)
575-
USDCTokenPool_constructor:test_constructor() (gas: 3377453)
575+
USDCTokenPool_constructor:test_constructor() (gas: 3376653)
576576
USDCTokenPool_lockOrBurn:test_LockOrBurn() (gas: 130897)
577577
USDCTokenPool_lockOrBurn:test_LockOrBurn_LegacySourcePoolDataFormat() (gas: 143822)
578578
USDCTokenPool_lockOrBurn:test_LockOrBurn_MintRecipientOverride() (gas: 159364)

chains/evm/CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
## 1.6.4
2+
3+
CCIP 1.6.4 is a minor release that overhauls the USDC Token Pool to add support for CCTP V2 and enable easier future
4+
upgradability of USDC and Lock/Release Token Pools.
5+
6+
### New Features
7+
8+
Key Improvements include:
9+
10+
- [#1115](https://github.com/smartcontractkit/chainlink-ccip/pull/1115) - **ERC20Lockbox** - To better support token pools
11+
which hold tokens, a new contract has been created which will hold the tokens for the token pool instead. This allows users
12+
which utilize Lock/Release pools to upgrade their token pool without having to engage in liquidity migrations. Instead only a
13+
simple configuration call is needed. The SiloedLockReleaseTokenPool has also been modified to support the lockbox.
14+
15+
- [#1133](https://github.com/smartcontractkit/chainlink-ccip/pull/1133) - **USDCTokenPoolCCTPV2** - A modified version of
16+
the USDC Token Pool which is capable of supporting Circle's CCTP V2. As CCTP V1 is being phased out, all existing USDC
17+
Token Pools will be migrated to this in the near future.
18+
19+
- [#1134](https://github.com/smartcontractkit/chainlink-ccip/pull/1134) - **USDCTokenPoolProxy** - A versatile new dispatcher
20+
contract which allows USDC to be sent using different mechanisms based on the destination chain including CCTP V1, CCTP V2, and Lock/Mint.
121

222
## 1.6.3
323

chains/evm/contracts/pools/ERC20LockBox.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ contract ERC20LockBox is ITypeAndVersion {
5353
/// without requiring the token pool owner's approval.
5454
mapping(address token => mapping(address caller => bool isAllowed)) internal s_allowedCallers;
5555

56-
string public constant typeAndVersion = "ERC20LockBox 1.6.2-dev";
56+
string public constant typeAndVersion = "ERC20LockBox 1.6.4";
5757

5858
constructor(
5959
address tokenAdminRegistry

chains/evm/contracts/pools/SiloedLockReleaseTokenPool.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ contract SiloedLockReleaseTokenPool is TokenPool, ITypeAndVersion {
6767

6868
/// @notice Using a function because constant state variables cannot be overridden by child contracts.
6969
function typeAndVersion() external pure virtual override returns (string memory) {
70-
return "SiloedLockReleaseTokenPool 1.6.x-dev";
70+
return "SiloedLockReleaseTokenPool 1.6.4";
7171
}
7272

7373
/// @notice Locks the token in the pool

chains/evm/contracts/pools/USDC/SiloedUSDCTokenPool.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ contract SiloedUSDCTokenPool is SiloedLockReleaseTokenPool, AuthorizedCallers {
7171

7272
/// @notice Using a function because constant state variables cannot be overridden by child contracts.
7373
function typeAndVersion() external pure virtual override returns (string memory) {
74-
return "SiloedUSDCTokenPool 1.6.x-dev";
74+
return "SiloedUSDCTokenPool 1.6.4";
7575
}
7676

7777
/// @inheritdoc SiloedLockReleaseTokenPool

chains/evm/contracts/pools/USDC/USDCTokenPool.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ contract USDCTokenPool is TokenPool, ITypeAndVersion, AuthorizedCallers {
155155

156156
/// @notice Using a function because constant state variables cannot be overridden by child contracts.
157157
function typeAndVersion() external pure virtual override returns (string memory) {
158-
return "USDCTokenPool 1.6.x-dev";
158+
return "USDCTokenPool 1.6.4";
159159
}
160160

161161
/// @notice Burn tokens from the pool to initiate cross-chain transfer.

chains/evm/contracts/pools/USDC/USDCTokenPoolCCTPV2.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ contract USDCTokenPoolCCTPV2 is USDCTokenPool {
3434
uint256 public constant MIN_USDC_MESSAGE_LENGTH = 280;
3535

3636
function typeAndVersion() external pure virtual override returns (string memory) {
37-
return "USDCTokenPoolCCTPV2 1.6.x-dev";
37+
return "USDCTokenPoolCCTPV2 1.6.4";
3838
}
3939

4040
/// @dev This contract is only used for CCTP V2, which is why the supportedUSDCVersion field of the parent

chains/evm/contracts/pools/USDC/USDCTokenPoolProxy.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ contract USDCTokenPoolProxy is Ownable2StepMsgSender, IPoolV1, ITypeAndVersion {
7070
/// @dev The legacy CCTP V1, CCTP V1, and CCTP V2 pools which interact with CCTP contracts.
7171
PoolAddresses internal s_pools;
7272

73-
string public constant override typeAndVersion = "USDCTokenPoolProxy 1.6.x-dev";
73+
string public constant override typeAndVersion = "USDCTokenPoolProxy 1.6.4";
7474

7575
constructor(IERC20 token, PoolAddresses memory pools, address router) {
7676
// Note: It is not required that every pool address be set, as this proxy may be deployed on a chain which does not

chains/evm/gobindings/generated/latest/erc20_lock_box/erc20_lock_box.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)