diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 898752273..1acc7bb2d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -9,49 +9,34 @@ /hosting/static-website/ @dfinity/sdk /hosting/unity-webgl-template/ @dfinity/sdk -/motoko/actor_reference/ @dfinity/languages -/motoko/auth_client_demo/ @dfinity/sdk /motoko/basic_bitcoin/ @dfinity/execution /motoko/basic_dao/ @dfinity/languages -/motoko/calc/ @dfinity/languages /motoko/canister_logs/ @dfinity/execution /motoko/cert-var/ @dfinity/trust /motoko/classes/ @dfinity/languages /motoko/composite_query/ @dfinity/languages /motoko/counter/ @dfinity/languages -/motoko/defi/ @dfinity/networking -/motoko/dip721-nft-container/ @dfinity/languages -/motoko/echo/ @dfinity/languages -/motoko/encrypted-notes-dapp-vetkd/ @dfinity/dept-crypto-library -/motoko/encrypted-notes-dapp/ @dfinity/dept-crypto-library -/motoko/factorial/ @dfinity/languages -/motoko/hello-world/ @dfinity/languages -/motoko/hello/ @dfinity/languages +/motoko/encrypted-notes-dapp-vetkd/ @dfinity/crypto-team +/motoko/encrypted-notes-dapp/ @dfinity/crypto-team /motoko/hello_cycles/ @dfinity/languages /motoko/http_counter/ @dfinity/networking /motoko/ic-pos/ @dfinity/div-Crypto -/motoko/icp_transfer/ @dfinity/growth /motoko/icrc2-swap/ @dfinity/div-Crypto /motoko/internet_identity_integration/ @dfinity/gix -/motoko/ios-notifications/ @dfinity/trust /motoko/life/ @dfinity/languages /motoko/minimal-counter-dapp/ @dfinity/growth /motoko/parallel_calls/ @dfinity/languages -/motoko/persistent-storage/ @dfinity/growth -/motoko/phone-book/ @dfinity/growth /motoko/pub-sub/ @dfinity/growth /motoko/query_stats/ @dfinity/sdk -/motoko/quicksort/ @dfinity/growth /motoko/random_maze/ @dfinity/languages /motoko/send_http_get/ @dfinity/networking /motoko/send_http_post/ @dfinity/networking -/motoko/simple-to-do/ @dfinity/growth /motoko/superheroes/ @dfinity/growth -/motoko/threshold-ecdsa/ @dfinity/dept-crypto-library -/motoko/threshold-schnorr/ @dfinity/dept-crypto-library +/motoko/threshold-ecdsa/ @dfinity/crypto-team +/motoko/threshold-schnorr/ @dfinity/crypto-team /motoko/token_transfer/ @dfinity/growth /motoko/token_transfer_from/ @dfinity/growth -/motoko/vetkd/ @dfinity/dept-crypto-library +/motoko/vetkd/ @dfinity/crypto-team /motoko/whoami/ @dfinity/growth /native-apps/unity_ii_applink/ @dfinity/sdk @@ -67,8 +52,8 @@ /rust/counter/ @dfinity/growth /rust/defi/ @dfinity/div-Crypto /rust/dip721-nft-container/ @dfinity/sdk -/rust/encrypted-notes-dapp-vetkd/ @dfinity/dept-crypto-library -/rust/encrypted-notes-dapp/ @dfinity/dept-crypto-library +/rust/encrypted-notes-dapp-vetkd/ @dfinity/crypto-team +/rust/encrypted-notes-dapp/ @dfinity/crypto-team /rust/face-recognition/ @dfinity/execution /rust/guards/ @dfinity/cross-chain-team /rust/hello/ @dfinity/sdk @@ -84,11 +69,11 @@ /rust/send_http_get/ @dfinity/growth /rust/send_http_post/ @dfinity/growth /rust/simd/ @dfinity/execution -/rust/threshold-ecdsa/ @dfinity/dept-crypto-library -/rust/threshold-schnorr/ @dfinity/dept-crypto-library +/rust/threshold-ecdsa/ @dfinity/crypto-team +/rust/threshold-schnorr/ @dfinity/crypto-team /rust/token_transfer/ @dfinity/growth /rust/token_transfer_from/ @dfinity/growth -/rust/vetkd/ @dfinity/dept-crypto-library +/rust/vetkd/ @dfinity/crypto-team /svelte/svelte-motoko-starter/ @dfinity/sdk /svelte/svelte-starter/ @dfinity/sdk diff --git a/.github/workflows/motoko-actor_reference-example.yaml b/.github/workflows/motoko-actor_reference-example.yaml deleted file mode 100644 index 1d66ffab9..000000000 --- a/.github/workflows/motoko-actor_reference-example.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: motoko-actor-reference -on: - push: - branches: - - master - pull_request: - paths: - - motoko/actor_reference/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/motoko-actor_reference-example.yaml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-actor-reference-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v1 - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko Actor Reference Darwin - run: | - dfx start --background - pushd motoko/actor_reference - make test - popd - motoko-actor-reference-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v1 - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko Actor Reference Linux - run: | - dfx start --background - pushd motoko/actor_reference - make test - popd diff --git a/.github/workflows/motoko-calc-example.yaml b/.github/workflows/motoko-calc-example.yaml deleted file mode 100644 index 761d72095..000000000 --- a/.github/workflows/motoko-calc-example.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: motoko-calc -on: - push: - branches: - - master - pull_request: - paths: - - motoko/calc/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/motoko-calc-example.yaml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-calc-example-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v1 - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko Calc Darwin - run: | - dfx start --background - pushd motoko/calc - make test - popd - motoko-calc-example-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v1 - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko Calc Linux - run: | - dfx start --background - pushd motoko/calc - make test - popd diff --git a/.github/workflows/motoko-defi-example.yml b/.github/workflows/motoko-defi-example.yml deleted file mode 100644 index 9974d4d31..000000000 --- a/.github/workflows/motoko-defi-example.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: motoko-defi -on: - push: - branches: - - master - pull_request: - paths: - - motoko/defi/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/motoko-defi-example.yml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-defi-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko Defi Darwin - run: | - pushd motoko/defi - bash ./scripts/install.sh - bash ./test/demo.sh - bash ./test/trade.sh - bash ./test/transfer.sh - popd - motoko-defi-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko Defi Linux - run: | - pushd motoko/defi - bash ./scripts/install.sh - bash ./test/demo.sh - bash ./test/trade.sh - bash ./test/transfer.sh - popd diff --git a/.github/workflows/motoko-dip721-example.yml b/.github/workflows/motoko-dip721-example.yml deleted file mode 100644 index 55c739951..000000000 --- a/.github/workflows/motoko-dip721-example.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: motoko-dip721 -on: - push: - branches: - - master - pull_request: - paths: - - motoko/dip721-nft-container/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/motoko-dip721-example.yml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-dip721-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko DIP-721 Darwin - run: | - pushd motoko/dip721-nft-container - bash ./demo.sh - popd - motoko-dip721-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: recursive - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko DIP-721 Linux - run: | - pushd motoko/dip721-nft-container - bash ./demo.sh - popd diff --git a/.github/workflows/motoko-echo-example.yaml b/.github/workflows/motoko-echo-example.yaml deleted file mode 100644 index 3bd1a9fd2..000000000 --- a/.github/workflows/motoko-echo-example.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: motoko-echo -on: - push: - branches: - - master - pull_request: - paths: - - motoko/echo/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/motoko-echo-example.yaml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-echo-example-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v1 - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko Echo Darwin - run: | - dfx start --background - pushd motoko/echo - make test - popd - motoko-echo-example-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v1 - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko Echo Linux - run: | - dfx start --background - pushd motoko/echo - make test - popd diff --git a/.github/workflows/motoko-factorial-example.yaml b/.github/workflows/motoko-factorial-example.yaml deleted file mode 100644 index 69e3bd2c6..000000000 --- a/.github/workflows/motoko-factorial-example.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: motoko-factorial -on: - push: - branches: - - master - pull_request: - paths: - - motoko/factorial/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/motoko-factorial-example.yaml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-factorial-example-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v1 - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko Factorial Darwin - run: | - dfx start --background - pushd motoko/factorial - make test - popd - motoko-factorial-example-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v1 - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko Factorial Linux - run: | - dfx start --background - pushd motoko/factorial - make test - popd diff --git a/.github/workflows/motoko-hello-example.yml b/.github/workflows/motoko-hello-example.yml deleted file mode 100644 index 2d2cfbb1c..000000000 --- a/.github/workflows/motoko-hello-example.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: motoko-hello -on: - push: - branches: - - master - pull_request: - paths: - - motoko/hello/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/motoko-hello-example.yml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-hello-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v1 - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko Hello Darwin - run: | - dfx start --background - pushd motoko/hello - make test - popd - motoko-hello-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v1 - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko Hello Linux - run: | - dfx start --background - pushd motoko/hello - make test - popd \ No newline at end of file diff --git a/.github/workflows/motoko-hello-world-example.yaml b/.github/workflows/motoko-hello-world-example.yaml deleted file mode 100644 index 368f7b473..000000000 --- a/.github/workflows/motoko-hello-world-example.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: motoko-hello-world -on: - push: - branches: - - master - pull_request: - paths: - - motoko/hello-world/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/motoko-hello-world-example.yaml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-hello-world-example-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v1 - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko Hello World Darwin - run: | - dfx start --background - pushd motoko/hello-world - make test - popd - motoko-hello-world-example-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v1 - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko Hello World Linux - run: | - dfx start --background - pushd motoko/hello-world - make test - popd diff --git a/.github/workflows/motoko-icp-transfer-example.yml b/.github/workflows/motoko-icp-transfer-example.yml deleted file mode 100644 index 185b8dc5f..000000000 --- a/.github/workflows/motoko-icp-transfer-example.yml +++ /dev/null @@ -1,39 +0,0 @@ -# Known failure: https://dfinity.atlassian.net/browse/EM-5 -name: motoko-icp_transfer -on: - push: - branches: - - master - pull_request: - paths: - - motoko/icp_transfer/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/motoko-icp-transfer-example.yml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-icp_transfer-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v1 - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko Ledger Transfer Darwin - run: | - pushd motoko/icp_transfer - bash ./demo.sh - popd - motoko-icp_transfer-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v1 - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko Ledger Transfer Linux - run: | - pushd motoko/icp_transfer - bash ./demo.sh - popd diff --git a/.github/workflows/motoko-ios-notifications-example.yml b/.github/workflows/motoko-ios-notifications-example.yml deleted file mode 100644 index bf859ef66..000000000 --- a/.github/workflows/motoko-ios-notifications-example.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: motoko-ios-notifications -on: - push: - branches: - - master - pull_request: - paths: - - motoko/ios-notifications/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/ios-notifications-example.yml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-ios-notifications-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v1 - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko iOS Notifications Darwin - run: | - pushd motoko/ios-notifications/dapp-demo - make test - popd - motoko-ios-notifications-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v1 - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko iOS Notifications Linux - run: | - pushd motoko/ios-notifications/dapp-demo - make test - popd diff --git a/.github/workflows/motoko-persistent-storage-example.yaml b/.github/workflows/motoko-persistent-storage-example.yaml deleted file mode 100644 index 403c78358..000000000 --- a/.github/workflows/motoko-persistent-storage-example.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: motoko-persistent-storage -on: - push: - branches: - - master - pull_request: - paths: - - motoko/persistent-storage/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/motoko-persistent-storage-example.yaml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-persistent-storage-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v1 - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko Persistent Storage Darwin - run: | - dfx start --background - pushd motoko/persistent-storage - make test - popd - motoko-persistent-storage-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v1 - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko Persistent Storage Linux - run: | - dfx start --background - pushd motoko/persistent-storage - make test - popd diff --git a/.github/workflows/motoko-phone-book-example.yaml b/.github/workflows/motoko-phone-book-example.yaml deleted file mode 100644 index 46002b63b..000000000 --- a/.github/workflows/motoko-phone-book-example.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: motoko-phone-book -on: - push: - branches: - - master - pull_request: - paths: - - motoko/phone-book/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/motoko-phone-book-example.yaml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-phone-book-example-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v1 - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko Phone Book Darwin - run: | - dfx start --background - pushd motoko/phone-book - make test - popd - motoko-phone-book-example-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v1 - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko Phone Book Linux - run: | - dfx start --background - pushd motoko/phone-book - make test - popd diff --git a/.github/workflows/motoko-quicksort-example.yaml b/.github/workflows/motoko-quicksort-example.yaml deleted file mode 100644 index c447a49b3..000000000 --- a/.github/workflows/motoko-quicksort-example.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: motoko-quicksort -on: - push: - branches: - - master - pull_request: - paths: - - motoko/quicksort/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/motoko-quicksort-example.yaml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-quicksort-example-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v1 - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko Quicksort Darwin - run: | - dfx start --background - pushd motoko/quicksort - make test - popd - motoko-quicksort-example-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v1 - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko Quicksort Linux - run: | - dfx start --background - pushd motoko/quicksort - make test - popd diff --git a/.github/workflows/motoko-simple-to-do-example.yaml b/.github/workflows/motoko-simple-to-do-example.yaml deleted file mode 100644 index ddfbba987..000000000 --- a/.github/workflows/motoko-simple-to-do-example.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: motoko-simple-to-do -on: - push: - branches: - - master - pull_request: - paths: - - motoko/simple-to-do/** - - .github/workflows/provision-darwin.sh - - .github/workflows/provision-linux.sh - - .github/workflows/motoko-simple-to-do-example.yaml - - .ic-commit -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -jobs: - motoko-simple-to-do-example-darwin: - runs-on: macos-12 - steps: - - uses: actions/checkout@v1 - - name: Provision Darwin - run: bash .github/workflows/provision-darwin.sh - - name: Motoko Simple To-Do Darwin - run: | - dfx start --background - pushd motoko/simple-to-do - make test - popd - motoko-simple-to-do-example-linux: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v1 - - name: Provision Linux - run: bash .github/workflows/provision-linux.sh - - name: Motoko Simple To-Do Linux - run: | - dfx start --background - pushd motoko/simple-to-do - make test - popd diff --git a/.github/workflows/provision-darwin.sh b/.github/workflows/provision-darwin.sh index 9279b0eb2..8db740abf 100755 --- a/.github/workflows/provision-darwin.sh +++ b/.github/workflows/provision-darwin.sh @@ -18,7 +18,7 @@ rm node.pkg # Install DFINITY SDK. curl --location --output install-dfx.sh "https://raw.githubusercontent.com/dfinity/sdk/master/public/install-dfxvm.sh" -DFX_VERSION=${DFX_VERSION:=0.22.0} DFXVM_INIT_YES=true bash install-dfx.sh +DFX_VERSION=${DFX_VERSION:=0.23.0} DFXVM_INIT_YES=true bash install-dfx.sh rm install-dfx.sh echo "$HOME/Library/Application Support/org.dfinity.dfx/bin" >> $GITHUB_PATH source "$HOME/Library/Application Support/org.dfinity.dfx/env" diff --git a/.github/workflows/provision-linux.sh b/.github/workflows/provision-linux.sh index e422cbaa4..2b0b4851d 100755 --- a/.github/workflows/provision-linux.sh +++ b/.github/workflows/provision-linux.sh @@ -13,7 +13,7 @@ rm install-node.sh # Install DFINITY SDK. wget --output-document install-dfx.sh "https://raw.githubusercontent.com/dfinity/sdk/master/public/install-dfxvm.sh" -DFX_VERSION=${DFX_VERSION:=0.22.0} DFXVM_INIT_YES=true bash install-dfx.sh +DFX_VERSION=${DFX_VERSION:=0.23.0} DFXVM_INIT_YES=true bash install-dfx.sh rm install-dfx.sh echo "$HOME/.local/share/dfx/bin" >> $GITHUB_PATH source "$HOME/.local/share/dfx/env" diff --git a/.github/workflows/rust-basic-bitcoin-example-release.yml b/.github/workflows/rust-basic-bitcoin-example-release.yml new file mode 100644 index 000000000..4d534acb3 --- /dev/null +++ b/.github/workflows/rust-basic-bitcoin-example-release.yml @@ -0,0 +1,32 @@ +name: rust-basic-bitcoin-release +on: + push: + branches: + - master + pull_request: + paths: + - rust/basic_bitcoin/** + - .github/workflows/provision-linux.sh + - .github/workflows/rust-basic-bitcoin-example-release.yml + - .ic-commit +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +jobs: + rust-basic-bitcoin-linux: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v1 + - name: Provision Linux + run: bash .github/workflows/provision-linux.sh + - name: Rust Basic Bitcoin Linux + run: | + pushd rust/basic_bitcoin + bash src/basic_bitcoin/build.sh + cp target/wasm32-unknown-unknown/release/basic_bitcoin.wasm basic_bitcoin.wasm + gzip -9 basic_bitcoin.wasm + - uses: actions/upload-artifact@v4 + with: + name: "basic_bitcoin.wasm.gz" + path: "rust/basic_bitcoin/basic_bitcoin.wasm.gz" + compression-level: 0 diff --git a/README.md b/README.md index 50d9e5949..4df4c6ab1 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,64 @@ -## DFINITY Examples for the Internet Computer +# Internet Computer sample applications -This repository provides access to sample code, applications, and microservices that run on the Internet Computer platform. +Get started building on ICP with the sample applications in this repository. From this repository, you can deploy, download, clone, fork, or share sample projects. -From this repository, you can download, clone, fork, or share sample projects. +The projects in this repository are not intended to be used as commercial applications and do not provide any explicit or implied support or warranty of any kind. -You will also be able to contribute your own project or suggest updates to published projects using the standard Git work flow. +You can also contribute your own project or suggest updates to published projects using the standard GitHub workflow. -Sample projects provide a way for you to experiment and collaborate with other developers. -The projects and sample code are not, however, intended to be used as commercial applications and do not provide any explicit or implied support or warranty of any kind. +## Sample applications -To get started: +Code samples are organized by programming language: -1. Open a terminal shell on your local computer. +- [Motoko](https://github.com/dfinity/examples/tree/master/motoko) +- [Rust](https://github.com/dfinity/examples/tree/master/rust) +- [C](https://github.com/dfinity/examples/tree/master/c) -1. Download the DFINITY Canister SDK, if needed: +Some examples include frontends written in a variety of frameworks, such as React, JavaScript, etc. - ``` - sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)" - ``` +Additional frontend samples can be found in the following folders: -1. Select a language—for example, `c` or `motoko`—to explore the examples available in the language of your choice. +- [Svelte](https://github.com/dfinity/examples/tree/master/svelte) +- [HTML](https://github.com/dfinity/examples/tree/master/hosting) +- [Unity](https://github.com/dfinity/examples/tree/master/native-apps) -1. Clone the repository to download the `examples` repo to your local workspace. +## Deploying samples -1. Open the project folder for the example you want to use. +### GitHub Codespaces or Gitpod -1. Start a local internet computer replica by running the following command: +This repo can be opened in a web-based developer environment such as [GitHub Codespaces](https://github.com/codespaces) or [Gitpod](https://www.gitpod.io/), allowing you to edit and deploy the sample projects without downloading any tools or setting up a local environment. - ``` - dfx start - ``` +[Get started with GitHub codespaces](https://internetcomputer.org/docs/current/developer-docs/developer-tools/ide/codespaces). -1. Open a new terminal shell on your local computer. +[Get started with Gitpod](https://internetcomputer.org/docs/current/developer-docs/developer-tools/ide/gitpod). -1. Build the sample project by running the following command: +### Motoko Playground - ``` - dfx build - ``` +Motoko Playground is a web-based developer environment for Motoko projects. To use Motoko Playground, navigate to the [playground UI](https://m7sm4-2iaaa-aaaab-qabra-cai.ic0.app/) and select a template to get started, or start a new project. -## Security Considerations and Best Practices +### dfx -If you base your application on one of these examples, we recommend you familiarize yourself with and adhere to the [Security Best Practices](https://internetcomputer.org/docs/current/references/security/) for developing on the Internet Computer. The examples provided here may not implement all the best practices. +dfx is a command-line tool used to create, deploy. and manage projects on ICP. To download and use dfx with this examples repo, run the following commands locally (macOS/Linux systems): + +``` +git clone https://github.com/dfinity/examples.git +cd examples +sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)" +``` + +Then, navigate into the folder of the sample that you want to use and follow the project's README instructions to setup and deploy the sample code. + + +## Resources + +- [ICP Developer Docs](https://internetcomputer.org/docs/current/home) + +- [Overview of ICP](https://internetcomputer.org/docs/current/developer-docs/getting-started/overview-of-icp) + +- [Installing dfx](https://internetcomputer.org/docs/current/developer-docs/getting-started/install/) + +- [Developer tools](https://internetcomputer.org/docs/current/developer-docs/developer-tools/dev-tools-overview) + +## Security considerations and best practices + +If you base your application on one of these examples, we recommend you familiarize yourself with and adhere to the [security best practices](https://internetcomputer.org/docs/current/references/security/) for developing on the Internet Computer. The examples provided here may not implement all the best practices. diff --git a/archive/README.md b/archive/README.md new file mode 100644 index 000000000..28c0a436d --- /dev/null +++ b/archive/README.md @@ -0,0 +1,3 @@ +# Archived examples + +The examples in this folder are archived and will no longer be maintained. \ No newline at end of file diff --git a/motoko/actor_reference/Makefile b/archive/motoko/actor_reference/Makefile similarity index 100% rename from motoko/actor_reference/Makefile rename to archive/motoko/actor_reference/Makefile diff --git a/motoko/actor_reference/README.md b/archive/motoko/actor_reference/README.md similarity index 100% rename from motoko/actor_reference/README.md rename to archive/motoko/actor_reference/README.md diff --git a/motoko/actor_reference/dfx.json b/archive/motoko/actor_reference/dfx.json similarity index 100% rename from motoko/actor_reference/dfx.json rename to archive/motoko/actor_reference/dfx.json diff --git a/motoko/actor_reference/src/actor_reference/main.mo b/archive/motoko/actor_reference/src/actor_reference/main.mo similarity index 100% rename from motoko/actor_reference/src/actor_reference/main.mo rename to archive/motoko/actor_reference/src/actor_reference/main.mo diff --git a/motoko/auth_client_demo/.github/workflows/release.yml b/archive/motoko/auth_client_demo/.github/workflows/release.yml similarity index 100% rename from motoko/auth_client_demo/.github/workflows/release.yml rename to archive/motoko/auth_client_demo/.github/workflows/release.yml diff --git a/motoko/auth_client_demo/.gitignore b/archive/motoko/auth_client_demo/.gitignore similarity index 100% rename from motoko/auth_client_demo/.gitignore rename to archive/motoko/auth_client_demo/.gitignore diff --git a/motoko/auth_client_demo/README.md b/archive/motoko/auth_client_demo/README.md similarity index 100% rename from motoko/auth_client_demo/README.md rename to archive/motoko/auth_client_demo/README.md diff --git a/motoko/auth_client_demo/canister_ids.json b/archive/motoko/auth_client_demo/canister_ids.json similarity index 100% rename from motoko/auth_client_demo/canister_ids.json rename to archive/motoko/auth_client_demo/canister_ids.json diff --git a/motoko/auth_client_demo/deps/candid/rdmx6-jaaaa-aaaaa-aaadq-cai.did b/archive/motoko/auth_client_demo/deps/candid/rdmx6-jaaaa-aaaaa-aaadq-cai.did similarity index 100% rename from motoko/auth_client_demo/deps/candid/rdmx6-jaaaa-aaaaa-aaadq-cai.did rename to archive/motoko/auth_client_demo/deps/candid/rdmx6-jaaaa-aaaaa-aaadq-cai.did diff --git a/motoko/auth_client_demo/deps/init.json b/archive/motoko/auth_client_demo/deps/init.json similarity index 100% rename from motoko/auth_client_demo/deps/init.json rename to archive/motoko/auth_client_demo/deps/init.json diff --git a/motoko/auth_client_demo/deps/pulled.json b/archive/motoko/auth_client_demo/deps/pulled.json similarity index 100% rename from motoko/auth_client_demo/deps/pulled.json rename to archive/motoko/auth_client_demo/deps/pulled.json diff --git a/motoko/auth_client_demo/dfinity-auth-client-0.15.1.tgz b/archive/motoko/auth_client_demo/dfinity-auth-client-0.15.1.tgz similarity index 100% rename from motoko/auth_client_demo/dfinity-auth-client-0.15.1.tgz rename to archive/motoko/auth_client_demo/dfinity-auth-client-0.15.1.tgz diff --git a/motoko/auth_client_demo/dfx.json b/archive/motoko/auth_client_demo/dfx.json similarity index 100% rename from motoko/auth_client_demo/dfx.json rename to archive/motoko/auth_client_demo/dfx.json diff --git a/motoko/auth_client_demo/meta.json b/archive/motoko/auth_client_demo/meta.json similarity index 100% rename from motoko/auth_client_demo/meta.json rename to archive/motoko/auth_client_demo/meta.json diff --git a/motoko/auth_client_demo/package-lock.json b/archive/motoko/auth_client_demo/package-lock.json similarity index 100% rename from motoko/auth_client_demo/package-lock.json rename to archive/motoko/auth_client_demo/package-lock.json diff --git a/motoko/auth_client_demo/package.json b/archive/motoko/auth_client_demo/package.json similarity index 100% rename from motoko/auth_client_demo/package.json rename to archive/motoko/auth_client_demo/package.json diff --git a/motoko/auth_client_demo/release.mjs b/archive/motoko/auth_client_demo/release.mjs similarity index 100% rename from motoko/auth_client_demo/release.mjs rename to archive/motoko/auth_client_demo/release.mjs diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/react/App.jsx b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/App.jsx similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/react/App.jsx rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/App.jsx diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/react/LoggedIn.jsx b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/LoggedIn.jsx similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/react/LoggedIn.jsx rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/LoggedIn.jsx diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/react/LoggedOut.jsx b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/LoggedOut.jsx similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/react/LoggedOut.jsx rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/LoggedOut.jsx diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/react/assets/main.css b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/assets/main.css similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/react/assets/main.css rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/assets/main.css diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/react/index.html b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/index.html similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/react/index.html rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/index.html diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/react/index.jsx b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/index.jsx similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/react/index.jsx rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/index.jsx diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/react/use-auth-client.jsx b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/use-auth-client.jsx similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/react/use-auth-client.jsx rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/react/use-auth-client.jsx diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/.gitignore b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/.gitignore similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/.gitignore rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/.gitignore diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/.npmrc b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/.npmrc similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/.npmrc rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/.npmrc diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/README.md b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/README.md similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/README.md rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/README.md diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/jsconfig.json b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/jsconfig.json similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/jsconfig.json rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/jsconfig.json diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/package-lock.json b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/package-lock.json similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/package-lock.json rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/package-lock.json diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/package.json b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/package.json similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/package.json rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/package.json diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/app.d.ts b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/app.d.ts similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/app.d.ts rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/app.d.ts diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/app.html b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/app.html similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/app.html rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/app.html diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/components/LoggedIn.svelte b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/components/LoggedIn.svelte similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/components/LoggedIn.svelte rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/components/LoggedIn.svelte diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/components/LoggedOut.svelte b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/components/LoggedOut.svelte similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/components/LoggedOut.svelte rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/components/LoggedOut.svelte diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/routes/+page.svelte b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/routes/+page.svelte similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/routes/+page.svelte rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/routes/+page.svelte diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/stores/auth.js b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/stores/auth.js similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/stores/auth.js rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/src/stores/auth.js diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/static/favicon.png b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/static/favicon.png similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/static/favicon.png rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/static/favicon.png diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/static/main.css b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/static/main.css similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/static/main.css rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/static/main.css diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/svelte.config.js b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/svelte.config.js similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/svelte.config.js rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/svelte.config.js diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/vite.config.js b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/vite.config.js similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/svelte/vite.config.js rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/svelte/vite.config.js diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/assets/main.css b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/assets/main.css similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/assets/main.css rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/assets/main.css diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/index.html b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/index.html similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/index.html rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/index.html diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/index.ts b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/index.ts similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/index.ts rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/index.ts diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/views/index.ts b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/views/index.ts similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/views/index.ts rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/views/index.ts diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/views/loggedIn.ts b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/views/loggedIn.ts similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/views/loggedIn.ts rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/vanilla/views/loggedIn.ts diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/vue/App.vue b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/App.vue similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/vue/App.vue rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/App.vue diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/vue/assets/favicon.ico b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/assets/favicon.ico similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/vue/assets/favicon.ico rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/assets/favicon.ico diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/vue/assets/main.css b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/assets/main.css similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/vue/assets/main.css rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/assets/main.css diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/vue/components/LoggedIn.vue b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/components/LoggedIn.vue similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/vue/components/LoggedIn.vue rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/components/LoggedIn.vue diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/vue/components/LoggedOut.vue b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/components/LoggedOut.vue similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/vue/components/LoggedOut.vue rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/components/LoggedOut.vue diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/vue/index.html b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/index.html similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/vue/index.html rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/index.html diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/vue/main.js b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/main.js similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/vue/main.js rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/main.js diff --git a/motoko/auth_client_demo/src/auth_client_demo_assets/vue/store/auth.js b/archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/store/auth.js similarity index 100% rename from motoko/auth_client_demo/src/auth_client_demo_assets/vue/store/auth.js rename to archive/motoko/auth_client_demo/src/auth_client_demo_assets/vue/store/auth.js diff --git a/motoko/auth_client_demo/src/whoami/main.mo b/archive/motoko/auth_client_demo/src/whoami/main.mo similarity index 100% rename from motoko/auth_client_demo/src/whoami/main.mo rename to archive/motoko/auth_client_demo/src/whoami/main.mo diff --git a/motoko/auth_client_demo/svelte.config.js b/archive/motoko/auth_client_demo/svelte.config.js similarity index 100% rename from motoko/auth_client_demo/svelte.config.js rename to archive/motoko/auth_client_demo/svelte.config.js diff --git a/motoko/auth_client_demo/tsconfig.json b/archive/motoko/auth_client_demo/tsconfig.json similarity index 100% rename from motoko/auth_client_demo/tsconfig.json rename to archive/motoko/auth_client_demo/tsconfig.json diff --git a/motoko/auth_client_demo/vite.config.js b/archive/motoko/auth_client_demo/vite.config.js similarity index 100% rename from motoko/auth_client_demo/vite.config.js rename to archive/motoko/auth_client_demo/vite.config.js diff --git a/motoko/auth_client_demo/vite.config.react.js b/archive/motoko/auth_client_demo/vite.config.react.js similarity index 100% rename from motoko/auth_client_demo/vite.config.react.js rename to archive/motoko/auth_client_demo/vite.config.react.js diff --git a/motoko/auth_client_demo/vite.config.vue.js b/archive/motoko/auth_client_demo/vite.config.vue.js similarity index 100% rename from motoko/auth_client_demo/vite.config.vue.js rename to archive/motoko/auth_client_demo/vite.config.vue.js diff --git a/motoko/calc/Makefile b/archive/motoko/calc/Makefile similarity index 100% rename from motoko/calc/Makefile rename to archive/motoko/calc/Makefile diff --git a/motoko/calc/README.md b/archive/motoko/calc/README.md similarity index 100% rename from motoko/calc/README.md rename to archive/motoko/calc/README.md diff --git a/motoko/calc/dfx.json b/archive/motoko/calc/dfx.json similarity index 100% rename from motoko/calc/dfx.json rename to archive/motoko/calc/dfx.json diff --git a/motoko/calc/src/Main.mo b/archive/motoko/calc/src/Main.mo similarity index 100% rename from motoko/calc/src/Main.mo rename to archive/motoko/calc/src/Main.mo diff --git a/motoko/defi/.gitignore b/archive/motoko/defi/.gitignore similarity index 100% rename from motoko/defi/.gitignore rename to archive/motoko/defi/.gitignore diff --git a/motoko/defi/.gitmodules b/archive/motoko/defi/.gitmodules similarity index 100% rename from motoko/defi/.gitmodules rename to archive/motoko/defi/.gitmodules diff --git a/motoko/defi/Makefile b/archive/motoko/defi/Makefile similarity index 100% rename from motoko/defi/Makefile rename to archive/motoko/defi/Makefile diff --git a/motoko/defi/README.md b/archive/motoko/defi/README.md similarity index 94% rename from motoko/defi/README.md rename to archive/motoko/defi/README.md index 1248f4967..02d559f59 100644 --- a/motoko/defi/README.md +++ b/archive/motoko/defi/README.md @@ -14,7 +14,7 @@ The sample exchange is implemented in [Motoko](https://github.com/dfinity/exampl ## Architecture -The design of the IC allows for more complex on-chain computation. In combination with cheap storage, it is possible to have on-chain order books. This sample code takes advantage of these features and stores user balances and orders inside the exchange canister. The sample exchange functionality can be condensed into the following steps: +The design of the IC allows for more complex onchain computation. In combination with cheap storage, it is possible to have onchain order books. This sample code takes advantage of these features and stores user balances and orders inside the exchange canister. The sample exchange functionality can be condensed into the following steps: - Exchange takes custody of funds (different mechanism for tokens and ICP, see below). @@ -78,7 +78,7 @@ There are a number of token standards in development (e.g. IS20, DFT, and DRC20) ### Placing orders -After depositing funds to the exchange, the user can place orders. An order consists of two tuples. `from: (Token1, amount1)` and `to: (Token2, amount2)`. These orders get added to the exchange. What happens to these orders is specific to the exchange implementation. This sample provides a simple exchange that only executes exactly matching orders. Be aware this is just a toy exchange, and the exchange functionality is just for completeness. +After depositing funds to the exchange, the user can place orders. An order consists of two tuples. `from: (Token1, amount1)` and `to: (Token2, amount2)`. These orders get added to the exchange. What happens to these orders is specific to the exchange implementation. This sample provides a simple exchange that only executes exactly matching orders. Be aware this is just a toy exchange, and the exchange functionality is just for completeness. ### Withdrawing funds @@ -112,7 +112,7 @@ or you can regenerate the URL `http://127.0.0.1:4943?canisterId=$(dfx canister i ### Step 2: To interact with the exchange, you can create a local Internet Identity by clicking the login button. -This sample project uses a local test version of Internet Identity. Do not use your mainnet Internet Identity, and this testnet Internet Identity will not work on the mainnet. +This sample project uses a local test version of Internet Identity. Do not use your mainnet Internet Identity, and this testnet Internet Identity will not work on the mainnet. ### Step 3: When prompted, select **Create Internet Identity**. @@ -130,7 +130,7 @@ This sample project uses a local test version of Internet Identity. Do not use y `make init-local II_PRINCIPAL=` -### Step 10: Refresh the web browser to verify that your tokens were deposited. +### Step 10: Refresh the web browser to verify that your tokens were deposited. To trade tokens with yourself, you can open a second incognito browser window. diff --git a/motoko/defi/architecture.md b/archive/motoko/defi/architecture.md similarity index 91% rename from motoko/defi/architecture.md rename to archive/motoko/defi/architecture.md index 8752cf9c7..b35d38236 100644 --- a/motoko/defi/architecture.md +++ b/archive/motoko/defi/architecture.md @@ -4,7 +4,7 @@ To enable DEFI application on the IC, canisters need to interact with token cani ## Architecture -The design of the IC allows for more complex on-chain computation. In combination with cheap storage, it is possible to have on-chain order books. This example takes advantage of these features and stores user balances and orders inside the exchange canister. The example exchange functionality can be condensed into the following steps: +The design of the IC allows for more complex onchain computation. In combination with cheap storage, it is possible to have onchain order books. This example takes advantage of these features and stores user balances and orders inside the exchange canister. The example exchange functionality can be condensed into the following steps: 1. Exchange takes custody of funds (different mechanism for tokens and ICP, see below). 2. Exchange updates internal balance book. @@ -13,7 +13,7 @@ The design of the IC allows for more complex on-chain computation. In combinatio ### Interface -Request user-specific ledger account identifier from the exchange. This unique account identifier represents a user-specific subaccount in the exchange's ledger account, allowing it to differentiate between user deposits. +Request user-specific ledger account identifier from the exchange. This unique account identifier represents a user-specific subaccount in the exchange's ledger account, allowing it to differentiate between user deposits. ``` getDepositAddress: () -> (blob); ``` @@ -25,7 +25,7 @@ Withdraw request to the exchange. The exchange will send funds back to the user ``` withdraw: (Token, nat, principal) -> (WithdrawReceipt); ``` -Place new order to exchange. If the order matches an existing order, it will get executed. +Place new order to exchange. If the order matches an existing order, it will get executed. ``` placeOrder: (Token, nat, Token, nat) -> (OrderPlacementReceipt); ``` @@ -72,5 +72,5 @@ Compared to depositing funds, withdrawing funds is simpler. Since the exchange h ## Common mistakes - **Concurrent execution**: If canister functions have `await` statements, it is possible that execution is interleaved. To avoid bugs, it is necessary to carefully consider the placement of data structure updates to prevent double-spend attacks. -- **Floating Points**: More advanced exchanges should take care of floating points and make sure to limit decimals. +- **Floating Points**: More advanced exchanges should take care of floating points and make sure to limit decimals. - **No panics after await**: When a panic happens, the state gets rolled back. This can cause issues with the correctness of the exchange. diff --git a/motoko/defi/dfx.json b/archive/motoko/defi/dfx.json similarity index 100% rename from motoko/defi/dfx.json rename to archive/motoko/defi/dfx.json diff --git a/motoko/defi/scripts/deploy_dip20.sh b/archive/motoko/defi/scripts/deploy_dip20.sh similarity index 100% rename from motoko/defi/scripts/deploy_dip20.sh rename to archive/motoko/defi/scripts/deploy_dip20.sh diff --git a/motoko/defi/scripts/initalize_local_balance.sh b/archive/motoko/defi/scripts/initalize_local_balance.sh similarity index 100% rename from motoko/defi/scripts/initalize_local_balance.sh rename to archive/motoko/defi/scripts/initalize_local_balance.sh diff --git a/motoko/defi/scripts/install.sh b/archive/motoko/defi/scripts/install.sh similarity index 100% rename from motoko/defi/scripts/install.sh rename to archive/motoko/defi/scripts/install.sh diff --git a/motoko/defi/scripts/principal_to_default_account_id.py b/archive/motoko/defi/scripts/principal_to_default_account_id.py similarity index 100% rename from motoko/defi/scripts/principal_to_default_account_id.py rename to archive/motoko/defi/scripts/principal_to_default_account_id.py diff --git a/motoko/defi/src/defi_dapp/Account.mo b/archive/motoko/defi/src/defi_dapp/Account.mo similarity index 100% rename from motoko/defi/src/defi_dapp/Account.mo rename to archive/motoko/defi/src/defi_dapp/Account.mo diff --git a/motoko/defi/src/defi_dapp/CRC32.mo b/archive/motoko/defi/src/defi_dapp/CRC32.mo similarity index 100% rename from motoko/defi/src/defi_dapp/CRC32.mo rename to archive/motoko/defi/src/defi_dapp/CRC32.mo diff --git a/motoko/defi/src/defi_dapp/SHA224.mo b/archive/motoko/defi/src/defi_dapp/SHA224.mo similarity index 100% rename from motoko/defi/src/defi_dapp/SHA224.mo rename to archive/motoko/defi/src/defi_dapp/SHA224.mo diff --git a/motoko/defi/src/defi_dapp/book.mo b/archive/motoko/defi/src/defi_dapp/book.mo similarity index 100% rename from motoko/defi/src/defi_dapp/book.mo rename to archive/motoko/defi/src/defi_dapp/book.mo diff --git a/motoko/defi/src/defi_dapp/exchange.mo b/archive/motoko/defi/src/defi_dapp/exchange.mo similarity index 100% rename from motoko/defi/src/defi_dapp/exchange.mo rename to archive/motoko/defi/src/defi_dapp/exchange.mo diff --git a/motoko/defi/src/defi_dapp/main.mo b/archive/motoko/defi/src/defi_dapp/main.mo similarity index 100% rename from motoko/defi/src/defi_dapp/main.mo rename to archive/motoko/defi/src/defi_dapp/main.mo diff --git a/motoko/defi/src/defi_dapp/types.mo b/archive/motoko/defi/src/defi_dapp/types.mo similarity index 100% rename from motoko/defi/src/defi_dapp/types.mo rename to archive/motoko/defi/src/defi_dapp/types.mo diff --git a/motoko/defi/src/frontend/README.md b/archive/motoko/defi/src/frontend/README.md similarity index 100% rename from motoko/defi/src/frontend/README.md rename to archive/motoko/defi/src/frontend/README.md diff --git a/motoko/defi/src/frontend/package-lock.json b/archive/motoko/defi/src/frontend/package-lock.json similarity index 100% rename from motoko/defi/src/frontend/package-lock.json rename to archive/motoko/defi/src/frontend/package-lock.json diff --git a/motoko/defi/src/frontend/package.json b/archive/motoko/defi/src/frontend/package.json similarity index 100% rename from motoko/defi/src/frontend/package.json rename to archive/motoko/defi/src/frontend/package.json diff --git a/motoko/defi/src/frontend/rollup.config.js b/archive/motoko/defi/src/frontend/rollup.config.js similarity index 100% rename from motoko/defi/src/frontend/rollup.config.js rename to archive/motoko/defi/src/frontend/rollup.config.js diff --git a/motoko/defi/src/frontend/src/App.svelte b/archive/motoko/defi/src/frontend/src/App.svelte similarity index 100% rename from motoko/defi/src/frontend/src/App.svelte rename to archive/motoko/defi/src/frontend/src/App.svelte diff --git a/motoko/defi/src/frontend/src/components/Auth.svelte b/archive/motoko/defi/src/frontend/src/components/Auth.svelte similarity index 100% rename from motoko/defi/src/frontend/src/components/Auth.svelte rename to archive/motoko/defi/src/frontend/src/components/Auth.svelte diff --git a/motoko/defi/src/frontend/src/components/BalanceInfo.svelte b/archive/motoko/defi/src/frontend/src/components/BalanceInfo.svelte similarity index 100% rename from motoko/defi/src/frontend/src/components/BalanceInfo.svelte rename to archive/motoko/defi/src/frontend/src/components/BalanceInfo.svelte diff --git a/motoko/defi/src/frontend/src/components/CanisterIds.svelte b/archive/motoko/defi/src/frontend/src/components/CanisterIds.svelte similarity index 100% rename from motoko/defi/src/frontend/src/components/CanisterIds.svelte rename to archive/motoko/defi/src/frontend/src/components/CanisterIds.svelte diff --git a/motoko/defi/src/frontend/src/components/Links.svelte b/archive/motoko/defi/src/frontend/src/components/Links.svelte similarity index 100% rename from motoko/defi/src/frontend/src/components/Links.svelte rename to archive/motoko/defi/src/frontend/src/components/Links.svelte diff --git a/motoko/defi/src/frontend/src/components/Nav.svelte b/archive/motoko/defi/src/frontend/src/components/Nav.svelte similarity index 100% rename from motoko/defi/src/frontend/src/components/Nav.svelte rename to archive/motoko/defi/src/frontend/src/components/Nav.svelte diff --git a/motoko/defi/src/frontend/src/components/Orders.svelte b/archive/motoko/defi/src/frontend/src/components/Orders.svelte similarity index 100% rename from motoko/defi/src/frontend/src/components/Orders.svelte rename to archive/motoko/defi/src/frontend/src/components/Orders.svelte diff --git a/motoko/defi/src/frontend/src/main.js b/archive/motoko/defi/src/frontend/src/main.js similarity index 100% rename from motoko/defi/src/frontend/src/main.js rename to archive/motoko/defi/src/frontend/src/main.js diff --git a/motoko/defi/src/frontend/src/store/auth.js b/archive/motoko/defi/src/frontend/src/store/auth.js similarity index 100% rename from motoko/defi/src/frontend/src/store/auth.js rename to archive/motoko/defi/src/frontend/src/store/auth.js diff --git a/motoko/defi/src/frontend/src/store/order.js b/archive/motoko/defi/src/frontend/src/store/order.js similarity index 100% rename from motoko/defi/src/frontend/src/store/order.js rename to archive/motoko/defi/src/frontend/src/store/order.js diff --git a/motoko/defi/src/frontend/src/store/store.js b/archive/motoko/defi/src/frontend/src/store/store.js similarity index 100% rename from motoko/defi/src/frontend/src/store/store.js rename to archive/motoko/defi/src/frontend/src/store/store.js diff --git a/motoko/defi/src/frontend/src/utils/helpers.js b/archive/motoko/defi/src/frontend/src/utils/helpers.js similarity index 100% rename from motoko/defi/src/frontend/src/utils/helpers.js rename to archive/motoko/defi/src/frontend/src/utils/helpers.js diff --git a/motoko/defi/src/frontend_assets/favicon.png b/archive/motoko/defi/src/frontend_assets/favicon.png similarity index 100% rename from motoko/defi/src/frontend_assets/favicon.png rename to archive/motoko/defi/src/frontend_assets/favicon.png diff --git a/motoko/defi/src/frontend_assets/global.css b/archive/motoko/defi/src/frontend_assets/global.css similarity index 100% rename from motoko/defi/src/frontend_assets/global.css rename to archive/motoko/defi/src/frontend_assets/global.css diff --git a/motoko/defi/src/frontend_assets/images/dfinity.svg b/archive/motoko/defi/src/frontend_assets/images/dfinity.svg similarity index 100% rename from motoko/defi/src/frontend_assets/images/dfinity.svg rename to archive/motoko/defi/src/frontend_assets/images/dfinity.svg diff --git a/motoko/defi/src/frontend_assets/images/ic-badge.png b/archive/motoko/defi/src/frontend_assets/images/ic-badge.png similarity index 100% rename from motoko/defi/src/frontend_assets/images/ic-badge.png rename to archive/motoko/defi/src/frontend_assets/images/ic-badge.png diff --git a/motoko/defi/src/frontend_assets/images/plug_logo.png b/archive/motoko/defi/src/frontend_assets/images/plug_logo.png similarity index 100% rename from motoko/defi/src/frontend_assets/images/plug_logo.png rename to archive/motoko/defi/src/frontend_assets/images/plug_logo.png diff --git a/motoko/defi/src/frontend_assets/index.html b/archive/motoko/defi/src/frontend_assets/index.html similarity index 100% rename from motoko/defi/src/frontend_assets/index.html rename to archive/motoko/defi/src/frontend_assets/index.html diff --git a/motoko/defi/src/ledger/ledger.did b/archive/motoko/defi/src/ledger/ledger.did similarity index 100% rename from motoko/defi/src/ledger/ledger.did rename to archive/motoko/defi/src/ledger/ledger.did diff --git a/motoko/defi/src/ledger/ledger.private.did b/archive/motoko/defi/src/ledger/ledger.private.did similarity index 100% rename from motoko/defi/src/ledger/ledger.private.did rename to archive/motoko/defi/src/ledger/ledger.private.did diff --git a/motoko/defi/src/ledger/ledger.public.did b/archive/motoko/defi/src/ledger/ledger.public.did similarity index 100% rename from motoko/defi/src/ledger/ledger.public.did rename to archive/motoko/defi/src/ledger/ledger.public.did diff --git a/motoko/defi/src/ledger/ledger.wasm b/archive/motoko/defi/src/ledger/ledger.wasm similarity index 100% rename from motoko/defi/src/ledger/ledger.wasm rename to archive/motoko/defi/src/ledger/ledger.wasm diff --git a/motoko/defi/src/ledger/ledger/index.d.ts b/archive/motoko/defi/src/ledger/ledger/index.d.ts similarity index 100% rename from motoko/defi/src/ledger/ledger/index.d.ts rename to archive/motoko/defi/src/ledger/ledger/index.d.ts diff --git a/motoko/defi/src/ledger/ledger/index.js b/archive/motoko/defi/src/ledger/ledger/index.js similarity index 100% rename from motoko/defi/src/ledger/ledger/index.js rename to archive/motoko/defi/src/ledger/ledger/index.js diff --git a/motoko/defi/src/ledger/ledger/ledger.did.d.ts b/archive/motoko/defi/src/ledger/ledger/ledger.did.d.ts similarity index 100% rename from motoko/defi/src/ledger/ledger/ledger.did.d.ts rename to archive/motoko/defi/src/ledger/ledger/ledger.did.d.ts diff --git a/motoko/defi/src/ledger/ledger/ledger.did.js b/archive/motoko/defi/src/ledger/ledger/ledger.did.js similarity index 100% rename from motoko/defi/src/ledger/ledger/ledger.did.js rename to archive/motoko/defi/src/ledger/ledger/ledger.did.js diff --git a/motoko/defi/test/demo.sh b/archive/motoko/defi/test/demo.sh similarity index 100% rename from motoko/defi/test/demo.sh rename to archive/motoko/defi/test/demo.sh diff --git a/motoko/defi/test/trade.sh b/archive/motoko/defi/test/trade.sh similarity index 100% rename from motoko/defi/test/trade.sh rename to archive/motoko/defi/test/trade.sh diff --git a/motoko/defi/test/transfer.sh b/archive/motoko/defi/test/transfer.sh similarity index 100% rename from motoko/defi/test/transfer.sh rename to archive/motoko/defi/test/transfer.sh diff --git a/motoko/dip721-nft-container/README.md b/archive/motoko/dip721-nft-container/README.md similarity index 100% rename from motoko/dip721-nft-container/README.md rename to archive/motoko/dip721-nft-container/README.md diff --git a/motoko/dip721-nft-container/demo.sh b/archive/motoko/dip721-nft-container/demo.sh similarity index 100% rename from motoko/dip721-nft-container/demo.sh rename to archive/motoko/dip721-nft-container/demo.sh diff --git a/motoko/dip721-nft-container/dfx.json b/archive/motoko/dip721-nft-container/dfx.json similarity index 100% rename from motoko/dip721-nft-container/dfx.json rename to archive/motoko/dip721-nft-container/dfx.json diff --git a/motoko/dip721-nft-container/src/Main.mo b/archive/motoko/dip721-nft-container/src/Main.mo similarity index 100% rename from motoko/dip721-nft-container/src/Main.mo rename to archive/motoko/dip721-nft-container/src/Main.mo diff --git a/motoko/dip721-nft-container/src/Types.mo b/archive/motoko/dip721-nft-container/src/Types.mo similarity index 100% rename from motoko/dip721-nft-container/src/Types.mo rename to archive/motoko/dip721-nft-container/src/Types.mo diff --git a/motoko/echo/Makefile b/archive/motoko/echo/Makefile similarity index 100% rename from motoko/echo/Makefile rename to archive/motoko/echo/Makefile diff --git a/motoko/echo/README.md b/archive/motoko/echo/README.md similarity index 100% rename from motoko/echo/README.md rename to archive/motoko/echo/README.md diff --git a/motoko/echo/dfx.json b/archive/motoko/echo/dfx.json similarity index 100% rename from motoko/echo/dfx.json rename to archive/motoko/echo/dfx.json diff --git a/motoko/echo/src/Main.mo b/archive/motoko/echo/src/Main.mo similarity index 100% rename from motoko/echo/src/Main.mo rename to archive/motoko/echo/src/Main.mo diff --git a/motoko/factorial/Makefile b/archive/motoko/factorial/Makefile similarity index 100% rename from motoko/factorial/Makefile rename to archive/motoko/factorial/Makefile diff --git a/motoko/factorial/README.md b/archive/motoko/factorial/README.md similarity index 100% rename from motoko/factorial/README.md rename to archive/motoko/factorial/README.md diff --git a/motoko/factorial/dfx.json b/archive/motoko/factorial/dfx.json similarity index 100% rename from motoko/factorial/dfx.json rename to archive/motoko/factorial/dfx.json diff --git a/motoko/factorial/src/Main.mo b/archive/motoko/factorial/src/Main.mo similarity index 100% rename from motoko/factorial/src/Main.mo rename to archive/motoko/factorial/src/Main.mo diff --git a/motoko/hello-world/Makefile b/archive/motoko/hello-world/Makefile similarity index 100% rename from motoko/hello-world/Makefile rename to archive/motoko/hello-world/Makefile diff --git a/motoko/hello-world/README.md b/archive/motoko/hello-world/README.md similarity index 100% rename from motoko/hello-world/README.md rename to archive/motoko/hello-world/README.md diff --git a/motoko/hello-world/dfx.json b/archive/motoko/hello-world/dfx.json similarity index 100% rename from motoko/hello-world/dfx.json rename to archive/motoko/hello-world/dfx.json diff --git a/motoko/hello-world/ii.did b/archive/motoko/hello-world/ii.did similarity index 100% rename from motoko/hello-world/ii.did rename to archive/motoko/hello-world/ii.did diff --git a/motoko/hello-world/src/Main.mo b/archive/motoko/hello-world/src/Main.mo similarity index 100% rename from motoko/hello-world/src/Main.mo rename to archive/motoko/hello-world/src/Main.mo diff --git a/motoko/hello-world/src/declarations/hello_world/hello_world.did b/archive/motoko/hello-world/src/declarations/hello_world/hello_world.did similarity index 100% rename from motoko/hello-world/src/declarations/hello_world/hello_world.did rename to archive/motoko/hello-world/src/declarations/hello_world/hello_world.did diff --git a/motoko/hello-world/src/declarations/hello_world/hello_world.did.d.ts b/archive/motoko/hello-world/src/declarations/hello_world/hello_world.did.d.ts similarity index 100% rename from motoko/hello-world/src/declarations/hello_world/hello_world.did.d.ts rename to archive/motoko/hello-world/src/declarations/hello_world/hello_world.did.d.ts diff --git a/motoko/hello-world/src/declarations/hello_world/hello_world.did.js b/archive/motoko/hello-world/src/declarations/hello_world/hello_world.did.js similarity index 100% rename from motoko/hello-world/src/declarations/hello_world/hello_world.did.js rename to archive/motoko/hello-world/src/declarations/hello_world/hello_world.did.js diff --git a/motoko/hello-world/src/declarations/hello_world/index.d.ts b/archive/motoko/hello-world/src/declarations/hello_world/index.d.ts similarity index 100% rename from motoko/hello-world/src/declarations/hello_world/index.d.ts rename to archive/motoko/hello-world/src/declarations/hello_world/index.d.ts diff --git a/motoko/hello-world/src/declarations/hello_world/index.js b/archive/motoko/hello-world/src/declarations/hello_world/index.js similarity index 100% rename from motoko/hello-world/src/declarations/hello_world/index.js rename to archive/motoko/hello-world/src/declarations/hello_world/index.js diff --git a/motoko/hello/Makefile b/archive/motoko/hello/Makefile similarity index 100% rename from motoko/hello/Makefile rename to archive/motoko/hello/Makefile diff --git a/motoko/hello/README.md b/archive/motoko/hello/README.md similarity index 100% rename from motoko/hello/README.md rename to archive/motoko/hello/README.md diff --git a/motoko/hello/dfx.json b/archive/motoko/hello/dfx.json similarity index 100% rename from motoko/hello/dfx.json rename to archive/motoko/hello/dfx.json diff --git a/motoko/hello/package-lock.json b/archive/motoko/hello/package-lock.json similarity index 100% rename from motoko/hello/package-lock.json rename to archive/motoko/hello/package-lock.json diff --git a/motoko/hello/package.json b/archive/motoko/hello/package.json similarity index 100% rename from motoko/hello/package.json rename to archive/motoko/hello/package.json diff --git a/motoko/hello/src/hello/main.mo b/archive/motoko/hello/src/hello/main.mo similarity index 100% rename from motoko/hello/src/hello/main.mo rename to archive/motoko/hello/src/hello/main.mo diff --git a/motoko/hello/src/hello_assets/assets/favicon.ico b/archive/motoko/hello/src/hello_assets/assets/favicon.ico similarity index 100% rename from motoko/hello/src/hello_assets/assets/favicon.ico rename to archive/motoko/hello/src/hello_assets/assets/favicon.ico diff --git a/motoko/hello/src/hello_assets/assets/logo.png b/archive/motoko/hello/src/hello_assets/assets/logo.png similarity index 100% rename from motoko/hello/src/hello_assets/assets/logo.png rename to archive/motoko/hello/src/hello_assets/assets/logo.png diff --git a/motoko/hello/src/hello_assets/assets/main.css b/archive/motoko/hello/src/hello_assets/assets/main.css similarity index 100% rename from motoko/hello/src/hello_assets/assets/main.css rename to archive/motoko/hello/src/hello_assets/assets/main.css diff --git a/motoko/hello/src/hello_assets/assets/sample-asset.txt b/archive/motoko/hello/src/hello_assets/assets/sample-asset.txt similarity index 100% rename from motoko/hello/src/hello_assets/assets/sample-asset.txt rename to archive/motoko/hello/src/hello_assets/assets/sample-asset.txt diff --git a/motoko/hello/src/hello_assets/src/index.html b/archive/motoko/hello/src/hello_assets/src/index.html similarity index 100% rename from motoko/hello/src/hello_assets/src/index.html rename to archive/motoko/hello/src/hello_assets/src/index.html diff --git a/motoko/hello/src/hello_assets/src/index.js b/archive/motoko/hello/src/hello_assets/src/index.js similarity index 100% rename from motoko/hello/src/hello_assets/src/index.js rename to archive/motoko/hello/src/hello_assets/src/index.js diff --git a/motoko/hello/webpack.config.js b/archive/motoko/hello/webpack.config.js similarity index 100% rename from motoko/hello/webpack.config.js rename to archive/motoko/hello/webpack.config.js diff --git a/motoko/icp_transfer/.gitignore b/archive/motoko/icp_transfer/.gitignore similarity index 100% rename from motoko/icp_transfer/.gitignore rename to archive/motoko/icp_transfer/.gitignore diff --git a/motoko/icp_transfer/README.md b/archive/motoko/icp_transfer/README.md similarity index 100% rename from motoko/icp_transfer/README.md rename to archive/motoko/icp_transfer/README.md diff --git a/motoko/icp_transfer/demo.sh b/archive/motoko/icp_transfer/demo.sh similarity index 100% rename from motoko/icp_transfer/demo.sh rename to archive/motoko/icp_transfer/demo.sh diff --git a/motoko/icp_transfer/dfx.json b/archive/motoko/icp_transfer/dfx.json similarity index 100% rename from motoko/icp_transfer/dfx.json rename to archive/motoko/icp_transfer/dfx.json diff --git a/motoko/icp_transfer/src/icp_transfer_backend/main.mo b/archive/motoko/icp_transfer/src/icp_transfer_backend/main.mo similarity index 100% rename from motoko/icp_transfer/src/icp_transfer_backend/main.mo rename to archive/motoko/icp_transfer/src/icp_transfer_backend/main.mo diff --git a/motoko/ios-notifications/.gitignore b/archive/motoko/ios-notifications/.gitignore similarity index 100% rename from motoko/ios-notifications/.gitignore rename to archive/motoko/ios-notifications/.gitignore diff --git a/motoko/ios-notifications/README.md b/archive/motoko/ios-notifications/README.md similarity index 100% rename from motoko/ios-notifications/README.md rename to archive/motoko/ios-notifications/README.md diff --git a/motoko/ios-notifications/dapp-demo/.gitignore b/archive/motoko/ios-notifications/dapp-demo/.gitignore similarity index 100% rename from motoko/ios-notifications/dapp-demo/.gitignore rename to archive/motoko/ios-notifications/dapp-demo/.gitignore diff --git a/motoko/ios-notifications/dapp-demo/Makefile b/archive/motoko/ios-notifications/dapp-demo/Makefile similarity index 100% rename from motoko/ios-notifications/dapp-demo/Makefile rename to archive/motoko/ios-notifications/dapp-demo/Makefile diff --git a/motoko/ios-notifications/dapp-demo/README.md b/archive/motoko/ios-notifications/dapp-demo/README.md similarity index 100% rename from motoko/ios-notifications/dapp-demo/README.md rename to archive/motoko/ios-notifications/dapp-demo/README.md diff --git a/motoko/ios-notifications/dapp-demo/canister_ids.json b/archive/motoko/ios-notifications/dapp-demo/canister_ids.json similarity index 100% rename from motoko/ios-notifications/dapp-demo/canister_ids.json rename to archive/motoko/ios-notifications/dapp-demo/canister_ids.json diff --git a/motoko/ios-notifications/dapp-demo/dfx.json b/archive/motoko/ios-notifications/dapp-demo/dfx.json similarity index 100% rename from motoko/ios-notifications/dapp-demo/dfx.json rename to archive/motoko/ios-notifications/dapp-demo/dfx.json diff --git a/motoko/ios-notifications/dapp-demo/package-lock.json b/archive/motoko/ios-notifications/dapp-demo/package-lock.json similarity index 100% rename from motoko/ios-notifications/dapp-demo/package-lock.json rename to archive/motoko/ios-notifications/dapp-demo/package-lock.json diff --git a/motoko/ios-notifications/dapp-demo/package.json b/archive/motoko/ios-notifications/dapp-demo/package.json similarity index 100% rename from motoko/ios-notifications/dapp-demo/package.json rename to archive/motoko/ios-notifications/dapp-demo/package.json diff --git a/motoko/ios-notifications/dapp-demo/src/api/main.mo b/archive/motoko/ios-notifications/dapp-demo/src/api/main.mo similarity index 100% rename from motoko/ios-notifications/dapp-demo/src/api/main.mo rename to archive/motoko/ios-notifications/dapp-demo/src/api/main.mo diff --git a/motoko/ios-notifications/dapp-demo/src/www/assets/.ic-assets.json b/archive/motoko/ios-notifications/dapp-demo/src/www/assets/.ic-assets.json similarity index 100% rename from motoko/ios-notifications/dapp-demo/src/www/assets/.ic-assets.json rename to archive/motoko/ios-notifications/dapp-demo/src/www/assets/.ic-assets.json diff --git a/motoko/ios-notifications/dapp-demo/src/www/assets/.well-known/apple-app-site-association b/archive/motoko/ios-notifications/dapp-demo/src/www/assets/.well-known/apple-app-site-association similarity index 100% rename from motoko/ios-notifications/dapp-demo/src/www/assets/.well-known/apple-app-site-association rename to archive/motoko/ios-notifications/dapp-demo/src/www/assets/.well-known/apple-app-site-association diff --git a/motoko/ios-notifications/dapp-demo/src/www/assets/main.css b/archive/motoko/ios-notifications/dapp-demo/src/www/assets/main.css similarity index 100% rename from motoko/ios-notifications/dapp-demo/src/www/assets/main.css rename to archive/motoko/ios-notifications/dapp-demo/src/www/assets/main.css diff --git a/motoko/ios-notifications/dapp-demo/src/www/src/auth.ts b/archive/motoko/ios-notifications/dapp-demo/src/www/src/auth.ts similarity index 100% rename from motoko/ios-notifications/dapp-demo/src/www/src/auth.ts rename to archive/motoko/ios-notifications/dapp-demo/src/www/src/auth.ts diff --git a/motoko/ios-notifications/dapp-demo/src/www/src/index.html b/archive/motoko/ios-notifications/dapp-demo/src/www/src/index.html similarity index 100% rename from motoko/ios-notifications/dapp-demo/src/www/src/index.html rename to archive/motoko/ios-notifications/dapp-demo/src/www/src/index.html diff --git a/motoko/ios-notifications/dapp-demo/src/www/src/index.ts b/archive/motoko/ios-notifications/dapp-demo/src/www/src/index.ts similarity index 100% rename from motoko/ios-notifications/dapp-demo/src/www/src/index.ts rename to archive/motoko/ios-notifications/dapp-demo/src/www/src/index.ts diff --git a/motoko/ios-notifications/dapp-demo/src/www/src/pages/about.ts b/archive/motoko/ios-notifications/dapp-demo/src/www/src/pages/about.ts similarity index 100% rename from motoko/ios-notifications/dapp-demo/src/www/src/pages/about.ts rename to archive/motoko/ios-notifications/dapp-demo/src/www/src/pages/about.ts diff --git a/motoko/ios-notifications/dapp-demo/src/www/src/pages/home.ts b/archive/motoko/ios-notifications/dapp-demo/src/www/src/pages/home.ts similarity index 100% rename from motoko/ios-notifications/dapp-demo/src/www/src/pages/home.ts rename to archive/motoko/ios-notifications/dapp-demo/src/www/src/pages/home.ts diff --git a/motoko/ios-notifications/dapp-demo/src/www/src/pages/index.ts b/archive/motoko/ios-notifications/dapp-demo/src/www/src/pages/index.ts similarity index 100% rename from motoko/ios-notifications/dapp-demo/src/www/src/pages/index.ts rename to archive/motoko/ios-notifications/dapp-demo/src/www/src/pages/index.ts diff --git a/motoko/ios-notifications/dapp-demo/src/www/src/pages/login.ts b/archive/motoko/ios-notifications/dapp-demo/src/www/src/pages/login.ts similarity index 100% rename from motoko/ios-notifications/dapp-demo/src/www/src/pages/login.ts rename to archive/motoko/ios-notifications/dapp-demo/src/www/src/pages/login.ts diff --git a/motoko/ios-notifications/dapp-demo/src/www/src/router.ts b/archive/motoko/ios-notifications/dapp-demo/src/www/src/router.ts similarity index 100% rename from motoko/ios-notifications/dapp-demo/src/www/src/router.ts rename to archive/motoko/ios-notifications/dapp-demo/src/www/src/router.ts diff --git a/motoko/ios-notifications/dapp-demo/src/www/src/types.ts b/archive/motoko/ios-notifications/dapp-demo/src/www/src/types.ts similarity index 100% rename from motoko/ios-notifications/dapp-demo/src/www/src/types.ts rename to archive/motoko/ios-notifications/dapp-demo/src/www/src/types.ts diff --git a/motoko/ios-notifications/dapp-demo/test_api.sh b/archive/motoko/ios-notifications/dapp-demo/test_api.sh similarity index 100% rename from motoko/ios-notifications/dapp-demo/test_api.sh rename to archive/motoko/ios-notifications/dapp-demo/test_api.sh diff --git a/motoko/ios-notifications/dapp-demo/tsconfig.json b/archive/motoko/ios-notifications/dapp-demo/tsconfig.json similarity index 100% rename from motoko/ios-notifications/dapp-demo/tsconfig.json rename to archive/motoko/ios-notifications/dapp-demo/tsconfig.json diff --git a/motoko/ios-notifications/dapp-demo/webpack.config.js b/archive/motoko/ios-notifications/dapp-demo/webpack.config.js similarity index 100% rename from motoko/ios-notifications/dapp-demo/webpack.config.js rename to archive/motoko/ios-notifications/dapp-demo/webpack.config.js diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample-Info.plist b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample-Info.plist similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample-Info.plist rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample-Info.plist diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.pbxproj b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.pbxproj similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.pbxproj rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.pbxproj diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample/Assets.xcassets/AccentColor.colorset/Contents.json b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample/Assets.xcassets/AccentColor.colorset/Contents.json rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample/Assets.xcassets/AppIcon.appiconset/Contents.json b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample/Assets.xcassets/AppIcon.appiconset/Contents.json rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample/Assets.xcassets/Contents.json b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/Assets.xcassets/Contents.json similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample/Assets.xcassets/Contents.json rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/Assets.xcassets/Contents.json diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample/ContentView.swift b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/ContentView.swift similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample/ContentView.swift rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/ContentView.swift diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample/DApp.swift b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/DApp.swift similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample/DApp.swift rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/DApp.swift diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample/DAppDelegate.swift b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/DAppDelegate.swift similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample/DAppDelegate.swift rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/DAppDelegate.swift diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample/DAppExample.entitlements b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/DAppExample.entitlements similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample/DAppExample.entitlements rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/DAppExample.entitlements diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample/DAppWebView.swift b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/DAppWebView.swift similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample/DAppWebView.swift rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/DAppWebView.swift diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample/DappConfig.swift b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/DappConfig.swift similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample/DappConfig.swift rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/DappConfig.swift diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample/IdentityKeyPair.swift b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/IdentityKeyPair.swift similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample/IdentityKeyPair.swift rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/IdentityKeyPair.swift diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample/LoadingScreen.swift b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/LoadingScreen.swift similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample/LoadingScreen.swift rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/LoadingScreen.swift diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample/LoginSession.swift b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/LoginSession.swift similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample/LoginSession.swift rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/LoginSession.swift diff --git a/motoko/ios-notifications/ios-dapp-demo/DAppExample/Preview Content/Preview Assets.xcassets/Contents.json b/archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/Preview Content/Preview Assets.xcassets/Contents.json similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/DAppExample/Preview Content/Preview Assets.xcassets/Contents.json rename to archive/motoko/ios-notifications/ios-dapp-demo/DAppExample/Preview Content/Preview Assets.xcassets/Contents.json diff --git a/motoko/ios-notifications/ios-dapp-demo/README.md b/archive/motoko/ios-notifications/ios-dapp-demo/README.md similarity index 100% rename from motoko/ios-notifications/ios-dapp-demo/README.md rename to archive/motoko/ios-notifications/ios-dapp-demo/README.md diff --git a/motoko/ios-notifications/send-notification.sh b/archive/motoko/ios-notifications/send-notification.sh similarity index 100% rename from motoko/ios-notifications/send-notification.sh rename to archive/motoko/ios-notifications/send-notification.sh diff --git a/motoko/persistent-storage/Makefile b/archive/motoko/persistent-storage/Makefile similarity index 100% rename from motoko/persistent-storage/Makefile rename to archive/motoko/persistent-storage/Makefile diff --git a/motoko/persistent-storage/README.md b/archive/motoko/persistent-storage/README.md similarity index 100% rename from motoko/persistent-storage/README.md rename to archive/motoko/persistent-storage/README.md diff --git a/motoko/persistent-storage/README_images/candid_ui.png b/archive/motoko/persistent-storage/README_images/candid_ui.png similarity index 100% rename from motoko/persistent-storage/README_images/candid_ui.png rename to archive/motoko/persistent-storage/README_images/candid_ui.png diff --git a/motoko/persistent-storage/dfx.json b/archive/motoko/persistent-storage/dfx.json similarity index 100% rename from motoko/persistent-storage/dfx.json rename to archive/motoko/persistent-storage/dfx.json diff --git a/motoko/persistent-storage/src/persistent_storage/main.mo b/archive/motoko/persistent-storage/src/persistent_storage/main.mo similarity index 100% rename from motoko/persistent-storage/src/persistent_storage/main.mo rename to archive/motoko/persistent-storage/src/persistent_storage/main.mo diff --git a/motoko/phone-book/Makefile b/archive/motoko/phone-book/Makefile similarity index 100% rename from motoko/phone-book/Makefile rename to archive/motoko/phone-book/Makefile diff --git a/motoko/phone-book/README.md b/archive/motoko/phone-book/README.md similarity index 100% rename from motoko/phone-book/README.md rename to archive/motoko/phone-book/README.md diff --git a/motoko/phone-book/dfx.json b/archive/motoko/phone-book/dfx.json similarity index 100% rename from motoko/phone-book/dfx.json rename to archive/motoko/phone-book/dfx.json diff --git a/motoko/phone-book/package-lock.json b/archive/motoko/phone-book/package-lock.json similarity index 100% rename from motoko/phone-book/package-lock.json rename to archive/motoko/phone-book/package-lock.json diff --git a/motoko/phone-book/package.json b/archive/motoko/phone-book/package.json similarity index 100% rename from motoko/phone-book/package.json rename to archive/motoko/phone-book/package.json diff --git a/motoko/phone-book/src/declarations/phone_book/index.d.ts b/archive/motoko/phone-book/src/declarations/phone_book/index.d.ts similarity index 100% rename from motoko/phone-book/src/declarations/phone_book/index.d.ts rename to archive/motoko/phone-book/src/declarations/phone_book/index.d.ts diff --git a/motoko/phone-book/src/declarations/phone_book/index.js b/archive/motoko/phone-book/src/declarations/phone_book/index.js similarity index 100% rename from motoko/phone-book/src/declarations/phone_book/index.js rename to archive/motoko/phone-book/src/declarations/phone_book/index.js diff --git a/motoko/phone-book/src/declarations/phone_book/phone_book.did b/archive/motoko/phone-book/src/declarations/phone_book/phone_book.did similarity index 100% rename from motoko/phone-book/src/declarations/phone_book/phone_book.did rename to archive/motoko/phone-book/src/declarations/phone_book/phone_book.did diff --git a/motoko/phone-book/src/declarations/phone_book/phone_book.did.d.ts b/archive/motoko/phone-book/src/declarations/phone_book/phone_book.did.d.ts similarity index 100% rename from motoko/phone-book/src/declarations/phone_book/phone_book.did.d.ts rename to archive/motoko/phone-book/src/declarations/phone_book/phone_book.did.d.ts diff --git a/motoko/phone-book/src/declarations/phone_book/phone_book.did.js b/archive/motoko/phone-book/src/declarations/phone_book/phone_book.did.js similarity index 100% rename from motoko/phone-book/src/declarations/phone_book/phone_book.did.js rename to archive/motoko/phone-book/src/declarations/phone_book/phone_book.did.js diff --git a/motoko/phone-book/src/phone-book/Main.mo b/archive/motoko/phone-book/src/phone-book/Main.mo similarity index 100% rename from motoko/phone-book/src/phone-book/Main.mo rename to archive/motoko/phone-book/src/phone-book/Main.mo diff --git a/motoko/phone-book/src/www/assets/sample-asset.txt b/archive/motoko/phone-book/src/www/assets/sample-asset.txt similarity index 100% rename from motoko/phone-book/src/www/assets/sample-asset.txt rename to archive/motoko/phone-book/src/www/assets/sample-asset.txt diff --git a/motoko/phone-book/src/www/src/index.html b/archive/motoko/phone-book/src/www/src/index.html similarity index 100% rename from motoko/phone-book/src/www/src/index.html rename to archive/motoko/phone-book/src/www/src/index.html diff --git a/motoko/phone-book/src/www/src/index.jsx b/archive/motoko/phone-book/src/www/src/index.jsx similarity index 100% rename from motoko/phone-book/src/www/src/index.jsx rename to archive/motoko/phone-book/src/www/src/index.jsx diff --git a/motoko/phone-book/tsconfig.json b/archive/motoko/phone-book/tsconfig.json similarity index 100% rename from motoko/phone-book/tsconfig.json rename to archive/motoko/phone-book/tsconfig.json diff --git a/motoko/phone-book/webpack.config.js b/archive/motoko/phone-book/webpack.config.js similarity index 100% rename from motoko/phone-book/webpack.config.js rename to archive/motoko/phone-book/webpack.config.js diff --git a/motoko/quicksort/Makefile b/archive/motoko/quicksort/Makefile similarity index 100% rename from motoko/quicksort/Makefile rename to archive/motoko/quicksort/Makefile diff --git a/motoko/quicksort/README.md b/archive/motoko/quicksort/README.md similarity index 100% rename from motoko/quicksort/README.md rename to archive/motoko/quicksort/README.md diff --git a/motoko/quicksort/dfx.json b/archive/motoko/quicksort/dfx.json similarity index 100% rename from motoko/quicksort/dfx.json rename to archive/motoko/quicksort/dfx.json diff --git a/motoko/quicksort/src/Main.mo b/archive/motoko/quicksort/src/Main.mo similarity index 100% rename from motoko/quicksort/src/Main.mo rename to archive/motoko/quicksort/src/Main.mo diff --git a/motoko/quicksort/src/Quicksort.mo b/archive/motoko/quicksort/src/Quicksort.mo similarity index 100% rename from motoko/quicksort/src/Quicksort.mo rename to archive/motoko/quicksort/src/Quicksort.mo diff --git a/motoko/simple-to-do/Makefile b/archive/motoko/simple-to-do/Makefile similarity index 100% rename from motoko/simple-to-do/Makefile rename to archive/motoko/simple-to-do/Makefile diff --git a/motoko/simple-to-do/README.md b/archive/motoko/simple-to-do/README.md similarity index 100% rename from motoko/simple-to-do/README.md rename to archive/motoko/simple-to-do/README.md diff --git a/motoko/simple-to-do/dfx.json b/archive/motoko/simple-to-do/dfx.json similarity index 100% rename from motoko/simple-to-do/dfx.json rename to archive/motoko/simple-to-do/dfx.json diff --git a/motoko/simple-to-do/src/Main.mo b/archive/motoko/simple-to-do/src/Main.mo similarity index 100% rename from motoko/simple-to-do/src/Main.mo rename to archive/motoko/simple-to-do/src/Main.mo diff --git a/motoko/basic_bitcoin/README.md b/motoko/basic_bitcoin/README.md index fba1bacbd..48da27b7f 100644 --- a/motoko/basic_bitcoin/README.md +++ b/motoko/basic_bitcoin/README.md @@ -24,6 +24,10 @@ For a deeper understanding of the ICP < > BTC integration, see the [Bitcoin inte * [x] Install the [IC SDK](https://internetcomputer.org/docs/current/developer-docs/setup/install/index.mdx). For local testing, `dfx >= 0.22.0` is required. +:::info +This example is designed to be deployed on the mainnet. It will return errors when deployed locally; these errors are expected. +::: + ## Step 1: Building and deploying sample code ### Clone the smart contract @@ -233,4 +237,4 @@ occur when creating taproot multisigner addresses using specific multisignature schemes. However, the Schnorr API of the internet computer does not support Schnorr multisignatures. -This implementation has only been tested locally with regtest. \ No newline at end of file +This implementation has only been tested locally with regtest. diff --git a/motoko/defi/src/DIP20 b/motoko/defi/src/DIP20 deleted file mode 160000 index 1d4b92781..000000000 --- a/motoko/defi/src/DIP20 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1d4b92781e46cee528e52f578c55e384561f380a diff --git a/motoko/random_maze/package-lock.json b/motoko/random_maze/package-lock.json index 722e209af..4ca03e56b 100644 --- a/motoko/random_maze/package-lock.json +++ b/motoko/random_maze/package-lock.json @@ -886,9 +886,9 @@ } }, "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, "dependencies": { "bytes": "3.1.2", @@ -899,7 +899,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -1720,9 +1720,9 @@ "dev": true }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true, "engines": { "node": ">= 0.8" @@ -1960,37 +1960,37 @@ } }, "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -2120,13 +2120,13 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -3245,10 +3245,13 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", @@ -3751,9 +3754,9 @@ "dev": true }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", "dev": true }, "node_modules/path-type": { @@ -3972,12 +3975,12 @@ } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -4342,9 +4345,9 @@ } }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, "dependencies": { "debug": "2.6.9", @@ -4389,6 +4392,15 @@ "node": ">= 0.8" } }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -4474,15 +4486,15 @@ "dev": true }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" @@ -6377,9 +6389,9 @@ "dev": true }, "body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, "requires": { "bytes": "3.1.2", @@ -6390,7 +6402,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -7014,9 +7026,9 @@ "dev": true }, "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true }, "enhanced-resolve": { @@ -7193,37 +7205,37 @@ } }, "express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", "dev": true, "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -7336,13 +7348,13 @@ } }, "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -8139,9 +8151,9 @@ } }, "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", "dev": true }, "merge-stream": { @@ -8509,9 +8521,9 @@ "dev": true }, "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", "dev": true }, "path-type": { @@ -8665,12 +8677,12 @@ "dev": true }, "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "requires": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" } }, "queue-microtask": { @@ -8915,9 +8927,9 @@ } }, "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, "requires": { "debug": "2.6.9", @@ -8958,6 +8970,12 @@ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -9038,15 +9056,15 @@ } }, "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, "requires": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" } }, "set-function-length": { diff --git a/motoko/send_http_post/package-lock.json b/motoko/send_http_post/package-lock.json index eaa693bb9..559ba9e5a 100644 --- a/motoko/send_http_post/package-lock.json +++ b/motoko/send_http_post/package-lock.json @@ -808,9 +808,9 @@ } }, "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, "dependencies": { "bytes": "3.1.2", @@ -821,7 +821,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -1519,9 +1519,9 @@ "dev": true }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true, "engines": { "node": ">= 0.8" @@ -1700,37 +1700,37 @@ } }, "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -1830,13 +1830,13 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -2789,10 +2789,13 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", @@ -2984,10 +2987,13 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3197,9 +3203,9 @@ "dev": true }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", "dev": true }, "node_modules/path-type": { @@ -3298,12 +3304,12 @@ } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -3606,9 +3612,9 @@ } }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, "dependencies": { "debug": "2.6.9", @@ -3629,6 +3635,15 @@ "node": ">= 0.8.0" } }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -3708,15 +3723,15 @@ } }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" @@ -5374,9 +5389,9 @@ "dev": true }, "body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, "requires": { "bytes": "3.1.2", @@ -5387,7 +5402,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -5888,9 +5903,9 @@ "dev": true }, "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true }, "enhanced-resolve": { @@ -6023,37 +6038,37 @@ } }, "express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", "dev": true, "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -6139,13 +6154,13 @@ } }, "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -6816,9 +6831,9 @@ } }, "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", "dev": true }, "merge-stream": { @@ -6966,9 +6981,9 @@ } }, "object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true }, "object-is": { @@ -7122,9 +7137,9 @@ "dev": true }, "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", "dev": true }, "path-type": { @@ -7201,12 +7216,12 @@ "dev": true }, "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "requires": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" } }, "queue-microtask": { @@ -7404,9 +7419,9 @@ } }, "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, "requires": { "debug": "2.6.9", @@ -7424,6 +7439,12 @@ "statuses": "2.0.1" }, "dependencies": { + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -7495,15 +7516,15 @@ } }, "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, "requires": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" } }, "set-function-length": { diff --git a/motoko/vetkd/package-lock.json b/motoko/vetkd/package-lock.json index ca84f92b9..ca2df4584 100644 --- a/motoko/vetkd/package-lock.json +++ b/motoko/vetkd/package-lock.json @@ -25,7 +25,7 @@ "stream-browserify": "3.0.0", "terser-webpack-plugin": "^5.3.3", "util": "0.12.4", - "webpack": "^5.73.0", + "webpack": "^5.94.0", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.8.1" }, @@ -163,21 +163,15 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", @@ -316,30 +310,10 @@ "@types/node": "*" } }, - "node_modules/@types/eslint": { - "version": "8.40.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.1.tgz", - "integrity": "sha512-vRb792M4mF1FBT+eoLecmkpLXwxsBHvWWRGJjzbYANBM6DtiJc6yETyv4rqDA6QNjF1pkj1U7LMA6dGb3VYlHw==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "node_modules/@types/express": { @@ -464,9 +438,9 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -486,9 +460,9 @@ "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { @@ -509,15 +483,15 @@ "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "node_modules/@webassemblyjs/ieee754": { @@ -545,28 +519,28 @@ "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -574,24 +548,24 @@ } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -600,12 +574,12 @@ } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -681,10 +655,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, "peerDependencies": { "acorn": "^8" @@ -865,9 +839,9 @@ } }, "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, "dependencies": { "bytes": "3.1.2", @@ -878,7 +852,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -997,9 +971,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz", - "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -1016,10 +990,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001489", - "electron-to-chromium": "^1.4.411", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -1097,9 +1071,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001502", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001502.tgz", - "integrity": "sha512-AZ+9tFXw1sS0o0jcpJQIXvFTOB/xGiQ4OQ2t98QX3NDn2EZTSRBC801gxrsGgViuq2ak/NLkNgSNEPtCr5lfKg==", + "version": "1.0.30001653", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz", + "integrity": "sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==", "dev": true, "funding": [ { @@ -1641,24 +1615,24 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.427", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.427.tgz", - "integrity": "sha512-HK3r9l+Jm8dYAm1ctXEWIC+hV60zfcjS9UA5BDlYvnI5S7PU/yytjpvSrTNrSSRRkuu3tDyZhdkwIczh+0DWaw==", + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", "dev": true }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/enhanced-resolve": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz", - "integrity": "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -1714,9 +1688,9 @@ "dev": true }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, "engines": { "node": ">=6" @@ -1828,37 +1802,37 @@ } }, "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -1875,12 +1849,6 @@ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, - "node_modules/express/node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, "node_modules/fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", @@ -1958,13 +1926,13 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -2432,12 +2400,6 @@ "node": ">= 0.8" } }, - "node_modules/http-errors/node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, "node_modules/http-parser-js": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", @@ -2927,10 +2889,13 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", @@ -3083,9 +3048,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "node_modules/normalize-path": { @@ -3110,10 +3075,13 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3323,9 +3291,9 @@ "dev": true }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", "dev": true }, "node_modules/path-type": { @@ -3338,9 +3306,9 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "node_modules/picomatch": { @@ -3442,12 +3410,12 @@ } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -3759,9 +3727,9 @@ "dev": true }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, "dependencies": { "debug": "2.6.9", @@ -3782,6 +3750,15 @@ "node": ">= 0.8.0" } }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/serialize-javascript": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", @@ -3855,15 +3832,15 @@ } }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" @@ -3886,6 +3863,12 @@ "node": ">= 0.4" } }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", @@ -4173,9 +4156,9 @@ } }, "node_modules/terser": { - "version": "5.17.7", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.7.tgz", - "integrity": "sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ==", + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -4191,16 +4174,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -4395,9 +4378,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -4414,8 +4397,8 @@ } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -4507,9 +4490,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -4542,34 +4525,33 @@ } }, "node_modules/webpack": { - "version": "5.86.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.86.0.tgz", - "integrity": "sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.14.1", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.2", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { diff --git a/motoko/vetkd/package.json b/motoko/vetkd/package.json index 66061dec9..2860b0d13 100644 --- a/motoko/vetkd/package.json +++ b/motoko/vetkd/package.json @@ -34,7 +34,7 @@ "stream-browserify": "3.0.0", "terser-webpack-plugin": "^5.3.3", "util": "0.12.4", - "webpack": "^5.73.0", + "webpack": "^5.94.0", "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.8.1" }, diff --git a/rust/basic_ethereum/Cargo.lock b/rust/basic_ethereum/Cargo.lock index 7cc70636f..568c2be1a 100644 --- a/rust/basic_ethereum/Cargo.lock +++ b/rust/basic_ethereum/Cargo.lock @@ -345,9 +345,11 @@ dependencies = [ "ic-crypto-extended-bip32", "ic-crypto-sha3", "ic-ethereum-types", + "num", "num-traits", "serde", "serde_bytes", + "serde_json", ] [[package]] @@ -2078,6 +2080,20 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + [[package]] name = "num-bigint" version = "0.4.6" @@ -2106,6 +2122,15 @@ dependencies = [ "smallvec", ] +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + [[package]] name = "num-conv" version = "0.1.0" @@ -2132,6 +2157,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" diff --git a/rust/basic_ethereum/Cargo.toml b/rust/basic_ethereum/Cargo.toml index f9c3b3d97..b4b2591a4 100644 --- a/rust/basic_ethereum/Cargo.toml +++ b/rust/basic_ethereum/Cargo.toml @@ -21,5 +21,7 @@ ic-crypto-extended-bip32 = { git = "https://github.com/dfinity/ic", tag = "relea ic-crypto-sha3 = { git = "https://github.com/dfinity/ic", tag = "release-2024-06-26_23-01-base", package = "ic-crypto-sha3" } ic-ethereum-types = { git = "https://github.com/dfinity/ic", tag = "release-2024-06-26_23-01-base", package = "ic-ethereum-types" } serde = "1.0" +serde_json = "1.0" serde_bytes = "0.11.15" -num-traits = "0.2.19" \ No newline at end of file +num-traits = "0.2.19" +num = "0.4.3" diff --git a/rust/basic_ethereum/basic_ethereum.did b/rust/basic_ethereum/basic_ethereum.did index 723e6d14f..36ff95e4e 100644 --- a/rust/basic_ethereum/basic_ethereum.did +++ b/rust/basic_ethereum/basic_ethereum.did @@ -42,6 +42,10 @@ service : (opt InitArg) -> { // If the owner is not set, it defaults to the caller's principal. ethereum_address : (owner: opt principal) -> (text); + // Returns the balance of the given Ethereum address. + // If no address is provided, the address derived from the caller's principal is used. + get_balance : (address: opt text) -> (Wei); + // Returns the transaction count for the Ethereum address derived for the given principal. // // If the owner is not set, it defaults to the caller's principal. diff --git a/rust/basic_ethereum/src/lib.rs b/rust/basic_ethereum/src/lib.rs index 49695fa57..82473c33e 100644 --- a/rust/basic_ethereum/src/lib.rs +++ b/rust/basic_ethereum/src/lib.rs @@ -8,12 +8,13 @@ use alloy_consensus::{SignableTransaction, TxEip1559, TxEnvelope}; use alloy_primitives::{hex, Signature, TxKind, U256}; use candid::{CandidType, Deserialize, Nat, Principal}; use evm_rpc_canister_types::{ - BlockTag, EvmRpcCanister, GetTransactionCountArgs, GetTransactionCountResult, - MultiGetTransactionCountResult, + BlockTag, EthMainnetService, EthSepoliaService, EvmRpcCanister, GetTransactionCountArgs, + GetTransactionCountResult, MultiGetTransactionCountResult, RequestResult, RpcService, }; use ic_cdk::api::management_canister::ecdsa::{EcdsaCurve, EcdsaKeyId}; use ic_cdk::{init, update}; use ic_ethereum_types::Address; +use num::{BigUint, Num}; use std::str::FromStr; pub const EVM_RPC_CANISTER_ID: Principal = @@ -35,6 +36,48 @@ pub async fn ethereum_address(owner: Option) -> String { wallet.ethereum_address().to_string() } +#[update] +pub async fn get_balance(address: Option) -> Nat { + let address = address.unwrap_or(ethereum_address(None).await); + + let json = format!( + r#"{{ "jsonrpc": "2.0", "method": "eth_getBalance", "params": ["{}", "latest"], "id": 1 }}"#, + address + ); + + let max_response_size_bytes = 500_u64; + let num_cycles = 1_000_000_000u128; + + let ethereum_network = read_state(|s| s.ethereum_network()); + + let rpc_service = match ethereum_network { + EthereumNetwork::Mainnet => RpcService::EthMainnet(EthMainnetService::PublicNode), + EthereumNetwork::Sepolia => RpcService::EthSepolia(EthSepoliaService::PublicNode), + }; + + let (response,) = EVM_RPC + .request(rpc_service, json, max_response_size_bytes, num_cycles) + .await + .expect("RPC call failed"); + + let hex_balance = match response { + RequestResult::Ok(balance_result) => { + // The response to a successful `eth_getBalance` call has the following format: + // { "id": "[ID]", "jsonrpc": "2.0", "result": "[BALANCE IN HEX]" } + let response: serde_json::Value = serde_json::from_str(&balance_result).unwrap(); + response + .get("result") + .and_then(|v| v.as_str()) + .unwrap() + .to_string() + } + RequestResult::Err(e) => panic!("Received an error response: {:?}", e), + }; + + // Remove the "0x" prefix before converting to a decimal number. + Nat(BigUint::from_str_radix(&hex_balance[2..], 16).unwrap()) +} + #[update] pub async fn transaction_count(owner: Option, block: Option) -> Nat { let caller = validate_caller_not_anonymous(); diff --git a/rust/basic_ethereum/src/state.rs b/rust/basic_ethereum/src/state.rs index 897dbc61d..73efb8e35 100644 --- a/rust/basic_ethereum/src/state.rs +++ b/rust/basic_ethereum/src/state.rs @@ -50,10 +50,10 @@ impl State { pub fn single_evm_rpc_service(&self) -> RpcServices { match self.ethereum_network { EthereumNetwork::Mainnet => { - RpcServices::EthMainnet(Some(vec![EthMainnetService::Ankr])) + RpcServices::EthMainnet(Some(vec![EthMainnetService::PublicNode])) } EthereumNetwork::Sepolia => { - RpcServices::EthSepolia(Some(vec![EthSepoliaService::Ankr])) + RpcServices::EthSepolia(Some(vec![EthSepoliaService::PublicNode])) } } } diff --git a/rust/defi/README.md b/rust/defi/README.md index 34b10b990..8d2b6a6a4 100644 --- a/rust/defi/README.md +++ b/rust/defi/README.md @@ -8,7 +8,7 @@ The sample exchange is implemented in [Motoko](https://github.com/dfinity/exampl ## Architecture -The design of the IC allows for more complex on-chain computation. In combination with cheap storage, it is possible to have on-chain order books. This sample code takes advantage of these features and stores user balances and orders inside the exchange canister. The sample exchange functionality can be condensed into the following steps: +The design of the IC allows for more complex onchain computation. In combination with cheap storage, it is possible to have onchain order books. This sample code takes advantage of these features and stores user balances and orders inside the exchange canister. The sample exchange functionality can be condensed into the following steps: - Exchange takes custody of funds (different mechanism for tokens and ICP, see below). @@ -72,7 +72,7 @@ There are a number of token standards in development (e.g. IS20, DFT, and DRC20) ### Placing orders -After depositing funds to the exchange, the user can place orders. An order consists of two tuples. `from: (Token1, amount1)` and `to: (Token2, amount2)`. These orders get added to the exchange. What happens to these orders is specific to the exchange implementation. This sample provides a simple exchange that only executes exactly matching orders. Be aware this is just a toy exchange, and the exchange functionality is just for completeness. +After depositing funds to the exchange, the user can place orders. An order consists of two tuples. `from: (Token1, amount1)` and `to: (Token2, amount2)`. These orders get added to the exchange. What happens to these orders is specific to the exchange implementation. This sample provides a simple exchange that only executes exactly matching orders. Be aware this is just a toy exchange, and the exchange functionality is just for completeness. ### Withdrawing funds @@ -107,7 +107,7 @@ or you can regenerate the URL "http://127.0.0.1:4943?canisterId=$(dfx canister i ## Step 2: To interact with the exchange, you can create a local Internet Identity by clicking the login button. -This sample project uses a local test version of Internet Identity. Do not use your mainnet Internet Identity, and this testnet Internet Identity will not work on the mainnet. +This sample project uses a local test version of Internet Identity. Do not use your mainnet Internet Identity, and this testnet Internet Identity will not work on the mainnet. ## Step 3: When prompted, select **Create Internet Identity**. @@ -132,7 +132,7 @@ This sample project uses a local test version of Internet Identity. Do not use y `make init-local II_PRINCIPAL=` -## Step 10: Refresh the web browser to verify that your tokens were deposited. +## Step 10: Refresh the web browser to verify that your tokens were deposited. To trade tokens with yourself, you can open a second incognito browser window. diff --git a/rust/dip721-nft-container/README.md b/rust/dip721-nft-container/README.md index bdb0fb856..51be21b49 100644 --- a/rust/dip721-nft-container/README.md +++ b/rust/dip721-nft-container/README.md @@ -2,7 +2,7 @@ keywords: [advanced, rust, nft, dip721] --- -# DIP721 NFT +# DIP721 NFT [View this sample's code on GitHub](https://github.com/dfinity/examples/tree/master/rust/dip721-nft-container) @@ -47,7 +47,7 @@ In case an error occurs during any part of the upgrade (including `post_upgdrade The Rust CDK (Canister Development Kit) currently only supports one value in stable memory, so it is necessary to create an object that can hold everything you care about. In addition, not every data type can be stored in stable memory; only ones that implement the [CandidType trait](https://docs.rs/candid/latest/candid/types/trait.CandidType.html) -(usually via the [CandidType derive macro](https://docs.rs/candid/latest/candid/derive.CandidType.html)) can be written to stable memory. +(usually via the [CandidType derive macro](https://docs.rs/candid/latest/candid/derive.CandidType.html)) can be written to stable memory. Since the state of our canister includes an `RbTree` which does not implement the `CandidType`, it has to be converted into a data structure (in this case a `Vec`) that implements `CandidType`. Luckily, both `RbTree` and `Vec` implement functions that allow converting to/from iterators, so the conversion can be done quite easily. @@ -76,7 +76,7 @@ For a much more detailed explanation of how certification works, see [this expla - **Operator**: sort of a delegated owner. The operator does not own the NFT but can do the same actions an owner can do. - **Custodian**: creator of the NFT collection/canister. They can do anything (transfer, add/remove operators, burn, and even un-burn) to NFTs, but also mint new ones or change the symbol or description of the collection. -The NFT example canister keeps access control in these three levels very simple: +The NFT example canister keeps access control in these three levels very simple: - For every level of control, a separate list (or set) of principals is kept. - Those three levels are then manually checked every single time someone attempts to do something for which they require authorization. - If a user is not authorized to call a certain function an error is returned. @@ -111,7 +111,7 @@ cd examples/rust/dip721-nft-container dfx start --background --clean ``` - ### Step 3: Install the canister. + ### Step 3: Install the canister. Deploy the canister with the command: ```sh @@ -145,9 +145,9 @@ The canister also supports a certified HTTP interface; going to `//` wi Remember that query functions are uncertified; the result of functions like `ownerOfDip721` can be modified arbitrarily by a single malicious node. If queried information is depended on, for example, if someone might send ICP to the owner of a particular NFT to buy it from them, those calls should be performed as update calls instead. You can force an update call by passing the `--update` flag to `dfx` or using the `Agent::update` function in `agent-rs`. - ### Step 5: Mint an NFT. + ### Step 5: Mint an NFT. -Due to size limitations on the length of a terminal command, an image- or video-based NFT would be impossible to send via `dfx`. To that end, there is an experimental [minting tool](https://github.com/dfinity/experimental-minting-tool) you can use to mint a single-file NFT. +Due to size limitations on the length of a terminal command, an image- or video-based NFT would be impossible to send via `dfx`. To that end, there is an experimental [minting tool](https://github.com/dfinity/experimental-minting-tool) you can use to mint a single-file NFT. To use this tool, install the minting tool with the command: @@ -165,7 +165,7 @@ The output of this command should look like this: Successfully minted token 0 to x4d3z-ufpaj-lpxs4-v7gmt-v56ze-aub3k-bvifl-y4lsq-soafd-d3i4k-fqe (transaction id 0) ``` -Minting is restricted to anyone authorized with the `custodians` parameter or the `set_custodians` function. Since the contents of `--file` are stored on-chain, it's important to prevent arbitrary users from minting tokens, or they will be able to store arbitrarily-sized data in the contract and exhaust the canister's cycles. Be careful not to upload too much data to the canister yourself, or the contract will no longer be able to be upgraded afterward. +Minting is restricted to anyone authorized with the `custodians` parameter or the `set_custodians` function. Since the contents of `--file` are stored onchain, it's important to prevent arbitrary users from minting tokens, or they will be able to store arbitrarily-sized data in the contract and exhaust the canister's cycles. Be careful not to upload too much data to the canister yourself, or the contract will no longer be able to be upgraded afterward. #### Demo diff --git a/rust/face-recognition/package-lock.json b/rust/face-recognition/package-lock.json index 2f510456c..c90b8ff04 100644 --- a/rust/face-recognition/package-lock.json +++ b/rust/face-recognition/package-lock.json @@ -766,9 +766,9 @@ } }, "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, "dependencies": { "bytes": "3.1.2", @@ -779,7 +779,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -1465,9 +1465,9 @@ "dev": true }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true, "engines": { "node": ">= 0.8" @@ -1646,37 +1646,37 @@ } }, "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -1776,13 +1776,13 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -2723,10 +2723,13 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", @@ -2918,10 +2921,13 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3131,9 +3137,9 @@ "dev": true }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", "dev": true }, "node_modules/path-type": { @@ -3232,12 +3238,12 @@ } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -3541,9 +3547,9 @@ } }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, "dependencies": { "debug": "2.6.9", @@ -3564,6 +3570,15 @@ "node": ">= 0.8.0" } }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -3643,15 +3658,15 @@ } }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" diff --git a/rust/face-recognition/src/frontend/src/index.html b/rust/face-recognition/src/frontend/src/index.html index 145125771..3c11059eb 100644 --- a/rust/face-recognition/src/frontend/src/index.html +++ b/rust/face-recognition/src/frontend/src/index.html @@ -4,7 +4,7 @@ - On-chain ICP face recognition + Onchain ICP face recognition @@ -13,7 +13,7 @@
-

On-chain ICP face recognition

+

Onchain ICP face recognition