From 4ad52d44bba79de8c6a814e319a84f3b942ee90d Mon Sep 17 00:00:00 2001 From: Gonzalo Balabasquer Date: Mon, 23 Mar 2020 14:36:59 -0300 Subject: [PATCH] Some fixes setting osm mom and pip whitelist --- libexec/setters/set-ilks-osm-mom | 6 ++---- libexec/setters/set-ilks-pip-whitelist | 19 +++++++++++-------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/libexec/setters/set-ilks-osm-mom b/libexec/setters/set-ilks-osm-mom index b3d65bc1..ea2ff677 100755 --- a/libexec/setters/set-ilks-osm-mom +++ b/libexec/setters/set-ilks-osm-mom @@ -21,10 +21,8 @@ for token in $tokens; do sethSend "$OSM_MOM" 'setOsm(bytes32,address)' "$(seth --to-bytes32 "$(seth --from-ascii "${token}-${ilk}")")" "$(eval echo "\$PIP_${token}")" done # Rely OsmMom in OSM only if DEPLOYER has permission to do it - if [[ "$(seth call "$(eval echo "\$PIP_${token}")" 'wards(address)(uint256)' "$ETH_FROM" | sed 's/^0*//')" == 1 ]]; then - for ilk in $ilks; do - sethSend "$(eval echo "\$PIP_${token}")" 'rely(address)' "$OSM_MOM" - done + if [[ "$(seth call "$(eval echo "\$PIP_${token}")" 'wards(address)(uint256)' "$ETH_FROM")" == 1 ]]; then + sethSend "$(eval echo "\$PIP_${token}")" 'rely(address)' "$OSM_MOM" fi fi done diff --git a/libexec/setters/set-ilks-pip-whitelist b/libexec/setters/set-ilks-pip-whitelist index 45086351..c3f1bdb1 100755 --- a/libexec/setters/set-ilks-pip-whitelist +++ b/libexec/setters/set-ilks-pip-whitelist @@ -12,13 +12,16 @@ log "SET ILKS PIP WHITELIST:" tokens=$(jq -r ".tokens | keys_unsorted[]" "$CONFIG_FILE") for token in $tokens; do - pipAddr=$(jq -r ".tokens.${token} | .import.pip | values" "$CONFIG_FILE") - type=$(jq -r ".tokens.${token} | .pipDeploy | .type | values" "$CONFIG_FILE") - if [[ "$pipAddr" != "" || "$type" == "median" ]]; then - # Whitelist Spotter in OSM or in Median only if DEPLOYER has permission to do it - if [[ "$(seth call "$(eval echo "\$PIP_${token}")" 'wards(address)(uint256)' "$ETH_FROM" | sed 's/^0*//')" == 1 ]]; then - sethSend "$(eval echo "\$PIP_${token}")" 'kiss(address)' "$MCD_SPOT" - sethSend "$(eval echo "\$PIP_${token}")" 'kiss(address)' "$MCD_END" - fi + # Check if ETH_FROM is relied or $PIP_${token} doesn't have a wards system + set +e; RELIED=$(seth call "$(eval echo "\$PIP_${token}")" 'wards(address)(uint256)' "$ETH_FROM" 2>/dev/null); set -e + + # "" : Doesn't have wards system + # "0": Has wards system and ETH_FROM is not relied + # "1": Has wards system and ETH_FROM is relied + + if [[ "$RELIED" == "1" ]]; then + # Whitelist Spotter in PIP (OSM or Median) + sethSend "$(eval echo "\$PIP_${token}")" 'kiss(address)' "$MCD_SPOT" + sethSend "$(eval echo "\$PIP_${token}")" 'kiss(address)' "$MCD_END" fi done