Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/argentlabs/argent-contracts
Smart Contracts for Argent Wallet
https://github.com/argentlabs/argent-contracts
account-abstraction argent ethereum smart-contracts solidity
Last synced: about 1 month ago
JSON representation
Smart Contracts for Argent Wallet
- Host: GitHub
- URL: https://github.com/argentlabs/argent-contracts
- Owner: argentlabs
- License: gpl-3.0
- Created: 2019-01-21T14:48:26.000Z (almost 6 years ago)
- Default Branch: develop
- Last Pushed: 2024-07-29T10:32:03.000Z (5 months ago)
- Last Synced: 2024-08-01T22:04:43.736Z (5 months ago)
- Topics: account-abstraction, argent, ethereum, smart-contracts, solidity
- Language: Solidity
- Homepage: https://www.argent.xyz
- Size: 10.9 MB
- Stars: 575
- Watchers: 25
- Forks: 215
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Audit: audit/Release 0.1.0 audit Solidified Nov2018.pdf
- Security: SECURITY.md
Awesome Lists containing this project
README
# Argent Wallet Smart Contracts
The Argent wallet is an Ethereum Smart Contract based mobile wallet. The wallet's user keeps an Ethereum account (Externally Owned Account) secretly on his mobile device. This account is set as the owner of the Smart Contract. User's funds (ETH and ERC20 tokens) are stored on the Smart Contract. With that model, logic can be added to the wallet to improve both the user experience and the wallet security. For instance, the wallet is guarded, recoverable, lockable, and upgradable.
See full specifications [here](specifications/specifications.pdf)
## Install
Ensure the correct node version is installed:
```
nvm install `cat .nvmrc`
```Install requirements with npm:
```
npm install
```## Compile
Compile whole project
```
npm run cc
```Compile the external contracts:
```
npm run compile:lib
```Compile the contracts:
```
npm run compile
```Compile the test contracts:
```
npm run compile:test
```Copy the precompiled artefacts to the build directory:
```
npm run provision:lib:artefacts
```## Test
Add a `.env` file in the root of the directory with the `INFURA_KEY` property set to your Infura API key (if you need to do deployments) and similarly for `ALCHEMY_KEY` (if you need to run integration tests).
Launch ganache:
```
npm run ganache
```Run the tests:
```
npm run test
```To run coverage testing:
```
npm run test:coverage
```
You need to not have `ganache` running with this as it uses own instance.## License
Released under [GPL-3.0](LICENSE)