Scroll Yükseltmeleri

Ekip Scroll’un yol haritası üzerinde ilerlemeye devam ettikçe, Scroll ağını yeni özellikler ve iyileştirmeler içerecek şekilde yükselteceğiz.

Aşağıdaki sözleşmeler, yükseltmeleri başlatmak ve iki haftalık zaman kilitleme süresinden sonra yükseltmeleri yürütmek için kullanılır:

KontratAdres
L1 Scroll MultisigEthereum0xEfc9D1096fb65c832207E5e7F13C2D1102244dbe
L1 TimelockEthereum0x1A658B88fD0a3c82fa1a0609fCDbD32e7dd4aB9C
L2 Scroll MultisigScroll0xEfc9D1096fb65c832207E5e7F13C2D1102244dbe
L2 TimelockScroll0xf6069DB81239E5194bb53f83aF564d282357bc99

Şubat 2024 Köprü Yükseltmesi

Genel Bakış

Köprüleme maliyetlerini azaltmak için köprü ve rollup sözleşme paketimizde çeşitli gas optimizasyonları uyguladık. Kullanılan optimizasyon teknikleri aşağıdakileri içerir:

  • Artık bazı tamamlayıcı sözleşme adreslerini depolamak için depolama değişkenleri yerine sabitleri kullanacağız. Bu değerlerin (neredeyse) asla değişmemesi gerektiğinden bu mümkündür. Bu değişiklikle birkaç depolama yükleme işleminden tasarruf edebiliriz.
  • L1MessageQueuedaki içsel gas tahminini, kesin bir hesaplama yerine basit bir üst sınır kullanacak şekilde güncelledik. Çoğu köprü işlemi için iki sonuç benzer olacaktır ancak yeni uygulama önemli ölçüde daha ucuzdur.
  • Bir sözleşmeden diğerine çağrı maliyetlerinden tasarruf etmek için iki sözleşme L1MessageQueue ve L2GasPriceOracleyı birleştirdik.

Zaman çizelgesi

  • Scroll Sepolia:
  • Ağ Yükseltmesi: 19 Ocak 2024
  • Scroll Ana Ağ:
  • Yükseltme Başlatma: 7 Şubat 2024
  • Zaman Kilidinin Tamamlanması ve Yükseltilmesi: 21 Şubat 2024

Teknik detaylar

Kod Değişiklikleri

Denetimler

Değişiklik Listesi

L1 sözleşmelerindeki değişiklikler:

  • ScrollChainde, messageQueue ve verifierı immutable yaptık.
  • L1ScrollMessengerda, counterpart, rollup, ve messageQueueyu immutable yaptık.
  • Tüm token ağ geçitlerinde, counterpart, router, ve messengerı immutable yaptık.
  • L1MessageQueue ve L2GasPriceOracleı tek bir L1MessageQueueWithGasPriceOracle sözleşmesinde birleştirdik (önceki L1MessageQueue ile aynı adrese konuşlandırıldı). Bu sözleşmede ayrıca messenger ve scrollChaini değişmez olarak değiştiriyoruz ve calculateIntrinsicGasFeeyi basitleştiriyoruz.

L2 sözleşmelerindeki değişiklikler:

  • L2ScrollMessengerda counterpartı immutable olacak şekilde değiştirdik.
  • Tüm token ağ geçitlerinde, counterpart, router, ve messengerı to immutable olacak şekilde değiştirdik.

Etkilenen sözleşmeler:

  • L1: L1MessageQueue, L2GasPriceOracle, ScrollChain, L1WETHGateway, L1StandardERC20Gateway, L1GatewayRouter, L1ScrollMessenger, L1CustomERC20Gateway, L1ERC721Gateway, L1ERC1155Gateway.
  • L2: L2ScrollMessenger, L2WETHGateway, L2StandardERC20Gateway, L2GatewayRouter, L2CustomERC20Gateway, L2ERC721Gateway, L2ERC1155Gateway.

Uyumluluk

Sıralayıcı ve takipçi düğümleri (l2geth)

l2geth düğümü çalıştıran operatörlerin yükseltme yapmasına gerek yoktur. Bu yükseltmedeki değişiklikler l2gethi etkilemeyecektir.

Dapp’ler ve indexer’lar

Sözleşmeleri sorgulayan veya sözleşme arayüzlerine dayanan dapp’lerin ve indeksleyicilerin (ve benzer zincir dışı altyapının) çoğu durumda değiştirilmesine gerek yoktur. Sözleşme değişikliklerinin çoğunluğu dahili ve/veya geriye dönük olarak uyumludur.

Uygulamanız, Scroll’un L1’deki L2 gas fiyatını nasıl takip ettiğini izlemek için L2GasPriceOracle’ye bağlıysa yükseltme blok numarasından izlemeye başlamanız gerekir L1MessageQueueWithGasPriceOracle.

Orijinal gas fiyatı oracle sözleşmesi kullanımdan kaldırılacak: artık Scroll köprüsü tarafından güncellenmeyecek veya kullanılmayacaktır.

Scroll Geliştirici haberlerini yakından takip edin
Güncellemeler, online ve yüz yüze etkinlikler, ekosistemdeki fırsatlar ve daha fazlası
Takip ettiğiniz için teşekkür ederiz!

Kaynaklar

Bizi Takip Edin