Skip to content

Commit 47a7703

Browse files
feat: improve pendle oracles deployment
1 parent 48a0ea7 commit 47a7703

File tree

3 files changed

+56
-6
lines changed

3 files changed

+56
-6
lines changed

foundry.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"rev": "1c0b329e864ebea843dcdc090c3fb92f2a96a200"
77
},
88
"lib/euler-price-oracle": {
9-
"rev": "deeffa7b518618202802f37865ed654070a7175f"
9+
"rev": "ffc3cb82615fc7d003a7f431175bd1eaf0bf41c5"
1010
},
1111
"lib/euler-swap": {
1212
"rev": "b948f4052d7ab3116235ec754368b7125dbd5082"

script/production/DeployOracleAdapters.sh

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,11 @@ fi
4949
read -p "Provide the deployment name used to save results (default: default): " deployment_name
5050
deployment_name=${deployment_name:-default}
5151

52-
if [[ "$@" == *"--account"* ]]; then
52+
if [ -n "$DEPLOYER_KEY" ]; then
53+
set -- "$@" --private-key "$DEPLOYER_KEY"
54+
fi
55+
56+
if [[ "$@" == *"--account"* && -z "$DEPLOYER_KEY" ]]; then
5357
read -s -p "Enter keystore password: " password
5458
set -- "$@" --password "$password"
5559
echo ""
@@ -377,6 +381,30 @@ while IFS=, read -r -a columns || [ -n "$columns" ]; do
377381
base="${columns[8]}"
378382
quote="${columns[9]}"
379383

384+
jq -n \
385+
--argjson addToAdapterRegistry false \
386+
--arg adapterRegistry "0x0000000000000000000000000000000000000000" \
387+
--arg pendleOracle "${columns[6]}" \
388+
--arg pendleMarket "${columns[7]}" \
389+
--arg base "${columns[8]}" \
390+
--arg quote "${columns[9]}" \
391+
--arg twapWindow "${columns[10]}" \
392+
'{
393+
addToAdapterRegistry: $addToAdapterRegistry,
394+
adapterRegistry: $adapterRegistry,
395+
pendleOracle: $pendleOracle,
396+
pendleMarket: $pendleMarket,
397+
base: $base,
398+
quote: $quote,
399+
twapWindow: $twapWindow
400+
}' --indent 4 > script/${jsonName}_input.json
401+
elif [[ "$provider" == "PendleUniversal" ]]; then
402+
scriptName=${baseName}.s.sol:PendleUniversalAdapter
403+
jsonName=03_PendleUniversalAdapter
404+
405+
base="${columns[8]}"
406+
quote="${columns[9]}"
407+
380408
jq -n \
381409
--argjson addToAdapterRegistry false \
382410
--arg adapterRegistry "0x0000000000000000000000000000000000000000" \
@@ -423,7 +451,23 @@ while IFS=, read -r -a columns || [ -n "$columns" ]; do
423451
continue
424452
fi
425453

426-
if script/utils/executeForgeScript.sh $scriptName "$@"; then
454+
skip=false
455+
if [[ "$provider" == *Pendle* ]]; then
456+
result=$(cast call "${columns[6]}" "getOracleState(address,uint32)(bool,uint16,bool)" ${columns[7]} ${columns[10]} --rpc-url $DEPLOYMENT_RPC_URL)
457+
increaseCardinalityRequired=$(echo "$result" | head -1)
458+
cardinalityRequired=$(echo "$result" | sed -n '2p')
459+
oldestObservationSatisfied=$(echo "$result" | tail -1)
460+
461+
if [[ "$increaseCardinalityRequired" == "true" ]]; then
462+
echo "Increasing observation cardinality for $adapterName..."
463+
cast send "${columns[7]}" "increaseObservationsCardinalityNext(uint16)" $cardinalityRequired --rpc-url $DEPLOYMENT_RPC_URL "$@"
464+
skip=true
465+
elif [[ "$oldestObservationSatisfied" == "false" ]]; then
466+
skip=true
467+
fi
468+
fi
469+
470+
if [[ "$skip" != "true" ]] && script/utils/executeForgeScript.sh $scriptName "$@"; then
427471
counter=$(script/utils/getFileNameCounter.sh "$deployment_dir/output/${jsonName}.json")
428472
adapter=$(jq -r '.adapter' "script/${jsonName}_output.json")
429473
entry="${baseSymbol},${quoteSymbol},${provider},${adapterName},${adapter},$base,$quote,${shouldWhitelist}"
@@ -442,7 +486,13 @@ while IFS=, read -r -a columns || [ -n "$columns" ]; do
442486
for json_file in script/*.json; do
443487
rm "$json_file"
444488
done
445-
echo "Error deploying $adapterName. Exiting..."
446-
exit 1
489+
490+
if [[ "$skip" == "true" ]]; then
491+
echo "Skipping deployment of $adapterName. Insufficient observation history."
492+
continue
493+
else
494+
echo "Error deploying $adapterName. Exiting..."
495+
exit 1
496+
fi
447497
fi
448498
done < <(tr -d '\r' < "$csv_file")

0 commit comments

Comments
 (0)