tax rate, version and compose (#70)
resolves #67 Co-authored-by: johba <johba@harb.eth> Reviewed-on: https://codeberg.org/johba/harb/pulls/70
This commit is contained in:
parent
d8ca557eb6
commit
6cbb1781ce
40 changed files with 1243 additions and 213 deletions
|
|
@ -1,7 +1,49 @@
|
|||
#!/usr/bin/env sh
|
||||
. "$(dirname -- "$0")/_/husky.sh"
|
||||
set -e
|
||||
|
||||
# Version validation - check if contract VERSION is in COMPATIBLE_CONTRACT_VERSIONS
|
||||
# Only run if both version files exist (system may not be implemented yet)
|
||||
if [ -f "onchain/src/Kraiken.sol" ] && [ -f "kraiken-lib/src/version.ts" ]; then
|
||||
STAGED_FILES=$(git diff --staged --name-only)
|
||||
if echo "$STAGED_FILES" | grep -qE "(onchain/src/Kraiken.sol|kraiken-lib/src/version.ts)"; then
|
||||
echo "Validating version sync between contract and kraiken-lib..."
|
||||
|
||||
# Extract contract VERSION constant
|
||||
CONTRACT_VERSION=$(grep -oP 'VERSION\s*=\s*\K\d+' onchain/src/Kraiken.sol | head -1)
|
||||
|
||||
# Only validate if VERSION constant exists in contract
|
||||
if [ -n "$CONTRACT_VERSION" ]; then
|
||||
# Extract library version and compatible versions
|
||||
LIB_VERSION=$(grep -oP 'KRAIKEN_LIB_VERSION\s*=\s*\K\d+' kraiken-lib/src/version.ts)
|
||||
COMPATIBLE=$(grep -oP 'COMPATIBLE_CONTRACT_VERSIONS\s*=\s*\[\K[^\]]+' kraiken-lib/src/version.ts)
|
||||
|
||||
echo " Contract VERSION: $CONTRACT_VERSION"
|
||||
echo " Library VERSION: $LIB_VERSION"
|
||||
echo " Compatible versions: $COMPATIBLE"
|
||||
|
||||
# Check if contract version is in compatible list
|
||||
if echo ",$COMPATIBLE," | grep -q ",$CONTRACT_VERSION,"; then
|
||||
echo " ✓ Version sync validated"
|
||||
else
|
||||
echo " ❌ Version validation failed!"
|
||||
echo ""
|
||||
echo "Contract VERSION ($CONTRACT_VERSION) not in COMPATIBLE_CONTRACT_VERSIONS"
|
||||
echo ""
|
||||
echo "To fix:"
|
||||
echo "1. Update COMPATIBLE_CONTRACT_VERSIONS in kraiken-lib/src/version.ts to include $CONTRACT_VERSION:"
|
||||
echo " export const COMPATIBLE_CONTRACT_VERSIONS = [$COMPATIBLE, $CONTRACT_VERSION];"
|
||||
echo ""
|
||||
echo "2. Or update KRAIKEN_LIB_VERSION if this is a breaking change:"
|
||||
echo " export const KRAIKEN_LIB_VERSION = $CONTRACT_VERSION;"
|
||||
echo " export const COMPATIBLE_CONTRACT_VERSIONS = [$CONTRACT_VERSION];"
|
||||
echo ""
|
||||
echo "See VERSION_VALIDATION.md for details."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d "onchain" ]; then
|
||||
(cd onchain && npx lint-staged)
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue