From 2cee36545d136ada18e0750ed437858c4e58fca8 Mon Sep 17 00:00:00 2001 From: Kubudak90 Date: Sat, 20 Jun 2026 23:17:26 +0300 Subject: [PATCH] fix register builder code parsing --- skills/build-on-base/scripts/register.sh | 6 +++- skills/build-on-base/scripts/register_test.sh | 34 +++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100755 skills/build-on-base/scripts/register_test.sh diff --git a/skills/build-on-base/scripts/register.sh b/skills/build-on-base/scripts/register.sh index 7c7ed55..04f58f9 100755 --- a/skills/build-on-base/scripts/register.sh +++ b/skills/build-on-base/scripts/register.sh @@ -18,7 +18,11 @@ RESPONSE=$(curl -sf -X POST "$API_URL" \ exit 1 } -BUILDER_CODE=$(echo "$RESPONSE" | grep -o '"builder_code":"[^"]*"' | cut -d'"' -f4) +BUILDER_CODE=$(printf '%s' "$RESPONSE" | jq -r '.builder_code // empty') || { + echo "Error: Failed to parse API response" >&2 + echo "Response: $RESPONSE" >&2 + exit 1 +} if [ -z "$BUILDER_CODE" ]; then echo "Error: No builder_code in API response" >&2 diff --git a/skills/build-on-base/scripts/register_test.sh b/skills/build-on-base/scripts/register_test.sh new file mode 100755 index 0000000..8d245c2 --- /dev/null +++ b/skills/build-on-base/scripts/register_test.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +TMP_DIR=$(mktemp -d) +trap 'rm -rf "$TMP_DIR"' EXIT + +cat >"$TMP_DIR/curl" <<'FAKE_CURL' +#!/usr/bin/env bash +cat <<'JSON' +{ + "builder_code": "bc_a1b2c3d4", + "wallet_address": "0x123", + "usage_instructions": "Append this builder code to your onchain transactions." +} +JSON +FAKE_CURL +chmod +x "$TMP_DIR/curl" + +set +e +output=$(PATH="$TMP_DIR:$PATH" bash "$SCRIPT_DIR/register.sh" "0x123" 2>&1) +status=$? +set -e + +if [ "$status" -ne 0 ]; then + echo "Expected register.sh to succeed, got exit $status:" >&2 + echo "$output" >&2 + exit 1 +fi + +if [ "$output" != "bc_a1b2c3d4" ]; then + echo "Expected builder code bc_a1b2c3d4, got: $output" >&2 + exit 1 +fi