What changed, and why it matters
This commit adds a new third-party plugin called 'cashu-plugin' to BTCPay Server's automated compatibility-check script. The script clones the plugin's repository, initializes its submodule, wires it against the current BTCPay Server code, and builds it in CI. There is no code change to BTCPay Server itself, no bug fix, and no security-related content in the commit message or diff.
No security action required. Treat as routine CI maintenance. If reviewing for supply-chain risk, verify the trustworthiness and pinning of the new external repository https://github.com/cashubtc/BTCNutServer.git, but that is outside the scope of this diff.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The change is confined to .circleci/check-btcpay-plugin-compat.sh. It introduces CASHU_REPO, clones BTCNutServer into cashu-plugin, initializes the DotNut submodule, splices the local BTCPay Server copy into cashu-plugin/submodules/btcpayserver, and adds a build step for Plugin/BTCPayServer.Plugins.Cashu/BTCPayServer.Plugins.Cashu.csproj. This is purely CI/infrastructure work for plugin compatibility testing.
Changed components
.circleci/check-btcpay-plugin-compat.shInspect captured patch +10 / −0
diff --git a/.circleci/check-btcpay-plugin-compat.sh b/.circleci/check-btcpay-plugin-compat.sh
index a237a1a..fe6a878 100755
--- a/.circleci/check-btcpay-plugin-compat.sh
+++ b/.circleci/check-btcpay-plugin-compat.sh
@@ -12,6 +12,7 @@ BOLTCARDS_REPO="https://github.com/NicolasDorier/boltcards-plugin.git"
SHOPIFY_REPO="https://github.com/btcpayserver/btcpayserver-shopify-plugin.git"
MONERO_REPO="https://github.com/btcpay-monero/btcpayserver-monero-plugin.git"
BLINK_REPO="https://github.com/Kukks/BTCPayServerPlugins.git"
+CASHU_REPO="https://github.com/cashubtc/BTCNutServer.git"
BTCPAY_SPLICE_ABS=""
@@ -64,9 +65,11 @@ git clone "$BOLTCARDS_REPO" boltcards-plugin
git clone "$SHOPIFY_REPO" shopify-plugin
git clone "$MONERO_REPO" monero-plugin
git clone "$BLINK_REPO" blink
+git clone "$CASHU_REPO" cashu-plugin
printf '\n==> Initializing non-BTCPay plugin submodules\n'
GIT_LFS_SKIP_SMUDGE=1 git -C blink submodule update --init --depth 1 --recommend-shallow --filter=blob:none submodules/walletwasabi
+git -C cashu-plugin submodule update --init --depth 1 --recommend-shallow --filter=blob:none submodules/DotNut
printf '\n==> Wiring SamRock Boltz submodule from the cloned Boltz repo\n'
rm -rf samrock-protocol/submodules/boltz
@@ -88,6 +91,7 @@ splice_all() {
replace_btcpay_copy shopify-plugin/submodules/btcpayserver
replace_btcpay_copy monero-plugin/submodules/btcpayserver
replace_btcpay_copy blink/submodules/btcpayserver
+ replace_btcpay_copy cashu-plugin/submodules/btcpayserver
replace_btcpay_copy samrock-protocol/submodules/boltz/btcpayserver
}
@@ -138,6 +142,12 @@ build_all() {
)
_res["monero-plugin"]=$?
+ (
+ cd cashu-plugin
+ run_build "cashu-plugin" "Plugin/BTCPayServer.Plugins.Cashu/BTCPayServer.Plugins.Cashu.csproj"
+ )
+ _res["cashu-plugin"]=$?
+
for project in blink/Plugins/*/*.csproj; do
plugin_name="$(basename "$(dirname "$project")")"
plugin_name="${plugin_name#BTCPayServer.Plugins.}"
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.