diff --git a/src/main/java/com/sparrowwallet/sparrow/net/FeeRatesSource.java b/src/main/java/com/sparrowwallet/sparrow/net/FeeRatesSource.java index 275bc86c..c02117bc 100644 --- a/src/main/java/com/sparrowwallet/sparrow/net/FeeRatesSource.java +++ b/src/main/java/com/sparrowwallet/sparrow/net/FeeRatesSource.java @@ -72,6 +72,46 @@ public enum FeeRatesSource { return network == Network.MAINNET || network == Network.TESTNET || network == Network.TESTNET4 || network == Network.SIGNET; } }, + BITVIEW_SPACE("bitview.space", true) { + @Override + public Map getBlockTargetFeeRates(Map defaultblockTargetFeeRates) { + String url = getApiUrl() + "v1/fees/precise"; + return getThreeTierFeeRates(this, defaultblockTargetFeeRates, url); + } + + @Override + public Double getNextBlockMedianFeeRate() throws Exception { + String url = getApiUrl() + "v1/fees/mempool-blocks"; + return requestNextBlockMedianFeeRate(this, url); + } + + @Override + public BlockSummary getBlockSummary(Sha256Hash blockId) throws Exception { + String url = getApiUrl() + "v1/block/" + Utils.bytesToHex(blockId.getReversedBytes()); + return requestBlockSummary(this, url); + } + + @Override + public Map getRecentBlockSummaries() throws Exception { + String url = getApiUrl() + "v1/blocks"; + return requestBlockSummaries(this, url); + } + + @Override + public List getRecentMempoolTransactions() throws Exception { + String url = getApiUrl() + "mempool/recent"; + return requestRecentMempoolTransactions(this, url); + } + + private String getApiUrl() { + return "https://bitview.space/api/"; + } + + @Override + public boolean supportsNetwork(Network network) { + return network == Network.MAINNET; + } + }, BLOCK_XYZ("block.xyz", true) { /* https://engineering.block.xyz/blog/augur-an-open-source-bitcoin-fee-estimation-library diff --git a/src/main/resources/com/sparrowwallet/sparrow/settings/general.fxml b/src/main/resources/com/sparrowwallet/sparrow/settings/general.fxml index 67e0b350..5a33f621 100644 --- a/src/main/resources/com/sparrowwallet/sparrow/settings/general.fxml +++ b/src/main/resources/com/sparrowwallet/sparrow/settings/general.fxml @@ -36,6 +36,7 @@ + diff --git a/src/main/resources/image/feeratesource/bitview.space-icon.svg b/src/main/resources/image/feeratesource/bitview.space-icon.svg new file mode 100644 index 00000000..801f1111 --- /dev/null +++ b/src/main/resources/image/feeratesource/bitview.space-icon.svg @@ -0,0 +1,6 @@ + + + + + +