GithubHelp home page GithubHelp logo

elielnfinic / argent-contracts-starknet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from argentlabs/argent-contracts-starknet

0.0 0.0 0.0 22.39 MB

Argent accounts for Starknet

Home Page: https://www.argent.xyz

License: GNU General Public License v3.0

Shell 0.20% TypeScript 54.16% Cairo 45.63%

argent-contracts-starknet's Introduction

Argent Accounts on Starknet

Specification

See Argent Account and Argent Multisig for more details.

Development

Setup Rust

Please refer to these instructions.
You can skip cloning the Cairo repository, as this will be done automatically through the Makefile.
If you are a developer, we recommend that you install the Cairo extension. You can find it in the vscode Extensions Marketplace by looking for "Cairo 1.0".

Setup scarb

Refer to this documentation: https://docs.swmansion.com/scarb/download.html#install-via-asdf
Thanks to the .tool-versions file, you don't need to install a specific scarb version. The correct one will be automatically downloaded and installed.

Test the contracts (Cairo)

scarb test

Test the contracts (JavaScript)

Install the devnet (run in project root folder)

You should have docker installed in your machine then you can start the devnet by running the following command:

scarb run start-devnet

Install JS dependencies

Install all packages:

yarn

Run all integration tests:

scarb run test-ts

Run single integration test file (need to run previous command first):

yarn mocha ./tests/accountEscape.test.ts

You also have access to the linter and a code formatter:

scarb run lint
scarb run format

Contract fixtures

The fixtures folder contains pre-compiled contracts used for tests (both json and casm).

Interface IDs

For compatibility reasons we support legacy interface IDs. But new interface IDs will follow SNIP-5 Tool to calculate interface IDs: https://github.com/ericnordelo/src5-rs

Release checklist

  • Bump version if needed (new deployment in mainnet)
  • Set up your .env file with the deployer info and run yarn deploy to declare the accounts
  • Verify the contracts if possible
  • Deploy to as many environments as possible: mainnet, goerli, sepolia and integration
  • Update the contents of the deployments folder with the new addresses
  • Copy relevant build artifacts from target/release to deployments/artifacts
  • Tag the commit used for the release (include the same name as in the deployments folder for easy tracking)
  • Create release in GitHub if needed
  • Make this checklist better if you learned something during the process

argent-contracts-starknet's People

Contributors

gaetbout avatar sgc-code avatar leonard-pat avatar delaaxe avatar juniset avatar gergold avatar janek26 avatar pscott avatar cremafr avatar simonheys avatar dhruvkelawala avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.