فهرست منبع

feat(target_chains/starknet): add version method (#1630)

Pavel Strakhov 1 سال پیش
والد
کامیت
eb393ede1b

+ 23 - 0
.github/workflows/ci-starknet-contract-release.yml

@@ -0,0 +1,23 @@
+name: Starknet release checks
+
+on:
+  push:
+    tags:
+      - pyth-starknet-contract-v*
+jobs:
+  check:
+    name: Starknet release checks
+    runs-on: ubuntu-latest
+    defaults:
+      run:
+        working-directory: target_chains/starknet/contracts/
+    steps:
+      - uses: actions/checkout@v3
+      - name: Verify version
+        run: |
+          version1=$(grep version Scarb.toml | cut -d '"' -f 2)
+          version2=${GITHUB_REF_NAME#"pyth-starknet-contract-v"}
+          if [ "${version1}" != "${version2}" ]; then
+            >&2 echo Version mismatch in Scarb.toml and tag name
+            exit 1
+          fi

+ 8 - 0
.github/workflows/ci-starknet-contract.yml

@@ -35,3 +35,11 @@ jobs:
         run: snforge test
       - name: Test local deployment script
         run: bash -c 'PATH="$PATH:$HOME/.config/.dojo/bin" katana & . ~/.config/.starkli/env && deploy/local_deploy'
+      - name: Verify version
+        run: |
+          version1=$(grep version Scarb.toml | cut -d '"' -f 2)
+          version2=$(grep -A1 "fn version" src/pyth.cairo | grep "'" | cut -d "'" -f 2)
+          if [ "${version1}" != "${version2}" ]; then
+            >&2 echo Version mismatch in Scarb.toml and src/pyth.cairo
+            exit 1
+          fi

+ 4 - 0
target_chains/starknet/contracts/src/pyth.cairo

@@ -351,6 +351,10 @@ mod pyth {
             }
         }
 
+        fn version(self: @ContractState) -> felt252 {
+            '0.1.0'
+        }
+
         fn pyth_upgradable_magic(self: @ContractState) -> u32 {
             0x97a6f304
         }

+ 1 - 0
target_chains/starknet/contracts/src/pyth/interface.cairo

@@ -31,6 +31,7 @@ pub trait IPyth<T> {
     ) -> Array<PriceFeed>;
     fn get_update_fee(self: @T, data: ByteArray) -> u256;
     fn execute_governance_instruction(ref self: T, data: ByteArray);
+    fn version(self: @T) -> felt252;
     fn pyth_upgradable_magic(self: @T) -> u32;
 }