Alamat Kontrak
Precompile, ID program, dan alamat kontrak yang di-deploy per chain.
Alamat precompile dibangun ke dalam program EVM Rome dan identik di setiap chain. Kontrak yang diterapkan per-chain adalah kanonik di dalam registri Rome. Tabel Hadrian dan Martius di bawah ini mencantumkan kontrak utama yang ditandai oleh registry (rilis v0.2.0) sebagai aktif; registry adalah satu-satunya sumber kebenaran, dan sebuah kontrak dapat diterapkan ulang setelah halaman ini ditulis. Lihat Membaca daftar kontrak untuk cara memilih alamat live di kode.
Precompile (semua chain)
Precompile Ethereum standar, dengan semantik setara mainnet:
ecrecover
0x0000000000000000000000000000000000000001
SHA-256
0x0000000000000000000000000000000000000002
RIPEMD-160
0x0000000000000000000000000000000000000003
identitas
0x0000000000000000000000000000000000000004
modexp
0x0000000000000000000000000000000000000005
BN254 add
0x0000000000000000000000000000000000000006
BN254 mul
0x0000000000000000000000000000000000000007
BN254 pairing
0x0000000000000000000000000000000000000008
blake2f
0x0000000000000000000000000000000000000009
Precompile non-EVM Rome, untuk menjangkau Solana (antarmuka di rome-solidity/contracts/interface.sol):
System
0xFF00000000000000000000000000000000000007
ISystemProgram
derivasi PDA, konversi base58
CpiProgram
0xFF00000000000000000000000000000000000008
ICrossProgramInvocation
CPI arbitrer + pembacaan lintas-state
HelperProgram
0xFF00000000000000000000000000000000000009
IHelperProgram
pembuatan ATA/PDA, transfer SPL, gas↔lamports
Penarikan
0x4200000000000000000000000000000000000016
IWithdraw
Penarikan SOL/SPL dari EVM ke Solana
SystemCached
0xFF00000000000000000000000000000000000004
ISystemCached
Helper System jalur cached
SplCached
0xFF00000000000000000000000000000000000005
ISplCached
Operasi SPL jalur cached
ASplCached
0xFF00000000000000000000000000000000000006
IAssociatedSplCached
Operasi ATA jalur cached
WithdrawCached
0xFF0000000000000000000000000000000000000b
IWithdrawCached
Penarikan jalur cached
Sebuah kontrak menggunakan satu jalur — legacy (SplCached nonaktif) atau cached — secara konsisten; keduanya tidak dicampur dalam satu pemanggilan.
ID Program
program rome-evm (program Solana yang menjalankan EVM), menurut jaringan Rome:
devnet (menampung Hadrian)
RPTWwELXAY4KC9ZPHhaxp7Sq1hHtU3HNEgLbSegCcWf
testnet (menampung Martius)
RomeTaTNPJNBxtB3Wong9geVTtkEFJfUqgktQVq3iSX
mainnet
RomePq9X3iAoTr813HR7uRarafFDUJty6GdiEceYpzX
Program Solana yang umum dikenal (sama seperti di mana pun di Solana):
SPL Token
TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
SPL Token-2022
TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
Token Terkait
ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL
Program Sistem
11111111111111111111111111111111
Metadata Token Metaplex
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s
Rome ZK EVM di Solana devnet
Program v0.3.0 ini digunakan bersama oleh chain ZK EVM yang dioperasikan operator di Solana devnet. daftar program bertag adalah sumber untuk ID ini.
zk-inbox
28948c2Qt1QtG2XJA823ytzCfj7U5cNNm3FuM2KoXsAa
zk-settlement
8anSjJZu5vgfNbESPLoKudVBNEraDZASwKJnkDLTCaGo
veritas
2cLGd9FKC7TiZrEHCvpw291AwXNcGgP9nDT4W3PHLe5k
zk-bridge
27TbMDUyVynpFpqeKygpUMcDzWKHfW4k9aRN5yCysLEQ
Citra node: ghcr.io/rome-protocol/rome-zk-evm:v0.3.0.
Kontrak yang diterapkan — Hadrian (devnet, 200010)
Kontrak utama, diambil dari aktif entri dari registry (v0.2.0). Seluruh set (wrapper SPL, Uniswap V2/V3/V4, Aave, feed oracle) ada di registry.
ERC20SPLFactory
0x37c13e4ff21fb914eb24014dcbd0f8dbeaa31078
Multicall3
0xb7180d3c46632b582b99d9af3daae394fab9ae4c
OracleAdapterFactory
0x52b008771fc95b4674a4f3533570b3d223f27f68
BatchReader
0x2869f0a96572e7fb15036656e9a32fd17346499b
RomeBridgeWithdraw
0x6eeacb4e6006b7a29c8141f69b6c75346dedec73
MeteoraDAMMv1Factory
0xd68b355f62643de0ec40243cba8f699f959ea3c4
UniswapV3Factory
0xD9E323088561D40267767b52252595ea9cF1D5bD
UniswapV4PoolManager
0x8a281Be9B5173B2F52328437eAa0d272791707f7
Kontrak yang diterapkan — Rubicon (mainnet, 7531)
Kontrak utama (registry publik hari ini menerbitkan set Hadrian dan Martius; set Rubicon dicantumkan di sini). Wrapper: wUSDC 0x0952d233b0c254cd375f3bfb3e5869c1a906f9b3, wETH 0x01e8b3573da1d4b7b4b1ce0932cf07c8af0c92e9, wSOL 0xc4e29e0f726a906e93277cbbc37bf27a9848a113.
ERC20SPLFactory
0x4068aa7482dc15e9f78e22fbe0f884531c83ae6e
Multicall3
0xd6e0b13ea70aea0d44db083544f01d8b7693a759
OracleAdapterFactory
0x6a1340dd86c3951b6f13d9001b3951d56a2fe581
BatchReader
0x580dc0ecb226530ee8a90b57e0f0cd2555fb4f0f
RomeBridgeWithdraw
0xceea191761cdba2fc589996d7dd096e57db29c84
WETH9
0x8dc8bf908efa4511f71a9e2ed95f46a70507f1ae
UniswapV2Factory
0x23af4d2065d24b42a1a17f22b963c9216d0a1dc2
UniswapV2Router
0x445d7af7888db44a4904b63336cc43446dfb37f7
UniswapV3Factory
0x02aed7762fdc8bae826e7ee0ac2d2e1f754ba025
SwapRouter (V3)
0x680b7645c63421e33584a02aca91be6642d3d034
NonfungiblePositionManager (V3)
0xfb132adf6b7d811408f3639e91c8f638bddd6123
QuoterV2 (V3)
0x1d68d09dcc3a8c1b9aa8f0e2b138205c04bad4a7
Kontrak yang diterapkan — Martius (testnet, 121214)
Kontrak utama, diambil dari aktif entri dari registry (v0.2.0). Seluruh set ada di registry.
ERC20SPLFactory
0x405ded76ebae104ebe8345a649c6cbbf37efff00
Multicall3
0x549afb8019a29ece3ba3b3d9c13208c441a309ea
OracleAdapterFactory
0x8c92fd70360df63246cd0c8247119c79234b26ae
BatchReader
0xab10948dc8b5bdaea0b31266b663022e7492e9cd
RomeBridgeWithdraw
0x306cb6b1a072af9ac5752a2be49bc52b02a20a52
MeteoraDAMMv1Factory
0xdfe655f64325f93abef8b429387928ef16ba4c5d
UniswapV3Factory
0x7fbe0271395c57c12761a3d6db80ef1c315c63f8
SPL_ERC20_USDC (token gas)
0xd3201dc0f6fd1fe12c1fc297fb2b35927ad483b0
Membaca daftar kontrak
Setiap folder chain di registry memiliki contracts.json. Ini adalah daftar kontrak. Setiap entri memiliki nama dan versions[] daftar, dan setiap versi memiliki alamat, sebuah version dan status dari aktif, usang atau pensiun. Kontrak yang diterapkan ulang menyimpan versi lamanya di daftar, jadi item pertama atau terakhir belum tentu yang harus digunakan. Pilih versi yang status adalah "live". Beberapa entri (kontrak Aave milik Hadrian) memiliki lebih dari satu versi live, jadi lakukan penyaringan pada status dan pilih secara sengaja, bukan mengambil kecocokan pertama.
getContracts(chainId) mengembalikan daftar untuk chain tersebut, atau null jika chain tersebut belum dipublikasikan. Beberapa entri sama sekali tidak memiliki versi live (salah satunya RomeswapMinimalRouter adalah satu), jadi pastikan bahwa find menemukan sesuatu sebelum membaca .addressPaket registry diinstal dari GitHub, bukan npm: npm install github:rome-protocol/rome-registry#v0.2.0.
Lingkungan
Rubicon (mainnet)
7531
rubicon.mainnet.romeprotocol.xyz
Aktif
Martius (testnet)
121214
martius.testnet.romeprotocol.xyz
Aktif
Hadrian (devnet)
200010
hadrian.testnet.romeprotocol.xyz
Aktif
Terakhir diperbarui
Apakah ini membantu?