{"repo":"Cryptorubic/multi-proxy-rubic","free":true,"listed":false,"github":"https://github.com/Cryptorubic/multi-proxy-rubic","clone":"git clone https://github.com/Cryptorubic/multi-proxy-rubic.git","description":"Rubic's multi-facet smart contracts","language":"Solidity","stars":16,"topics":["cross-chain","evm","web3","solidity"],"license":"MIT","category":"blockchain-web3","readme_excerpt":"Rubic Smart Contracts Audit Rubic contracts were audited by MixBytes REPORT Table of contents 1. How It Works 2. Architecture 1. Contract Flow 2. Diamond Helper Contracts 3. Repository Structure 4. Getting Started 1. INSTALL 2. TEST 3. TEST With Foundry/Forge 5. Contract Docs 6. Configuration 1. Before deployment 2. After deployment 7. Deploy Architecture The Rubic Contract is built using the EIP-2535 (Multi-facet Proxy) standard. The contract logic lives behind a single contract that in turn uses DELEGATECALL to call facet contracts that contain the business logic. All business logic is built using facet contracts which live in src/Facets . Since all tokens have to be approved to our contracts. And because it is not safe to approve them to Upgradeable contracts. Rubic has another contract being a single non-upgradeable entrypoint. This contract transfers tokens from user to the main contract and nothing more. So all the user's tokens are approved to it and this is safe. For more information on EIP-2535 you can view the entire EIP here. --- Contract Flow A basic example would be a user bridging from one chain to another using Symbiosis. The user would interact with the ERC20Proxy contract which will transfer assets (native or ERC20) from user to the RubicMultiProxy. Then the main contract will delegate to the SymbiosisFacet and call this way a Symbiosis MetaRouter with specified parameters. The basic flow is illustrated below. --- Diamond Helper Contracts The RubicMultiProxy ","default_branch":null,"files":null,"tree":[],"storefront":"/r/Cryptorubic","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Cryptorubic/multi-proxy-rubic/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}