@@ -475,10 +475,10 @@ func (st *StateTransition) TransitionDb() (*ExecutionResult, error) {
475475 st .state .SetNonce (msg .From , st .state .GetNonce (sender .Address ())+ 1 )
476476 ret , st .gasRemaining , vmerr = st .evm .Call (sender , st .to (), msg .Data , st .gasRemaining , msg .Value )
477477 if vmerr == nil && chainID != nil {
478- if isSongbird {
479- handleSongbirdTransitionDbContracts (st , chainID , timestamp , msg , ret )
480- } else {
481- handleFlareTransitionDbContracts (st , chainID , timestamp , msg , ret )
478+ if isSongbird { // Songbird, Coston, Local (Songbird)
479+ handleSongbirdTransitionDbContracts (st , rules . IsDurango , chainID , timestamp , msg , ret )
480+ } else if isFlare { // Flare, Coston2, Local (Flare)
481+ handleFlareTransitionDbContracts (st , rules . IsDurango , chainID , timestamp , msg , ret )
482482 }
483483 }
484484 }
@@ -514,8 +514,8 @@ func (st *StateTransition) TransitionDb() (*ExecutionResult, error) {
514514 }, nil
515515}
516516
517- func handleSongbirdTransitionDbContracts (st * StateTransition , chainID * big.Int , timestamp uint64 , msg * Message , ret []byte ) {
518- if GetStateConnectorIsActivatedAndCalled (chainID , timestamp , * msg .To ) &&
517+ func handleSongbirdTransitionDbContracts (st * StateTransition , isDurango bool , chainID * big.Int , timestamp uint64 , msg * Message , ret []byte ) {
518+ if GetStateConnectorIsActivatedAndCalled (isDurango , chainID , timestamp , * msg .To ) &&
519519 len (msg .Data ) >= 36 && len (ret ) == 32 &&
520520 bytes .Equal (msg .Data [0 :4 ], SubmitAttestationSelector (chainID , timestamp )) &&
521521 binary .BigEndian .Uint64 (ret [24 :32 ]) > 0 {
@@ -525,12 +525,12 @@ func handleSongbirdTransitionDbContracts(st *StateTransition, chainID *big.Int,
525525 }
526526}
527527
528- func handleFlareTransitionDbContracts (st * StateTransition , chainID * big.Int , timestamp uint64 , msg * Message , ret []byte ) {
528+ func handleFlareTransitionDbContracts (st * StateTransition , isDurango bool , chainID * big.Int , timestamp uint64 , msg * Message , ret []byte ) {
529529 if st .evm .Context .Coinbase != common .HexToAddress ("0x0100000000000000000000000000000000000000" ) {
530530 return
531531 }
532532
533- if GetStateConnectorIsActivatedAndCalled (chainID , timestamp , * msg .To ) &&
533+ if GetStateConnectorIsActivatedAndCalled (isDurango , chainID , timestamp , * msg .To ) &&
534534 len (msg .Data ) >= 36 && len (ret ) == 32 &&
535535 bytes .Equal (msg .Data [0 :4 ], SubmitAttestationSelector (chainID , timestamp )) &&
536536 binary .BigEndian .Uint64 (ret [24 :32 ]) > 0 {
0 commit comments