|
52 | 52 | setClaimEventSignature = crypto.Keccak256Hash([]byte( |
53 | 53 | "SetClaim(bytes32)", |
54 | 54 | )) |
| 55 | + backwardLETEventSignature = crypto.Keccak256Hash([]byte("BackwardLET(uint256,bytes32,uint256,bytes32)")) |
55 | 56 |
|
56 | 57 | claimAssetEtrogMethodID = common.Hex2Bytes("ccaa2d11") |
57 | 58 | claimMessageEtrogMethodID = common.Hex2Bytes("f5efcd79") |
@@ -110,6 +111,10 @@ func buildAppender( |
110 | 111 | appender[removeLegacySovereignTokenEventSignature] = buildRemoveLegacyTokenHandler(bridgeDeployment.agglayerBridgeL2) |
111 | 112 | appender[unsetClaimEventSignature] = buildUnsetClaimEventHandler(bridgeDeployment.agglayerBridgeL2) |
112 | 113 | appender[setClaimEventSignature] = buildSetClaimEventHandler(bridgeDeployment.agglayerBridgeL2) |
| 114 | + appender[backwardLETEventSignature] = buildBackwardLETEventHandler(bridgeDeployment.agglayerBridgeL2) |
| 115 | + |
| 116 | + default: |
| 117 | + return nil, fmt.Errorf("unsupported bridge deployment kind: %d", bridgeDeployment.kind) |
113 | 118 | } |
114 | 119 |
|
115 | 120 | return appender, nil |
@@ -419,6 +424,26 @@ func buildSetClaimEventHandler(contract *agglayerbridgel2.Agglayerbridgel2) func |
419 | 424 | } |
420 | 425 | } |
421 | 426 |
|
| 427 | +// buildBackwardLETEventHandler creates a handler for the BackwardLET event log |
| 428 | +func buildBackwardLETEventHandler(contract *agglayerbridgel2.Agglayerbridgel2) func(*sync.EVMBlock, types.Log) error { |
| 429 | + return func(b *sync.EVMBlock, l types.Log) error { |
| 430 | + event, err := contract.ParseBackwardLET(l) |
| 431 | + if err != nil { |
| 432 | + return fmt.Errorf("error parsing BackwardLET event log %+v: %w", l, err) |
| 433 | + } |
| 434 | + |
| 435 | + b.Events = append(b.Events, Event{BackwardLET: &BackwardLET{ |
| 436 | + BlockNum: b.Num, |
| 437 | + BlockPos: uint64(l.Index), |
| 438 | + PreviousDepositCount: event.PreviousDepositCount, |
| 439 | + PreviousRoot: event.PreviousRoot, |
| 440 | + NewDepositCount: event.NewDepositCount, |
| 441 | + NewRoot: event.NewRoot, |
| 442 | + }}) |
| 443 | + return nil |
| 444 | + } |
| 445 | +} |
| 446 | + |
422 | 447 | type Call struct { |
423 | 448 | From common.Address `json:"from"` |
424 | 449 | To common.Address `json:"to"` |
|
0 commit comments