diff --git a/.changeset/brown-bears-count.md b/.changeset/brown-bears-count.md new file mode 100644 index 0000000000000..9ee4d46aee7b7 --- /dev/null +++ b/.changeset/brown-bears-count.md @@ -0,0 +1,7 @@ +--- +"@mysten/sui.js": minor +--- + +- removes `transfer` function from framework Coin +- renames `newTransferTx` function from framework Coin to `newPayTransaction`. Also it's now a public method and without the need of signer so a dapp can use it +- fixes edge cases with pay txs diff --git a/.changeset/config.json b/.changeset/config.json index f23b138f1f148..ec6f6d1fe6a64 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,5 +1,5 @@ { - "$schema": "https://unpkg.com/@changesets/config@2.1.1/schema.json", + "$schema": "https://unpkg.com/@changesets/config@2.2.0/schema.json", "changelog": "@changesets/cli/changelog", "commit": false, "fixed": [], @@ -7,10 +7,5 @@ "access": "public", "baseBranch": "main", "updateInternalDependencies": "minor", - "ignore": [ - "sui-explorer", - "sui-wallet", - "sui-wallet-adapter", - "@mysten/core" - ] + "privatePackages": false } diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index d69c020c9d292..ed876ff42545f 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -33,7 +33,7 @@ jobs: outputs: isRust: ${{ steps.diff.outputs.isRust }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@7dd9e2a3dc350cf687eb1b2a4fadfee8c8e49675 # pin@v3 - name: Detect Changes uses: './.github/actions/diffs' id: diff @@ -43,8 +43,8 @@ jobs: if: github.event.pull_request.draft == false && needs.diff.outputs.isRust == 'true' runs-on: [ubuntu-ghcloud] steps: - - uses: actions/checkout@v3 - - uses: actions-rs/toolchain@v1 + - uses: actions/checkout@7dd9e2a3dc350cf687eb1b2a4fadfee8c8e49675 # pin@v3 + - uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # pin@v1 # Turn off the caching on self-hosted jobs # Enable caching of the 'librocksdb-sys' crate by additionally caching the # 'librocksdb-sys' src directory which is managed by cargo @@ -52,7 +52,7 @@ jobs: # with: # path: ~/.cargo/registry/src/**/librocksdb-sys-* - name: Install huniq - uses: actions-rs/install@v0.1 + uses: actions-rs/install@9da1d2adcfe5e7c16992e8242ca33a56b6d9b101 # pin@v0.1 with: crate: huniq - name: Install python dependencies @@ -62,7 +62,7 @@ jobs: run: | mkdir -p artifacts - name: Compile benchmark - uses: actions-rs/cargo@v1 + uses: actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505 # pin@v1 with: command: build args: --release @@ -95,7 +95,7 @@ jobs: echo "$delimiter" >> $GITHUB_OUTPUT - name: Post commit comment - uses: peter-evans/commit-comment@v2.0.1 + uses: peter-evans/commit-comment@76d2ae14b83cd171cd38507097b9616bb9ca7cb6 # pin@v2.0.1 with: token: ${{ secrets.GITHUB_TOKEN }} body: | @@ -103,13 +103,13 @@ jobs: ``` ${{ steps.get-comment-body.outputs.owned }} ``` - - + + **Shared Transactions Benchmark Results** ``` ${{ steps.get-comment-body.outputs.shared }} ``` - + **Narwhal Benchmark Results** ``` diff --git a/.github/workflows/changesets-ci-comment.yml b/.github/workflows/changesets-ci-comment.yml index bcfe02848e469..f2ce2e4cd6c20 100644 --- a/.github/workflows/changesets-ci-comment.yml +++ b/.github/workflows/changesets-ci-comment.yml @@ -16,14 +16,14 @@ jobs: github.event.workflow_run.conclusion == 'success' steps: - name: Get workflow run information - uses: potiuk/get-workflow-origin@v1_1 + uses: potiuk/get-workflow-origin@e3ba776faee1134e17551924b852bfb374e1703d # pin@v1_1 id: source-run-info with: token: ${{ secrets.GITHUB_TOKEN }} sourceRunId: ${{ github.event.workflow_run.id }} - name: "Download artifact" - uses: actions/github-script@v6 + uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 # pin@v6 id: get-artifact if: steps.source-run-info.outputs.pullRequestNumber with: @@ -46,19 +46,19 @@ jobs: return 'true'; - name: Comment PR - uses: thollander/actions-comment-pull-request@v2 + uses: thollander/actions-comment-pull-request@c22fb302208b7b170d252a61a505d2ea27245eff # pin@v2 if: steps.get-artifact.outputs.result == 'true' && steps.source-run-info.outputs.pullRequestNumber with: pr_number: ${{ steps.source-run-info.outputs.pullRequestNumber }} - comment_includes: "⚠️ 🦋 **Changesets Warning:**" + comment_tag: "changesets-warning" message: | - ⚠️ 🦋 **Changesets Warning:** This PR has changes to public npm packages, but does not contain a changeset. You can create a changeset easily by running `pnpm changeset`, and following the prompts. If your change does not need a changeset (e.g. a documentation-only change), you can ignore this message. This warning will be removed when a changeset is added to this pull request. + ⚠️ 🦋 **Changesets Warning:** This PR has changes to public npm packages, but does not contain a changeset. You can create a changeset easily by running `pnpm changeset` in the root of the Sui repo, and following the prompts. If your change does not need a changeset (e.g. a documentation-only change), you can ignore this message. This warning will be removed when a changeset is added to this pull request. [Learn more about Changesets](https://github.com/changesets/changesets). GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Remove outdated comments - uses: actions/github-script@v6 + uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 # pin@v6 if: steps.get-artifact.outputs.result == 'false' && steps.source-run-info.outputs.pullRequestNumber env: ISSUE_NUMBER: ${{ steps.source-run-info.outputs.pullRequestNumber }} diff --git a/.github/workflows/changesets-ci.yml b/.github/workflows/changesets-ci.yml index 056a412a2cf52..3a9aa301c0690 100644 --- a/.github/workflows/changesets-ci.yml +++ b/.github/workflows/changesets-ci.yml @@ -5,14 +5,14 @@ jobs: runs-on: ubuntu-latest steps: - name: checkout code repository - uses: actions/checkout@v3 + uses: actions/checkout@7dd9e2a3dc350cf687eb1b2a4fadfee8c8e49675 # pin@v3 with: fetch-depth: 0 - - uses: pnpm/action-setup@v2.2.4 + - uses: pnpm/action-setup@c3b53f6a16e57305370b4ae5a540c2077a1d50dd # pin@v2.2.4 with: version: 7 - name: Install Nodejs - uses: actions/setup-node@v3 + uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # pin@v3 with: node-version: "16" cache: "pnpm" @@ -23,7 +23,7 @@ jobs: run: echo "hasChanges=$(pnpm list --filter "...[$(git rev-parse HEAD^1)]" --depth -1 --json | jq "any(.[] | select(.private != true) ; length > 0)")" >> $GITHUB_OUTPUT - name: Get changed files in the changesets folder id: has-changesets - uses: tj-actions/changed-files@v34 + uses: tj-actions/changed-files@3f1e44af6ca48144748dfc62a7a6fb22e4ca67f3 # pin@v34 with: files: | .changeset/** @@ -32,7 +32,7 @@ jobs: run: | echo "true" > missing-changeset.txt - name: Upload missing changeset artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb # pin@v3 if: steps.has-changesets.outputs.any_changed != 'true' && steps.diff.outputs.hasChanges == 'true' with: name: missing-changeset diff --git a/.github/workflows/changesets.yml b/.github/workflows/changesets.yml index 3a00ac3cae047..887ef25d85709 100644 --- a/.github/workflows/changesets.yml +++ b/.github/workflows/changesets.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Dispatch Changesets To Operations - uses: peter-evans/repository-dispatch@v2 + uses: peter-evans/repository-dispatch@26b39ed245ab8f31526069329e112ab2fb224588 # pin@v2 with: repository: MystenLabs/sui-operations token: ${{ secrets.CHANGESETS_DEPLOY_DISPATCH }} @@ -25,27 +25,27 @@ jobs: steps: - name: Generate token id: generate_token - uses: tibdex/github-app-token@v1 + uses: tibdex/github-app-token@021a2405c7f990db57f5eae5397423dcc554159c # pin@v1 with: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.APP_PRIVATE_KEY }} - name: checkout code repository - uses: actions/checkout@v3 + uses: actions/checkout@7dd9e2a3dc350cf687eb1b2a4fadfee8c8e49675 # pin@v3 with: token: ${{ steps.generate_token.outputs.token }} fetch-depth: 0 - - uses: pnpm/action-setup@v2.2.4 + - uses: pnpm/action-setup@c3b53f6a16e57305370b4ae5a540c2077a1d50dd # pin@v2.2.4 with: version: 7 - name: Install Nodejs - uses: actions/setup-node@v3 + uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # pin@v3 with: node-version: "16" cache: "pnpm" - name: Install dependencies run: pnpm install --frozen-lockfile - name: Create Release Pull Request - uses: changesets/action@v1 + uses: changesets/action@e9cc34b540dd3ad1b030c57fd97269e8f6ad905a # pin@v1 env: GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }} diff --git a/.github/workflows/ci-docs.yml b/.github/workflows/ci-docs.yml index b154ba0d56cd1..be905cb8712f5 100644 --- a/.github/workflows/ci-docs.yml +++ b/.github/workflows/ci-docs.yml @@ -16,17 +16,17 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v2 + uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791 # pin@v2 - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 + uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # pin@v1 with: profile: minimal toolchain: nightly override: true - name: Generate documentation - uses: actions-rs/cargo@v1 + uses: actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505 # pin@v1 env: RUSTDOCFLAGS: "--enable-index-page -Zunstable-options" with: @@ -34,7 +34,7 @@ jobs: args: --workspace --no-deps - name: Deploy documentation - uses: peaceiris/actions-gh-pages@v3 + uses: peaceiris/actions-gh-pages@de7ea6f8efb354206b205ef54722213d99067935 # pin@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./target/doc diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index c93f96a1bb02b..674060f0c059b 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -14,10 +14,10 @@ jobs: outputs: isRust: ${{ steps.diff.outputs.isRust }} steps: - - uses: actions/checkout@v3 - - name: Detect Changes - uses: './.github/actions/diffs' - id: diff + - uses: actions/checkout@7dd9e2a3dc350cf687eb1b2a4fadfee8c8e49675 # pin@v3 + - name: Detect Changes + uses: './.github/actions/diffs' + id: diff codecov-grcov: name: Generate code coverage @@ -27,19 +27,19 @@ jobs: strategy: fail-fast: true steps: - - uses: actions/checkout@v3 - - uses: actions-rs/toolchain@v1 + - uses: actions/checkout@7dd9e2a3dc350cf687eb1b2a4fadfee8c8e49675 # pin@v3 + - uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # pin@v1 with: components: llvm-tools-preview # Enable caching of the 'librocksdb-sys' crate by additionally caching the # 'librocksdb-sys' src directory which is managed by cargo - name: Install grcov, and cache the binary - uses: baptiste0928/cargo-install@v1 + uses: baptiste0928/cargo-install@bf6758885262d0e6f61089a9d8c8790d3ac3368f # pin@v1 with: crate: grcov locked: true - name: Build - uses: actions-rs/cargo@v1 + uses: actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505 # pin@v1 with: command: build env: @@ -54,4 +54,4 @@ jobs: - name: Run grcov run: grcov . --binary-path target/debug/ -s . -t lcov --branch --ignore-not-existing --ignore '../**' --ignore '/*' -o coverage.lcov - name: Upload to codecov.io - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70 # pin@v3 diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml index b200333d6f05e..34c3e743df8d8 100644 --- a/.github/workflows/dependabot-auto-merge.yml +++ b/.github/workflows/dependabot-auto-merge.yml @@ -16,16 +16,16 @@ jobs: steps: - name: Dependabot metadata id: metadata - uses: dependabot/fetch-metadata@v1.3.5 + uses: dependabot/fetch-metadata@5ef00187930bafb52d529e0b9c3dff045dfa9851 # pin@v1.3.5 with: github-token: "${{ secrets.GITHUB_TOKEN }}" - - uses: actions/checkout@v3 + - uses: actions/checkout@7dd9e2a3dc350cf687eb1b2a4fadfee8c8e49675 # pin@v3 with: ref: ${{ github.head_ref }} token: ${{ secrets.AUTOMERGE_TOKEN }} - - uses: actions-rs/toolchain@v1 + - uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # pin@v1 - name: Install cargo-hakari, and cache the binary - uses: baptiste0928/cargo-install@v1 + uses: baptiste0928/cargo-install@bf6758885262d0e6f61089a9d8c8790d3ac3368f # pin@v1 with: crate: cargo-hakari locked: true @@ -44,7 +44,7 @@ jobs: git remote set-url origin https://x-access-token:${{ secrets.AUTOMERGE_TOKEN }}@github.com/${{ github.repository }} git commit -am "chore(deps): cargo hakari" git push - - uses: ahmadnassri/action-dependabot-auto-merge@v2.6 + - uses: ahmadnassri/action-dependabot-auto-merge@7dbc44641f77fb62b23158c1294b5b757d6091a5 # pin@v2.6 with: github-token: ${{ secrets.AUTOMERGE_TOKEN }} command: 'squash and merge' diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 8db6df9a105b0..686281ea195c9 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -13,10 +13,10 @@ jobs: outputs: isDoc: ${{ steps.diff.outputs.isDoc }} steps: - - uses: actions/checkout@v3 - - name: Detect Changes - uses: './.github/actions/diffs' - id: diff + - uses: actions/checkout@7dd9e2a3dc350cf687eb1b2a4fadfee8c8e49675 # pin@v3 + - name: Detect Changes + uses: './.github/actions/diffs' + id: diff spelling: name: Lint documentation @@ -24,8 +24,8 @@ jobs: if: needs.diff.outputs.isDoc == 'true' runs-on: [ubuntu-latest] steps: - - uses: actions/checkout@v3 - - name: Spell Check Docs - uses: crate-ci/typos@master - with: - files: ./doc ./*.md \ No newline at end of file + - uses: actions/checkout@7dd9e2a3dc350cf687eb1b2a4fadfee8c8e49675 # pin@v3 + - name: Spell Check Docs + uses: crate-ci/typos@1d8996e20538a68f390ac049102ff99b33273525 # pin@master + with: + files: ./doc ./*.md diff --git a/.github/workflows/explorer-client-prs.yml b/.github/workflows/explorer-client-prs.yml index 14a5d7fd3cb7f..f9a50c20b334e 100644 --- a/.github/workflows/explorer-client-prs.yml +++ b/.github/workflows/explorer-client-prs.yml @@ -6,7 +6,7 @@ jobs: outputs: isClient: ${{ (steps.pnpm.outputs.packages && contains(fromJson(steps.pnpm.outputs.packages), 'sui-explorer')) || steps.diff.outputs.isRust }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@7dd9e2a3dc350cf687eb1b2a4fadfee8c8e49675 # pin@v3 - name: Detect Changes (pnpm) uses: "./.github/actions/pnpm-diffs" id: pnpm @@ -20,12 +20,12 @@ jobs: runs-on: [ubuntu-latest] steps: - name: Checkout - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2.2.4 + uses: actions/checkout@7dd9e2a3dc350cf687eb1b2a4fadfee8c8e49675 # pin@v3 + - uses: pnpm/action-setup@c3b53f6a16e57305370b4ae5a540c2077a1d50dd # pin@v2.2.4 with: version: 7 - name: Install Nodejs - uses: actions/setup-node@v3 + uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # pin@v3 with: node-version: "16" cache: "pnpm" @@ -44,12 +44,12 @@ jobs: runs-on: [ubuntu-latest] steps: - name: Checkout - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2.2.4 + uses: actions/checkout@7dd9e2a3dc350cf687eb1b2a4fadfee8c8e49675 # pin@v3 + - uses: pnpm/action-setup@c3b53f6a16e57305370b4ae5a540c2077a1d50dd # pin@v2.2.4 with: version: 7 - name: Install Nodejs - uses: actions/setup-node@v3 + uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # pin@v3 with: node-version: "16" cache: "pnpm" @@ -58,7 +58,7 @@ jobs: - name: Install Cypress run: pnpm explorer exec cypress install - name: Run e2e tests - uses: cypress-io/github-action@v5 + uses: cypress-io/github-action@c5724eda82337bcff977ce14509f47052c12e04c # pin@v5 with: install: false start: pnpm dev:static @@ -70,14 +70,14 @@ jobs: if: needs.diff.outputs.isClient == 'true' runs-on: [ubuntu-ghcloud] steps: - - uses: actions/checkout@v3 - - uses: actions-rs/toolchain@v1 - - uses: pnpm/action-setup@v2.2.4 + - uses: actions/checkout@7dd9e2a3dc350cf687eb1b2a4fadfee8c8e49675 # pin@v3 + - uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # pin@v1 + - uses: pnpm/action-setup@c3b53f6a16e57305370b4ae5a540c2077a1d50dd # pin@v2.2.4 with: version: 7 - run: cargo build --bin sui-test-validator --profile dev - name: Install Nodejs - uses: actions/setup-node@v3 + uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # pin@v3 with: node-version: "16" cache: "pnpm" @@ -86,7 +86,7 @@ jobs: - name: Install Cypress run: pnpm explorer exec cypress install - name: Run e2e tests - uses: cypress-io/github-action@v5 + uses: cypress-io/github-action@c5724eda82337bcff977ce14509f47052c12e04c # pin@v5 with: install: false start: pnpm dlx concurrently --kill-others 'cargo run --bin sui-test-validator' 'pnpm dev' diff --git a/.github/workflows/move-prover.yml b/.github/workflows/move-prover.yml new file mode 100644 index 0000000000000..e3dd4eade3424 --- /dev/null +++ b/.github/workflows/move-prover.yml @@ -0,0 +1,42 @@ +name: Move Prover + +on: + pull_request: + paths: + - 'crates/sui-framework/sources/**' + - 'crates/sui/src/sui_move/**' + - 'Cargo.toml' + - 'Cargo.lock' + +jobs: + move-prover: + runs-on: [ubuntu-ghcloud] + + steps: + - uses: actions/checkout@v3 + - uses: actions-rs/toolchain@v1 + + - name: Prover Setup + run: | + crates/sui/scripts/prover_setup.sh + + - name: Build + uses: actions-rs/cargo@v1 + with: + command: build + + - name: Prover Run + working-directory: crates/sui-framework + run: | + set -o pipefail + DOTNET_ROOT="$HOME/.dotnet" + BIN_DIR="$HOME/bin" + + export DOTNET_ROOT="${DOTNET_ROOT}" + export PATH="${DOTNET_ROOT}/tools:\$PATH" + export Z3_EXE="${BIN_DIR}/z3" + export CVC5_EXE="${BIN_DIR}/cvc5" + export BOOGIE_EXE="${DOTNET_ROOT}/tools/boogie" + + /home/runner/.cargo/bin/cargo run -p sui -- move prove + diff --git a/.github/workflows/wallet-adapter.yml b/.github/workflows/wallet-adapter.yml index 308a5ba24a2b5..3b0d2d39c6d2d 100644 --- a/.github/workflows/wallet-adapter.yml +++ b/.github/workflows/wallet-adapter.yml @@ -1,19 +1,8 @@ name: Wallet Adapter PR Checks on: pull_request jobs: - diff: - runs-on: [ubuntu-latest] - outputs: - isWalletAdapter: ${{ (steps.diff.outputs.packages && contains(fromJson(steps.diff.outputs.packages), 'sui-wallet-adapter')) }} - steps: - - uses: actions/checkout@v3 - - name: Detect Changes - uses: "./.github/actions/pnpm-diffs" - id: diff ci: name: Build - needs: diff - if: needs.diff.outputs.isWalletAdapter == 'true' runs-on: [ubuntu-latest] steps: - name: Checkout @@ -28,5 +17,15 @@ jobs: cache: "pnpm" - name: Install dependencies run: pnpm install --frozen-lockfile + + - name: Turbo Cache + id: turbo-cache + uses: actions/cache@v3 + with: + path: node_modules/.cache/turbo + key: turbo-${{ github.job }}-${{ github.ref_name }}-${{ github.sha }} + restore-keys: | + turbo-${{ github.job }}-${{ github.ref_name }}- + - name: Build - run: pnpm wallet-adapter build + run: pnpm turbo build --filter="./sdk/wallet-adapter/**" diff --git a/.github/workflows/wallet-ext-comment.yml b/.github/workflows/wallet-ext-comment.yml index 5eb3bf23930b1..c48503da63328 100644 --- a/.github/workflows/wallet-ext-comment.yml +++ b/.github/workflows/wallet-ext-comment.yml @@ -49,7 +49,7 @@ jobs: if: steps.get-artifact.outputs.result != '' with: pr_number: ${{ steps.source-run-info.outputs.pullRequestNumber }} - comment_includes: "💳 Wallet Extension" + comment_tag: "wallet-extension" message: | 💳 Wallet Extension has been built, you can download the packaged extension here: ${{steps.get-artifact.outputs.result}} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 87e5dd022748b..cefafa539c477 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,7 @@ storage/ node_modules .tsbuildinfo tsconfig.tsbuildinfo +.turbo # logs wallet.log.* diff --git a/Cargo.lock b/Cargo.lock index ca6b15a397521..6d83c77278140 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -141,7 +141,7 @@ dependencies = [ "rcgen 0.9.3", "ring", "rustls", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "tap", "tokio", @@ -206,7 +206,7 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "983cd8b9d4b02a6dc6ffa557262eb5858a27a0038ffffe21a0f133eaa819a164" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -605,7 +605,7 @@ dependencies = [ "mime", "percent-encoding", "pin-project-lite", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "serde_urlencoded", "sync_wrapper", @@ -637,7 +637,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "rustversion", - "serde 1.0.149", + "serde 1.0.150", "sync_wrapper", "tower", "tower-http", @@ -752,7 +752,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b06b4c1f053002b70e7084ac944c77d58d5d92b2110dbc5e852735e00ad3ccc" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", "thiserror", ] @@ -762,7 +762,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -797,7 +797,7 @@ version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -1026,7 +1026,7 @@ dependencies = [ "memchr", "once_cell", "regex-automata", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -1042,7 +1042,7 @@ dependencies = [ "merlin", "rand 0.8.5", "rand_core 0.6.4", - "serde 1.0.149", + "serde 1.0.150", "serde_derive", "sha3 0.9.1", "subtle-ng", @@ -1064,7 +1064,7 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "bytecode-interpreter-crypto" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "curve25519-dalek-fiat", @@ -1091,7 +1091,7 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -1111,7 +1111,7 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88ad0e1e3e88dd237a156ab9f571021b8a158caa0ae44b1968a241efb5144c1e" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -1120,7 +1120,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -1132,7 +1132,7 @@ dependencies = [ "camino", "cargo-platform", "semver 1.0.14", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "thiserror", ] @@ -1202,7 +1202,7 @@ dependencies = [ "js-sys", "num-integer", "num-traits 0.2.15", - "serde 1.0.149", + "serde 1.0.150", "time 0.1.45", "wasm-bindgen", "winapi", @@ -1238,7 +1238,7 @@ checksum = "b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f" dependencies = [ "ciborium-io", "ciborium-ll", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -1368,7 +1368,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3362992a0d9f1dd7c3d0e89e0ab2bb540b7a95fea8cd798090e758fda2899b5e" dependencies = [ "codespan-reporting", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -1377,7 +1377,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", "termcolor", "unicode-width", ] @@ -1451,7 +1451,7 @@ dependencies = [ "lazy_static 1.4.0", "nom 5.1.2", "rust-ini", - "serde 1.0.149", + "serde 1.0.150", "serde-hjson", "serde_json", "toml", @@ -1497,7 +1497,7 @@ dependencies = [ "hdrhistogram", "humantime", "prost-types 0.11.2", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "thread_local", "tokio", @@ -1613,7 +1613,7 @@ dependencies = [ "plotters", "rayon", "regex", - "serde 1.0.149", + "serde 1.0.150", "serde_derive", "serde_json", "tinytemplate", @@ -1833,7 +1833,7 @@ dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", - "serde 1.0.149", + "serde 1.0.150", "subtle", "zeroize", ] @@ -1861,7 +1861,7 @@ dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.6.4", - "serde 1.0.149", + "serde 1.0.150", "subtle-ng", "zeroize", ] @@ -2113,7 +2113,7 @@ dependencies = [ "once_cell", "petgraph 0.6.2", "rayon", - "serde 1.0.149", + "serde 1.0.150", "toml", ] @@ -2135,6 +2135,7 @@ dependencies = [ "diesel_derives", "itoa", "pq-sys", + "r2d2", "serde_json", ] @@ -2307,7 +2308,7 @@ dependencies = [ "chrono", "nom 6.1.2", "rust_decimal", - "serde 1.0.149", + "serde 1.0.150", "time 0.3.15", ] @@ -2336,7 +2337,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" dependencies = [ "pkcs8", - "serde 1.0.149", + "serde 1.0.150", "signature", "zeroize", ] @@ -2350,7 +2351,7 @@ dependencies = [ "curve25519-dalek-ng", "hex", "rand_core 0.6.4", - "serde 1.0.149", + "serde 1.0.150", "sha2 0.9.9", "thiserror", "zeroize", @@ -2365,7 +2366,7 @@ dependencies = [ "curve25519-dalek", "ed25519", "rand 0.7.3", - "serde 1.0.149", + "serde 1.0.150", "sha2 0.9.9", "zeroize", ] @@ -2379,7 +2380,7 @@ dependencies = [ "curve25519-dalek-fiat", "ed25519", "rand 0.8.5", - "serde 1.0.149", + "serde 1.0.150", "serde_bytes", "sha2 0.9.9", "zeroize", @@ -2545,7 +2546,7 @@ dependencies = [ [[package]] name = "fastcrypto" version = "0.1.4" -source = "git+https://github.com/MystenLabs/fastcrypto?rev=6eb758ba78612e5e22a2748dd7a4b2c8b3724377#6eb758ba78612e5e22a2748dd7a4b2c8b3724377" +source = "git+https://github.com/MystenLabs/fastcrypto?rev=d4e9173985adeae9c2cb65132064949ca0824a0b#d4e9173985adeae9c2cb65132064949ca0824a0b" dependencies = [ "aes", "aes-gcm", @@ -2576,7 +2577,7 @@ dependencies = [ "rfc6979", "schemars", "secp256k1", - "serde 1.0.149", + "serde 1.0.150", "serde_bytes", "serde_with", "sha2 0.10.6", @@ -2591,7 +2592,7 @@ dependencies = [ [[package]] name = "fastcrypto-derive" version = "0.1.2" -source = "git+https://github.com/MystenLabs/fastcrypto?rev=6eb758ba78612e5e22a2748dd7a4b2c8b3724377#6eb758ba78612e5e22a2748dd7a4b2c8b3724377" +source = "git+https://github.com/MystenLabs/fastcrypto?rev=d4e9173985adeae9c2cb65132064949ca0824a0b#d4e9173985adeae9c2cb65132064949ca0824a0b" dependencies = [ "proc-macro2 1.0.47", "quote 1.0.21", @@ -2601,7 +2602,7 @@ dependencies = [ [[package]] name = "fastcrypto-zkp" version = "0.1.0" -source = "git+https://github.com/MystenLabs/fastcrypto?rev=6eb758ba78612e5e22a2748dd7a4b2c8b3724377#6eb758ba78612e5e22a2748dd7a4b2c8b3724377" +source = "git+https://github.com/MystenLabs/fastcrypto?rev=d4e9173985adeae9c2cb65132064949ca0824a0b#d4e9173985adeae9c2cb65132064949ca0824a0b" dependencies = [ "ark-bls12-381", "ark-ec", @@ -2915,7 +2916,7 @@ version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", "typenum", "version_check", ] @@ -3010,7 +3011,7 @@ dependencies = [ "gloo-utils", "js-sys", "pin-project", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "thiserror", "wasm-bindgen", @@ -3037,7 +3038,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8e8fc851e9c7b9852508bc6e3f690f452f474417e8545ec9857b7f7377036b5" dependencies = [ "js-sys", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "wasm-bindgen", "web-sys", @@ -3075,7 +3076,7 @@ dependencies = [ "petgraph 0.6.2", "rayon", "semver 1.0.14", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "smallvec", "static_assertions", @@ -3094,7 +3095,7 @@ dependencies = [ "diffus", "guppy-workspace-hack", "semver 1.0.14", - "serde 1.0.149", + "serde 1.0.150", "toml", ] @@ -3143,7 +3144,7 @@ dependencies = [ "owo-colors", "pathdiff", "rayon", - "serde 1.0.149", + "serde 1.0.150", "tabular", "target-spec", "toml", @@ -3480,7 +3481,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -3528,7 +3529,7 @@ checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown 0.12.3", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -3582,7 +3583,7 @@ dependencies = [ "linked-hash-map", "pest", "pest_derive", - "serde 1.0.149", + "serde 1.0.150", "similar", "yaml-rust", ] @@ -3760,7 +3761,7 @@ dependencies = [ "parking_lot 0.12.1", "rand 0.8.5", "rustc-hash", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "soketto", "thiserror", @@ -3780,7 +3781,7 @@ dependencies = [ "jsonrpsee-core", "jsonrpsee-types", "rustc-hash", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "thiserror", "tokio", @@ -3810,7 +3811,7 @@ dependencies = [ "hyper", "jsonrpsee-core", "jsonrpsee-types", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "soketto", "tokio", @@ -3827,7 +3828,7 @@ source = "git+https://github.com/patrickkuo/jsonrpsee.git?rev=adc19a124ed7045744 dependencies = [ "anyhow", "beef", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "thiserror", "tracing", @@ -4021,7 +4022,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -4191,7 +4192,7 @@ dependencies = [ [[package]] name = "move-abigen" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "bcs", @@ -4202,31 +4203,31 @@ dependencies = [ "move-command-line-common", "move-core-types", "move-model", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "move-binary-format" version = "0.0.3" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "move-core-types", "once_cell", "ref-cast", - "serde 1.0.149", + "serde 1.0.150", "variant_count", ] [[package]] name = "move-borrow-graph" version = "0.0.1" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" [[package]] name = "move-bytecode-source-map" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "bcs", @@ -4235,13 +4236,13 @@ dependencies = [ "move-core-types", "move-ir-types", "move-symbol-pool", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "move-bytecode-utils" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "move-binary-format", @@ -4253,7 +4254,7 @@ dependencies = [ [[package]] name = "move-bytecode-verifier" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "move-binary-format", @@ -4265,7 +4266,7 @@ dependencies = [ [[package]] name = "move-bytecode-viewer" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "clap 3.2.23", @@ -4282,7 +4283,7 @@ dependencies = [ [[package]] name = "move-cli" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "bcs", @@ -4317,7 +4318,7 @@ dependencies = [ "read-write-set", "read-write-set-dynamic", "reqwest", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "serde_yaml", "tempfile", @@ -4328,7 +4329,7 @@ dependencies = [ [[package]] name = "move-command-line-common" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "difference", @@ -4337,7 +4338,7 @@ dependencies = [ "move-core-types", "num-bigint", "once_cell", - "serde 1.0.149", + "serde 1.0.150", "sha2 0.9.9", "walkdir", ] @@ -4345,7 +4346,7 @@ dependencies = [ [[package]] name = "move-compiler" version = "0.0.1" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "bcs", @@ -4374,7 +4375,7 @@ dependencies = [ [[package]] name = "move-core-types" version = "0.0.4" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "bcs", @@ -4385,7 +4386,7 @@ dependencies = [ "primitive-types", "rand 0.8.5", "ref-cast", - "serde 1.0.149", + "serde 1.0.150", "serde_bytes", "uint", ] @@ -4393,7 +4394,7 @@ dependencies = [ [[package]] name = "move-coverage" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "bcs", @@ -4407,13 +4408,13 @@ dependencies = [ "move-ir-types", "once_cell", "petgraph 0.5.1", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "move-disassembler" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "clap 3.2.23", @@ -4431,7 +4432,7 @@ dependencies = [ [[package]] name = "move-docgen" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "codespan", @@ -4443,13 +4444,13 @@ dependencies = [ "num", "once_cell", "regex", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "move-errmapgen" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "bcs", @@ -4457,13 +4458,13 @@ dependencies = [ "move-command-line-common", "move-core-types", "move-model", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "move-ir-compiler" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "bcs", @@ -4482,7 +4483,7 @@ dependencies = [ [[package]] name = "move-ir-to-bytecode" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "codespan-reporting", @@ -4501,7 +4502,7 @@ dependencies = [ [[package]] name = "move-ir-to-bytecode-syntax" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "hex", @@ -4514,7 +4515,7 @@ dependencies = [ [[package]] name = "move-ir-types" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "hex", @@ -4522,13 +4523,13 @@ dependencies = [ "move-core-types", "move-symbol-pool", "once_cell", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "move-model" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "codespan", @@ -4548,13 +4549,13 @@ dependencies = [ "num", "once_cell", "regex", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "move-package" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "bcs", @@ -4578,7 +4579,7 @@ dependencies = [ "ptree", "regex", "reqwest", - "serde 1.0.149", + "serde 1.0.150", "serde_yaml", "sha2 0.9.9", "tempfile", @@ -4590,7 +4591,7 @@ dependencies = [ [[package]] name = "move-prover" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "async-trait", @@ -4617,7 +4618,7 @@ dependencies = [ "once_cell", "pretty", "rand 0.8.5", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "simplelog", "tokio", @@ -4627,7 +4628,7 @@ dependencies = [ [[package]] name = "move-prover-boogie-backend" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "async-trait", @@ -4646,7 +4647,7 @@ dependencies = [ "pretty", "rand 0.8.5", "regex", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "tera", "tokio", @@ -4655,18 +4656,18 @@ dependencies = [ [[package]] name = "move-read-write-set-types" version = "0.0.3" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "move-binary-format", "move-core-types", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "move-resource-viewer" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "bcs", @@ -4675,13 +4676,13 @@ dependencies = [ "move-bytecode-utils", "move-core-types", "once_cell", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "move-stackless-bytecode" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "codespan", "codespan-reporting", @@ -4702,13 +4703,13 @@ dependencies = [ "once_cell", "paste", "petgraph 0.5.1", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "move-stackless-bytecode-interpreter" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "bytecode-interpreter-crypto", @@ -4720,13 +4721,13 @@ dependencies = [ "move-model", "move-stackless-bytecode", "num", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "move-stdlib" version = "0.1.1" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "hex", @@ -4749,16 +4750,16 @@ dependencies = [ [[package]] name = "move-symbol-pool" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "once_cell", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "move-table-extension" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "bcs", @@ -4775,7 +4776,7 @@ dependencies = [ [[package]] name = "move-transactional-test-runner" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "clap 3.2.23", @@ -4807,7 +4808,7 @@ dependencies = [ [[package]] name = "move-unit-test" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "better_any", @@ -4838,7 +4839,7 @@ dependencies = [ [[package]] name = "move-vm-runtime" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "better_any", "fail 0.4.0", @@ -4855,26 +4856,26 @@ dependencies = [ [[package]] name = "move-vm-test-utils" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "move-binary-format", "move-core-types", "move-vm-types", "once_cell", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "move-vm-types" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "bcs", "move-binary-format", "move-core-types", "once_cell", - "serde 1.0.149", + "serde 1.0.150", "smallvec", ] @@ -4899,7 +4900,7 @@ dependencies = [ "pin-project-lite", "rand 0.8.5", "real_tokio", - "serde 1.0.149", + "serde 1.0.150", "socket2", "tokio-util 0.7.4 (git+https://github.com/mystenmark/tokio-madsim-fork.git?rev=bb463863b8155543731bdf7850057c083cf1b427)", "toml", @@ -4928,9 +4929,9 @@ dependencies = [ "bs58", "byteorder", "data-encoding", - "multihash", + "multihash 0.16.3", "percent-encoding", - "serde 1.0.149", + "serde 1.0.150", "static_assertions", "unsigned-varint", "url", @@ -4938,17 +4939,17 @@ dependencies = [ [[package]] name = "multiaddr" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aebdb21e90f81d13ed01dc84123320838e53963c2ca94b60b305d3fa64f31e" +checksum = "3b53e0cc5907a5c216ba6584bf74be8ab47d6d6289f72793b2dddbf15dc3bf8c" dependencies = [ "arrayref", "byteorder", "data-encoding", "multibase", - "multihash", + "multihash 0.17.0", "percent-encoding", - "serde 1.0.149", + "serde 1.0.150", "static_assertions", "unsigned-varint", "url", @@ -4976,6 +4977,17 @@ dependencies = [ "unsigned-varint", ] +[[package]] +name = "multihash" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" +dependencies = [ + "core2", + "multihash-derive", + "unsigned-varint", +] + [[package]] name = "multihash-derive" version = "0.8.1" @@ -5000,12 +5012,14 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" name = "mysten-metrics" version = "0.7.0" dependencies = [ + "dashmap", "once_cell", "prometheus", "scopeguard", "tap", "tokio", "tracing", + "uuid", "workspace-hack", ] @@ -5021,7 +5035,7 @@ dependencies = [ "futures", "http", "multiaddr 0.14.0", - "serde 1.0.149", + "serde 1.0.150", "tokio", "tokio-stream", "tonic 0.7.2", @@ -5040,12 +5054,12 @@ dependencies = [ "eyre", "futures", "http", - "multiaddr 0.16.0", - "serde 1.0.149", + "multiaddr 0.17.0", + "serde 1.0.150", "tokio", "tokio-stream", "tonic 0.8.3", - "tonic-health 0.7.1", + "tonic-health 0.8.0", "tower", "tower-http", "tracing", @@ -5108,11 +5122,11 @@ dependencies = [ "fastcrypto", "insta", "match_opt", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "narwhal-crypto", "narwhal-test-utils", "rand 0.8.5", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "serde_with", "tempfile", @@ -5147,7 +5161,7 @@ dependencies = [ "pprof", "prometheus", "rand 0.8.5", - "serde 1.0.149", + "serde 1.0.150", "telemetry-subscribers", "thiserror", "tokio", @@ -5172,7 +5186,7 @@ dependencies = [ "proptest-derive", "rand 0.8.5", "readonly", - "serde 1.0.149", + "serde 1.0.150", "serde-reflection", "serde_bytes", "serde_json", @@ -5196,7 +5210,7 @@ dependencies = [ "proptest", "proptest-derive", "rayon", - "serde 1.0.149", + "serde 1.0.150", "thiserror", "workspace-hack", ] @@ -5232,7 +5246,7 @@ dependencies = [ "itertools", "match_opt", "mockall", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "mysten-metrics", "narwhal-config", "narwhal-consensus", @@ -5245,7 +5259,8 @@ dependencies = [ "narwhal-types", "prometheus", "rand 0.8.5", - "serde 1.0.149", + "serde 1.0.150", + "tap", "telemetry-subscribers", "tempfile", "thiserror", @@ -5274,14 +5289,14 @@ dependencies = [ "fail 0.5.1", "fastcrypto", "futures", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "mysten-metrics", "narwhal-crypto", "narwhal-test-utils", "narwhal-types", "prometheus", "rand 0.8.5", - "serde 1.0.149", + "serde 1.0.150", "thiserror", "tokio", "tokio-util 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5308,7 +5323,7 @@ dependencies = [ "fastcrypto", "futures", "itertools", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "mysten-metrics", "mysten-network 0.2.0", "narwhal-config", @@ -5364,7 +5379,7 @@ dependencies = [ "indexmap", "itertools", "mockall", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "mysten-metrics", "mysten-network 0.2.0", "narwhal-config", @@ -5384,7 +5399,7 @@ dependencies = [ "rand 0.8.5", "reqwest", "roaring", - "serde 1.0.149", + "serde 1.0.150", "tap", "telemetry-subscribers", "tempfile", @@ -5436,7 +5451,7 @@ dependencies = [ "futures", "indexmap", "itertools", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "mysten-network 0.2.0", "narwhal-config", "narwhal-crypto", @@ -5450,7 +5465,7 @@ dependencies = [ "once_cell", "prometheus", "rand 0.8.5", - "serde 1.0.149", + "serde 1.0.150", "telemetry-subscribers", "tempfile", "thiserror", @@ -5495,7 +5510,7 @@ dependencies = [ "rand 0.8.5", "roaring", "rustversion", - "serde 1.0.149", + "serde 1.0.150", "serde_test", "serde_with", "signature", @@ -5524,7 +5539,7 @@ dependencies = [ "eyre", "fastcrypto", "futures", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "mysten-metrics", "mysten-network 0.2.0", "narwhal-config", @@ -5539,7 +5554,7 @@ dependencies = [ "prometheus", "rand 0.8.5", "reqwest", - "serde 1.0.149", + "serde 1.0.150", "tap", "telemetry-subscribers", "tempfile", @@ -5589,7 +5604,7 @@ dependencies = [ "hakari", "hex", "once_cell", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -5604,7 +5619,7 @@ dependencies = [ "guppy", "nexlint", "regex", - "serde 1.0.149", + "serde 1.0.150", "toml", ] @@ -6131,7 +6146,7 @@ dependencies = [ "byte-slice-cast", "impl-trait-for-tuples", "parity-scale-codec-derive", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -6447,9 +6462,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15eb2c6e362923af47e13c23ca5afb859e83d54452c55b0b9ac763b8f7c1ac16" +checksum = "ac662b3a6490de378b0ee15cf2dfff7127aebfe0b19acc65e7fbca3d299c3788" [[package]] name = "pprof" @@ -6806,7 +6821,7 @@ dependencies = [ "config", "directories", "petgraph 0.6.2", - "serde 1.0.149", + "serde 1.0.150", "serde-value", "tint", ] @@ -6900,6 +6915,17 @@ dependencies = [ "proc-macro2 1.0.47", ] +[[package]] +name = "r2d2" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" +dependencies = [ + "log", + "parking_lot 0.12.1", + "scheduled-thread-pool", +] + [[package]] name = "radium" version = "0.5.3" @@ -7058,7 +7084,7 @@ dependencies = [ "rand 0.7.3", "rcgen 0.10.0", "rustls", - "serde 1.0.149", + "serde 1.0.150", "tracing", "webpki", "workspace-hack", @@ -7093,7 +7119,7 @@ dependencies = [ [[package]] name = "read-write-set" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "move-binary-format", @@ -7108,7 +7134,7 @@ dependencies = [ [[package]] name = "read-write-set-dynamic" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a#796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" +source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" dependencies = [ "anyhow", "move-binary-format", @@ -7246,7 +7272,7 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "serde_urlencoded", "tokio", @@ -7516,6 +7542,15 @@ dependencies = [ "windows-sys 0.36.1", ] +[[package]] +name = "scheduled-thread-pool" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "977a7519bff143a44f842fd07e80ad1329295bd71686457f18e496736f4bf9bf" +dependencies = [ + "parking_lot 0.12.1", +] + [[package]] name = "schemars" version = "0.8.11" @@ -7525,7 +7560,7 @@ dependencies = [ "dyn-clone", "either", "schemars_derive", - "serde 1.0.149", + "serde 1.0.150", "serde_json", ] @@ -7635,7 +7670,7 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -7661,9 +7696,9 @@ checksum = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8" [[package]] name = "serde" -version = "1.0.149" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256b9932320c590e707b94576e3cc1f7c9024d0ee6612dfbcf1cb106cbe8e055" +checksum = "e326c9ec8042f1b5da33252c8a37e9ffbd2c9bef0155215b6e6c80c790e05f91" dependencies = [ "serde_derive", ] @@ -7686,7 +7721,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b5b14ebbcc4e4f2b3642fa99c388649da58d1dc3308c7d109f39f565d1710f0" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", "thiserror", ] @@ -7697,7 +7732,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f05a5f801ac62a51a49d378fdb3884480041b99aced450b28990673e8ff99895" dependencies = [ "once_cell", - "serde 1.0.149", + "serde 1.0.150", "thiserror", ] @@ -7708,7 +7743,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" dependencies = [ "ordered-float 2.10.0", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -7717,14 +7752,14 @@ version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfc50e8183eeeb6178dcb167ae34a8051d63535023ae38b5d8d12beae193d37b" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", ] [[package]] name = "serde_derive" -version = "1.0.149" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eae9b04cbffdfd550eb462ed33bc6a1b68c935127d008b27444d08380f94e4" +checksum = "42a3df25b0713732468deadad63ab9da1f1fd75a48a15024b50363f128db627e" dependencies = [ "proc-macro2 1.0.47", "quote 1.0.21", @@ -7751,7 +7786,7 @@ dependencies = [ "indexmap", "itoa", "ryu", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -7771,7 +7806,7 @@ version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3434c4787dcd7c8c0837ffbb01e6e34091f8983b2df9655e66393a867f99f7aa" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -7783,7 +7818,7 @@ dependencies = [ "form_urlencoded", "itoa", "ryu", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -7796,7 +7831,7 @@ dependencies = [ "chrono", "hex", "indexmap", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "serde_with_macros", "time 0.3.15", @@ -7822,7 +7857,7 @@ checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" dependencies = [ "indexmap", "ryu", - "serde 1.0.149", + "serde 1.0.150", "yaml-rust", ] @@ -8331,7 +8366,8 @@ dependencies = [ "move-prover-boogie-backend", "move-stackless-bytecode", "move-unit-test", - "multiaddr 0.16.0", + "multiaddr 0.17.0", + "mysten-metrics", "mysten-network 0.2.0", "narwhal-executor", "prometheus", @@ -8339,7 +8375,7 @@ dependencies = [ "rocksdb", "rustyline", "rustyline-derive", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "serde_with", "serde_yaml", @@ -8418,7 +8454,7 @@ dependencies = [ "hdrhistogram", "indicatif", "move-core-types", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "narwhal-node", "num_cpus", "prometheus", @@ -8426,7 +8462,7 @@ dependencies = [ "rand_distr", "rayon", "rocksdb", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "serde_with", "strum", @@ -8465,7 +8501,7 @@ dependencies = [ "move-core-types", "prometheus", "reqwest", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "sui", "sui-config", @@ -8503,12 +8539,12 @@ dependencies = [ "move-core-types", "move-package", "move-vm-runtime", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "narwhal-config", "narwhal-crypto", "once_cell", "rand 0.8.5", - "serde 1.0.149", + "serde 1.0.150", "serde_with", "serde_yaml", "sui-adapter", @@ -8541,7 +8577,7 @@ dependencies = [ "move-bytecode-utils", "move-core-types", "move-vm-runtime", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "mysten-metrics", "mysten-network 0.2.0", "narwhal-config", @@ -8558,7 +8594,7 @@ dependencies = [ "rand 0.8.5", "rocksdb", "scopeguard", - "serde 1.0.149", + "serde 1.0.150", "serde-reflection", "serde_json", "serde_with", @@ -8602,7 +8638,7 @@ dependencies = [ "move-cli", "move-disassembler", "move-package", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "strum", "strum_macros", @@ -8626,7 +8662,7 @@ dependencies = [ "move-core-types", "move-vm-types", "once_cell", - "serde 1.0.149", + "serde 1.0.150", "sui-protocol-constants", "workspace-hack", ] @@ -8644,7 +8680,7 @@ dependencies = [ "mysten-metrics", "prometheus", "scopeguard", - "serde 1.0.149", + "serde 1.0.150", "sui", "sui-config", "sui-json-rpc-types", @@ -8688,7 +8724,7 @@ dependencies = [ "move-vm-types", "num_enum", "once_cell", - "serde 1.0.149", + "serde 1.0.150", "smallvec", "sui-framework-build", "sui-types", @@ -8728,7 +8764,7 @@ dependencies = [ "futures", "jsonrpsee", "narwhal-network", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "sui", "sui-config", @@ -8759,7 +8795,7 @@ dependencies = [ "move-binary-format", "move-core-types", "schemars", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "sui-adapter", "sui-framework-build", @@ -8775,6 +8811,7 @@ version = "0.0.0" dependencies = [ "anyhow", "async-trait", + "bcs", "fastcrypto", "futures", "hyper", @@ -8786,7 +8823,7 @@ dependencies = [ "mysten-metrics", "prometheus", "rand 0.8.5", - "serde 1.0.149", + "serde 1.0.150", "signature", "sui-config", "sui-core", @@ -8804,6 +8841,7 @@ dependencies = [ "sui-types", "tap", "test-utils", + "thiserror", "tokio", "tower", "tower-http", @@ -8826,7 +8864,7 @@ dependencies = [ "move-bytecode-utils", "move-core-types", "schemars", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "serde_with", "sui-json", @@ -8843,7 +8881,7 @@ dependencies = [ "bip32", "fastcrypto", "rand 0.8.5", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "signature", "slip10_ed25519", @@ -8873,11 +8911,11 @@ dependencies = [ "anyhow", "async-trait", "futures", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "mysten-network 0.2.0", "prometheus", "rand 0.8.5", - "serde 1.0.149", + "serde 1.0.150", "sui-config", "sui-types", "tap", @@ -8900,7 +8938,7 @@ dependencies = [ "chrono", "clap 3.2.23", "futures", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "mysten-metrics", "mysten-network 0.2.0", "narwhal-network", @@ -8908,6 +8946,7 @@ dependencies = [ "parking_lot 0.12.1", "prometheus", "prometheus-closure-metric", + "reqwest", "sui-config", "sui-core", "sui-json-rpc", @@ -8929,13 +8968,14 @@ name = "sui-open-rpc" version = "0.0.0" dependencies = [ "anyhow", + "bcs", "clap 3.2.23", "fastcrypto", "move-core-types", "pretty_assertions", "rand 0.8.5", "schemars", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "sui", "sui-core", @@ -8974,7 +9014,7 @@ dependencies = [ "anyhow", "async-trait", "axum 0.5.17", - "axum-core 0.2.9", + "axum-core 0.3.0", "bcs", "clap 3.2.23", "fastcrypto", @@ -8983,7 +9023,7 @@ dependencies = [ "mysten-metrics", "once_cell", "rand 0.8.5", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "serde_with", "signature", @@ -9025,10 +9065,10 @@ dependencies = [ "move-bytecode-utils", "move-core-types", "rand 0.8.5", - "serde 1.0.149", + "serde 1.0.150", "serde_json", + "sui", "sui-config", - "sui-core", "sui-json", "sui-json-rpc", "sui-json-rpc-types", @@ -9036,6 +9076,8 @@ dependencies = [ "sui-transaction-builder", "sui-types", "tempfile", + "test-utils", + "thiserror", "tokio", "workspace-hack", ] @@ -9100,7 +9142,7 @@ dependencies = [ "once_cell", "pretty_assertions", "rocksdb", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "sqlx", "strum", @@ -9124,6 +9166,7 @@ version = "0.0.0" dependencies = [ "anyhow", "futures", + "mysten-metrics", "mysten-network 0.2.0", "prometheus", "rand 0.8.5", @@ -9135,7 +9178,7 @@ dependencies = [ "telemetry-subscribers", "tempfile", "tokio", - "tonic-health 0.7.1", + "tonic-health 0.8.0", "tracing", "workspace-hack", ] @@ -9145,7 +9188,7 @@ name = "sui-telemetry" version = "0.1.0" dependencies = [ "reqwest", - "serde 1.0.149", + "serde 1.0.150", "tokio", "tracing", "workspace-hack", @@ -9160,7 +9203,7 @@ dependencies = [ "clap 3.2.23", "http", "move-package", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "sui", "sui-cluster-test", @@ -9183,10 +9226,10 @@ dependencies = [ "eyre", "futures", "itertools", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "mysten-network 0.1.0", "rocksdb", - "serde 1.0.149", + "serde 1.0.150", "serde_with", "strum", "strum_macros", @@ -9271,7 +9314,7 @@ dependencies = [ "rand 0.8.5", "roaring", "schemars", - "serde 1.0.149", + "serde 1.0.150", "serde-name", "serde_bytes", "serde_json", @@ -9407,7 +9450,7 @@ checksum = "6a4b9859e2d5bf61d17ccdf2659396d69b207d956f2cb60e09df319394a8ccd4" dependencies = [ "cfg-expr", "guppy-workspace-hack", - "serde 1.0.149", + "serde 1.0.150", "target-lexicon", ] @@ -9462,7 +9505,7 @@ dependencies = [ "pest_derive", "rand 0.8.5", "regex", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "slug", "unic-segment", @@ -9499,7 +9542,7 @@ version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd4a3a7f00909d5a1d1f83b86b65d91e4c94f80b0c2d0ae37e2ef44da7b7a0a0" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", "test-fuzz-internal", "test-fuzz-macro", "test-fuzz-runtime", @@ -9514,7 +9557,7 @@ dependencies = [ "cargo_metadata", "proc-macro2 1.0.47", "quote 1.0.21", - "serde 1.0.149", + "serde 1.0.150", "strum_macros", ] @@ -9545,7 +9588,7 @@ dependencies = [ "bincode", "hex", "num-traits 0.2.15", - "serde 1.0.149", + "serde 1.0.150", "sha-1 0.10.1", "test-fuzz-internal", ] @@ -9559,7 +9602,8 @@ dependencies = [ "futures", "jsonrpsee", "move-core-types", - "multiaddr 0.16.0", + "multiaddr 0.17.0", + "mysten-metrics", "mysten-network 0.2.0", "once_cell", "prometheus", @@ -9677,7 +9721,7 @@ dependencies = [ "itoa", "libc", "num_threads", - "serde 1.0.149", + "serde 1.0.150", "time-macros", ] @@ -9721,7 +9765,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" dependencies = [ - "serde 1.0.149", + "serde 1.0.150", "serde_json", ] @@ -9875,7 +9919,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" dependencies = [ "indexmap", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -9887,7 +9931,7 @@ dependencies = [ "combine", "indexmap", "itertools", - "serde 1.0.149", + "serde 1.0.150", ] [[package]] @@ -9999,9 +10043,9 @@ dependencies = [ [[package]] name = "tonic-health" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632faf60b81a5b5f439d9635102b2b2921ee39171faf14f3e0008d99f98689f1" +checksum = "a88aee666ef3a4d1ee46218bbc8e5f69bcf9cc27bf2e871d6b724d83f56d179f" dependencies = [ "async-stream", "bytes", @@ -10130,7 +10174,7 @@ checksum = "a788f2119fde477cd33823330c14004fa8cdac6892fd6f12181bbda9dbf14fc9" dependencies = [ "gethostname", "log", - "serde 1.0.149", + "serde 1.0.150", "serde_json", "time 0.3.15", "tracing", @@ -10296,7 +10340,7 @@ dependencies = [ "prometheus", "quote 1.0.21", "rocksdb", - "serde 1.0.149", + "serde 1.0.150", "syn 1.0.105", "tap", "tempfile", @@ -11337,9 +11381,10 @@ dependencies = [ "move-vm-test-utils", "move-vm-types", "multiaddr 0.14.0", - "multiaddr 0.16.0", + "multiaddr 0.17.0", "multibase", - "multihash", + "multihash 0.16.3", + "multihash 0.17.0", "multihash-derive", "multimap", "mysten-network 0.1.0", @@ -11468,6 +11513,7 @@ dependencies = [ "quinn-udp", "quote 0.6.13", "quote 1.0.21", + "r2d2", "radium 0.5.3", "radium 0.6.2", "radix_trie", @@ -11519,6 +11565,7 @@ dependencies = [ "ryu", "same-file", "schannel", + "scheduled-thread-pool", "schemars", "schemars_derive", "scopeguard", @@ -11533,7 +11580,7 @@ dependencies = [ "semver-parser", "send_wrapper", "serde 0.8.23", - "serde 1.0.149", + "serde 1.0.150", "serde-hjson", "serde-name", "serde-reflection", @@ -11644,7 +11691,7 @@ dependencies = [ "tonic-build 0.7.2", "tonic-build 0.8.4", "tonic-health 0.6.0", - "tonic-health 0.7.1", + "tonic-health 0.8.0", "toolchain_find", "tower", "tower-http", diff --git a/Cargo.toml b/Cargo.toml index 43c1d2eff9742..7c9e3d283bf06 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -85,6 +85,11 @@ panic = 'abort' # For convenience. strip = 'none' +[profile.test.package.move-compiler] +# opt-level 2 for move-compiler reduces the size of some of its +# (recursive) stack frames by up to 10x, avoiding stack overflows. +opt-level = 2 + [profile.simulator] inherits = "test" debug = true @@ -99,29 +104,29 @@ opt-level = 1 tokio = "1.22.0" # Move dependencies -move-binary-format = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-bytecode-utils = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-bytecode-verifier = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-cli = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-compiler = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-core-types = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a", features = ["address20"] } -move-disassembler = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-package = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-stdlib = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-vm-runtime = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-unit-test = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-vm-test-utils = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-vm-types = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-command-line-common = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-transactional-test-runner = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-ir-types = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-prover = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-prover-boogie-backend = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-stackless-bytecode = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } -move-symbol-pool = { git = "https://github.com/move-language/move", rev = "796ddf22ac4f8cd3d09c0c83bed1cf8faa252d9a" } +move-binary-format = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-bytecode-utils = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-bytecode-verifier = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-cli = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-compiler = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-core-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", features = ["address20"] } +move-disassembler = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-package = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-stdlib = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-vm-runtime = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-unit-test = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-vm-test-utils = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-vm-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-command-line-common = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-transactional-test-runner = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-ir-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-prover = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-prover-boogie-backend = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-stackless-bytecode = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-symbol-pool = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -fastcrypto = { git = "https://github.com/MystenLabs/fastcrypto", rev = "6eb758ba78612e5e22a2748dd7a4b2c8b3724377" } -fastcrypto-zkp = { git = "https://github.com/MystenLabs/fastcrypto", rev = "6eb758ba78612e5e22a2748dd7a4b2c8b3724377", package = "fastcrypto-zkp" } +fastcrypto = { git = "https://github.com/MystenLabs/fastcrypto", rev = "d4e9173985adeae9c2cb65132064949ca0824a0b" } +fastcrypto-zkp = { git = "https://github.com/MystenLabs/fastcrypto", rev = "d4e9173985adeae9c2cb65132064949ca0824a0b", package = "fastcrypto-zkp" } # anemo dependencies anemo = { git = "https://github.com/mystenlabs/anemo.git", rev = "7ebdcf82b5cccce71e9483d5b028329475a41a20" } diff --git a/SECURITY.md b/SECURITY.md index 77b086d475cf6..8f8d510ce9d38 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,6 +2,4 @@ Sui is pre-release software under rapid development. It has not been audited and is not yet ready for production use. -After we have completed internal and external audits of Sui, we will establish a responsible disclosure policy and a bug bounty program covering both [protocol security](doc/src/learn/sui-security.md) and software security. In the meantime, please report security problems via an ordinary Github issue with the `security` tag. - -See https://github.com/move-language/move/blob/main/SECURITY.md for reporting a security issue in the Move programming language. +After we have completed internal and external audits of Sui, we will establish a responsible disclosure policy and a bug bounty program covering both [protocol security](doc/src/learn/sui-security.md) and software security. In the meantime, please report security problems to security@mystenlabs.com. diff --git a/apps/core/package.json b/apps/core/package.json index d432db5ff1fd4..80379d87d991d 100644 --- a/apps/core/package.json +++ b/apps/core/package.json @@ -2,9 +2,9 @@ "name": "@mysten/core", "private": true, "devDependencies": { - "@headlessui/tailwindcss": "^0.1.1", + "@headlessui/tailwindcss": "^0.1.2", "@tailwindcss/aspect-ratio": "^0.4.2", - "tailwindcss": "^3.0.23", + "tailwindcss": "^3.2.4", "typescript": "^4.8.3" } } diff --git a/apps/explorer/README.md b/apps/explorer/README.md index ec2264e0b25bd..7c6d8ccaa2a7d 100644 --- a/apps/explorer/README.md +++ b/apps/explorer/README.md @@ -12,6 +12,18 @@ Dependencies are managed using [`pnpm`](https://pnpm.io/). You can start by inst $ pnpm install ``` +> All `pnpm` commands are intended to be run in the root of the Sui repo. You can also run them within the `apps/explorer` directory, and remove change `pnpm explorer` to just `pnpm` when running commands. + +## Developing the Sui Explorer + +To start the explorer dev server, you can run the following command: + +``` +pnpm explorer dev +``` + +This will start the dev server on port 3000, which should be accessible on http://localhost:3000/ + # How to Switch Environment By default, the Sui Explorer attempts to connect to a local RPC server. For more information about using a local RPC server, see [Local RPC Server & JSON-RPC API Quick Start](../../doc/src/build/json-rpc.md). @@ -25,7 +37,7 @@ The Sui Explorer can also connect to a local, static JSON dataset that can be fo For example, suppose we wish to locally run the website using the static JSON dataset and not the API, then we could run the following: ```bash -pnpm dev:static +pnpm explorer dev:static ``` @@ -51,21 +63,21 @@ pnpm explorer exec cypress open # Other pnpm commands -### `pnpm test` +### `pnpm explorer test` This runs a series of end-to-end browser tests using the website as connected to the static JSON dataset. This command is run by the GitHub checks. The tests must pass before merging a branch into main. -### `pnpm build` +### `pnpm explorer build` Builds the app for production to the `build` folder. It bundles React in production mode and optimizes the build for the best performance. -### `pnpm lint` +### `pnpm explorer lint` Run linting check (prettier/eslint/stylelint). -### `pnpm lint:fix` +### `pnpm explorer lint:fix` Run linting check but also try to fix any issues. diff --git a/apps/explorer/package.json b/apps/explorer/package.json index 64ae41d356aa7..2696bae96c70b 100644 --- a/apps/explorer/package.json +++ b/apps/explorer/package.json @@ -19,10 +19,9 @@ "lint": "pnpm eslint:check && pnpm prettier:check && pnpm stylelint:check", "lint:fix": "pnpm eslint:fix && pnpm prettier:fix && pnpm stylelint:fix", "preview": "vite preview", - "storybook": "storybook dev -p 6007", + "storybook": "storybook dev", "build-storybook": "storybook build", - "preview-storybook": "pnpm dlx serve ./storybook-static -l 6007", - "vercel:ignored-build-step": "node scripts/vercel-ignored-build.js" + "preview-storybook": "pnpm dlx serve ./storybook-static" }, "dependencies": { "@floating-ui/react-dom-interactions": "^0.10.1", @@ -30,25 +29,25 @@ "@fontsource/red-hat-mono": "^4.5.11", "@growthbook/growthbook": "^0.18.1", "@growthbook/growthbook-react": "^0.9.1", - "@headlessui/react": "^1.7.2", + "@headlessui/react": "^1.7.5", "@hookform/resolvers": "^2.9.10", "@mysten/core": "workspace:*", "@mysten/sui.js": "workspace:*", "@mysten/wallet-adapter-all-wallets": "workspace:*", "@mysten/wallet-kit": "workspace:*", - "@sentry/react": "^7.6.0", - "@sentry/tracing": "^7.6.0", - "@tanstack/react-query": "^4.14.1", - "@tanstack/react-query-devtools": "^4.14.1", - "@tanstack/react-table": "^8.1.4", - "@vercel/analytics": "^0.1.3", + "@sentry/react": "^7.24.2", + "@sentry/tracing": "^7.24.2", + "@tanstack/react-query": "^4.19.1", + "@tanstack/react-query-devtools": "^4.19.1", + "@tanstack/react-table": "^8.7.0", + "@vercel/analytics": "^0.1.6", "@visx/geo": "^2.10.0", "@visx/responsive": "^2.10.0", "@visx/tooltip": "^2.10.0", "bignumber.js": "^9.1.0", "class-variance-authority": "^0.2.3", "clsx": "^1.2.1", - "framer-motion": "^7.5.1", + "framer-motion": "^7.6.19", "plausible-tracker": "^0.3.8", "prism-react-renderer": "^1.3.5", "prism-themes": "^1.9.0", @@ -56,32 +55,32 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-error-boundary": "^3.1.4", - "react-hook-form": "^7.39.2", + "react-hook-form": "^7.40.0", "react-hot-toast": "^2.4.0", "react-router-dom": "^6.2.1", "topojson-client": "^3.1.0", - "web-vitals": "^3.0.4", + "web-vitals": "^3.1.0", "zod": "^3.19.1" }, "devDependencies": { "@babel/core": "^7.19.3", - "@storybook/addon-a11y": "7.0.0-alpha.38", - "@storybook/addon-essentials": "7.0.0-alpha.38", - "@storybook/addons": "7.0.0-alpha.38", - "@storybook/react": "7.0.0-alpha.38", - "@storybook/react-vite": "7.0.0-alpha.38", - "@storybook/theming": "7.0.0-alpha.38", - "@testing-library/dom": "^8.17.1", + "@storybook/addon-a11y": "7.0.0-beta.3", + "@storybook/addon-essentials": "7.0.0-beta.3", + "@storybook/addons": "7.0.0-beta.3", + "@storybook/react": "7.0.0-beta.3", + "@storybook/react-vite": "7.0.0-beta.3", + "@storybook/theming": "7.0.0-beta.3", + "@testing-library/dom": "^8.19.0", "@testing-library/jest-dom": "^5.16.2", - "@testing-library/react": "^13.3.0", + "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^14.4.3", - "@types/node": "^16.11.24", - "@types/react": "^18.0.20", - "@types/react-dom": "^18.0.6", + "@types/node": "^18.11.13", + "@types/react": "^18.0.26", + "@types/react-dom": "^18.0.9", "@types/topojson-client": "^3.1.1", - "@vitejs/plugin-react": "^2.0.1", - "@vitest/ui": "^0.22.1", - "autoprefixer": "^10.4.2", + "@vitejs/plugin-react": "^3.0.0", + "@vitest/ui": "^0.25.7", + "autoprefixer": "^10.4.13", "axios": "^0.27.2", "cypress": "^10.10.0", "eslint": "^8.22.0", @@ -89,20 +88,20 @@ "eslint-config-react-app": "^7.0.1", "eslint-plugin-header": "^3.1.1", "onchange": "^7.1.0", - "postcss": "^8.4.6", - "prettier": "2.5.1", - "prettier-plugin-tailwindcss": "^0.2.0", + "postcss": "^8.4.19", + "prettier": "2.8.1", + "prettier-plugin-tailwindcss": "^0.2.1", "start-server-and-test": "^1.14.0", - "storybook": "7.0.0-alpha.38", + "storybook": "7.0.0-beta.3", "stylelint": "^14.5.0", "stylelint-config-prettier": "^9.0.3", "stylelint-config-standard": "^25.0.0", "stylelint-config-standard-scss": "^3.0.0", - "tailwindcss": "^3.0.23", + "tailwindcss": "^3.2.4", "typescript": "^4.8.3", - "vite": "^3.2.4", - "vite-plugin-svgr": "^2.2.1", - "vitest": "^0.22.1" + "vite": "^4.0.0", + "vite-plugin-svgr": "^2.4.0", + "vitest": "^0.25.7" }, "browserslist": { "production": [ diff --git a/apps/explorer/scripts/vercel-ignored-build.js b/apps/explorer/scripts/vercel-ignored-build.js deleted file mode 100644 index 8a82f92d92289..0000000000000 --- a/apps/explorer/scripts/vercel-ignored-build.js +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright (c) Mysten Labs, Inc. -// SPDX-License-Identifier: Apache-2.0 - -const { promisify } = require('node:util'); - -const { name } = require('../package.json'); - -const execFile = promisify(require('node:child_process').execFile); - -const doNotBuild = () => { - console.log('Disabling build.'); - process.exit(0); -}; - -const requiresBuild = () => { - console.log('Changes detected, requesting build.'); - process.exit(1); -}; - -const ref = - process.env.VERCEL === '1' && process.env.VERCEL_GIT_PREVIOUS_SHA - ? process.env.VERCEL_GIT_PREVIOUS_SHA - : 'HEAD^'; - -async function main() { - // Run once without `--json` flag for better debugging. - await execFile('pnpm', [ - 'list', - '--filter', - `...[${ref}]`, - '--depth', - '-1', - ]); - - const { stdout, stderr } = await execFile('pnpm', [ - 'list', - '--filter', - `...[${ref}]`, - '--depth', - '-1', - '--json', - ]); - - if (!stdout || stderr) { - return doNotBuild(); - } - - const packages = JSON.parse(stdout); - const explorerHasChanges = packages.find((pkg) => pkg.name === name); - - if (explorerHasChanges) { - return requiresBuild(); - } else { - return doNotBuild(); - } -} - -main().catch((e) => { - console.log(e.message); - // In the case of an error, play it safe and build: - console.error('Vercel Ignored Build Step Failed', e); - requiresBuild(); -}); diff --git a/apps/explorer/src/components/module/PkgModulesWrapper.tsx b/apps/explorer/src/components/module/PkgModulesWrapper.tsx index 9b9dabb1aae16..d53c0c2e9cf17 100644 --- a/apps/explorer/src/components/module/PkgModulesWrapper.tsx +++ b/apps/explorer/src/components/module/PkgModulesWrapper.tsx @@ -202,6 +202,8 @@ function PkgModuleViewWrapper({ id, modules }: Props) {
{id && selectedModule ? ( diff --git a/apps/explorer/src/components/module/module-functions-interaction/FunctionExecutionResult.tsx b/apps/explorer/src/components/module/module-functions-interaction/FunctionExecutionResult.tsx new file mode 100644 index 0000000000000..d488270bb1221 --- /dev/null +++ b/apps/explorer/src/components/module/module-functions-interaction/FunctionExecutionResult.tsx @@ -0,0 +1,86 @@ +// Copyright (c) Mysten Labs, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { + getExecutionStatusError, + getObjectId, + getTransactionDigest, + getTransactionEffects, +} from '@mysten/sui.js'; + +import { LinkGroup } from './LinkGroup'; + +import type { SuiTransactionResponse, OwnedObjectRef } from '@mysten/sui.js'; + +import { Banner } from '~/ui/Banner'; + +function toObjectLink(object: OwnedObjectRef) { + return { + text: getObjectId(object.reference), + to: `/object/${encodeURIComponent(getObjectId(object.reference))}`, + }; +} + +type FunctionExecutionResultProps = { + result: SuiTransactionResponse | null; + error: string | false; + onClear: () => void; +}; + +export function FunctionExecutionResult({ + error, + result, + onClear, +}: FunctionExecutionResultProps) { + const adjError = + error || (result && getExecutionStatusError(result)) || null; + const variant = adjError ? 'error' : 'message'; + return ( + +
+ + + + +
+
+ ); +} diff --git a/apps/explorer/src/components/module/module-functions-interaction/LinkGroup.tsx b/apps/explorer/src/components/module/module-functions-interaction/LinkGroup.tsx new file mode 100644 index 0000000000000..2069fd787d6cd --- /dev/null +++ b/apps/explorer/src/components/module/module-functions-interaction/LinkGroup.tsx @@ -0,0 +1,36 @@ +// Copyright (c) Mysten Labs, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { Link } from '~/ui/Link'; + +export type LinkGroupProps = { + title: string; +} & ({ text: string | null } | { links: { text: string; to: string }[] }); + +export function LinkGroup(props: LinkGroupProps) { + const { title } = props; + const isLinks = 'links' in props; + const isText = 'text' in props; + if ((isLinks && !props.links.length) || (isText && !props.text)) { + return null; + } + return ( +
+
{title}
+ {isLinks + ? props.links.map(({ text, to }) => ( +
+ + {text} + +
+ )) + : null} + {isText ? ( +
+ {props.text} +
+ ) : null} +
+ ); +} diff --git a/apps/explorer/src/components/module/module-functions-interaction/ModuleFunction.tsx b/apps/explorer/src/components/module/module-functions-interaction/ModuleFunction.tsx index 965a38d5b6859..10603f20e6332 100644 --- a/apps/explorer/src/components/module/module-functions-interaction/ModuleFunction.tsx +++ b/apps/explorer/src/components/module/module-functions-interaction/ModuleFunction.tsx @@ -10,10 +10,10 @@ import { useMutation } from '@tanstack/react-query'; import clsx from 'clsx'; import { useMemo } from 'react'; import { useWatch } from 'react-hook-form'; -import toast from 'react-hot-toast'; import { z } from 'zod'; import { ReactComponent as ArrowRight } from '../../../assets/SVGIcons/12px/ArrowRight.svg'; +import { FunctionExecutionResult } from './FunctionExecutionResult'; import { useFunctionParamsDetails } from './useFunctionParamsDetails'; import { useFunctionTypeArguments } from './useFunctionTypeArguments'; @@ -94,42 +94,34 @@ export function ModuleFunction({
- toast - .promise(execute.mutateAsync(formData), { - loading: 'Executing...', - error: (e) => 'Transaction failed', - success: 'Done', - }) - .catch((e) => null) + execute.mutateAsync(formData) )} autoComplete="off" className="flex flex-col flex-nowrap items-stretch gap-4" > - {typeArguments.map((aTypeArgument, index) => { - return ( - - ); - })} - {paramsDetails.map(({ paramTypeText }, index) => { - return ( - - ); - })} + {typeArguments.map((aTypeArgument, index) => ( + + ))} + {paramsDetails.map(({ paramTypeText }, index) => ( + + ))}
@@ -152,6 +144,19 @@ export function ModuleFunction({ )} />
+ {execute.error || execute.data ? ( + { + execute.reset(); + }} + /> + ) : null}
); diff --git a/apps/explorer/src/components/module/module-functions-interaction/index.tsx b/apps/explorer/src/components/module/module-functions-interaction/index.tsx index 46ec3f7b1cde9..646cbaf6fdfd2 100644 --- a/apps/explorer/src/components/module/module-functions-interaction/index.tsx +++ b/apps/explorer/src/components/module/module-functions-interaction/index.tsx @@ -9,6 +9,7 @@ import type { ObjectId } from '@mysten/sui.js'; import { useNormalizedMoveModule } from '~/hooks/useNormalizedMoveModule'; import { Banner } from '~/ui/Banner'; +import { LoadingSpinner } from '~/ui/LoadingSpinner'; export type ModuleFunctionsInteractionProps = { packageId: ObjectId; @@ -32,22 +33,26 @@ export function ModuleFunctionsInteraction({ .filter(([_, anFn]) => anFn.is_entry) .map(([fnName, details]) => ({ name: fnName, details })); }, [normalizedModule]); - - if (error) { - return ( - - Error loading module {moduleName} details. - - ); - } - - if (!isLoading && !executableFunctions.length) { + const isEmpty = !isLoading && !executableFunctions.length && !error; + if (isEmpty || error || isLoading) { return ( - No public entry functions found. +
+ {error ? ( + + Error loading module {moduleName}{' '} + details. + + ) : isEmpty ? ( +
+ No public entry functions found. +
+ ) : ( + + )} +
); } - - return !isLoading && executableFunctions.length ? ( + return (
{executableFunctions.map(({ name, details }) => ( ))}
- ) : null; + ); } diff --git a/apps/explorer/src/components/top-validators-card/TopValidatorsCard.tsx b/apps/explorer/src/components/top-validators-card/TopValidatorsCard.tsx index 78336835ee601..662dfe1add90a 100644 --- a/apps/explorer/src/components/top-validators-card/TopValidatorsCard.tsx +++ b/apps/explorer/src/components/top-validators-card/TopValidatorsCard.tsx @@ -1,12 +1,18 @@ // Copyright (c) Mysten Labs, Inc. // SPDX-License-Identifier: Apache-2.0 -import { Base64DataBuffer, isSuiObject, isSuiMoveObject } from '@mysten/sui.js'; +import { + Base64DataBuffer, + isSuiObject, + isSuiMoveObject, + SUI_TYPE_ARG, +} from '@mysten/sui.js'; import BigNumber from 'bignumber.js'; import { useMemo } from 'react'; import { ReactComponent as ArrowRight } from '../../assets/SVGIcons/12px/ArrowRight.svg'; +import { useFormatCoin } from '~/hooks/useFormatCoin'; import { useGetObject } from '~/hooks/useGetObject'; import { Banner } from '~/ui/Banner'; import { AddressLink } from '~/ui/InternalLink'; @@ -18,10 +24,12 @@ import { Text } from '~/ui/Text'; const VALIDATORS_OBJECT_ID = '0x05'; const NUMBER_OF_VALIDATORS = 10; +const VALDIATOR_NAME = /^[A-Z-_.\s0-9]+$/i; + export type ValidatorMetadata = { type: '0x2::validator::ValidatorMetadata'; fields: { - name: string; + name: string | number[]; net_address: string; next_epoch_stake: number; pubkey_bytes: string; @@ -114,14 +122,15 @@ export type ValidatorState = { }; }; -function StakeColumn(prop: { stake: bigint; stakePercent: number }) { +function StakeColumn({ stake }: { stake: bigint }) { + const [amount, symbol] = useFormatCoin(stake, SUI_TYPE_ARG); return (
- {prop.stake.toString()} + {amount} - {prop.stakePercent.toFixed(2)}% + {symbol}
); @@ -129,14 +138,19 @@ function StakeColumn(prop: { stake: bigint; stakePercent: number }) { export function processValidators(set: Validator[], totalStake: bigint) { return set.map((av) => { + let name: string; const rawName = av.fields.metadata.fields.name; - const name = textDecoder.decode( - new Base64DataBuffer(rawName).getData() - ); + if (Array.isArray(rawName)) { + name = String.fromCharCode(...rawName); + } else { + name = textDecoder.decode(new Base64DataBuffer(rawName).getData()); + if (!VALDIATOR_NAME.test(name)) { + name = rawName; + } + } return { - name: name, + name, address: av.fields.metadata.fields.sui_address, - pubkeyBytes: av.fields.metadata.fields.pubkey_bytes, stake: av.fields.stake_amount, stakePercent: getStakePercent(av.fields.stake_amount, totalStake), delegation_count: av.fields.delegation_count || 0, @@ -172,12 +186,7 @@ const validatorsTable = (validatorsData: ValidatorState, limit?: number) => { {validator.name} ), - stake: ( - - ), + stake: , delegation: ( {validator.stake.toString()} @@ -251,7 +260,7 @@ export function TopValidatorsCard({ limit }: { limit?: number }) {
- More Validators{' '} + More Validators
diff --git a/apps/explorer/src/components/transaction-card/TxForID.tsx b/apps/explorer/src/components/transaction-card/TxForID.tsx index e3a645a6174e8..55498668ddbf9 100644 --- a/apps/explorer/src/components/transaction-card/TxForID.tsx +++ b/apps/explorer/src/components/transaction-card/TxForID.tsx @@ -74,8 +74,10 @@ function TxForIDStatic({ } function TxForIDAPI({ id, category }: { id: string; category: categoryType }) { - const [showData, setData] = - useState<{ data?: TxnData[]; loadState: string }>(DATATYPE_DEFAULT); + const [showData, setData] = useState<{ + data?: TxnData[]; + loadState: string; + }>(DATATYPE_DEFAULT); const [network] = useContext(NetworkContext); const rpc = useRpc(); useEffect(() => { diff --git a/apps/explorer/src/pages/object-result/ObjectResult.tsx b/apps/explorer/src/pages/object-result/ObjectResult.tsx index 4f6bfde058887..6b7125c61a9ce 100644 --- a/apps/explorer/src/pages/object-result/ObjectResult.tsx +++ b/apps/explorer/src/pages/object-result/ObjectResult.tsx @@ -19,6 +19,7 @@ import { import ObjectView from './views/ObjectView'; import { useRpc } from '~/hooks/useRpc'; +import { LoadingSpinner } from '~/ui/LoadingSpinner'; const DATATYPE_DEFAULT: DataType = { id: '', @@ -98,7 +99,9 @@ function ObjectResultAPI({ objID }: { objID: string }) { } if (showObjectState.loadState === 'pending') { return ( -
Please wait for results to load
+
+ +
); } if (showObjectState.loadState === 'fail') { diff --git a/apps/explorer/src/ui/Banner.tsx b/apps/explorer/src/ui/Banner.tsx index 197569bf52912..8d090b2e269bb 100644 --- a/apps/explorer/src/ui/Banner.tsx +++ b/apps/explorer/src/ui/Banner.tsx @@ -4,10 +4,11 @@ import { cva, type VariantProps } from 'class-variance-authority'; import { type ReactNode } from 'react'; +import { IconButton } from './IconButton'; import { ReactComponent as InfoIcon } from './icons/info.svg'; const bannerStyles = cva( - 'inline-flex items-center gap-2 text-p2 font-medium rounded-lg px-3 py-2', + 'inline-flex text-p2 font-medium rounded-lg overflow-hidden box-border gap-2 items-center flex-nowrap relative', { variants: { variant: { @@ -23,9 +24,14 @@ const bannerStyles = cva( fullWidth: { true: 'w-full', }, + spacing: { + md: 'px-3 py-2', + lg: 'p-5', + }, }, defaultVariants: { variant: 'message', + spacing: 'md', }, } ); @@ -33,6 +39,7 @@ const bannerStyles = cva( export interface BannerProps extends VariantProps { icon?: ReactNode | null; children: ReactNode; + onDismiss?: () => void; } export function Banner({ @@ -41,13 +48,32 @@ export function Banner({ variant, align, fullWidth, + spacing, + onDismiss, }: BannerProps) { return ( -
+
{icon && (
{icon}
)} - {children} +
{children}
+ {onDismiss ? ( +
+ +
+ ) : null}
); } diff --git a/apps/explorer/src/ui/Button.tsx b/apps/explorer/src/ui/Button.tsx index 3fd16e3e3f680..95ac7d9770f79 100644 --- a/apps/explorer/src/ui/Button.tsx +++ b/apps/explorer/src/ui/Button.tsx @@ -3,11 +3,12 @@ import { cva, type VariantProps } from 'class-variance-authority'; +import { LoadingSpinner } from './LoadingSpinner'; import { ButtonOrLink, type ButtonOrLinkProps } from './utils/ButtonOrLink'; const buttonStyles = cva( [ - 'inline-flex items-center justify-center', + 'inline-flex items-center justify-center relative', // TODO: Remove when CSS reset is applied. 'cursor-pointer no-underline', ], @@ -35,10 +36,33 @@ const buttonStyles = cva( export interface ButtonProps extends VariantProps, - ButtonOrLinkProps {} + ButtonOrLinkProps { + loading?: boolean; +} -export function Button({ variant, size, ...props }: ButtonProps) { +export function Button({ + variant, + size, + loading, + children, + ...props +}: ButtonProps) { return ( - + + {loading ? ( + <> +
+ +
+
{children}
+ + ) : ( + children + )} +
); } diff --git a/apps/explorer/src/ui/IconButton.tsx b/apps/explorer/src/ui/IconButton.tsx new file mode 100644 index 0000000000000..d860a4cae46ab --- /dev/null +++ b/apps/explorer/src/ui/IconButton.tsx @@ -0,0 +1,30 @@ +// Copyright (c) Mysten Labs, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { ReactComponent as CloseIcon } from './icons/x.svg'; +import { ButtonOrLink, type ButtonOrLinkProps } from './utils/ButtonOrLink'; + +import type { FC } from 'react'; + +type IconType = 'x'; +const iconTypeToIcon: Record = { + x: CloseIcon, +}; + +export interface IconButtonProps + extends Omit, + Required> { + icon: IconType; +} + +export function IconButton({ icon, ...props }: IconButtonProps) { + const IconComponent = iconTypeToIcon[icon]; + return ( + + + + ); +} diff --git a/apps/explorer/src/ui/Input.tsx b/apps/explorer/src/ui/Input.tsx index b3561702b6424..0758b97232f76 100644 --- a/apps/explorer/src/ui/Input.tsx +++ b/apps/explorer/src/ui/Input.tsx @@ -9,21 +9,19 @@ import type { ComponentProps } from 'react'; export interface InputProps extends Omit, 'ref' | 'className'> { - label?: string; + label: string; } export const Input = forwardRef( ({ label, ...inputProps }, ref) => { - const input = ( - + return ( + ); - if (label) { - return ; - } - return input; } ); diff --git a/apps/explorer/src/ui/LoadingSpinner.tsx b/apps/explorer/src/ui/LoadingSpinner.tsx new file mode 100644 index 0000000000000..0ca97198dd479 --- /dev/null +++ b/apps/explorer/src/ui/LoadingSpinner.tsx @@ -0,0 +1,21 @@ +// Copyright (c) Mysten Labs, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { ReactComponent as SpinnerSvg } from './icons/spinner.svg'; + +export interface LoadingSpinnerProps { + text?: string; +} + +export function LoadingSpinner({ text }: LoadingSpinnerProps) { + return ( +
+ + {text ? ( +
+ {text} +
+ ) : null} +
+ ); +} diff --git a/apps/explorer/src/ui/icons/spinner.svg b/apps/explorer/src/ui/icons/spinner.svg new file mode 100644 index 0000000000000..9cc0a5700b026 --- /dev/null +++ b/apps/explorer/src/ui/icons/spinner.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/explorer/src/ui/stories/Banner.stories.tsx b/apps/explorer/src/ui/stories/Banner.stories.tsx index 5aa6458dd1e7d..09ebaac12dd5f 100644 --- a/apps/explorer/src/ui/stories/Banner.stories.tsx +++ b/apps/explorer/src/ui/stories/Banner.stories.tsx @@ -8,6 +8,7 @@ import { ReactComponent as CheckIcon } from '../icons/check_12x12.svg'; export default { component: Banner, + args: { onDismiss: undefined }, } as Meta; export const Positive: StoryObj = { @@ -44,6 +45,13 @@ export const LongMessage: StoryObj = { }, }; +export const LongMessageDismissible: StoryObj = { + args: { + children: 'This is a very long message. '.repeat(20), + onDismiss: () => null, + }, +}; + export const CenteredFullWidth: StoryObj = { args: { fullWidth: true, @@ -66,3 +74,28 @@ export const NoIcon: StoryObj = { children: 'Message', }, }; + +export const Dismissible: StoryObj = { + args: { + fullWidth: false, + children: 'Message', + onDismiss: () => null, + }, +}; + +export const DismissibleFullWidth: StoryObj = { + args: { + fullWidth: true, + children: 'Message', + onDismiss: () => null, + }, +}; + +export const DismissibleCenteredFullWidth: StoryObj = { + args: { + fullWidth: true, + align: 'center', + children: 'Message', + onDismiss: () => null, + }, +}; diff --git a/apps/explorer/src/ui/stories/Button.stories.tsx b/apps/explorer/src/ui/stories/Button.stories.tsx index c9289f87dd9f5..b345344399ba4 100644 --- a/apps/explorer/src/ui/stories/Button.stories.tsx +++ b/apps/explorer/src/ui/stories/Button.stories.tsx @@ -55,3 +55,18 @@ export const Outline: StoryObj = { ...Primary, args: { variant: 'outline' }, }; + +export const PrimaryLoading: StoryObj = { + ...Primary, + args: { ...Primary.args, loading: true }, +}; + +export const SecondaryLoading: StoryObj = { + ...Secondary, + args: { ...Secondary.args, loading: true }, +}; + +export const OutlineLoading: StoryObj = { + ...Outline, + args: { ...Outline.args, loading: true }, +}; diff --git a/apps/explorer/src/ui/stories/IconButton.stories.tsx b/apps/explorer/src/ui/stories/IconButton.stories.tsx new file mode 100644 index 0000000000000..2c049a25b6356 --- /dev/null +++ b/apps/explorer/src/ui/stories/IconButton.stories.tsx @@ -0,0 +1,31 @@ +// Copyright (c) Mysten Labs, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { type StoryObj, type Meta } from '@storybook/react'; +import { MemoryRouter } from 'react-router-dom'; + +import { IconButton, type IconButtonProps } from '../IconButton'; + +export default { + component: IconButton, + decorators: [ + (Story) => ( + + + + ), + ], +} as Meta; + +export const CloseIcon: StoryObj = { + render: (props) => ( +
+ + + + alert('on click')} {...props} /> + +
+ ), + args: { icon: 'x' }, +}; diff --git a/apps/explorer/src/ui/stories/Input.stories.tsx b/apps/explorer/src/ui/stories/Input.stories.tsx index ff25df1303538..acc069a6f9ad2 100644 --- a/apps/explorer/src/ui/stories/Input.stories.tsx +++ b/apps/explorer/src/ui/stories/Input.stories.tsx @@ -10,7 +10,11 @@ export default { } as Meta; export const InputDefault: StoryObj = { - render: (props) => , + render: (props) => , + args: { + value: 'Test value', + label: 'Test label', + }, }; export const InputPlaceholder: StoryObj = { @@ -18,6 +22,7 @@ export const InputPlaceholder: StoryObj = { args: { value: undefined, placeholder: 'Test placeholder', + label: 'Input with placeholder', }, }; @@ -25,12 +30,6 @@ export const InputDisabled: StoryObj = { ...InputDefault, args: { disabled: true, - }, -}; - -export const InputWithLabel: StoryObj = { - ...InputDefault, - args: { - label: 'Test Label', + label: 'Disabled input', }, }; diff --git a/apps/explorer/src/ui/stories/LoadingSpinner.stories.tsx b/apps/explorer/src/ui/stories/LoadingSpinner.stories.tsx new file mode 100644 index 0000000000000..5e5d89e858e1d --- /dev/null +++ b/apps/explorer/src/ui/stories/LoadingSpinner.stories.tsx @@ -0,0 +1,21 @@ +// Copyright (c) Mysten Labs, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { LoadingSpinner, type LoadingSpinnerProps } from '../LoadingSpinner'; + +import type { Meta, StoryObj } from '@storybook/react'; + +export default { + component: LoadingSpinner, +} as Meta; + +export const LoadingSpinnerDefault: StoryObj = { + render: (props) => , +}; + +export const LoadingSpinnerWithText: StoryObj = { + ...LoadingSpinnerDefault, + args: { + text: 'Loading...', + }, +}; diff --git a/apps/explorer/tsconfig.json b/apps/explorer/tsconfig.json index 1d2287e6eef7a..70be1493160a1 100644 --- a/apps/explorer/tsconfig.json +++ b/apps/explorer/tsconfig.json @@ -21,26 +21,24 @@ "@mysten/sui.js": ["../../sdk/typescript/src/"], "@mysten/bcs": ["../../sdk/bcs/src/"], "@mysten/wallet-adapter-base": [ - "../../sdk/wallet-adapter/packages/adapters/base-adapter/src/" + "../../sdk/wallet-adapter/adapters/base-adapter/src/" ], "@mysten/wallet-standard": [ - "../../sdk/wallet-adapter/packages/wallet-standard/src/" + "../../sdk/wallet-adapter/wallet-standard/src/" ], "@mysten/wallet-adapter-all-wallets": [ - "../../sdk/wallet-adapter/packages/adapters/all-wallets/src/" + "../../sdk/wallet-adapter/adapters/all-wallets/src/" ], "@mysten/wallet-adapter-unsafe-burner": [ - "../../sdk/wallet-adapter/packages/adapters/unsafe-burner/src/" + "../../sdk/wallet-adapter/adapters/unsafe-burner/src/" ], "@mysten/wallet-adapter-wallet-standard": [ - "../../sdk/wallet-adapter/packages/adapters/wallet-standard-adapter/src/" + "../../sdk/wallet-adapter/adapters/wallet-standard-adapter/src/" ], "@mysten/wallet-adapter-react": [ - "../../sdk/wallet-adapter/packages/react-providers/src/" + "../../sdk/wallet-adapter/react-providers/src/" ], - "@mysten/wallet-kit": [ - "../../sdk/wallet-adapter/packages/wallet-kit/src/" - ] + "@mysten/wallet-kit": ["../../sdk/wallet-adapter/wallet-kit/src/"] } }, "include": ["src"] diff --git a/apps/explorer/vite.config.ts b/apps/explorer/vite.config.ts index 187b57b9dda02..3a1a344a98ec1 100644 --- a/apps/explorer/vite.config.ts +++ b/apps/explorer/vite.config.ts @@ -15,6 +15,7 @@ process.env.VITE_VERCEL_ENV = process.env.VERCEL_ENV; export default defineConfig({ plugins: [react(), svgr()], test: { + css: true, globals: true, environment: 'happy-dom', }, diff --git a/apps/wallet/.babelrc.json b/apps/wallet/.babelrc.json new file mode 100644 index 0000000000000..f530bcd339ac2 --- /dev/null +++ b/apps/wallet/.babelrc.json @@ -0,0 +1,14 @@ +{ + "sourceType": "unambiguous", + "presets": [ + [ + "@babel/preset-env", + { + "shippedProposals": true, + "loose": true + } + ], + "@babel/preset-typescript" + ], + "plugins": [] +} diff --git a/apps/wallet/.storybook/main.js b/apps/wallet/.storybook/main.js new file mode 100644 index 0000000000000..bba3d9e74c16f --- /dev/null +++ b/apps/wallet/.storybook/main.js @@ -0,0 +1,40 @@ +// Copyright (c) Mysten Labs, Inc. +// SPDX-License-Identifier: Apache-2.0 + +const { + default: getWebpackConfig, +} = require('../configs/webpack/webpack.config.dev.ts'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); + +module.exports = { + stories: ['../src/ui/**/*.mdx', '../src/ui/**/*.stories.@(js|jsx|ts|tsx)'], + addons: [ + '@storybook/addon-links', + '@storybook/addon-essentials', + '@storybook/addon-interactions', + ], + framework: { + name: '@storybook/react-webpack5', + options: {}, + }, + docs: { + docsPage: true, + }, + webpackFinal: async (config) => { + const custom = await getWebpackConfig(); + + config.plugins.push(new MiniCssExtractPlugin()); + config.resolve.alias = custom.resolve.alias; + + const cssRule = custom.module.rules.find((rule) => + rule.test.test('.css') + ); + + config.module.rules = [ + ...config.module.rules.filter((rule) => !rule.test.test('.css')), + cssRule, + ]; + + return config; + }, +}; diff --git a/apps/wallet/.storybook/manager.js b/apps/wallet/.storybook/manager.js new file mode 100644 index 0000000000000..7837bed817b79 --- /dev/null +++ b/apps/wallet/.storybook/manager.js @@ -0,0 +1,10 @@ +// Copyright (c) Mysten Labs, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { addons } from '@storybook/addons'; +import { themes } from '@storybook/theming'; + +// Force the theme to light, as our components do not suppor theming +addons.setConfig({ + theme: themes.light, +}); diff --git a/apps/wallet/.storybook/preview.js b/apps/wallet/.storybook/preview.js new file mode 100644 index 0000000000000..064fe016659ee --- /dev/null +++ b/apps/wallet/.storybook/preview.js @@ -0,0 +1,31 @@ +// Copyright (c) Mysten Labs, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import '../src/ui/styles/global.scss'; +import '@fontsource/inter/variable.css'; +import '@fontsource/red-hat-mono/variable.css'; +import '_font-icons/output/sui-icons.scss'; +import 'bootstrap-icons/font/bootstrap-icons.scss'; + +export const parameters = { + actions: { argTypesRegex: '^on[A-Z].*' }, + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/, + }, + }, + viewport: { + viewports: { + extension: { + name: 'Chrome Extension', + styles: { + height: '595px', + width: '360px', + }, + type: 'mobile', + }, + }, + defaultViewport: 'extension', + }, +}; diff --git a/apps/wallet/README.md b/apps/wallet/README.md index 91c553c966433..9a74242b97b16 100644 --- a/apps/wallet/README.md +++ b/apps/wallet/README.md @@ -18,12 +18,14 @@ Dependencies are managed using [`pnpm`](https://pnpm.io/). You can start by inst $ pnpm install ``` +> All `pnpm` commands are intended to be run in the root of the Sui repo. You can also run them within the `apps/wallet` directory, and remove change `pnpm wallet` to just `pnpm` when running commands. + ## Build in watch mode (dev) To build the extension and watch for changes run: ``` -pnpm start +pnpm wallet start ``` This will build the app in the [dist/](./dist/) directory, watch for changes and rebuild it. (Also runs prettier to format the files that changed.) @@ -33,7 +35,7 @@ This will build the app in the [dist/](./dist/) directory, watch for changes and To build the app once in development mode (no optimizations etc) run ``` -pnpm run build:dev +pnpm wallet build:dev ``` The output directory is the same [dist/](./dist/), all build artifacts will go there @@ -43,7 +45,7 @@ The output directory is the same [dist/](./dist/), all build artifacts will go t To build the app once in production mode run ``` -pnpm run build:prod +pnpm wallet build:prod ``` Same as above the output is [dist/](./dist/). @@ -55,5 +57,5 @@ After building the app, the extension needs to be installed to Chrome. Follow th ## Testing ``` -pnpm run test +pnpm wallet test ``` diff --git a/apps/wallet/configs/ts/tsconfig.common.json b/apps/wallet/configs/ts/tsconfig.common.json index a86ad7e4c1ed7..a4f22f32273fa 100644 --- a/apps/wallet/configs/ts/tsconfig.common.json +++ b/apps/wallet/configs/ts/tsconfig.common.json @@ -46,7 +46,7 @@ "@mysten/sui.js": ["../../sdk/typescript/src/"], "@mysten/bcs": ["../../sdk/bcs/src/"], "@mysten/wallet-standard": [ - "../../sdk/wallet-adapter/packages/wallet-standard/src/" + "../../sdk/wallet-adapter/wallet-standard/src/" ] } }, diff --git a/apps/wallet/package.json b/apps/wallet/package.json index 1ee8fcf9c6a2f..9d5a3b133fe18 100644 --- a/apps/wallet/package.json +++ b/apps/wallet/package.json @@ -20,7 +20,10 @@ "start": "concurrently --restart-tries 10 --raw \"pnpm:build:dev --watch\" \"pnpm:prettier:fix:watch\"", "test": "vitest", "make-font-icons": "svgtofont -s ./font-icons/svgs/ -o ./font-icons/output/", - "pack:zip": "web-ext build --source-dir ./dist --overwrite-dest" + "pack:zip": "web-ext build --source-dir ./dist --overwrite-dest", + "storybook": "storybook dev -p 6007", + "build-storybook": "storybook build", + "preview-storybook": "pnpm dlx serve ./storybook-static -l 6007" }, "repository": { "type": "git", @@ -36,14 +39,25 @@ "author": "Mysten Labs ", "license": "Apache-2.0", "devDependencies": { - "@sentry/react": "^7.22.0", - "@sentry/tracing": "^7.22.0", + "@babel/preset-env": "^7.20.2", + "@babel/preset-typescript": "^7.18.6", + "@sentry/react": "^7.24.2", + "@sentry/tracing": "^7.24.2", "@sentry/webpack-plugin": "^1.20.0", + "@storybook/addon-a11y": "7.0.0-beta.3", + "@storybook/addon-essentials": "7.0.0-beta.3", + "@storybook/addon-interactions": "^7.0.0-beta.3", + "@storybook/addon-links": "^7.0.0-beta.3", + "@storybook/addons": "7.0.0-beta.3", + "@storybook/blocks": "^7.0.0-beta.3", + "@storybook/react": "7.0.0-beta.3", + "@storybook/react-webpack5": "^7.0.0-beta.3", + "@storybook/theming": "7.0.0-beta.3", "@types/dotenv-webpack": "^7.0.3", "@types/git-rev-sync": "^2.0.0", - "@types/node": "^18.0.6", - "@types/react": "^18.0.20", - "@types/react-dom": "^18.0.6", + "@types/node": "^18.11.13", + "@types/react": "^18.0.26", + "@types/react-dom": "^18.0.9", "@types/semver": "^7.3.12", "@types/throttle-debounce": "^5.0.0", "@types/uuid": "^8.3.4", @@ -62,17 +76,18 @@ "eslint-config-react-app": "^7.0.1", "eslint-webpack-plugin": "^3.2.0", "git-rev-sync": "^3.0.2", - "happy-dom": "^7.6.0", + "happy-dom": "^8.1.0", "html-webpack-plugin": "^5.5.0", "mini-css-extract-plugin": "^2.6.1", "onchange": "^7.1.0", "plausible-tracker": "^0.3.0", - "postcss": "^8.4.6", - "postcss-loader": "^7.0.1", - "postcss-preset-env": "^7.7.2", - "prettier": "^2.7.1", + "postcss": "^8.4.19", + "postcss-loader": "^7.0.2", + "postcss-preset-env": "^7.8.3", + "prettier": "^2.8.1", "sass": "^1.53.0", "sass-loader": "^13.0.2", + "storybook": "7.0.0-beta.3", "stylelint": "^14.9.1", "stylelint-config-prettier-scss": "^0.0.1", "stylelint-config-standard-scss": "^5.0.0", @@ -80,10 +95,10 @@ "svgtofont": "^3.17.8", "ts-loader": "^9.3.1", "ts-node": "^10.9.1", - "tsconfig-paths": "^4.0.0", + "tsconfig-paths": "^4.1.1", "typescript": "^4.8.3", - "vite": "^3.2.4", - "vitest": "^0.22.1", + "vite": "^4.0.0", + "vitest": "^0.25.7", "web-ext": "^7.2.0", "webpack": "^5.73.0", "webpack-cli": "^4.10.0", @@ -103,15 +118,15 @@ "@reduxjs/toolkit": "^1.8.3", "@scure/bip32": "^1.1.0", "@scure/bip39": "^1.1.0", - "@tanstack/react-query": "^4.14.1", + "@tanstack/react-query": "^4.19.1", "bignumber.js": "^9.1.0", "bootstrap-icons": "^1.9.1", "buffer": "^6.0.3", "class-variance-authority": "^0.2.3", - "classnames": "^2.3.1", + "classnames": "^2.3.2", "eslint-plugin-react": "^7.31.8", "formik": "^2.2.9", - "framer-motion": "^7.5.1", + "framer-motion": "^7.6.19", "mitt": "^3.0.0", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -124,7 +139,7 @@ "rxjs": "^7.5.6", "semver": "^7.3.8", "stream-browserify": "^3.0.0", - "tailwindcss": "^3.0.23", + "tailwindcss": "^3.2.4", "throttle-debounce": "^5.0.0", "tweetnacl": "^1.0.3", "uuid": "^8.3.2", diff --git a/apps/wallet/src/ui/app/components/overlay/index.tsx b/apps/wallet/src/ui/app/components/overlay/index.tsx index e8f896840aec5..ce9c1cf0fa2bb 100644 --- a/apps/wallet/src/ui/app/components/overlay/index.tsx +++ b/apps/wallet/src/ui/app/components/overlay/index.tsx @@ -11,8 +11,7 @@ import type { ReactNode } from 'react'; import st from './Overlay.module.scss'; type OverlayProps = { - title: string; - className?: string; + title: ReactNode; children: ReactNode | ReactNode[]; showModal: boolean; closeOverlay?: () => void; @@ -22,7 +21,6 @@ type OverlayProps = { function Overlay({ title, - className, children, showModal, closeOverlay, @@ -41,8 +39,15 @@ function Overlay({ <> {showModal ? (
-
-
{title}
+
+
+ {title} +
{children}