Skip to content

Commit

Permalink
feat: guide user to call a parachain (#316)
Browse files Browse the repository at this point in the history
* feat: guide user for calling a contract

* feat: get metadata contract from the contract path

* refactor: refactor test and validate address input

* fix: apply feedback

* feat: prompt to have another call and skip questions for queries

* refactor: use Cli module instead of cliclack

* test: unit test pop-cli crate

* test: unit contracts crate

* chore: format

* test: refactor and improve test cases

* fix: fix todos and refactor

* test: fix unit test

* feat: parse types of parameters and display it to the user in the placeholder

* refactor: error handling for pop call

* refactor: display call to be executed after guide and reorder

* refactor: when repeat call use same contract values and dont clean screen

* test: add dry-run test

* test: refactor and add more test coverage

* test: more coverage

* fix: unit test

* feat: dev mode to skip certain user prompts

* refactor: test functions, renaming and fix clippy

* refactor: improve devex of pop call contract

* test: adjust tests to refactor

* chore: reset_for_new_call fields

* fix: build contract if has not been built

* refactor: use command state (#338)

Merged set_up_call_config and guide_user_to_call_contract into a single function. Also adds short symbols for arguments.

* fix: automatically add some or none to Option argument

* test: refactor and tests

* refactor: improve code and comments

* fix: renaming and clean code

* chore: option params not mandatory

* fix: parse user inputs for Option arguments in constructor (#335)

* fix: automatically add some or none to Option argument

* fix: tests

* refactor: process_function_args

* test: update tests accordingly last changes

* fix: issue with delimiter

* test: fix unit test

* refactor: renaming and fix comments

* refactor: format types (#339)

Shows the full type representation, making it easier to see the entry format of parameter values.

* fix: logo doesn't show in README

* feat: pop call parachain prototype

* feat: dispaly arguments of extrinsic

* refactor: structure similar to pop call contract

* feat: parse all values for extrinsic/storage

* refactor: signer in common

* refactor: improve messages

* feat: call parachain ui

* fix: calls working

* refactor: remove unused code

* refactor: remove unused code

* refactor: various fixes

* refactor: various fixes

* feat: add option to include params from command line

* refactor: clean docs and refactor code

* fix: tests

* refactor: parse all the metadata again

* refactor: reorganize and clean metadata functions

* feat: display specific use cases to the user

* refactor: predefined actions

* fix: various fixes

* fix: error message not supported for complex types

* refactor: parse all metadata, including parameters at once

* refactor: clean docs and move code

* fix: format_type

* fix: parse user inputs for Option arguments (#332)

* fix: automatically add some or none to Option argument

* test: refactor and tests

* refactor: improve code and comments

* fix: renaming and clean code

* chore: option params not mandatory

* fix: parse user inputs for Option arguments in constructor (#335)

* fix: automatically add some or none to Option argument

* fix: tests

* refactor: process_function_args

* test: update tests accordingly last changes

* fix: issue with delimiter

* test: fix unit test

* refactor: renaming and fix comments

* refactor: format types (#339)

Shows the full type representation, making it easier to see the entry format of parameter values.

* fix: logo doesn't show in README

---------

Co-authored-by: Frank Bell <[email protected]>
Co-authored-by: Alejandro Martinez Andres <[email protected]>

* test: fix unit test

* refactor: clean the way to parse and prompt parameters

* feat: add Purchase on-demand coretime use cases

* test: add skip_confirm, move when prompt for the signer and create the integration test

* test: call parachain ui unit test

* refactor: separate structs

* fmt

* test: pop-cli unit testing

* test: pop-common unit tests

* test: parse metadata unit tests

* test: refactor and test processing parameters

* test: comments and unit test in call functions

* fix: clippy warnings

* chore: fmt

* fix: solve conflicts and unit tests (#359)

* test: call parachain ui unit test

* test: pop-cli unit testing

* test: pop-common unit tests

* test: parse metadata unit tests

* test: refactor and test processing parameters

* test: comments and unit test in call functions

* fix: clippy warnings

* chore: fmt

* fix: conflicts and unit tests

* test: remove test and improve test

* feat: guide user for calling a contract

* feat: get metadata contract from the contract path

* refactor: refactor test and validate address input

* fix: apply feedback

* feat: prompt to have another call and skip questions for queries

* refactor: use Cli module instead of cliclack

* test: unit test pop-cli crate

* test: unit contracts crate

* chore: format

* test: refactor and improve test cases

* fix: fix todos and refactor

* test: fix unit test

* feat: parse types of parameters and display it to the user in the placeholder

* refactor: error handling for pop call

* refactor: display call to be executed after guide and reorder

* refactor: when repeat call use same contract values and dont clean screen

* test: add dry-run test

* test: refactor and add more test coverage

* test: more coverage

* fix: unit test

* feat: dev mode to skip certain user prompts

* refactor: test functions, renaming and fix clippy

* refactor: improve devex of pop call contract

* test: adjust tests to refactor

* chore: reset_for_new_call fields

* fix: build contract if has not been built

* refactor: use command state (#338)

Merged set_up_call_config and guide_user_to_call_contract into a single function. Also adds short symbols for arguments.

* fix: automatically add some or none to Option argument

* test: refactor and tests

* refactor: improve code and comments

* fix: renaming and clean code

* chore: option params not mandatory

* fix: parse user inputs for Option arguments in constructor (#335)

* fix: automatically add some or none to Option argument

* fix: tests

* refactor: process_function_args

* test: update tests accordingly last changes

* fix: issue with delimiter

* test: fix unit test

* refactor: renaming and fix comments

* refactor: format types (#339)

Shows the full type representation, making it easier to see the entry format of parameter values.

* feat: pop call parachain prototype

* feat: dispaly arguments of extrinsic

* refactor: structure similar to pop call contract

* feat: parse all values for extrinsic/storage

* refactor: signer in common

* refactor: improve messages

* feat: call parachain ui

* fix: calls working

* refactor: remove unused code

* refactor: remove unused code

* refactor: various fixes

* refactor: various fixes

* feat: add option to include params from command line

* refactor: clean docs and refactor code

* fix: tests

* refactor: parse all the metadata again

* refactor: reorganize and clean metadata functions

* feat: display specific use cases to the user

* refactor: predefined actions

* fix: various fixes

* fix: error message not supported for complex types

* refactor: parse all metadata, including parameters at once

* refactor: clean docs and move code

* fix: format_type

* test: fix unit test

* refactor: clean the way to parse and prompt parameters

* feat: add Purchase on-demand coretime use cases

* test: add skip_confirm, move when prompt for the signer and create the integration test

* test: call parachain ui unit test

* test: pop-cli unit testing

* test: pop-common unit tests

* test: parse metadata unit tests

* test: refactor and test processing parameters

* test: comments and unit test in call functions

* fix: clippy warnings

* chore: fmt

* feat: repeat call only if using guide UI

* fix: clippy

* refactor: various improvements

* chore: parser for pallet and extrinsic input names

* refactor: only move to pop_common the needed functions

* refactor: improve test, docs and errors

* test: fix unit tests

* fix: reset_for_new_call when extrinisc is not supported

* fix: build with parachain features

* test: wait before call parachain in integration test

* docs: minor improvements

* test: migrate find_free_port to pop_common

* test: fix increase waiting time

* test: remove unnecesary test case

* refactor: rename api with client

* refactor: naming and docs

* docs: improve docs and missing comments

* test: remove unnecesary verbose

* test: find_free_port

* docs: improve parameter documentation

* test: add missing test to sign_and_submit_extrinsic

* fix: apply feedback from auxiliar PRs, remove unnecesary clones

* docs: public modules

* refactor: clean unused params

* fix: mark all extrinsics that uses calls as parameter as unsupported

* test: fix expect_select

* docs: improve documentation

* feat: submit extrinsic from call_data (#348)

* feat: submit extrinsic from call_data

* test: unit test for initialize_api_client

* test: unit test for send_extrinsic_from_call_data

* fix: CallData struct

* fix: skip_confirm for send_extrinsic_from_call_data

* chore: clippy

* chore: fmt

* refactor: minor doc and naming changes

* refactor: remove unnecesary clones and return early when submit_extrinsic_from_call_data

* chore: fmt

* refactor: split decode_call_data logic outside sign_and_submit_extrinsic_with_call_data

* feat: parse files when the argument values are very big (#363)

* feat: parse files when the argument values are very big

* test: unit test

* chore: fmt

* feat: file logic using the command line

* fix: sequence arguments

* test: fix unit test

* refactor: remove prompting the user if input is file or value

* refactor: parse_extrinsic_arguments

* fix: CI deny

* refactor: reorder Param  derive macros

* test: fix decode_call_data_works unit test

* refactor: use Default derive macro and define constants for test values (#366)

* feat: parse files when the argument values are very big

* chore: fmt

* feat: file logic using the command line

* fix: sequence arguments

* refactor: parse_extrinsic_arguments

* refactor: use Default in pop_parachain structs

* refactor: use Default in CallParachainCommand struct

* refactor: use constant in tests

* chore: fmt and small refactor

* feat: flag sudo to wrap extrinsic (#349)

* feat: submit extrinsic from call_data

* test: unit test for initialize_api_client

* feat: wrap call into a sudo call

* test: add unit test to the new logic

* fix: skip_confirm for send_extrinsic_from_call_data

* chore: clippy

* docs: renaming and improve docs

* test: use force_transfer for testing

* fix: check if sudo exist before prompt the user

* chore: fmt

* chore: fmt

* test: fix wrong assert

* docs: improve comments and output messages

* refactor: split decode_call_data logic outside sign_and_submit_extrinsic_with_call_data

* fix: test construct_sudo_extrinsic_works and formatting

* refactor: various fixes and improvements (#367)

* refactor: sort pallets/dispatchables

* refactor: remove unnecessary async

* fix: resolve issue after rebase

* fix: more async issues after rebase

* refactor: use single constant

* refactor: terminology (#368)

* refactor: terminology

* refactor: simply pallet/function relationship

* fix: amend call_data conflicts after refactor

* refactor: improvements (#370)

* fix: add missing short arg option

* refactor: note that extrinsic wait includes finalization

* refactor: remove clones

* style: formatting

* refactor: make file prompt more generic

* refactor: add missing license headers

* style: formatting

* docs: comments

* docs: comments

* docs: comments

* refactor: reuse existing metadata

* refactor: minimise clones

* docs: comments

* refactor: naming

* docs: fix parameter doc comments

* refactor: address clippy warnings

* refactor: rename parachain with chain as the primary command and retain parachain as an alias (#373)

* refactor: rename parachain with chain in visible messages

* refactor: rename parachain with chain internal code

* chore: solve fmt after rebase

* refactor: small fix, use alias instead aliases

* refactor: rename CallParachain struct into Call

---------

Co-authored-by: Frank Bell <[email protected]>
Co-authored-by: Alejandro Martinez Andres <[email protected]>
Co-authored-by: Daanvdplas <[email protected]>
  • Loading branch information
4 people committed Dec 11, 2024
1 parent bf5fc96 commit f01fb22
Show file tree
Hide file tree
Showing 31 changed files with 2,924 additions and 352 deletions.
274 changes: 261 additions & 13 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit f01fb22

Please sign in to comment.