Browse Source

:bookmark: Release 0.1.10 (#83)

Gabriele Picco 1 year ago
parent
commit
f87db7043b
39 changed files with 582 additions and 2075 deletions
  1. 0 3
      .eslintignore
  2. 0 24
      .eslintrc.yml
  3. 3 3
      .github/workflows/publish-bolt-crates.yml
  4. 3 4
      .github/workflows/publish-bolt-sdk.yml
  5. 7 7
      .github/workflows/publish-packages.yml
  6. 29 102
      .github/workflows/run-tests.yml
  7. 11 0
      .prettierignore
  8. 6 0
      CHANGELOG.md
  9. 176 198
      Cargo.lock
  10. 16 16
      Cargo.toml
  11. 0 15
      cli/npm-package/.eslintrc
  12. 4 4
      cli/npm-package/bolt.ts
  13. 12 14
      cli/npm-package/package.json
  14. 1 1
      cli/npm-package/package.json.tmpl
  15. 3 10
      clients/bolt-sdk/package.json
  16. 3 3
      clients/bolt-sdk/src/delegation/allow_undelegation.ts
  17. 3 3
      clients/bolt-sdk/src/delegation/delegate.ts
  18. 2 2
      clients/bolt-sdk/src/delegation/undelegate.ts
  19. 8 8
      clients/bolt-sdk/src/generated/accounts/Entity.ts
  20. 8 8
      clients/bolt-sdk/src/generated/accounts/Registry.ts
  21. 9 9
      clients/bolt-sdk/src/generated/accounts/World.ts
  22. 1 1
      clients/bolt-sdk/src/generated/errors/index.ts
  23. 2 2
      clients/bolt-sdk/src/generated/instructions/addEntity.ts
  24. 2 2
      clients/bolt-sdk/src/generated/instructions/apply.ts
  25. 2 2
      clients/bolt-sdk/src/generated/instructions/apply2.ts
  26. 2 2
      clients/bolt-sdk/src/generated/instructions/apply3.ts
  27. 2 2
      clients/bolt-sdk/src/generated/instructions/apply4.ts
  28. 2 2
      clients/bolt-sdk/src/generated/instructions/apply5.ts
  29. 2 2
      clients/bolt-sdk/src/generated/instructions/initializeComponent.ts
  30. 2 2
      clients/bolt-sdk/src/generated/instructions/initializeNewWorld.ts
  31. 2 2
      clients/bolt-sdk/src/generated/instructions/initializeRegistry.ts
  32. 28 28
      clients/bolt-sdk/src/generated/types/world.ts
  33. 5 5
      clients/bolt-sdk/src/index.ts
  34. 8 8
      clients/bolt-sdk/src/world/transactions.ts
  35. 113 741
      package-lock.json
  36. 1 11
      package.json
  37. 27 25
      tests/bolt.ts
  38. 1 0
      tsconfig.json
  39. 76 804
      yarn.lock

+ 0 - 3
.eslintignore

@@ -1,3 +0,0 @@
-clients/bolt-sdk/idl/world.ts
-.anchor
-target

+ 0 - 24
.eslintrc.yml

@@ -1,24 +0,0 @@
-env:
-  browser: true
-  es2021: true
-extends:
-  - standard-with-typescript
-  - plugin:prettier/recommended
-plugins:
-  - prettier
-ignorePatterns:
-  - "**/idl/world.ts"
-parser: "@typescript-eslint/parser"
-parserOptions:
-  ecmaVersion: latest
-  sourceType: module
-  project: [./tsconfig.json]
-rules:
-  "@typescript-eslint/strict-boolean-expressions":
-    - error
-    - allowNullableObject: true
-  "@typescript-eslint/return-await":
-    - error
-    - in-try-catch
-  "@typescript-eslint/explicit-function-return-type": "off"
-  "@typescript-eslint/restrict-template-expressions": "off"

+ 3 - 3
.github/workflows/publish-bolt-crates.yml

@@ -27,7 +27,7 @@ jobs:
 
       - uses: actions/setup-node@v4
         with:
-          node-version: 20
+          node-version: 21
 
       - name: install essentials
         run: |
@@ -82,7 +82,7 @@ jobs:
       - name: Use Node ${{ matrix.node }}
         uses: actions/setup-node@v4
         with:
-          node-version: 20
+          node-version: 21
 
       - name: Cache node dependencies
         uses: actions/cache@v4
@@ -115,7 +115,7 @@ jobs:
       - name: Use Node ${{ matrix.node }}
         uses: actions/setup-node@v4
         with:
-          node-version: 20
+          node-version: 21
 
       - name: Cache node dependencies
         uses: actions/cache@v3

+ 3 - 4
.github/workflows/publish-bolt-sdk.yml

@@ -27,7 +27,7 @@ jobs:
 
       - uses: actions/setup-node@v4
         with:
-          node-version: 20
+          node-version: 21
 
       - name: install essentials
         run: |
@@ -82,7 +82,7 @@ jobs:
       - name: Use Node ${{ matrix.node }}
         uses: actions/setup-node@v4
         with:
-          node-version: 20
+          node-version: 21
 
       - name: Cache node dependencies
         uses: actions/cache@v4
@@ -115,7 +115,7 @@ jobs:
       - name: Use Node ${{ matrix.node }}
         uses: actions/setup-node@v4
         with:
-          node-version: 20
+          node-version: 21
 
       - name: Cache node dependencies
         uses: actions/cache@v3
@@ -180,7 +180,6 @@ jobs:
 
       - name: npm publish
         run: |
-          npm install --global eslint@^8.33.0
           npm install
           echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
           npm set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}

+ 7 - 7
.github/workflows/publish-packages.yml

@@ -22,43 +22,43 @@ jobs:
         build:
           - {
             NAME: linux-x64-glibc,
-            OS: ubuntu-20.04,
+            OS: ubuntu-latest,
             TOOLCHAIN: stable,
             TARGET: x86_64-unknown-linux-gnu,
           }
           - {
             NAME: linux-x86-glibc,
-            OS: ubuntu-22.04,
+            OS: ubuntu-latest,
             TOOLCHAIN: stable,
             TARGET: i686-unknown-linux-gnu,
           }
           - {
             NAME: linux-arm64-glibc,
-            OS: ubuntu-20.04,
+            OS: ubuntu-latest,
             TOOLCHAIN: stable,
             TARGET: aarch64-unknown-linux-gnu,
           }
           - {
             NAME: win32-x64-msvc,
-            OS: windows-2022,
+            OS: windows-latest,
             TOOLCHAIN: stable,
             TARGET: x86_64-pc-windows-msvc,
           }
           - {
             NAME: win32-x86-msvc,
-            OS: windows-2022,
+            OS: windows-latest,
             TOOLCHAIN: stable,
             TARGET: i686-pc-windows-msvc,
           }
           - {
             NAME: darwin-x64,
-            OS: macos-11,
+            OS: macos-latest,
             TOOLCHAIN: stable,
             TARGET: x86_64-apple-darwin,
           }
           - {
             NAME: darwin-arm64,
-            OS: macos-11,
+            OS: macos-latest,
             TOOLCHAIN: stable,
             TARGET: aarch64-apple-darwin,
           }

+ 29 - 102
.github/workflows/run-tests.yml

@@ -11,12 +11,13 @@ env:
   solana_version: v1.18.15
 
 jobs:
-  install:
+  setup:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v4
+
       - uses: actions/cache@v4
-        name: cache solana cli
+        name: Cache Solana CLI
         id: cache-solana
         with:
           path: |
@@ -28,120 +29,70 @@ jobs:
         with:
           node-version: 21
 
-      - name: install essentials
+      - name: Install Essentials
         run: |
           sudo apt-get update
           sudo apt-get install -y pkg-config build-essential libudev-dev
           npm install --global yarn
 
-      - name: Cache node dependencies
+      - name: Cache Node Dependencies
         uses: actions/cache@v3
         with:
-          path: "**/node_modules"
+          path: '**/node_modules'
           key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
 
-      - name: install node_modules
+      - name: Install Node Modules
         run: |
           export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH"
           yarn --frozen-lockfile --network-concurrency 2
 
-      - name: install rust
+      - name: Install Rust
         uses: dtolnay/rust-toolchain@stable
         with:
           toolchain: stable
-          components: rustfmt
 
-      - name: Cache rust
+      - name: Cache Rust
         uses: Swatinem/rust-cache@v2
 
-      - name: install solana
+      - name: Install Solana
         if: steps.cache-solana.outputs.cache-hit != 'true'
         run: |
           sh -c "$(curl -sSfL https://release.solana.com/${{ env.solana_version }}/install)"
           export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
           solana --version
 
-  clippy-lint:
-    needs: install
+  lint:
+    needs: setup
     runs-on: ubuntu-latest
-
+    strategy:
+      matrix:
+        task: [clippy, yarn]
     steps:
       - uses: actions/checkout@v4
-      - name: Cache rust
+      - name: Cache Rust
         uses: Swatinem/rust-cache@v2
-      - name: Check Rust version
-        run: rustc --version
-      - name: Run fmt
-        run: cargo fmt -- --check --verbose
-      - name: Run clippy
-        run: cargo clippy -- --deny=warnings
-
-  yarn-lint:
-    needs: install
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v4
-      - name: Use Node ${{ matrix.node }}
-        uses: actions/setup-node@v4
-        with:
-          node-version: 20
-
-      - name: Cache node dependencies
-        uses: actions/cache@v4
-        with:
-          path: "**/node_modules"
-          key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
-
-      - name: Run lint
-        run: yarn lint
+      - name: Run Lint
+        run: |
+          if [ "${{ matrix.task }}" == "clippy" ]; then
+            cargo fmt -- --check --verbose
+            cargo clippy -- --deny=warnings
+          else
+            prettier -v
+            yarn lint
+          fi
 
   test:
-    needs: [clippy-lint, yarn-lint]
+    needs: lint
     runs-on: ubuntu-latest
-
     steps:
-      - name: install rust
-        uses: dtolnay/rust-toolchain@stable
-        with:
-          toolchain: stable
-
-      - name: Cache rust
-        uses: Swatinem/rust-cache@v2
-
       - uses: actions/checkout@v4
-
-      - name: Use Node ${{ matrix.node }}
-        uses: actions/setup-node@v4
-        with:
-          node-version: 20
-
-      - name: Cache node dependencies
-        uses: actions/cache@v3
-        with:
-          path: "**/node_modules"
-          key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
-
-      - name: install node_modules
-        run: |
-          export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH"
-          yarn --frozen-lockfile
-
-      - uses: actions/cache@v4
-        name: cache solana cli
-        id: cache-solana
-        with:
-          path: |
-            ~/.cache/solana/
-            ~/.local/share/solana/
-          key: solana-${{ runner.os }}-v0000-${{ env.solana_version }}
-
-      - name: setup solana
+      - name: Setup Environment
         run: |
           export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH"
           solana --version
           solana-keygen new --silent --no-bip39-passphrase
 
-      - name: Set deployments keys
+      - name: Set Deployment Keys
         run: |
           mkdir -p target/deploy
           echo ${{ secrets.WORLD }} > target/deploy/world-keypair.json
@@ -153,35 +104,11 @@ jobs:
           echo ${{ secrets.SYSTEM_FLY }} > target/deploy/system_fly-keypair.json
           echo ${{ secrets.SYSTEM_SIMPLE_MOVEMENT }} > target/deploy/system_simple_movement-keypair.json
 
-      - name: run build
+      - name: Run Build and Tests
         run: |
-          export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH"
           cargo install --path cli --force --locked
           bolt build
-
-      - name: Generate lib
-        run: |
           cd clients/bolt-sdk
           yarn install && yarn build
           cd ../..
-
-      - name: run tests
-        run: |
-          export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH"
-          cargo install --path cli --force --locked
-          bolt test
-
-      - name: Install the Bolt CLI and create & build a new project
-        shell: bash
-        run: |
-          export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH"
-          cargo install --path cli --force --locked
-          bolt init test-project --force
-          cd test-project
-          cargo add --package test-project --path "../crates/bolt-lang" || true # Overrides the version with the local version
-          cargo add --package movement --path "../crates/bolt-lang" || true # -
-          cargo add --package position --path "../crates/bolt-lang" || true # -
-          cargo update
-          yarn add file:../clients/bolt-sdk/ -D # Overrides the bolt ts SDK with the local version
-          bolt build
           bolt test

+ 11 - 0
.prettierignore

@@ -0,0 +1,11 @@
+.anchor
+.bolt
+.DS_Store
+target
+node_modules
+dist
+build
+test-ledger
+target
+clients/bolt-sdk/lib
+tests/bolt.ts

+ 6 - 0
CHANGELOG.md

@@ -1,4 +1,10 @@
 
+## [0.1.10] - 2024-10-04
+
+### 👷 CI/CD
+
+### ♻️ Refactor
+
 ## [0.1.8] - 2024-06-27
 
 ### ✨️ Features

+ 176 - 198
Cargo.lock

@@ -14,9 +14,9 @@ dependencies = [
 
 [[package]]
 name = "addr2line"
-version = "0.24.1"
+version = "0.24.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375"
+checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
 dependencies = [
  "gimli",
 ]
@@ -646,9 +646,9 @@ dependencies = [
 
 [[package]]
 name = "async-compression"
-version = "0.4.12"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa"
+checksum = "7e614738943d3f68c628ae3dbce7c3daffb196665f82f8c8ea6b65de73c79429"
 dependencies = [
  "brotli",
  "flate2",
@@ -823,9 +823,9 @@ checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
 
 [[package]]
 name = "bolt-attribute-bolt-arguments"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5cc7d380e5ebf6964359ae888a9134c9fded61150b6cbf958440c2711fa0829"
+checksum = "56eb1b0e0bc4b283cdf186df1176c5fb17f7b328ea658d269b2f8601ccbac256"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -834,7 +834,7 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-arguments"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -843,11 +843,11 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-component"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bde3afd6f0c691bc3628aff8697df3c678f34328c037662262edbe54fa0aac39"
+checksum = "22960a4b8eb4cb2bea17120f40b09a8b6e49369ffad81396fabec254bb92b064"
 dependencies = [
- "bolt-utils 0.1.8",
+ "bolt-utils 0.1.9",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
@@ -855,9 +855,9 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-component"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
- "bolt-utils 0.1.9",
+ "bolt-utils 0.1.10",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
@@ -865,11 +865,11 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-component-deserialize"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3af3f94219f480f813dc5038327d54decd53bdb4a3ea79763c5a94cf75255fd4"
+checksum = "143a3658fca2ec9ecd6a8f496f9aae79f585cd22d0570d89bd0b5d5de4eca2c5"
 dependencies = [
- "bolt-utils 0.1.8",
+ "bolt-utils 0.1.9",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
@@ -877,9 +877,9 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-component-deserialize"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
- "bolt-utils 0.1.9",
+ "bolt-utils 0.1.10",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
@@ -887,9 +887,9 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-component-id"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d3be2a0037e4efd4672c29c36396fbdb34628aae253bd79072f0abd5bdf8703"
+checksum = "de13405de0231b2b9ee5861954a22876d4ab54d78d5971ab46187eaa662b3221"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -898,7 +898,7 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-component-id"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -907,9 +907,9 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-delegate"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be2b1c9d1303622b1ee2554bb6d06e960739d7d8e88e815f1bb011d0f7b1b328"
+checksum = "693c1694a0430dadf38d3df7283ca29ab10e0e8fdbc8acb8475b309231bea5c9"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -918,7 +918,7 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-delegate"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -927,9 +927,9 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-extra-accounts"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef4bec9419f43ad52506bc3f5094fbf2dfe790327c80b256e556d2de98b61379"
+checksum = "27e12c9e5530e9f7f1824addd50dfc1cdf450b472c5c74a83c1c94b7a3abfbca"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -938,7 +938,7 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-extra-accounts"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -947,9 +947,9 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-program"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acc769ca239790335c5af46b64fdcd3fbca980f0a292e9ec537de7eb25bc9016"
+checksum = "56b02c215ea27f3d594e53d52c6c4894552df4f22bd455550d93aa4e7b591483"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -958,7 +958,7 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-program"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -967,9 +967,9 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-system"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbc709630ca4f96f59c0b6e6902c03f315256a1b57947e4353fde63ad8941986"
+checksum = "7f425ef3826af95bb46d71b0a0d3799d20d4aeedce76e966fdd38222546d36ec"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -978,7 +978,7 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-system"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -987,9 +987,9 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-system-input"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e6fac0b2554c1cd1698a5ec8eb94906689a398d00cdb8edf4f3fed13500fc4c"
+checksum = "fce7a21f569467e1e3b696890c09ece8a6e52c8c3fd74cab4363f86fba804093"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -998,7 +998,7 @@ dependencies = [
 
 [[package]]
 name = "bolt-attribute-bolt-system-input"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1007,7 +1007,7 @@ dependencies = [
 
 [[package]]
 name = "bolt-cli"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "anchor-cli",
  "anchor-client",
@@ -1018,25 +1018,25 @@ dependencies = [
  "heck 0.5.0",
  "serde_json",
  "syn 1.0.109",
- "world 0.1.9",
+ "world 0.1.10",
 ]
 
 [[package]]
 name = "bolt-component"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60168104e26a180c2d73a0c742010c492d15a63ef2b80096c7a6b4b7c4b7d9ce"
+checksum = "fee22713fc88a903e257384151dfd8d126dcc9c20f1d8546c81d7814a125745f"
 dependencies = [
  "anchor-lang",
- "bolt-system 0.1.8",
+ "bolt-system 0.1.9",
 ]
 
 [[package]]
 name = "bolt-component"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "anchor-lang",
- "bolt-system 0.1.9",
+ "bolt-system 0.1.10",
 ]
 
 [[package]]
@@ -1045,9 +1045,9 @@ version = "0.0.1"
 
 [[package]]
 name = "bolt-helpers-system-template"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e94bd87967a3bc8c3748b8f659401e34f3714f7fbc9cef090a59cb17062ee064"
+checksum = "5ef4950be02f43fe8550fa55308f9cc3331a6484c4a90ffbdd19b6a8683546d3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1056,7 +1056,7 @@ dependencies = [
 
 [[package]]
 name = "bolt-helpers-system-template"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1065,9 +1065,9 @@ dependencies = [
 
 [[package]]
 name = "bolt-helpers-world-apply"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76cc82345e392ad048a0315b25573362664d2daf22f3ebdc9e52ae8b519b3294"
+checksum = "e768e45f56ba9c9f24439d3ac8c5d0ab4b55997d46ccb7cd7418e12048d75ee8"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1076,40 +1076,18 @@ dependencies = [
 
 [[package]]
 name = "bolt-helpers-world-apply"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "proc-macro2",
  "quote",
  "syn 1.0.109",
 ]
 
-[[package]]
-name = "bolt-lang"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81d1e6d8751afaccf16c02555fdba251be76c3e8bced6c49f96a7428d7b0f4c3"
-dependencies = [
- "ahash 0.8.11",
- "anchor-lang",
- "bolt-attribute-bolt-arguments 0.1.8",
- "bolt-attribute-bolt-component 0.1.8",
- "bolt-attribute-bolt-component-deserialize 0.1.8",
- "bolt-attribute-bolt-component-id 0.1.8",
- "bolt-attribute-bolt-delegate 0.1.8",
- "bolt-attribute-bolt-extra-accounts 0.1.8",
- "bolt-attribute-bolt-program 0.1.8",
- "bolt-attribute-bolt-system 0.1.8",
- "bolt-attribute-bolt-system-input 0.1.8",
- "bolt-system 0.1.8",
- "delegation-program-sdk",
- "serde",
- "serde_json",
- "world 0.1.8",
-]
-
 [[package]]
 name = "bolt-lang"
 version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d0b1570bb526e847051f5054406c8df7dfbf402a458f6237438b0e609e8bf98"
 dependencies = [
  "ahash 0.8.11",
  "anchor-lang",
@@ -1130,36 +1108,58 @@ dependencies = [
 ]
 
 [[package]]
-name = "bolt-system"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c12477c1a2eaab066643be790bc856cc16d23e8e7a78a02478fb61944a216f1e"
+name = "bolt-lang"
+version = "0.1.10"
 dependencies = [
+ "ahash 0.8.11",
  "anchor-lang",
- "bolt-helpers-system-template 0.1.8",
+ "bolt-attribute-bolt-arguments 0.1.10",
+ "bolt-attribute-bolt-component 0.1.10",
+ "bolt-attribute-bolt-component-deserialize 0.1.10",
+ "bolt-attribute-bolt-component-id 0.1.10",
+ "bolt-attribute-bolt-delegate 0.1.10",
+ "bolt-attribute-bolt-extra-accounts 0.1.10",
+ "bolt-attribute-bolt-program 0.1.10",
+ "bolt-attribute-bolt-system 0.1.10",
+ "bolt-attribute-bolt-system-input 0.1.10",
+ "bolt-system 0.1.10",
+ "ephemeral-rollups-sdk",
+ "serde",
+ "serde_json",
+ "world 0.1.10",
 ]
 
 [[package]]
 name = "bolt-system"
 version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "465c09a5325776f50a1711aa7c1cc91a0cba91d0922658509e0f465119db49ba"
 dependencies = [
  "anchor-lang",
  "bolt-helpers-system-template 0.1.9",
 ]
 
+[[package]]
+name = "bolt-system"
+version = "0.1.10"
+dependencies = [
+ "anchor-lang",
+ "bolt-helpers-system-template 0.1.10",
+]
+
 [[package]]
 name = "bolt-types"
 version = "0.1.6"
 dependencies = [
  "anchor-lang",
- "bolt-lang 0.1.8",
+ "bolt-lang 0.1.9",
 ]
 
 [[package]]
 name = "bolt-utils"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fa9b5359de7664a9b46caf3b06740d28c28f9f53d1eb82eca0619888d63f845"
+checksum = "d36217a4ffdf196c8e8e0f7cb9aacd4d2b0b40b0e45a31ea75e3972935b518b3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1168,7 +1168,7 @@ dependencies = [
 
 [[package]]
 name = "bolt-utils"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1291,9 +1291,9 @@ dependencies = [
 
 [[package]]
 name = "brotli"
-version = "6.0.0"
+version = "7.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b"
+checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -1764,28 +1764,6 @@ version = "2.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2"
 
-[[package]]
-name = "delegation-program-sdk"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8c618cde8084c987bdf7434d06253b5c79d032aa487fc996965d5dc59e3dbd6"
-dependencies = [
- "borsh 0.10.4",
- "delegation-sdk-attribute-delegate",
- "solana-program",
-]
-
-[[package]]
-name = "delegation-sdk-attribute-delegate"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1151d538be1dfdec0892fffead4cf02c750c3a1e0b4dd68b4312b3dc1720151e"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
 [[package]]
 name = "der"
 version = "0.5.1"
@@ -2297,9 +2275,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.31.0"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64"
+checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
 
 [[package]]
 name = "goblin"
@@ -2625,9 +2603,9 @@ dependencies = [
 
 [[package]]
 name = "ipnet"
-version = "2.10.0"
+version = "2.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4"
+checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708"
 
 [[package]]
 name = "is_terminal_polyfill"
@@ -3140,9 +3118,9 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
 
 [[package]]
 name = "object"
-version = "0.36.4"
+version = "0.36.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a"
+checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e"
 dependencies = [
  "memchr",
 ]
@@ -3385,10 +3363,10 @@ dependencies = [
 
 [[package]]
 name = "position"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "anchor-lang",
- "bolt-lang 0.1.9",
+ "bolt-lang 0.1.10",
 ]
 
 [[package]]
@@ -4219,9 +4197,9 @@ dependencies = [
 
 [[package]]
 name = "solana-account-decoder"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5e54ec43b0262c19a3c87bf2dbd52c6bc6d4f9307246fe4b666fd87f06305e5"
+checksum = "9e356283399b2c951de982eb62cc1675709b74347ba213dee385258c40bf6edd"
 dependencies = [
  "Inflector",
  "base64 0.21.7",
@@ -4244,9 +4222,9 @@ dependencies = [
 
 [[package]]
 name = "solana-clap-utils"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "117bf11e4d15b529dd9dfa2680abaf8bd3c1d8f7cb0586a5accdac5a2ecc7cc5"
+checksum = "1c24c90a1269fa8183c1ad0278ba9dd5c852e8123783c5ece8b09bd8b4d66e2b"
 dependencies = [
  "chrono",
  "clap 2.34.0",
@@ -4261,9 +4239,9 @@ dependencies = [
 
 [[package]]
 name = "solana-cli-config"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "884f604b0ebb6572103b92b043cfe977ad13137f54c307e9d2c14b8b5079d150"
+checksum = "42037e1baf29c4ec933b7a7c0dea983b4fdf5c3e3e3788266fcb3161b643f00d"
 dependencies = [
  "dirs-next",
  "lazy_static",
@@ -4277,9 +4255,9 @@ dependencies = [
 
 [[package]]
 name = "solana-client"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1501330d85c1a790f45f11330616bd6f0b9acd2193477268a65a38ce3b7cfdd0"
+checksum = "54b4ae9862e933cb25f562a86845b1cef9e69afcaa8ff20649ef62a41720f67e"
 dependencies = [
  "async-trait",
  "bincode",
@@ -4310,9 +4288,9 @@ dependencies = [
 
 [[package]]
 name = "solana-config-program"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d00d0d031f3d97e3f59305c4aabf9da7359fad86dbaeb43b61a1ea13224e0b8a"
+checksum = "2d168e532a44f8651b533904df5ac8ad94db6ffc6e7353fdee148151cbbbbf97"
 dependencies = [
  "bincode",
  "chrono",
@@ -4324,9 +4302,9 @@ dependencies = [
 
 [[package]]
 name = "solana-connection-cache"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90fa9ff6c33772441670e446b1d43e787aa315e95f2f9c14e3e9508b814bc8e5"
+checksum = "2afec309b7eea9056d3987afbb0cbdbeba15f694e3d8180ce698fc50a8f1940a"
 dependencies = [
  "async-trait",
  "bincode",
@@ -4346,9 +4324,9 @@ dependencies = [
 
 [[package]]
 name = "solana-faucet"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfd1e88512bd0d641eb2ab8023cc536cb580641b536aa78f50139b7eb716ba4e"
+checksum = "7e4da6e0867b8da12353d9369be7aa78d7e2b37f9de2443d4d95f98f25131c84"
 dependencies = [
  "bincode",
  "byteorder",
@@ -4370,9 +4348,9 @@ dependencies = [
 
 [[package]]
 name = "solana-frozen-abi"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bfcde2fc6946c99c7e3400fadd04d1628d675bfd66cb34d461c0f3224bd27d1"
+checksum = "45478bad85abd8cc291775463e15bc1031fdbf973d48e2568e8defee3d842a3a"
 dependencies = [
  "block-buffer 0.10.4",
  "bs58 0.4.0",
@@ -4395,9 +4373,9 @@ dependencies = [
 
 [[package]]
 name = "solana-frozen-abi-macro"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5024d241425f4e99f112ee03bfa89e526c86c7ca9bd7e13448a7f2dffb7e060"
+checksum = "c5cb05f9051446226cd26ea17f6fbe5e28e922ad6a846166db7fb17865090fcb"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4407,9 +4385,9 @@ dependencies = [
 
 [[package]]
 name = "solana-logger"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10948c30d138d6fbfc2ae78a4882be5a9ebffa4bb1239c4efc386104ebc35b7f"
+checksum = "4cbcde62a32962c3f80aebe0047476dcb2b693b5d47110071af0d23561c3aa0c"
 dependencies = [
  "env_logger",
  "lazy_static",
@@ -4418,9 +4396,9 @@ dependencies = [
 
 [[package]]
 name = "solana-measure"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "379355a731abf50bb5ef1e4afba02ac8c835c25bb18e32229bb481657d5c9eca"
+checksum = "98d4d5a65011530f2cfb0d349e00cc18d73c80cec7a3d35a49cd8ceaa627cb54"
 dependencies = [
  "log",
  "solana-sdk",
@@ -4428,9 +4406,9 @@ dependencies = [
 
 [[package]]
 name = "solana-metrics"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82a6f767cf39d69104bff52602f3141d6abfbdd55b4eb310f8fbbbf862b27e6f"
+checksum = "a08e6fc813645eb514ce038fb66785f2a75bbe54d963f27e2bdcf72e351146e6"
 dependencies = [
  "crossbeam-channel",
  "gethostname",
@@ -4443,9 +4421,9 @@ dependencies = [
 
 [[package]]
 name = "solana-net-utils"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c81ade42b553c7de08fb97cf3cfe44545f59a247e90042a67d224d62a8a189d7"
+checksum = "7813329d0cf9db238d8c731959869a969761d10cc043f0bb2ee6e2581f59e3e7"
 dependencies = [
  "bincode",
  "clap 3.2.25",
@@ -4465,9 +4443,9 @@ dependencies = [
 
 [[package]]
 name = "solana-perf"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ecdf31e535743515d31392f210d132463300b5d3de7c3e26f6b344b6c941c42"
+checksum = "97143e2d6f887b3caebf25adef9f6d7532c1dbf86057213573c7f6adf8bbe16c"
 dependencies = [
  "ahash 0.8.11",
  "bincode",
@@ -4494,9 +4472,9 @@ dependencies = [
 
 [[package]]
 name = "solana-program"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76056fecde0fe0ece8b457b719729c17173333471c72ad41969982975a10d6e0"
+checksum = "a52f4c424433a18b57ae88a35b677c548879a9c4ca1e27e108d1597ff12b95ac"
 dependencies = [
  "ark-bn254",
  "ark-ec",
@@ -4549,9 +4527,9 @@ dependencies = [
 
 [[package]]
 name = "solana-program-runtime"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e566a9e61ecdc250824314864654dd370abf561fa8328f6e08b3bc96ccc5b80d"
+checksum = "eebd6ed32dfa7b69aeca65d1f971abc1f7211b4e386a6fb89d514d97d0a01d1c"
 dependencies = [
  "base64 0.21.7",
  "bincode",
@@ -4577,9 +4555,9 @@ dependencies = [
 
 [[package]]
 name = "solana-pubsub-client"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5d997840e6d033edc4fca8f06b920726dc18d3a5bbc1e538b2154cc3b71acd1"
+checksum = "fee72bfa134d5737792915a013fb149e0d9b61fc13567c534d991cda2ebd8ccb"
 dependencies = [
  "crossbeam-channel",
  "futures-util",
@@ -4602,9 +4580,9 @@ dependencies = [
 
 [[package]]
 name = "solana-quic-client"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e689a97cefa6a005cd305210234f3dc78aacc934c0f76d210a264fae36ee432"
+checksum = "2f35db43502fb78b0f47324924d67d701999f870622de8f3aa515ca2a5c1ed97"
 dependencies = [
  "async-mutex",
  "async-trait",
@@ -4629,9 +4607,9 @@ dependencies = [
 
 [[package]]
 name = "solana-rayon-threadlimit"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbf70f0441603e553fc3db30c1eec9f10cecc27849e7dc74d5f692d5a41a56ca"
+checksum = "c395a20626d440fe5377fc48e8aed0d4d995250bbf7239e651e7f4a6c7f1a3a9"
 dependencies = [
  "lazy_static",
  "num_cpus",
@@ -4639,9 +4617,9 @@ dependencies = [
 
 [[package]]
 name = "solana-remote-wallet"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9651b3f2c3df39a1a6fc87fe792bdb3ec3d84a8169c0a57c86335b48d6cb1491"
+checksum = "aeaeee9f5c950e31daa273a446ad0cb46b5bf7ce579fc9d33f6d528930ac5246"
 dependencies = [
  "console",
  "dialoguer",
@@ -4658,9 +4636,9 @@ dependencies = [
 
 [[package]]
 name = "solana-rpc-client"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d753d116aacc43ef64a2bc8d25f8b20af47c366b29aa859186124e226d6e3819"
+checksum = "39c5a1f2465f8ecff7f1ef8026ee45ddd4e26790785fd56214193b7e4f53d69c"
 dependencies = [
  "async-trait",
  "base64 0.21.7",
@@ -4684,9 +4662,9 @@ dependencies = [
 
 [[package]]
 name = "solana-rpc-client-api"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "617df2c53f948c821cefca6824e376aac04ff0d844bb27f4d3ada9e211bcffe7"
+checksum = "87eb2c3106e48bc02d61a8f5df98956b7cfb370391dd0aa55bba63142e066519"
 dependencies = [
  "base64 0.21.7",
  "bs58 0.4.0",
@@ -4706,9 +4684,9 @@ dependencies = [
 
 [[package]]
 name = "solana-rpc-client-nonce-utils"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2d34cf36289cc35a0b18cd518a256312090368a37f40b448520e260923558a9"
+checksum = "aefdec90fbee3c1bc845b1f2c99271707532bd336e55b4a2362843c0d93cfb9f"
 dependencies = [
  "clap 2.34.0",
  "solana-clap-utils",
@@ -4719,9 +4697,9 @@ dependencies = [
 
 [[package]]
 name = "solana-sdk"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4b3f2080eddef6552fde7f149c429cf05b9bb0605a068b0d28e19d793e24df4"
+checksum = "02bfb6b467e755620f4d3f8eefd1e5bdfb812ec7076d237e0280d7c988f16f02"
 dependencies = [
  "assert_matches",
  "base64 0.21.7",
@@ -4774,9 +4752,9 @@ dependencies = [
 
 [[package]]
 name = "solana-sdk-macro"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a8613ca80150f7e277e773620ba65d2c5fcc3a08eb8026627d601421ab43aef"
+checksum = "9ed90de8086a0e114ab63454a9d066e0f08eb2c9c8aea149ff60e8a492f165fc"
 dependencies = [
  "bs58 0.4.0",
  "proc-macro2",
@@ -4793,9 +4771,9 @@ checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183"
 
 [[package]]
 name = "solana-streamer"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "979d470dd7c589679a2e036078921989a2563f333b73b31e2fdceb09a6d55a29"
+checksum = "c9760ce926b15511f3eacbd465bf221a2f0aa3f5ff7320e978b4ad87c1a8c00e"
 dependencies = [
  "async-channel",
  "bytes",
@@ -4826,9 +4804,9 @@ dependencies = [
 
 [[package]]
 name = "solana-thin-client"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "851b9ae239d098c766aee3558330cc16edd0524c9cf3f9cf7c64f53b1024d507"
+checksum = "242cb2a51e362fd4726aa99ac35b79591d5fe6266babe51a1ca2394164452844"
 dependencies = [
  "bincode",
  "log",
@@ -4841,9 +4819,9 @@ dependencies = [
 
 [[package]]
 name = "solana-tpu-client"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a7a7e5a522fe5333fcb47e02fb7da73ff614d917754167937b5523c383ce161"
+checksum = "cd8bed20fc73d3ff987bd61f944286676979476440d6b4712eceb3840d1c27cf"
 dependencies = [
  "async-trait",
  "bincode",
@@ -4865,9 +4843,9 @@ dependencies = [
 
 [[package]]
 name = "solana-transaction-status"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51be349fb9301d2a0fdd0b9ba5341e5f72bf4900ca4c0ede04748bc9038d15e8"
+checksum = "a05c9059ee5e9a5e9ae86819ccc3e8d464e128011c586ecb3be696ebba81ac34"
 dependencies = [
  "Inflector",
  "base64 0.21.7",
@@ -4890,9 +4868,9 @@ dependencies = [
 
 [[package]]
 name = "solana-udp-client"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3274b4bfccd57ecffcf4037cd09fc61777633e0d0c5f8b76abcaa10ee83f3ae5"
+checksum = "c5bf19b261fa8995700507c71687fa4c401000df687602b07189460cf16e803a"
 dependencies = [
  "async-trait",
  "solana-connection-cache",
@@ -4905,9 +4883,9 @@ dependencies = [
 
 [[package]]
 name = "solana-version"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaf45873439f73420f60a5e0f87b529923c3489d24a228d5eb8f5ce6955bdc1b"
+checksum = "f5318c8f6e0bd979dd36b3e15a9c341dfba7e4414dc9fff6ae23d41cbda6ba41"
 dependencies = [
  "log",
  "rustc_version",
@@ -4921,9 +4899,9 @@ dependencies = [
 
 [[package]]
 name = "solana-vote-program"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e7c7525bda137bbb9bc0dc967a4ffca82786147eb2d1efbf76a8dc52978f0b8"
+checksum = "c451e38f9e64205837eadd69b9928763d167ef93177f3eeb86059b21ed83fcbc"
 dependencies = [
  "bincode",
  "log",
@@ -4943,9 +4921,9 @@ dependencies = [
 
 [[package]]
 name = "solana-zk-token-sdk"
-version = "1.18.23"
+version = "1.18.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39a57b2f269f24088b6b8e426de05e5c1faa6b5d6f26175c06eb80df96ec685e"
+checksum = "7569e85e3b1c8abc089ec06153b4ded577bc94bf383f607d5017082497f53665"
 dependencies = [
  "aes-gcm-siv",
  "base64 0.21.7",
@@ -5506,11 +5484,11 @@ dependencies = [
 
 [[package]]
 name = "system-apply-velocity"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "anchor-lang",
  "anchor-spl",
- "bolt-lang 0.1.9",
+ "bolt-lang 0.1.10",
  "position",
  "velocity",
 ]
@@ -5538,19 +5516,19 @@ dependencies = [
 
 [[package]]
 name = "system-fly"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "anchor-lang",
- "bolt-lang 0.1.9",
+ "bolt-lang 0.1.10",
  "position",
 ]
 
 [[package]]
 name = "system-simple-movement"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "anchor-lang",
- "bolt-lang 0.1.9",
+ "bolt-lang 0.1.10",
  "bolt-types",
  "serde",
 ]
@@ -5942,9 +5920,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.15"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
+checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893"
 
 [[package]]
 name = "unicode-ident"
@@ -6057,10 +6035,10 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
 
 [[package]]
 name = "velocity"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "anchor-lang",
- "bolt-lang 0.1.9",
+ "bolt-lang 0.1.10",
 ]
 
 [[package]]
@@ -6416,26 +6394,26 @@ dependencies = [
 
 [[package]]
 name = "world"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3cf98c27a8b193567d9dde24984503e2844b8d562c3c82d500209a44500e854"
+checksum = "1d7064174d4ffb7bc2ebbd89516fbc09992820386d59176fe612c5ce4d605874"
 dependencies = [
  "anchor-lang",
- "bolt-component 0.1.8",
- "bolt-helpers-world-apply 0.1.8",
- "bolt-system 0.1.8",
+ "bolt-component 0.1.9",
+ "bolt-helpers-world-apply 0.1.9",
+ "bolt-system 0.1.9",
  "solana-security-txt",
  "tuple-conv",
 ]
 
 [[package]]
 name = "world"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "anchor-lang",
- "bolt-component 0.1.9",
- "bolt-helpers-world-apply 0.1.9",
- "bolt-system 0.1.9",
+ "bolt-component 0.1.10",
+ "bolt-helpers-world-apply 0.1.10",
+ "bolt-system 0.1.10",
  "solana-security-txt",
  "tuple-conv",
 ]

+ 16 - 16
Cargo.toml

@@ -7,7 +7,7 @@ members = [
 ]
 
 [workspace.package]
-version = "0.1.9"
+version = "0.1.10"
 authors = ["Magicblock Labs <dev@magicblock.gg>"]
 repository = "https://github.com/magicblock-labs/bolt"
 homepage = "https://www.magicblock.gg/"
@@ -15,21 +15,21 @@ license = "MIT"
 edition = "2021"
 
 [workspace.dependencies]
-bolt-attribute-bolt-program = { path = "crates/bolt-lang/attribute/bolt-program", version = "=0.1.9" }
-bolt-attribute-bolt-delegate = { path = "crates/bolt-lang/attribute/delegate", version = "=0.1.9" }
-bolt-attribute-bolt-component = { path = "crates/bolt-lang/attribute/component", version = "=0.1.9" }
-bolt-attribute-bolt-system = { path = "crates/bolt-lang/attribute/system", version = "=0.1.9"}
-bolt-attribute-bolt-system-input = { path = "crates/bolt-lang/attribute/system-input", version = "=0.1.9" }
-bolt-attribute-bolt-extra-accounts = { path = "crates/bolt-lang/attribute/extra-accounts", version = "=0.1.9" }
-bolt-attribute-bolt-arguments = { path = "crates/bolt-lang/attribute/arguments", version = "=0.1.9" }
-bolt-attribute-bolt-component-deserialize = { path = "crates/bolt-lang/attribute/component-deserialize", version = "=0.1.9" }
-bolt-attribute-bolt-component-id = { path = "crates/bolt-lang/attribute/component-id", version = "=0.1.9" }
-bolt-helpers-system-template = { path = "crates/bolt-helpers/attribute/system-template", version = "=0.1.9" }
-bolt-helpers-world-apply = { path = "crates/bolt-helpers/attribute/world-apply", version = "=0.1.9" }
-bolt-utils = { path = "crates/bolt-lang/utils", version = "=0.1.9" }
-world = { path = "programs/world", features = ["cpi"], version = "=0.1.9"}
-bolt-system = { path = "programs/bolt-system", features = ["cpi"], version = "=0.1.9"}
-bolt-component = { path = "programs/bolt-component", features = ["cpi"], version = "=0.1.9"}
+bolt-attribute-bolt-program = { path = "crates/bolt-lang/attribute/bolt-program", version = "=0.1.10" }
+bolt-attribute-bolt-delegate = { path = "crates/bolt-lang/attribute/delegate", version = "=0.1.10" }
+bolt-attribute-bolt-component = { path = "crates/bolt-lang/attribute/component", version = "=0.1.10" }
+bolt-attribute-bolt-system = { path = "crates/bolt-lang/attribute/system", version = "=0.1.10"}
+bolt-attribute-bolt-system-input = { path = "crates/bolt-lang/attribute/system-input", version = "=0.1.10" }
+bolt-attribute-bolt-extra-accounts = { path = "crates/bolt-lang/attribute/extra-accounts", version = "=0.1.10" }
+bolt-attribute-bolt-arguments = { path = "crates/bolt-lang/attribute/arguments", version = "=0.1.10" }
+bolt-attribute-bolt-component-deserialize = { path = "crates/bolt-lang/attribute/component-deserialize", version = "=0.1.10" }
+bolt-attribute-bolt-component-id = { path = "crates/bolt-lang/attribute/component-id", version = "=0.1.10" }
+bolt-helpers-system-template = { path = "crates/bolt-helpers/attribute/system-template", version = "=0.1.10" }
+bolt-helpers-world-apply = { path = "crates/bolt-helpers/attribute/world-apply", version = "=0.1.10" }
+bolt-utils = { path = "crates/bolt-lang/utils", version = "=0.1.10" }
+world = { path = "programs/world", features = ["cpi"], version = "=0.1.10"}
+bolt-system = { path = "programs/bolt-system", features = ["cpi"], version = "=0.1.10"}
+bolt-component = { path = "programs/bolt-component", features = ["cpi"], version = "=0.1.10"}
 
 ## External crates
 anchor-lang = { version = "=0.30.1", features = ["init-if-needed"] }

+ 0 - 15
cli/npm-package/.eslintrc

@@ -1,15 +0,0 @@
-{
-  "extends": [
-    "eslint:recommended",
-    "plugin:@typescript-eslint/recommended"
-  ],
-  "parser": "@typescript-eslint/parser",
-  "plugins": [
-    "@typescript-eslint"
-  ],
-  "ignorePatterns": [
-    "lib/**",
-    "scripts/**"
-  ],
-  "root": true
-}

+ 4 - 4
cli/npm-package/bolt.ts

@@ -28,7 +28,7 @@ function getExePath(): string {
     return require.resolve(binaryName);
   } catch (e) {
     throw new Error(
-      `Couldn't find application binary inside node_modules for ${os}-${arch()}`
+      `Couldn't find application binary inside node_modules for ${os}-${arch()}`,
     );
   }
 }
@@ -60,7 +60,7 @@ function tryPackageBolt(): boolean {
   } catch (e) {
     console.error(
       "Failed to run bolt from package:",
-      e instanceof Error ? e.message : e
+      e instanceof Error ? e.message : e,
     );
     return false;
   }
@@ -80,7 +80,7 @@ function trySystemBolt(): void {
 
   if (!absolutePath) {
     console.error(
-      `Could not find globally installed bolt, please install with cargo.`
+      `Could not find globally installed bolt, please install with cargo.`,
     );
     process.exit(1);
   }
@@ -94,7 +94,7 @@ function trySystemBolt(): void {
   }
   if (binaryVersion !== PACKAGE_VERSION) {
     console.error(
-      `Globally installed bolt version is not correct. Expected "${PACKAGE_VERSION}", found "${binaryVersion}".`
+      `Globally installed bolt version is not correct. Expected "${PACKAGE_VERSION}", found "${binaryVersion}".`,
     );
     return;
   }

+ 12 - 14
cli/npm-package/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@magicblock-labs/bolt-cli",
-  "version": "0.1.9",
+  "version": "0.1.10",
   "description": "Bolt CLI tool",
   "homepage": "https://github.com/magicblock-labs/bolt#readme",
   "bugs": {
@@ -16,26 +16,24 @@
   },
   "scripts": {
     "typecheck": "tsc --noEmit",
-    "lint": "eslint .",
-    "lint:fix": "eslint . --fix",
+    "lint": "prettier */*.js \"*/**/*{.js,.ts}\" --check ",
+    "lint:fix": "prettier */*.js \"*/**/*{.js,.ts}\" -w",
     "build": "tsc",
     "dev": "yarn build && node lib/index.js"
   },
   "devDependencies": {
     "@types/node": "^20.8.8",
-    "@typescript-eslint/eslint-plugin": "^5.48.0",
-    "@typescript-eslint/parser": "^5.48.0",
-    "eslint": "^8.31.0",
-    "typescript": "^4.9.4"
+    "typescript": "^4.9.4",
+    "prettier": "^3.1.1"
   },
   "optionalDependencies": {
-    "@magicblock-labs/bolt-cli-darwin-x64": "0.1.9",
-    "@magicblock-labs/bolt-cli-darwin-arm64": "0.1.9",
-    "@magicblock-labs/bolt-cli-linux-x86": "0.1.9",
-    "@magicblock-labs/bolt-cli-linux-x64": "0.1.9",
-    "@magicblock-labs/bolt-cli-linux-arm64": "0.1.9",
-    "@magicblock-labs/bolt-cli-windows-x86": "0.1.9",
-    "@magicblock-labs/bolt-cli-windows-x64": "0.1.9"
+    "@magicblock-labs/bolt-cli-darwin-x64": "0.1.10",
+    "@magicblock-labs/bolt-cli-darwin-arm64": "0.1.10",
+    "@magicblock-labs/bolt-cli-linux-x86": "0.1.10",
+    "@magicblock-labs/bolt-cli-linux-x64": "0.1.10",
+    "@magicblock-labs/bolt-cli-linux-arm64": "0.1.10",
+    "@magicblock-labs/bolt-cli-windows-x86": "0.1.10",
+    "@magicblock-labs/bolt-cli-windows-x64": "0.1.10"
   },
   "publishConfig": {
     "access": "public"

+ 1 - 1
cli/npm-package/package.json.tmpl

@@ -1,7 +1,7 @@
 {
   "name": "@magicblock-labs/${node_pkg}",
   "description": "Bolt CLI tool (${node_pkg})",
-  "version": "0.1.9",
+  "version": "0.1.10",
   "repository": {
     "type": "git",
     "url": "git+https://github.com/magicblock-labs/bolt.git"

+ 3 - 10
clients/bolt-sdk/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@magicblock-labs/bolt-sdk",
-  "version": "0.1.9",
+  "version": "0.1.10",
   "description": "Bolt typescript SDK",
   "author": "dev@magicblock.gg",
   "license": "MIT",
@@ -12,13 +12,6 @@
   },
   "devDependencies": {
     "@metaplex-foundation/solita": "^0.20.1",
-    "@typescript-eslint/eslint-plugin": "^6.14.0",
-    "@typescript-eslint/parser": "^6.14.0",
-    "eslint": "^8.55.0",
-    "eslint-config-prettier": "^9.1.0",
-    "eslint-config-standard-with-typescript": "^42.0.0",
-    "eslint-plugin-import": "^2.29.0",
-    "eslint-plugin-react": "^7.33.2",
     "prettier": "^3.1.1",
     "rimraf": "^5.0.5",
     "typedoc": "^0.25.4",
@@ -41,8 +34,8 @@
     "build:docs": "typedoc && typedoc --plugin typedoc-plugin-markdown --out docs-mk",
     "dev": "tsc --watch",
     "start": "tsc",
-    "lint": "eslint -c ../../.eslintrc.yml --ext .ts,.tsx src",
-    "lint:fix": "eslint -c ../../.eslintrc.yml --ext .ts,.tsx src --fix"
+    "lint": "prettier */*.js \"*/**/*{.js,.ts}\" --check",
+    "lint:fix": "prettier */*.js \"*/**/*{.js,.ts}\" -w"
   },
   "files": [
     "lib"

+ 3 - 3
clients/bolt-sdk/src/delegation/allow_undelegation.ts

@@ -9,7 +9,7 @@ export const allowUndelegationStruct = new beet.BeetArgsStruct<{
   instructionDiscriminator: number[] /* size: 8 */;
 }>(
   [["instructionDiscriminator", beet.uniformFixedSizeArray(beet.u8, 8)]],
-  "allowUndelegationInstructionArgs"
+  "allowUndelegationInstructionArgs",
 );
 
 export interface AllowUndelegationInstructionAccounts {
@@ -27,7 +27,7 @@ export const allowUndelegateInstructionDiscriminator = [
  */
 
 export function createAllowUndelegationInstruction(
-  accounts: AllowUndelegationInstructionAccounts
+  accounts: AllowUndelegationInstructionAccounts,
 ) {
   const [data] = allowUndelegationStruct.serialize({
     instructionDiscriminator: allowUndelegateInstructionDiscriminator,
@@ -35,7 +35,7 @@ export function createAllowUndelegationInstruction(
 
   const { delegationPda, delegationMetadata, bufferPda } = DelegateAccounts(
     accounts.delegatedAccount,
-    accounts.ownerProgram
+    accounts.ownerProgram,
   );
 
   const keys: web3.AccountMeta[] = [

+ 3 - 3
clients/bolt-sdk/src/delegation/delegate.ts

@@ -26,7 +26,7 @@ export const delegateStruct = new beet.FixableBeetArgsStruct<
     ["validUntil", beet.i64],
     ["commitFrequencyMs", beet.u32],
   ],
-  "DelegateInstructionArgs"
+  "DelegateInstructionArgs",
 );
 
 /**
@@ -58,7 +58,7 @@ export function createDelegateInstruction(
   accounts: DelegateInstructionAccounts,
   validUntil: beet.bignum = 0,
   commitFrequencyMs: number = 30000,
-  programId = accounts.ownerProgram
+  programId = accounts.ownerProgram,
 ) {
   const [data] = delegateStruct.serialize({
     instructionDiscriminator: delegateInstructionDiscriminator,
@@ -68,7 +68,7 @@ export function createDelegateInstruction(
 
   const { delegationPda, delegationMetadata, bufferPda } = DelegateAccounts(
     accounts.account,
-    accounts.ownerProgram
+    accounts.ownerProgram,
   );
 
   const keys: web3.AccountMeta[] = [

+ 2 - 2
clients/bolt-sdk/src/delegation/undelegate.ts

@@ -9,7 +9,7 @@ export const undelegateStruct = new beet.BeetArgsStruct<{
   instructionDiscriminator: number[] /* size: 8 */;
 }>(
   [["instructionDiscriminator", beet.uniformFixedSizeArray(beet.u8, 8)]],
-  "undelegateInstructionArgs"
+  "undelegateInstructionArgs",
 );
 
 export interface UndelegateInstructionAccounts {
@@ -26,7 +26,7 @@ export const undelegateInstructionDiscriminator = [
  * Creates an Undelegate instruction.
  */
 export function createUndelegateInstruction(
-  accounts: UndelegateInstructionAccounts
+  accounts: UndelegateInstructionAccounts,
 ) {
   const [data] = undelegateStruct.serialize({
     instructionDiscriminator: undelegateInstructionDiscriminator,

+ 8 - 8
clients/bolt-sdk/src/generated/accounts/Entity.ts

@@ -42,7 +42,7 @@ export class Entity implements EntityArgs {
    */
   static fromAccountInfo(
     accountInfo: web3.AccountInfo<Buffer>,
-    offset = 0
+    offset = 0,
   ): [Entity, number] {
     return Entity.deserialize(accountInfo.data, offset);
   }
@@ -56,11 +56,11 @@ export class Entity implements EntityArgs {
   static async fromAccountAddress(
     connection: web3.Connection,
     address: web3.PublicKey,
-    commitmentOrConfig?: web3.Commitment | web3.GetAccountInfoConfig
+    commitmentOrConfig?: web3.Commitment | web3.GetAccountInfoConfig,
   ): Promise<Entity> {
     const accountInfo = await connection.getAccountInfo(
       address,
-      commitmentOrConfig
+      commitmentOrConfig,
     );
     if (accountInfo == null) {
       throw new Error(`Unable to find Entity account at ${address}`);
@@ -76,8 +76,8 @@ export class Entity implements EntityArgs {
    */
   static gpaBuilder(
     programId: web3.PublicKey = new web3.PublicKey(
-      "WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n"
-    )
+      "WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n",
+    ),
   ) {
     return beetSolana.GpaBuilder.fromStruct(programId, entityBeet);
   }
@@ -117,11 +117,11 @@ export class Entity implements EntityArgs {
    */
   static async getMinimumBalanceForRentExemption(
     connection: web3.Connection,
-    commitment?: web3.Commitment
+    commitment?: web3.Commitment,
   ): Promise<number> {
     return connection.getMinimumBalanceForRentExemption(
       Entity.byteSize,
-      commitment
+      commitment,
     );
   }
 
@@ -169,5 +169,5 @@ export const entityBeet = new beet.BeetStruct<
     ["id", beet.u64],
   ],
   Entity.fromArgs,
-  "Entity"
+  "Entity",
 );

+ 8 - 8
clients/bolt-sdk/src/generated/accounts/Registry.ts

@@ -42,7 +42,7 @@ export class Registry implements RegistryArgs {
    */
   static fromAccountInfo(
     accountInfo: web3.AccountInfo<Buffer>,
-    offset = 0
+    offset = 0,
   ): [Registry, number] {
     return Registry.deserialize(accountInfo.data, offset);
   }
@@ -56,11 +56,11 @@ export class Registry implements RegistryArgs {
   static async fromAccountAddress(
     connection: web3.Connection,
     address: web3.PublicKey,
-    commitmentOrConfig?: web3.Commitment | web3.GetAccountInfoConfig
+    commitmentOrConfig?: web3.Commitment | web3.GetAccountInfoConfig,
   ): Promise<Registry> {
     const accountInfo = await connection.getAccountInfo(
       address,
-      commitmentOrConfig
+      commitmentOrConfig,
     );
     if (accountInfo == null) {
       throw new Error(`Unable to find Registry account at ${address}`);
@@ -76,8 +76,8 @@ export class Registry implements RegistryArgs {
    */
   static gpaBuilder(
     programId: web3.PublicKey = new web3.PublicKey(
-      "WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n"
-    )
+      "WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n",
+    ),
   ) {
     return beetSolana.GpaBuilder.fromStruct(programId, registryBeet);
   }
@@ -117,11 +117,11 @@ export class Registry implements RegistryArgs {
    */
   static async getMinimumBalanceForRentExemption(
     connection: web3.Connection,
-    commitment?: web3.Commitment
+    commitment?: web3.Commitment,
   ): Promise<number> {
     return connection.getMinimumBalanceForRentExemption(
       Registry.byteSize,
-      commitment
+      commitment,
     );
   }
 
@@ -169,5 +169,5 @@ export const registryBeet = new beet.BeetStruct<
     ["worlds", beet.u64],
   ],
   Registry.fromArgs,
-  "Registry"
+  "Registry",
 );

+ 9 - 9
clients/bolt-sdk/src/generated/accounts/World.ts

@@ -30,7 +30,7 @@ export const worldDiscriminator = [145, 45, 170, 174, 122, 32, 155, 124];
 export class World implements WorldArgs {
   private constructor(
     readonly id: beet.bignum,
-    readonly entities: beet.bignum
+    readonly entities: beet.bignum,
   ) {}
 
   /**
@@ -46,7 +46,7 @@ export class World implements WorldArgs {
    */
   static fromAccountInfo(
     accountInfo: web3.AccountInfo<Buffer>,
-    offset = 0
+    offset = 0,
   ): [World, number] {
     return World.deserialize(accountInfo.data, offset);
   }
@@ -60,11 +60,11 @@ export class World implements WorldArgs {
   static async fromAccountAddress(
     connection: web3.Connection,
     address: web3.PublicKey,
-    commitmentOrConfig?: web3.Commitment | web3.GetAccountInfoConfig
+    commitmentOrConfig?: web3.Commitment | web3.GetAccountInfoConfig,
   ): Promise<World> {
     const accountInfo = await connection.getAccountInfo(
       address,
-      commitmentOrConfig
+      commitmentOrConfig,
     );
     if (accountInfo == null) {
       throw new Error(`Unable to find World account at ${address}`);
@@ -80,8 +80,8 @@ export class World implements WorldArgs {
    */
   static gpaBuilder(
     programId: web3.PublicKey = new web3.PublicKey(
-      "WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n"
-    )
+      "WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n",
+    ),
   ) {
     return beetSolana.GpaBuilder.fromStruct(programId, worldBeet);
   }
@@ -121,11 +121,11 @@ export class World implements WorldArgs {
    */
   static async getMinimumBalanceForRentExemption(
     connection: web3.Connection,
-    commitment?: web3.Commitment
+    commitment?: web3.Commitment,
   ): Promise<number> {
     return connection.getMinimumBalanceForRentExemption(
       World.byteSize,
-      commitment
+      commitment,
     );
   }
 
@@ -185,5 +185,5 @@ export const worldBeet = new beet.BeetStruct<
     ["entities", beet.u64],
   ],
   World.fromArgs,
-  "World"
+  "World",
 );

+ 1 - 1
clients/bolt-sdk/src/generated/errors/index.ts

@@ -31,7 +31,7 @@ export class InvalidAuthorityError extends Error {
 createErrorFromCodeLookup.set(0x1770, () => new InvalidAuthorityError());
 createErrorFromNameLookup.set(
   "InvalidAuthority",
-  () => new InvalidAuthorityError()
+  () => new InvalidAuthorityError(),
 );
 
 /**

+ 2 - 2
clients/bolt-sdk/src/generated/instructions/addEntity.ts

@@ -30,7 +30,7 @@ export const addEntityStruct = new beet.FixableBeetArgsStruct<
     ["instructionDiscriminator", beet.uniformFixedSizeArray(beet.u8, 8)],
     ["extraSeed", beet.coption(beet.utf8String)],
   ],
-  "AddEntityInstructionArgs"
+  "AddEntityInstructionArgs",
 );
 /**
  * Accounts required by the _addEntity_ instruction
@@ -67,7 +67,7 @@ export const addEntityInstructionDiscriminator = [
 export function createAddEntityInstruction(
   accounts: AddEntityInstructionAccounts,
   args: AddEntityInstructionArgs,
-  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n")
+  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n"),
 ) {
   const [data] = addEntityStruct.serialize({
     instructionDiscriminator: addEntityInstructionDiscriminator,

+ 2 - 2
clients/bolt-sdk/src/generated/instructions/apply.ts

@@ -30,7 +30,7 @@ export const applyStruct = new beet.FixableBeetArgsStruct<
     ["instructionDiscriminator", beet.uniformFixedSizeArray(beet.u8, 8)],
     ["args", beet.bytes],
   ],
-  "ApplyInstructionArgs"
+  "ApplyInstructionArgs",
 );
 /**
  * Accounts required by the _apply_ instruction
@@ -70,7 +70,7 @@ export const applyInstructionDiscriminator = [
 export function createApplyInstruction(
   accounts: ApplyInstructionAccounts,
   args: ApplyInstructionArgs,
-  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n")
+  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n"),
 ) {
   const [data] = applyStruct.serialize({
     instructionDiscriminator: applyInstructionDiscriminator,

+ 2 - 2
clients/bolt-sdk/src/generated/instructions/apply2.ts

@@ -30,7 +30,7 @@ export const apply2Struct = new beet.FixableBeetArgsStruct<
     ["instructionDiscriminator", beet.uniformFixedSizeArray(beet.u8, 8)],
     ["args", beet.bytes],
   ],
-  "Apply2InstructionArgs"
+  "Apply2InstructionArgs",
 );
 /**
  * Accounts required by the _apply2_ instruction
@@ -74,7 +74,7 @@ export const apply2InstructionDiscriminator = [
 export function createApply2Instruction(
   accounts: Apply2InstructionAccounts,
   args: Apply2InstructionArgs,
-  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n")
+  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n"),
 ) {
   const [data] = apply2Struct.serialize({
     instructionDiscriminator: apply2InstructionDiscriminator,

+ 2 - 2
clients/bolt-sdk/src/generated/instructions/apply3.ts

@@ -30,7 +30,7 @@ export const apply3Struct = new beet.FixableBeetArgsStruct<
     ["instructionDiscriminator", beet.uniformFixedSizeArray(beet.u8, 8)],
     ["args", beet.bytes],
   ],
-  "Apply3InstructionArgs"
+  "Apply3InstructionArgs",
 );
 /**
  * Accounts required by the _apply3_ instruction
@@ -78,7 +78,7 @@ export const apply3InstructionDiscriminator = [
 export function createApply3Instruction(
   accounts: Apply3InstructionAccounts,
   args: Apply3InstructionArgs,
-  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n")
+  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n"),
 ) {
   const [data] = apply3Struct.serialize({
     instructionDiscriminator: apply3InstructionDiscriminator,

+ 2 - 2
clients/bolt-sdk/src/generated/instructions/apply4.ts

@@ -30,7 +30,7 @@ export const apply4Struct = new beet.FixableBeetArgsStruct<
     ["instructionDiscriminator", beet.uniformFixedSizeArray(beet.u8, 8)],
     ["args", beet.bytes],
   ],
-  "Apply4InstructionArgs"
+  "Apply4InstructionArgs",
 );
 /**
  * Accounts required by the _apply4_ instruction
@@ -82,7 +82,7 @@ export const apply4InstructionDiscriminator = [
 export function createApply4Instruction(
   accounts: Apply4InstructionAccounts,
   args: Apply4InstructionArgs,
-  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n")
+  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n"),
 ) {
   const [data] = apply4Struct.serialize({
     instructionDiscriminator: apply4InstructionDiscriminator,

+ 2 - 2
clients/bolt-sdk/src/generated/instructions/apply5.ts

@@ -30,7 +30,7 @@ export const apply5Struct = new beet.FixableBeetArgsStruct<
     ["instructionDiscriminator", beet.uniformFixedSizeArray(beet.u8, 8)],
     ["args", beet.bytes],
   ],
-  "Apply5InstructionArgs"
+  "Apply5InstructionArgs",
 );
 /**
  * Accounts required by the _apply5_ instruction
@@ -86,7 +86,7 @@ export const apply5InstructionDiscriminator = [
 export function createApply5Instruction(
   accounts: Apply5InstructionAccounts,
   args: Apply5InstructionArgs,
-  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n")
+  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n"),
 ) {
   const [data] = apply5Struct.serialize({
     instructionDiscriminator: apply5InstructionDiscriminator,

+ 2 - 2
clients/bolt-sdk/src/generated/instructions/initializeComponent.ts

@@ -17,7 +17,7 @@ export const initializeComponentStruct = new beet.BeetArgsStruct<{
   instructionDiscriminator: number[] /* size: 8 */;
 }>(
   [["instructionDiscriminator", beet.uniformFixedSizeArray(beet.u8, 8)]],
-  "InitializeComponentInstructionArgs"
+  "InitializeComponentInstructionArgs",
 );
 /**
  * Accounts required by the _initializeComponent_ instruction
@@ -57,7 +57,7 @@ export const initializeComponentInstructionDiscriminator = [
  */
 export function createInitializeComponentInstruction(
   accounts: InitializeComponentInstructionAccounts,
-  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n")
+  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n"),
 ) {
   const [data] = initializeComponentStruct.serialize({
     instructionDiscriminator: initializeComponentInstructionDiscriminator,

+ 2 - 2
clients/bolt-sdk/src/generated/instructions/initializeNewWorld.ts

@@ -17,7 +17,7 @@ export const initializeNewWorldStruct = new beet.BeetArgsStruct<{
   instructionDiscriminator: number[] /* size: 8 */;
 }>(
   [["instructionDiscriminator", beet.uniformFixedSizeArray(beet.u8, 8)]],
-  "InitializeNewWorldInstructionArgs"
+  "InitializeNewWorldInstructionArgs",
 );
 /**
  * Accounts required by the _initializeNewWorld_ instruction
@@ -51,7 +51,7 @@ export const initializeNewWorldInstructionDiscriminator = [
  */
 export function createInitializeNewWorldInstruction(
   accounts: InitializeNewWorldInstructionAccounts,
-  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n")
+  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n"),
 ) {
   const [data] = initializeNewWorldStruct.serialize({
     instructionDiscriminator: initializeNewWorldInstructionDiscriminator,

+ 2 - 2
clients/bolt-sdk/src/generated/instructions/initializeRegistry.ts

@@ -17,7 +17,7 @@ export const initializeRegistryStruct = new beet.BeetArgsStruct<{
   instructionDiscriminator: number[] /* size: 8 */;
 }>(
   [["instructionDiscriminator", beet.uniformFixedSizeArray(beet.u8, 8)]],
-  "InitializeRegistryInstructionArgs"
+  "InitializeRegistryInstructionArgs",
 );
 /**
  * Accounts required by the _initializeRegistry_ instruction
@@ -49,7 +49,7 @@ export const initializeRegistryInstructionDiscriminator = [
  */
 export function createInitializeRegistryInstruction(
   accounts: InitializeRegistryInstructionAccounts,
-  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n")
+  programId = new web3.PublicKey("WorLD15A7CrDwLcLy4fRqtaTb9fbd8o8iqiEMUDse2n"),
 ) {
   const [data] = initializeRegistryStruct.serialize({
     instructionDiscriminator: initializeRegistryInstructionDiscriminator,

+ 28 - 28
clients/bolt-sdk/src/generated/types/world.ts

@@ -33,13 +33,13 @@ export interface World {
         {
           name: "systemProgram";
           address: "11111111111111111111111111111111";
-        }
+        },
       ];
       args: [
         {
           name: "worldId";
           type: "u64";
-        }
+        },
       ];
     },
     {
@@ -62,7 +62,7 @@ export interface World {
         {
           name: "systemProgram";
           address: "11111111111111111111111111111111";
-        }
+        },
       ];
       args: [
         {
@@ -70,7 +70,7 @@ export interface World {
           type: {
             option: "string";
           };
-        }
+        },
       ];
     },
     {
@@ -97,13 +97,13 @@ export interface World {
         },
         {
           name: "world";
-        }
+        },
       ];
       args: [
         {
           name: "args";
           type: "bytes";
-        }
+        },
       ];
     },
     {
@@ -137,13 +137,13 @@ export interface World {
         },
         {
           name: "world";
-        }
+        },
       ];
       args: [
         {
           name: "args";
           type: "bytes";
-        }
+        },
       ];
     },
     {
@@ -184,13 +184,13 @@ export interface World {
         },
         {
           name: "world";
-        }
+        },
       ];
       args: [
         {
           name: "args";
           type: "bytes";
-        }
+        },
       ];
     },
     {
@@ -238,13 +238,13 @@ export interface World {
         },
         {
           name: "world";
-        }
+        },
       ];
       args: [
         {
           name: "args";
           type: "bytes";
-        }
+        },
       ];
     },
     {
@@ -299,13 +299,13 @@ export interface World {
         },
         {
           name: "world";
-        }
+        },
       ];
       args: [
         {
           name: "args";
           type: "bytes";
-        }
+        },
       ];
     },
     {
@@ -327,7 +327,7 @@ export interface World {
         {
           name: "systemProgram";
           address: "11111111111111111111111111111111";
-        }
+        },
       ];
       args: [];
     },
@@ -360,7 +360,7 @@ export interface World {
         {
           name: "systemProgram";
           address: "11111111111111111111111111111111";
-        }
+        },
       ];
       args: [];
     },
@@ -384,7 +384,7 @@ export interface World {
         {
           name: "systemProgram";
           address: "11111111111111111111111111111111";
-        }
+        },
       ];
       args: [];
     },
@@ -404,7 +404,7 @@ export interface World {
         {
           name: "systemProgram";
           address: "11111111111111111111111111111111";
-        }
+        },
       ];
       args: [];
     },
@@ -427,13 +427,13 @@ export interface World {
         {
           name: "systemProgram";
           address: "11111111111111111111111111111111";
-        }
+        },
       ];
       args: [
         {
           name: "worldId";
           type: "u64";
-        }
+        },
       ];
     },
     {
@@ -455,10 +455,10 @@ export interface World {
         {
           name: "systemProgram";
           address: "11111111111111111111111111111111";
-        }
+        },
       ];
       args: [];
-    }
+    },
   ];
   accounts: [
     {
@@ -472,7 +472,7 @@ export interface World {
     {
       name: "world";
       discriminator: [145, 45, 170, 174, 122, 32, 155, 124];
-    }
+    },
   ];
   errors: [
     {
@@ -499,7 +499,7 @@ export interface World {
       code: 6004;
       name: "systemNotApproved";
       msg: "The system is not approved in this world instance";
-    }
+    },
   ];
   types: [
     {
@@ -510,7 +510,7 @@ export interface World {
           {
             name: "id";
             type: "u64";
-          }
+          },
         ];
       };
     },
@@ -522,7 +522,7 @@ export interface World {
           {
             name: "worlds";
             type: "u64";
-          }
+          },
         ];
       };
     },
@@ -552,9 +552,9 @@ export interface World {
           {
             name: "systems";
             type: "bytes";
-          }
+          },
         ];
       };
-    }
+    },
   ];
 }

+ 5 - 5
clients/bolt-sdk/src/index.ts

@@ -10,13 +10,13 @@ export * from "./delegation/allow_undelegation";
 export { DELEGATION_PROGRAM_ID } from "@magicblock-labs/ephemeral-rollups-sdk";
 
 export const SYSVAR_INSTRUCTIONS_PUBKEY = new PublicKey(
-  "Sysvar1nstructions1111111111111111111111111"
+  "Sysvar1nstructions1111111111111111111111111",
 );
 
 export function FindRegistryPda({ programId }: { programId?: PublicKey }) {
   return PublicKey.findProgramAddressSync(
     [Buffer.from("registry")],
-    programId ?? PROGRAM_ID
+    programId ?? PROGRAM_ID,
   )[0];
 }
 
@@ -30,7 +30,7 @@ export function FindWorldPda({
   const idBuffer = Buffer.from(worldId.toArrayLike(Buffer, "be", 8));
   return PublicKey.findProgramAddressSync(
     [Buffer.from("world"), idBuffer],
-    programId ?? PROGRAM_ID
+    programId ?? PROGRAM_ID,
   )[0];
 }
 
@@ -70,7 +70,7 @@ export function FindComponentPda({
 }) {
   return PublicKey.findProgramAddressSync(
     [Buffer.from(seed ?? ""), entity.toBytes()],
-    componentId
+    componentId,
   )[0];
 }
 
@@ -86,6 +86,6 @@ export function SerializeArgs(args: any = {}) {
   return Buffer.from(
     binaryData.buffer,
     binaryData.byteOffset,
-    binaryData.byteLength
+    binaryData.byteLength,
   );
 }

+ 8 - 8
clients/bolt-sdk/src/world/transactions.ts

@@ -83,7 +83,7 @@ export async function AddAuthority({
   transaction: Transaction;
 }> {
   const program = new Program(
-    worldIdl as Idl
+    worldIdl as Idl,
   ) as unknown as Program<WorldProgram>;
   const worldInstance = await World.fromAccountAddress(connection, world);
   const worldId = new BN(worldInstance.id);
@@ -124,7 +124,7 @@ export async function RemoveAuthority({
   transaction: Transaction;
 }> {
   const program = new Program(
-    worldIdl as Idl
+    worldIdl as Idl,
   ) as unknown as Program<WorldProgram>;
   const worldInstance = await World.fromAccountAddress(connection, world);
   const worldId = new BN(worldInstance.id);
@@ -162,7 +162,7 @@ export async function ApproveSystem({
   transaction: Transaction;
 }> {
   const program = new Program(
-    worldIdl as Idl
+    worldIdl as Idl,
   ) as unknown as Program<WorldProgram>;
   const approveSystemIx = await program.methods
     .approveSystem()
@@ -198,7 +198,7 @@ export async function RemoveSystem({
   transaction: Transaction;
 }> {
   const program = new Program(
-    worldIdl as Idl
+    worldIdl as Idl,
   ) as unknown as Program<WorldProgram>;
   const removeSystemIx = await program.methods
     .removeSystem()
@@ -248,7 +248,7 @@ export async function AddEntity({
       payer,
       entity: entityPda,
     },
-    { extraSeed: seed ?? null }
+    { extraSeed: seed ?? null },
   );
   return {
     instruction: addEntityIx,
@@ -331,7 +331,7 @@ async function createApplySystemInstruction({
   args,
 }: ApplySystemInstruction): Promise<web3.TransactionInstruction> {
   const program = new Program(
-    worldIdl as Idl
+    worldIdl as Idl,
   ) as unknown as Program<WorldProgram>;
   let componentCount = 0;
   entities.forEach(function (entity) {
@@ -342,7 +342,7 @@ async function createApplySystemInstruction({
   }
   if (componentCount > MAX_COMPONENTS) {
     throw new Error(
-      `Not implemented for component counts outside 1-${MAX_COMPONENTS}`
+      `Not implemented for component counts outside 1-${MAX_COMPONENTS}`,
     );
   }
 
@@ -370,7 +370,7 @@ async function createApplySystemInstruction({
     });
   });
   return program.methods[getApplyInstructionFunctionName(componentCount)](
-    SerializeArgs(args)
+    SerializeArgs(args),
   )
     .accounts(applyAccounts)
     .remainingAccounts(extraAccounts ?? [])

File diff suppressed because it is too large
+ 113 - 741
package-lock.json


+ 1 - 11
package.json

@@ -13,20 +13,10 @@
         "@types/bn.js": "^5.1.0",
         "@types/chai": "^4.3.0",
         "@types/mocha": "^9.0.0",
-        "@typescript-eslint/eslint-plugin": "^5.50.0",
-        "@typescript-eslint/parser": "^5.50.0",
         "typescript": "^4.3.5",
-        "eslint": "^8.33.0",
-        "eslint-config-prettier": "^8.6.0",
-        "eslint-config-standard-with-typescript": "^34.0.0",
         "@metaplex-foundation/beet": "^0.7.1",
         "@metaplex-foundation/beet-solana": "^0.4.0",
-        "eslint-plugin-import": "^2.25.3",
-        "eslint-plugin-n": "^15.6.1",
-        "eslint-plugin-prettier": "^4.2.1",
-        "eslint-plugin-promise": "6.1.1",
-        "eslint-plugin-react": "^7.32.2",
-        "prettier": "^2.6.2"
+        "prettier": "^3.1.1"
     },
     "license": "MIT",
     "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"

+ 27 - 25
tests/bolt.ts

@@ -54,7 +54,7 @@ function logPosition(title: string, { x, y, z }: { x: BN; y: BN; z: BN }) {
 
 function logVelocity(
   title: string,
-  { x, y, z, lastApplied }: { x: BN; y: BN; z: BN; lastApplied: BN }
+  { x, y, z, lastApplied }: { x: BN; y: BN; z: BN; lastApplied: BN },
 ) {
   console.log(" +----------------------------------+");
   console.log(` | ${padCenter(title, 32)} |`);
@@ -119,7 +119,9 @@ describe("bolt", () => {
       payer: provider.wallet.publicKey,
       connection: provider.connection,
     });
-    const signature = await provider.sendAndConfirm(initializeNewWorld.transaction);
+    const signature = await provider.sendAndConfirm(
+      initializeNewWorld.transaction,
+    );
     console.log("InitializeNewWorld signature: ", signature);
     worldPda = initializeNewWorld.worldPda; // Saved for later
   });
@@ -137,8 +139,8 @@ describe("bolt", () => {
     const worldAccount = await worldProgram.account.world.fetch(worldPda);
     expect(
       worldAccount.authorities.some((auth) =>
-        auth.equals(provider.wallet.publicKey)
-      )
+        auth.equals(provider.wallet.publicKey),
+      ),
     );
   });
 
@@ -153,7 +155,7 @@ describe("bolt", () => {
     console.log(`Add Authority signature: ${signature}`);
     const worldAccount = await worldProgram.account.world.fetch(worldPda);
     expect(
-      worldAccount.authorities.some((auth) => auth.equals(secondAuthority))
+      worldAccount.authorities.some((auth) => auth.equals(secondAuthority)),
     );
   });
 
@@ -168,7 +170,7 @@ describe("bolt", () => {
     console.log(`Add Authority signature: ${signature}`);
     const worldAccount = await worldProgram.account.world.fetch(worldPda);
     expect(
-      !worldAccount.authorities.some((auth) => auth.equals(secondAuthority))
+      !worldAccount.authorities.some((auth) => auth.equals(secondAuthority)),
     );
   });
 
@@ -303,7 +305,7 @@ describe("bolt", () => {
 
   it("Check Position on Entity 1 is default", async () => {
     const position = await exampleComponentPosition.account.position.fetch(
-      componentPositionEntity1Pda
+      componentPositionEntity1Pda,
     );
     logPosition("Default State: Entity 1", position);
     expect(position.x.toNumber()).to.equal(0);
@@ -329,12 +331,12 @@ describe("bolt", () => {
     const signature = await provider.sendAndConfirm(
       applySystem.transaction,
       [],
-      { skipPreflight: true }
+      { skipPreflight: true },
     );
     console.log(`Signature: ${signature}`);
 
     const position = await exampleComponentPosition.account.position.fetch(
-      componentPositionEntity1Pda
+      componentPositionEntity1Pda,
     );
     logPosition("Movement System: Entity 1", position);
     expect(position.x.toNumber()).to.equal(0);
@@ -360,7 +362,7 @@ describe("bolt", () => {
     await provider.sendAndConfirm(applySystem.transaction);
 
     const position = await exampleComponentPosition.account.position.fetch(
-      componentPositionEntity1Pda
+      componentPositionEntity1Pda,
     );
     logPosition("Movement System: Entity 1", position);
     expect(position.x.toNumber()).to.equal(1);
@@ -383,7 +385,7 @@ describe("bolt", () => {
     await provider.sendAndConfirm(applySystem.transaction);
 
     const position = await exampleComponentPosition.account.position.fetch(
-      componentPositionEntity1Pda
+      componentPositionEntity1Pda,
     );
     logPosition("Fly System: Entity 1", position);
     expect(position.x.toNumber()).to.equal(1);
@@ -412,7 +414,7 @@ describe("bolt", () => {
     await provider.sendAndConfirm(applySystem.transaction);
 
     const velocity = await exampleComponentVelocity.account.velocity.fetch(
-      componentVelocityEntity1Pda
+      componentVelocityEntity1Pda,
     );
     logVelocity("Apply System Velocity: Entity 1", velocity);
     expect(velocity.x.toNumber()).to.equal(10);
@@ -421,7 +423,7 @@ describe("bolt", () => {
     expect(velocity.lastApplied.toNumber()).to.not.equal(0);
 
     const position = await exampleComponentPosition.account.position.fetch(
-      componentPositionEntity1Pda
+      componentPositionEntity1Pda,
     );
     logPosition("Apply System Velocity: Entity 1", position);
     expect(position.x.toNumber()).to.greaterThan(1);
@@ -449,7 +451,7 @@ describe("bolt", () => {
       extraAccounts: [
         {
           pubkey: new web3.PublicKey(
-            "SysvarC1ock11111111111111111111111111111111"
+            "SysvarC1ock11111111111111111111111111111111",
           ),
           isWritable: false,
           isSigner: false,
@@ -459,7 +461,7 @@ describe("bolt", () => {
     await provider.sendAndConfirm(applySystem.transaction);
 
     const position = await exampleComponentPosition.account.position.fetch(
-      componentPositionEntity1Pda
+      componentPositionEntity1Pda,
     );
     logPosition("Apply System Velocity: Entity 1", position);
     expect(position.x.toNumber()).to.greaterThan(1);
@@ -482,7 +484,7 @@ describe("bolt", () => {
     await provider.sendAndConfirm(applySystem.transaction);
 
     const position = await exampleComponentPosition.account.position.fetch(
-      componentPositionEntity4Pda
+      componentPositionEntity4Pda,
     );
     logPosition("Fly System: Entity 4", position);
     expect(position.x.toNumber()).to.equal(0);
@@ -493,7 +495,7 @@ describe("bolt", () => {
   it("Apply Fly System on Entity 5 (should fail with wrong authority)", async () => {
     const positionBefore =
       await exampleComponentPosition.account.position.fetch(
-        componentPositionEntity5Pda
+        componentPositionEntity5Pda,
       );
 
     const applySystem = await ApplySystem({
@@ -519,7 +521,7 @@ describe("bolt", () => {
     expect(failed).to.equal(true);
 
     const positionAfter = await exampleComponentPosition.account.position.fetch(
-      componentPositionEntity5Pda
+      componentPositionEntity5Pda,
     );
 
     expect(positionBefore.x.toNumber()).to.equal(positionAfter.x.toNumber());
@@ -537,7 +539,7 @@ describe("bolt", () => {
     const signature = await provider.sendAndConfirm(
       approveSystem.transaction,
       [],
-      { skipPreflight: true }
+      { skipPreflight: true },
     );
     console.log(`Whitelist 2 system approval signature: ${signature}`);
 
@@ -557,7 +559,7 @@ describe("bolt", () => {
     const signature = await provider.sendAndConfirm(
       approveSystem.transaction,
       [],
-      { skipPreflight: true }
+      { skipPreflight: true },
     );
     console.log(`Whitelist 2 system approval signature: ${signature}`);
 
@@ -592,7 +594,7 @@ describe("bolt", () => {
     const signature = await provider.sendAndConfirm(
       approveSystem.transaction,
       [],
-      { skipPreflight: true }
+      { skipPreflight: true },
     );
     console.log(`Whitelist 2 system approval signature: ${signature}`);
 
@@ -657,7 +659,7 @@ describe("bolt", () => {
     } catch (error) {
       // console.log("error", error);
       expect(error.message).to.contain(
-        "bolt_component. Error Code: AccountOwnedByWrongProgram"
+        "bolt_component. Error Code: AccountOwnedByWrongProgram",
       );
       invalid = true;
     }
@@ -674,12 +676,12 @@ describe("bolt", () => {
     const txSign = await provider.sendAndConfirm(
       delegateComponent.transaction,
       [],
-      { skipPreflight: true, commitment: "confirmed" }
+      { skipPreflight: true, commitment: "confirmed" },
     );
     console.log(`Delegation signature: ${txSign}`);
     const acc = await provider.connection.getAccountInfo(
-      delegateComponent.componentPda
+      delegateComponent.componentPda,
     );
-    expect(acc.owner.toString()).to.equal(DELEGATION_PROGRAM_ID);
+    expect(acc?.owner.toString()).to.equal(DELEGATION_PROGRAM_ID);
   });
 });

+ 1 - 0
tsconfig.json

@@ -11,6 +11,7 @@
             "es2015"
         ],
         "module": "commonjs",
+        "strictNullChecks": true,
         "target": "es6",
         "esModuleInterop": true
     }

File diff suppressed because it is too large
+ 76 - 804
yarn.lock


Some files were not shown because too many files changed in this diff