ArkProjectNFTs / ark-project

ArkProject is a liquidity layer for digital assets, uniting markets, empowering creators, and bridging the gap to mass adoption. Built on top of Starknet, ArkProject is designed to provide a fully decentralized and trustless orderbook on-chain.
https://arkproject.dev
Apache License 2.0
27 stars 26 forks source link

Update starknet-rs to Version 0.11.0 #465

Open ybensacq opened 1 month ago

ybensacq commented 1 month ago

We need to update starknet-rs to the latest version (currently 0.11.0). This update introduces some changes, particularly the refactoring of FieldElement to Felt.

As part of this upgrade, we will need to:

  1. Replace all instances of FieldElement with Felt throughout the codebase.
  2. Ensure that everything is functioning correctly after the update.

If anyone is interested in tackling this update, your help would be greatly appreciated!

Jemiiah commented 1 month ago

@ybensacq & @gershon would love to take on this issue when OD Hack starts

Jemiiah commented 1 month ago

@ybensacq I'm capable of doing this

SoarinSkySagar commented 1 month ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

GM, I am Sagar Rana, a smart contract developer and full stack engineer. I have 3 years of experience building robust full stack applications and over a year of writing smart contracts. You can see my projects and contributions to some major repos on my GitHub profile. The tech stack I use mainly includes Solidity, Rust, JavaScript and Typescript. I am also contributing to the Starknet ecosystem and building on Cairo language. I am interested in contributing to projects like this to learn more about these technologies and help make these projects better. Please assign me as I would be really glad to be a contributor in this project! :)

How I plan on tackling this issue

Hi @ybensacq, I will be approaching this issue by:

Here are the tasks:

ETA: 4 Hours

PoulavBhowmick03 commented 1 month ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I'm Poulav Bhowmick, a software engineer at Invisible Studios with a robust background in TypeScript, Rust, Solidity Cairo, fullstack development and blockchain technology. My experience includes building robust applications, optimizing functionalities and blockchain integration. I have actively participated in events and open source contributions, enhancing my capability to tackle real-world tech challenges. My projects can be viewed on my GitHub Profile and OnlyDust Profile. Plus I´m active member of Starknet, Ethereum ecosystem.

How I plan on tackling this issue

I will tackle the update of starknet-rs to version 0.11.0 by following these steps:

Upgrade Dependency:

I will update the starknet-rs dependency to version 0.11.0 in the Cargo.toml file. Refactor FieldElement to Felt:

I will search through the entire codebase for all instances of FieldElement and replace them with Felt, as per the changes introduced in the new version. This will include function signatures, variable declarations, and any logic that previously depended on FieldElement. Update Tests:

I will update all unit and integration tests that involve FieldElement to use Felt. Additionally, I will ensure that test data is properly converted or adjusted if the handling of Felt differs from FieldElement. Functional Review:

After refactoring the codebase, I will run all tests to verify that the application works as expected with Felt. If there are any new warnings, errors, or deprecations introduced with version 0.11.0, I will address them accordingly. Code Cleanup:

As part of this upgrade, I will ensure that any redundant code related to FieldElement is cleaned up, and any new best practices or improvements related to Felt are applied. Final Verification:

Once the refactor is complete, I will perform a final manual review of the codebase to ensure nothing is missed and submit a pull request for review. This approach will ensure a smooth transition to starknet-rs version 0.11.0, keeping the codebase up to date with the latest changes and improvements.

ETA- 2 days

saimeunt commented 1 month ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have some experience working with starknet-rs while developing features for Nethermind Starknet RPC builder: https://github.com/NethermindEth/rpc-request-builder

How I plan on tackling this issue

I will follow the migration path described in the starknet-rs repo: https://github.com/xJonathanLEI/starknet-rs/releases/tag/starknet%2Fv0.11.0 I will probably use starknet-rs v12 as it was released recently and make sure to update the codebase to reflect these breaking changes too.

raizo07 commented 1 month ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hello I'll like to be assigned to work on this.

I'm a software Dev with over four years experience and have worked on a couple of projects here.

Jemiiah commented 1 month ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I'm a front end web 3 developer I would love to work on this issue @ybensacq & @gershon

How I plan on tackling this issue

  1. Update Dependencies Update the starknet-rs crate version to 0.11.0 in your Cargo.toml file:

[dependencies] starknet-rs = "0.11.0"

  1. Replace FieldElement with Felt In all files where FieldElement is used, replace it with Felt. You can do this efficiently using search and replace functionality in your IDE or text editor. Here’s an example: // Before use starknet::FieldElement;

// After use starknet::Felt;

  1. Fix Method Calls and Conversions Since FieldElement was refactored to Felt, method signatures or conversions involving FieldElement might also need changes. For example, if you were converting between FieldElement and other types, ensure that the conversions still work with Felt or update them as needed. Check the new documentation for any changes to methods related to Felt. Refactoring tools or manual testing will help identify and adjust these changes.

  2. Run Tests After making the necessary changes, run the test suite to ensure that the update works correctly:

cargo test

  1. Handle New Breaking Changes Review the release notes or migration guide for version 0.11.0to ensure that no other breaking changes affect your codebase. You might need to adjust other parts of your project if there are changes beyond FieldElement being refactored.
t0fudev commented 1 month ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Helloo, my name is Hellen. I´m currently a computer science student and a web3 developer. I have been working on different exercises on different platforms like Exercism and Starklings in the past weeks so I can get my knowledge about the different languages better . I am hopeful to contribute on this repository!!

How I plan on tackling this issue

I would work on this problem by doing the following:

Luluameh commented 1 month ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have experience working with Rust and blockchain libraries like Starknet. I’ve contributed to similar upgrade tasks and am familiar with handling breaking changes and ensuring smooth transitions in codebases.

How I plan on tackling this issue

I’d systematically replace all instances of FieldElement with Felt across the codebase, ensuring the updates align with version 0.11.0. I’d run tests to verify the functionality and resolve any issues introduced by the refactor.

Jemiiah commented 1 month ago

@ybensacq and @gershon can I still work on this issue

od-hunter commented 1 month ago

Hi @ybensacq , @gershon , can I work on this please? I’ve contributed to this project before and I’m sure I can handle this. Please assign.