git.delta.rocks / unique-network / refs/commits / c6842c8d831a

difftreelog

Merge pull request #815 from UniqueNetwork/feature/sapphire-is-quartz

Yaroslav Bolyukin2022-12-29parents: #a2c419c #4dff934.patch.diff
in: master
Move sapphire to quartz

11 files changed

modified.github/workflows/forkless-update-data.ymldiffbeforeafterboth
--- a/.github/workflows/forkless-update-data.yml
+++ b/.github/workflows/forkless-update-data.yml
@@ -38,14 +38,14 @@
             network {quartz}, wasm_name {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}
             network {unique}, wasm_name {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}
             network {opal}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}
-            network {sapphire}, wasm_name {opal}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, replica_from_address {${{ env.SAPPHIRE_REPLICA_FROM }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
+            network {sapphire}, wasm_name {quartz}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, replica_from_address {${{ env.SAPPHIRE_REPLICA_FROM }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
 
   forkless-update-data:
     needs: execution-marix
     # The type of runner that the job will run on
     runs-on: [self-hosted-ci,large]
     timeout-minutes: 1380
-    
+
     name: ${{ matrix.network }}-data
     strategy:
       matrix:
@@ -74,7 +74,7 @@
             REPO_URL=${{ github.server_url }}/${{ github.repository }}.git
             RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
             POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}
-            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}            
+            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
             # POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }}
             # MAINNET_TAG=${{ matrix.mainnet_tag }}
             MAINNET_BRANCH=${{ matrix.mainnet_branch }}
@@ -163,7 +163,7 @@
       - name: Stop running containers
         if: always()                   # run this step always
         run: docker-compose -f ".docker/docker-compose-forkless-data.${{ matrix.network }}.yml" down --volumes
-        
+
       - name: Remove builder cache
         if: always()                   # run this step always
         run: |
modified.github/workflows/forkless-update-nodata.ymldiffbeforeafterboth
--- a/.github/workflows/forkless-update-nodata.yml
+++ b/.github/workflows/forkless-update-nodata.yml
@@ -37,7 +37,7 @@
             network {quartz}, wasm_name {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}
             network {unique}, wasm_name {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}
             network {opal}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}
-            network {sapphire}, wasm_name {opal}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
+            network {sapphire}, wasm_name {quartz}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
 
 
   forkless-update-nodata:
@@ -53,7 +53,7 @@
 
     strategy:
       matrix:
-        include: ${{fromJson(needs.execution-marix.outputs.matrix)}}    
+        include: ${{fromJson(needs.execution-marix.outputs.matrix)}}
 
     steps:
       - name: Clean Workspace
@@ -76,7 +76,7 @@
             REPO_URL=${{ github.server_url }}/${{ github.repository }}.git
             RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
             POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}
-            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}            
+            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
             # POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }}
             # MAINNET_TAG=${{ matrix.mainnet_tag }}
             MAINNET_BRANCH=${{ matrix.mainnet_branch }}
@@ -163,8 +163,8 @@
       - name: Show docker logs
         if: success() || failure()
         run: cat './forkless-parachain-upgrade-nodata-logs.${{ matrix.features }}/node-parachain.log'
-                
-      - name: Run Parallel tests 
+
+      - name: Run Parallel tests
         working-directory: tests
         run: |
           yarn install
@@ -175,7 +175,7 @@
           NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}
         env:
           RPC_URL: http://127.0.0.1:9933/
-    
+
       - name: Test Report Parallel
         uses: phoenix-actions/test-reporting@v8
         id: test-report-parallel
@@ -185,10 +185,10 @@
           path: tests/mochawesome-report/test-parallel-*.json    # Path to test results
           reporter: mochawesome-json
           fail-on-error: 'false'
-          
-      - name: Run Sequential tests 
+
+      - name: Run Sequential tests
         working-directory: tests
-        if: success() || failure() 
+        if: success() || failure()
         run: |
           yarn install
           yarn add mochawesome
@@ -198,7 +198,7 @@
           NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}
         env:
           RPC_URL: http://127.0.0.1:9933/
-    
+
       - name: Test Report Sequential
         uses: phoenix-actions/test-reporting@v8
         id: test-report-sequential
@@ -212,7 +212,7 @@
       - name: Stop running containers
         if: always()                   # run this step always
         run: docker-compose -f ".docker/docker-compose.${{ matrix.network }}.yml" down
-        
+
       - name: Remove builder cache
         if: always()                   # run this step always
         run: |
modified.github/workflows/integration-tests.ymldiffbeforeafterboth
--- a/.github/workflows/integration-tests.yml
+++ b/.github/workflows/integration-tests.yml
@@ -36,10 +36,10 @@
         with:
           matrix: |
             network {opal}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}
-            network {sapphire}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}
+            network {sapphire}, wasm_name {quartz}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}
             network {quartz}, wasm_name {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}
             network {unique}, wasm_name {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}
- 
+
   parallel-test:
     needs: nodes-execution-matrix
     # The type of runner that the job will run on
@@ -77,14 +77,14 @@
             REPO_URL=${{ github.server_url }}/${{ github.repository }}.git
             RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
             POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}
-            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}            
+            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
             POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }}
             MAINNET_TAG=${{ matrix.mainnet_tag }}
             MAINNET_BRANCH=${{ matrix.mainnet_branch }}
             NETWORK=${{ matrix.network }}
             BRANCH=${{ github.head_ref }}
             WASM_NAME=${{ matrix.wasm_name }}
-            
+
       - name: Show build configuration
         run: cat .docker/docker-compose.node.${{ matrix.network }}.yml
 
@@ -95,7 +95,7 @@
           output_file: .docker/launch-config-forkless-nodata.json
           variables: |
             NETWORK=${{ matrix.network }}
-            
+
       - name: Show launch-config-forkless configuration
         run: cat .docker/launch-config-forkless-nodata.json
 
@@ -172,8 +172,8 @@
           path: tests/mochawesome-report/test-parallel-*.json    # Path to test results
           reporter: mochawesome-json
           fail-on-error: 'false'
-    
-             
+
+
       - name: Stop running containers
         if: always()                   # run this step always
         run: docker-compose -f ".docker/docker-compose.node.${{ matrix.network }}.yml" down --volumes
@@ -184,7 +184,7 @@
           docker builder prune -f -a
           docker system prune -f
           docker image prune -f -a
-          
+
       - name: List files in Workspace
         if: always()
         run: ls -la ./
@@ -226,14 +226,14 @@
             REPO_URL=${{ github.server_url }}/${{ github.repository }}.git
             RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
             POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}
-            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}            
+            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
             POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }}
             MAINNET_TAG=${{ matrix.mainnet_tag }}
             MAINNET_BRANCH=${{ matrix.mainnet_branch }}
             NETWORK=${{ matrix.network }}
             BRANCH=${{ github.head_ref }}
             WASM_NAME=${{ matrix.wasm_name }}
-            
+
       - name: Show build configuration
         run: cat .docker/docker-compose.node.${{ matrix.network }}.yml
 
@@ -244,7 +244,7 @@
           output_file: .docker/launch-config-forkless-nodata.json
           variables: |
             NETWORK=${{ matrix.network }}
-            
+
       - name: Show launch-config-forkless configuration
         run: cat .docker/launch-config-forkless-nodata.json
 
@@ -321,7 +321,7 @@
           path: tests/mochawesome-report/test-sequential-*.json    # Path to test results
           reporter: mochawesome-json
           fail-on-error: 'false'
-       
+
       - name: Stop running containers
         if: always()                   # run this step always
         run: docker-compose -f ".docker/docker-compose.node.${{ matrix.network }}.yml" down --volumes
@@ -332,7 +332,7 @@
           docker builder prune -f -a
           docker system prune -f
           docker image prune -f -a
-          
+
       - name: List files in Workspace
         if: always()
         run: ls -la ./
modified.github/workflows/node-only-update.ymldiffbeforeafterboth
--- a/.github/workflows/node-only-update.yml
+++ b/.github/workflows/node-only-update.yml
@@ -38,7 +38,7 @@
         with:
           matrix: |
             network {opal}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}
-            network {sapphire}, wasm_name {opal}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
+            network {sapphire}, wasm_name {quartz}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
             network {quartz}, wasm_name {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}
             network {unique}, wasm_name {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}
 
@@ -214,7 +214,7 @@
           docker exec node-parachain kill -SIGUSR1 ${PID}
           echo "SIGUSR1 sent to Polkadot-launch PID: $PID"
           sleep 60s
-          echo -e "Show logs of node-parachain container.\n"          
+          echo -e "Show logs of node-parachain container.\n"
           docker logs ${ContainerID}
 
       - name: Get chain logs in case of docker image crashed after Polkadot Launch restart
modified.github/workflows/try-runtime.ymldiffbeforeafterboth
--- a/.github/workflows/try-runtime.yml
+++ b/.github/workflows/try-runtime.yml
@@ -34,7 +34,7 @@
         with:
           matrix: |
             network {opal}, wasm_name {opal}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}
-            network {sapphire}, wasm_name {opal}, replica_from_address {${{ env.SAPPHIRE_REPLICA_FROM }}}
+            network {sapphire}, wasm_name {quartz}, replica_from_address {${{ env.SAPPHIRE_REPLICA_FROM }}}
             network {quartz}, wasm_name {quartz}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}
             network {unique}, wasm_name {unique}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}
 
@@ -49,7 +49,7 @@
     strategy:
       matrix:
         include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}
-  
+
     steps:
 
       - name: Clean Workspace
@@ -79,13 +79,13 @@
 
       - name: Build the stack
         run: docker-compose -f ".docker/docker-compose.try-runtime.${{ matrix.network }}.yml" up --build  --force-recreate --timeout 300 --remove-orphans --exit-code-from try-runtime
- 
+
       - name: Collect Docker Logs
         if: success() || failure()
         uses: jwalton/gh-docker-logs@v2.2.0
         with:
           dest: './try-runtime-logs.${{ matrix.network }}'
-          images: 'try-runtime' 
+          images: 'try-runtime'
 
       - name: Show docker logs
         run: cat './try-runtime-logs.${{ matrix.network }}/try-runtime.log'
@@ -93,7 +93,7 @@
       - name: Stop running containers
         if: always()                   # run this step always
         run: docker-compose -f ".docker/docker-compose.try-runtime.${{ matrix.network }}.yml" down
-        
+
       - name: Remove builder cache
         if: always()                   # run this step always
         run: |
modifiednode/cli/Cargo.tomldiffbeforeafterboth
--- a/node/cli/Cargo.toml
+++ b/node/cli/Cargo.toml
@@ -340,7 +340,7 @@
     'opal-runtime?/try-runtime',
     'try-runtime-cli/try-runtime',
 ]
-sapphire-runtime = ['opal-runtime', 'opal-runtime/become-sapphire']
+sapphire-runtime = ['quartz-runtime', 'quartz-runtime/become-sapphire']
 pov-estimate = [
     'unique-runtime?/pov-estimate',
     'quartz-runtime?/pov-estimate',
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
before · runtime/opal/Cargo.toml
1################################################################################2# Package34[package]5authors = ['Unique Network <support@uniquenetwork.io>']6build = 'build.rs'7description = 'Opal Runtime'8edition = '2021'9homepage = 'https://unique.network'10license = 'GPLv3'11name = 'opal-runtime'12repository = 'https://github.com/UniqueNetwork/unique-chain'13version.workspace = true1415[package.metadata.docs.rs]16targets = ['x86_64-unknown-linux-gnu']1718[features]19default = ['std', 'opal-runtime']20runtime-benchmarks = [21    'hex-literal',22    'frame-benchmarking',23    'frame-support/runtime-benchmarks',24    'frame-system-benchmarking',25    'frame-system/runtime-benchmarks',26    'pallet-ethereum/runtime-benchmarks',27    'pallet-evm-migration/runtime-benchmarks',28    'pallet-evm-coder-substrate/runtime-benchmarks',29    'pallet-balances/runtime-benchmarks',30    'pallet-timestamp/runtime-benchmarks',31    'pallet-configuration/runtime-benchmarks',32    'pallet-common/runtime-benchmarks',33    'pallet-structure/runtime-benchmarks',34    'pallet-fungible/runtime-benchmarks',35    'pallet-refungible/runtime-benchmarks',36    'pallet-nonfungible/runtime-benchmarks',37    'pallet-proxy-rmrk-core/runtime-benchmarks',38    'pallet-proxy-rmrk-equip/runtime-benchmarks',39    'pallet-foreign-assets/runtime-benchmarks',40    'pallet-unique/runtime-benchmarks',41    'pallet-inflation/runtime-benchmarks',42    'pallet-app-promotion/runtime-benchmarks',43    'pallet-collator-selection/runtime-benchmarks',44    'pallet-identity/runtime-benchmarks',45    'pallet-unique-scheduler-v2/runtime-benchmarks',46    'pallet-xcm/runtime-benchmarks',47    'sp-runtime/runtime-benchmarks',48    'xcm-builder/runtime-benchmarks',49    'pallet-maintenance/runtime-benchmarks',50    'cumulus-pallet-parachain-system/runtime-benchmarks'51]52try-runtime = [53    'frame-try-runtime',54    'frame-try-runtime?/try-runtime',55    'frame-executive/try-runtime',56    'frame-support/try-runtime',57    'frame-system/try-runtime',58    'cumulus-pallet-parachain-system/try-runtime',59    'parachain-info/try-runtime',60    'pallet-aura/try-runtime',61    'cumulus-pallet-aura-ext/try-runtime',62    'pallet-balances/try-runtime',63    'pallet-randomness-collective-flip/try-runtime',64    'pallet-timestamp/try-runtime',65    'pallet-transaction-payment/try-runtime',66    'pallet-treasury/try-runtime',67    'pallet-sudo/try-runtime',68    'orml-vesting/try-runtime',69    'orml-xtokens/try-runtime',70    'orml-tokens/try-runtime',71    'cumulus-pallet-xcmp-queue/try-runtime',72    'pallet-xcm/try-runtime',73    'cumulus-pallet-xcm/try-runtime',74    'cumulus-pallet-dmp-queue/try-runtime',75	"pallet-authorship/try-runtime",76	"pallet-collator-selection/try-runtime",77	"pallet-session/try-runtime",78	"pallet-identity/try-runtime",79    'pallet-inflation/try-runtime',80    'pallet-unique/try-runtime',81    'pallet-configuration/try-runtime',82    'pallet-charge-transaction/try-runtime',83    'pallet-common/try-runtime',84    'pallet-fungible/try-runtime',85    'pallet-refungible/try-runtime',86    'pallet-nonfungible/try-runtime',87    'pallet-structure/try-runtime',88    'pallet-proxy-rmrk-core/try-runtime',89    'pallet-proxy-rmrk-equip/try-runtime',90    'pallet-app-promotion/try-runtime',91    'pallet-foreign-assets/try-runtime',92    'pallet-ethereum/try-runtime',93    'pallet-evm/try-runtime',94    'pallet-evm-coder-substrate/try-runtime',95    'pallet-evm-contract-helpers/try-runtime',96    'pallet-evm-transaction-payment/try-runtime',97    'pallet-evm-migration/try-runtime',98    'pallet-base-fee/try-runtime',99    'pallet-unique-scheduler-v2/try-runtime',100    'pallet-maintenance/try-runtime',101    'pallet-test-utils?/try-runtime',102    'fp-self-contained/try-runtime',103]104std = [105    'codec/std',106    'cumulus-pallet-aura-ext/std',107    'cumulus-pallet-parachain-system/std',108    'cumulus-pallet-xcm/std',109    'cumulus-pallet-xcmp-queue/std',110    'cumulus-primitives-core/std',111    'cumulus-primitives-utility/std',112    'frame-try-runtime/std',113    'frame-executive/std',114    'frame-support/std',115    'frame-system/std',116    'frame-system-rpc-runtime-api/std',117    'pallet-aura/std',118    'pallet-balances/std',119    # 'pallet-contracts/std',120    # 'pallet-contracts-primitives/std',121    # 'pallet-contracts-rpc-runtime-api/std',122    # 'pallet-contract-helpers/std',123	"pallet-authorship/std",124	'pallet-collator-selection/std',125	"pallet-session/std",126	'pallet-identity/std',127    'pallet-randomness-collective-flip/std',128    'pallet-sudo/std',129    'pallet-timestamp/std',130    'pallet-transaction-payment/std',131    'pallet-transaction-payment-rpc-runtime-api/std',132    'pallet-treasury/std',133    'pallet-evm/std',134    'pallet-evm-migration/std',135    'pallet-evm-contract-helpers/std',136    'pallet-evm-transaction-payment/std',137    'pallet-evm-coder-substrate/std',138    'pallet-ethereum/std',139    'pallet-base-fee/std',140    'fp-rpc/std',141    'up-rpc/std',142    'up-pov-estimate-rpc/std',143    'app-promotion-rpc/std',144    'fp-evm-mapping/std',145    'fp-self-contained/std',146    'parachain-info/std',147    'serde',148    'pallet-inflation/std',149    'pallet-configuration/std',150    'pallet-app-promotion/std',151    'pallet-common/std',152    'pallet-structure/std',153    'pallet-fungible/std',154    'pallet-refungible/std',155    'pallet-nonfungible/std',156    'pallet-proxy-rmrk-core/std',157    'pallet-proxy-rmrk-equip/std',158    'pallet-unique/std',159    'pallet-unique-scheduler-v2/std',160    'pallet-charge-transaction/std',161    'up-data-structs/std',162    'sp-api/std',163    'sp-block-builder/std',164    "sp-consensus-aura/std",165    'sp-core/std',166    'sp-inherents/std',167    'sp-io/std',168    'sp-offchain/std',169    'sp-runtime/std',170    'sp-session/std',171    'sp-std/std',172    'sp-transaction-pool/std',173    'sp-version/std',174    'xcm/std',175    'xcm-builder/std',176    'xcm-executor/std',177    'up-common/std',178    'rmrk-rpc/std',179    'evm-coder/std',180    'up-sponsorship/std',181182    "orml-vesting/std",183    "orml-tokens/std",184    "orml-xtokens/std",185    "orml-traits/std",186    "pallet-foreign-assets/std",187188    'pallet-maintenance/std',189    'pallet-test-utils?/std',190]191limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']192opal-runtime = [193    'refungible',194    'rmrk',195    'app-promotion',196    'foreign-assets',197    'pallet-test-utils',198]199become-sapphire = []200pov-estimate = []201202refungible = []203scheduler = []204rmrk = []205foreign-assets = []206app-promotion = []207collator-selection = []208209################################################################################210# Substrate Dependencies211212[dependencies.codec]213default-features = false214features = ['derive']215package = 'parity-scale-codec'216version = '3.1.2'217218[dependencies.frame-benchmarking]219default-features = false220git = "https://github.com/paritytech/substrate"221optional = true222branch = "polkadot-v0.9.36"223224[dependencies.frame-try-runtime]225default-features = false226git = "https://github.com/paritytech/substrate"227optional = true228branch = "polkadot-v0.9.36"229230[dependencies.frame-executive]231default-features = false232git = "https://github.com/paritytech/substrate"233branch = "polkadot-v0.9.36"234235[dependencies.frame-support]236default-features = false237git = "https://github.com/paritytech/substrate"238branch = "polkadot-v0.9.36"239240[dependencies.frame-system]241default-features = false242git = "https://github.com/paritytech/substrate"243branch = "polkadot-v0.9.36"244245[dependencies.frame-system-benchmarking]246default-features = false247git = "https://github.com/paritytech/substrate"248optional = true249branch = "polkadot-v0.9.36"250251[dependencies.frame-system-rpc-runtime-api]252default-features = false253git = "https://github.com/paritytech/substrate"254branch = "polkadot-v0.9.36"255256[dependencies.hex-literal]257optional = true258version = '0.3.3'259260[dependencies.serde]261default-features = false262features = ['derive']263optional = true264version = '1.0.130'265266[dependencies.pallet-aura]267default-features = false268git = "https://github.com/paritytech/substrate"269branch = "polkadot-v0.9.36"270271[dependencies.pallet-authorship]272default-features = false273git = 'https://github.com/paritytech/substrate'274branch = 'polkadot-v0.9.36'275276[dependencies.pallet-session]277default-features = false278git = 'https://github.com/paritytech/substrate'279branch = 'polkadot-v0.9.36'280281[dependencies.pallet-balances]282default-features = false283git = "https://github.com/paritytech/substrate"284branch = "polkadot-v0.9.36"285286# Contracts specific packages287# [dependencies.pallet-contracts]288# git = 'https://github.com/paritytech/substrate'289# default-features = false290# branch = 'master'291# version = '4.0.0-dev'292293# [dependencies.pallet-contracts-primitives]294# git = 'https://github.com/paritytech/substrate'295# default-features = false296# branch = 'master'297# version = '4.0.0-dev'298299# [dependencies.pallet-contracts-rpc-runtime-api]300# git = 'https://github.com/paritytech/substrate'301# default-features = false302# branch = 'master'303# version = '4.0.0-dev'304305[dependencies.pallet-randomness-collective-flip]306default-features = false307git = "https://github.com/paritytech/substrate"308branch = "polkadot-v0.9.36"309310[dependencies.pallet-sudo]311default-features = false312git = "https://github.com/paritytech/substrate"313branch = "polkadot-v0.9.36"314315[dependencies.pallet-timestamp]316default-features = false317git = "https://github.com/paritytech/substrate"318branch = "polkadot-v0.9.36"319320[dependencies.pallet-transaction-payment]321default-features = false322git = "https://github.com/paritytech/substrate"323branch = "polkadot-v0.9.36"324325[dependencies.pallet-transaction-payment-rpc-runtime-api]326default-features = false327git = "https://github.com/paritytech/substrate"328branch = "polkadot-v0.9.36"329330[dependencies.pallet-treasury]331default-features = false332git = "https://github.com/paritytech/substrate"333branch = "polkadot-v0.9.36"334335[dependencies.sp-arithmetic]336default-features = false337git = "https://github.com/paritytech/substrate"338branch = "polkadot-v0.9.36"339340[dependencies.sp-api]341default-features = false342git = "https://github.com/paritytech/substrate"343branch = "polkadot-v0.9.36"344345[dependencies.sp-block-builder]346default-features = false347git = "https://github.com/paritytech/substrate"348branch = "polkadot-v0.9.36"349350[dependencies.sp-core]351default-features = false352git = "https://github.com/paritytech/substrate"353branch = "polkadot-v0.9.36"354355[dependencies.sp-consensus-aura]356default-features = false357git = "https://github.com/paritytech/substrate"358branch = "polkadot-v0.9.36"359360[dependencies.sp-inherents]361default-features = false362git = "https://github.com/paritytech/substrate"363branch = "polkadot-v0.9.36"364365[dependencies.sp-io]366default-features = false367git = "https://github.com/paritytech/substrate"368branch = "polkadot-v0.9.36"369370[dependencies.sp-offchain]371default-features = false372git = "https://github.com/paritytech/substrate"373branch = "polkadot-v0.9.36"374375[dependencies.sp-runtime]376default-features = false377git = "https://github.com/paritytech/substrate"378branch = "polkadot-v0.9.36"379380[dependencies.sp-session]381default-features = false382git = "https://github.com/paritytech/substrate"383branch = "polkadot-v0.9.36"384385[dependencies.sp-std]386default-features = false387git = "https://github.com/paritytech/substrate"388branch = "polkadot-v0.9.36"389390[dependencies.sp-transaction-pool]391default-features = false392git = "https://github.com/paritytech/substrate"393branch = "polkadot-v0.9.36"394395[dependencies.sp-version]396default-features = false397git = "https://github.com/paritytech/substrate"398branch = "polkadot-v0.9.36"399400[dependencies.smallvec]401version = '1.6.1'402403################################################################################404# Cumulus dependencies405406[dependencies.parachain-info]407default-features = false408git = "https://github.com/paritytech/cumulus"409branch = "polkadot-v0.9.36"410411[dependencies.cumulus-pallet-aura-ext]412git = "https://github.com/paritytech/cumulus"413branch = "polkadot-v0.9.36"414default-features = false415416[dependencies.cumulus-pallet-parachain-system]417git = "https://github.com/paritytech/cumulus"418branch = "polkadot-v0.9.36"419default-features = false420421[dependencies.cumulus-primitives-core]422git = "https://github.com/paritytech/cumulus"423branch = "polkadot-v0.9.36"424default-features = false425426[dependencies.cumulus-pallet-xcm]427git = "https://github.com/paritytech/cumulus"428branch = "polkadot-v0.9.36"429default-features = false430431[dependencies.cumulus-pallet-dmp-queue]432git = "https://github.com/paritytech/cumulus"433branch = "polkadot-v0.9.36"434default-features = false435436[dependencies.cumulus-pallet-xcmp-queue]437git = "https://github.com/paritytech/cumulus"438branch = "polkadot-v0.9.36"439default-features = false440441[dependencies.cumulus-primitives-utility]442git = "https://github.com/paritytech/cumulus"443branch = "polkadot-v0.9.36"444default-features = false445446[dependencies.cumulus-primitives-timestamp]447git = "https://github.com/paritytech/cumulus"448branch = "polkadot-v0.9.36"449default-features = false450451################################################################################452# Polkadot dependencies453454[dependencies.polkadot-parachain]455git = "https://github.com/paritytech/polkadot"456branch = "release-v0.9.36"457default-features = false458459[dependencies.xcm]460git = "https://github.com/paritytech/polkadot"461branch = "release-v0.9.36"462default-features = false463464[dependencies.xcm-builder]465git = "https://github.com/paritytech/polkadot"466branch = "release-v0.9.36"467default-features = false468469[dependencies.xcm-executor]470git = "https://github.com/paritytech/polkadot"471branch = "release-v0.9.36"472default-features = false473474[dependencies.pallet-xcm]475git = "https://github.com/paritytech/polkadot"476branch = "release-v0.9.36"477default-features = false478479################################################################################480# local dependencies481482[dependencies]483orml-vesting.workspace = true484orml-xtokens.workspace = true485orml-tokens.workspace = true486orml-traits.workspace = true487488log = { version = "0.4.16", default-features = false }489up-common = { path = "../../primitives/common", default-features = false }490scale-info = { version = "2.0.1", default-features = false, features = [491    "derive",492] }493derivative = "2.2.0"494pallet-unique = { path = '../../pallets/unique', default-features = false }495up-rpc = { path = "../../primitives/rpc", default-features = false }496up-pov-estimate-rpc = { path = "../../primitives/pov-estimate-rpc", default-features = false }497app-promotion-rpc = { path = "../../primitives/app_promotion_rpc", default-features = false }498rmrk-rpc = { path = "../../primitives/rmrk-rpc", default-features = false }499fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }500fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }501pallet-inflation = { path = '../../pallets/inflation', default-features = false }502pallet-app-promotion = { path = '../../pallets/app-promotion', default-features = false }503up-data-structs = { path = '../../primitives/data-structs', default-features = false }504pallet-collator-selection = { default-features = false, path = "../../pallets/collator-selection" }505pallet-identity = { default-features = false, path = "../../pallets/identity" }506pallet-configuration = { default-features = false, path = "../../pallets/configuration" }507pallet-common = { default-features = false, path = "../../pallets/common" }508pallet-structure = { default-features = false, path = "../../pallets/structure" }509pallet-fungible = { default-features = false, path = "../../pallets/fungible" }510pallet-refungible = { default-features = false, path = "../../pallets/refungible" }511pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" }512pallet-proxy-rmrk-core = { default-features = false, path = "../../pallets/proxy-rmrk-core", package = "pallet-rmrk-core" }513pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }514pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.36", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }515pallet-unique-scheduler-v2 = { path = '../../pallets/scheduler-v2', default-features = false }516pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }517pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }518pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }519pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }520pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }521pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }522pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }523fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }524fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }525pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }526evm-coder = { default-features = false, path = '../../crates/evm-coder' }527up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.36' }528pallet-foreign-assets = { default-features = false, path = "../../pallets/foreign-assets" }529pallet-maintenance = { default-features = false, path = "../../pallets/maintenance" }530precompile-utils-macro = { path = "../common/ethereum/precompiles/utils/macro" }531num_enum = { version = "0.5.3", default-features = false }532533################################################################################534# Test dependencies535536pallet-test-utils = { optional = true, default-features = false, path = "../../test-pallets/utils" }537538################################################################################539# Other Dependencies540541impl-trait-for-tuples = "0.2.2"542543################################################################################544# Dev Dependencies545546[dev-dependencies.logtest]547version = "2.0.0"548549################################################################################550# Build Dependencies551552[build-dependencies.substrate-wasm-builder]553git = "https://github.com/paritytech/substrate"554branch = "polkadot-v0.9.36"
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -44,14 +44,7 @@
 
 pub use runtime_common::*;
 
-#[cfg(feature = "become-sapphire")]
-pub const RUNTIME_NAME: &str = "sapphire";
-#[cfg(feature = "become-sapphire")]
-pub const TOKEN_SYMBOL: &str = "QTZ";
-
-#[cfg(not(feature = "become-sapphire"))]
 pub const RUNTIME_NAME: &str = "opal";
-#[cfg(not(feature = "become-sapphire"))]
 pub const TOKEN_SYMBOL: &str = "OPL";
 
 /// This runtime version.
@@ -68,15 +61,6 @@
 
 parameter_types! {
 	pub const Version: RuntimeVersion = VERSION;
-}
-#[cfg(feature = "become-sapphire")]
-parameter_types! {
-	pub const SS58Prefix: u16 = 8883;
-	pub const ChainId: u64 = 8883;
-}
-
-#[cfg(not(feature = "become-sapphire"))]
-parameter_types! {
 	pub const SS58Prefix: u16 = 42;
 	pub const ChainId: u64 = 8882;
 }
modifiedruntime/quartz/Cargo.tomldiffbeforeafterboth
--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -182,6 +182,7 @@
 ]
 limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']
 quartz-runtime = ['refungible', 'app-promotion', 'collator-selection', 'foreign-assets']
+become-sapphire = []
 pov-estimate = []
 
 refungible = []
modifiedruntime/quartz/src/lib.rsdiffbeforeafterboth
--- a/runtime/quartz/src/lib.rs
+++ b/runtime/quartz/src/lib.rs
@@ -44,6 +44,9 @@
 
 pub use runtime_common::*;
 
+#[cfg(feature = "become-sapphire")]
+pub const RUNTIME_NAME: &str = "sapphire";
+#[cfg(not(feature = "become-sapphire"))]
 pub const RUNTIME_NAME: &str = "quartz";
 pub const TOKEN_SYMBOL: &str = "QTZ";
 
@@ -61,6 +64,15 @@
 
 parameter_types! {
 	pub const Version: RuntimeVersion = VERSION;
+}
+#[cfg(feature = "become-sapphire")]
+parameter_types! {
+	pub const SS58Prefix: u16 = 8883;
+	pub const ChainId: u64 = 8883;
+}
+
+#[cfg(not(feature = "become-sapphire"))]
+parameter_types! {
 	pub const SS58Prefix: u8 = 255;
 	pub const ChainId: u64 = 8881;
 }
modifiedtests/src/pallet-presence.test.tsdiffbeforeafterboth
--- a/tests/src/pallet-presence.test.ts
+++ b/tests/src/pallet-presence.test.ts
@@ -69,7 +69,7 @@
       const collatorSelection = ['authorship', 'session', 'collatorselection', 'identity'];
       const testUtils = 'testutils';
 
-      if (chain.eq('OPAL by UNIQUE') || chain.eq('SAPPHIRE by UNIQUE')) {
+      if (chain.eq('OPAL by UNIQUE')) {
         requiredPallets.push(
           refungible,
           foreignAssets,
@@ -77,7 +77,7 @@
           testUtils,
           ...rmrkPallets,
         );
-      } else if (chain.eq('QUARTZ by UNIQUE')) {
+      } else if (chain.eq('QUARTZ by UNIQUE') || chain.eq('SAPPHIRE by UNIQUE')) {
         requiredPallets.push(
           refungible,
           appPromotion,