|
4 | 4 |
|
5 | 5 | See [Argent Account](./docs/argent_account.md) and [Argent Multisig](./docs/multisig.md) for more details. |
6 | 6 |
|
7 | | -## Deployments |
8 | | - |
9 | | -See deployed class hashes can be found here for the [Argent Account](./deployments/account.txt), and here for the [Argent Multisig](./deployments/multisig.txt) |
10 | | - |
11 | | -Other deployment artifacts are located in [/deployments/](./deployments/) |
12 | | - |
13 | | -Find the release notes for all versions in [CHANGELOG](./CHANGELOG.md) |
14 | | - |
15 | | -## Development |
16 | | - |
17 | | -### Setup |
18 | | - |
19 | | -We recommend you to install scarb through ASDF. Please refer to [these instructions](https://docs.swmansion.com/scarb/download.html#install-via-asdf). |
20 | | -Thanks to the [.tool-versions file](./.tool-versions), you don't need to install a specific scarb or starknet foundry version. The correct one will be automatically downloaded and installed. |
21 | | - |
22 | | -## Test the contracts (Cairo) |
23 | | - |
24 | | -``` |
25 | | -scarb test |
26 | | -``` |
27 | | - |
28 | | -## Test the contracts (JavaScript) |
29 | | - |
30 | | -### Install the devnet (run in project root folder) |
31 | | - |
32 | | -You should have docker installed in your machine then you can start the devnet by running the following command: |
33 | | - |
34 | | -```shell |
35 | | -scarb run start-devnet |
36 | | -``` |
37 | | - |
38 | | -### Install JS dependencies |
| 7 | +## Release Notes |
39 | 8 |
|
40 | | -Install all packages: |
| 9 | +See here for the [Argent Account](./docs/CHANGELOG_argent_account.md) |
41 | 10 |
|
42 | | -```shell |
43 | | -yarn |
44 | | -``` |
| 11 | +See here for the [Argent Multisig](./docs/CHANGELOG_multisig.md) |
45 | 12 |
|
46 | | -Run all integration tests: |
47 | | - |
48 | | -```shell |
49 | | -scarb run test-ts |
50 | | -``` |
51 | | - |
52 | | -Run single integration test file (need to run previous command first): |
53 | | - |
54 | | -```shell |
55 | | -yarn mocha ./tests/accountEscape.test.ts |
56 | | -``` |
57 | | - |
58 | | -You also have access to the linter and a code formatter: |
59 | | - |
60 | | -```shell |
61 | | -scarb run lint |
62 | | -scarb run format |
63 | | -``` |
64 | | - |
65 | | -### Contract fixtures |
66 | | - |
67 | | -The [fixtures folder](./tests-integration/fixtures/) contains pre-compiled contracts used for tests (both json and casm). |
68 | | - |
69 | | -### Interface IDs |
70 | | - |
71 | | -For compatibility reasons we support legacy interface IDs. But new interface IDs will follow [SNIP-5](https://github.com/starknet-io/SNIPs/blob/main/SNIPS/snip-5.md#how-interfaces-are-identified) |
72 | | -Tool to calculate interface IDs: https://github.com/ericnordelo/src5-rs |
73 | | - |
74 | | -### Cairo Zero SHA256 contract |
75 | | - |
76 | | -The Webauthn signer is designed to work with multiple possible SHA256 implementations. The Cairo Zero variant is implemented at class hash specified as constant in the signer's source code, which can be reproduced using: |
77 | | - |
78 | | -```shell |
79 | | -git clone https://github.com/cartridge-gg/cairo-sha256 |
80 | | -cd cairo-sha256 |
81 | | -git checkout 8d2ae51 |
82 | | -git apply ../lib/signers/cairo0-sha256.patch |
83 | | - |
84 | | -python3.9 -m venv ./venv |
85 | | -source ./venv/bin/activate |
86 | | -pip install cairo-lang==0.12.1 |
| 13 | +## Deployments |
87 | 14 |
|
88 | | -starknet-compile-deprecated --no_debug_info src/main.cairo > ../tests-integration/fixtures/argent_Sha256Cairo0.contract_class.json |
| 15 | +See deployed class hashes can be found here for the [Argent Account](./deployments/account.txt), and here for the [Argent Multisig](./deployments/multisig.txt) |
89 | 16 |
|
90 | | -# cleanup and clear whitespace diffs: |
91 | | -deactivate |
92 | | -cd .. |
93 | | -rm -rf cairo-sha256 |
94 | | -scarb run format |
95 | | -``` |
| 17 | +Other deployment artifacts are located in [/deployments/](./deployments/) |
96 | 18 |
|
97 | | -## Release checklist |
| 19 | +## Full documentation |
98 | 20 |
|
99 | | -- Bump version if needed (new deployment in mainnet) |
100 | | -- Set up your .env file with the deployer info and run `scarb run deploy-account` and `scarb run deploy-multisig` to declare the accounts |
101 | | -- Verify the contracts if possible |
102 | | -- Deploy to as many environments as possible: mainnet, sepolia and integration |
103 | | -- Update the contents of the `deployments` folder with the new addresses |
104 | | -- Copy relevant build artifacts from `target/release` to `deployments/artifacts`, include abi file. |
105 | | -- Tag the commit used for the release (include the same name as in the `deployments` folder for easy tracking) |
106 | | -- Create release in GitHub if needed |
107 | | -- Make this checklist better if you learned something during the process |
| 21 | +We have documentation about many other topis in the [Full documentation](./docs/SUMMARY.md) |
0 commit comments