Compare commits

..

11 Commits

41 changed files with 180 additions and 64 deletions

View File

@ -1,30 +1,41 @@
version: 2
jobs:
build:
machine:
docker_layer_caching: true
steps:
- checkout
test:
fast_tests:
machine:
docker_layer_caching: true
steps:
- checkout
- run:
command: |
cd BTCPayServer.Tests
docker-compose -v
docker-compose down --v
docker-compose build
TESTS_RUN_EXTERNAL_INTEGRATION="false"
if [ "$CIRCLE_PROJECT_USERNAME" == "btcpayserver" ] && [ "$CIRCLE_PROJECT_REPONAME" == "btcpayserver" ]; then
TESTS_RUN_EXTERNAL_INTEGRATION="true"
fi
docker-compose run -e TESTS_RUN_EXTERNAL_INTEGRATION=$TESTS_RUN_EXTERNAL_INTEGRATION tests
cd .circleci && ./run-tests.sh "Fast=Fast"
selenium_tests:
machine:
docker_layer_caching: true
steps:
- checkout
- run:
command: |
cd .circleci && ./run-tests.sh "Selenium=Selenium"
integration_tests:
machine:
docker_layer_caching: true
steps:
- checkout
- run:
command: |
cd .circleci && ./run-tests.sh "Integration=Integration"
external_tests:
machine:
docker_layer_caching: true
steps:
- checkout
- run:
command: |
cd .circleci && ./run-tests.sh "ExternalIntegration=ExternalIntegration"
# publish jobs require $DOCKERHUB_REPO, $DOCKERHUB_USER, $DOCKERHUB_PASS defined
publish_docker_linuxamd64:
amd64:
machine:
docker_layer_caching: true
steps:
@ -33,11 +44,11 @@ jobs:
command: |
LATEST_TAG=${CIRCLE_TAG:1} #trim v from tag
#
sudo docker build --pull -t $DOCKERHUB_REPO:$LATEST_TAG-amd64 -f Dockerfile.linuxamd64 .
sudo docker build --pull -t $DOCKERHUB_REPO:$LATEST_TAG-amd64 -f amd64.Dockerfile .
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-amd64
publish_docker_linuxarm:
arm32v7:
machine:
docker_layer_caching: true
steps:
@ -47,11 +58,11 @@ jobs:
sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
LATEST_TAG=${CIRCLE_TAG:1} #trim v from tag
#
sudo docker build --pull -t $DOCKERHUB_REPO:$LATEST_TAG-arm32v7 -f Dockerfile.linuxarm32v7 .
sudo docker build --pull -t $DOCKERHUB_REPO:$LATEST_TAG-arm32v7 -f arm32v7.Dockerfile .
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-arm32v7
publish_docker_multiarch:
multiarch:
machine:
enabled: true
image: circleci/classic:201808-01
@ -74,11 +85,17 @@ workflows:
version: 2
build_and_test:
jobs:
- test
- fast_tests
- selenium_tests
- integration_tests
- external_tests:
filters:
branches:
only: master
publish:
jobs:
- publish_docker_linuxamd64:
- amd64:
filters:
# ignore any commit on any branch by default
branches:
@ -86,16 +103,16 @@ workflows:
# only act on version tags
tags:
only: /v[1-9]+(\.[0-9]+)*/
- publish_docker_linuxarm:
- arm32v7:
filters:
branches:
ignore: /.*/
tags:
only: /v[1-9]+(\.[0-9]+)*/
- publish_docker_multiarch:
- multiarch:
requires:
- publish_docker_linuxamd64
- publish_docker_linuxarm
- amd64
- arm32v7
filters:
branches:
ignore: /.*/

8
.circleci/run-tests.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
set -e
cd ../BTCPayServer.Tests
docker-compose -v
docker-compose down --v
docker-compose build
docker-compose run -e "TEST_FILTERS=$1" tests

View File

@ -134,6 +134,7 @@ services:
bind-addr=0.0.0.0
announce-addr=customer_lightningd
log-level=debug
funding-confirms=1
dev-broadcast-interval=1000
dev-bitcoind-poll=1
ports:
@ -177,6 +178,7 @@ services:
bitcoin-rpcconnect=bitcoind
bind-addr=0.0.0.0
announce-addr=merchant_lightningd
funding-confirms=1
network=regtest
log-level=debug
dev-broadcast-interval=1000
@ -240,6 +242,7 @@ services:
bitcoind.zmqpubrawblock=tcp://bitcoind:28332
bitcoind.zmqpubrawtx=tcp://bitcoind:28333
externalip=merchant_lnd:9735
bitcoin.defaultchanconfs=1
no-macaroons=1
debuglevel=debug
noseedbackup=1
@ -270,6 +273,7 @@ services:
bitcoind.zmqpubrawblock=tcp://bitcoind:28332
bitcoind.zmqpubrawtx=tcp://bitcoind:28333
externalip=customer_lnd:10009
bitcoin.defaultchanconfs=1
no-macaroons=1
debuglevel=debug
noseedbackup=1

View File

@ -1,9 +1,9 @@
#!/bin/sh
set -e
dotnet test --filter Fast=Fast --no-build
dotnet test --filter Selenium=Selenium --no-build -v n
dotnet test --filter Integration=Integration --no-build -v n
if [[ "$TESTS_RUN_EXTERNAL_INTEGRATION" == "true" ]]; then
dotnet test --filter ExternalIntegration=ExternalIntegration --no-build -v n
FILTERS=" "
if [[ "$TEST_FILTERS" ]]; then
FILTERS="--filter $TEST_FILTERS"
fi
dotnet test $FILTERS --no-build -v n

View File

@ -93,6 +93,7 @@ namespace BTCPayServer.HostedServices
foreach (var store in await ctx.Stores.ToArrayAsync())
{
#pragma warning disable CS0618 // Type or member is obsolete
_StoreRepository.PrepareEntity(store);
var blob = store.GetStoreBlob();
if (blob.WalletKeyPathRoots == null)
continue;
@ -138,6 +139,7 @@ namespace BTCPayServer.HostedServices
{
foreach (var store in await ctx.Stores.ToArrayAsync())
{
_StoreRepository.PrepareEntity(store);
var blob = store.GetStoreBlob();
#pragma warning disable CS0618 // Type or member is obsolete
if (blob.NetworkFeeDisabled != null)
@ -158,6 +160,7 @@ namespace BTCPayServer.HostedServices
{
foreach (var store in await ctx.Stores.ToArrayAsync())
{
_StoreRepository.PrepareEntity(store);
var blob = store.GetStoreBlob();
#pragma warning disable CS0612 // Type or member is obsolete
decimal multiplier = 1.0m;
@ -188,6 +191,7 @@ namespace BTCPayServer.HostedServices
{
foreach (var store in await ctx.Stores.ToArrayAsync())
{
_StoreRepository.PrepareEntity(store);
foreach (var method in store.GetSupportedPaymentMethods(_NetworkProvider).OfType<Payments.Lightning.LightningSupportedPaymentMethod>())
{
var lightning = method.GetLightningUrl();

View File

@ -0,0 +1,51 @@
{
"NOTICE_WARN": "THIS CODE HAS BEEN AUTOMATICALLY GENERATED FROM TRANSIFEX, IF YOU WISH TO HELP TRANSLATION COME ON THE SLACK http://slack.btcpayserver.org TO REQUEST PERMISSION TO https://www.transifex.com/btcpayserver/btcpayserver/",
"code": "bs-BA",
"currentLanguage": "Engleski",
"lang": "Jezik",
"Awaiting Payment...": "Čekam uplatu...",
"Pay with": "Plati sa",
"Contact and Refund Email": "Kontakt i email za refundaciju",
"Contact_Body": "Ispod upišite vašu email adresu. Kontaktiraćemo vas na ovoj adresi u slučaju problema sa vašom uplatom.",
"Your email": "Vaš email",
"Continue": "Nastavi",
"Please enter a valid email address": "Upišite validnu email adresu",
"Order Amount": "Količina narudžbi",
"Network Cost": "Cijena mreže",
"Already Paid": "Već plaćeno",
"Due": "Dužan",
"Scan": "Skeniraj",
"Copy": "Kopiraj",
"Conversion": "Konverzija",
"Open in wallet": "Otvori u novčaniku",
"CompletePay_Body": "Da bi završili vašu uplatu, pošaljite {{btcDue}} {{cryptoCode}} na adresu koja je prikazan ispod.",
"Amount": "Količina",
"Address": "Adresa",
"Copied": "Kopirano",
"ConversionTab_BodyTop": "Možete uplatiti {{btcDue}} {{cryptoCode}} koristeći altcoine koji nisu prikazani kao prodržani od strane prodavača.",
"ConversionTab_BodyDesc": "Koristite servis treće strane. Molimo vas da imate na umu da mi nemamo kontrolu kako drugi provajderi proslijeđuju vaša sredstva. Predračun će biti markiran kao plaćen nakon što su sredstva primljena na {{cryptoCode}} Blockchain.",
"ConversionTab_CalculateAmount_Error": "Ponovi",
"ConversionTab_LoadCurrencies_Error": "Ponovi",
"ConversionTab_Lightning": "Nepostojeći provider plaćanja za Lightning mrežu.",
"ConversionTab_CurrencyList_Select_Option": "Izaberite valutu koju mjenjate",
"Invoice expiring soon...": "Predračun ističe uskoro...",
"Invoice expired": "Predračun istekao",
"What happened?": "Šta se desilo?",
"InvoiceExpired_Body_1": "Ovaj predračun je istekao. Predračun je validan {{maxTimeMinutes}} minutes. \nMožete vratiti {{storeName}} ukoliko želite da ponovite vašu narudžbu.",
"InvoiceExpired_Body_2": "Poslali ste uplatu koja još nije prihvaćena u mreži. Sredstva još nisu zaprimljena.",
"InvoiceExpired_Body_3": "Ukoliko zaprimimo kasnije, procesuiraćemo vašu narudžbu ili vas kontaktirati za refundaciju...",
"Invoice ID": "Broj predračuna",
"Order ID": "Broj računa",
"Return to StoreName": "Vrati na {{storeName}}",
"This invoice has been paid": "Predračun je plaćen",
"This invoice has been archived": "Predračun je arhiviran",
"Archived_Body": "Kontaktirajte trgovinu za informaciju o produktu",
"BOLT 11 Invoice": "BOLT 11 Predračun",
"Node Info": "Node info",
"txCount": "{{count}} transakcija",
"txCount_plural": "{{count}} transakcija",
"Pay with CoinSwitch": "Plati sa CoinSwitch",
"Pay with Changelly": "Plati sa Changelly",
"Close": "Zatvori",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transaccions",
"Pay with CoinSwitch": "Pagueu amb CoinSwitch",
"Pay with Changelly": "Pagueu amb Changelly",
"Close": "Tancar"
"Close": "Tancar",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transakcí",
"Pay with CoinSwitch": "Pay with CoinSwitch",
"Pay with Changelly": "Pay with Changelly",
"Close": "Close"
"Close": "Close",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transaktioner",
"Pay with CoinSwitch": "Betal med CoinSwitch",
"Pay with Changelly": "Betal med Changelly",
"Close": "Luk"
"Close": "Luk",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} Transaktionen",
"Pay with CoinSwitch": "Zahlen mit CoinSwitch",
"Pay with Changelly": "Zahlen mit Changelly",
"Close": "Schließen"
"Close": "Schließen",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} συναλλαγών",
"Pay with CoinSwitch": "Πληρώστε με CoinSwitch",
"Pay with Changelly": "Πληρώστε με Changelly",
"Close": "Κλείσιμο"
"Close": "Κλείσιμο",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transactions",
"Pay with CoinSwitch": "Pay with CoinSwitch",
"Pay with Changelly": "Pay with Changelly",
"Close": "Close"
"Close": "Close",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transacciones",
"Pay with CoinSwitch": "Pagar con CoinSwitch",
"Pay with Changelly": "Pagar con Changelly",
"Close": "Cerrar"
"Close": "Cerrar",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} suoritukset",
"Pay with CoinSwitch": "Maksa käyttäen CoinSwitch:iä",
"Pay with Changelly": "Maksa käyttäen Changelly:ä",
"Close": "Sulje"
"Close": "Sulje",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transactions",
"Pay with CoinSwitch": "Payer avec CoinSwitch",
"Pay with Changelly": "Payer avec Changelly",
"Close": "Fermer"
"Close": "Fermer",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} लेनदेनों",
"Pay with CoinSwitch": "CoinSwitch के साथ भुगतान करें",
"Pay with Changelly": "Changelly के साथ भुगतान करें",
"Close": "बंद करे"
"Close": "बंद करे",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transactions",
"Pay with CoinSwitch": "Pay with CoinSwitch",
"Pay with Changelly": "Pay with Changelly",
"Close": "Close"
"Close": "Close",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} tranzakció",
"Pay with CoinSwitch": "Fizess CoinSwitch-csel",
"Pay with Changelly": "Fizess Changelly-vel",
"Close": "Bezár"
"Close": "Bezár",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} reikningar",
"Pay with CoinSwitch": "Borga með Coinswitch",
"Pay with Changelly": "Borgar með Changelly",
"Close": "Loka"
"Close": "Loka",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transazioni",
"Pay with CoinSwitch": "Paga con CoinSwitch",
"Pay with Changelly": "Paga con Changelly",
"Close": "Chiudi"
"Close": "Chiudi",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "取引 {{count}} 個",
"Pay with CoinSwitch": "CoinSwitchでのお支払い",
"Pay with Changelly": "Changellyでのお支払い",
"Close": "閉じる"
"Close": "閉じる",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} Транзакциялар",
"Pay with CoinSwitch": "Pay with CoinSwitch",
"Pay with Changelly": "Pay with Changelly",
"Close": "Close"
"Close": "Close",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transakcijas",
"Pay with CoinSwitch": "Maksāt ar CoinSwitch",
"Pay with Changelly": "Maksāt ar Changelly",
"Close": "Aizvērt"
"Close": "Aizvērt",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transacties",
"Pay with CoinSwitch": "Betalen met CoinSwitch",
"Pay with Changelly": "Betalen met Changelly",
"Close": "Sluiten"
"Close": "Sluiten",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} लेनदेन",
"Pay with CoinSwitch": "Pay with CoinSwitch",
"Pay with Changelly": "Pay with Changelly",
"Close": "Close"
"Close": "Close",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transakcji",
"Pay with CoinSwitch": "Zapłać z CoinSwitch",
"Pay with Changelly": "Zapłać z Changelly",
"Close": "Zamknij"
"Close": "Zamknij",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transações",
"Pay with CoinSwitch": "Pagar com CoinSwitch",
"Pay with Changelly": "Pagar com Changelly",
"Close": "Fechar"
"Close": "Fechar",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transações",
"Pay with CoinSwitch": "Pagar com CoinSwitch",
"Pay with Changelly": "Pagar com Changelly",
"Close": "Fechar"
"Close": "Fechar",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} транзакций",
"Pay with CoinSwitch": "Оплатить с помощью CoinSwitch",
"Pay with Changelly": "Оплатить с помощью Changelly",
"Close": "Закрыть"
"Close": "Закрыть",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transakcií",
"Pay with CoinSwitch": "Zaplatiť cez CoinSwitch",
"Pay with Changelly": "Zaplatiť cez Changelly",
"Close": "Zatvoriť"
"Close": "Zatvoriť",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transakcij/e",
"Pay with CoinSwitch": "Plačilo z CoinSwitch",
"Pay with Changelly": "Plačilo z Changelly",
"Close": "Zapri"
"Close": "Zapri",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transakcije",
"Pay with CoinSwitch": "Plati putem CoinSwitch-a",
"Pay with Changelly": "Plati putem Changelly-ja",
"Close": "Zatvori"
"Close": "Zatvori",
"NotPaid_ExtraTransaction": "Račun nije plaćen u potpunosti. Pošalji još jednu transakciju da izmiriš Dug."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} transaktioner",
"Pay with CoinSwitch": "Betala med CoinSwitch",
"Pay with Changelly": "Betala med Changelly",
"Close": "Stäng"
"Close": "Stäng",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} işlem",
"Pay with CoinSwitch": "CoinSwitch ile Öde",
"Pay with Changelly": "Changelly ile Öde",
"Close": "Kapat"
"Close": "Kapat",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "транзакції {{count}}",
"Pay with CoinSwitch": "Pay with CoinSwitch",
"Pay with Changelly": "Pay with Changelly",
"Close": "Close"
"Close": "Close",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}} các giao dịch",
"Pay with CoinSwitch": "Pay with CoinSwitch",
"Pay with Changelly": "Pay with Changelly",
"Close": "Close"
"Close": "Close",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -46,5 +46,6 @@
"txCount_plural": "{{count}}笔交易",
"Pay with CoinSwitch": "Pay with CoinSwitch",
"Pay with Changelly": "Pay with Changelly",
"Close": "Close"
"Close": "Close",
"NotPaid_ExtraTransaction": "The invoice hasn't been paid in full. Please send another transaction to cover amount Due."
}

View File

@ -1,5 +1,5 @@
<Project>
<PropertyGroup>
<Version>1.0.3.106</Version>
<Version>1.0.3.108</Version>
</PropertyGroup>
</Project>

View File

@ -13,6 +13,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{29290EC7-0
docker-entrypoint.sh = docker-entrypoint.sh
Dockerfile.linuxamd64 = Dockerfile.linuxamd64
Dockerfile.linuxarm32v7 = Dockerfile.linuxarm32v7
Version.csproj = Version.csproj
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BTCPayServer.Rating", "BTCPayServer.Rating\BTCPayServer.Rating.csproj", "{6DC77459-D52F-45EE-B3F3-315043D33A1B}"