├── .dockerignore
├── .github
├── CODEOWNERS
├── actions
│ └── init
│ │ └── action.yml
└── workflows
│ ├── ci.yml
│ ├── install.yml
│ └── release.yml
├── .gitignore
├── .gitmodules
├── .rustfmt.toml
├── .vscode
└── settings.json
├── CHANGELOG.md
├── Cargo.lock
├── Cargo.toml
├── Dockerfile
├── LICENSE
├── README.md
├── cliff.toml
├── codecov.yml
├── crates
├── pop-cli
│ ├── Cargo.toml
│ ├── LICENSE
│ ├── README.md
│ ├── src
│ │ ├── assets
│ │ │ └── index.html
│ │ ├── cli.rs
│ │ ├── commands
│ │ │ ├── bench
│ │ │ │ ├── block.rs
│ │ │ │ ├── machine.rs
│ │ │ │ ├── mod.rs
│ │ │ │ ├── overhead.rs
│ │ │ │ ├── pallet.rs
│ │ │ │ └── storage.rs
│ │ │ ├── build
│ │ │ │ ├── contract.rs
│ │ │ │ ├── mod.rs
│ │ │ │ ├── parachain.rs
│ │ │ │ ├── runtime.rs
│ │ │ │ └── spec.rs
│ │ │ ├── call
│ │ │ │ ├── chain.rs
│ │ │ │ ├── contract.rs
│ │ │ │ └── mod.rs
│ │ │ ├── clean.rs
│ │ │ ├── hash.rs
│ │ │ ├── install
│ │ │ │ └── mod.rs
│ │ │ ├── mod.rs
│ │ │ ├── new
│ │ │ │ ├── contract.rs
│ │ │ │ ├── mod.rs
│ │ │ │ ├── pallet.rs
│ │ │ │ └── parachain.rs
│ │ │ ├── test
│ │ │ │ ├── contract.rs
│ │ │ │ ├── create_snapshot.rs
│ │ │ │ ├── execute_block.rs
│ │ │ │ ├── fast_forward.rs
│ │ │ │ ├── mod.rs
│ │ │ │ └── on_runtime_upgrade.rs
│ │ │ └── up
│ │ │ │ ├── contract.rs
│ │ │ │ ├── mod.rs
│ │ │ │ ├── network.rs
│ │ │ │ └── rollup.rs
│ │ ├── common
│ │ │ ├── bench.rs
│ │ │ ├── binary.rs
│ │ │ ├── builds.rs
│ │ │ ├── chain.rs
│ │ │ ├── contracts.rs
│ │ │ ├── helpers.rs
│ │ │ ├── mod.rs
│ │ │ ├── prompt.rs
│ │ │ ├── runtime.rs
│ │ │ ├── try_runtime.rs
│ │ │ └── wallet.rs
│ │ ├── deployment_api.rs
│ │ ├── main.rs
│ │ ├── style.rs
│ │ └── wallet_integration.rs
│ └── tests
│ │ ├── contract.rs
│ │ └── parachain.rs
├── pop-common
│ ├── Cargo.toml
│ ├── README.md
│ └── src
│ │ ├── account_id.rs
│ │ ├── api.rs
│ │ ├── build.rs
│ │ ├── errors.rs
│ │ ├── git.rs
│ │ ├── helpers.rs
│ │ ├── lib.rs
│ │ ├── manifest.rs
│ │ ├── metadata.rs
│ │ ├── polkadot_sdk.rs
│ │ ├── signer.rs
│ │ ├── sourcing
│ │ ├── binary.rs
│ │ └── mod.rs
│ │ ├── templates
│ │ ├── extractor.rs
│ │ └── mod.rs
│ │ └── test.rs
├── pop-contracts
│ ├── Cargo.toml
│ ├── LICENSE
│ ├── README.md
│ ├── src
│ │ ├── build.rs
│ │ ├── call.rs
│ │ ├── errors.rs
│ │ ├── lib.rs
│ │ ├── new.rs
│ │ ├── node.rs
│ │ ├── templates.rs
│ │ ├── test.rs
│ │ ├── testing.rs
│ │ ├── up.rs
│ │ └── utils
│ │ │ ├── map_account.rs
│ │ │ ├── metadata.rs
│ │ │ └── mod.rs
│ └── tests
│ │ └── files
│ │ ├── testing.contract
│ │ ├── testing.json
│ │ ├── testing.polkavm
│ │ ├── testing.wasm
│ │ └── testing_wasm.contract
├── pop-parachains
│ ├── Cargo.toml
│ ├── LICENSE
│ ├── README.md
│ ├── askama.toml
│ ├── src
│ │ ├── accounts.rs
│ │ ├── bench
│ │ │ ├── binary.rs
│ │ │ └── mod.rs
│ │ ├── build
│ │ │ ├── mod.rs
│ │ │ └── runtime.rs
│ │ ├── call
│ │ │ ├── metadata
│ │ │ │ ├── action.rs
│ │ │ │ ├── mod.rs
│ │ │ │ └── params.rs
│ │ │ └── mod.rs
│ │ ├── deployer_providers.rs
│ │ ├── errors.rs
│ │ ├── generator
│ │ │ ├── mod.rs
│ │ │ ├── pallet.rs
│ │ │ └── parachain.rs
│ │ ├── lib.rs
│ │ ├── new_pallet.rs
│ │ ├── new_pallet
│ │ │ └── new_pallet_options.rs
│ │ ├── new_parachain.rs
│ │ ├── registry
│ │ │ ├── mod.rs
│ │ │ ├── pop.rs
│ │ │ └── system.rs
│ │ ├── relay.rs
│ │ ├── templates.rs
│ │ ├── traits.rs
│ │ ├── try_runtime
│ │ │ ├── binary.rs
│ │ │ ├── mod.rs
│ │ │ ├── parse.rs
│ │ │ ├── shared_parameters.rs
│ │ │ └── state.rs
│ │ ├── up
│ │ │ ├── chain_specs.rs
│ │ │ ├── mod.rs
│ │ │ ├── parachains.rs
│ │ │ └── relay.rs
│ │ └── utils
│ │ │ ├── helpers.rs
│ │ │ └── mod.rs
│ ├── templates
│ │ ├── base
│ │ │ ├── chain_spec.templ
│ │ │ └── network.templ
│ │ └── pallet
│ │ │ ├── Cargo.templ
│ │ │ ├── advanced_mode
│ │ │ └── src
│ │ │ │ ├── benchmarking.rs.templ
│ │ │ │ ├── config_preludes.rs.templ
│ │ │ │ ├── lib.rs.templ
│ │ │ │ ├── mock.rs.templ
│ │ │ │ ├── pallet_logic.rs.templ
│ │ │ │ ├── pallet_logic
│ │ │ │ ├── origin.rs.templ
│ │ │ │ └── try_state.rs.templ
│ │ │ │ ├── tests.rs.templ
│ │ │ │ ├── tests
│ │ │ │ └── utils.rs.templ
│ │ │ │ └── types.rs.templ
│ │ │ └── simple_mode
│ │ │ └── src
│ │ │ ├── benchmarking.rs.templ
│ │ │ ├── lib.rs.templ
│ │ │ ├── mock.rs.templ
│ │ │ ├── tests.rs.templ
│ │ │ └── weights.rs.templ
│ └── tests
│ │ └── parachain.rs
└── pop-telemetry
│ ├── Cargo.toml
│ ├── LICENSE
│ ├── README.md
│ └── src
│ └── lib.rs
├── deny.toml
├── rust-toolchain.toml
└── tests
├── networks
├── kusama+asset-hub.toml
├── kusama.toml
├── paseo+asset-hub.toml
├── paseo+bridge-hub.toml
├── paseo+collectives.toml
├── paseo+coretime.toml
├── paseo+people.toml
├── paseo.toml
├── polkadot+asset-hub.toml
├── polkadot+collectives.toml
├── polkadot.toml
├── pop.toml
├── template.toml
├── westend+asset-hub.toml
└── westend.toml
├── runtimes
├── base_parachain.wasm
├── base_parachain_benchmark.wasm
└── base_parachain_try_runtime.wasm
└── snapshots
└── base_parachain.snap
/.dockerignore:
--------------------------------------------------------------------------------
1 | .git
2 | **/target/
3 | **/*.txt
4 | /docker/
5 |
6 | # dotfiles in the repo root
7 | /.*
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | @AlexD10S
2 | @al3mart
3 | @evilrobot-01
--------------------------------------------------------------------------------
/.github/actions/init/action.yml:
--------------------------------------------------------------------------------
1 | name: Initialize
2 | description: This action initializes a runner for use in other actions.
3 | inputs:
4 | cache-key:
5 | description: "The key to be used for the cache"
6 | git-user:
7 | required: true
8 | description: "The user name to be used for git config"
9 |
10 | runs:
11 | using: "composite"
12 | steps:
13 | - name: Setup Ubuntu dependencies
14 | shell: bash
15 | run: |
16 | sudo apt update
17 | sudo apt install -y protobuf-compiler
18 |
19 | - name: Free up space on runner
20 | shell: bash
21 | run: |
22 | sudo rm -rf "$AGENT_TOOLSDIRECTORY" /opt/ghc /usr/local/lib/android /usr/local/share/boost
23 | sudo rm -rf /usr/local/share/chromium /usr/share/dotnet /usr/share/swift
24 | sudo docker image prune -af
25 | sudo apt-get clean
26 | sudo rm -rf /var/cache/apt/archives /var/lib/apt/lists/*
27 |
28 | - name: Setup git config
29 | shell: bash
30 | run: |
31 | git config --global user.name ${{ inputs.git-user }}
32 | git config --global user.email ${{ inputs.git-user }}@users.noreply.github.com
33 |
34 | - name: Rust Cache
35 | uses: Swatinem/rust-cache@v2.7.8
36 | with:
37 | cache-on-failure: true
38 | cache-all-crates: true
39 | key: ${{ inputs.cache-key }}
--------------------------------------------------------------------------------
/.github/workflows/install.yml:
--------------------------------------------------------------------------------
1 | name: pop install
2 |
3 | on:
4 | push:
5 | branches: ["main"]
6 | pull_request:
7 | branches: ["main"]
8 |
9 | defaults:
10 | run:
11 | shell: bash
12 |
13 | jobs:
14 | arch:
15 | runs-on: ubuntu-latest
16 | container: archlinux:latest
17 | steps:
18 | - uses: actions/checkout@v4
19 | - name: Install prerequisites
20 | run: pacman -Syu --needed --noconfirm cmake curl git base-devel clang protobuf
21 | - name: Install Rust
22 | run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
23 | - name: Install Pop
24 | run: |
25 | . "$HOME/.cargo/env"
26 | cargo install --locked --no-default-features --features contract,parachain --path ./crates/pop-cli
27 | - name: Run Pop install
28 | run: |
29 | . "$HOME/.cargo/env"
30 | pop install -y
31 | debian:
32 | runs-on: ubuntu-latest
33 | container: debian
34 | steps:
35 | - uses: actions/checkout@v4
36 | - name: Install prerequisites
37 | run: apt-get update && apt-get -y install build-essential cmake curl git clang protobuf-compiler
38 | - name: Install Rust
39 | run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
40 | - name: Install Pop
41 | run: |
42 | . "$HOME/.cargo/env"
43 | cargo install --locked --no-default-features --features contract,parachain --path ./crates/pop-cli
44 | - name: Run Pop Install
45 | run: |
46 | . "$HOME/.cargo/env"
47 | pop install -y
48 | macos:
49 | runs-on: macos-latest
50 | steps:
51 | - uses: actions/checkout@v4
52 | - name: Install prerequisites
53 | run: brew update && brew install cmake openssl protobuf
54 | - name: Install Rust
55 | run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
56 | - name: Install Pop
57 | run: |
58 | . "$HOME/.cargo/env"
59 | cargo install --locked --no-default-features --features contract,parachain --path ./crates/pop-cli
60 | - name: Run Pop Install
61 | run: |
62 | . "$HOME/.cargo/env"
63 | pop install -y
64 | redhat:
65 | runs-on: ubuntu-latest
66 | container: redhat/ubi8
67 | steps:
68 | - uses: actions/checkout@v4
69 | - name: Install prerequisites
70 | run: yum update -y && yum install -y perl-IPC-Cmd clang curl git make cmake protobuf-compiler gcc pkg-config openssl-devel
71 | - name: Install Rust
72 | run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
73 | - name: Install Pop
74 | run: |
75 | . "$HOME/.cargo/env"
76 | cargo install --locked --no-default-features --features contract,parachain --path ./crates/pop-cli
77 | - name: Run Pop install
78 | run: |
79 | . "$HOME/.cargo/env"
80 | pop install -y
81 | ubuntu:
82 | runs-on: ubuntu-latest
83 | container: ubuntu
84 | steps:
85 | - uses: actions/checkout@v4
86 | - name: Install prerequisites
87 | run: apt-get update && apt-get -y install build-essential cmake curl git clang protobuf-compiler
88 | - name: Install Rust
89 | run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
90 | - name: Install Pop
91 | run: |
92 | . "$HOME/.cargo/env"
93 | cargo install --locked --no-default-features --features contract,parachain --path ./crates/pop-cli
94 | - name: Run Pop install
95 | run: |
96 | . "$HOME/.cargo/env"
97 | pop install -y
98 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: pop-cli release
2 |
3 | on:
4 | release:
5 | types: [ published ]
6 | workflow_dispatch:
7 | inputs:
8 | ref:
9 | description: ref to build binary from
10 | required: false
11 |
12 | jobs:
13 | build-node:
14 | runs-on: ${{ matrix.platform.os }}
15 | permissions:
16 | contents: write
17 | strategy:
18 | matrix:
19 | platform:
20 | # Linux
21 | - os: ubuntu-22.04
22 | target: aarch64-unknown-linux-gnu
23 | - os: ubuntu-22.04
24 | target: x86_64-unknown-linux-gnu
25 | # macOS
26 | - os: macos-14
27 | target: aarch64-apple-darwin
28 | - os: macos-14
29 | target: x86_64-apple-darwin
30 | env:
31 | RUSTFLAGS: "${{ matrix.platform.cpu != '' && format('-C target-cpu={0}', matrix.platform.cpu) || '' }} ${{ matrix.platform.target == 'aarch64-unknown-linux-gnu' && '-C linker=aarch64-linux-gnu-gcc' || '' }}"
32 | path: "target/${{ matrix.platform.target }}/production"
33 | package: "pop-${{ matrix.platform.target }}${{ matrix.platform.cpu != '' && format('-{0}', matrix.platform.cpu) || '' }}.tar.gz"
34 | steps:
35 | - name: Checkout
36 | uses: actions/checkout@v4
37 | with:
38 | fetch-depth: 0
39 | ref: ${{ github.event.inputs.ref }}
40 |
41 | - name: Install packages (Linux)
42 | if: contains(matrix.platform.target, 'linux')
43 | run: |
44 | sudo apt-get install -y protobuf-compiler ${{ contains(matrix.platform.target, 'aarch64') && 'crossbuild-essential-arm64' || '' }}
45 | protoc --version
46 |
47 | - name: Install packages (macOS)
48 | if: contains(matrix.platform.target, 'apple')
49 | run: |
50 | brew install protobuf
51 | protoc --version
52 |
53 | - name: Add target
54 | run: rustup target add ${{ matrix.platform.target }}
55 |
56 | - name: Build pop-cli
57 | run: cargo build --profile=production -p pop-cli --target ${{ matrix.platform.target }}
58 |
59 | - name: Package binary (Linux)
60 | if: contains(matrix.platform.target, 'linux')
61 | run: |
62 | cd ${{ env.path }}
63 | sha256sum pop > pop.sha256
64 | tar -czf ${{ env.package }} pop pop.sha256
65 |
66 | - name: Package binary (macOS)
67 | if: contains(matrix.platform.target, 'apple')
68 | run: |
69 | cd ${{ env.path }}
70 | shasum -a 256 pop > pop.sha256
71 | tar -czf ${{ env.package }} pop pop.sha256
72 |
73 | - name: Upload binary
74 | uses: actions/upload-artifact@v4
75 | with:
76 | name: binaries
77 | path: ${{ env.path }}/${{ env.package }}
78 |
79 | - name: Add binary to release
80 | if: github.event_name == 'release'
81 | uses: softprops/action-gh-release@v1
82 | with:
83 | files: |
84 | ${{ env.path }}/${{ env.package }}
85 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | **/target/
2 | **/node_modules/
3 | /src/x.rs
4 |
5 | debug
6 | **/debug/
7 |
8 | .DS_Store
9 |
10 | # IDEs
11 | .idea
12 | .vscode
13 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "templates/base-parachain"]
2 | path = templates/base-parachain
3 | url = git@github.com:r0gue-io/base-parachain.git
4 |
5 |
--------------------------------------------------------------------------------
/.rustfmt.toml:
--------------------------------------------------------------------------------
1 | # Basic
2 | edition = "2021"
3 | hard_tabs = true
4 | max_width = 100
5 | use_small_heuristics = "Max"
6 | # Imports
7 | imports_granularity = "Crate"
8 | reorder_imports = true
9 | # Consistency
10 | newline_style = "Unix"
11 | # Misc
12 | chain_width = 80
13 | spaces_around_ranges = false
14 | binop_separator = "Back"
15 | reorder_impl_items = false
16 | match_arm_leading_pipes = "Preserve"
17 | match_arm_blocks = false
18 | match_block_trailing_comma = true
19 | trailing_comma = "Vertical"
20 | trailing_semicolon = false
21 | use_field_init_shorthand = true
22 | # Format comments
23 | comment_width = 100
24 | wrap_comments = true
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "rust-analyzer.showUnlinkedFileNotification": false
3 | }
--------------------------------------------------------------------------------
/Cargo.toml:
--------------------------------------------------------------------------------
1 | [profile.release]
2 | panic = "unwind"
3 | opt-level = 3
4 | debug = false
5 |
6 | [profile.production]
7 | inherits = "release"
8 | lto = true
9 | codegen-units = 1
10 |
11 | [workspace]
12 | resolver = "2"
13 | members = ["crates/*"]
14 |
15 | [workspace.package]
16 | edition = "2021"
17 | documentation = "https://learn.onpop.io/"
18 | license = "GPL-3.0"
19 | repository = "https://github.com/r0gue-io/pop-cli"
20 | rust-version = "1.81.0"
21 | version = "0.8.1"
22 |
23 | [workspace.dependencies]
24 | anyhow = { version = "1.0", default-features = false }
25 | assert_cmd = { version = "2.0.14", default-features = false }
26 | bytes = { version = "1.10.1", default-features = false }
27 | cargo_toml = { version = "0.20.3", default-features = false }
28 | dirs = { version = "5.0", default-features = false }
29 | duct = { version = "0.13", default-features = false }
30 | env_logger = { version = "0.11.7", default-features = false }
31 | flate2 = "1.0.30"
32 | git2 = { version = "0.18", default-features = true, features = ["vendored-openssl"] }
33 | glob = { version = "0.3.1", default-features = false }
34 | log = { version = "0.4.20", default-features = false }
35 | mockito = { version = "1.4.0", default-features = false }
36 | tar = { version = "0.4.40", default-features = false }
37 | tempfile = { version = "3.10", default-features = false }
38 | thiserror = { version = "1.0.58", default-features = false }
39 | tokio-test = { version = "0.4.4", default-features = false }
40 | toml = { version = "0.5.0", default-features = false }
41 | tracing-subscriber = { version = "0.3.19", default-features = false }
42 |
43 | # networking
44 | reqwest = { version = "0.12", default-features = false, features = ["default-tls", "json", "multipart", "stream"] }
45 | tokio = { version = "1.0", default-features = false, features = ["macros", "process", "rt-multi-thread"] }
46 | url = "2.5.4"
47 |
48 | # contracts
49 | subxt-signer = { version = "0.38.0", default-features = false, features = ["subxt", "sr25519"] }
50 | subxt = { version = "0.38.0", default-features = false }
51 | ink_env = { version = "5.0.0", default-features = false }
52 | ink_env_v6 = { version = "6.0.0-alpha", package = "ink_env", default-features = false }
53 | sp-core = { version = "32.0.0", default-features = false }
54 | sp-core_inkv6 = { version = "36.1.0", package = "sp-core", default-features = false }
55 | sp-weights = { version = "31.0.0", default-features = false }
56 | scale = { package = "parity-scale-codec", version = "3.0.0", features = ["derive"] }
57 | scale-info = { version = "2.11.4", default-features = false, features = ["derive"] }
58 | scale-value = { version = "0.17.0", default-features = false, features = ["from-string", "parser-ss58"] }
59 | contract-build = { version = "5.0.2", default-features = false }
60 | contract-build_inkv6 = { version = "6.0.0-alpha", package = "contract-build", default-features = false }
61 | contract-extrinsics = { version = "5.0.2", default-features = false }
62 | contract-extrinsics_inkv6 = { version = "6.0.0-alpha", package = "contract-extrinsics", default-features = false }
63 | contract-transcode = { version = "5.0.2", default-features = false }
64 | contract-transcode_inkv6 = { version = "6.0.0-alpha", package = "contract-transcode", default-features = false }
65 | heck = { version = "0.5.0", default-features = false }
66 |
67 | # parachains
68 | askama = { version = "0.12", default-features = false, features = ["config"] }
69 | regex = { version = "1.10", default-features = false }
70 | walkdir = { version = "2.5", default-features = false }
71 | indexmap = { version = "2.2", default-features = false }
72 | toml_edit = { version = "0.22", features = ["serde"] }
73 | symlink = { version = "0.1", default-features = false }
74 | serde_json = { version = "1.0", default-features = false, features = ["preserve_order"] }
75 | serde = { version = "1.0", default-features = false, features = ["derive"] }
76 | srtool-lib = { version = "0.13.2", default-features = false }
77 | zombienet-configuration = { version = "0.3.1", default-features = false }
78 | zombienet-sdk = { version = "0.3.1", default-features = false }
79 | git2_credentials = "0.13.0"
80 |
81 | # benchmarking
82 | cumulus-primitives-proof-size-hostfunction = "0.12.0"
83 | frame-benchmarking-cli = { version = "47.0.0", default-features = false }
84 | sc-chain-spec = { version = "42.0.0", default-features = false }
85 | sp-runtime = { version = "41.1.0", default-features = false }
86 | sp-statement-store = "20.1.0"
87 |
88 | # try-runtime
89 | frame-try-runtime = "0.45.0"
90 | sc-cli = { version = "0.51.0", default-features = false }
91 | sp-version = { version = "38.0.0", default-features = false }
92 |
93 | # pop-cli
94 | clap = { version = "4.5", default-features = false, features = ["derive", "string"] }
95 | cliclack = { version = "0.3.1", default-features = false }
96 | console = { version = "0.15", default-features = false }
97 | os_info = { version = "3", default-features = false }
98 | strum = { version = "0.26", default-features = false }
99 | strum_macros = { version = "0.26", default-features = false }
100 |
101 | # wallet-integration
102 | axum = { version = "0.7.9", default-features = false, features = ["http1", "json", "tokio"] }
103 | open = { version = "5.3.1", default-features = false }
104 | tower-http = { version = "0.6.2", default-features = false }
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM rust as builder
2 | RUN apt-get update && apt-get -y install cmake \
3 | && apt-get install -y clang \
4 | && apt-get install --no-install-recommends --assume-yes protobuf-compiler
5 | WORKDIR /pop
6 | COPY . /pop
7 | RUN rustup show active-toolchain || rustup toolchain install
8 | RUN cargo build --release
9 |
10 | # Build image, preinstalling all dependencies for general Polkadot development
11 | FROM rust:slim
12 | COPY --from=builder /pop/target/release/pop /usr/bin/pop
13 | RUN apt-get update && pop install -y && apt-get clean
14 | CMD ["/usr/bin/pop"]
15 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Pop CLI
2 |
3 |
4 |
5 |
(temp_contract_dir: P, contract_file: P, metadata_file: P) -> Result<()>
28 | where
29 | P: AsRef