@@ -10,13 +10,15 @@ import { constructTransferParams } from "../../helpers/eventParams";
10
10
0x7510792A3B1969F9307F3845CE88e39578f2bAE1 is OriginalTokenVaultV2
11
11
0x16365b45EB269B5B5dACB34B4a15399Ec79b95eB is PeggedTokenBridge
12
12
0x52E4f244f380f8fA51816c8a10A63105dd4De084 is PeggedTokenBridgeV2
13
+ 0x6065a982f04f759b7d2d042d2864e569fad84214 is CircleBridgeProxy
13
14
14
15
***Polygon***
15
16
0x88DCDC47D2f83a99CF0000FDF667A468bB958a78 is Celer Network: cBridge (pool-based)
16
17
0xc1a2D967DfAa6A10f3461bc21864C23C1DD51EeA is OriginalTokenVault
17
18
0x4C882ec256823eE773B25b414d36F92ef58a7c0C is OriginalTokenVaultV2
18
19
0x4d58FDC7d0Ee9b674F49a0ADE11F26C3c9426F7A is PeggedTokenBridge
19
20
0xb51541df05DE07be38dcfc4a80c05389A54502BB is PeggedTokenBridgeV2
21
+ 0xB876cc05c3C3C8ECBA65dAc4CF69CaF871F2e0DD is CircleBridgeProxy
20
22
21
23
***Fantom***
22
24
0x374B8a9f3eC5eB2D97ECA84Ea27aCa45aa1C57EF is Celer Network: cBridge (pool-based)
@@ -30,6 +32,7 @@ import { constructTransferParams } from "../../helpers/eventParams";
30
32
0xb51541df05DE07be38dcfc4a80c05389A54502BB is OriginalTokenVaultV2
31
33
0x88DCDC47D2f83a99CF0000FDF667A468bB958a78 is PeggedTokenBridge
32
34
0xb774C6f82d1d5dBD36894762330809e512feD195 is PeggedTokenBridgeV2
35
+ 0x9744ae566c64B6B6f7F9A4dD50f7496Df6Fef990 is CircleBridgeProxy
33
36
34
37
***BSC***
35
38
0xdd90E5E87A2081Dcf0391920868eBc2FFB81a1aF is Celer Network: cBridge 2.0 (pool-based)
@@ -43,11 +46,13 @@ import { constructTransferParams } from "../../helpers/eventParams";
43
46
0xFe31bFc4f7C9b69246a6dc0087D91a91Cb040f76 is OriginalTokenVault
44
47
0xEA4B1b0aa3C110c55f650d28159Ce4AD43a4a58b is OriginalTokenVaultV2
45
48
0xbdd2739AE69A054895Be33A22b2D2ed71a1DE778 is PeggedTokenBridge
49
+ 0x054B95b60BFFACe948Fa4548DA8eE2e212fb7C0a is CircleBridgeProxy
46
50
47
51
***Optimism***
48
52
0x9D39Fc627A6d9d9F8C831c16995b209548cc3401 is Celer Network: cBridge (pool-based)
49
53
0xbCfeF6Bb4597e724D720735d32A9249E0640aA11 is OriginalTokenVault
50
54
0x61f85fF2a2f4289Be4bb9B72Fc7010B3142B5f41 is PeggedTokenBridge
55
+ 0x697aC93c9263346c5Ad0412F9356D5789a3AA687 is CircleBridgeProxy
51
56
52
57
***Gnosis***
53
58
0x3795C36e7D12A8c252A20C5a7B455f7c57b60283 is Celer Network: cBridge 2.0 (pool-based)
@@ -78,6 +83,9 @@ import { constructTransferParams } from "../../helpers/eventParams";
78
83
79
84
***Scroll***
80
85
0x9B36f165baB9ebe611d491180418d8De4b8f3a1f is Celer Network: cBridge 2.0 (pool-based)
86
+
87
+ ***Base***
88
+ 0x243b40e96c6bF21511E53d85c86F6Ec982f9a879 is CircleBridgeProxy
81
89
*/
82
90
83
91
const contractAddresses = {
@@ -87,13 +95,15 @@ const contractAddresses = {
87
95
vaultV2 : [ "0x7510792A3B1969F9307F3845CE88e39578f2bAE1" ] ,
88
96
peggedV1 : [ "0x16365b45EB269B5B5dACB34B4a15399Ec79b95eB" ] ,
89
97
peggedV2 : [ "0x52E4f244f380f8fA51816c8a10A63105dd4De084" ] ,
98
+ celerCCTP : [ "0x6065a982f04f759b7d2d042d2864e569fad84214" ] ,
90
99
} ,
91
100
polygon : {
92
101
poolV1 : [ "0x88DCDC47D2f83a99CF0000FDF667A468bB958a78" ] ,
93
102
vaultV1 : [ "0xc1a2D967DfAa6A10f3461bc21864C23C1DD51EeA" ] ,
94
103
vaultV2 : [ "0x4C882ec256823eE773B25b414d36F92ef58a7c0C" ] ,
95
104
peggedV1 : [ "0x4d58FDC7d0Ee9b674F49a0ADE11F26C3c9426F7A" ] ,
96
105
peggedV2 : [ "0xb51541df05DE07be38dcfc4a80c05389A54502BB" ] ,
106
+ celerCCTP : [ "0xB876cc05c3C3C8ECBA65dAc4CF69CaF871F2e0DD" ] ,
97
107
} ,
98
108
fantom : {
99
109
poolV1 : [ "0x374B8a9f3eC5eB2D97ECA84Ea27aCa45aa1C57EF" ] ,
@@ -107,6 +117,7 @@ const contractAddresses = {
107
117
vaultV2 : [ "0xb51541df05DE07be38dcfc4a80c05389A54502BB" ] ,
108
118
peggedV1 : [ "0x88DCDC47D2f83a99CF0000FDF667A468bB958a78" ] ,
109
119
peggedV2 : [ "0xb774C6f82d1d5dBD36894762330809e512feD195" ] ,
120
+ celerCCTP : [ "0x9744ae566c64B6B6f7F9A4dD50f7496Df6Fef990" ] ,
110
121
} ,
111
122
bsc : {
112
123
poolV1 : [ "0xdd90E5E87A2081Dcf0391920868eBc2FFB81a1aF" ] ,
@@ -120,11 +131,13 @@ const contractAddresses = {
120
131
vaultV1 : [ "0xFe31bFc4f7C9b69246a6dc0087D91a91Cb040f76" ] ,
121
132
vaultV2 : [ "0xEA4B1b0aa3C110c55f650d28159Ce4AD43a4a58b" ] ,
122
133
peggedV1 : [ "0xbdd2739AE69A054895Be33A22b2D2ed71a1DE778" ] ,
134
+ celerCCTP : [ "0x054B95b60BFFACe948Fa4548DA8eE2e212fb7C0a" ] ,
123
135
} ,
124
136
optimism : {
125
137
poolV1 : [ "0x9D39Fc627A6d9d9F8C831c16995b209548cc3401" ] ,
126
138
vaultV1 : [ "0xbCfeF6Bb4597e724D720735d32A9249E0640aA11" ] ,
127
139
peggedV1 : [ "0x61f85fF2a2f4289Be4bb9B72Fc7010B3142B5f41" ] ,
140
+ celerCCTP : [ "0x697aC93c9263346c5Ad0412F9356D5789a3AA687" ] ,
128
141
} ,
129
142
xdai : {
130
143
poolV2 : [ "0x3795C36e7D12A8c252A20C5a7B455f7c57b60283" ] ,
@@ -155,6 +168,9 @@ const contractAddresses = {
155
168
} ,
156
169
scroll : {
157
170
poolV2 : [ "0x9B36f165baB9ebe611d491180418d8De4b8f3a1f" ] ,
171
+ } ,
172
+ base : {
173
+ celerCCTP : [ "0x243b40e96c6bF21511E53d85c86F6Ec982f9a879" ] ,
158
174
}
159
175
} as {
160
176
[ chain : string ] : {
@@ -164,6 +180,7 @@ const contractAddresses = {
164
180
vaultV2 ?: string [ ] ;
165
181
peggedV1 ?: string [ ] ;
166
182
peggedV2 ?: string [ ] ;
183
+ celerCCTP ?: string [ ] ;
167
184
} ;
168
185
} ;
169
186
@@ -354,6 +371,36 @@ const peggedV2DepositParams: PartialContractEventParams = {
354
371
isDeposit : true ,
355
372
} ;
356
373
374
+ // CCTP Deposit
375
+ const cctpDepositParams : PartialContractEventParams = {
376
+ target : "" ,
377
+ topic : "Deposited(address,bytes32,uint64,uint256,uint256,uint256,uint64)" ,
378
+ abi : [
379
+ "event Deposited(address sender, bytes32 recipient, uint64 dstChid, uint256 amount, uint256 txFee, uint256 percFee, uint64 nonce)" ,
380
+ ] ,
381
+ logKeys : {
382
+ blockNumber : "blockNumber" ,
383
+ txHash : "transactionHash" ,
384
+ } ,
385
+ argKeys : {
386
+ amount : "amount" ,
387
+ from : "sender" ,
388
+ } ,
389
+ fixedEventData : {
390
+ to : "" ,
391
+ } ,
392
+ inputDataExtraction : {
393
+ inputDataABI : [
394
+ "function depositForBurn(uint256 _amount, uint64 _dstChid, bytes32 _mintRecipient, address _burnToken)" ,
395
+ ] ,
396
+ inputDataFnName : "depositForBurn" ,
397
+ inputDataKeys : {
398
+ token : "_burnToken" ,
399
+ } ,
400
+ } ,
401
+ isDeposit : true ,
402
+ } ;
403
+
357
404
// TODO: needs refactoring, obviously
358
405
const constructParams = ( chain : string ) => {
359
406
let eventParams = [ ] as any ;
@@ -472,6 +519,18 @@ const constructParams = (chain: string) => {
472
519
eventParams . push ( finalPeggedWithdrawalParams , finalPeggedV2DepositParams ) ;
473
520
} ) ;
474
521
}
522
+ if ( chainAddresses . celerCCTP ) {
523
+ chainAddresses . celerCCTP . map ( ( address : string ) => {
524
+ const finalCCTPDepositParams = {
525
+ ...cctpDepositParams ,
526
+ target : address ,
527
+ fixedEventData : {
528
+ to : address ,
529
+ } ,
530
+ } ;
531
+ eventParams . push ( finalCCTPDepositParams ) ;
532
+ } ) ;
533
+ }
475
534
return async ( fromBlock : number , toBlock : number ) =>
476
535
getTxDataFromEVMEventLogs ( "celer" , chain as Chain , fromBlock , toBlock , eventParams ) ;
477
536
} ;
@@ -492,6 +551,7 @@ const adapter: BridgeAdapter = {
492
551
polygon_zkevm : constructParams ( "polygon_zkevm" ) ,
493
552
linea : constructParams ( "linea" ) ,
494
553
scroll : constructParams ( "scroll" ) ,
554
+ base : constructParams ( "base" ) ,
495
555
} ;
496
556
497
557
export default adapter ;
0 commit comments