diff --git a/evm_loader/lib/src/commands/get_holder.rs b/evm_loader/lib/src/commands/get_holder.rs index d4bdf3dce..76e8a51bb 100644 --- a/evm_loader/lib/src/commands/get_holder.rs +++ b/evm_loader/lib/src/commands/get_holder.rs @@ -54,6 +54,7 @@ pub struct GetHolderResponse { pub accounts: Option>, pub steps_executed: u64, + pub last_slot: u64, } impl GetHolderResponse { @@ -139,7 +140,7 @@ pub fn read_holder(program_id: &Pubkey, info: AccountInfo) -> NeonResult NeonResult Err(ProgramError::InvalidAccountData.into()), diff --git a/evm_loader/program-macro/src/config_parser.rs b/evm_loader/program-macro/src/config_parser.rs index 62a05f15e..7f2e3dc1b 100644 --- a/evm_loader/program-macro/src/config_parser.rs +++ b/evm_loader/program-macro/src/config_parser.rs @@ -13,7 +13,6 @@ use toml::Table; #[derive(Deserialize)] pub struct NetSpecificConfig { pub program_id: String, - pub operators_whitelist: Vec, pub neon_chain_id: u64, pub neon_token_mint: String, pub chains: Vec, @@ -32,12 +31,6 @@ impl Parse for NetSpecificConfig { let root = file_contents.parse::().unwrap(); let program_id = root["program_id"].as_str().unwrap().to_string(); - let operators_whitelist = root["operators_whitelist"] - .as_array() - .unwrap() - .iter() - .map(|v| v.as_str().unwrap().to_string()) - .collect::>(); let no_update_tracking_owners = root["no_update_tracking_owners"] .as_array() @@ -73,7 +66,6 @@ impl Parse for NetSpecificConfig { Ok(Self { program_id, - operators_whitelist, neon_chain_id, neon_token_mint, chains, diff --git a/evm_loader/program-macro/src/lib.rs b/evm_loader/program-macro/src/lib.rs index 2b3f2000d..b8371a6c6 100644 --- a/evm_loader/program-macro/src/lib.rs +++ b/evm_loader/program-macro/src/lib.rs @@ -68,19 +68,10 @@ pub fn net_specific_config_parser(tokens: TokenStream) -> TokenStream { program_id, neon_chain_id, neon_token_mint, - operators_whitelist, no_update_tracking_owners, mut chains, } = parse_macro_input!(tokens as NetSpecificConfig); - let mut operators: Vec> = operators_whitelist - .iter() - .map(|key| bs58::decode(key).into_vec().unwrap()) - .collect(); - - operators.sort_unstable(); - let operators_len = operators.len(); - let mut no_update_tracking_owners: Vec> = no_update_tracking_owners .iter() .map(|key| bs58::decode(key).into_vec().unwrap()) @@ -108,10 +99,6 @@ pub fn net_specific_config_parser(tokens: TokenStream) -> TokenStream { neon_elf_param!(NEON_CHAIN_ID, #neon_chain_id_str); neon_elf_param!(NEON_TOKEN_MINT, #neon_token_mint); - pub const AUTHORIZED_OPERATOR_LIST: [::solana_program::pubkey::Pubkey; #operators_len] = [ - #(::solana_program::pubkey::Pubkey::new_from_array([#((#operators),)*]),)* - ]; - pub const NO_UPDATE_TRACKING_OWNERS: [::solana_program::pubkey::Pubkey; #no_update_tracking_owners_len] = [ #(::solana_program::pubkey::Pubkey::new_from_array([#((#no_update_tracking_owners),)*]),)* ]; diff --git a/evm_loader/program/config/common.toml b/evm_loader/program/config/common.toml index 3ff81fe8d..c98188bca 100644 --- a/evm_loader/program/config/common.toml +++ b/evm_loader/program/config/common.toml @@ -7,3 +7,4 @@ gas_limit_multiplier_no_chainid = 1000 storage_entries_in_contract_account = [64, "usize"] treasury_pool_count = 128 treasury_pool_seed = "treasury_pool" +cancel_timeout = 100 diff --git a/evm_loader/program/config/default.toml b/evm_loader/program/config/default.toml index 5939e4b37..6ddcc0fa9 100644 --- a/evm_loader/program/config/default.toml +++ b/evm_loader/program/config/default.toml @@ -2,40 +2,6 @@ program_id = "53DfF883gyixYNXnM7s5xhdeyV8mVk9T4i2hGV9vG9io" no_update_tracking_owners = [] -operators_whitelist = [ - "9kPRbbwKL5SYELF4cZqWWFmP88QkKys51DoaUBx8eK73", - "BMp6gEnveANdvSvspESJUrNczuHz1GF5UQKjVLCkAZih", - "CVAimMqtcmSUCV4RLZSJAreDpEd7JEZmrvCVj85yaRzZ", - "5mszzfV23zRfcAdn9d7kmW6Qn57SGkpGywyqyVCVc817", - "AdtXr9yGAsTokY75WernsmQdcBPu2LE2Bsh8Nx3ApbbR", - "2k8NURTZ8xd1qD2JhujP2MjxkLgLHUmwpXP8FNSP7ntd", - "EkEBZJmw4uKfvruf3c6EFJeWeAY3rev3hRsp2S4BDV3M", - "9LosHtRuxtFYtj2bJfvkcZpDywtdktpAabRQ7hCQasmt", - "FHYUtkDhNaMdaKzP2y7ZXmy6HtiKz7uahz19CPUkjeiD", - "3NqgsSRfjpmDfzRH4PLKrzBvMc8MgFXgU58Yy8n41KF5", - "8HStt6KLgRY8CBNmDjwMTZhCFrXeVrEgVp3jTS4gaRYR", - "V6fr3EgLUYFSGgzPBxTnhrieeAratBX46AGvAtmQ2Xe", - "7r5GAh4SDhBwxg98vT86Q8sA8c9zEgJduSWWCV1y48V", - "GwUnjJs6i7TKGjy71PvFpGN7yu9xqA8Cs1oyV4zSVPvq", - "EdSEh9UxXjbrrHLrH5manpxfXi7HxzkAMDAotPC5DggQ", - "9s7umnvnGqT1nvrCgzvBwWFyaaYABj64LxiBpjAayLiv", - "2Ma3MxGpKmk2KPbp631bNhm2NcSMU6oxFgtj2FfzkiBF", - "2v3dnQQaBALRmaQ1Jr7GbCVagTqEBKHPZ65b4nAmdDmN", - "47dYMgKdKxRGuGBpjH58eGuj1n4FXC6v4QTcpCSaVC2c", - "5dyQQATyk4yga4f4m8BCrUF1jdfGQ1mShV4ezFLxyCqW", - "7C6iuRYzEJEwe878X2TeMDoCHPEw85ZhaxapNEBuqwL9", - "82YcsM5eN83trdhdShGUF4crAC4CGgFJ7EWd2vnGiSsb", - "A3CEBvqJPPgHPARxzUQUafHXC4iU6x4iZzNudJ1Tks4z", - "AezpxgT4Qbo1pB9cLgBzzET7V2t7yK2ZrJrhDTCwxac9", - "CXJy6dzL8kAazo5jhBf8MuW17nJ8dW23EfzPmqTJ6P5H", - "DPRfsB8HQrJZM5g3B74rqZSmvtJn41PavhKBjmCRb45R", - "EbkUFw2EQkG85ua4sQy54Y6c988j7zkSAjkD6gRUTA3u", - "F4nLmDy62mhYiY4gGmRXDYpdFM4mLrm9t5YLpqTDMBz5", - "GHGLwKXzo2fAtLAVNJisP7wNyCRWBcmHEzCD36UcutW1", - "GZ3vKajaDjxFkiczL4g6as3qhMg7tdMgrMrpuApGWF8D", - "eXiURdoUQ4JpUysAevcTPiLMdWwG8q6mRAmice5Kioh", -] - [chain.neon] id = 111 token = "HPsV9Deocecw3GeZv1FkAPNCBRfuVyfw9MMwjwRe1xaU" diff --git a/evm_loader/program/config/devnet.toml b/evm_loader/program/config/devnet.toml index 656d3add3..55f5c2e72 100644 --- a/evm_loader/program/config/devnet.toml +++ b/evm_loader/program/config/devnet.toml @@ -6,397 +6,6 @@ no_update_tracking_owners = [ "gSbePebfvPy7tRqimPoVecS2UsBvYv46ynrzWocc92s", # Pyth legacy oracle ] -operators_whitelist = [ - "NeoQM3utcHGxhKT41Nq81g8t4xGcPNFpkAgYj1N2N8v", - "Gw3Xiwve6HdvpJeQguhwT23cpK9nRjSy1NpNYCFY4XU9", - "Fg4uzL4QDfL6x56YFUcJBJSK3PqV4yXoFmXzZQkxn2DK", - "8Uh8Rp1FWBiaDejyrZZhRY448oeG7GwKUyPDufP2Xxu7", - "6ndMCacBc69VXqgNbcW3BLk2am9oeUDZa6SgBjHozDPd", - "GEsnEWcKapTk7cgRoixBvCDc7yYuhmoMjpJ2v7mvmsBZ", - "G5397iLxoKKYgMkFfkYBhJYEtErD7ygz8APmH59H8FM6", - "rDeo4nZPE2aWpBkqFXBH8ygh1cD63nEKZPiDrpmQad6", - "8hipwtwcmRH3iypYModkYFNXYGUEbxvpfqRhxPxx5Amx", - "4fvtx2gJYJVd4o6CQt8Bdnc7dg5p2cgnb8oNUs7BGdd5", - "9EMY6Xx18hN39CnzM6D5y9vuPa3YJ5ttbWRPJp3SX1Qk", - "EMgay3kYFzHSh9PruAeRHxuGmNdsRQ6yPxzSAtU7PF7N", - "4s5hHKLrfF7mcjfgwsRKdkubnC2VtswGpR2XGTCJaz3M", - "F3V1pCfk1ZNk7Sdyh9N1H5eMtJq9XfhHR83fF8qa41Vt", - "2GDfarSJnNC6ii5tQVE9rBH81Ny35LxrSCZ7tFhktSqi", - "4Mh3ik4iS6MBxHy1VBN89vBiiPRDkebtnybDWnfTtpfC", - "CyepBgaNezMJgLjy6Zyz9ECUia33dwDi9aXtRsZEhWX1", - "HN4FeaSXB8t3FDW85hRw8mK1hYETJGeqhkkxJr6j2GiV", - "5kKd1iy6onhCkzDq6DBw6woHLas3fy6HX4Yz8t1VPc1r", - "AqwN5pPsf9pnUZUSo7SmELRrBxxFnycEnTx5spVji4R6", - "FtFt7sMNfPUTWKx3otH4aor4KWoFdk9p5qSyxmSj4ZVH", - "FMMshJoSaNaNFdHseaWAgvHTypS4zggr3fpqEa1FPqYT", - "2S6YTfDmk3PMZUorMqkCRM8zJqTrMtzu8x5eo1YboMGg", - "72jAG5diJkivWJ2Var2SFuYK2P2vjxaZ2wEUSR23GX7a", - "B5Cwn8y3JaFV622wdkocccJ3U1rfjCWA4S922x2ujLU5", - "JCjvNTNTfZeo9mSUB4kBVKCJFGiMm4Hux2DSLFubrgVW", - "D1apcJxXxAS63cpbTidxjXku7cW2ELQQU9szMQracDSY", - "Cy2e827aiHG1YjPpeyhxdYLsv41GHRXGF6eXm5BhefoP", - "2xG1HNtGyJU7toexYdZZmXUnkb1Sf9fuNPtUycieKqDu", - "Gom4mLPW9yCe1gpAGExR89KvH8je1mExxhuEHTPDm7HP", - "AnKcUi9sRv1LwhKwW8HePfFYQM88wppXPYsE7kzL7DMA", - "GV4hrkRD4FnRySu1QrAaepSVW3bcNaZ8Qzi3s8aFU8rX", - "GqL8pvEzwCpJrQG4QvhkVqVuGjt88aX2K4hJYCNZ17MM", - "DdGh2cRow4Mox55bpp9LSzX81e8jvivfnn5U4dVgcVw9", - "AtE89m4yMfQ5kkJoJip3zmYWYH3KKcKirdsX7xQAqxKR", - "CoZPFRcnaYYpxcKQaQ1PmL19qdn2UvpNWrNhT2mgeUSj", - "4pNmbWw9jKK5FwXenyUWBFPH34tDT8pPFhxveDT45oKU", - "2hGSQxwTVefwmD4ta8XbDS2Mst7JLCWBsPv4sF23UU4f", - "7YhQwogejtqmDNDSeabQeVmaxZsTWtXGsbbYUErpbP3L", - "AoJ9MPwwfdgognNy6AphcWvmp7NFpJR3dBwQBgyTUvqi", - "BJ3dVNC6rmL4fLdxWD2kjcokF41gT2RoAFydbCbCthzH", - "GZz2xY4UvRz1Rqcx4wwf8416x2SuQGvqawkUqsWVeCxD", - "ATNYDjFne7E41K2gWq6WhkkXMVm8sVyvYgDuXpUn6XGa", - "53wqLPWxMqTtrF9JzJyJMzzjou5ELYbHzizkReE9ReN1", - "E3Y1hJpMv2wddU1SxTLKz5R5S4P4ZgeZ6Mo4e8Uurqsy", - "Cpm5i9G1gLCDe9qm2y8coQquyGBQHfu8NgiC3JJnTeev", - "813PRjWaqP2ZnirmLNgTL4xyC6yG5WoNEf8sihYnXSHU", - "4sC1XfzkkKT67AKs2zwWJy7VEXcECger4an4s2F16JrK", - "AjfMR1YetbbxYVpdR8uw9hR1pipFydnQy9qHDEM5cjRK", - "2tZkAVEqYwtPDQrdSkbHUmXcD6UuSaWw7RBUSjVXi1s4", - "HzzP7Gc5nKqKpro6Wj99ZDPAwyzGmwdXaQqzJ38XqFtf", - "84qEuwNomqeC7wZZorLQFNj3XdPEycyaNXhVF6A4ThCw", - "9KWDzP7m7FDhY6uTFNMfuSofLEeH3yiq1Zm9vvkNrp4E", - "7nTeGU8UTtDgwj82qFGfp3Ug2ovnrD8Svwn4uygzwtVZ", - "G4WHF5RvK346SWioD9jUk2aotsNjdXRoKwecUXac8Lcr", - "5G5XRrtNhGEam6Dso4eynUctG6pSHBcyADGaWDPMZUZo", - "8a7Yg3gqMARoH8Dp5K4QTETrfHHgzfqcprbjxaT9WwjT", - "AcbET6BaNixJJSbVsSTMHqNbtmD29QcdmG8xDFDZhmAQ", - "ETXp6z3GQuksC7fVbwr3dP7HC6KhDang2BqpwS5yEq4S", - "72SengeGQD7XSdSXi6XnjvQwYpceWKqS2HmPKsvr3m3x", - "6vYNpJXQywhEjapfXSm2GbuFGUjtRamntEn6YT3fUFJw", - "j8Y4abKyAUhhvekN89c7EkYKVmUo5WPuVU3rgaJYivW", - "9A7nYK1iBQyAcF1Hw1aRwcH3qR8pgGvM9VQ7hM9ii7DU", - "1W6Z2oWehbpAK4AHvtEhXbqPQPyZpTKT74SMS4hGd39", - "4RQdLBbbsv3mYTgAzxZLfq7gBNbY94mskVNE5nJzWEDG", - "E7gcSAYWsFyKj7V1Rfqw4LazaPXQTabGThVNkVNuWM1m", - "DR1UDBVEgMTaGwWjaQNzmtMATaucwmBbmCYQkoZ23bXx", - "FrKZBETKPK2EUbyvSpdt61vDCGeUCuvoQdUd6GahZaoP", - "FRvykJX7e7wZWy5E7yM1gcHHQZGUvk5hesM772KcKxyD", - "DwJsWQQSBFcquyoUGKuCy12YAbf6xDQrct88ovTLbUts", - "AAaNPfMcYswFCLuKhzs7ViAgQpvRcTJKP3MC5SraQVrV", - "7edn5oDfjYBEXmp4vie3ywff1icG53dudrfenwpvCzQR", - "5nEkR86At3fqKPNmvtPiwsgtricuhUknSdztoGuXgwCP", - "H4eZrs754K3Dbrs23pWaKHpoYNNGdaKqBRmVKY5mhEmH", - "8Dy9Nqtaj4kcHUWaXfKcpxuqJgvK85RefJXfKH331oF1", - "9CNiUPsG3N7HApEgCdf29jhP1DCPRWhbwX8W8KAYGg3N", - "35ZZAHPv15YVYRayYp79D4byy4bhrGEGm3QZVox69iaZ", - "5dXnBiSUmidcYvsjL4QcX9MrPANSQ9NmhknCRoKNLmEw", - "6zc5dTjN2Bur8j9t2Py8HV79R2dnEFBNegzSjFjgZNVL", - "38iUn8t1wi5NBLtkndeTbKAmDN3DUzGSovZchJwAfk5a", - "6EdzJ4WAYt5bbPFp62CEs6WzDRxiVYouGs2tVDKoyikJ", - "7taK2nEXhZxxYA5sPrRKcEDZppztVyMEYeUnmNjoHyho", - "FGRpARj8VNjK8wpsY2pDpmYmemjmoAPUPFqWpFYw9Z5", - "CtK57wnaahbnj4kHcRTqK3GqHUm2u3fgoWWeQoWgKLuc", - "4Cp4tbVspRVTdicH5L9ofbsDENbYGjV9nS1kVmBZJZi6", - "Hkyk6XoFgSX8pccS4SzsAgroCPg7hhqSDPGZS9N3ib7t", - "5mWoAtX7Ge2Sk4aoyLXHhayGemQAnkugJjU65teC1nCF", - "7r387NaDsWai3JWoRMA7oboNpJdJsqp9ZrHmBFDoAdVs", - "Gds34TkCQK6Cn5UY6Ua63FLA4zHJVL2QnkpzytECsR8Y", - "4bpTD1CjhPj6k6JUiRhFtvGRAprPEaQzMpwnvhdgNhco", - "4aDDAQoHH7EqRdKx3WChJE2X46bYoQu1omyga1AbSK4C", - "6UwcFs1XYr9t3Rb8Us577HnD8VFP7Y27SqycCmHe3hdZ", - "6KqN7yRn3e1VQsN8T4daSjGw8VWA1itfWtMcaVCtViwA", - "3Kc7GwRzz6gE9CyvkR5M9pJDegCewKSf97aqhNLwj1T1", - "2P3yYwJtvcDPG1FkjMa2ZRx5CcfU4BE1eBLxbA4RjwaH", - "35vZqRVJwzETutp9qfrQSVAbfdEdCaTTeNMWFHmTcU9k", - "6C4fqJfP4mBPVQGYGeswi6NMpguHB1Z3V6CB6swNAgQ8", - "GGpZz5Pgk5ZK3MewVmsgN3K3q8ELV1S6G9EqGCp9Fusk", - "5aNR2vRnkeRbRaJ5m6u65ozJkcbKUF3CuAWAd7wcc4VL", - "39ZW3JfejGmKPWMt5mCHDrdXbr2Zqa693PTSw8CF6Hiv", - "6N639L8KEYtXzuK6S2s3igQEpWV9NPRmMUH27EuanoRC", - "4SgQqMMeqkfRxF7XosHZPavhMsQChKbKFgdA5gbqKK69", - "2pwajL5zgaypeLW3iwqgg8Q34k8cbF6FuH7hbviQGHsn", - "Bwcf3tPB7ARgq6jYH1mCA8na14azGThNNP9U9yBuNaNK", - "3bdkShjGK9BdSsmzvFqJ4KYMXEEYSiHppXRm8CAKRLRG", - "AtrntfLuNFrqmmXsKGRiT7mYFeb5WhFvbNi5PeCwxqvK", - "GduRLuJswRRZvC2bjFFFpeGVZyjxBv64gL3dRkT8H9WK", - "2wGuhJ5J5qxQTyye5jkw97DG2riahzfS9TVcUrdKfYZE", - "BftXuBxRV8sSigUk3BaYNR29d7jkGCEJ7H2pdJ5DsUs5", - "3u9nAi7nGd9HSPNiTUoZ9Yeg2foUig4DyDjQCMZcUfuB", - "D7yYMD3CAetZV68sfZyEYrjLEdTCy4euGHLMDDhbYqRC", - "BgtZ5ERP1dk3pX6R3ZhLLsn9gK2712FFBJRwPLJzjf3Q", - "GD5CtfkvLJgvSt5NhxYUvvTMP8J5njVZSjEZTgtFhByA", - "FSWLCdQjiJcw4zFvqjdxSKtesLojygihKq2qRUcszfME", - "86qxUGvmc5CbLrbT55W11Rxf9seSELTc2iwtZAMQCCN3", - "5bFfsYH8mvuUkNYiJiXfRLPa66dHgFcqgtDpFsKYCGCR", - "FLV73f4jgphZGtGqGyL88gRw145rAr9ab9HLia9WHaGa", - "Eao4cfXw3sEVqixo18i6rVGRCbBA6HK4oth47pPkTwhF", - "7zpspz9cf2V8sFdDMiKRWWdvmiUuX4FSgJTTVkARvos5", - "GpobXosk2skR4SufcvN6BtAZzoCSZ2ah61uqtV3yUKvf", - "ECjgJRuwj8KWhgaBqMwBVuvSMX3PdpbHkGmhgCBGgwmp", - "DgyJUjow52EARe5qdQewgivgpYztUpjam1WwgxgfZSop", - "CMXAcbx8CUKjrzGfGFXCEUFWy7pCk1DQ4nULb2sf4MfJ", - "7rzKApzDv6unzj2qKwkAk9epQaqXPJU478oLkUpdmUDE", - "6JnQMijtWU6Hd8Fq4TGknXkaUtsihc2LQXnyqeNvmm4V", - "GfFStrfhsJMeKPjtUU2sbSPjZTqCe4V9e4KEpowCXQDw", - "d3LuBwryPnEgSDX1xMV1EQbzSjz59dibvtpSknHkZWy", - "8NHb7kThj3V4jn2FT6Qns44W3kgfAHRUp9YwiKU2iKki", - "54WJZHA39L4UtCKTcVfY6hmLH3KfPTVrWWn9CdCozVUX", - "2UcM2qimf1fhErp7AffzeaDAKw4uAVaL5Yf1mVmUwES1", - "jdqK5gvjg5bCnaWTmkWhREwGWpyoz4Bf7D4zkCgq7Yr", - "J7SCxdgTapRwUWbUqtot69kTn1YW9i3LYVpZ1CZRCktf", - "4QzexgShewNN7vjyiGbkqgHWMmFMzQBsNy8eUFj3tueX", - "HNBEm3pVcR2RUL2D2VGz12Fc5ABBy2sgsb6Hqw77ePGf", - "1aPHVAsL84LFrn7AB3Gorn8hjd65FzWfp899edy62MA", - "2gWBPL55eMW8YuNDYy6FnNhbjEDNVsXZM8xujMArkj7f", - "9T7iuW4HqCcJWxjNcaUx2vcE67Mkpw61AWS6oYFg54oK", - "Hc5Hndg1RXqBbGg387qUqD1eQSe4Ti6f6UWxRaFn7Csh", - "Cso8JZBNUwZENUwKK4ggrT6dpHWY29tPJunYz7tQhGnc", - "FBPvUsnYPvzcadGdrX9sMeqDgZeYC4knhFPUAWWGJbFV", - "87YzMrZMgo2ujx5DCvyk1YJvwKcSvPgQ16niMSv4qBX8", - "Fc6kL9hwZArmZggpkXUkwts2P124Uv34EbBjHCj7gdcU", - "CWQWWPJgC5G1nJvuHKZ4R9paDca4v7kVbBw3zSBafm96", - "2jFtMCy5biCFb2pTduaBBAFzTvQ1GsjXbP6FSaQXxYWG", - "6aSPCHiYUpNVRQFJBT1FWvfdERA6M3VbtbeG1heg5aUJ", - "2GR4jUxzDSnCzp5kui4Bp96xe6HDLA94E9esELvh4KdY", - "2H694rNVMMw9RW4g2frbvjRKyu3EVfUpuTGRWCyxqmHR", - "2o6WUWZrD2wufWD5i7d8WdkaCWkweguYcqQUQFSpuiy3", - "3UfhW285qXsoXyBeSR7nL41f4t5omatFcXiLt5dE54R4", - "4iYxXBHu227A57S2pWLysEnY4LiRzqStHmh3maBqi7UL", - "4mNxgrH3my7jfiapanDV9bPTprrHzGS8v7iUY7tpiCym", - "5MdtsuUHgkhXtRC3ChbbKbmWMsTQeCTewLVf2Ah5LrYx", - "5V6pkMT9cCicGBvtxDJDQPUovopV4CDHnxBPxQ2CvjPt", - "5ipjaDS6n2ZzHqU4qGQQFAcUNHgeapEDWE8r564DCpj5", - "5swQcW8JgAxXMZqSev9mBC7Nt3PB4BiiSjjDe8PFrRmd", - "6WUPSrVbyCHfv2iMFvVEtNzdMEePsZ7jetZLWUwmRGr8", - "6ZcFvLtFxcaZ5PDfg25D4BZ41dvBMnhKF5eJPFxvmFZF", - "6uCmKHoiDDG7GzmZGQuq3fURBrHqLRCup6osBJ9twQUU", - "7Av3MR8mCMp9wu1uBaef1uSyZnbBu6qceAEyJfawPFP4", - "7Hgp5EDpacDqat5bQBbzXPjvsBW59JCCXGDpa1ftye2Z", - "7TKdcJLgzG55Jn1w1SoDsu8b5HQHv1EeMu3q15Zbny3X", - "7rAYmvC4wmsU5PsVpVgv6T22zKx2kTzGVjBepkfsokqH", - "8MD1PfodkCBFyPeifSZfwnFuXuEDbkHofXSWVoMGoC5G", - "9Qia8LWakRm25ARA3LGgZgJJUUTn2Xvoq8fkp8x7F5Ya", - "9k7dp4a2fRrWupvMSnBwp8GjwKs31rLdGYuWYyCqSeh2", - "9qX9zkEHz8F97XSKSa9JjmYAvuQhxhJVLEgF4LkkavSs", - "A4W4YNZttD7v5ova7pjoD5KJxYJniYXdgrcPdxdMoZwh", - "ACtXeVEHg8zXhGkzRyi4GVUeaWTyMEFNV8ZFTcrjFaBa", - "AdRmRTGQePjKxF52JZGNjpkEqADcLMYBASfpGDtn92sX", - "B44EJEiD3GJG2vMR3DLqkahSxzdb5CkUV6Zv7ph8usjr", - "B4ZjQ9AJDiNYVoqndxT6m6PhPxteUJCeLvZw88MyPWsU", - "B6rjmufEZ4r7Ben475W8Mz4VyShU586ASydLmbxSBep4", - "BeMYNZvbujnt2BYyaYHbTUzY2wvsKc7pdJ6G9792HjR8", - "BzY7NTrg9cpa1bUdYBqnUALZxA8XqzFBXYbWXqyawF6n", - "C9ETqZWZbMuF6gsAhGiegp2A3LASqQSm21HeXe6vpfuT", - "CdKLWgKXSo8RdFoHezfdKWyWzVuZNAppCd1ibpbiyzTe", - "FTtKPVbzEcaUMEiAMcB4Df9CFMpJ4zvNW36uq5FmJkiu", - "G3fZdmSj4KE5Cn3TfRMRe8GmDPUkKsSfRZFAv7fcRw3z", - "GiuiMyGosrEq8ChqHWSEi942xGjfy2HpZFH7vzbXHg2F", - "Gsvv8UTa15hjbYPBH8RnNgdzeoqtsiJFzmxnstZz8vPM", - "H7tHP5zBAh6HBCLqYekz4jpAXLXxP3CDRNwfLhK9aToU", - "Ht3UhUzW1qQQ9Kd7VrNiwYyGTxLeyRM2H4bn6uYGNRwS", - "J7umAcMPrj5XShTTTvHhjVFQYvNuyfF2A3VmkjEDh5jF", - "JAt8QcSt65JFgEvty9yZewYqd7sg8RX9o84PW4Mkm375", - "XBGPWLt7h56gZAsHyZgojcjtuvPUkcYAddHVTZDWAVP", - "219k79Tsxx6kkXD2174kEBJ9SGsXkfDgLqLS9URwTMGc", - "2NNmErUNF2gi42cth9534nWRhfru1TK9913JGCZWsA8x", - "2TAvnJRVgzdmwyD6r6VVpPzkobwumR2bsrGZuvM9wT5q", - "2h4ped9dr4cAcUqDkVzHz7Vnwwni5sJdiTXyvsVxdmmz", - "2jAAJBnTAsDq5ThkD32XWwh9Rr5dnBBMDyTdx5WZU44n", - "2wrNmifxANDRqACvKgLp29fkBjVWbgYjEPBKoYeqMZ1t", - "38s9JFBhRkLJix1nWovGAjQvGKtNeyneM5Hi6igdm67P", - "3Ss6HxYE36EMMd9h5pRpF2VaWqysc5LkYeYkTWw4i2CJ", - "3WConF14E4exyRCrQx4txSCR5H5x2SRzyeK4pksueiLp", - "3u2CfyvHWzcASctPLzmLzj4Hm3wAMQ8rhaSYAyKNcuci", - "4i4vx61HyfjcKNcYDUTi6jHjNpW5apyLb4TuUkKhG7sM", - "4rfqEHt6tW2wFpm6cHowL2NWf7gnGJ2c1eRWwCf9JDLB", - "4tg9S9xb5M9JAqDdPLG8outfD1kcgR116F1aer4K6hLG", - "4vsRcsSGXBtvXKEm95F9itkppum5xv8z1P7pXmcyk68r", - "57ii8Xt6ejep5P9duENhXbxnJqJVDUFyDnJpiDirxVqY", - "57sYCsSS94FZWFNYvwZUK2JRb5ueZZywgBHGzVQHZJ8Z", - "5BDmYq3uSidVsWSKkB6pbJD1yeuYDB1twuEnD8ipDPW3", - "5JAHerFFfD2MU8M8jwvXKwdBLfCgkrz1kxThFfjNtiU8", - "5XgTKmtEX89hunVorXGcy8doCXMxf2o73bGNZnrWj81H", - "5d49teRMfvoL6WVaNdTVnr3Ty1ZMPUo3Cfbk25DXDZPd", - "5ppJvyhvHPxUMzLg69rnBHxsboL9XEfgpt5UTzmzip8Z", - "5tqL5WgD7Fa6hSKSxuUrCGkyv5BxXHD4hUtyWZUxhVFd", - "63qJgdehDp7exeBSqy7kyaqnkVozmuYeZyDpq7wwjHqn", - "6ZSS5rHUuNkkUFk2W2phm7nWwn7szCi5B85SBHnXWDrC", - "6arfLhQhYLt8P2ce2VqXCZ2GVM7u38ZX9m3LQhHY15nk", - "6ehX7Tm6CdFUxZbTuVbHYFh3ZnHcdpWWppobEyEV9ovV", - "6hGvBxGHi3vZr2G6A8byRiCVNp9tf1VGkwg3CcBRGdvq", - "71Lghtp5dFGetx8QqzdBj4GJuY99kARieT2Qk9B2JESQ", - "7xpEPwVXLsSUV5CMmMBxk3ShoB3e3AXdYco9HCwEhzhs", - "7y58oqMbQQkq1KRBPNNs3iFHttRYukkFe4TYSKEgPHFW", - "8Ax3CQfY6zcNUPwffxfzudf2Lxt3nEGSt2vdKWnwE6p6", - "8L5r7C65Mg2AewUQzPnhFdXXzrARLdzzrPi9aCMfVG5R", - "8N4rcGMWmCsnxFjigEeUCHj4aVfGT34bt9Gk4qvd2jFB", - "8NYpZkAfN29Fo4XFBnTKoen93DSq2ebCqeCkiVGNcwuh", - "8T9qHxP7HMCCrHrierNeFeJrZ9viTGTESri8Jz4MzEzb", - "8fGXfPpvvx62HC5fTFV85ubMPZjugsso5yRvFkx1F6Ji", - "8k9vF6AU53mUWp92Y2UmW5dZoQ25vdpD3xSQ4JrtqADm", - "8wkuPLM1HjhYqmAWeMHCzNagPCyQncU2n53uyr2CE2ZH", - "9UV8jS8yPbi9dSozcRXwYFA14rZWZmB2u9eiBrV9UJTQ", - "9g4mbGGDmQ8gddzEUL1snAJ87z2EELnz7mb4Fd7t9rMi", - "ANsYjSTVQJwyHNkktUHkJCHpVraqtVo7gvzRiMVY6f9A", - "APezCPD1HaBcFTHuFi63YMwKFe5GFGoRtdarn7fs3i7C", - "AQZCaaG8nBMVKQZMcfd5eDahABwfzKVrSS9pJgQ64i41", - "AQwdCUTFiX3WJ69RyyBnRthRQYcEuRjq44mty248o8Md", - "AfSPjzRZGJ2vFVP3p2eZp4fk5dGPLDJsSN1SKBtABTpb", - "AiPRw6CiK5jqFqcrmRQpAQZyhUR4fnBnCKx2jQapLNJj", - "At6cfKX99DmxBmUhwrfxjcFBu4CNfp9RETpiQBfxQY9S", - "AuikYUkrP9bRCxPq99YpEkFCgWLS9KM2oe3sCPkTCEwr", - "AyEE2tf4AezMxtBYXoWgoK1PwMDMsPfDahQRtZvU8BLc", - "B5Gefd2yR3nBi4eFDtp3grmVsRq6sw4UYmGVZG6vrda3", - "7fPtZ4ePQjMs3CLMR9VsL5B3of8Riu8YdQufe7RARSiH", - "HszGHEY66uYDnfLCsqucumSMBixUrYcVHBYQyCN8W1dw", - "4HaeXKVdS3NGWCsLSYr6Gud5YZ2BAFohfDxEgsdXEiVM", - "HNpVvTjyMcQniEs76e171S1YFBqxwhK4n3XPiDJ8X6JW", - "CRvy235fKxLUhSm1D4zVGecMKeqVeVbPbyS9oUqExx7U", - "Bg4fTH8fZUfixAvUyJvHtYEH8q7wp8kpCs1xanpMsm8k", - "AFMweQ2xTcjipWdVGWD3w3KCLQL77i2BTNPm1M7Vronu", - "GU4khN97JE54Vckq8FFXSX4mfeemM6iVfDvgSZYGw7tx", - "2q9EcVkM9SikbtdranywhV8Fot1C4GzEda7X9jmtYoWx", - "6hAQZNXddgXg1KvrP4mMRpYMDnqzYAaYyNcvWddn2tVg", - "8eyXWQW4iscR9Xt3tWbZ2AAbMZcgtuEnaHem8sXpCJBX", - "Drf8hDMRXRdMu8zCJ1XfWtHoQyhuUNcnBR16NRpgRK1a", - "4xcNSMJeB2eYqa1TE7v4XFXFPFZ3oDh2oNeHmnnbdvnY", - "FfeG4TjquANEkNRbWv98wBaFB3ieG6Tp9Ag9vhx5uvPX", - "4vmpYHVDr4ui5SWm1oDhoeNy8fqopNNPkzLykttLsxny", - "JCaTiKWbSj4n5wztih3i5BmVMViRdfKaL2Erz6KptskQ", - "DWDvfCQk93EshZ6NeZVA5KeyvcjWBpDj2Dk18B7PsifL", - "H33oxW1oVNZ2p13ncHNYeaVZSQmcnqq2szi5W1SPjPJN", - "B7rV56PvvGPtRiPAr1A7n7DuocDMYCM4ELTPKKKbbgK1", - "8uvuc6hEAL2F2k1dAY19RWVvj3kaVyV7dL1UZfrg5xjv", - "8ckymXSHVmLE8J3Ru2BEwyjdJNKfm6cbf2qgvaWFBgRT", - "4p2rYWoKxfn3ejnACUPNZ1vS1wdKaYpHDUiPtoe8JuHY", - "Ee2Dgme6xtcVKHgBbzGbjeGwoAaXoAwE7QRxK9gJCWGX", - "J8Gn4Z2HeieioMGxeXsDqqeYB1GCX9VAqRgks9FsyU45", - "CWXu3pbF7W8Jgkjwdd87UECwSdkNkfVw2N1pDT2zryxU", - "3K4gjw9XsiWmhjE7v8nPrqzbS8LBk76SEeSQLbJKLwVB", - "4kWVw2hJA9qjZyFGtnAKtANEgKKAsFwBxKmEddwcxSX5", - "6QwaPN9pA12ZbuuSf8Vf5GctwxuJbH5xrvgZLu8oTjc4", - "CizmciA2TMdrAGpfvMz4e4xQHonkqeXAXq3ont75NTnW", - "GgtDsfsWm4orZgLh82CGH8VQ6tbytGRY4d1V82KfakNd", - "9Zh8EH1SQ83XQp4qEnwe2na2CTjtYETbz6X8AizCQsMc", - "3HsCA5K9a2r5BYPQefKfN9bFKx1hMFHZZdSQmh9iZNHN", - "E1fZ4CD62wgXkSNNqX8LdEif44z5Sqvj1hKXFuLhEE8d", - "7gJneE2ikNG4e5fTDP6AgR27XFztR8hE1QsjSrYcMVWc", - "jcEWX53CczrAEK3A7djhLaNebTGKdzKF4E1FU1ZdSgZ", - "3ptwsKddCWfSWV3jX13r38crWyxaLea19uzyU2MhCbfb", - "nWobc44VrrEmo8PTd7NYztcPaEKQrtagjDw2Yqf2Y5f", - "BxdvFLJzJhMuRSkpqujH38enMVSqp3PgP9MZm3YDY4qS", - "FZNbcCF8JHxzRUL8TBoz8M3sYviPnaAkKqTSwV1YVgNt", - "endLQsvq93u6JfQSqnu6VhuvMJ2ZcugUhkcMxRwHrz6", - "27Ey8bfLAGTSya6hDkW7KBDGsobqX1AGtTPcp2u2F9p5", - "27T7eRf676MzW2n5Evi8gonBmz8tEatV2cHSxdqDLKz7", - "2JUptWtFE6L7X96j5NNCJyqhdQsuG71KYsGTDJjne8JK", - "2JVtKu1Js4TVhPaFEEdK4ZR8u86EiYaPvYHhdzew5sTN", - "2KLYtqknzxu3NUG8j6mDaAvxivkAgCNjy9DPzqTati29", - "2KuTRDCvQqfpHquP7maKUcK87jPjReE7a4aBE31EdTuQ", - "2Qsa2CwcUC5M1Ks3G6vC1nqtJA5EZuKKrMJcUnpLM2kc", - "2SxiZvwnm54naNTGYS48MafnYC3ExQo5Y4Q3QeNCK3eU", - "2aViSqBd6nJ6Mwj2EKHxLri2rCanfvD1iNZx7mgaexBE", - "2n5zB2bdWHyrUiC7vovDiASqBP66DBx9D4ewx2zxfZzc", - "2os7HFJ9jxWUxDDYuyUEyj67JgFH2LkVfqGNhhzyFfrG", - "2teaXbnN3qiCeftpRJ1RRUaEpPBmyLYpVeNNGmZUbLNh", - "3649v7K1vjy1PWXPB25bcJHUXRZMFzuBDCeSJ2kysHNK", - "36cextEPpM47xsV2qtQtzudaDnKyv3fGnz9KpEFZ8XKk", - "38y9ARTB23un8hej19kNxbBBiFfizj7ZxGtvNL1F3Mjc", - "3AB6zFwnWmjyRpUJhBJXKrSGNj4vC8dtgHscrVTYmMmR", - "3Eqoqw8LKJeYmBu8fXQUskrEG73NcfAzyUEMi1kzjTAm", - "3M9jzX7ZXh5hGpgemn5Qfpc4VEYuM3LAeMXtP8AdSUbq", - "3Y1oon26e6UBMQCrroUcAfdiqYfc2sT1NdAmQCeQ3Pms", - "3a5qcgwunVMVrLsYZPyUkkbEZ32oPbL2Nynpq5gLRE5d", - "4Ci2nomSY31m9mvYNwm3yFC2fP9w2Ew6UqSCwwxJeLGG", - "4GwJbf2KbpNnp3J5vDRaajQndE9hteCfbuUD8RMv1pTZ", - "4Sw1dTNV3nPLhRgHQ7xbbmtMS7ga9r19v8yv1iVpBzJ6", - "4Ws1PqcN4R8gyQmHxfQnsJ7eW8NfZiBZ3LPCx9tz9JPm", - "4oEfVifkZcPyrxza8kiRCHYq1ADU3AV7g9n1bn5L354d", - "4txw6Qz7ZQh4kSK7SpHjzFWYZQYbg1npq7wnyEjmww2p", - "4zHpQzTmvEBv38Fim8RfKYRS8i24hzcaVRM9R1xsRsXU", - "5UQSUv26cY2mnJeeFaW5EGna1YG4H5RRFZvbDBfNuvWs", - "5gb9WTg5y5P7c7ZkYtEspRLaW66GPjxMjbgTUr9rfiES", - "5n5bmyd8fvnaCbJEBPZ7GAfncanr3tYESN3TyaNpfMQ2", - "5pmzR81t9bVUJVzi9ZMSetfRcccwgmfimbwYpL9SD97j", - "5rsJ5jBg22kuvLS7TTP7kNFKTqNjwq85kA8RsjJcAKdw", - "5shan1C75aw74DCbSdSg2EvHi5LXt3VUMH9nSgeMRspD", - "5zhLvwCxPGfDqNy4ykkUuvtL8n5CoNwj29H7EpxYUMXP", - "67xPWuRSiBJ8GYMdQJeLaLZvjy6B7iAgFHLRcKr4zpdC", - "6DBP3gXhh9CQxseeEDV5HUK762XU9oTRDcvGdbCk9oUB", - "6VV2yxxP2J95TY16gS5uzsxyvVfe9MsvvvwFanG5Hykv", - "6b1KDXjzXX6CKeBKBXYcf8Ru7yk4yrzzc55cGE2UDLSV", - "6qGg4onpFkxgAcDohj19uFk4YD2FT3KJEhufRHTcMQqk", - "6r83pNngM8znhiapcjFrawNY6ptBE3Ehcba22j1LoZ4o", - "6tihrCuiHefbYyXCYvNuxD1gm812hU5XtiFHvAtXtQi5", - "6zmaxpRqPGvMW836iMt9MgNCUrxzD9x462hVTrJEXH7s", - "7StJKHhkyS77YQDTGJEGxQKYbUtw7ZtCeVaWcD6XqA4Y", - "7kVySGYfREEbU1mRkYKUTKJteT6kUSwn4JyNdmLTxkni", - "83MXUEmJwnpoh66b2LzKbn9SEr5XFW4rGmSo5iE8AsAY", - "89MXaBRCN2Z1Ki7TfQ5ZHs55FAKS3q7JTf79HnMssNFL", - "8RSHyJwd3TBTnCvtP34rAJb2HjuiP3KzYfnQ1D2rEXCf", - "8TELUs5caDq5N1eZS4YLELz4riDcfAtKjr8wBAhC2awr", - "8UJ51Wn4T4kxSQqLhfTWHpjynXvyrMPZxAZ6TDPHTkH4", - "8X7EUn5sqG6ex6Z7qkhP6TR4mUteMWU1mdQVuj7zwQQA", - "8iLEF1ZQKcJ71nGPXUxufoAH6jQkX7dw3FaqT3pjfciA", - "9B1uvniGhSm2Yj8g52iuh4enmxZkSvcnDnGDwgMFjJHi", - "9HSNEZ9HvoDMRoqxgaXCvEiJC4ZVcvdFpVPiLwoGm6m1", - "9Hv7HtPzjaPbZv1WXfgEF27zZFXKxvKb9jaQfLeBNoFd", - "9JeVqDFoWNJnywdyYBEQSxURS6dttZJpH26yWvkLuMf4", - "9KmdLy6fr6vHL4Wkvc5fmEFcMNRGMwnDGbYsxpz6wumy", - "9R6NY7D9pUyAkx8Q39PViVTixfYZaRrvx8kxY1bccaqt", - "9Zx72cVPR6HLyC1ivM1HugPEy2M4vQ2MXPCA8Sswcr1A", - "9podHMbXbx4wh1CY3yY4DSy6ZcNSSee5LCSGnrT46ZE4", - "AA8KQoEhCvjLd5xtpQYJg3LPMQpU393ns7PHNJEnLNx9", - "ApMdCXaRbW4fiDbEVLYsTb6yZs7QXLrvWGfHm5oD5X11", - "Apt2Dmm77LxTnZmjMP8DdTAhBgNEifmmvpmur4sogm6x", - "B3RJoyGio5HgmEhh3UcGFkcGFmtYXGyXUpUs1uFT5pKM", - "BFu5qECSj7bdbMTygsNbCxsh31DPCog9NRX8xmdFKK4A", - "BHBFQv2x6NQHhnHWATm9JpZrQeeTpUPkmJdwNbAybdzC", - "C4zm8ZtuzeMEkuvBtPqSghERXqLjZ3jQb2dMSNQaxPWx", - "CC4tw5SUquz5HKY1AfM9pzqDg8U8JQ8gTz9BrrAsphtb", - "CDKCQmQUtZbskttSYdmSkpsAKUGhnTu2kD7ndeHaStbS", - "CTQmqWBXDV457kUx1J6pVNqUKQBPnmiqWAzJduLHkjgZ", - "Cd4nPgiovDAjf8ipwFGN5vRak4FZbR5adLeQXHrvtJRB", - "ChCsJgMuwi2W2GChzRtL6j2s7n8Eu8aL5z651VtLKEf7", - "DEQ7yRr6fnf4K3h42eW15r1c5JqGn3TP2tsp5b9Qhgng", - "DHeWpeXmEj3hGokvGTjk55fpzRNT7orAyiELisQgNLhR", - "DRjVbd4Hp7fagP6NbhuzdraAscsN87o3o1hwY6rqPKnF", - "DYJYrqFS5vxCDfddVL6kvDc5Ys5piY4tJa7kvE1Z9GHb", - "De8kLPC6MH4ws4XQsJA1iD6ckPrbq8xnkQv7UbbaqRrt", - "DjV3ANsAYgPZZntqD1SBPtmLkGoDKFwwiXVyaUrqmcuZ", - "DqNrwXhhKnf1LcBvfoWskpYCs7rAtRKHwTicHsJ65A8R", - "E2qXVX1BiX4n8R4s6KKg9xhxjKsENT7o6zSv7f1t2ghf", - "EGTeRKVYEtVHTKwCGmzkvuUM51QLRsZwxVWRR4AZt1T3", - "EHDB6ZbahPZbSxbzcAPWWubZNaotc4PzuefpFL9e7ZCR", - "ESvG2UQ7RSXMmV1LmXGs6cYXsmZmPdNhdQi3TCeNhVzN", - "EW3wnqGMQ795gS8gnfzHdS9EnoseuC6s6W54KLyCfhTi", - "Ef3ocj8H9BaA6idN2MBqibz8iV8Y5BNic38nuNzhHevb", - "Eff2zwP6CEqksMVBff4DVZbLV58JrL5atfu8wCDvH2SF", - "Eq679dYv1SwURbVJe25NdxaLGkZK6ZyjzTQMg8uPJD4o", - "EspsNfgM1Le41o8fgxnLsXhSnbmDQnC9T3sS4uk1d8C3", - "EvuWX8LtCovt9hbaFVS9HwNXpGaHssjmTZ3mX8eSmF1g", - "ExF7HXhxu88gziNQDb7chiKtmKUMeq2M8cexNzjVazjA", - "F888Xoss5ByL1VmyUai8F2aBMNriP4TLUmPrN4ZRQQT1", - "F9smBYDWH8nbmmMBDMRxmtSNjChos19StqCh7G6ycg49", - "FGWXZeVhKSTJRDYYQNw8dgAHqtw7a525GWVCBYQRV6wh", - "FPkCjavhYQpn5qKhCBCwcuwz2VXCgt1g8xYWM2kXb7dE", - "FfSPz2XwGauLGzkZs9yzW9BpdBUGdsqhKv4Cw59JVPGg", - "Fi1La3R1qGk4rreWE7YKEggAHHmh42sgn1sfbNWMXsv8", - "FvS7sjBuKG7H2CmCvk3BmMazYc5Xwu1xRop9TxW7C1vv", - "G3BmKcLamFp8BU5ZYVmprcM1VomtCtgiBd3Nq3csxFcD", - "G4EVJCytq9e4wHpVKSZVCWmbVSwV8b1S8GJuLGigrMD6", - "GjQ1skdHV6ySug4sZUfG7o3RdjodvpMXSz1EfLvfdX7t", - "GuJSiMBVT875u9HTZk4BD2XTmxCrGQHcDAd5qVbaJMUr", - "GybZfkVHTong8SM8AWKACQuFf2rxNGHf6z6mr65NpXgj", - "GzcWtJZzdbt2qWcM3WAZNy5QLCY9NmoXYDyJ5iQnCMk9", - "H7yiHWBWmXTDsBA1SxDQY1MtaLJbjGnbSb9rkSU3YLJy", - "HS3BNnLwt6tw4obaBWmigkk6ibUbxfiDHzKvVYqrtkJ1", - "HekMSoCRZAteEYbSLvwmCLMY4tyAHUhCWr58HDb3mG8c", - "Hgxo8gVBRQtu34SW6Lcosr4DYx8ZA9VAZxi1ZsAXDW5B", - "HjMhnqLM5Z5T5gfsJH48wXS1Rs94ijHVndohVmmtH2NE", - "J9bHgfiER47tcZ4nc3friK1Skg22sS1Lu8KR3GxhUuS3", - "NMHjGh48CqzWXU68mcCawMztULBgavNtYBzKUVogG86", - "Fe51LmcTwm2y7m6dUd3NVW3ShCzkpC9Fzc3jYErLC2au", - "3MPCHydDHnpS3zQbfVAByi9rGQc4b1sJC5DXAguXtAZN", - "7d1hPjCaHwd7JuUYap6NEc9gMayJapcuDd52nSYKgAFd", - "E4sFXJ4p8CcxA2A5GsdjWRaSgPLvGNDdmFPyg65eoXrh", -] - [chain.neon] id = 245022926 token = "89dre8rZjLNft7HoupGiyxu3MNftR577ZYu8bHe2kK7g" diff --git a/evm_loader/program/config/govertest.toml b/evm_loader/program/config/govertest.toml index cce68f0b8..63bab14d8 100644 --- a/evm_loader/program/config/govertest.toml +++ b/evm_loader/program/config/govertest.toml @@ -2,40 +2,6 @@ program_id = "53DfF883gyixYNXnM7s5xhdeyV8mVk9T4i2hGV9vG9io" no_update_tracking_owners = [] -operators_whitelist = [ - "9kPRbbwKL5SYELF4cZqWWFmP88QkKys51DoaUBx8eK73", - "BMp6gEnveANdvSvspESJUrNczuHz1GF5UQKjVLCkAZih", - "CVAimMqtcmSUCV4RLZSJAreDpEd7JEZmrvCVj85yaRzZ", - "5mszzfV23zRfcAdn9d7kmW6Qn57SGkpGywyqyVCVc817", - "AdtXr9yGAsTokY75WernsmQdcBPu2LE2Bsh8Nx3ApbbR", - "2k8NURTZ8xd1qD2JhujP2MjxkLgLHUmwpXP8FNSP7ntd", - "EkEBZJmw4uKfvruf3c6EFJeWeAY3rev3hRsp2S4BDV3M", - "9LosHtRuxtFYtj2bJfvkcZpDywtdktpAabRQ7hCQasmt", - "FHYUtkDhNaMdaKzP2y7ZXmy6HtiKz7uahz19CPUkjeiD", - "3NqgsSRfjpmDfzRH4PLKrzBvMc8MgFXgU58Yy8n41KF5", - "8HStt6KLgRY8CBNmDjwMTZhCFrXeVrEgVp3jTS4gaRYR", - "V6fr3EgLUYFSGgzPBxTnhrieeAratBX46AGvAtmQ2Xe", - "7r5GAh4SDhBwxg98vT86Q8sA8c9zEgJduSWWCV1y48V", - "GwUnjJs6i7TKGjy71PvFpGN7yu9xqA8Cs1oyV4zSVPvq", - "EdSEh9UxXjbrrHLrH5manpxfXi7HxzkAMDAotPC5DggQ", - "9s7umnvnGqT1nvrCgzvBwWFyaaYABj64LxiBpjAayLiv", - "2Ma3MxGpKmk2KPbp631bNhm2NcSMU6oxFgtj2FfzkiBF", - "2v3dnQQaBALRmaQ1Jr7GbCVagTqEBKHPZ65b4nAmdDmN", - "47dYMgKdKxRGuGBpjH58eGuj1n4FXC6v4QTcpCSaVC2c", - "5dyQQATyk4yga4f4m8BCrUF1jdfGQ1mShV4ezFLxyCqW", - "7C6iuRYzEJEwe878X2TeMDoCHPEw85ZhaxapNEBuqwL9", - "82YcsM5eN83trdhdShGUF4crAC4CGgFJ7EWd2vnGiSsb", - "A3CEBvqJPPgHPARxzUQUafHXC4iU6x4iZzNudJ1Tks4z", - "AezpxgT4Qbo1pB9cLgBzzET7V2t7yK2ZrJrhDTCwxac9", - "CXJy6dzL8kAazo5jhBf8MuW17nJ8dW23EfzPmqTJ6P5H", - "DPRfsB8HQrJZM5g3B74rqZSmvtJn41PavhKBjmCRb45R", - "EbkUFw2EQkG85ua4sQy54Y6c988j7zkSAjkD6gRUTA3u", - "F4nLmDy62mhYiY4gGmRXDYpdFM4mLrm9t5YLpqTDMBz5", - "GHGLwKXzo2fAtLAVNJisP7wNyCRWBcmHEzCD36UcutW1", - "GZ3vKajaDjxFkiczL4g6as3qhMg7tdMgrMrpuApGWF8D", - "eXiURdoUQ4JpUysAevcTPiLMdWwG8q6mRAmice5Kioh", -] - [chain.neon] id = 111 token = "EjLGfD8mpxKLwGDi8AiTisAbGtWWM2L3htkJ6MpvS8Hk" diff --git a/evm_loader/program/config/mainnet.toml b/evm_loader/program/config/mainnet.toml index b037c0165..95309534a 100644 --- a/evm_loader/program/config/mainnet.toml +++ b/evm_loader/program/config/mainnet.toml @@ -6,400 +6,6 @@ no_update_tracking_owners = [ "FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe4975bi2epH", # Pyth legacy oracle ] -operators_whitelist = [ - "NeonPQFrw5stVvs1rFLDxALWUBDCnSPsWBP83RfNUKK", - "GYt9w8MaXztDLhhsxmQr7Ar9FJ6MmaFwav7qBrxZKwhd", - "65g8N1ZTkWNo953PuWcYvnNsqC7EmbDvtRtgp4bmVT4S", - "EcRUp3ah4CfAkew6UALfjHdzxZNQkWo767YTKK4H5HhM", - "AbCp2zzd3qcA14uBosLdaYWUEJMxMBb2sfkzhDWURszW", - "5qT6Wh3FyY3jJdqcf39ZXXMRN3zc2wEqQAKuakkXBZdG", - "GfvDvxwjngmDNHfy6vpSk7MsRXzcfFtjCPe9jFuRJLih", - "DnM2coxi7qu3AEKhN6Qk9mGQEAL1mAzeRmQyyWvQhcNX", - "GJi4s1ALwrcGrdgAEZ6o2H6w4Movs2KwtFmZfZmt3eDN", - "5atJcg4d8TAqAjRynWXHCsPs7gbJgqWHYvVkERMnkRQs", - "EWhrrtA5fv9YtcHPWmYMK8VBS1V1t5s4GTspxPPuXGPZ", - "45wTPXC8VvqrW3rymWVmrWsF4LisNnzJTnniU9LnRHJH", - "CbdwxL2txJCGnYbEAMohfdcm7fUZWL87aCLjsqSpyKzR", - "273fHsaWQwDcXEuzJ9yS2wu4VvZsRxc5fuK2oSmNY513", - "DC1M1eD1ZYdUYWVy1GKr372p1H7jJVTSAjzmgaPgFSHW", - "6KZLqnACXZrZ5JuPCm55m7YWesTNnCbGGDr3RysxhhCS", - "ACzzSM2caeYueQCn9x8HpMaqoEkYFiigxikaxqe5iNcE", - "5S7onsbfUXRMgrDX7R2Lp7v24z21kBoRVKeyEnAjGcdL", - "GFa3c88L9NdkSKnwNyBCUC6juHSXPifat5r1u7PxZQQD", - "EybjaSYmBcAzvfEtPk3fL1xtrTLvBSYAZ3CuSzu2nXrp", - "HhDDQWtnDufThqK2tf1YfYbZzSouhErtuzRx8y4thsei", - "GdkdE3husHhFzdt37MzWh8HPBi2MXRJHCZHkSCNLfTuD", - "U1opJYxJV4zuQKuFwoXW45dLRKpNo7EkJjguRqWvy9s", - "BAkYYQNNziqW2HmxQDSCU57JmqW2cmmfdeqmduhk5gYm", - "KKjaYCyjXAfwuugaMSpgE2widgB6GUajD5Pze8NQptm", - "EpuLUGJdSA9Lhe6pNxfXEAfBo6eGEuTVJjRQY93ZHdqP", - "5i2XZkeLZuQKuns8aKDAKMnp2UCtKU9H4tYT4npXax4g", - "DHGV5vXk9HpE7BRbCPmruFdq3wXBHqYBq4b8AP5vD6pN", - "BhiWQ67L79bqAvefzEw9en3hmodXdyCR5a5qgAPT7EQU", - "9GprgQo6pJ4hhT9YGAUeFsViE7YRaK8dttswYeN1tN6G", - "AvCNVjRx8m9mycvhn87mbVbbi3YrgVJjV2fAFu9rsgk1", - "HhbDiF6v8aPywr2gUU9AdQ2PX9W73ARc9bVQjEc931sm", - "DJoMJKcksFEtjvjE7xkLKrT5kcVcniQR9s4C6ZuD3UNk", - "HAFHnF4X2xkNjUTrXEw1FWKRF4kXdmn9wN61VA6kkuz7", - "DAf6MQokeK7KdUVXCC6REX9DNwssAXEgt4Ri3vczT6HV", - "2fNHBqeArUXSz32DfXQC4AmiiTNuo7mLRVWVY8tPZKKF", - "9WYXXkQ8CSJd4t2Q3HT4auQVJyE7B86jodpqrDpw2XDE", - "5p6SzmyEPBgySFSLZoSF5CXnUU7GPpf67f6NjbfhdKBH", - "4NxuZhiHzeL6pENbPpP4GuHadHHu1jSDGkz5MDBW1tMR", - "2uyrreutuU7s9FjgV3ptsX9UhNiboi1GwxXunXiVwmcH", - "7VDZcJqZv2sUW5XmVtyGqwpFpTpbaz88ppGjyBbtUAZ3", - "ALLcid9tKeSHumLZgmYoaFnPTUgTVo9i63quf65v5j6Y", - "EPCPeqVgi8TP91zhYrzK9pz9mwnTsqxdH6VBXBnXoPjr", - "AtvULAyvCMXSPeBa3oAM4y9J18ncW4VKMDtSibYrBA6T", - "DL1qqtqcZrijd8WrfvwZMBe8stUCSntjVxWHfVF4dfjC", - "Gct64jtD72WUFjgjd1Lz65e6Rc2Edkt4QuEkb82xujZd", - "9cpMJQ5i1tDWTh4Ya2shJAXEM7AygHbYfgQvYTB13MX", - "9hgaCEx6YepnXuJaRzQHoGovdx3bi988cvnQR48tX2xw", - "EzCyipR6EKS494dWuz1hcxkoQR1b6dBAU7QGZCksYvvb", - "qMpnDCegWrzx8MGy63ikvvgwQxuubmHza3QaGiLTgGL", - "6fRgRzU2caLjeFGcA9brkZudwRc8xczN85NsEBVLrfXK", - "ECER7q7cNcW1HTVpoKpfcNQh2NQ1WwusKvkk7CA5bYjB", - "9db14BTMSmHLkUQBce9SB8fstLV84AxwaTnAS3JTFkmn", - "aiRv8rmf4wXeQVoBRnCEcJEYoPzU4ovQVECo173VZeH", - "GZmJa2gdvZWFiqEvnCthB5VBb5W5KmsbJEqSztUPxUwf", - "ACpyy8i6q2fxncDvAbCBy7KMVkdkAgg6z6GfB547BqKm", - "GCAkNpk69x9dPo9oapYeWx9ieviUJxvK8HsEzV7pceU6", - "9awwTAdwtrdhdfLF4GQvLJNnABLaJJ3CsfHFCcDyY4We", - "6X5KLLfCoCXwFpr5bC1WC7D4zkpgKfTmvPQSwfGgnfTT", - "CByLkvBRZya16Eu8xkrLsYyZH8ZnTW8htLCcr853ctKS", - "HRsFSCFntWWLkBeKW18zJqfjpCEPpYhkmjCKPPpgaJPY", - "2s3P34fEa82ti9kaAV2kvy9qfUoxRtQACBTuWVLLFiE8", - "828sbDu437wr6nvuMq7YBCGcSX7MKwCNHQyaPLRonhDP", - "8wXUvU388JosWK5i9zmWJP8dsxLmtsGCUp47nS9Yso8w", - "GtnuSjoxvNW2gaBxfzq8bevizmtjXN7agrZ1UANSQjVU", - "8fhCxVtM4ZjLeHS1ZPbR4BxDNSyEB15yEVKEar5jtPpr", - "HDXcAQ1u4NSPy2ChMdPxAhs8P9ThQUSdmn9HqB1nBhuP", - "EvirCRx2sAtVUqD2a9V8meZ9ngitTu8PWJyQAS69oq7s", - "B69SvafJ2QEdCuJV1GCYhj3kPh8pbkQvyWPdPnu3zpWS", - "AeFeRPZqsAZFVYon3g2fA8XX27ZYBnhrxck2n4DZnhp", - "HTJEfXkk831BJFZN4AFjccQ221hD4T6XJK8w8GAtParV", - "4WsWuDPhYhUS22y5Qdd1MBxnCbaFUxpAFMWRpbzq2myi", - "57EFBcdD2pS2vvJLJQ3akkBcHeiKaVAMQo3HSencBc1f", - "9eLjvq2tNe9LbC5NJPX4FnxTGZx7rbMJbCQLnNJ38gXu", - "55HWUJ7gosLDmSSN5j3gShxzEGChPPPH7XMiZG1kwrRV", - "2gfGMAG49SCetiWX6MwGsoU2yBdeUWCW4sNAUhAvtNA2", - "EEnvyNZ4skLEdiSzwwB7vWvs2zyGiZovhQdotzvhSe28", - "94EF39friJjbqh8qg8iXbrKJmxn2na4AFVje3oF21RJL", - "WktLUp6oFoEuKahctGtYd7fpFyJtJFHUpAg7sKBZTwh", - "8iQEvMf3JovnDf9qLPAjGYe7VLRWLC25mmQy4cy1om9R", - "5J5pfy5YGMxP74VRDw2TiQMY2Y8uHLPoaNEe2S5gAtUA", - "5GRKYKDwhsjARx1NUUUpyEun3ANGtAmRCYXLC4yyVWid", - "BpAwX5vNLA8QzCCgZHdQSqmj9hW3d7NT16BMKQ7fYZi8", - "GYBbprmeaoaUCn6QwPS9SntwaCWDrvmxepLusaWUZ645", - "7gJC2kTpKhx6xEifMdTiPFazKHgK6YS5yg3cdRF6voAi", - "611DYLZezGmseNXaHLSkff4M1XyCEFyG8KfXLHWabYho", - "8doqAzcXQzhQ5DkkEvgyP8rRPDksyiYsxQ7XHRZd1j78", - "2nXcLrurvktTpfyiYLwDPvC2qpjoGogV9tmfEFSSM5Y5", - "B9qQpxNybcanEs7a7KCMU3bMNzawjatHPxhRrFkie5Gh", - "3qondpAPfgU2zcuV4uRsEKcvvej4QqDcEyfo8nXUUHy9", - "7fbJXVk9VDy7NCe8hNY3xQ5u6xoH4ySNtZeoLd1XnygQ", - "2MRXHrcosRmQdvTqnfo9CTg4J7F1Ayp9cU997TY5Vvjm", - "3eJkcWY3nje9TYbGfte1n4gRGZrkKrJwVSX1oEUPknNr", - "8GcekU711bxqLgwtayRebgUPLPQexbUAvoTfr2i4SmS5", - "8v5o8z7ahTmqz5pBGpvAojCKLyzPzwJPr6oiHgATKcZB", - "7otqBd9uK2WdLvwJ4eTTbQjwo1Fn9Xi9sfSB1D5qumCp", - "4D8WFwMx47zN7hkQHvikxvQWiREpdU5Pt2RVoQKHAUif", - "BchQnzicxp9LCj7zuxFMi4LyjMq1j7NyzYKWqHxoJQhf", - "HJb8tSRy3Ca3XPoWUTxgGUHD13jVSGFy97HAr8PDytLm", - "4SxbPp4zCYQPw9KfVB2k86oLZHDdqobGfyjVEiPv8Ebc", - "3tQU51uNa4pjEdTpZgb2K1wL18cG4dgiyCbmyUpniNZ2", - "3oMqYtK98qd3PRWvhaUnppESboLZf8gecnYeLxNWULNn", - "7Qyy6h5CyHEVLQ4bB28r86huSwBzq4fcfNtuyRAQfhWp", - "EawKJFRTQiBpeuzCk3irFhZJsxVNiUycAobqaLWdJSqM", - "3jXASE6adPrYi9PKS94brcQ6awdAJcrqqQLSeoUndvXQ", - "31PivPG33QPMhgQCR24dHu6mAev6o28rsBfjYQHAAvZV", - "H2gLdqU4axsBH6mcoprCx8hEvMCEFg9bkhDGJH7WygeL", - "GjBFF5Qo72ZNAK7rjRQcJG2mttynwURdAFjnVRv7CmCt", - "HyybGnN1es3zANPQjaCyCUkVaca2JvLiKUszQV55v1AK", - "DqAW3UA6QPANG7t2bUMgpZw9FywECrxXguCw8osYFy5e", - "HUaV8JpdYizWLkMF9PtF9Lbf1EbYbsZujBZejh2KcsWm", - "9PU7atrgNR6YJkyx5UnXfUPRb3V3PCZXgW7bhAhrn3Ba", - "FYCjPg7cPxgk24yDprAUoHuPGv9JsbiPW5uAZGNVAE75", - "Ff7rwbgvVixFNH1FY2Jq4aXNi1Na1vShDpYoHS5Rcuuf", - "AFL43dDaH9cDeoaFwBr771NjXbxhYQMWovGgChYraKch", - "Ajbui7aBhF1x3rLU9dR532ji7UoQixwYMWQRGtFnAEWs", - "BYB3Espm4wCcj3j2zQtahFb6iLKPzsiELMt7URRrhw7d", - "61wUqNUVWT8hT6PTzSLHJ1ooQHXZRDNpM4SYzAEWvXrv", - "4ohrcXfko67P4HMdoh4FukBVEPE37es6F7Mvngkamfa9", - "EgbyYvFUhB5eF6Y5kRoe1iMtspa3gAAVNHndqbXQYcyS", - "FcgujJ1K8XbTsGYKrHdyC6wNuxSJHpGiqWLMAuC4HMbi", - "24sMd9Vfejwu5QTqyu8ig9GbAuEYrbP1yLL6w12Actbg", - "28jZMYDL4edWKAqY93bhCD3b88bbCfDpVd2eGMrAUdmV", - "2GcoTj7fehpce8ohnUzira1c36DNUz7kYaUPtU4cBphr", - "2W6cuQHb14NFZzmhKdgXojRVLRBCfUfVBVrmqThL5RQy", - "2myNtgxRzLeKCpy87LCzHKVYRg9eZHnsVU8P5hQePjmz", - "2ttrXT1FXy41gv6D1TL8rM48pYhaaftmZEmH1gDiXRH4", - "3F7A9b26m5CTxo7GjHCteZzPRcWZ861hhDxra4RQ7QVq", - "3N2tWvKpak7Geev6trzZz1NjJ5x6j1xPGWotYkN1D4DR", - "3vLW8KH8RxnfYwVbMGt2K5bDMEvLbfq3gvPvhiVVBf2d", - "4D8HhpP8tH66vP2co4CDNoptsWKtK9HKBcxfGtxxG3UF", - "4K8x8sSzipxPwFeYYPSGHS9Ut1Dhb1chpi12khoV8gD3", - "4QJv95TqLnk5WgtyMHwbVfd5nkWBWNnzHhwnLo64R2yK", - "4YbVg7KM3zrirMjTWzGWcdUqs8FZ7iFGyKPM73e9RebT", - "4dMKZcobR8jKUCfFCFhvRvhWp7bbyPkFdr9791RmCUMs", - "4vFYzx6TcbYkK6YmGun9sX2fgA23HqpCrwB8H87YFovG", - "5AZq2rLWNryMx3V2bPBJx2TaqERQZ6TYJS5y2SXJacpz", - "5GVyVAs6nyP52ykqFdgbw1Hg8ujdLHspT3BTmEvtEUds", - "5ogCSE2JMnro2g6T1VNsoDirHCJ4Cs696yqQUMZULqbm", - "5y1hmjnA6ZfhFEQvmostj27NgzAzwEYMatMtSCTvhMAo", - "67hg4ypkiec21B6MTQBpEDgmgiUWxVChJJnnPH9VfvBr", - "6GoLiLLHHojKX3p6abLcr5tZLWHPjY9Tto7HPMJLKNjd", - "7MqePDdydYafZPFJHEzCyKozsfF9WcjzpkmcSQrjzMeV", - "7RdGYyumpRR9P3j95wuxAUMXteofJgf7QMrEyfgCvkhZ", - "7W3JpG7W7LSfNwaSKSfBjrsiXSEA3NfftCtMbzKfmT5a", - "7Wjjv7qUrTUtSGAzHiKGJ8owQyvBUsZrBqJ3VXyzRqUg", - "7XcURKJwFncTEAez2JoF4QvUu4NhwAx8kXbst7xoWH2Y", - "7dwKdt7PrxYXYUghQikWuVEAXQCQNR2GZkVE6Avy6om7", - "7mDZPmFVexfzvmwZLDFEfZhjMRZb3fkbS1A7kQJdSGMP", - "7miMarGfr1Lg4K7p7VeqBo6FcoxDvtkCFAq4DccCB5fe", - "7vqyTxrXqKdkC24waXgQ5fjkbsmmS6jDFJkwXdLwgmHb", - "82qeXAbW2uGW9dgkB8ZUB3YskVCdAL3whcnrdEUKz9jC", - "8491unozSmyxf4ZSu5dimvS64SqQkDEyPYZg2EFatUkB", - "8KF4fbXf2Uvh1TvZDntZgZRpp54cx2dqt9psxp3MG25b", - "8WNTMrfwGvXoYvWty6cUu5uwtkaJZK5p4ZMhQbpzE6cf", - "8gBQE261gQ3n57ZNLRFZBnwioVRGGZSeUyP6d1YTnBoL", - "8hEJhd2aFYHJ78KLQ9ZVifCuJFNXHcGw7ZqKBqyxYFb2", - "8xaVYRxo4zHzfiT4GJT1GT87gnRewnPdpVPegwU1XFvT", - "8xjQnntwvxAcoj1ZpYfUNx1Esw4dAsqXqopcB5MRCqbj", - "9AjXFcUjBSQi4pzrTUpM95qx5iDRJs4jmnFoC3Q2fzgA", - "9VCz3j7yqWRSJJ1t2QFq7p2jC5ACz6kyCQSL6RfZthLM", - "9YqDfGcXYsjjnKjLxM8riqyVBCQ8cXwZQANJ7o8FbayQ", - "9YvgYrqD2N6gYkvvJsS6JFGytyyFPdVXXgR8HDobHKjn", - "9ZsVcwcYaB8sis9gP9ThRbegynFEXDd3iZXKhw2qKuyh", - "9ozhQxVPn2Yp4KH1xE3aHk2SJPaT2ZgXXxQHWZp6wStt", - "A5W3bry1yB6D6r7ULii6hcNrBwvk1p1eKDhpYkRNjSJt", - "ANRLMwz2w6UNsqv2XtJwXBPaKqkLx87qfCazNdVqrMqy", - "ASCg47DcdxqGJFRTpsguiNKAKaAAzvm53NAZWeeoQZHh", - "Az1C8kC6tj29kGH1R5zFmELQNG1SgeVxH4mhazxsdeEh", - "BJ4rSMPGWraCbWKRzJ1cWHjTiA6rwcdH9qaqFLTpRDE6", - "BJEUWTgYZKF84CpqnJUzsVNiE1AcBzoFSXnygrQzbEpr", - "BZALYiHSyuTCBLRYHtuCHgitKosYdiny9F1URmHJJeM8", - "BdKxWwkNixHEr3a1rHVkk3nUWmDhZH5wDwjPUt8ypFn8", - "BojgvBit1itbYtFqjHj8U156gAFuMxzhoi3SdENm7wkf", - "BsKBTYyyYfVm5cJaHXRZewYF7dcU18aNGF9EbLJ2y2eo", - "CAj18bAnpzdztLsfr4gyWEp6h9MkJiV4dbv1v9BvVBMS", - "CFYKi7La1CMvt5AHuXCRSLuDXPmmquG3PiuDjXNW28GC", - "CQSuv6PCmEdsTyQifLQMxdsUycVq8AiCDajMX3K4LanU", - "CeWMupuCm4riTaLjXUYTuyM2B9aK4uHzhdn4rw3JNQ1z", - "CfptrCmZwxcq2fCtYiXvPLAqjwUVKB8Q6X458A58FKvU", - "ChTccDRYrD5KLQuWcB36M2N9TK6a7X8kGNNpasaJj5Z4", - "Chs8S271STS1fAK5usAv1cm33TPG5CXPJ9sR9ZihPbek", - "CtaSd3XXGLL4rSQkdDHqNQ5QRcug5wJcEHy8z79SJYfE", - "CwUKVVBRpYvkUKHmMy4hbA8xcuuHpLGBdQMrFM3HN1A7", - "D8fthUX6FEQFSNyjNyzz9Ur3JEdAyxhxHdYPhpbnUfPn", - "D9FTTazjDdcfq2PKS5pta54qG67drBW6WgRfkQhwanPZ", - "DcBCRtSUjjXtQNodJT9Rxa8Ht4kJiHSSMpAy5AUb2Cet", - "Def5ZPMers4gzdUY6ZAPodbZQaTd3qA2se2nHmy4e6f5", - "DfN8EJsmvDBJKXNh6DBJEKW93tjtnECRLZnfUGMCBDmA", - "DmJK19vDxU9Wk7sUP8jfPBqtEHqpL5Zm2QCDGRkiUoP1", - "Dsf9GdLiRu9c8RifX6ez7PNgzyVCdCr46j45d43EWWCy", - "E1jjUuEVwW5ahc1JcFzMhTjpFDtLrTjDrFrof4xUGMMZ", - "EBz2KeBDEvn5VeNjEdK7jTkoJcxmQ7xe6tpKdgrqs7Dk", - "EX4cBrK1RG2VvQZTBPstzKiUEKzmMXTDLjW9TktYRWn7", - "EaFm5sQT62QbPVod2y31CrQMjjWTZ98aEJVau7cnpv8X", - "EqNKVHV3Us5SydS7q1Z2q7wX98EcAM1eFrn7akHTP2BN", - "FCYLQBV9KBgGf2tNTvAAzXBFDifsNWksirAJJy9ydekY", - "FEDsVtc6wqpdt5NMef2ifWC3ALvgvM7zn6edbg7HCjUq", - "FPWChzhUc6RyMFGJmjHJJxRVBedzVphPW2U1wXdfAUsh", - "FVcPXCSGXsRxrAyRxJeMGoruCCCRFvUK2iZ2zg6mNzyK", - "Fga2EVoafbTXa7Hqgomniu7PkkMAsS3rDqjQ3adW5Wq6", - "FqZ2oh66gkjq4bZhrE13xAVupgu8htsPb14maceLwtCx", - "G11VM4ByWp59vtaPTRsSbdW51mtuZERhZRR6eQGQ5Bnd", - "G9A4Kk1KdErtDuzgLPeZiS9sweaFKL8bKNzqWkkWq61p", - "GDFt2hbk1TqQSR8EDoGopwZCiGZ6DkLEVFb3Frqrk9LS", - "GcsXSmP8qZu5nzFnXwJVAqoTCXKFMFVQDYsrD6y9PmRs", - "Gn6Lqb9Mz7aVLcRxy24Sy3LkUuteGMChZnffLBwwFCVh", - "GspVkx5kqdzLFme2iMyXewaAbyts9gX3A3KG3F69FUZq", - "HCk27Njw7WBoUb5VdB2roBHhQWsWKPx1mRcsrswsAJv8", - "HEd4cn14Ydi6zSCgppMTgDbJWjZCWeSV4k53SXzm2c7W", - "HNYjknV3REYYtoZEj1u4wBXUZ9RAZViKhpiiRCqSe1Dp", - "HdWCgBtULzQk8A5wkg7zdLfa9o3zFKGPUZoDKgJ99xJ7", - "Hm6rz56MCMDw4AwYSne28LC68XP3H1qxKZU62Zz4AsiM", - "HvtEBos21fFoKJYi81g49bshfZrjPGr3H8AA8zev2V4X", - "KaZ8ncr6d2v1pmeCttdGQwGL8M5ERHHF7QrTo99c2qQ", - "LovQMvFwW8XfkMekAPtx12LTk6rWV4HFFBpubhijYDC", - "TwnGXeK48oDeA8EseiQKDaBReVC73FJWgG9MCpR219R", - "UEmRps4SXrtiH5zifdvoizCsneYAS6BkxnJ9oh9Pyvu", - "c5mzVC8RMH424vhYXkt4GFfgZ1wT9GxsuuHiZvxu2QX", - "ooFGEiW5FGTLb5CTxbDRd6tQKsgfpAF68eipRKQU268", - "v53q1eoz9dYQ2czTjsspYy2Jkg5xTDRJd8MMyrRLdUF", - "Egd9CbFpE1d1MWwmRBQkMxx4MVN2pbQPq6EgHtcnmP7i", - "7a5kPJHaqJDxMG29uuHyYRxmsp2uCA9GyzqPx4FofPEP", - "F17QNqe7CV88XFwuv3zCDeZFSSLt9Us9xxGTtzmZqvg3", - "3yFRi8NMzB3n1yoVUyRCL2Pax6a3cPLfYFbCQAKr9vjn", - "AAGXUsnbHwb1FBNY3hv1vCw7ioQM7h8yqLuyVUkhKHGW", - "CJQt9kK24wji6HR3jNQqMgYuWAPApicSzEAxabzxji6s", - "9nVQpUFhygqgPmBhH2rr6bRdQsWkUyvnEuXxfCC9L8SK", - "9YEUHFFoEDBHsrWBhQWdRsAArkGosbkYYd4rLy1s86NU", - "6tQz7VTkryswq9PMVus978BbFRbZWYRjZfuTanpCDstb", - "FDJh7Ne8RCme9qcRPeVMQLRLebdm2ywz6VsSF9JcGb5H", - "3uL9u35u6h41A6uYxVcgbuA34JwQqhFnwhjGN3gjoEVz", - "VjS2MehV6JQrmq5F2gGCBVDHsZg1nL9JQ3cdaoBAHrd", - "C4aMV53ugy7gHg1AAj2eFfa88zaaCDsPBeedo22kco8n", - "61LkxwBVHumfyuUpnWqiJ1rjuCU1MY2HchUQ4KC1w9sf", - "9CHgxeBbDBehnNUgoRsrzivffSX2MCPpvfaaF55KnspK", - "B6QpzmLdGkHiQe199bQ4bhh4T7XRs3BjbnFSmt2sHdXF", - "J283BjbfU65XCWeLcZbsvjkmSFHWGVMjC7jQStdZbX3m", - "4igBxeoWRXwKHN8GbBUwpfE3hJvvxdFS3ewJKTANP2zp", - "pMuFJ4MqDNajMz771oJxHbqZYk1qWiG4J6vLS35Qxj8", - "6J4qG3NEEbSSikz6YLwGEyAfLf2ei8iAqQ7VScnmm55D", - "4g34QuaabKAsPYNb6jg8PEisdiBE7DSuQM2Ts8ZYvnHF", - "v7MjTETtQqETALErnNefyRY5mUuUBKVJNs7FgqbYQdB", - "Bhkpc8zg4KPBmhj3u4sXQhnXQXEzHxEr8wQfHx2ABuGu", - "FARcpZoPzTEempwrxJHS8WWKzuqnL6ps6McLUkxmKP3M", - "DeWwEHaSiYEHUHKqefyGhrh8Ndb5iY5eviAvmXCpkxkB", - "HJyks3m3ZPT5hTC4Cv642seSxifyREHvgMP5WAmjimBx", - "HYCAyV1HVxmxvNxsgQwjLYCJWLj2QVa3SSqsEn5EhRrn", - "wh2Mq3wpwf7F6ei3iuEMxZJ8rHkjFd9Yf1bihSyDn2g", - "EXvVMwQyQfVT6CfWwzFGetdAvCMS6xuT7B7XdEeEq2eu", - "Au9xSz6gMtN5JLNCobKcwcSPdBL9mGpfSezAZQZusxdL", - "Gm2mW3NBdsHPL9WrQ6qcx5ZFhGVMRXiZ8UnffRCupepE", - "AUVH7TSyUS92aD6no6YiNQptxhBuKvu6ybA1D92xajgP", - "CkeC9iuGJX9SWdN1J2U11DejLFqRT8q1cvdcuZeZ8R29", - "BgPpNbWEiYRXxvHmwZNHoYbHFVYygQNWoZVtYrdiF7y1", - "BKAnqtA6vqSdY6DbSP2gNzaKvuvecYLJEnsZqguAY91j", - "AsFiJk1yyE3vABEJmFXQNKbKDYuQikyMr2TWnUwPNE3w", - "7WZdrjScDd7BwHL5vCiqAcs2Qr7t6JfYjLxfVqgg3hwk", - "CEN5tbRGS3cFL2mgLkoXcJkXz299baBCEb22UsnrS81C", - "GMyL8Vgksq46dkWCGSY1tLbpNxRPQgfzk8SpGwArmRbb", - "FCwbwJDCUrEAqNb48RZsTAG7oRMZJHre1BvU51QuYjV7", - "2rozRCGJDwE79iZ1zFBSofBoSfyUapAh3z8ztJ66DDHz", - "3qgMSWKQa5xyAmq1zdggLE69D91VwXTeh6d45qid9N9P", - "G4vJeiiHdDQcqNWxgXca6WCTg5tKgp6b1vWbVSA5wNFR", - "8G22Mcfo3VRi6LyrsDDThqbESCSM7MdqSVh7BYpGuAwo", - "847jjUeNpfjfV1ZypHwjvkd5M7rTkjB8c5yPCTnixJZE", - "F756c7AeegKT32pSiXexEQFZm8b7RC2b95qkoGVnM1rf", - "CepRC1hLZSNXwtT2Hkk5dfzcvRvZJ5aLVACUPJYH79H4", - "6eTr7XuVithVrwG67TZ3eDJrveu94T2TXQN5hjDrDn2K", - "24fwVWTcJjESqEZJ1VQe3syNsox4ZpczsCJA1AxPuCh4", - "EBVMViDWVPVJsmGmqCc9ZAA51iLoYtafsC52TNeDBvDX", - "EDguWkMStNsgGxnJ6NMhSVdMEoYVyMQnTUNQtL6WyUvY", - "EGWfGrDVpnZzCvPNsaPPxbWj2vkxtFmzJup6CmD9Dppo", - "DQZR9u4QAUTQaG5ajyfqmsSVAYJApWhny3T7CSqeBaFo", - "4sVYVuL4MAHvTQGMG9LkeBAHDY3fqmMMCu9FvVBcoAod", - "33445u4ueqyD8MMNfWhdRZKiWkj8KTej5JNFA7gBLirs", - "4dNCepub5uaHejWSCvjQud9d9X65jABfAspg6ucj45e5", - "AuMTMc673XDvWQrVerrGm5g3TdY9fYCkoBCSt3N4Zxoc", - "GHNBqwM6ywfG4mnp8hdymh9ehwNeyorABfekwuhY2BXw", - "7ttPoYjC2fdTg2ZeTJM3RQCLjoQKbU1JNV1obBPkXQUm", - "AdccAdowYyMvimrgbgZ6xGouBneN4aZyFD6RNRsH5eLT", - "CSCQW3zDjLyBKARXXctsJVtKZYAPuWsm9q39fAEU4o3g", - "8yrLktHsg9V4n1qQMKMgpiQpagzXoWtvWswSf9SCPwVg", - "9sN5fFizPPV9WhQnqan62wSntMwvPf4JYwSHX5Q8JLUi", - "7BokPt5VcbSMczZea8wvxPrhFJmq9uM6dDLqiomiWzGZ", - "4xyCV4LEcZwEPECRHvNrWdnsnv8EJGhNve2t6QZMmagb", - "AS4uvF14TQro7KtaEEY5b3j6u4xqEJ8RudH3A5gedfpo", - "52e5Kym9qG5Af9YmQWhUTo4FGSQKxHxySoasTQ8mzz2z", - "3PM4wiHtsHkBLrRFJXDRDjCxjxacqbqKtNM1HoNTAwGn", - "3A86qKvSr5rmdvPGWGLqt7FAEwJotPU2tePde7dj8P9t", - "BVGkY1uoTDoxE7WNoM6TAaAx3EV6xpjKVg3WhJKjLZmF", - "4WnLg6hLV2RpXBxGQRQFCogiv7cZmg3rVUY9FxGPdNoF", - "6w4EpWusb3QjdS4rQwUmmKBwNsswLJCG49gPzGPomvYK", - "59aK1h7jsomG3gf2jAbs3A3V88ik67Uq1UVKqwzdWpWJ", - "HD42DaXsVYH4BSyjwHvGRjN6M4iR3hFWbtJRHjgXCBHW", - "41nkUGZcdwZwx6DeghLXQWnYzFZFXmTYC4kYbJejrcpP", - "Fdv29XQAJbSU477N7jNj6bnt6vv8kDJMyBVgZNdUxBBZ", - "C2iiEXxR3H8z9H6Z88YU72RSBfXZfpxhyb9XeXYMrXqa", - "HBZp6NuQMTH7sppnCDh8PcYKBvcsjWTPEZ9cz2bvaGns", - "BY46jSLARj68EzpMMfZNDGd9uErTAnFVL4ZQPKhDLT3a", - "HXFwoM1gdv9uFnrjdGp4x1wshvnvu6sk6F2hQDw2FnRw", - "GztHmwTyYSgG3eH6xwDYS4ZwsmxgUcNmCDntxeZ6pniA", - "HKz3Sk6xMCWb3zwkGYJbDBSeC7JMM7Zof3uUMBYw91La", - "4L9Esaozhc9A4cFZSqRNCLKkyJqq5DWHfRsW2QiboHgV", - "3XCbtYukv4BYNfn5WKyatsX5Vyes7c82T2v4FHu1Jxqg", - "2aE9uCBmizfxYbk3gQR41v5aZgFEJEo8tVpzDfPCBxfc", - "64qEppMLoqhW4NAMWFmWdNuexwZ9EazJBptemNfvjMAd", - "8hzQ3mU3q52aE7W52EVsT9S4h1VcTWGWUVSoyey2RgVE", - "ExScJ6cYrbf7Y8Ja3dsPpQFM6zrtzB87oYHqUgcPedK3", - "AeZarQk7hn3pwz6GaN8aYpe13shVA2GUsWm1iJNi3CkY", - "BEHX6NsnA4VMiMi8nQfbRdHitQFPS4tR8jjYvUwHtofd", - "E4BruJ6kD9wFZ7FnPwjDVL7ujdrGJMLhNszJWDFHLFHC", - "3kQ4a2RKr3b7wn88Cf6vDJbU3yf2NMVc7Za2vvqHjNtz", - "mRSoYCnRDZBEeec4b3azPUQ2n9aQKYty4tyL6s2Fyp5", - "8KRajZSnYzf6EHaTAxkznVzjyyH1XA8Fh2ZTBM9d9buZ", - "62WTiRc2nSYJpaLR7vwspEozM6DRPf4b788zXQH7Do8G", - "BLNZWsTwqA8bbn2AFo6f9iVGepYjHWwVh7d8pLrK7qui", - "4TwgL2ArEfpq2jWbobRZQtGpLeRbDmwFq5MkjF2EoKXv", - "PKhFiUsgLqUkg47sv4WsJjn6wpuVwtFo46565iNReWs", - "8S3dP9WgeQjtijznB9Tet2VBfpig3JJwCBfp7YFFPDRP", - "5fva3hpGpRUWbYNWGPDwrP5tg4E8YXCQhZ4vtNj6nnQT", - "4WPg1Y5T6XD6oXsAFnqRJR9tE3h6Yr1WaYXYaKpfWGES", - "3MnFKupzWKi3DB1621NQVCLQa8ciqLMvfXNSqbTGB3ks", - "HA35m7iX6Li1TKQDVVnNS8zwqr2qVzhFyufqXKRgSDL7", - "6ngiuCMtNne3wJNxgiixWdZwkBmBTQPX53Mf47RQVfNv", - "8uymFKxJb1vWK9XCZ48iiqKYTN92kkdbpXWdyxKAKtyz", - "AFwsjQHbtNcf1Wbk6LtDzZTTCafzsahY3Eka3FdwvYf4", - "B9JJFjs4uEaCDwe5q3kxqKQj8AavspcNUuZkJRLEN3Td", - "Cdbx15czW7qoabDC483bBkK5Le5LuJhoFdtDPvvrsqNb", - "6j9Noer4fBWBdyb7MZbxyS9rhyAxL4Ty74bzwzfuZwg8", - "6TeLTCCLbR1zLQM7emwQ3jbnHhKokketaRNv17LxLzey", - "6pQVraFC63mfmMGc38965uRDQD2gBziJarJ2bPMzEadr", - "6Cv7s8vExjUoJTXgmptRNtrkvMGEc77ijCwmPdq7vxSB", - "8hCnGtWmQom79bQPey9fdytcuY5gVrewGHRaJB8qCUM3", - "7myj8GxV2eqjRviBdMVnuDZR7jNwdnaa3ei3npvHjaE6", - "Dc2Qt1EutdTWkk7pcFG1RAVJsUbfgG1Y5AonLPEAKgdo", - "J22G15Hq17egTTAn9F54wTkH6RcehzunSAsjgmD3YhuA", - "7DnML2B29NGd1DKyp9VrkVJMLhJgwwKqQtxx8zcmbyw1", - "HF7FvAZLRMrwWjKBXg3vpdWWhB6iWhFRb81VvEGepYUx", - "CEYcGauHNDkD4FpUG8mJSx7q45MaWYG4dVHCZRZxqQwm", - "F53cBRaQdRewLJ36M1CrVbbqohVjSUC71pQWmWLpKqu5", - "BEGo9RonAWKys7RrVu73fmSEEpVJq4zoKLsRdVPsv6YS", - "FSRtNzejQu4fwWCYCfKtuh9jj7y8JUu42zhiWAboKbkW", - "5cd6pfZit17wx4Wb8oVyffKyNmKti9vjHe168eJH4KBh", - "JD4oAKoXJ8VHAV16DJyN5xudm5uZH85ZYhLdC12t9hqT", - "GXgtoVvsdjCNzcANVBMgLLZBVxt4R8LCnaZUjck5fgtW", - "EHp3zaWWkkZywa7bEUKAHyx5L5xmPXQepKiyFkw2MuFZ", - "AdUA6WKHpTcQd5FvgXCxo392n1JS2RuZipcnmAtwYXZi", - "EmUfjzBAzkDNjqnqNxFATHqXEjhDFabHBkR71e32s2q9", - "9Phyx2hTefmmSM3qJrwvKhiFvQz5B53PdUGfr2VChV7q", - "A3bUSSPXifWWf3YfhRM4WL7W9RwskrR4Eb4djkpF1HcT", - "8dAV8ZpQ9C7FP88Ay3qumoUn2nk15ivff3gwUZcJBunE", - "DyCmf8ygAhJ5Gc5J4wVpLiSWrX8aoemTFdXogpnPfNuz", - "hvaNSzsHHCzq61vEz4gGk34b1ZTHE7GfdK9idTkKDQR", - "2JwiLa1SHpZQksN34tJtY1ucKTGosPvvqeuWsg5nxN1c", - "2vCEr74697Pw91H2KWespL3BaNEiAXwLfHv1f1Hewtvt", - "3oDFiC1fuKkoUZWRxreSpkRq8vEXSD71EJ9TriPXKKR8", - "CZxME7TsrGGRPtQvEnt4NuexyERv4PWsh7BWhGAEZ6Vm", - "2LsE93mQocnBWokqqwxCMyDiPTqJTeX5YxMszC7hJ4Fz", - "8EvTLtZXLz2yJtTkv6qeMRoqDkZL7kMDcV5E4HuDLs1z", - "FHZ8ahKWkQwEDP2zwGtcESDSoKDCT6k39uFT4Um44SH5", - "8wG7Q6cTq5TfQ5zuSkY4b7VQpuYDsdYjXqS2gNSyS7UN", - "28ZU77wj89K7finhmfb5YQSgkLAv9zBccm17k2mjGhVg", - "CPMT9fMoDGph4Q6T8rD1kPvhL8mRpKvUuQcZW92MvQCC", - "DV98YnGwGjnnuYgqmnAfN52EobdnmbvzDF1fiFxqN4Ah", - "7ZFPXvH8xeAEcxtGXUHWu93NrJMPsMs5frR8QWBubrmt", - "GdnanmSGJGqvZbVGXAeaXztAcYHpjH9wq4M4TW9HU9t2", - "BV52eJ2BmcU6UE265Pcq1giwkYt5ho4u9pYEje1sjt56", - "2QDcC3HEvdhzxKRoeqwK4vyQq3ts55n6GkGNtXmYGE3E", - "ZPL1jK3sjTPbZ4QvN9h7sM9GzWia6JwDV8Cs8ZgSAUF", - "27Abyizeenjhm9ASZzfeCu9ajfMgNGR8nMFWXEdUZhz6", - "EvsP9sibUJHPxQCyZnrE8hMBHHAUPhMfjZavQ8DtYW2N", - "6rLrQtpqYTHPZSeYt3ogrnKAfUKC3mwnQ4ER91hRAe4J", - "4LwHgQ1QMuAveTD3pH29ADdgNuKMETQZZ6Z9t6wLmJ95", - "HwPUG7E9mEt8Sig5J6EWDNiXbVd82pgZtxMpceJhhxGw", - "FyN93BcjTJHAopiRXKw9QemNjjeK6nhfbHsEKLpLpSEw", - "FAFSWPVBFnvNwHYxeC5PqKmQUZErswXvDcxT3N5nPx9B", - "5rV2xALvQsvCzNQuwLypCWgoNx9SMChQt9wXhJJyUSj9", - "6JNduzBgAnS8croV1xTrzZRwjyszFn7VxDrSYi1uYHEp", - "5v9Q6cx4vzvAARm2ZRLwJDY89uju1NuaB3RcTumdCr1s", - "5sEN198XPpE2FJQXq41K7LF7UYEeSextHfJAj97SRvdL", - "vBxkWSTiJdjoGfCQfqgERdGV79rpc3zhhtbMehAMU4Y", - "7SUd2CagBVzkJVEfoNyihaAvyTyTMJjyq8R2mu4CM7tV", - "AmYsU6Ao97SUUXyst8kRfq8YMJSRsa32bjJeubhVby62", - "7wyHkJpCHDZm9GXd115NV5qxzBEBR8PaNupZzxJHiLMp", - "FRMhgZG5jSAfDfzeFZtMo6AKkojuR72myNTeaxXdnLgY", - "EsZvgHh3FSeJ1P8zncsjEGafTwx3nSBjB1MM9sMdUium", - "3K7irx54jVmJRTrPi5XWNbMVj3DrgBikDPoBaUobuw7P", - "5ynUqaLSEGuJTeRaZX8uKacpntmCpuAojcqvTDkwz91U", - "FBpqtuBrJERENw543qRkx9dk8pUCQvdqPbVuJZ22C7pL", - "DYS3mepDkhT62A2aJvnPmreUS74Uec34cnPn85AaZq3k", -] - [chain.neon] id = 245022934 token = "NeonTjSjsuo3rexg9o6vHuMXw62f9V7zvmu8M8Zut44" diff --git a/evm_loader/program/config/rollup.toml b/evm_loader/program/config/rollup.toml index b19446e01..f5fbe880d 100644 --- a/evm_loader/program/config/rollup.toml +++ b/evm_loader/program/config/rollup.toml @@ -2,59 +2,6 @@ program_id = "EgbRZxFRQTiZpQGinE5jT6KQq5jtVnjtLdSTkW5UTcAv" no_update_tracking_owners = [] -operators_whitelist = [ - "2Gsipy7yniskehFAccTp4ShhmdTiP8UsLWVFdxsG6ZGt", - "2fx77qnumM3sw5duzMYod8c8xSLavE4RwJAdNdeYZpFq", - "2wMN3y81BXQmcyihHrByDChop6qnF1UX5f4vAp8DYjVd", - "32U3DCL5gDNqqgfHsXuVnyJSnN6WympgBuR8TThXD2FR", - "3HXb2SsmQSaZ3MyB6g2b1BCtL8e7DcUwBjDRAytbiVrP", - "3tsPHg5cKnJok5N9W911QFmyb8iqSaKP4fKFqXjBciCF", - "4Pe48zv2qQRswyioywD6Ym21YvF9u57zo5cbLJDpSJnC", - "4hsUEQrpJiFo2gfNEaZoPKvVcgWDeWWCtUNWYCHfgiMd", - "5283XRV4NsMyyLoGcQWMMEY89eB8FgRw7VgzSKqqepCf", - "63tpScHzNbjQAi1AgkF6jJ1qtGjVq7aB8yLT4CJm8LvE", - "6C5nNpaV6mot83Lh7rtMpYUVFfUAVHH6nmpC96mRh8dp", - "7WCfs1Xe6F7M3ZwGu9BjVFhBcThrBZv2wtQ5CgvnWS54", - "7ikHZa3j4xD6s9DKpTpAxAoe4uG9NMkty5CCmU4p3iWp", - "7sU2USEHu7wkJFLJXza3bgCNwzFN3nddDhUeVoFiXV4Y", - "8BRoxMVsQYjpX137ptnH1kqx6vHLk2C9QQZ7hWhPwzAC", - "8hdWEvE5zqv3LAZ5io1M4mFW55w9frmowEEnnmbaFTsK", - "8xzLMMVwChuFo4XZAZqsz5HtVqHTcSu7CJqogebaw3nU", - "9DdU1ufgfe5Z7EZFuJragvkfysn4FBXto9LFMmiWCsF", - "9EaJPCqHcJvDtJTkAQWqeLj97FQpiNZiqq49hTxM3B35", - "9JY641aUoEMPzEUng6NpSfejg8A4hKk7YQxUo6f3R744", - "9Ro3VV9kaBj7p21XzQB3LJQfznZkkr3t7qziWKZVbKuU", - "ABfwv3nHL6b5ogrc3LBbUDnfYrc1JGUX2DDYG4njxGhH", - "AD3trvWBkUYoE4kBLyTP7o2Ej8aiyCFgD8Ctoi4Tejoz", - "ANprCKGACpkSByqyQQw2J4YEq1U68ouzx49vinAug5kH", - "As2d7rKDnw2R366tvz7FuL57T2X1y8mVyHEuVwXBA6iQ", - "BPPwRf4Stpecjr1YyxsBDSsEnHhPM87dcbmJLMxCfNKV", - "BcVupnAtrZXQ5SCyGa8g7BWwT9uD3TMv5e5sEqejay1", - "Bkf59SXA5ziH4jmjKU5nZB3SZoXAVXBT2znkiotR7bcR", - "BsXm9NVHDyqmzVB9eUHmDXWJX7M5qxcxfxqQiXxWgX9u", - "CjepUsoZ39xjtsMaF2mjV27AKAMMQ2AXbY6naWxLfEb6", - "CsWCnfXuibRmz6QM6HNqh5agLshMZV1utMrBPCRhcpZk", - "CzdHFcdazNAbJoKJeJWH9fJPNP2sbdSztQgrxs94u6Ps", - "D9iXY6KVBJtddGCd3fghMw8ik5jEet1rVR2bmTeKDJrC", - "DQzhkXK6DLYTbAXMFdZf3PeNX8o6nLJpHb526S7KjqXL", - "DhorUW7jUiFTeDTSZvp5F3e22nEBQWg6Pf411366SmtG", - "DpdcebJnjPHwMkzDconJi95o7MDQ2kY1e1Lqwk4k9fyE", - "EW5b5UG5Wp6dL5qvvqV9aJTYN7xYis429f7yU16gezPG", - "EaNNJzeyGpcQXAv43JHFkLQD3sKxHL7s3JAbsyJEvtwp", - "EoqWxp9iCzo1VGs6C6awGLrmz5hQCRKeumg4NpciQCiA", - "F2KvM8yD2epCjmh6dgzfUs1RNZ1nZV4Jbcufupq1Ex5r", - "F4NJurNwkT7pcdvsNgCwHyJWghwBEcRiab2796QFsMG6", - "FCzSWq6W4DZzqsXHVD85Ugt3WRtqspT2ZVxEphuD3Ege", - "FNvRosMS9PtEUiyGZNg6gjbw7u77wc14C8P44aRj9vKr", - "FSW7SmbZ8aqbJXgeg3SMC93ZvauGnmVmyGxgoucXqP7a", - "GdcR94SPum5uT4iDqp19GmjNtLZaxHWb4Ex1rDFK6Jjo", - "H9Nx2pc4eXNTXjiz8x1Sah9WD1SHzeF7u2yUdZuwmDTm", - "HKpXxXf2LDPdcuiEjDVnRMZHXXXCcbW8RmQHByGzHVgE", - "HX5Lv4XzTr4BVbmDM6t5UTxEKpjS4icrEFTufrdAygZC", - "Hd4Yt22xxanJbf4bDwdgyQrXFGEFrGKfQpTzK1isrbTS", - "HjSQ3GLiGF1mEXx92FQiXG67qQfaNQF7QZbstHYEouZe", -] - [chain.neon] id = 245022929 token = "9ChfzoAfqGcrnK9c7cqQwd6MGrFqxA22Q9vLsS75hDzj" diff --git a/evm_loader/program/config/testnet.toml b/evm_loader/program/config/testnet.toml index ef01514c7..b31455f01 100644 --- a/evm_loader/program/config/testnet.toml +++ b/evm_loader/program/config/testnet.toml @@ -2,241 +2,6 @@ program_id = "eeLSJgWzzxrqKv1UxtRVVH8FX3qCQWUs9QuAjJpETGU" no_update_tracking_owners = [] -operators_whitelist = [ - "NeoQM3utcHGxhKT41Nq81g8t4xGcPNFpkAgYj1N2N8v", - "Gw3Xiwve6HdvpJeQguhwT23cpK9nRjSy1NpNYCFY4XU9", - "EJUKLLjBMhFnkonfn7wcThnHyDewmhVmG9sEuVP9cvF8", - "6ndMCacBc69VXqgNbcW3BLk2am9oeUDZa6SgBjHozDPd", - "GEsnEWcKapTk7cgRoixBvCDc7yYuhmoMjpJ2v7mvmsBZ", - "G5397iLxoKKYgMkFfkYBhJYEtErD7ygz8APmH59H8FM6", - "rDeo4nZPE2aWpBkqFXBH8ygh1cD63nEKZPiDrpmQad6", - "8hipwtwcmRH3iypYModkYFNXYGUEbxvpfqRhxPxx5Amx", - "4fvtx2gJYJVd4o6CQt8Bdnc7dg5p2cgnb8oNUs7BGdd5", - "9EMY6Xx18hN39CnzM6D5y9vuPa3YJ5ttbWRPJp3SX1Qk", - "EMgay3kYFzHSh9PruAeRHxuGmNdsRQ6yPxzSAtU7PF7N", - "4s5hHKLrfF7mcjfgwsRKdkubnC2VtswGpR2XGTCJaz3M", - "F3V1pCfk1ZNk7Sdyh9N1H5eMtJq9XfhHR83fF8qa41Vt", - "AqwN5pPsf9pnUZUSo7SmELRrBxxFnycEnTx5spVji4R6", - "FtFt7sMNfPUTWKx3otH4aor4KWoFdk9p5qSyxmSj4ZVH", - "FMMshJoSaNaNFdHseaWAgvHTypS4zggr3fpqEa1FPqYT", - "2S6YTfDmk3PMZUorMqkCRM8zJqTrMtzu8x5eo1YboMGg", - "72jAG5diJkivWJ2Var2SFuYK2P2vjxaZ2wEUSR23GX7a", - "B5Cwn8y3JaFV622wdkocccJ3U1rfjCWA4S922x2ujLU5", - "JCjvNTNTfZeo9mSUB4kBVKCJFGiMm4Hux2DSLFubrgVW", - "D1apcJxXxAS63cpbTidxjXku7cW2ELQQU9szMQracDSY", - "Cy2e827aiHG1YjPpeyhxdYLsv41GHRXGF6eXm5BhefoP", - "2xG1HNtGyJU7toexYdZZmXUnkb1Sf9fuNPtUycieKqDu", - "Gom4mLPW9yCe1gpAGExR89KvH8je1mExxhuEHTPDm7HP", - "AnKcUi9sRv1LwhKwW8HePfFYQM88wppXPYsE7kzL7DMA", - "GV4hrkRD4FnRySu1QrAaepSVW3bcNaZ8Qzi3s8aFU8rX", - "GqL8pvEzwCpJrQG4QvhkVqVuGjt88aX2K4hJYCNZ17MM", - "DdGh2cRow4Mox55bpp9LSzX81e8jvivfnn5U4dVgcVw9", - "AtE89m4yMfQ5kkJoJip3zmYWYH3KKcKirdsX7xQAqxKR", - "CoZPFRcnaYYpxcKQaQ1PmL19qdn2UvpNWrNhT2mgeUSj", - "4pNmbWw9jKK5FwXenyUWBFPH34tDT8pPFhxveDT45oKU", - "2hGSQxwTVefwmD4ta8XbDS2Mst7JLCWBsPv4sF23UU4f", - "7YhQwogejtqmDNDSeabQeVmaxZsTWtXGsbbYUErpbP3L", - "AoJ9MPwwfdgognNy6AphcWvmp7NFpJR3dBwQBgyTUvqi", - "BJ3dVNC6rmL4fLdxWD2kjcokF41gT2RoAFydbCbCthzH", - "GZz2xY4UvRz1Rqcx4wwf8416x2SuQGvqawkUqsWVeCxD", - "ATNYDjFne7E41K2gWq6WhkkXMVm8sVyvYgDuXpUn6XGa", - "53wqLPWxMqTtrF9JzJyJMzzjou5ELYbHzizkReE9ReN1", - "E3Y1hJpMv2wddU1SxTLKz5R5S4P4ZgeZ6Mo4e8Uurqsy", - "Cpm5i9G1gLCDe9qm2y8coQquyGBQHfu8NgiC3JJnTeev", - "813PRjWaqP2ZnirmLNgTL4xyC6yG5WoNEf8sihYnXSHU", - "4sC1XfzkkKT67AKs2zwWJy7VEXcECger4an4s2F16JrK", - "AjfMR1YetbbxYVpdR8uw9hR1pipFydnQy9qHDEM5cjRK", - "2tZkAVEqYwtPDQrdSkbHUmXcD6UuSaWw7RBUSjVXi1s4", - "HzzP7Gc5nKqKpro6Wj99ZDPAwyzGmwdXaQqzJ38XqFtf", - "84qEuwNomqeC7wZZorLQFNj3XdPEycyaNXhVF6A4ThCw", - "9KWDzP7m7FDhY6uTFNMfuSofLEeH3yiq1Zm9vvkNrp4E", - "7nTeGU8UTtDgwj82qFGfp3Ug2ovnrD8Svwn4uygzwtVZ", - "G4WHF5RvK346SWioD9jUk2aotsNjdXRoKwecUXac8Lcr", - "5G5XRrtNhGEam6Dso4eynUctG6pSHBcyADGaWDPMZUZo", - "8a7Yg3gqMARoH8Dp5K4QTETrfHHgzfqcprbjxaT9WwjT", - "AcbET6BaNixJJSbVsSTMHqNbtmD29QcdmG8xDFDZhmAQ", - "ETXp6z3GQuksC7fVbwr3dP7HC6KhDang2BqpwS5yEq4S", - "72SengeGQD7XSdSXi6XnjvQwYpceWKqS2HmPKsvr3m3x", - "6vYNpJXQywhEjapfXSm2GbuFGUjtRamntEn6YT3fUFJw", - "j8Y4abKyAUhhvekN89c7EkYKVmUo5WPuVU3rgaJYivW", - "9A7nYK1iBQyAcF1Hw1aRwcH3qR8pgGvM9VQ7hM9ii7DU", - "1W6Z2oWehbpAK4AHvtEhXbqPQPyZpTKT74SMS4hGd39", - "4RQdLBbbsv3mYTgAzxZLfq7gBNbY94mskVNE5nJzWEDG", - "E7gcSAYWsFyKj7V1Rfqw4LazaPXQTabGThVNkVNuWM1m", - "DR1UDBVEgMTaGwWjaQNzmtMATaucwmBbmCYQkoZ23bXx", - "FrKZBETKPK2EUbyvSpdt61vDCGeUCuvoQdUd6GahZaoP", - "FRvykJX7e7wZWy5E7yM1gcHHQZGUvk5hesM772KcKxyD", - "DwJsWQQSBFcquyoUGKuCy12YAbf6xDQrct88ovTLbUts", - "AAaNPfMcYswFCLuKhzs7ViAgQpvRcTJKP3MC5SraQVrV", - "7edn5oDfjYBEXmp4vie3ywff1icG53dudrfenwpvCzQR", - "5nEkR86At3fqKPNmvtPiwsgtricuhUknSdztoGuXgwCP", - "H4eZrs754K3Dbrs23pWaKHpoYNNGdaKqBRmVKY5mhEmH", - "8Dy9Nqtaj4kcHUWaXfKcpxuqJgvK85RefJXfKH331oF1", - "9CNiUPsG3N7HApEgCdf29jhP1DCPRWhbwX8W8KAYGg3N", - "35ZZAHPv15YVYRayYp79D4byy4bhrGEGm3QZVox69iaZ", - "5dXnBiSUmidcYvsjL4QcX9MrPANSQ9NmhknCRoKNLmEw", - "6zc5dTjN2Bur8j9t2Py8HV79R2dnEFBNegzSjFjgZNVL", - "38iUn8t1wi5NBLtkndeTbKAmDN3DUzGSovZchJwAfk5a", - "6EdzJ4WAYt5bbPFp62CEs6WzDRxiVYouGs2tVDKoyikJ", - "7taK2nEXhZxxYA5sPrRKcEDZppztVyMEYeUnmNjoHyho", - "FGRpARj8VNjK8wpsY2pDpmYmemjmoAPUPFqWpFYw9Z5", - "CtK57wnaahbnj4kHcRTqK3GqHUm2u3fgoWWeQoWgKLuc", - "4Cp4tbVspRVTdicH5L9ofbsDENbYGjV9nS1kVmBZJZi6", - "Hkyk6XoFgSX8pccS4SzsAgroCPg7hhqSDPGZS9N3ib7t", - "5mWoAtX7Ge2Sk4aoyLXHhayGemQAnkugJjU65teC1nCF", - "7r387NaDsWai3JWoRMA7oboNpJdJsqp9ZrHmBFDoAdVs", - "Gds34TkCQK6Cn5UY6Ua63FLA4zHJVL2QnkpzytECsR8Y", - "4bpTD1CjhPj6k6JUiRhFtvGRAprPEaQzMpwnvhdgNhco", - "4aDDAQoHH7EqRdKx3WChJE2X46bYoQu1omyga1AbSK4C", - "6UwcFs1XYr9t3Rb8Us577HnD8VFP7Y27SqycCmHe3hdZ", - "6KqN7yRn3e1VQsN8T4daSjGw8VWA1itfWtMcaVCtViwA", - "3Kc7GwRzz6gE9CyvkR5M9pJDegCewKSf97aqhNLwj1T1", - "2P3yYwJtvcDPG1FkjMa2ZRx5CcfU4BE1eBLxbA4RjwaH", - "35vZqRVJwzETutp9qfrQSVAbfdEdCaTTeNMWFHmTcU9k", - "6C4fqJfP4mBPVQGYGeswi6NMpguHB1Z3V6CB6swNAgQ8", - "GGpZz5Pgk5ZK3MewVmsgN3K3q8ELV1S6G9EqGCp9Fusk", - "5aNR2vRnkeRbRaJ5m6u65ozJkcbKUF3CuAWAd7wcc4VL", - "39ZW3JfejGmKPWMt5mCHDrdXbr2Zqa693PTSw8CF6Hiv", - "6N639L8KEYtXzuK6S2s3igQEpWV9NPRmMUH27EuanoRC", - "4SgQqMMeqkfRxF7XosHZPavhMsQChKbKFgdA5gbqKK69", - "2pwajL5zgaypeLW3iwqgg8Q34k8cbF6FuH7hbviQGHsn", - "Bwcf3tPB7ARgq6jYH1mCA8na14azGThNNP9U9yBuNaNK", - "3bdkShjGK9BdSsmzvFqJ4KYMXEEYSiHppXRm8CAKRLRG", - "AtrntfLuNFrqmmXsKGRiT7mYFeb5WhFvbNi5PeCwxqvK", - "GduRLuJswRRZvC2bjFFFpeGVZyjxBv64gL3dRkT8H9WK", - "2wGuhJ5J5qxQTyye5jkw97DG2riahzfS9TVcUrdKfYZE", - "BftXuBxRV8sSigUk3BaYNR29d7jkGCEJ7H2pdJ5DsUs5", - "3u9nAi7nGd9HSPNiTUoZ9Yeg2foUig4DyDjQCMZcUfuB", - "D7yYMD3CAetZV68sfZyEYrjLEdTCy4euGHLMDDhbYqRC", - "BgtZ5ERP1dk3pX6R3ZhLLsn9gK2712FFBJRwPLJzjf3Q", - "GD5CtfkvLJgvSt5NhxYUvvTMP8J5njVZSjEZTgtFhByA", - "FSWLCdQjiJcw4zFvqjdxSKtesLojygihKq2qRUcszfME", - "86qxUGvmc5CbLrbT55W11Rxf9seSELTc2iwtZAMQCCN3", - "5bFfsYH8mvuUkNYiJiXfRLPa66dHgFcqgtDpFsKYCGCR", - "FLV73f4jgphZGtGqGyL88gRw145rAr9ab9HLia9WHaGa", - "Eao4cfXw3sEVqixo18i6rVGRCbBA6HK4oth47pPkTwhF", - "7zpspz9cf2V8sFdDMiKRWWdvmiUuX4FSgJTTVkARvos5", - "GpobXosk2skR4SufcvN6BtAZzoCSZ2ah61uqtV3yUKvf", - "ECjgJRuwj8KWhgaBqMwBVuvSMX3PdpbHkGmhgCBGgwmp", - "DgyJUjow52EARe5qdQewgivgpYztUpjam1WwgxgfZSop", - "CMXAcbx8CUKjrzGfGFXCEUFWy7pCk1DQ4nULb2sf4MfJ", - "7rzKApzDv6unzj2qKwkAk9epQaqXPJU478oLkUpdmUDE", - "6JnQMijtWU6Hd8Fq4TGknXkaUtsihc2LQXnyqeNvmm4V", - "GfFStrfhsJMeKPjtUU2sbSPjZTqCe4V9e4KEpowCXQDw", - "d3LuBwryPnEgSDX1xMV1EQbzSjz59dibvtpSknHkZWy", - "8NHb7kThj3V4jn2FT6Qns44W3kgfAHRUp9YwiKU2iKki", - "54WJZHA39L4UtCKTcVfY6hmLH3KfPTVrWWn9CdCozVUX", - "2UcM2qimf1fhErp7AffzeaDAKw4uAVaL5Yf1mVmUwES1", - "jdqK5gvjg5bCnaWTmkWhREwGWpyoz4Bf7D4zkCgq7Yr", - "J7SCxdgTapRwUWbUqtot69kTn1YW9i3LYVpZ1CZRCktf", - "4QzexgShewNN7vjyiGbkqgHWMmFMzQBsNy8eUFj3tueX", - "HNBEm3pVcR2RUL2D2VGz12Fc5ABBy2sgsb6Hqw77ePGf", - "1aPHVAsL84LFrn7AB3Gorn8hjd65FzWfp899edy62MA", - "2gWBPL55eMW8YuNDYy6FnNhbjEDNVsXZM8xujMArkj7f", - "9T7iuW4HqCcJWxjNcaUx2vcE67Mkpw61AWS6oYFg54oK", - "Hc5Hndg1RXqBbGg387qUqD1eQSe4Ti6f6UWxRaFn7Csh", - "Cso8JZBNUwZENUwKK4ggrT6dpHWY29tPJunYz7tQhGnc", - "FBPvUsnYPvzcadGdrX9sMeqDgZeYC4knhFPUAWWGJbFV", - "87YzMrZMgo2ujx5DCvyk1YJvwKcSvPgQ16niMSv4qBX8", - "Fc6kL9hwZArmZggpkXUkwts2P124Uv34EbBjHCj7gdcU", - "CWQWWPJgC5G1nJvuHKZ4R9paDca4v7kVbBw3zSBafm96", - "2jFtMCy5biCFb2pTduaBBAFzTvQ1GsjXbP6FSaQXxYWG", - "6aSPCHiYUpNVRQFJBT1FWvfdERA6M3VbtbeG1heg5aUJ", - "2GR4jUxzDSnCzp5kui4Bp96xe6HDLA94E9esELvh4KdY", - "2H694rNVMMw9RW4g2frbvjRKyu3EVfUpuTGRWCyxqmHR", - "2o6WUWZrD2wufWD5i7d8WdkaCWkweguYcqQUQFSpuiy3", - "3UfhW285qXsoXyBeSR7nL41f4t5omatFcXiLt5dE54R4", - "4iYxXBHu227A57S2pWLysEnY4LiRzqStHmh3maBqi7UL", - "4mNxgrH3my7jfiapanDV9bPTprrHzGS8v7iUY7tpiCym", - "5MdtsuUHgkhXtRC3ChbbKbmWMsTQeCTewLVf2Ah5LrYx", - "5V6pkMT9cCicGBvtxDJDQPUovopV4CDHnxBPxQ2CvjPt", - "5ipjaDS6n2ZzHqU4qGQQFAcUNHgeapEDWE8r564DCpj5", - "5swQcW8JgAxXMZqSev9mBC7Nt3PB4BiiSjjDe8PFrRmd", - "6WUPSrVbyCHfv2iMFvVEtNzdMEePsZ7jetZLWUwmRGr8", - "6ZcFvLtFxcaZ5PDfg25D4BZ41dvBMnhKF5eJPFxvmFZF", - "6uCmKHoiDDG7GzmZGQuq3fURBrHqLRCup6osBJ9twQUU", - "7Av3MR8mCMp9wu1uBaef1uSyZnbBu6qceAEyJfawPFP4", - "7Hgp5EDpacDqat5bQBbzXPjvsBW59JCCXGDpa1ftye2Z", - "7TKdcJLgzG55Jn1w1SoDsu8b5HQHv1EeMu3q15Zbny3X", - "7rAYmvC4wmsU5PsVpVgv6T22zKx2kTzGVjBepkfsokqH", - "8MD1PfodkCBFyPeifSZfwnFuXuEDbkHofXSWVoMGoC5G", - "9Qia8LWakRm25ARA3LGgZgJJUUTn2Xvoq8fkp8x7F5Ya", - "9k7dp4a2fRrWupvMSnBwp8GjwKs31rLdGYuWYyCqSeh2", - "9qX9zkEHz8F97XSKSa9JjmYAvuQhxhJVLEgF4LkkavSs", - "A4W4YNZttD7v5ova7pjoD5KJxYJniYXdgrcPdxdMoZwh", - "ACtXeVEHg8zXhGkzRyi4GVUeaWTyMEFNV8ZFTcrjFaBa", - "AdRmRTGQePjKxF52JZGNjpkEqADcLMYBASfpGDtn92sX", - "B44EJEiD3GJG2vMR3DLqkahSxzdb5CkUV6Zv7ph8usjr", - "B4ZjQ9AJDiNYVoqndxT6m6PhPxteUJCeLvZw88MyPWsU", - "B6rjmufEZ4r7Ben475W8Mz4VyShU586ASydLmbxSBep4", - "BeMYNZvbujnt2BYyaYHbTUzY2wvsKc7pdJ6G9792HjR8", - "BzY7NTrg9cpa1bUdYBqnUALZxA8XqzFBXYbWXqyawF6n", - "C9ETqZWZbMuF6gsAhGiegp2A3LASqQSm21HeXe6vpfuT", - "CdKLWgKXSo8RdFoHezfdKWyWzVuZNAppCd1ibpbiyzTe", - "FTtKPVbzEcaUMEiAMcB4Df9CFMpJ4zvNW36uq5FmJkiu", - "G3fZdmSj4KE5Cn3TfRMRe8GmDPUkKsSfRZFAv7fcRw3z", - "GiuiMyGosrEq8ChqHWSEi942xGjfy2HpZFH7vzbXHg2F", - "Gsvv8UTa15hjbYPBH8RnNgdzeoqtsiJFzmxnstZz8vPM", - "H7tHP5zBAh6HBCLqYekz4jpAXLXxP3CDRNwfLhK9aToU", - "Ht3UhUzW1qQQ9Kd7VrNiwYyGTxLeyRM2H4bn6uYGNRwS", - "J7umAcMPrj5XShTTTvHhjVFQYvNuyfF2A3VmkjEDh5jF", - "JAt8QcSt65JFgEvty9yZewYqd7sg8RX9o84PW4Mkm375", - "XBGPWLt7h56gZAsHyZgojcjtuvPUkcYAddHVTZDWAVP", - "219k79Tsxx6kkXD2174kEBJ9SGsXkfDgLqLS9URwTMGc", - "2NNmErUNF2gi42cth9534nWRhfru1TK9913JGCZWsA8x", - "2TAvnJRVgzdmwyD6r6VVpPzkobwumR2bsrGZuvM9wT5q", - "2h4ped9dr4cAcUqDkVzHz7Vnwwni5sJdiTXyvsVxdmmz", - "2jAAJBnTAsDq5ThkD32XWwh9Rr5dnBBMDyTdx5WZU44n", - "2wrNmifxANDRqACvKgLp29fkBjVWbgYjEPBKoYeqMZ1t", - "38s9JFBhRkLJix1nWovGAjQvGKtNeyneM5Hi6igdm67P", - "3Ss6HxYE36EMMd9h5pRpF2VaWqysc5LkYeYkTWw4i2CJ", - "3WConF14E4exyRCrQx4txSCR5H5x2SRzyeK4pksueiLp", - "3u2CfyvHWzcASctPLzmLzj4Hm3wAMQ8rhaSYAyKNcuci", - "4i4vx61HyfjcKNcYDUTi6jHjNpW5apyLb4TuUkKhG7sM", - "4rfqEHt6tW2wFpm6cHowL2NWf7gnGJ2c1eRWwCf9JDLB", - "4tg9S9xb5M9JAqDdPLG8outfD1kcgR116F1aer4K6hLG", - "4vsRcsSGXBtvXKEm95F9itkppum5xv8z1P7pXmcyk68r", - "57ii8Xt6ejep5P9duENhXbxnJqJVDUFyDnJpiDirxVqY", - "57sYCsSS94FZWFNYvwZUK2JRb5ueZZywgBHGzVQHZJ8Z", - "5BDmYq3uSidVsWSKkB6pbJD1yeuYDB1twuEnD8ipDPW3", - "5JAHerFFfD2MU8M8jwvXKwdBLfCgkrz1kxThFfjNtiU8", - "5XgTKmtEX89hunVorXGcy8doCXMxf2o73bGNZnrWj81H", - "5d49teRMfvoL6WVaNdTVnr3Ty1ZMPUo3Cfbk25DXDZPd", - "5ppJvyhvHPxUMzLg69rnBHxsboL9XEfgpt5UTzmzip8Z", - "5tqL5WgD7Fa6hSKSxuUrCGkyv5BxXHD4hUtyWZUxhVFd", - "63qJgdehDp7exeBSqy7kyaqnkVozmuYeZyDpq7wwjHqn", - "6ZSS5rHUuNkkUFk2W2phm7nWwn7szCi5B85SBHnXWDrC", - "6arfLhQhYLt8P2ce2VqXCZ2GVM7u38ZX9m3LQhHY15nk", - "6ehX7Tm6CdFUxZbTuVbHYFh3ZnHcdpWWppobEyEV9ovV", - "6hGvBxGHi3vZr2G6A8byRiCVNp9tf1VGkwg3CcBRGdvq", - "71Lghtp5dFGetx8QqzdBj4GJuY99kARieT2Qk9B2JESQ", - "7xpEPwVXLsSUV5CMmMBxk3ShoB3e3AXdYco9HCwEhzhs", - "7y58oqMbQQkq1KRBPNNs3iFHttRYukkFe4TYSKEgPHFW", - "8Ax3CQfY6zcNUPwffxfzudf2Lxt3nEGSt2vdKWnwE6p6", - "8L5r7C65Mg2AewUQzPnhFdXXzrARLdzzrPi9aCMfVG5R", - "8N4rcGMWmCsnxFjigEeUCHj4aVfGT34bt9Gk4qvd2jFB", - "8NYpZkAfN29Fo4XFBnTKoen93DSq2ebCqeCkiVGNcwuh", - "8T9qHxP7HMCCrHrierNeFeJrZ9viTGTESri8Jz4MzEzb", - "8fGXfPpvvx62HC5fTFV85ubMPZjugsso5yRvFkx1F6Ji", - "8k9vF6AU53mUWp92Y2UmW5dZoQ25vdpD3xSQ4JrtqADm", - "8wkuPLM1HjhYqmAWeMHCzNagPCyQncU2n53uyr2CE2ZH", - "9UV8jS8yPbi9dSozcRXwYFA14rZWZmB2u9eiBrV9UJTQ", - "9g4mbGGDmQ8gddzEUL1snAJ87z2EELnz7mb4Fd7t9rMi", - "ANsYjSTVQJwyHNkktUHkJCHpVraqtVo7gvzRiMVY6f9A", - "APezCPD1HaBcFTHuFi63YMwKFe5GFGoRtdarn7fs3i7C", - "AQZCaaG8nBMVKQZMcfd5eDahABwfzKVrSS9pJgQ64i41", - "AQwdCUTFiX3WJ69RyyBnRthRQYcEuRjq44mty248o8Md", - "AfSPjzRZGJ2vFVP3p2eZp4fk5dGPLDJsSN1SKBtABTpb", - "AiPRw6CiK5jqFqcrmRQpAQZyhUR4fnBnCKx2jQapLNJj", - "At6cfKX99DmxBmUhwrfxjcFBu4CNfp9RETpiQBfxQY9S", - "AuikYUkrP9bRCxPq99YpEkFCgWLS9KM2oe3sCPkTCEwr", - "AyEE2tf4AezMxtBYXoWgoK1PwMDMsPfDahQRtZvU8BLc", - "B5Gefd2yR3nBi4eFDtp3grmVsRq6sw4UYmGVZG6vrda3", - "7P1VpfLJNo1rMJbHmz2P6U34ygkRM5UNogknFUXP2b1k", - "8HzCjhBNP3rs7SydUrZAiQGEoqXHNtpNPE475zzHmzba", - "CRJ7MFYvMjXysVDkifFmiS8jmpDMS5qZRwyu3EN3Rfav", -] - [chain.neon] id = 245022940 token = "89dre8rZjLNft7HoupGiyxu3MNftR577ZYu8bHe2kK7g" diff --git a/evm_loader/program/src/account/operator.rs b/evm_loader/program/src/account/operator.rs index 82581df26..d05324166 100644 --- a/evm_loader/program/src/account/operator.rs +++ b/evm_loader/program/src/account/operator.rs @@ -1,4 +1,4 @@ -use crate::error::Error; +// use crate::error::Error; use solana_program::account_info::AccountInfo; use solana_program::program_error::ProgramError; use std::ops::Deref; @@ -10,23 +10,6 @@ pub struct Operator<'a> { impl<'a> Operator<'a> { pub fn from_account(info: &'a AccountInfo<'a>) -> Result { - let is_authorized = crate::config::AUTHORIZED_OPERATOR_LIST - .binary_search(info.key) - .is_ok(); - - if !is_authorized { - return Err!(Error::UnauthorizedOperator.into(); "Account {} - expected authorized operator", info.key); - } - - unsafe { Self::from_account_not_whitelisted(info) } - } - - /// # Safety - /// Due to critical vulnerability, operator can destroy the world - /// We trust whitelisted operators to not do this - pub unsafe fn from_account_not_whitelisted( - info: &'a AccountInfo<'a>, - ) -> Result { if !solana_program::system_program::check_id(info.owner) { return Err!(ProgramError::InvalidArgument; "Account {} - expected system owned", info.key); } diff --git a/evm_loader/program/src/account/state.rs b/evm_loader/program/src/account/state.rs index a0b104bc5..d45931493 100644 --- a/evm_loader/program/src/account/state.rs +++ b/evm_loader/program/src/account/state.rs @@ -18,16 +18,16 @@ use crate::types::{ AccessListTx, Address, LegacyTx, Transaction, TransactionPayload, TreeMap, }; -use ethnum::U256; -use solana_program::hash::Hash; -use solana_program::system_program; -use solana_program::{account_info::AccountInfo, pubkey::Pubkey}; - use super::{ AccountHeader, AccountsDB, BalanceAccount, ContractAccount, Holder, OperatorBalanceAccount, StateFinalizedAccount, StorageCell, ACCOUNT_PREFIX_LEN, TAG_ACCOUNT_BALANCE, TAG_ACCOUNT_CONTRACT, TAG_HOLDER, TAG_STATE, TAG_STATE_FINALIZED, TAG_STORAGE_CELL, }; +use ethnum::{AsU256, U256}; +use solana_program::hash::Hash; +use solana_program::system_program; +use solana_program::sysvar::Sysvar; +use solana_program::{account_info::AccountInfo, pubkey::Pubkey}; #[derive(PartialEq, Eq)] pub enum AccountsStatus { @@ -102,6 +102,8 @@ struct Data { pub priority_fee_used: U256, /// Steps executed in the transaction pub steps_executed: u64, + /// Last slot that was used by the transaction + pub last_used_slot: u64, } // Stores relative offsets for the corresponding objects as allocated by the AccountAllocator. @@ -123,7 +125,7 @@ pub struct StateAccount<'a> { data: ManuallyDrop>, } -type StateAccountCoreApiView = (Transaction, Pubkey, Address, Vec, u64); +type StateAccountCoreApiView = (Transaction, Pubkey, Address, Vec, u64, u64); const BUFFER_OFFSET: usize = ACCOUNT_PREFIX_LEN + size_of::
(); @@ -195,6 +197,8 @@ impl<'a> StateAccount<'a> { gas_used: U256::ZERO, priority_fee_used: U256::ZERO, steps_executed: 0_u64, + last_used_slot: solana_program::clock::Clock::get() + .map(|clock| clock.slot.as_u256().as_u64())?, }); let data_offset = { @@ -261,6 +265,14 @@ impl<'a> StateAccount<'a> { Ok((state, status)) } + pub fn update_last_usage_slot(program_id: &Pubkey, info: &AccountInfo<'a>) -> Result<()> { + let mut state = Self::from_account(program_id, info)?; + state.data.last_used_slot = + solana_program::clock::Clock::get().map(|clock| clock.slot.as_u256().as_u64())?; + + Ok(()) + } + pub fn finalize(self, program_id: &Pubkey) -> Result<()> { debug_print!("Finalize Storage {}", self.account.key); @@ -439,6 +451,11 @@ impl<'a> StateAccount<'a> { header.executor_state_offset = offset; } + #[must_use] + pub fn last_used_slot(&self) -> u64 { + self.data.last_used_slot + } + pub fn dealloc_executor_state(&self) { unsafe { ManuallyDrop::drop(&mut self.read_executor_state()) }; let mut header = super::header_mut::
(&self.account); @@ -606,8 +623,9 @@ impl<'a> StateAccount<'a> { .collect(); let steps = read_unaligned(addr_of!((*data_ptr).steps_executed)); + let last_slot = read_unaligned(addr_of!((*data_ptr).last_used_slot)); - Ok((tx, owner, origin, accounts, steps)) + Ok((tx, owner, origin, accounts, steps, last_slot)) } } } diff --git a/evm_loader/program/src/instruction/account_create_balance.rs b/evm_loader/program/src/instruction/account_create_balance.rs index 8693310ab..2093cfbe0 100644 --- a/evm_loader/program/src/instruction/account_create_balance.rs +++ b/evm_loader/program/src/instruction/account_create_balance.rs @@ -13,7 +13,7 @@ pub fn process<'a>( ) -> Result<()> { log_msg!("Instruction: Create Balance Account"); - let operator = unsafe { Operator::from_account_not_whitelisted(&accounts[0]) }?; + let operator = Operator::from_account(&accounts[0])?; let system = program::System::from_account(&accounts[1])?; let accounts_db = AccountsDB::new(&accounts[2..], operator, None, Some(system), None); diff --git a/evm_loader/program/src/instruction/account_holder_create.rs b/evm_loader/program/src/instruction/account_holder_create.rs index ac6687d2b..fb00ff187 100644 --- a/evm_loader/program/src/instruction/account_holder_create.rs +++ b/evm_loader/program/src/instruction/account_holder_create.rs @@ -11,7 +11,7 @@ pub fn process<'a>( log_msg!("Instruction: Create Holder Account"); let holder = accounts[0].clone(); - let operator = unsafe { Operator::from_account_not_whitelisted(&accounts[1]) }?; + let operator = Operator::from_account(&accounts[1])?; let seed_len = usize::from_le_bytes(*array_ref![instruction, 0, 8]); let seed_bytes = instruction[8..8 + seed_len].to_vec(); diff --git a/evm_loader/program/src/instruction/account_holder_delete.rs b/evm_loader/program/src/instruction/account_holder_delete.rs index 6920b803b..545203724 100644 --- a/evm_loader/program/src/instruction/account_holder_delete.rs +++ b/evm_loader/program/src/instruction/account_holder_delete.rs @@ -10,7 +10,7 @@ pub fn process<'a>( log_msg!("Instruction: Delete Holder Account"); let holder_info = accounts[0].clone(); - let operator = unsafe { Operator::from_account_not_whitelisted(&accounts[1]) }?; + let operator = Operator::from_account(&accounts[1])?; crate::account::legacy::update_holder_account(&holder_info)?; diff --git a/evm_loader/program/src/instruction/account_holder_write.rs b/evm_loader/program/src/instruction/account_holder_write.rs index e9a5e8781..0b28ef3ec 100644 --- a/evm_loader/program/src/instruction/account_holder_write.rs +++ b/evm_loader/program/src/instruction/account_holder_write.rs @@ -16,7 +16,7 @@ pub fn process<'a>( let data = &instruction[32 + 8..]; let holder_info = accounts[0].clone(); - let operator = unsafe { Operator::from_account_not_whitelisted(&accounts[1]) }?; + let operator = Operator::from_account(&accounts[1])?; crate::account::legacy::update_holder_account(&holder_info)?; diff --git a/evm_loader/program/src/instruction/create_main_treasury.rs b/evm_loader/program/src/instruction/create_main_treasury.rs index 1378551ad..72845ea78 100644 --- a/evm_loader/program/src/instruction/create_main_treasury.rs +++ b/evm_loader/program/src/instruction/create_main_treasury.rs @@ -32,7 +32,7 @@ impl<'a> Accounts<'a> { token_program: Token::from_account(&accounts[3])?, system_program: System::from_account(&accounts[4])?, mint: &accounts[5], - payer: unsafe { Operator::from_account_not_whitelisted(&accounts[6]) }?, + payer: Operator::from_account(&accounts[6])?, }) } } diff --git a/evm_loader/program/src/instruction/neon_tokens_deposit.rs b/evm_loader/program/src/instruction/neon_tokens_deposit.rs index 3c0fc3962..79d94d9f2 100644 --- a/evm_loader/program/src/instruction/neon_tokens_deposit.rs +++ b/evm_loader/program/src/instruction/neon_tokens_deposit.rs @@ -31,7 +31,7 @@ impl<'a> Accounts<'a> { balance_account: &accounts[3], contract_account: &accounts[4], token_program: program::Token::from_account(&accounts[5])?, - operator: unsafe { Operator::from_account_not_whitelisted(&accounts[6]) }?, + operator: Operator::from_account(&accounts[6])?, system_program: program::System::from_account(&accounts[7])?, }) } diff --git a/evm_loader/program/src/instruction/operator_create_balance.rs b/evm_loader/program/src/instruction/operator_create_balance.rs index fa3a8d10e..8bbe59ac3 100644 --- a/evm_loader/program/src/instruction/operator_create_balance.rs +++ b/evm_loader/program/src/instruction/operator_create_balance.rs @@ -13,7 +13,7 @@ pub fn process<'a>( ) -> Result<()> { log_msg!("Instruction: Create Operator Balance Account"); - let operator = unsafe { Operator::from_account_not_whitelisted(&accounts[0]) }?; + let operator = Operator::from_account(&accounts[0])?; let system = program::System::from_account(&accounts[1])?; let account = &accounts[2]; diff --git a/evm_loader/program/src/instruction/operator_delete_balance.rs b/evm_loader/program/src/instruction/operator_delete_balance.rs index 2b0ee3669..f052b820a 100644 --- a/evm_loader/program/src/instruction/operator_delete_balance.rs +++ b/evm_loader/program/src/instruction/operator_delete_balance.rs @@ -10,7 +10,7 @@ pub fn process<'a>( ) -> Result<()> { log_msg!("Instruction: Delete Operator Balance Account"); - let operator = unsafe { Operator::from_account_not_whitelisted(&accounts[0]) }?; + let operator = Operator::from_account(&accounts[0])?; let operator_balance = OperatorBalanceAccount::from_account(program_id, &accounts[1])?; operator_balance.validate_owner(&operator)?; diff --git a/evm_loader/program/src/instruction/operator_withdraw_balance.rs b/evm_loader/program/src/instruction/operator_withdraw_balance.rs index be11dc7af..112a8c371 100644 --- a/evm_loader/program/src/instruction/operator_withdraw_balance.rs +++ b/evm_loader/program/src/instruction/operator_withdraw_balance.rs @@ -14,7 +14,7 @@ pub fn process<'a>( log_msg!("Instruction: Withdraw Operator Balance Account"); let system = System::from_account(&accounts[0])?; - let operator = unsafe { Operator::from_account_not_whitelisted(&accounts[1]) }?; + let operator = Operator::from_account(&accounts[1])?; let mut operator_balance = OperatorBalanceAccount::from_account(program_id, &accounts[2])?; let mut target_balance = BalanceAccount::from_account(program_id, accounts[3].clone())?; diff --git a/evm_loader/program/src/instruction/transaction_cancel.rs b/evm_loader/program/src/instruction/transaction_cancel.rs index 86e30e046..cf1bde023 100644 --- a/evm_loader/program/src/instruction/transaction_cancel.rs +++ b/evm_loader/program/src/instruction/transaction_cancel.rs @@ -5,7 +5,7 @@ use crate::error::{Error, Result}; use crate::gasometer::{CANCEL_TRX_COST, LAST_ITERATION_COST}; use crate::instruction::priority_fee_txn_calculator; use arrayref::array_ref; -use ethnum::U256; +use ethnum::{AsU256, U256}; use solana_program::rent::Rent; use solana_program::sysvar::Sysvar; use solana_program::{account_info::AccountInfo, pubkey::Pubkey}; @@ -31,8 +31,19 @@ pub fn process<'a>( let accounts_db = AccountsDB::new(&accounts[3..], operator, Some(operator_balance), None, None); let (storage, _) = StateAccount::restore(program_id, &storage_info, &accounts_db)?; - validate(&storage, transaction_hash)?; - execute(program_id, accounts_db, storage) + let current_timestamp = + solana_program::clock::Clock::get().map(|clock| clock.slot.as_u256().as_u64())?; + let last_used_slot = storage.last_used_slot(); + let config_cancel_timeout = crate::config::CANCEL_TIMEOUT; + + let is_timeouted = (current_timestamp - last_used_slot) > config_cancel_timeout; + + if is_timeouted { + validate(&storage, transaction_hash)?; + execute(program_id, accounts_db, storage) + } else { + Ok(()) + } } fn validate(storage: &StateAccount, transaction_hash: &[u8; 32]) -> Result<()> { diff --git a/evm_loader/program/src/instruction/transaction_execute_from_account.rs b/evm_loader/program/src/instruction/transaction_execute_from_account.rs index fe1256a18..85ef79a8f 100644 --- a/evm_loader/program/src/instruction/transaction_execute_from_account.rs +++ b/evm_loader/program/src/instruction/transaction_execute_from_account.rs @@ -22,7 +22,7 @@ pub fn process<'a>( let mut holder = Holder::from_account(program_id, accounts[0].clone())?; - let operator = unsafe { Operator::from_account_not_whitelisted(&accounts[1])? }; + let operator = Operator::from_account(&accounts[1])?; let treasury = Treasury::from_account(program_id, treasury_index, &accounts[2])?; let operator_balance = OperatorBalanceAccount::try_from_account(program_id, &accounts[3])?; let system = program::System::from_account(&accounts[4])?; diff --git a/evm_loader/program/src/instruction/transaction_execute_from_account_solana_call.rs b/evm_loader/program/src/instruction/transaction_execute_from_account_solana_call.rs index a78e51721..ea82652dd 100644 --- a/evm_loader/program/src/instruction/transaction_execute_from_account_solana_call.rs +++ b/evm_loader/program/src/instruction/transaction_execute_from_account_solana_call.rs @@ -22,7 +22,7 @@ pub fn process<'a>( let mut holder = Holder::from_account(program_id, accounts[0].clone())?; - let operator = unsafe { Operator::from_account_not_whitelisted(&accounts[1])? }; + let operator = Operator::from_account(&accounts[1])?; let treasury = Treasury::from_account(program_id, treasury_index, &accounts[2])?; let operator_balance = OperatorBalanceAccount::try_from_account(program_id, &accounts[3])?; let system = program::System::from_account(&accounts[4])?; diff --git a/evm_loader/program/src/instruction/transaction_execute_from_instruction.rs b/evm_loader/program/src/instruction/transaction_execute_from_instruction.rs index 14c97d50c..f4481e600 100644 --- a/evm_loader/program/src/instruction/transaction_execute_from_instruction.rs +++ b/evm_loader/program/src/instruction/transaction_execute_from_instruction.rs @@ -22,7 +22,7 @@ pub fn process<'a>( let messsage = &instruction[4..]; let mut holder = Holder::from_account(program_id, accounts[0].clone())?; - let operator = unsafe { Operator::from_account_not_whitelisted(&accounts[1])? }; + let operator = Operator::from_account(&accounts[1])?; let treasury = Treasury::from_account(program_id, treasury_index, &accounts[2])?; let operator_balance = OperatorBalanceAccount::try_from_account(program_id, &accounts[3])?; let system = program::System::from_account(&accounts[4])?; diff --git a/evm_loader/program/src/instruction/transaction_execute_from_instruction_solana_call.rs b/evm_loader/program/src/instruction/transaction_execute_from_instruction_solana_call.rs index 63e259bc8..40d96b538 100644 --- a/evm_loader/program/src/instruction/transaction_execute_from_instruction_solana_call.rs +++ b/evm_loader/program/src/instruction/transaction_execute_from_instruction_solana_call.rs @@ -22,7 +22,7 @@ pub fn process<'a>( let messsage = &instruction[4..]; let mut holder = Holder::from_account(program_id, accounts[0].clone())?; - let operator = unsafe { Operator::from_account_not_whitelisted(&accounts[1])? }; + let operator = Operator::from_account(&accounts[1])?; let treasury = Treasury::from_account(program_id, treasury_index, &accounts[2])?; let operator_balance = OperatorBalanceAccount::try_from_account(program_id, &accounts[3])?; let system = program::System::from_account(&accounts[4])?; diff --git a/evm_loader/program/src/instruction/transaction_step_from_account.rs b/evm_loader/program/src/instruction/transaction_step_from_account.rs index 01207fed8..499a7eede 100644 --- a/evm_loader/program/src/instruction/transaction_step_from_account.rs +++ b/evm_loader/program/src/instruction/transaction_step_from_account.rs @@ -107,6 +107,7 @@ pub fn process_inner<'a>( TAG_STATE => { let (storage, accounts_status) = StateAccount::restore(program_id, &holder_or_storage, &accounts_db)?; + StateAccount::update_last_usage_slot(program_id, &holder_or_storage)?; operator_balance.validate_transaction(storage.trx())?; let miner_address = operator_balance.miner(storage.trx_origin()); diff --git a/evm_loader/program/src/instruction/transaction_step_from_instruction.rs b/evm_loader/program/src/instruction/transaction_step_from_instruction.rs index 8de489773..96c25cd57 100644 --- a/evm_loader/program/src/instruction/transaction_step_from_instruction.rs +++ b/evm_loader/program/src/instruction/transaction_step_from_instruction.rs @@ -78,6 +78,7 @@ pub fn process<'a>( TAG_STATE => { let (storage, accounts_status) = StateAccount::restore(program_id, &storage_info, &accounts_db)?; + StateAccount::update_last_usage_slot(program_id, &storage_info)?; operator_balance.validate_transaction(storage.trx())?; let miner_address = operator_balance.miner(storage.trx_origin());