Update BDK version to 0.12.0 - #41

Merged
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update
Oct 4, 2021
Merged

Update BDK version to 0.12.0#41
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
Contributor

Description

This PR updates the upstream BDK version to latest release (v0.10.0).

Notes to the reviewers

The latest release of BDK includes some breaking changes, some of which are handled here. A previously available function in BDK, maintain_single_recipient() is changed into allow_shrinking() which requires a scriptpubkey to be specified. So far I couldn't find any public API in BDK using which a scriptpubkey (or the transaction) can be retrieved from the wallet given a TxID. Marked the code with a TODO. It probably needs some additional API in BDK. Made an issue (bitcoindevkit/bdk#427) to track this.

BDK esplora blockchain module has been divided into two types using-ureq and using-reqwest. reqwest is an async feature in BDK, which produces Future related errors in bdk-cli (#36 (comment)). Trying to solve that error creates more complexity (async related weridness). Thus decided to scrap reqwest and go with blocking ureq version, which I think is adequate for the usecases of bdk-cli.

Updated electrum cli args.

Checklists

All Submissions:

  • I've signed all my commits
  • I followed the contribution guidelines
  • I ran cargo fmt and cargo clippy before committing

New Features:

  • I've added tests for the new feature
  • I've added docs for the new feature
  • I've updated CHANGELOG.md

Bugfixes:

  • This pull request breaks the existing API
  • I've added tests to reproduce the issue which are now passing
  • I'm linking the issue being fixed by this PR

Updating the BDK version creates some breaking change.
One of such change probably requires modification of BDK to expose a
new function to fetch scriptpubkey from a txid.
Used ureq version of esplora to remove async related complexities.
@rajarshimaitrarajarshimaitra changed the title Dep updateUpdate BDK version to 0.10.0Aug 26, 2021
Comment threadCargo.toml Outdated

[dependencies]
bdk = { version = "^0.7", default-features = false, features = ["all-keys"]}
bdk = { version = "0.10.0", default-features = false, features = ["all-keys"]}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't able to connect to the blockstream esplora server via https (and http redirects to https) because bdk disables ureq default features. @tcharding was disabling the tls feature intentional?

@rajarshimaitra If having the ureqtls feature disabled by default is intentional I think it makes sense to add a ureq-tls = [ "ureq/tls" ] feature to bdk so we can enable it from the bdk-cli project (or for others who need it).

@rajarshimaitrarajarshimaitraAug 28, 2021

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good Idea. Better to enable tls in ureq if we use it. IMO connecting https will be quite a generic requirement. Will open a PR if we all agree the same.

We don't need another feature flag for this, just add tls in ureq's feature list.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, maybe best of have tls feature enabled by default in bdk, but first I'd like to get @tcharding's input since he originally added the ureq dependency and may have an argument for leaving tls off by default.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no problem with enabling TLS by default. As for why I disabled it, I can't remember exactly why, I probably just disabled default features during a debugging session and never turned TLS back on. Thanks for checking in with me and thanks for giving it the thought to realize we should enable it by default!

Comment threadCargo.toml Outdated
repl = ["regex", "rustyline"]
electrum = ["bdk/electrum"]
esplora = ["bdk/esplora"]
esplora = ["bdk/use-esplora-ureq"]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying to use this to test bitcoindevkit/bdk#429: to get bdk-cli to work in the browser we need a way to enable bdk/use-esplora-reqwest. I would suggest maybe adding another feature esplora-reqwest that we can use from wasm32

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or maybe even better: async-esplora

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this PR may be blocked until @tcharding and @LLFourn work out things out with bitcoindevkit/bdk#433.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. I am not really sure how big the httpclient fix would be. If it takes much longer, can we consider merging bitcoindevkit/bdk#430 in the mean time? #36 is also pending on this one.

And I think that will fix @afilini 's issue too.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the meantime I made this branch just to test the playground: https://github.com/afilini/bdk-cli/tree/update-with-reqwest

@rajarshimaitra

rajarshimaitra commented Sep 14, 2021

Copy link
Copy Markdown
ContributorAuthor

Added esplora-reqwest into bdk-cli.

@notmandatory we have to use bdk-master for now, until the esplora-fix is released upstream. This can be changed in next bdk release.

@afilini please check if this meets your requirement, or something more to be done? To use request compile with esplora-reqwest feature.

@notmandatory

Copy link
Copy Markdown
Member

When bdk release 0.12.0 is out ~Sept-29 I think this one will be ready to merge. I've updated the title. 😉

@notmandatorynotmandatory changed the title Update BDK version to 0.10.0Update BDK version to 0.12.0Sep 17, 2021
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

@notmandatory just FYI, the rest of the open PRs builds on top of this. So this needs to go first before they can be merged.. :)

@notmandatory

Copy link
Copy Markdown
Member

I just made the bdk 0.12.0 release, so you're good to go on this one.

BDK v0.10.0 adds a stop_gap parameter to electrum config.
Esplora ureq version requires having new cli args.
Adds esplora-reqwest capability from bdk.
Allows to use async https connections with esplora from bdk-cli.
Recent update in BDK esplora backend allows it to connect with SOCKS5
proxy.
This change adds proxy option to esplora configuration.
Updates Proxy_Opts feature guard to enable it for esplora feature.
@rajarshimaitra

rajarshimaitra commented Oct 3, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased with bdk v0.12.

FYI, I am not updating #42 and #36 right now. For simplicity of merging this needs to be merged first. Then the rest two can be rebased on top of updated master. I think that will simplify the review process as all these PRs are interdependent.

This one is the biggest change among all other as it handles all the update from bdk v0.10 to v0.12. So keeping this one separate from review of the rest.

@notmandatorynotmandatory left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-ACK f9a9606

I manually tested and works fine as long as correct esplora server URL is used. Either README needs to be updated, defaults need to be changed for testnet or maybe something else. Will merge this now so other PRs can proceed and we can fix the esplora server URL issue in a subsequent PR.

@notmandatory
notmandatory merged commit f9a9606 into bitcoindevkit:masterOct 4, 2021
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rajarshimaitra@notmandatory@afilini@tcharding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Update BDK version to 0.12.0 - #41

Merged
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update
Oct 4, 2021
Merged

Update BDK version to 0.12.0#41
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
Contributor

Description

This PR updates the upstream BDK version to latest release (v0.10.0).

Notes to the reviewers

The latest release of BDK includes some breaking changes, some of which are handled here. A previously available function in BDK, maintain_single_recipient() is changed into allow_shrinking() which requires a scriptpubkey to be specified. So far I couldn't find any public API in BDK using which a scriptpubkey (or the transaction) can be retrieved from the wallet given a TxID. Marked the code with a TODO. It probably needs some additional API in BDK. Made an issue (bitcoindevkit/bdk#427) to track this.

BDK esplora blockchain module has been divided into two types using-ureq and using-reqwest. reqwest is an async feature in BDK, which produces Future related errors in bdk-cli (#36 (comment)). Trying to solve that error creates more complexity (async related weridness). Thus decided to scrap reqwest and go with blocking ureq version, which I think is adequate for the usecases of bdk-cli.

Updated electrum cli args.

Checklists

All Submissions:

  • I've signed all my commits
  • I followed the contribution guidelines
  • I ran cargo fmt and cargo clippy before committing

New Features:

  • I've added tests for the new feature
  • I've added docs for the new feature
  • I've updated CHANGELOG.md

Bugfixes:

  • This pull request breaks the existing API
  • I've added tests to reproduce the issue which are now passing
  • I'm linking the issue being fixed by this PR

Updating the BDK version creates some breaking change.
One of such change probably requires modification of BDK to expose a
new function to fetch scriptpubkey from a txid.
Used ureq version of esplora to remove async related complexities.
@rajarshimaitrarajarshimaitra changed the title Dep updateUpdate BDK version to 0.10.0Aug 26, 2021
Comment threadCargo.toml Outdated

[dependencies]
bdk = { version = "^0.7", default-features = false, features = ["all-keys"]}
bdk = { version = "0.10.0", default-features = false, features = ["all-keys"]}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't able to connect to the blockstream esplora server via https (and http redirects to https) because bdk disables ureq default features. @tcharding was disabling the tls feature intentional?

@rajarshimaitra If having the ureqtls feature disabled by default is intentional I think it makes sense to add a ureq-tls = [ "ureq/tls" ] feature to bdk so we can enable it from the bdk-cli project (or for others who need it).

@rajarshimaitrarajarshimaitraAug 28, 2021

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good Idea. Better to enable tls in ureq if we use it. IMO connecting https will be quite a generic requirement. Will open a PR if we all agree the same.

We don't need another feature flag for this, just add tls in ureq's feature list.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, maybe best of have tls feature enabled by default in bdk, but first I'd like to get @tcharding's input since he originally added the ureq dependency and may have an argument for leaving tls off by default.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no problem with enabling TLS by default. As for why I disabled it, I can't remember exactly why, I probably just disabled default features during a debugging session and never turned TLS back on. Thanks for checking in with me and thanks for giving it the thought to realize we should enable it by default!

Comment threadCargo.toml Outdated
repl = ["regex", "rustyline"]
electrum = ["bdk/electrum"]
esplora = ["bdk/esplora"]
esplora = ["bdk/use-esplora-ureq"]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying to use this to test bitcoindevkit/bdk#429: to get bdk-cli to work in the browser we need a way to enable bdk/use-esplora-reqwest. I would suggest maybe adding another feature esplora-reqwest that we can use from wasm32

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or maybe even better: async-esplora

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this PR may be blocked until @tcharding and @LLFourn work out things out with bitcoindevkit/bdk#433.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. I am not really sure how big the httpclient fix would be. If it takes much longer, can we consider merging bitcoindevkit/bdk#430 in the mean time? #36 is also pending on this one.

And I think that will fix @afilini 's issue too.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the meantime I made this branch just to test the playground: https://github.com/afilini/bdk-cli/tree/update-with-reqwest

@rajarshimaitra

rajarshimaitra commented Sep 14, 2021

Copy link
Copy Markdown
ContributorAuthor

Added esplora-reqwest into bdk-cli.

@notmandatory we have to use bdk-master for now, until the esplora-fix is released upstream. This can be changed in next bdk release.

@afilini please check if this meets your requirement, or something more to be done? To use request compile with esplora-reqwest feature.

@notmandatory

Copy link
Copy Markdown
Member

When bdk release 0.12.0 is out ~Sept-29 I think this one will be ready to merge. I've updated the title. 😉

@notmandatorynotmandatory changed the title Update BDK version to 0.10.0Update BDK version to 0.12.0Sep 17, 2021
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

@notmandatory just FYI, the rest of the open PRs builds on top of this. So this needs to go first before they can be merged.. :)

@notmandatory

Copy link
Copy Markdown
Member

I just made the bdk 0.12.0 release, so you're good to go on this one.

BDK v0.10.0 adds a stop_gap parameter to electrum config.
Esplora ureq version requires having new cli args.
Adds esplora-reqwest capability from bdk.
Allows to use async https connections with esplora from bdk-cli.
Recent update in BDK esplora backend allows it to connect with SOCKS5
proxy.
This change adds proxy option to esplora configuration.
Updates Proxy_Opts feature guard to enable it for esplora feature.
@rajarshimaitra

rajarshimaitra commented Oct 3, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased with bdk v0.12.

FYI, I am not updating #42 and #36 right now. For simplicity of merging this needs to be merged first. Then the rest two can be rebased on top of updated master. I think that will simplify the review process as all these PRs are interdependent.

This one is the biggest change among all other as it handles all the update from bdk v0.10 to v0.12. So keeping this one separate from review of the rest.

@notmandatorynotmandatory left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-ACK f9a9606

I manually tested and works fine as long as correct esplora server URL is used. Either README needs to be updated, defaults need to be changed for testnet or maybe something else. Will merge this now so other PRs can proceed and we can fix the esplora server URL issue in a subsequent PR.

@notmandatory
notmandatory merged commit f9a9606 into bitcoindevkit:masterOct 4, 2021
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rajarshimaitra@notmandatory@afilini@tcharding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update BDK version to 0.12.0 - #41

Merged
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update
Oct 4, 2021
Merged

Update BDK version to 0.12.0#41
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
Contributor

Description

This PR updates the upstream BDK version to latest release (v0.10.0).

Notes to the reviewers

The latest release of BDK includes some breaking changes, some of which are handled here. A previously available function in BDK, maintain_single_recipient() is changed into allow_shrinking() which requires a scriptpubkey to be specified. So far I couldn't find any public API in BDK using which a scriptpubkey (or the transaction) can be retrieved from the wallet given a TxID. Marked the code with a TODO. It probably needs some additional API in BDK. Made an issue (bitcoindevkit/bdk#427) to track this.

BDK esplora blockchain module has been divided into two types using-ureq and using-reqwest. reqwest is an async feature in BDK, which produces Future related errors in bdk-cli (#36 (comment)). Trying to solve that error creates more complexity (async related weridness). Thus decided to scrap reqwest and go with blocking ureq version, which I think is adequate for the usecases of bdk-cli.

Updated electrum cli args.

Checklists

All Submissions:

  • I've signed all my commits
  • I followed the contribution guidelines
  • I ran cargo fmt and cargo clippy before committing

New Features:

  • I've added tests for the new feature
  • I've added docs for the new feature
  • I've updated CHANGELOG.md

Bugfixes:

  • This pull request breaks the existing API
  • I've added tests to reproduce the issue which are now passing
  • I'm linking the issue being fixed by this PR

Updating the BDK version creates some breaking change.
One of such change probably requires modification of BDK to expose a
new function to fetch scriptpubkey from a txid.
Used ureq version of esplora to remove async related complexities.
@rajarshimaitrarajarshimaitra changed the title Dep updateUpdate BDK version to 0.10.0Aug 26, 2021
Comment threadCargo.toml Outdated

[dependencies]
bdk = { version = "^0.7", default-features = false, features = ["all-keys"]}
bdk = { version = "0.10.0", default-features = false, features = ["all-keys"]}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't able to connect to the blockstream esplora server via https (and http redirects to https) because bdk disables ureq default features. @tcharding was disabling the tls feature intentional?

@rajarshimaitra If having the ureqtls feature disabled by default is intentional I think it makes sense to add a ureq-tls = [ "ureq/tls" ] feature to bdk so we can enable it from the bdk-cli project (or for others who need it).

@rajarshimaitrarajarshimaitraAug 28, 2021

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good Idea. Better to enable tls in ureq if we use it. IMO connecting https will be quite a generic requirement. Will open a PR if we all agree the same.

We don't need another feature flag for this, just add tls in ureq's feature list.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, maybe best of have tls feature enabled by default in bdk, but first I'd like to get @tcharding's input since he originally added the ureq dependency and may have an argument for leaving tls off by default.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no problem with enabling TLS by default. As for why I disabled it, I can't remember exactly why, I probably just disabled default features during a debugging session and never turned TLS back on. Thanks for checking in with me and thanks for giving it the thought to realize we should enable it by default!

Comment threadCargo.toml Outdated
repl = ["regex", "rustyline"]
electrum = ["bdk/electrum"]
esplora = ["bdk/esplora"]
esplora = ["bdk/use-esplora-ureq"]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying to use this to test bitcoindevkit/bdk#429: to get bdk-cli to work in the browser we need a way to enable bdk/use-esplora-reqwest. I would suggest maybe adding another feature esplora-reqwest that we can use from wasm32

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or maybe even better: async-esplora

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this PR may be blocked until @tcharding and @LLFourn work out things out with bitcoindevkit/bdk#433.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. I am not really sure how big the httpclient fix would be. If it takes much longer, can we consider merging bitcoindevkit/bdk#430 in the mean time? #36 is also pending on this one.

And I think that will fix @afilini 's issue too.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the meantime I made this branch just to test the playground: https://github.com/afilini/bdk-cli/tree/update-with-reqwest

@rajarshimaitra

rajarshimaitra commented Sep 14, 2021

Copy link
Copy Markdown
ContributorAuthor

Added esplora-reqwest into bdk-cli.

@notmandatory we have to use bdk-master for now, until the esplora-fix is released upstream. This can be changed in next bdk release.

@afilini please check if this meets your requirement, or something more to be done? To use request compile with esplora-reqwest feature.

@notmandatory

Copy link
Copy Markdown
Member

When bdk release 0.12.0 is out ~Sept-29 I think this one will be ready to merge. I've updated the title. 😉

@notmandatorynotmandatory changed the title Update BDK version to 0.10.0Update BDK version to 0.12.0Sep 17, 2021
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

@notmandatory just FYI, the rest of the open PRs builds on top of this. So this needs to go first before they can be merged.. :)

@notmandatory

Copy link
Copy Markdown
Member

I just made the bdk 0.12.0 release, so you're good to go on this one.

BDK v0.10.0 adds a stop_gap parameter to electrum config.
Esplora ureq version requires having new cli args.
Adds esplora-reqwest capability from bdk.
Allows to use async https connections with esplora from bdk-cli.
Recent update in BDK esplora backend allows it to connect with SOCKS5
proxy.
This change adds proxy option to esplora configuration.
Updates Proxy_Opts feature guard to enable it for esplora feature.
@rajarshimaitra

rajarshimaitra commented Oct 3, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased with bdk v0.12.

FYI, I am not updating #42 and #36 right now. For simplicity of merging this needs to be merged first. Then the rest two can be rebased on top of updated master. I think that will simplify the review process as all these PRs are interdependent.

This one is the biggest change among all other as it handles all the update from bdk v0.10 to v0.12. So keeping this one separate from review of the rest.

@notmandatorynotmandatory left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-ACK f9a9606

I manually tested and works fine as long as correct esplora server URL is used. Either README needs to be updated, defaults need to be changed for testnet or maybe something else. Will merge this now so other PRs can proceed and we can fix the esplora server URL issue in a subsequent PR.

@notmandatory
notmandatory merged commit f9a9606 into bitcoindevkit:masterOct 4, 2021
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rajarshimaitra@notmandatory@afilini@tcharding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update BDK version to 0.12.0 - #41

Merged
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update
Oct 4, 2021
Merged

Update BDK version to 0.12.0#41
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
Contributor

Description

This PR updates the upstream BDK version to latest release (v0.10.0).

Notes to the reviewers

The latest release of BDK includes some breaking changes, some of which are handled here. A previously available function in BDK, maintain_single_recipient() is changed into allow_shrinking() which requires a scriptpubkey to be specified. So far I couldn't find any public API in BDK using which a scriptpubkey (or the transaction) can be retrieved from the wallet given a TxID. Marked the code with a TODO. It probably needs some additional API in BDK. Made an issue (bitcoindevkit/bdk#427) to track this.

BDK esplora blockchain module has been divided into two types using-ureq and using-reqwest. reqwest is an async feature in BDK, which produces Future related errors in bdk-cli (#36 (comment)). Trying to solve that error creates more complexity (async related weridness). Thus decided to scrap reqwest and go with blocking ureq version, which I think is adequate for the usecases of bdk-cli.

Updated electrum cli args.

Checklists

All Submissions:

  • I've signed all my commits
  • I followed the contribution guidelines
  • I ran cargo fmt and cargo clippy before committing

New Features:

  • I've added tests for the new feature
  • I've added docs for the new feature
  • I've updated CHANGELOG.md

Bugfixes:

  • This pull request breaks the existing API
  • I've added tests to reproduce the issue which are now passing
  • I'm linking the issue being fixed by this PR

Updating the BDK version creates some breaking change.
One of such change probably requires modification of BDK to expose a
new function to fetch scriptpubkey from a txid.
Used ureq version of esplora to remove async related complexities.
@rajarshimaitrarajarshimaitra changed the title Dep updateUpdate BDK version to 0.10.0Aug 26, 2021
Comment threadCargo.toml Outdated

[dependencies]
bdk = { version = "^0.7", default-features = false, features = ["all-keys"]}
bdk = { version = "0.10.0", default-features = false, features = ["all-keys"]}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't able to connect to the blockstream esplora server via https (and http redirects to https) because bdk disables ureq default features. @tcharding was disabling the tls feature intentional?

@rajarshimaitra If having the ureqtls feature disabled by default is intentional I think it makes sense to add a ureq-tls = [ "ureq/tls" ] feature to bdk so we can enable it from the bdk-cli project (or for others who need it).

@rajarshimaitrarajarshimaitraAug 28, 2021

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good Idea. Better to enable tls in ureq if we use it. IMO connecting https will be quite a generic requirement. Will open a PR if we all agree the same.

We don't need another feature flag for this, just add tls in ureq's feature list.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, maybe best of have tls feature enabled by default in bdk, but first I'd like to get @tcharding's input since he originally added the ureq dependency and may have an argument for leaving tls off by default.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no problem with enabling TLS by default. As for why I disabled it, I can't remember exactly why, I probably just disabled default features during a debugging session and never turned TLS back on. Thanks for checking in with me and thanks for giving it the thought to realize we should enable it by default!

Comment threadCargo.toml Outdated
repl = ["regex", "rustyline"]
electrum = ["bdk/electrum"]
esplora = ["bdk/esplora"]
esplora = ["bdk/use-esplora-ureq"]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying to use this to test bitcoindevkit/bdk#429: to get bdk-cli to work in the browser we need a way to enable bdk/use-esplora-reqwest. I would suggest maybe adding another feature esplora-reqwest that we can use from wasm32

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or maybe even better: async-esplora

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this PR may be blocked until @tcharding and @LLFourn work out things out with bitcoindevkit/bdk#433.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. I am not really sure how big the httpclient fix would be. If it takes much longer, can we consider merging bitcoindevkit/bdk#430 in the mean time? #36 is also pending on this one.

And I think that will fix @afilini 's issue too.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the meantime I made this branch just to test the playground: https://github.com/afilini/bdk-cli/tree/update-with-reqwest

@rajarshimaitra

rajarshimaitra commented Sep 14, 2021

Copy link
Copy Markdown
ContributorAuthor

Added esplora-reqwest into bdk-cli.

@notmandatory we have to use bdk-master for now, until the esplora-fix is released upstream. This can be changed in next bdk release.

@afilini please check if this meets your requirement, or something more to be done? To use request compile with esplora-reqwest feature.

@notmandatory

Copy link
Copy Markdown
Member

When bdk release 0.12.0 is out ~Sept-29 I think this one will be ready to merge. I've updated the title. 😉

@notmandatorynotmandatory changed the title Update BDK version to 0.10.0Update BDK version to 0.12.0Sep 17, 2021
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

@notmandatory just FYI, the rest of the open PRs builds on top of this. So this needs to go first before they can be merged.. :)

@notmandatory

Copy link
Copy Markdown
Member

I just made the bdk 0.12.0 release, so you're good to go on this one.

BDK v0.10.0 adds a stop_gap parameter to electrum config.
Esplora ureq version requires having new cli args.
Adds esplora-reqwest capability from bdk.
Allows to use async https connections with esplora from bdk-cli.
Recent update in BDK esplora backend allows it to connect with SOCKS5
proxy.
This change adds proxy option to esplora configuration.
Updates Proxy_Opts feature guard to enable it for esplora feature.
@rajarshimaitra

rajarshimaitra commented Oct 3, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased with bdk v0.12.

FYI, I am not updating #42 and #36 right now. For simplicity of merging this needs to be merged first. Then the rest two can be rebased on top of updated master. I think that will simplify the review process as all these PRs are interdependent.

This one is the biggest change among all other as it handles all the update from bdk v0.10 to v0.12. So keeping this one separate from review of the rest.

@notmandatorynotmandatory left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-ACK f9a9606

I manually tested and works fine as long as correct esplora server URL is used. Either README needs to be updated, defaults need to be changed for testnet or maybe something else. Will merge this now so other PRs can proceed and we can fix the esplora server URL issue in a subsequent PR.

@notmandatory
notmandatory merged commit f9a9606 into bitcoindevkit:masterOct 4, 2021
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rajarshimaitra@notmandatory@afilini@tcharding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Update BDK version to 0.12.0 - #41

Merged
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update
Oct 4, 2021
Merged

Update BDK version to 0.12.0#41
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
Contributor

Description

This PR updates the upstream BDK version to latest release (v0.10.0).

Notes to the reviewers

The latest release of BDK includes some breaking changes, some of which are handled here. A previously available function in BDK, maintain_single_recipient() is changed into allow_shrinking() which requires a scriptpubkey to be specified. So far I couldn't find any public API in BDK using which a scriptpubkey (or the transaction) can be retrieved from the wallet given a TxID. Marked the code with a TODO. It probably needs some additional API in BDK. Made an issue (bitcoindevkit/bdk#427) to track this.

BDK esplora blockchain module has been divided into two types using-ureq and using-reqwest. reqwest is an async feature in BDK, which produces Future related errors in bdk-cli (#36 (comment)). Trying to solve that error creates more complexity (async related weridness). Thus decided to scrap reqwest and go with blocking ureq version, which I think is adequate for the usecases of bdk-cli.

Updated electrum cli args.

Checklists

All Submissions:

  • I've signed all my commits
  • I followed the contribution guidelines
  • I ran cargo fmt and cargo clippy before committing

New Features:

  • I've added tests for the new feature
  • I've added docs for the new feature
  • I've updated CHANGELOG.md

Bugfixes:

  • This pull request breaks the existing API
  • I've added tests to reproduce the issue which are now passing
  • I'm linking the issue being fixed by this PR

Updating the BDK version creates some breaking change.
One of such change probably requires modification of BDK to expose a
new function to fetch scriptpubkey from a txid.
Used ureq version of esplora to remove async related complexities.
@rajarshimaitrarajarshimaitra changed the title Dep updateUpdate BDK version to 0.10.0Aug 26, 2021
Comment threadCargo.toml Outdated

[dependencies]
bdk = { version = "^0.7", default-features = false, features = ["all-keys"]}
bdk = { version = "0.10.0", default-features = false, features = ["all-keys"]}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't able to connect to the blockstream esplora server via https (and http redirects to https) because bdk disables ureq default features. @tcharding was disabling the tls feature intentional?

@rajarshimaitra If having the ureqtls feature disabled by default is intentional I think it makes sense to add a ureq-tls = [ "ureq/tls" ] feature to bdk so we can enable it from the bdk-cli project (or for others who need it).

@rajarshimaitrarajarshimaitraAug 28, 2021

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good Idea. Better to enable tls in ureq if we use it. IMO connecting https will be quite a generic requirement. Will open a PR if we all agree the same.

We don't need another feature flag for this, just add tls in ureq's feature list.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, maybe best of have tls feature enabled by default in bdk, but first I'd like to get @tcharding's input since he originally added the ureq dependency and may have an argument for leaving tls off by default.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no problem with enabling TLS by default. As for why I disabled it, I can't remember exactly why, I probably just disabled default features during a debugging session and never turned TLS back on. Thanks for checking in with me and thanks for giving it the thought to realize we should enable it by default!

Comment threadCargo.toml Outdated
repl = ["regex", "rustyline"]
electrum = ["bdk/electrum"]
esplora = ["bdk/esplora"]
esplora = ["bdk/use-esplora-ureq"]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying to use this to test bitcoindevkit/bdk#429: to get bdk-cli to work in the browser we need a way to enable bdk/use-esplora-reqwest. I would suggest maybe adding another feature esplora-reqwest that we can use from wasm32

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or maybe even better: async-esplora

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this PR may be blocked until @tcharding and @LLFourn work out things out with bitcoindevkit/bdk#433.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. I am not really sure how big the httpclient fix would be. If it takes much longer, can we consider merging bitcoindevkit/bdk#430 in the mean time? #36 is also pending on this one.

And I think that will fix @afilini 's issue too.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the meantime I made this branch just to test the playground: https://github.com/afilini/bdk-cli/tree/update-with-reqwest

@rajarshimaitra

rajarshimaitra commented Sep 14, 2021

Copy link
Copy Markdown
ContributorAuthor

Added esplora-reqwest into bdk-cli.

@notmandatory we have to use bdk-master for now, until the esplora-fix is released upstream. This can be changed in next bdk release.

@afilini please check if this meets your requirement, or something more to be done? To use request compile with esplora-reqwest feature.

@notmandatory

Copy link
Copy Markdown
Member

When bdk release 0.12.0 is out ~Sept-29 I think this one will be ready to merge. I've updated the title. 😉

@notmandatorynotmandatory changed the title Update BDK version to 0.10.0Update BDK version to 0.12.0Sep 17, 2021
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

@notmandatory just FYI, the rest of the open PRs builds on top of this. So this needs to go first before they can be merged.. :)

@notmandatory

Copy link
Copy Markdown
Member

I just made the bdk 0.12.0 release, so you're good to go on this one.

BDK v0.10.0 adds a stop_gap parameter to electrum config.
Esplora ureq version requires having new cli args.
Adds esplora-reqwest capability from bdk.
Allows to use async https connections with esplora from bdk-cli.
Recent update in BDK esplora backend allows it to connect with SOCKS5
proxy.
This change adds proxy option to esplora configuration.
Updates Proxy_Opts feature guard to enable it for esplora feature.
@rajarshimaitra

rajarshimaitra commented Oct 3, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased with bdk v0.12.

FYI, I am not updating #42 and #36 right now. For simplicity of merging this needs to be merged first. Then the rest two can be rebased on top of updated master. I think that will simplify the review process as all these PRs are interdependent.

This one is the biggest change among all other as it handles all the update from bdk v0.10 to v0.12. So keeping this one separate from review of the rest.

@notmandatorynotmandatory left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-ACK f9a9606

I manually tested and works fine as long as correct esplora server URL is used. Either README needs to be updated, defaults need to be changed for testnet or maybe something else. Will merge this now so other PRs can proceed and we can fix the esplora server URL issue in a subsequent PR.

@notmandatory
notmandatory merged commit f9a9606 into bitcoindevkit:masterOct 4, 2021
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rajarshimaitra@notmandatory@afilini@tcharding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update BDK version to 0.12.0 - #41

Merged
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update
Oct 4, 2021
Merged

Update BDK version to 0.12.0#41
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
Contributor

Description

This PR updates the upstream BDK version to latest release (v0.10.0).

Notes to the reviewers

The latest release of BDK includes some breaking changes, some of which are handled here. A previously available function in BDK, maintain_single_recipient() is changed into allow_shrinking() which requires a scriptpubkey to be specified. So far I couldn't find any public API in BDK using which a scriptpubkey (or the transaction) can be retrieved from the wallet given a TxID. Marked the code with a TODO. It probably needs some additional API in BDK. Made an issue (bitcoindevkit/bdk#427) to track this.

BDK esplora blockchain module has been divided into two types using-ureq and using-reqwest. reqwest is an async feature in BDK, which produces Future related errors in bdk-cli (#36 (comment)). Trying to solve that error creates more complexity (async related weridness). Thus decided to scrap reqwest and go with blocking ureq version, which I think is adequate for the usecases of bdk-cli.

Updated electrum cli args.

Checklists

All Submissions:

  • I've signed all my commits
  • I followed the contribution guidelines
  • I ran cargo fmt and cargo clippy before committing

New Features:

  • I've added tests for the new feature
  • I've added docs for the new feature
  • I've updated CHANGELOG.md

Bugfixes:

  • This pull request breaks the existing API
  • I've added tests to reproduce the issue which are now passing
  • I'm linking the issue being fixed by this PR

Updating the BDK version creates some breaking change.
One of such change probably requires modification of BDK to expose a
new function to fetch scriptpubkey from a txid.
Used ureq version of esplora to remove async related complexities.
@rajarshimaitrarajarshimaitra changed the title Dep updateUpdate BDK version to 0.10.0Aug 26, 2021
Comment threadCargo.toml Outdated

[dependencies]
bdk = { version = "^0.7", default-features = false, features = ["all-keys"]}
bdk = { version = "0.10.0", default-features = false, features = ["all-keys"]}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't able to connect to the blockstream esplora server via https (and http redirects to https) because bdk disables ureq default features. @tcharding was disabling the tls feature intentional?

@rajarshimaitra If having the ureqtls feature disabled by default is intentional I think it makes sense to add a ureq-tls = [ "ureq/tls" ] feature to bdk so we can enable it from the bdk-cli project (or for others who need it).

@rajarshimaitrarajarshimaitraAug 28, 2021

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good Idea. Better to enable tls in ureq if we use it. IMO connecting https will be quite a generic requirement. Will open a PR if we all agree the same.

We don't need another feature flag for this, just add tls in ureq's feature list.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, maybe best of have tls feature enabled by default in bdk, but first I'd like to get @tcharding's input since he originally added the ureq dependency and may have an argument for leaving tls off by default.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no problem with enabling TLS by default. As for why I disabled it, I can't remember exactly why, I probably just disabled default features during a debugging session and never turned TLS back on. Thanks for checking in with me and thanks for giving it the thought to realize we should enable it by default!

Comment threadCargo.toml Outdated
repl = ["regex", "rustyline"]
electrum = ["bdk/electrum"]
esplora = ["bdk/esplora"]
esplora = ["bdk/use-esplora-ureq"]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying to use this to test bitcoindevkit/bdk#429: to get bdk-cli to work in the browser we need a way to enable bdk/use-esplora-reqwest. I would suggest maybe adding another feature esplora-reqwest that we can use from wasm32

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or maybe even better: async-esplora

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this PR may be blocked until @tcharding and @LLFourn work out things out with bitcoindevkit/bdk#433.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. I am not really sure how big the httpclient fix would be. If it takes much longer, can we consider merging bitcoindevkit/bdk#430 in the mean time? #36 is also pending on this one.

And I think that will fix @afilini 's issue too.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the meantime I made this branch just to test the playground: https://github.com/afilini/bdk-cli/tree/update-with-reqwest

@rajarshimaitra

rajarshimaitra commented Sep 14, 2021

Copy link
Copy Markdown
ContributorAuthor

Added esplora-reqwest into bdk-cli.

@notmandatory we have to use bdk-master for now, until the esplora-fix is released upstream. This can be changed in next bdk release.

@afilini please check if this meets your requirement, or something more to be done? To use request compile with esplora-reqwest feature.

@notmandatory

Copy link
Copy Markdown
Member

When bdk release 0.12.0 is out ~Sept-29 I think this one will be ready to merge. I've updated the title. 😉

@notmandatorynotmandatory changed the title Update BDK version to 0.10.0Update BDK version to 0.12.0Sep 17, 2021
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

@notmandatory just FYI, the rest of the open PRs builds on top of this. So this needs to go first before they can be merged.. :)

@notmandatory

Copy link
Copy Markdown
Member

I just made the bdk 0.12.0 release, so you're good to go on this one.

BDK v0.10.0 adds a stop_gap parameter to electrum config.
Esplora ureq version requires having new cli args.
Adds esplora-reqwest capability from bdk.
Allows to use async https connections with esplora from bdk-cli.
Recent update in BDK esplora backend allows it to connect with SOCKS5
proxy.
This change adds proxy option to esplora configuration.
Updates Proxy_Opts feature guard to enable it for esplora feature.
@rajarshimaitra

rajarshimaitra commented Oct 3, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased with bdk v0.12.

FYI, I am not updating #42 and #36 right now. For simplicity of merging this needs to be merged first. Then the rest two can be rebased on top of updated master. I think that will simplify the review process as all these PRs are interdependent.

This one is the biggest change among all other as it handles all the update from bdk v0.10 to v0.12. So keeping this one separate from review of the rest.

@notmandatorynotmandatory left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-ACK f9a9606

I manually tested and works fine as long as correct esplora server URL is used. Either README needs to be updated, defaults need to be changed for testnet or maybe something else. Will merge this now so other PRs can proceed and we can fix the esplora server URL issue in a subsequent PR.

@notmandatory
notmandatory merged commit f9a9606 into bitcoindevkit:masterOct 4, 2021
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rajarshimaitra@notmandatory@afilini@tcharding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update BDK version to 0.12.0 - #41

Merged
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update
Oct 4, 2021
Merged

Update BDK version to 0.12.0#41
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
Contributor

Description

This PR updates the upstream BDK version to latest release (v0.10.0).

Notes to the reviewers

The latest release of BDK includes some breaking changes, some of which are handled here. A previously available function in BDK, maintain_single_recipient() is changed into allow_shrinking() which requires a scriptpubkey to be specified. So far I couldn't find any public API in BDK using which a scriptpubkey (or the transaction) can be retrieved from the wallet given a TxID. Marked the code with a TODO. It probably needs some additional API in BDK. Made an issue (bitcoindevkit/bdk#427) to track this.

BDK esplora blockchain module has been divided into two types using-ureq and using-reqwest. reqwest is an async feature in BDK, which produces Future related errors in bdk-cli (#36 (comment)). Trying to solve that error creates more complexity (async related weridness). Thus decided to scrap reqwest and go with blocking ureq version, which I think is adequate for the usecases of bdk-cli.

Updated electrum cli args.

Checklists

All Submissions:

  • I've signed all my commits
  • I followed the contribution guidelines
  • I ran cargo fmt and cargo clippy before committing

New Features:

  • I've added tests for the new feature
  • I've added docs for the new feature
  • I've updated CHANGELOG.md

Bugfixes:

  • This pull request breaks the existing API
  • I've added tests to reproduce the issue which are now passing
  • I'm linking the issue being fixed by this PR

Updating the BDK version creates some breaking change.
One of such change probably requires modification of BDK to expose a
new function to fetch scriptpubkey from a txid.
Used ureq version of esplora to remove async related complexities.
@rajarshimaitrarajarshimaitra changed the title Dep updateUpdate BDK version to 0.10.0Aug 26, 2021
Comment threadCargo.toml Outdated

[dependencies]
bdk = { version = "^0.7", default-features = false, features = ["all-keys"]}
bdk = { version = "0.10.0", default-features = false, features = ["all-keys"]}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't able to connect to the blockstream esplora server via https (and http redirects to https) because bdk disables ureq default features. @tcharding was disabling the tls feature intentional?

@rajarshimaitra If having the ureqtls feature disabled by default is intentional I think it makes sense to add a ureq-tls = [ "ureq/tls" ] feature to bdk so we can enable it from the bdk-cli project (or for others who need it).

@rajarshimaitrarajarshimaitraAug 28, 2021

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good Idea. Better to enable tls in ureq if we use it. IMO connecting https will be quite a generic requirement. Will open a PR if we all agree the same.

We don't need another feature flag for this, just add tls in ureq's feature list.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, maybe best of have tls feature enabled by default in bdk, but first I'd like to get @tcharding's input since he originally added the ureq dependency and may have an argument for leaving tls off by default.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no problem with enabling TLS by default. As for why I disabled it, I can't remember exactly why, I probably just disabled default features during a debugging session and never turned TLS back on. Thanks for checking in with me and thanks for giving it the thought to realize we should enable it by default!

Comment threadCargo.toml Outdated
repl = ["regex", "rustyline"]
electrum = ["bdk/electrum"]
esplora = ["bdk/esplora"]
esplora = ["bdk/use-esplora-ureq"]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying to use this to test bitcoindevkit/bdk#429: to get bdk-cli to work in the browser we need a way to enable bdk/use-esplora-reqwest. I would suggest maybe adding another feature esplora-reqwest that we can use from wasm32

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or maybe even better: async-esplora

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this PR may be blocked until @tcharding and @LLFourn work out things out with bitcoindevkit/bdk#433.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. I am not really sure how big the httpclient fix would be. If it takes much longer, can we consider merging bitcoindevkit/bdk#430 in the mean time? #36 is also pending on this one.

And I think that will fix @afilini 's issue too.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the meantime I made this branch just to test the playground: https://github.com/afilini/bdk-cli/tree/update-with-reqwest

@rajarshimaitra

rajarshimaitra commented Sep 14, 2021

Copy link
Copy Markdown
ContributorAuthor

Added esplora-reqwest into bdk-cli.

@notmandatory we have to use bdk-master for now, until the esplora-fix is released upstream. This can be changed in next bdk release.

@afilini please check if this meets your requirement, or something more to be done? To use request compile with esplora-reqwest feature.

@notmandatory

Copy link
Copy Markdown
Member

When bdk release 0.12.0 is out ~Sept-29 I think this one will be ready to merge. I've updated the title. 😉

@notmandatorynotmandatory changed the title Update BDK version to 0.10.0Update BDK version to 0.12.0Sep 17, 2021
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

@notmandatory just FYI, the rest of the open PRs builds on top of this. So this needs to go first before they can be merged.. :)

@notmandatory

Copy link
Copy Markdown
Member

I just made the bdk 0.12.0 release, so you're good to go on this one.

BDK v0.10.0 adds a stop_gap parameter to electrum config.
Esplora ureq version requires having new cli args.
Adds esplora-reqwest capability from bdk.
Allows to use async https connections with esplora from bdk-cli.
Recent update in BDK esplora backend allows it to connect with SOCKS5
proxy.
This change adds proxy option to esplora configuration.
Updates Proxy_Opts feature guard to enable it for esplora feature.
@rajarshimaitra

rajarshimaitra commented Oct 3, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased with bdk v0.12.

FYI, I am not updating #42 and #36 right now. For simplicity of merging this needs to be merged first. Then the rest two can be rebased on top of updated master. I think that will simplify the review process as all these PRs are interdependent.

This one is the biggest change among all other as it handles all the update from bdk v0.10 to v0.12. So keeping this one separate from review of the rest.

@notmandatorynotmandatory left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-ACK f9a9606

I manually tested and works fine as long as correct esplora server URL is used. Either README needs to be updated, defaults need to be changed for testnet or maybe something else. Will merge this now so other PRs can proceed and we can fix the esplora server URL issue in a subsequent PR.

@notmandatory
notmandatory merged commit f9a9606 into bitcoindevkit:masterOct 4, 2021
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rajarshimaitra@notmandatory@afilini@tcharding
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Update BDK version to 0.12.0 - #41

Merged
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update
Oct 4, 2021
Merged

Update BDK version to 0.12.0#41
notmandatory merged 8 commits into
bitcoindevkit:masterfrom
rajarshimaitra:dep-update

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
Contributor

Description

This PR updates the upstream BDK version to latest release (v0.10.0).

Notes to the reviewers

The latest release of BDK includes some breaking changes, some of which are handled here. A previously available function in BDK, maintain_single_recipient() is changed into allow_shrinking() which requires a scriptpubkey to be specified. So far I couldn't find any public API in BDK using which a scriptpubkey (or the transaction) can be retrieved from the wallet given a TxID. Marked the code with a TODO. It probably needs some additional API in BDK. Made an issue (bitcoindevkit/bdk#427) to track this.

BDK esplora blockchain module has been divided into two types using-ureq and using-reqwest. reqwest is an async feature in BDK, which produces Future related errors in bdk-cli (#36 (comment)). Trying to solve that error creates more complexity (async related weridness). Thus decided to scrap reqwest and go with blocking ureq version, which I think is adequate for the usecases of bdk-cli.

Updated electrum cli args.

Checklists

All Submissions:

  • I've signed all my commits
  • I followed the contribution guidelines
  • I ran cargo fmt and cargo clippy before committing

New Features:

  • I've added tests for the new feature
  • I've added docs for the new feature
  • I've updated CHANGELOG.md

Bugfixes:

  • This pull request breaks the existing API
  • I've added tests to reproduce the issue which are now passing
  • I'm linking the issue being fixed by this PR

Updating the BDK version creates some breaking change.
One of such change probably requires modification of BDK to expose a
new function to fetch scriptpubkey from a txid.
Used ureq version of esplora to remove async related complexities.
@rajarshimaitrarajarshimaitra changed the title Dep updateUpdate BDK version to 0.10.0Aug 26, 2021
Comment threadCargo.toml Outdated

[dependencies]
bdk = { version = "^0.7", default-features = false, features = ["all-keys"]}
bdk = { version = "0.10.0", default-features = false, features = ["all-keys"]}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't able to connect to the blockstream esplora server via https (and http redirects to https) because bdk disables ureq default features. @tcharding was disabling the tls feature intentional?

@rajarshimaitra If having the ureqtls feature disabled by default is intentional I think it makes sense to add a ureq-tls = [ "ureq/tls" ] feature to bdk so we can enable it from the bdk-cli project (or for others who need it).

@rajarshimaitrarajarshimaitraAug 28, 2021

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good Idea. Better to enable tls in ureq if we use it. IMO connecting https will be quite a generic requirement. Will open a PR if we all agree the same.

We don't need another feature flag for this, just add tls in ureq's feature list.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, maybe best of have tls feature enabled by default in bdk, but first I'd like to get @tcharding's input since he originally added the ureq dependency and may have an argument for leaving tls off by default.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no problem with enabling TLS by default. As for why I disabled it, I can't remember exactly why, I probably just disabled default features during a debugging session and never turned TLS back on. Thanks for checking in with me and thanks for giving it the thought to realize we should enable it by default!

Comment threadCargo.toml Outdated
repl = ["regex", "rustyline"]
electrum = ["bdk/electrum"]
esplora = ["bdk/esplora"]
esplora = ["bdk/use-esplora-ureq"]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying to use this to test bitcoindevkit/bdk#429: to get bdk-cli to work in the browser we need a way to enable bdk/use-esplora-reqwest. I would suggest maybe adding another feature esplora-reqwest that we can use from wasm32

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or maybe even better: async-esplora

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this PR may be blocked until @tcharding and @LLFourn work out things out with bitcoindevkit/bdk#433.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. I am not really sure how big the httpclient fix would be. If it takes much longer, can we consider merging bitcoindevkit/bdk#430 in the mean time? #36 is also pending on this one.

And I think that will fix @afilini 's issue too.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the meantime I made this branch just to test the playground: https://github.com/afilini/bdk-cli/tree/update-with-reqwest

@rajarshimaitra

rajarshimaitra commented Sep 14, 2021

Copy link
Copy Markdown
ContributorAuthor

Added esplora-reqwest into bdk-cli.

@notmandatory we have to use bdk-master for now, until the esplora-fix is released upstream. This can be changed in next bdk release.

@afilini please check if this meets your requirement, or something more to be done? To use request compile with esplora-reqwest feature.

@notmandatory

Copy link
Copy Markdown
Member

When bdk release 0.12.0 is out ~Sept-29 I think this one will be ready to merge. I've updated the title. 😉

@notmandatorynotmandatory changed the title Update BDK version to 0.10.0Update BDK version to 0.12.0Sep 17, 2021
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

@notmandatory just FYI, the rest of the open PRs builds on top of this. So this needs to go first before they can be merged.. :)

@notmandatory

Copy link
Copy Markdown
Member

I just made the bdk 0.12.0 release, so you're good to go on this one.

BDK v0.10.0 adds a stop_gap parameter to electrum config.
Esplora ureq version requires having new cli args.
Adds esplora-reqwest capability from bdk.
Allows to use async https connections with esplora from bdk-cli.
Recent update in BDK esplora backend allows it to connect with SOCKS5
proxy.
This change adds proxy option to esplora configuration.
Updates Proxy_Opts feature guard to enable it for esplora feature.
@rajarshimaitra

rajarshimaitra commented Oct 3, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased with bdk v0.12.

FYI, I am not updating #42 and #36 right now. For simplicity of merging this needs to be merged first. Then the rest two can be rebased on top of updated master. I think that will simplify the review process as all these PRs are interdependent.

This one is the biggest change among all other as it handles all the update from bdk v0.10 to v0.12. So keeping this one separate from review of the rest.

@notmandatorynotmandatory left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-ACK f9a9606

I manually tested and works fine as long as correct esplora server URL is used. Either README needs to be updated, defaults need to be changed for testnet or maybe something else. Will merge this now so other PRs can proceed and we can fix the esplora server URL issue in a subsequent PR.

@notmandatory
notmandatory merged commit f9a9606 into bitcoindevkit:masterOct 4, 2021
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rajarshimaitra@notmandatory@afilini@tcharding