feat: bridges, PMM, flash workflow, token-aggregation, and deployment docs
- CCIP/trustless bridge contracts, GRU tokens, DEX/PMM tests, reserve vault. - Token-aggregation service routes, planner, chain config, relay env templates. - Config snapshots and multi-chain deployment markdown updates. - gitignore services/btc-intake/dist/ (tsc output); do not track dist. Run forge build && forge test before deploy (large solc graph). Made-with: Cursor
This commit is contained in:
@@ -11,6 +11,17 @@ source "$SCRIPT_DIR/../lib/deployment/dotenv.sh"
|
||||
source "$SCRIPT_DIR/../lib/deployment/prompts.sh"
|
||||
load_deployment_env
|
||||
|
||||
first_set_env() {
|
||||
local key
|
||||
for key in "$@"; do
|
||||
if [[ -n "${!key:-}" ]]; then
|
||||
printf '%s' "${!key}"
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
parse_chain_filter "$@"
|
||||
if [[ ${#CHAIN_FILTER[@]} -eq 0 && -n "${DEPLOY_PMM_L2S_FILTER:-}" ]]; then
|
||||
CHAIN_FILTER=()
|
||||
@@ -42,22 +53,35 @@ for entry in "${CHAINS[@]}"; do
|
||||
dvm_var="${name}_DODO_VENDING_MACHINE_ADDRESS"
|
||||
usdt_var="${name}_OFFICIAL_USDT_ADDRESS"
|
||||
usdc_var="${name}_OFFICIAL_USDC_ADDRESS"
|
||||
usdt_var_alt="OFFICIAL_USDT_${name}"
|
||||
usdc_var_alt="OFFICIAL_USDC_${name}"
|
||||
cusdt_var="${name}_COMPLIANT_USDT_ADDRESS"
|
||||
cusdc_var="${name}_COMPLIANT_USDC_ADDRESS"
|
||||
cusdt_var_alt="COMPLIANT_USDT_${name}"
|
||||
cusdc_var_alt="COMPLIANT_USDC_${name}"
|
||||
# Per-chain cUSDT/cUSDC (optional): CUSDT_ADDRESS_<chainId> / CUSDC_ADDRESS_<chainId> or POLYGON_COMPLIANT_USDT_ADDRESS etc.
|
||||
cusdt_chain="CUSDT_ADDRESS_${chain_id}"
|
||||
cusdc_chain="CUSDC_ADDRESS_${chain_id}"
|
||||
dvm="${!dvm_var:-$DODO_VENDING_MACHINE_ADDRESS}"
|
||||
usdt="${!usdt_var:-$OFFICIAL_USDT_ADDRESS}"
|
||||
usdc="${!usdc_var:-$OFFICIAL_USDC_ADDRESS}"
|
||||
compliant_usdt="${!cusdt_var:-${!cusdt_chain:-$usdt}}"
|
||||
compliant_usdc="${!cusdc_var:-${!cusdc_chain:-$usdc}}"
|
||||
dvm="$(first_set_env "$dvm_var" "DODO_VENDING_MACHINE_ADDRESS" || true)"
|
||||
usdt="$(first_set_env "$usdt_var" "$usdt_var_alt" "OFFICIAL_USDT_ADDRESS" || true)"
|
||||
usdc="$(first_set_env "$usdc_var" "$usdc_var_alt" "OFFICIAL_USDC_ADDRESS" || true)"
|
||||
compliant_usdt="$(first_set_env "$cusdt_var" "$cusdt_var_alt" "$cusdt_chain" || true)"
|
||||
compliant_usdc="$(first_set_env "$cusdc_var" "$cusdc_var_alt" "$cusdc_chain" || true)"
|
||||
compliant_usdt="${compliant_usdt:-$usdt}"
|
||||
compliant_usdc="${compliant_usdc:-$usdc}"
|
||||
|
||||
if [[ -z "$dvm" ]] || [[ -z "$usdt" ]] || [[ -z "$usdc" ]]; then
|
||||
echo "Skip $name: set ${dvm_var} (or DODO_VENDING_MACHINE_ADDRESS), ${usdt_var}, ${usdc_var} (or OFFICIAL_USDT/USDC_ADDRESS)"
|
||||
echo "Skip $name: set ${dvm_var} (or DODO_VENDING_MACHINE_ADDRESS), ${usdt_var}/${usdt_var_alt}, ${usdc_var}/${usdc_var_alt} (or OFFICIAL_USDT/USDC_ADDRESS)"
|
||||
continue
|
||||
fi
|
||||
|
||||
if [[ -z "${!usdt_var:-}" && -z "${!usdt_var_alt:-}" ]]; then
|
||||
echo "WARN $name: using global OFFICIAL_USDT_ADDRESS fallback; set ${usdt_var} or ${usdt_var_alt} for chain-specific safety"
|
||||
fi
|
||||
if [[ -z "${!usdc_var:-}" && -z "${!usdc_var_alt:-}" ]]; then
|
||||
echo "WARN $name: using global OFFICIAL_USDC_ADDRESS fallback; set ${usdc_var} or ${usdc_var_alt} for chain-specific safety"
|
||||
fi
|
||||
|
||||
echo "=== Deploying DODOPMMIntegration on $name (chain $chain_id) ==="
|
||||
DODO_VENDING_MACHINE_ADDRESS="$dvm" \
|
||||
OFFICIAL_USDT_ADDRESS="$usdt" \
|
||||
|
||||
Reference in New Issue
Block a user