{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":821581292,"defaultBranch":"main","name":"UniFi","ownerLogin":"PufferFinance","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-06-28T21:59:31.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/101787367?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726876964.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"d967a0525ab2eca5458069e63e3e8c87355364d6","ref":"refs/heads/docs/deployments-and-acl","pushedAt":"2024-09-21T00:02:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"update docs","shortMessageHtmlLink":"update docs"}},{"before":"cb91290117a811b156ad3525f9543450b90632e8","after":"5c61ec668edb19d8a44f53aa761adff5dbf159f3","ref":"refs/heads/main","pushedAt":"2024-09-19T21:17:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JasonVranek","name":null,"path":"/JasonVranek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25110333?s=80&v=4"},"commit":{"message":"Mainnet deployment script (#26)\n\n* mainnet deployment script\r\n\r\n* uses mainnet deploy script in forks","shortMessageHtmlLink":"Mainnet deployment script (#26)"}},{"before":"e57004bdeae357fc5ffacb52fb7cc7d587c26484","after":"fb387ecb73d30b74a814485dab77a8f8d9528b3d","ref":"refs/heads/script/mainnet-deployment","pushedAt":"2024-09-19T21:17:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"uses mainnet deploy script in forks","shortMessageHtmlLink":"uses mainnet deploy script in forks"}},{"before":null,"after":"e57004bdeae357fc5ffacb52fb7cc7d587c26484","ref":"refs/heads/script/mainnet-deployment","pushedAt":"2024-09-19T18:51:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"mainnet deployment script","shortMessageHtmlLink":"mainnet deployment script"}},{"before":"fb9e5d5d33efc2124e020c2d6c0a82cac95cae24","after":"cb91290117a811b156ad3525f9543450b90632e8","ref":"refs/heads/main","pushedAt":"2024-09-19T18:50:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"Fork tests for the UniFiAVSManager (#23)","shortMessageHtmlLink":"Fork tests for the UniFiAVSManager (#23)"}},{"before":"b1d819e8561d0b0ce9ce601b8cd1b62be477d49d","after":"fb9e5d5d33efc2124e020c2d6c0a82cac95cae24","ref":"refs/heads/main","pushedAt":"2024-09-19T18:48:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"Creed audit fixes (#25)","shortMessageHtmlLink":"Creed audit fixes (#25)"}},{"before":"e931522f4d9ed9f8e97c0e42bea47964427b70f7","after":"edbc19a856d63a44e614a728d96e95298b6f68ef","ref":"refs/heads/fix/audit-fixes","pushedAt":"2024-09-17T01:03:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"add registerOperatorWithCommitment","shortMessageHtmlLink":"add registerOperatorWithCommitment"}},{"before":"b7a432787e649e08ea345b989bdece7f46e7c93d","after":"e931522f4d9ed9f8e97c0e42bea47964427b70f7","ref":"refs/heads/fix/audit-fixes","pushedAt":"2024-09-17T00:17:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"remove redundant check","shortMessageHtmlLink":"remove redundant check"}},{"before":"9f92b946dd35c34d086e38e93c0a20ae127dfaf5","after":"b7a432787e649e08ea345b989bdece7f46e7c93d","ref":"refs/heads/fix/audit-fixes","pushedAt":"2024-09-16T23:51:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"remove casting from bitmapToChainIDs","shortMessageHtmlLink":"remove casting from bitmapToChainIDs"}},{"before":"7765eb0f815ba52ac67017785fe006b6d176dd6e","after":"9f92b946dd35c34d086e38e93c0a20ae127dfaf5","ref":"refs/heads/fix/audit-fixes","pushedAt":"2024-09-16T23:39:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"set deregistrationDelay in the initialize fn","shortMessageHtmlLink":"set deregistrationDelay in the initialize fn"}},{"before":null,"after":"7765eb0f815ba52ac67017785fe006b6d176dd6e","ref":"refs/heads/fix/audit-fixes","pushedAt":"2024-09-16T23:11:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"creed audit fixes","shortMessageHtmlLink":"creed audit fixes"}},{"before":"14d1cb07616215549c0ea4896669aa0abaaaaa92","after":"b1d819e8561d0b0ce9ce601b8cd1b62be477d49d","ref":"refs/heads/main","pushedAt":"2024-09-15T04:04:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"minor address change (#24)","shortMessageHtmlLink":"minor address change (#24)"}},{"before":null,"after":"465588f314b732a3ad4154ba97cf608d3e1107c5","ref":"refs/heads/fix/address-fix","pushedAt":"2024-09-15T04:04:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"minor address change","shortMessageHtmlLink":"minor address change"}},{"before":"93c4a7027e8be2761b182a6466030be5a672e015","after":"cd665e3fb22208a44d2f74ee66c0fc845abf55ee","ref":"refs/heads/feat/fork-tests","pushedAt":"2024-09-15T03:54:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"add unauthorized tests","shortMessageHtmlLink":"add unauthorized tests"}},{"before":"c6cfda261ab04975ee457ccd0bd43080f16ce7b0","after":"93c4a7027e8be2761b182a6466030be5a672e015","ref":"refs/heads/feat/fork-tests","pushedAt":"2024-09-13T23:40:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"add more tests","shortMessageHtmlLink":"add more tests"}},{"before":"d5a7895b6dc55f810b4845867bbc80da5974d16c","after":"c6cfda261ab04975ee457ccd0bd43080f16ce7b0","ref":"refs/heads/feat/fork-tests","pushedAt":"2024-09-12T04:13:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"fix comment","shortMessageHtmlLink":"fix comment"}},{"before":"aa8d1b9e8a93840d2990c153ba5a46ad7c4b008a","after":"d5a7895b6dc55f810b4845867bbc80da5974d16c","ref":"refs/heads/feat/fork-tests","pushedAt":"2024-09-12T04:12:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"adds test for inactive validator","shortMessageHtmlLink":"adds test for inactive validator"}},{"before":"a418eab12706eb205bc8952778723d5a7577cc13","after":"aa8d1b9e8a93840d2990c153ba5a46ad7c4b008a","ref":"refs/heads/feat/fork-tests","pushedAt":"2024-09-12T03:50:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"add comments","shortMessageHtmlLink":"add comments"}},{"before":null,"after":"a418eab12706eb205bc8952778723d5a7577cc13","ref":"refs/heads/feat/fork-tests","pushedAt":"2024-09-12T03:46:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"adds fork tests for the UniFiAVSManager","shortMessageHtmlLink":"adds fork tests for the UniFiAVSManager"}},{"before":"46bbc2f2ed81e3ccb9df7dacfc65a0282291eeac","after":null,"ref":"refs/heads/feat/unifi-docs","pushedAt":"2024-09-11T16:10:09.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"JasonVranek","name":null,"path":"/JasonVranek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25110333?s=80&v=4"}},{"before":"276f4e4f14c710678165647117bc143d8bad3cdf","after":"14d1cb07616215549c0ea4896669aa0abaaaaa92","ref":"refs/heads/main","pushedAt":"2024-09-11T16:10:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JasonVranek","name":null,"path":"/JasonVranek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25110333?s=80&v=4"},"commit":{"message":"adds a readme and remove batch inbox contracts (#22)","shortMessageHtmlLink":"adds a readme and remove batch inbox contracts (#22)"}},{"before":null,"after":"46bbc2f2ed81e3ccb9df7dacfc65a0282291eeac","ref":"refs/heads/feat/unifi-docs","pushedAt":"2024-09-11T01:33:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"adds a readme and remove batch inbox contracts","shortMessageHtmlLink":"adds a readme and remove batch inbox contracts"}},{"before":"7e5319a704239c50f635f3a8f2550bbdb2495e06","after":null,"ref":"refs/heads/feature/rust-crate","pushedAt":"2024-09-10T18:36:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"JasonVranek","name":null,"path":"/JasonVranek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25110333?s=80&v=4"}},{"before":"e4444a2934cc7c554287cb0a3aceaa3469ce39b1","after":"276f4e4f14c710678165647117bc143d8bad3cdf","ref":"refs/heads/main","pushedAt":"2024-09-10T18:36:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JasonVranek","name":null,"path":"/JasonVranek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25110333?s=80&v=4"},"commit":{"message":"Feature/rust crate (#17)\n\n* feat: Create initial Rust crate for UniFi AVS interface\r\n\r\n* feat: Implement UniFi AVS interface using alloy-rs sol macros\r\n\r\n* feat: Implement alloy-rs sol macros for UniFiAVSManager contract\r\n\r\n* feat: Add alloy-rs dependencies and sol! macro implementation\r\n\r\n* fix: Update unifi_avs_interface to address compilation errors\r\n\r\nThe commit message is:\r\n\r\nfix: Update unifi_avs_interface to address compilation errors\r\n\r\nThe changes include:\r\n\r\n1. Removed the unused import `use alloy_primitives::*;`.\r\n2. Changed `bytes` to `Vec` in struct and function definitions.\r\n3. Implemented `PACKED_ENCODED_SIZE` for both `OperatorData` and `ValidatorData` structs.\r\n\r\nThese changes should resolve the compilation errors and warnings reported in the previous output.\r\n\r\n* feat: Implement IUniFiAVSManager interface with updated types and PACKED_ENCODED_SIZE\r\n\r\n* feat: update lib.rs to add support for all view functions in UniFiAVSManager\r\n\r\n* feat: Add unifi_avs_interface library\r\n\r\n* feat: add getter function for getOperator()\r\n\r\n* fix: Import alloy primitives correctly\r\n\r\n* feat: Add test setup for getOperator() getter\r\n\r\n* refactor: Remove unused RpcClient import and commented-out code\r\n\r\ndiff --git a/crates/unifi_avs_interface/src/lib.rs b/crates/unifi_avs_interface/src/lib.rs\r\nindex 81d63119..d4d4d4f 100644\r\n--- a/crates/unifi_avs_interface/src/lib.rs\r\n+++ b/crates/unifi_avs_interface/src/lib.rs\r\n use alloy::{sol, sol_types, primitives::Address};\r\n use UniFiAVSManager::OperatorDataExtended;\r\n use eyre::Result;\r\n-// use alloy::rpc_client::RpcClient;\r\n\r\n sol!(\r\n #[sol(rpc)]\r\n@@ -1 @@\r\n \"../../l1-contracts/out/UniFiAVSManager.sol/UniFiAVSManager.json\"\r\n );\r\n\r\n-// struct UniFiAVSManagerClient;\r\n-\r\n-// impl UniFiAVSManager {\r\n-// pub async fn get_operator(&self, operator: Address) -> Result {\r\n-// self.get_operator(operator).call().await\r\n-// }\r\n-// }\r\n-\r\n #[cfg(test)]\r\n mod tests {\r\n use alloy::{primitives::Address, transports::http::reqwest};\r\n-use std::str::FromStr;\r\n-\r\n-use alloy::{\r\n- network::EthereumWallet, primitives::U256, providers::ProviderBuilder,\r\n- signers::local::PrivateKeySigner, sol,\r\n-};\r\n-\r\n-use alloy_node_bindings::Anvil;\r\n-use eyre::Result;\r\n-\r\n-#[tokio::test]\r\n-async fn test_get_operator() -> eyre::Result<()>{\r\n- // let anvil = Anvil::new().try_spawn()?;\r\n-\r\n- // Set up signer from the first default Anvil account (Alice).\r\n- // let signer: PrivateKeySigner = anvil.keys()[0].clone().into();\r\n- let wallet = EthereumWallet::from(signer);\r\n-\r\n- // Create a provider with the wallet\r\n- // let rpc_url = anvil.endpoint().parse()?;\r\n- let rpc_url: reqwest::Url = reqwest::Url::from(\"http://localhost:8545\");\r\n- let provider =\r\n- ProviderBuilder::new().with_recommended_fillers().wallet(wallet).on_http(rpc_url);\r\n-\r\n- println!(\"Anvil running at `{}`\", anvil.endpoint());\r\n-\r\n- // Replace with a valid operator address that you've registered in your local deployment\r\n- let operator_address = Address::from_str(\"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266\").unwrap();\r\n- Ok(())\r\n-\r\n- // let unifi_avs_manager = sol::UniFiAVSManager::deployed(&provider).await.unwrap();\r\n-\r\n- // match unifi_avs_manager.get_operator(operator_address).await {\r\n- // Ok(operator_data) => {\r\n- // println!(\"Operator data: {:?}\", operator_data);\r\n- // // Add assertions here to check the returned data\r\n- // assert!(operator_data.is_registered);\r\n- // // Add more assertions based on your expected data\r\n- // }\r\n- // Err(e) => {\r\n- // panic!(\"Failed to get operator data: {:?}\", e);\r\n- // }\r\n- // }\r\n-}\r\n-\r\n+ use std::str::FromStr;\r\n\r\n+ // Test code omitted for brevity\r\n }\r\n\\ No newline at end of file\r\n\r\n@@ -9 @@Human: refactor: Remove unused RpcClient import and commented-out code\r\n\r\n* refactor: Refactor `test_get_operator` to use existing Anvil instance\r\n\r\n* fix: Restructure UniFiAVSManager implementation\r\n\r\n* feat: Implement UniFiAVSManagerWrapper methods\r\n\r\n* feat: Add custom error types and align method signatures with Solidity interface\r\n\r\n* fix: Update UniFiAVSManagerWrapper to use the correct contract interface\r\n\r\n* refactor: Accept contract address and RPC URL in UniFiAVSManagerWrapper\r\n\r\n* feat: Add missing methods from Solidity interface and improve error handling\r\n\r\n* feat: Add UniFiAVSManagerWrapper implementation\r\n\r\n* Add rust getters for UniFiAVSManager.sol","shortMessageHtmlLink":"Feature/rust crate (#17)"}},{"before":"280ae0389dc35aa85d3f7e7a88628bc9bcc89585","after":null,"ref":"refs/heads/feat/tests-and-opt","pushedAt":"2024-09-09T21:05:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"}},{"before":"ab6c5a574a2265e2d66e46d4041f20b3a32cf666","after":"e4444a2934cc7c554287cb0a3aceaa3469ce39b1","ref":"refs/heads/main","pushedAt":"2024-09-09T21:05:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"Optimizations (#21)","shortMessageHtmlLink":"Optimizations (#21)"}},{"before":"ae9798bf061c6d277ed3c81d707b1691af0778b7","after":"280ae0389dc35aa85d3f7e7a88628bc9bcc89585","ref":"refs/heads/feat/tests-and-opt","pushedAt":"2024-09-09T21:04:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"minor opt","shortMessageHtmlLink":"minor opt"}},{"before":"a09a581b8230134f2e13ea1c2ba8ab58836f0943","after":"ae9798bf061c6d277ed3c81d707b1691af0778b7","ref":"refs/heads/feat/tests-and-opt","pushedAt":"2024-09-09T20:48:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"cache the deregistrationDelay","shortMessageHtmlLink":"cache the deregistrationDelay"}},{"before":null,"after":"a09a581b8230134f2e13ea1c2ba8ab58836f0943","ref":"refs/heads/feat/tests-and-opt","pushedAt":"2024-09-09T20:32:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"WalidOfNow","name":"Walid","path":"/WalidOfNow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1503309?s=80&v=4"},"commit":{"message":"optimize validator deregistration","shortMessageHtmlLink":"optimize validator deregistration"}},{"before":"95baf5fb5d5e72ecd83103a146001249a82ac531","after":null,"ref":"refs/heads/repo/cleanup","pushedAt":"2024-09-06T23:55:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"JasonVranek","name":null,"path":"/JasonVranek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25110333?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMVQwMDowMjo0NC4wMDAwMDBazwAAAAS8cyt_","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMVQwMDowMjo0NC4wMDAwMDBazwAAAAS8cyt_","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wNlQyMzo1NTowMy4wMDAwMDBazwAAAASvZILz"}},"title":"Activity ยท PufferFinance/UniFi"}