Commits on Source (91)
-
2f1fd210
-
91f70433
-
f3407daa
-
8b2da794
-
93590643
-
c7d143f3
-
fix no need indexer for account tweak claim ud command name
ebcae718 -
d22714af
-
5070aa05
-
020be31e
-
Hugo Trentesaux authored40c8d5f2
-
af5b6e16
-
Hugo Trentesaux authoredbea7e02e
-
Hugo Trentesaux authoredb145c4a8
-
Hugo Trentesaux authored7c9626b3
-
Hugo Trentesaux authorede4fbb11a
-
Moul authoreda39465e6
-
Hugo Trentesaux authored6f36165f
-
Hugo Trentesaux authoredd7ee6deb
-
poka authored
from chatGPT
fbf95014 -
Hugo Trentesaux authored
* add info on identity command * cli schema update
76a19ff9 -
* {version} * fix hugo review again * fix license in toml * more readable * fix hugo review * a bit more compact * add latest git commits in description * add vit proposition to publish artefact without gitlab API But I wanna keep my bunty for sure, it's mine. * add merges in release descriptions since MR are squashed ny default * add publish command to push git tag with actual version * add latest commit to the release description
bdd8aac9 -
Hugo Trentesaux authored91bc5fa6
-
poka authored8ac344ac
-
Hugo Trentesaux authored65dce9be
-
Hugo Trentesaux authoredf1da6bfa
-
Hugo Trentesaux authored6eadad8d
-
Hugo Trentesaux authored587adbb6
-
Hugo Trentesaux authored
* v0.2.6 * add smith info to idty show * update schema and improve error handling * wip json + more info on idty show * create gitlab issues instead of readme todos
685c1f7e -
Hugo Trentesaux authored
* revert use try_get_idty_index_by_name review txels * add renew cert and change arg to name
7e4a4a0e -
Hugo Trentesaux authored
* move into function * remove unnecessary complexity * wip add phrase generation * prepare 0.2.7 release * remove dep * add predefined keys and update doc * wip add save from cmd line * improve error management * allow to store password-protected secret * wip use rage for password-encrypted keys * wip poc for keystore
4166a7b4 -
Hugo Trentesaux authored
* review poka +fmt * use custom nonce
124bd9c2 -
Hugo Trentesaux authored
* v0.2.8 * improve current block display * clippy fmt * display names of migrated identities in tech members * minor indexer improvements * add finalized / latest info * improve readability of indexer check
b7990182 -
Hugo Trentesaux authored
* improve online smith command * start indexer refac
8a97457d -
* update schema for enums * update to hasura endpoint * more macro * Ignore non_camel_case_types in vscode stage Are we carring about conventions ? * 2 macros to rule them all * example on how to deserialize * adapt graphql request to Hasura engine
c6d37c20 -
Hugo Trentesaux authored
* v0.2.9 * use rustls instead of openssl
ae6b4202 -
Hugo Trentesaux authored
* also for smith cert * get cert count from cert meta
e28cb96e -
poka authored76024d27
-
Hugo Trentesaux authored
* working dockerfile * wip dockerfile TODO make duniter-polkadot-sdk repo lighter to avoid long download time in docker build (cherry picked from commit 5f4b716f) * update subxt and polkadot sdk
bfb85c07 -
poka authored9365b805
-
poka authored439c267c
-
poka authored8820e6de
-
* Update README.md * Add Install instruction
3bb993f7 -
Hugo Trentesaux authorede999ecf4
-
Moul authored671f1496
-
Hugo Trentesaux authoredbdffe9f8
-
Hugo Trentesaux authored51ba001a
-
Hugo Trentesaux authored51f7f699
-
Hugo Trentesaux authored260a225a
-
Hugo Trentesaux authored
closes #35
4ae6d5de -
Hugo Trentesaux authoreda6480ee9
-
Hugo Trentesaux authored
on runtime 802 changed crypto types
aa8494dd -
* CI : remove GET params at the end of assets URLs
9460516b -
Moul authored
This reverts commit 9460516b. Does not solve the issue, the links do not work anymore: They need `?job=$job_name` at the end in which the artifacts have been created https://git.duniter.org/clients/rust/gcli-v2s/-/releases/0.3.1
4e90dae3 -
Moul authored
to speed up the process The runner is not overloaded with one build
a11ca34f -
* Fixing precision issue when converting the u64 cents amount into f32. Now composing the displayed value with integer part and fractional part separately (keeping left padding of 0 for the decimal part for the amount of decimals required)
8f67e583 -
Nicolas80 authored
* Added "/.idea" exclusion in .gitignore (for when using JetBrains IDEs) * Added dialoguer dependency for easier user input handling (see in inputs.rs) * Added sea-orm dependency to allow having DB entity mappings and use a local sqlite file database * Added rstest test dependency for parameterized tests support * Added derivation tests for each SecretFormat (including cesium v1 key derivation, using sp_core::ed25519::Pair) * Made a lot of changes to add vault_account and vault_derivation db tables to persist vault keys & derivations * Added support for KeyPair::Ed25519 linking to sp_core::ed25519::Pair which can be created from secret seed retrieved from nacl::sign::Keypair (which is created from cesium id + secret) ** This was necessary to allow deriving keys from "cesium v1" keys (to be reviewed - it might be a bad idea to permit that from a security point of view) * Only kept original (substrate) keyfiles support for migration (use "vault list-files" and "vault migrate") * Added possibility to give either "-a" Address or "-v" Vault Name as general option * Added extra commands in Vault ** list-files: (deprecated)List available key files (needs to be migrated with command "vault migrate" in order to use them) ** migrate: (deprecated)Migrate old key files into db (will have to provide password for each key) ** 'list' now has sub-commands 'all' or 'root' to show all keys or only root keys (without derivation path) ** use: "Use specific vault key (changes the config address)", which will have the same behaviour as `gcli <-a <Address>|-v <VaultName>> config save` (left a FIXME in there to review) ** derivation: Add a derivation to an existing (root) vault key ** rename: Give a meaningful vault name to a vault key or derivation ** remove: Remove a vault key (and potential derivations if it's a root key) * Had to bubble up "await" and "async" in a lot of places * ...
badf52ce -
Nicolas80 authored5493a681
-
Nicolas80 authored30ebcf10
-
Nicolas80 authored
* Had to bump up the dependency since version 0.6.2 had a bug for the password confirmation - see https://github.com/mikaelmello/inquire/issues/149 * Removed `dialoguer` dependency * We may want to replace all `rpassword` usage with `inquire` in the future
747e02da -
Nicolas80 authored
* Adapted to have more coherent commands descriptions and added `long_about` more detailed description for `import` and `derivation` * Added the `vault list for` command * Added display of "format" of <Root> derivations in all `vault list` commands * Only allowing derivations for format "substrate" and "seed"
cf7a4292 -
Nicolas80 authored
* Fixed small bug after switching from `dialoguer` to `inquire`: using `prompt_skippable()` only returns `None` if the user presses `Esc` (returned "" when user just pressed enter) * Now using `prompt()` and checking empty string again.
262ea4c5 -
Nicolas80 authored
* Added a test to verify we don't need the nacl::sign::Keypair to handle cesium v1 (we can keep using scrypt to retrieve the seed and then sp_core::ed25519::Pair) ** This means we could remove some code linked to that and possibly the `nacl` dependency.
b3c0e13c -
Nicolas80 authored
* Simply using "name" for the name given to an SS58 Address in the vault
90f5f2aa -
Nicolas80 authoredda66773d
-
Nicolas80 authored
* Cleaned-up code in several places * Now retrieving secret value in "substrate uri" format from the different prompt_xxx_and_compute_keypair methods
4eafec2a -
Nicolas80 authored4752e207
-
Nicolas80 authoreda44be2f0
-
Nicolas80 authored
Made an extra check of derivation path to make sure it's not linking to the same SS58 Address as "root" suri when doing `vault import|migrate`
a5069df9 -
Nicolas80 authoredf132287f
-
Nicolas80 authored
Small cleanup for data's db connection; adding method connect_db that returns a &DatabaseConnection (or panics with explanation message) Also changed some methods visibility so only connect_db is visible for usage.
9c57fb7c -
Nicolas80 authored223ec22b
-
Nicolas80 authoreda205dce4
-
Nicolas80 authored
* Started to investigate being able to make subkey command and trying to use sp_core::crypto::CryptoType instead of custom KeyPair * Big refactoring to have all in one vault_account db table; using recursion through `parent` property * Added AccountTreeNode object and related methods to be able to more easily handle whole tree of accounts * Removed now unused vault_derivation * Replaced remaining usages of `rpassword` and removed the dependency * Added `indoc` dependency to support cleaner display of multi-line strings in tests
3d7b15c0 -
Nicolas80 authored
* Relaxed "update" restrictions in vault_account.rs before_save checks
0c1a3104 -
Nicolas80 authored0b9222c2
-
Nicolas80 authored
* Put back simple `address` and `name` arguments in main.rs (with conflicts_with statement to prevent their usage at the same time) * Declared conflicts between indexer <=> no-indexer, indexer <=> network, url <=> network * Kept AddressOrVaultNameGroup args for vault usage since it's the only way to define one required arg within a group cleanly
ab6169b1 -
Nicolas80 authored
Co-authored-by:
Hugo Trentesaux <hugo.trentesaux@lilo.org>
e3f91e0f -
Nicolas80 authored
Co-authored-by:
Hugo Trentesaux <hugo.trentesaux@lilo.org>
01f1c63d -
Nicolas80 authored
Co-authored-by:
Hugo Trentesaux <hugo.trentesaux@lilo.org>
921b92cc -
Nicolas80 authored6555eb6f
-
Nicolas80 authoredf70f165b
-
Nicolas80 authored
* Added support to show g1v1 base58 public key from (ed25519) ss58 address, AccountId, ed25519::Public with tests for those * Renamed SecretFormat.Cesium to SecretFormat.G1v1 * Adapted `clap` display help to reflect the change * Still supporting using "cesium" as "-S" secret format argument and mapping it to SecretFormat.G1v1 * Adapted display of vault * Changed column "Format" into "Crypto", showing either "ed25519" or "sr25519" instead of "cesium" or "substrate" * Adapted 1st row header to "SS58 Address/G1v1 public key" * For "ed25519" account, showing a 2nd row just below containing "└ G1v1: <base58 public key value>" * Adapted test cases and added a G1v1 account example * Adapted (String) Display of vault_account to include "g1v1_pub_key" value when crypto_scheme is Ed25519
66c7c2a8 -
Nicolas80 authored
* Now checking if GcliError Input message was for doing "ctrl+c" or "Esc" key in a prompt; in wich case we terminate the execution with the message. * Small correction in vault_account::compute_suri_account_tree_node where it's better to return GcliError instead of panic using unwrap if the password was incorrect. * Renamed `clap` arguments "value_name" in different places where it wasn't clear what kind of value was expected. * Using "ADDRESS" everytime we expect an AccountId * Using "USERNAME" everytime we expect a Username (most were requesting "TARGET") * Small corrections in `clap` help messages for `vault derive` * Added print of selected Vault item when using vault::try_fetch_key_pair method; just before requesting it's associated password (whenever we will try to sign for an action mostly)
07ea8692 -
Nicolas80 authored
* Re-did the mapping of DbAccountId so that we don't have to rely on derive macro FromJsonQueryResult that resulted in using JSON_TEXT in database column instead of VARCHAR * Tricky part I missed the first time was in impl of sea_orm::TryGetable::try_get_by where we should return Err TryGetError::Null in case the value is not present * Was otherwise throwing an exception whenever `parent` field (Option<DbAccountId>) was None when trying to persist the case in DB.
89bde1dd -
Nicolas80 authored
* Added a CHANGELOG.md file * Adapted config.md example of vault usage * Adapted some of the command descriptions to be more consistent
e9348bac -
Nicolas80 authored
* Adapted vault display to have a space before address value (for derivations); which fixes the incorrect selection when double-clicking an address in the terminal
8d3cbb70 -
Nicolas80 authoredbf6f5d70
-
Moul authored
Adapt linux build now depending on libssl-dev. Introduce tests job (#45, #46) (!42) * Adapt linux build now depending on libssl-dev (#45) native-tls transitive dependency introduced in !41 which requires libssl-dev package installed for the build to find ssl components Switching to non-slim Debian image which comes with libssl-dev pre-installed Introduce linux tests job: to run tests (#46) and prevent similar issue in the future Update changelog
Showing
- .cargo/config.toml 8 additions, 0 deletions.cargo/config.toml
- .dockerignore 1 addition, 0 deletions.dockerignore
- .gitignore 1 addition, 0 deletions.gitignore
- .gitlab-ci.yml 83 additions, 14 deletions.gitlab-ci.yml
- .vscode/settings.json 5 additions, 0 deletions.vscode/settings.json
- CHANGELOG.md 60 additions, 0 deletionsCHANGELOG.md
- Cargo.lock 5877 additions, 1832 deletionsCargo.lock
- Cargo.toml 57 additions, 19 deletionsCargo.toml
- Dockerfile 37 additions, 0 deletionsDockerfile
- Dockerfile.ci 52 additions, 0 deletionsDockerfile.ci
- README.md 19 additions, 5 deletionsREADME.md
- doc/config.md 222 additions, 0 deletionsdoc/config.md
- doc/example.md 30 additions, 31 deletionsdoc/example.md
- docker/README.md 42 additions, 0 deletionsdocker/README.md
- docker/build.sh 15 additions, 0 deletionsdocker/build.sh
- res/README.md 27 additions, 0 deletionsres/README.md
- res/indexer-queries.graphql 68 additions, 7 deletionsres/indexer-queries.graphql
- res/indexer-schema.graphql 8501 additions, 1510 deletionsres/indexer-schema.graphql
- res/indexer-schema.json 51820 additions, 1 deletionres/indexer-schema.json
- res/metadata.scale 0 additions, 0 deletionsres/metadata.scale
.cargo/config.toml
0 → 100644
.dockerignore
0 → 100644
.vscode/settings.json
0 → 100644
CHANGELOG.md
0 → 100644
This diff is collapsed.
[package] | [package] | ||
authors = ["librelois <c@elo.tf>", "tuxmain <tuxmain@zettascript.org>"] | authors = [ | ||
"librelois <c@elo.tf>", | |||
"tuxmain <tuxmain@zettascript.org>", | |||
"h30x <hugo@trentesaux.fr>", | |||
] | |||
edition = "2021" | edition = "2021" | ||
license = "AGPL-3.0" | rust-version = "1.75.0" | ||
license = "AGPL-3.0-only" | |||
name = "gcli" | name = "gcli" | ||
repository = "https://git.duniter.org/clients/rust/gcli-v2s" | repository = "https://git.duniter.org/clients/rust/gcli-v2s" | ||
version = "0.1.0" | description = "A command-line interface for Duniter v2s uses" | ||
version = "0.4.0" | |||
[dependencies] | [dependencies] | ||
anyhow = "1.0" | # subxt is main dependency | ||
clap = { version = "4.1.9", features = ["derive"] } | subxt = { git = 'https://github.com/duniter/subxt', branch = 'subxt-v0.37.0-duniter-substrate-v1.14.0', default-features = false, features = [ | ||
codec = { package = "parity-scale-codec", version = "3.4.0" } | "substrate-compat", | ||
env_logger = "0.10" | "native", | ||
futures = "0.3.27" | "jsonrpsee", | ||
graphql_client = { version = "0.12.0", features = ["reqwest"] } | ] } | ||
hex = "0.4.3" | |||
log = "0.4.17" | # substrate primitives dependencies | ||
reqwest = "0.11.14" | sp-core = { git = "https://github.com/duniter/duniter-polkadot-sdk.git", branch = "duniter-substrate-v1.14.0" } | ||
rpassword = "7.2.0" | sp-runtime = { git = "https://github.com/duniter/duniter-polkadot-sdk.git", branch = "duniter-substrate-v1.14.0" } | ||
serde = { version = "1.0", features = ["derive"] } | |||
serde_json = "1.0.94" | # crates.io dependencies | ||
sp-core = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" } | anyhow = "^1.0" | ||
subxt = { git = "https://github.com/duniter/subxt.git", branch = "duniter-substrate-v0.9.32" } | clap = { version = "^4.5.19", features = ["derive"] } | ||
tokio = { version = "1.26.0", features = ["macros"] } | codec = { package = "parity-scale-codec", version = "^3.6.12" } | ||
confy = "0.5.1" | env_logger = "^0.10" | ||
futures = "^0.3.30" | |||
graphql_client = { version = "^0.13.0", features = ["reqwest-rustls"] } | |||
hex = "^0.4.3" | |||
log = "^0.4.22" | |||
reqwest = { version = "^0.11.27", default-features = false, features = [ | |||
"rustls-tls", | |||
] } | |||
inquire = "^0.7.5" | |||
serde = { version = "^1.0", features = ["derive"] } | |||
serde_json = "^1.0.128" | |||
tokio = { version = "^1.40.0", features = ["macros"] } | |||
confy = "^0.5.1" | |||
bs58 = "^0.5.1" | |||
directories = "^5.0.1" | |||
comfy-table = "^7.1.1" | |||
sea-orm = { version = "1.1.0", features = [ "sqlx-sqlite", "runtime-tokio-native-tls", "macros" ] } | |||
# crypto | |||
scrypt = { version = "^0.11", default-features = false } # for old-style key generation | |||
# this is beta crate for password-encrypted files | |||
age = { default-features = false, version = "^0.10.0", features = ["armor"] } | |||
bip39 = { version = "^2.0.0", features = ["rand"] } # mnemonic | |||
colored = "2.1.0" | |||
# Tests | |||
rstest = "0.23.0" | |||
indoc = "2.0.5" | |||
# allows to build gcli for different runtimes and with different predefined networks | # allows to build gcli for different runtimes and with different predefined networks | ||
[features] | [features] | ||
... | @@ -30,3 +63,8 @@ default = ["gdev"] # default runtime is "gdev", gdev network is available | ... | @@ -30,3 +63,8 @@ default = ["gdev"] # default runtime is "gdev", gdev network is available |
gdev = [] | gdev = [] | ||
gtest = [] | gtest = [] | ||
g1 = [] | g1 = [] | ||
[package.metadata.bundle] | |||
name = "gcli" | |||
identifier = "com.axiomteam.gcli" | |||
icon = ["gcli.png"] |
Dockerfile
0 → 100644
Dockerfile.ci
0 → 100644
doc/config.md
0 → 100644
docker/README.md
0 → 100644
docker/build.sh
0 → 100755
res/README.md
0 → 100644
This diff is collapsed.
This diff is collapsed.
No preview for this file type