From aa0348ee55cfa8351c9f704e2ed447547f58bec7 Mon Sep 17 00:00:00 2001 From: shakedstarkware <132554363+shakedstarkware@users.noreply.github.com> Date: Thu, 22 Feb 2024 12:44:50 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Create=20Post=20=E2=80=9Cstarkgate-2-0-vers?= =?UTF-8?q?ion-update=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _data/posts/starkgate-2-0-version-update.yml | 127 +++++++++++++++++++ public/assets/sg.jpeg | Bin 0 -> 44850 bytes 2 files changed, 127 insertions(+) create mode 100644 _data/posts/starkgate-2-0-version-update.yml create mode 100644 public/assets/sg.jpeg diff --git a/_data/posts/starkgate-2-0-version-update.yml b/_data/posts/starkgate-2-0-version-update.yml new file mode 100644 index 0000000000..9b3b01a034 --- /dev/null +++ b/_data/posts/starkgate-2-0-version-update.yml @@ -0,0 +1,127 @@ +id: 48faeb80-3c4b-4dd8-894f-1376d4d631b3 +post_type: article +title: StarkGate 2.0 Version Update +seoTitle: "StarkGate 2.0 Version Update: Enhanced Features & Security for Developers" +toc: true +published_date: 2024-02-22T10:29:41.293Z +image: /assets/sg.jpeg +category: + - a6270a0b-ff84-4a7a-bd07-5183e0f2e857 +topic: + - ca272092-827b-4603-a3a6-b0fdbbc624ad +short_desc: > + StarkGate 2.0 enhances the connection between Starknet and Ethereum, offering + upgraded security and improved usability. This new version introduces + functionalities such as one-click withdrawals, permissionless token additions, + and smart deposits to facilitate easier transactions. The community is invited + to provide its input to contribute to StarkGate's continuous improvement, + further enhancing blockchain integration with these new features. +post_desc: | + New features unlocked, security and UX enhanced +seo_desc: > + Explore StarkGate 2.0's version update with improved security, UX and new + features for seamless Starknet-Ethereum integration. Unlock now. +blocks: + - type: markdown + body: >- + ## TL;DR + + + * The new version of StarkGate, written in Cairo, is live on mainnet. + + * Check yourself - do you take advantage of ALL of StarkGate’s features?  + + * We want to hear your feedback and suggestions! Take an active role in shaping StarkGate’s future. + + + ## Introduction + + + In May 2022, StarkWare launched [StarkGate](https://starkgate.starknet.io/) to serve as the native bridge between Starknet and Ethereum. Since then, deposits through StarkGate have surpassed the $1 billion mark, with an average of more than 100,000 monthly transactions. + + + + + StarkGate’s new version, written in (the new) Cairo, is now deployed on mainnet. It includes new features for developers and improved user experience. So It's time to catch up - are you using all that StarkGate has to offer? + + + ## More than just a bridge  + + + While StarkGate’s main functionality is to bridge funds between Ethereum and Starknet (here’s a [step-by-step tutorial](https://starkware.co/resource/getting-started-using-starknet-setting-up-a-starknet-wallet/) to guide you on how), there are more things that you can do with StarkGate. Let’s see exactly what features it offers devs and users.  + + + ### One-click withdrawals (Live on Starknet mainnet) + + + With one-click withdrawals, users can seamlessly retrieve their bridged assets to Ethereum mainnet. In the past, for users to withdraw funds to Ethereum, they had to navigate a two-step procedure: sending a withdrawal transaction on Starknet, followed by sending another transaction on Ethereum once the withdrawal was finalized, which usually takes a few hours. + + + This service, developed by [SpaceShard](https://www.spaceshard.io/), eliminates the need for an additional transaction and provides users with a smooth one-click withdrawal process. + + + ### Withdrawal limits (Live on Starknet mainnet) + + + As StarkGate’s Total Value Locked (TVL) continues to grow, it is important to ensure enhanced security mechanisms are in place. That's why, in case a critical bug is found, a limit on withdrawals will be imposed. The strategy employed combines manual and automatic detection techniques to freeze withdrawals in case of bugs. This approach ensures that a designated team can thoroughly investigate and fix the issue with minimal loss of user funds. The authority to lift the freeze on withdrawals will be vested in a security admin quorum comprised of members from the Starknet Foundation, contributors to the Starknet ecosystem, and representatives from StarkWare. This composition ensures the representation of the diverse interests within the Starknet community. + + + ### Fast withdrawals (Coming in Q2 2024) + + + Fast withdrawals give users the ability to obtain their funds immediately on Ethereum instead of waiting for L1 finalization to complete the process, which can take a few hours. This is achieved by integrating a fast withdrawal portal into StarkGate. The portal guides users to choose from several trusted fast withdrawal services and a trustless solution developed by SpaceShard. + + + + + ### Permissionless bridging (Live on Starknet mainnet) + + + Many protocols on Starknet, for example, AMMs, require permissionless addition of tokens. So far, StarkGate supported only a subset of pre-configured tokens, which created an issue for these protocols. StarkGate’s new version supports permissionless ERC-20 token addition.  + + + + + When asked to bridge a new token, StarkGate will first confirm the token hasn't been previously bridged, and then deploy an ERC-20 contract on Starknet, creating a bridge between the two.  + + + Although you can use a block explorer to access the newly created bridge, the addition of tokens to StarkGate’s UI is not automated. This is in order to prevent loss of funds due to the possibility of incorrect or malicious bridging of tokens. + + + + + We note that adding a token that requires a customized bridging mechanism or a non-standard token contract on L2 is still possible, only in a permissioned way. + + + ### Smart deposit (Live on Starknet mainnet) + + + Smart deposit, when implemented by apps, allows users to deposit from Ethereum directly to a Starknet app’s ERC-20 balance, making Starknet apps more accessible to the entire Ethereum community. Previously, Ethereum users had to first set up a Starknet account and bridge their assets into this account to access Starknet apps. The smart deposit feature makes the first interaction between Ethereum users and Starknet apps seamless. + + + + + Smart deposits on StarkGate can activate a dedicated function hook on the recipient Starknet contract. This lets users deposit directly from Ethereum to the app’s ERC-20 balance. The function hook, which is called automatically after the deposit, clarifies to the app the source of the new funds and registers them under the user's name in the app's balance sheet—all within a single transaction. Users of apps enabling this feature could send tokens from Ethereum to their preferred DeFi app and trade without worrying about which chain the app is on. + + + ## Summary + + + StarkGate 2.0 is now live, bringing several new features alongside enhanced user experience.  + + + We invite you to explore all that StarkGate has to offer and join us in shaping its future. + + + + + For more details on the features and their implementation, we welcome you to read the [documentation](https://docs.starknet.io/documentation/tools/starkgate-bridge/), the [source code](https://github.com/starknet-io/starkgate-contracts/tree/cairo-1), and the [release notes](https://github.com/starknet-io/starkgate-contracts/releases). + + + ## What’s next? + + + We're currently designing the next version of StarkGate, making it an ideal time for  + + + **suggestions and feedback. Contact us at [Support@StarknetCommunity.io](mailto:Support@StarknetCommunity.io).** diff --git a/public/assets/sg.jpeg b/public/assets/sg.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c8f050d70d15026664e3e5cf171c8be78533aeb7 GIT binary patch literal 44850 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

Mo$S{p9ksa3PJr0fY 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 Date: Thu, 22 Feb 2024 12:47:58 +0200 Subject: [PATCH 2/2] =?UTF-8?q?Update=20Post=20=E2=80=9Cstarkgate-2-0-vers?= =?UTF-8?q?ion-update=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _data/posts/starkgate-2-0-version-update.yml | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/_data/posts/starkgate-2-0-version-update.yml b/_data/posts/starkgate-2-0-version-update.yml index 9b3b01a034..3b9f0410c5 100644 --- a/_data/posts/starkgate-2-0-version-update.yml +++ b/_data/posts/starkgate-2-0-version-update.yml @@ -40,9 +40,7 @@ blocks: In May 2022, StarkWare launched [StarkGate](https://starkgate.starknet.io/) to serve as the native bridge between Starknet and Ethereum. Since then, deposits through StarkGate have surpassed the $1 billion mark, with an average of more than 100,000 monthly transactions. - - - StarkGate’s new version, written in (the new) Cairo, is now deployed on mainnet. It includes new features for developers and improved user experience. So It's time to catch up - are you using all that StarkGate has to offer? + StarkGate’s new version, written in (the new) Cairo, is now deployed on mainnet. It includes new features for developers and improved user experience. So, It's time to catch up - are you using all that StarkGate has to offer? ## More than just a bridge  @@ -72,24 +70,18 @@ blocks: Fast withdrawals give users the ability to obtain their funds immediately on Ethereum instead of waiting for L1 finalization to complete the process, which can take a few hours. This is achieved by integrating a fast withdrawal portal into StarkGate. The portal guides users to choose from several trusted fast withdrawal services and a trustless solution developed by SpaceShard. - - ### Permissionless bridging (Live on Starknet mainnet) Many protocols on Starknet, for example, AMMs, require permissionless addition of tokens. So far, StarkGate supported only a subset of pre-configured tokens, which created an issue for these protocols. StarkGate’s new version supports permissionless ERC-20 token addition.  - - When asked to bridge a new token, StarkGate will first confirm the token hasn't been previously bridged, and then deploy an ERC-20 contract on Starknet, creating a bridge between the two.  Although you can use a block explorer to access the newly created bridge, the addition of tokens to StarkGate’s UI is not automated. This is in order to prevent loss of funds due to the possibility of incorrect or malicious bridging of tokens. - - We note that adding a token that requires a customized bridging mechanism or a non-standard token contract on L2 is still possible, only in a permissioned way. @@ -99,8 +91,6 @@ blocks: Smart deposit, when implemented by apps, allows users to deposit from Ethereum directly to a Starknet app’s ERC-20 balance, making Starknet apps more accessible to the entire Ethereum community. Previously, Ethereum users had to first set up a Starknet account and bridge their assets into this account to access Starknet apps. The smart deposit feature makes the first interaction between Ethereum users and Starknet apps seamless. - - Smart deposits on StarkGate can activate a dedicated function hook on the recipient Starknet contract. This lets users deposit directly from Ethereum to the app’s ERC-20 balance. The function hook, which is called automatically after the deposit, clarifies to the app the source of the new funds and registers them under the user's name in the app's balance sheet—all within a single transaction. Users of apps enabling this feature could send tokens from Ethereum to their preferred DeFi app and trade without worrying about which chain the app is on. @@ -113,8 +103,6 @@ blocks: We invite you to explore all that StarkGate has to offer and join us in shaping its future. - - For more details on the features and their implementation, we welcome you to read the [documentation](https://docs.starknet.io/documentation/tools/starkgate-bridge/), the [source code](https://github.com/starknet-io/starkgate-contracts/tree/cairo-1), and the [release notes](https://github.com/starknet-io/starkgate-contracts/releases). @@ -124,4 +112,4 @@ blocks: We're currently designing the next version of StarkGate, making it an ideal time for  - **suggestions and feedback. Contact us at [Support@StarknetCommunity.io](mailto:Support@StarknetCommunity.io).** + suggestions and feedback. Contact us at** [Support@StarknetCommunity.io](mailto:Support@StarknetCommunity.io).**