RPC backend implementation - #36

Merged
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend
Oct 19, 2021
Merged

RPC backend implementation#36
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 3, 2021

Copy link
Copy Markdown
Contributor

Description

This opens the RPC backend recently added in BDK bitcoindevkit/bdk#407.

This builds on top of BDK master, because RPC back end isn't released yet.

I committed the Cargo.lock file too understanding that we are suppose to commit this file also as per #27 (comment). Let me know if that's not appropriate.

This is now ready for review.

Notes to the reviewers

It seems there is some failure with esplora backend, probably something related to recent restructuring of esplora module in
bdk. Now that there are two different esplora configuration in BDK, we need to either chose one for bdk-cli, or have both options
as feature flag. I decided to go for use-explora-reqwest for now.

But in any case this error should not be there, as I can see bdk compiles with maybe-await!() macro in master just fine, with the reqwest esplora feature. Not sure what is the issue here. Any suggestion would be helpful.

Compiling bdk-cli v0.2.1-dev (/home/raj/github-repo/bdk-cli)
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:984:13
|
984 | maybe_await!(wallet.sync(log_progress(), max_addresses))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:999:24
|
999 | let txid = maybe_await!(wallet.broadcast(tx))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`

This is causing the test failures.

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

@rajarshimaitra
rajarshimaitraforce-pushed the rpc-backend branch 2 times, most recently from a504d71 to f752a1fCompareAugust 13, 2021 12:11
@rajarshimaitra
rajarshimaitra marked this pull request as ready for review August 13, 2021 12:14
@rajarshimaitrarajarshimaitra changed the title Draft RPC backend implementationRPC backend implementationAug 13, 2021
Comment threadCargo.toml Outdated
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Updated with v0.10.0. But cargo build --features esplora still fails.

@rajarshimaitrarajarshimaitra mentioned this pull request Aug 26, 2021
9 tasks
@rajarshimaitra

rajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The above error is fixed (along with other updates for BDK v0.10.0) in https://github.com/bitcoindevkit/bdk-cli/pulls

Decided to use esplora ureq version. Removing all async from bdk-cli. cc @tcharding@notmandatory

This should be merged after the version update PR.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Rebased on esplora fix at #41 .. This should be merged after that PR.

@rajarshimaitra

rajarshimaitra commented Oct 5, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased on master.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

There needs to be readme update after this. But doing it in this PR might cause conflicts with #44.

So putting that for a separate PR.

@notmandatory

notmandatory commented Oct 6, 2021

Copy link
Copy Markdown
Member

Please add rpc to the build.rs logic that prevents two blockchain features from being enabled together. Also maybe another rebase and then you can mention it as an option in the README too. I'd like to merge this one next, then #42. Thanks!

@notmandatory

Copy link
Copy Markdown
Member

Need to add feature = "rpc" also in src/lib.rs line 167

Expose the RPC backend feature via cli arg options.
RPC backend can be connected via all default parameters
without specifying any arg options.
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor
  • Rebased,
  • updated build script,
  • fixed in lib.rs,
  • Updated Readme

@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.

ACK 32a3a55

Looks good, thanks for the update. I'll give anyone else interested a chance to review and if no objections merge tomorrow.

@notmandatory
notmandatory merged commit 32a3a55 into bitcoindevkit:masterOct 19, 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.

2 participants

@rajarshimaitra@notmandatory
, '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

RPC backend implementation - #36

Merged
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend
Oct 19, 2021
Merged

RPC backend implementation#36
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 3, 2021

Copy link
Copy Markdown
Contributor

Description

This opens the RPC backend recently added in BDK bitcoindevkit/bdk#407.

This builds on top of BDK master, because RPC back end isn't released yet.

I committed the Cargo.lock file too understanding that we are suppose to commit this file also as per #27 (comment). Let me know if that's not appropriate.

This is now ready for review.

Notes to the reviewers

It seems there is some failure with esplora backend, probably something related to recent restructuring of esplora module in
bdk. Now that there are two different esplora configuration in BDK, we need to either chose one for bdk-cli, or have both options
as feature flag. I decided to go for use-explora-reqwest for now.

But in any case this error should not be there, as I can see bdk compiles with maybe-await!() macro in master just fine, with the reqwest esplora feature. Not sure what is the issue here. Any suggestion would be helpful.

Compiling bdk-cli v0.2.1-dev (/home/raj/github-repo/bdk-cli)
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:984:13
|
984 | maybe_await!(wallet.sync(log_progress(), max_addresses))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:999:24
|
999 | let txid = maybe_await!(wallet.broadcast(tx))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`

This is causing the test failures.

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

@rajarshimaitra
rajarshimaitraforce-pushed the rpc-backend branch 2 times, most recently from a504d71 to f752a1fCompareAugust 13, 2021 12:11
@rajarshimaitra
rajarshimaitra marked this pull request as ready for review August 13, 2021 12:14
@rajarshimaitrarajarshimaitra changed the title Draft RPC backend implementationRPC backend implementationAug 13, 2021
Comment threadCargo.toml Outdated
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Updated with v0.10.0. But cargo build --features esplora still fails.

@rajarshimaitrarajarshimaitra mentioned this pull request Aug 26, 2021
9 tasks
@rajarshimaitra

rajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The above error is fixed (along with other updates for BDK v0.10.0) in https://github.com/bitcoindevkit/bdk-cli/pulls

Decided to use esplora ureq version. Removing all async from bdk-cli. cc @tcharding@notmandatory

This should be merged after the version update PR.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Rebased on esplora fix at #41 .. This should be merged after that PR.

@rajarshimaitra

rajarshimaitra commented Oct 5, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased on master.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

There needs to be readme update after this. But doing it in this PR might cause conflicts with #44.

So putting that for a separate PR.

@notmandatory

notmandatory commented Oct 6, 2021

Copy link
Copy Markdown
Member

Please add rpc to the build.rs logic that prevents two blockchain features from being enabled together. Also maybe another rebase and then you can mention it as an option in the README too. I'd like to merge this one next, then #42. Thanks!

@notmandatory

Copy link
Copy Markdown
Member

Need to add feature = "rpc" also in src/lib.rs line 167

Expose the RPC backend feature via cli arg options.
RPC backend can be connected via all default parameters
without specifying any arg options.
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor
  • Rebased,
  • updated build script,
  • fixed in lib.rs,
  • Updated Readme

@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.

ACK 32a3a55

Looks good, thanks for the update. I'll give anyone else interested a chance to review and if no objections merge tomorrow.

@notmandatory
notmandatory merged commit 32a3a55 into bitcoindevkit:masterOct 19, 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.

2 participants

@rajarshimaitra@notmandatory
, '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

RPC backend implementation - #36

Merged
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend
Oct 19, 2021
Merged

RPC backend implementation#36
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 3, 2021

Copy link
Copy Markdown
Contributor

Description

This opens the RPC backend recently added in BDK bitcoindevkit/bdk#407.

This builds on top of BDK master, because RPC back end isn't released yet.

I committed the Cargo.lock file too understanding that we are suppose to commit this file also as per #27 (comment). Let me know if that's not appropriate.

This is now ready for review.

Notes to the reviewers

It seems there is some failure with esplora backend, probably something related to recent restructuring of esplora module in
bdk. Now that there are two different esplora configuration in BDK, we need to either chose one for bdk-cli, or have both options
as feature flag. I decided to go for use-explora-reqwest for now.

But in any case this error should not be there, as I can see bdk compiles with maybe-await!() macro in master just fine, with the reqwest esplora feature. Not sure what is the issue here. Any suggestion would be helpful.

Compiling bdk-cli v0.2.1-dev (/home/raj/github-repo/bdk-cli)
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:984:13
|
984 | maybe_await!(wallet.sync(log_progress(), max_addresses))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:999:24
|
999 | let txid = maybe_await!(wallet.broadcast(tx))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`

This is causing the test failures.

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

@rajarshimaitra
rajarshimaitraforce-pushed the rpc-backend branch 2 times, most recently from a504d71 to f752a1fCompareAugust 13, 2021 12:11
@rajarshimaitra
rajarshimaitra marked this pull request as ready for review August 13, 2021 12:14
@rajarshimaitrarajarshimaitra changed the title Draft RPC backend implementationRPC backend implementationAug 13, 2021
Comment threadCargo.toml Outdated
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Updated with v0.10.0. But cargo build --features esplora still fails.

@rajarshimaitrarajarshimaitra mentioned this pull request Aug 26, 2021
9 tasks
@rajarshimaitra

rajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The above error is fixed (along with other updates for BDK v0.10.0) in https://github.com/bitcoindevkit/bdk-cli/pulls

Decided to use esplora ureq version. Removing all async from bdk-cli. cc @tcharding@notmandatory

This should be merged after the version update PR.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Rebased on esplora fix at #41 .. This should be merged after that PR.

@rajarshimaitra

rajarshimaitra commented Oct 5, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased on master.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

There needs to be readme update after this. But doing it in this PR might cause conflicts with #44.

So putting that for a separate PR.

@notmandatory

notmandatory commented Oct 6, 2021

Copy link
Copy Markdown
Member

Please add rpc to the build.rs logic that prevents two blockchain features from being enabled together. Also maybe another rebase and then you can mention it as an option in the README too. I'd like to merge this one next, then #42. Thanks!

@notmandatory

Copy link
Copy Markdown
Member

Need to add feature = "rpc" also in src/lib.rs line 167

Expose the RPC backend feature via cli arg options.
RPC backend can be connected via all default parameters
without specifying any arg options.
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor
  • Rebased,
  • updated build script,
  • fixed in lib.rs,
  • Updated Readme

@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.

ACK 32a3a55

Looks good, thanks for the update. I'll give anyone else interested a chance to review and if no objections merge tomorrow.

@notmandatory
notmandatory merged commit 32a3a55 into bitcoindevkit:masterOct 19, 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.

2 participants

@rajarshimaitra@notmandatory
, '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

RPC backend implementation - #36

Merged
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend
Oct 19, 2021
Merged

RPC backend implementation#36
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 3, 2021

Copy link
Copy Markdown
Contributor

Description

This opens the RPC backend recently added in BDK bitcoindevkit/bdk#407.

This builds on top of BDK master, because RPC back end isn't released yet.

I committed the Cargo.lock file too understanding that we are suppose to commit this file also as per #27 (comment). Let me know if that's not appropriate.

This is now ready for review.

Notes to the reviewers

It seems there is some failure with esplora backend, probably something related to recent restructuring of esplora module in
bdk. Now that there are two different esplora configuration in BDK, we need to either chose one for bdk-cli, or have both options
as feature flag. I decided to go for use-explora-reqwest for now.

But in any case this error should not be there, as I can see bdk compiles with maybe-await!() macro in master just fine, with the reqwest esplora feature. Not sure what is the issue here. Any suggestion would be helpful.

Compiling bdk-cli v0.2.1-dev (/home/raj/github-repo/bdk-cli)
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:984:13
|
984 | maybe_await!(wallet.sync(log_progress(), max_addresses))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:999:24
|
999 | let txid = maybe_await!(wallet.broadcast(tx))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`

This is causing the test failures.

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

@rajarshimaitra
rajarshimaitraforce-pushed the rpc-backend branch 2 times, most recently from a504d71 to f752a1fCompareAugust 13, 2021 12:11
@rajarshimaitra
rajarshimaitra marked this pull request as ready for review August 13, 2021 12:14
@rajarshimaitrarajarshimaitra changed the title Draft RPC backend implementationRPC backend implementationAug 13, 2021
Comment threadCargo.toml Outdated
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Updated with v0.10.0. But cargo build --features esplora still fails.

@rajarshimaitrarajarshimaitra mentioned this pull request Aug 26, 2021
9 tasks
@rajarshimaitra

rajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The above error is fixed (along with other updates for BDK v0.10.0) in https://github.com/bitcoindevkit/bdk-cli/pulls

Decided to use esplora ureq version. Removing all async from bdk-cli. cc @tcharding@notmandatory

This should be merged after the version update PR.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Rebased on esplora fix at #41 .. This should be merged after that PR.

@rajarshimaitra

rajarshimaitra commented Oct 5, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased on master.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

There needs to be readme update after this. But doing it in this PR might cause conflicts with #44.

So putting that for a separate PR.

@notmandatory

notmandatory commented Oct 6, 2021

Copy link
Copy Markdown
Member

Please add rpc to the build.rs logic that prevents two blockchain features from being enabled together. Also maybe another rebase and then you can mention it as an option in the README too. I'd like to merge this one next, then #42. Thanks!

@notmandatory

Copy link
Copy Markdown
Member

Need to add feature = "rpc" also in src/lib.rs line 167

Expose the RPC backend feature via cli arg options.
RPC backend can be connected via all default parameters
without specifying any arg options.
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor
  • Rebased,
  • updated build script,
  • fixed in lib.rs,
  • Updated Readme

@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.

ACK 32a3a55

Looks good, thanks for the update. I'll give anyone else interested a chance to review and if no objections merge tomorrow.

@notmandatory
notmandatory merged commit 32a3a55 into bitcoindevkit:masterOct 19, 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.

2 participants

@rajarshimaitra@notmandatory
, '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

RPC backend implementation - #36

Merged
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend
Oct 19, 2021
Merged

RPC backend implementation#36
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 3, 2021

Copy link
Copy Markdown
Contributor

Description

This opens the RPC backend recently added in BDK bitcoindevkit/bdk#407.

This builds on top of BDK master, because RPC back end isn't released yet.

I committed the Cargo.lock file too understanding that we are suppose to commit this file also as per #27 (comment). Let me know if that's not appropriate.

This is now ready for review.

Notes to the reviewers

It seems there is some failure with esplora backend, probably something related to recent restructuring of esplora module in
bdk. Now that there are two different esplora configuration in BDK, we need to either chose one for bdk-cli, or have both options
as feature flag. I decided to go for use-explora-reqwest for now.

But in any case this error should not be there, as I can see bdk compiles with maybe-await!() macro in master just fine, with the reqwest esplora feature. Not sure what is the issue here. Any suggestion would be helpful.

Compiling bdk-cli v0.2.1-dev (/home/raj/github-repo/bdk-cli)
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:984:13
|
984 | maybe_await!(wallet.sync(log_progress(), max_addresses))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:999:24
|
999 | let txid = maybe_await!(wallet.broadcast(tx))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`

This is causing the test failures.

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

@rajarshimaitra
rajarshimaitraforce-pushed the rpc-backend branch 2 times, most recently from a504d71 to f752a1fCompareAugust 13, 2021 12:11
@rajarshimaitra
rajarshimaitra marked this pull request as ready for review August 13, 2021 12:14
@rajarshimaitrarajarshimaitra changed the title Draft RPC backend implementationRPC backend implementationAug 13, 2021
Comment threadCargo.toml Outdated
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Updated with v0.10.0. But cargo build --features esplora still fails.

@rajarshimaitrarajarshimaitra mentioned this pull request Aug 26, 2021
9 tasks
@rajarshimaitra

rajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The above error is fixed (along with other updates for BDK v0.10.0) in https://github.com/bitcoindevkit/bdk-cli/pulls

Decided to use esplora ureq version. Removing all async from bdk-cli. cc @tcharding@notmandatory

This should be merged after the version update PR.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Rebased on esplora fix at #41 .. This should be merged after that PR.

@rajarshimaitra

rajarshimaitra commented Oct 5, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased on master.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

There needs to be readme update after this. But doing it in this PR might cause conflicts with #44.

So putting that for a separate PR.

@notmandatory

notmandatory commented Oct 6, 2021

Copy link
Copy Markdown
Member

Please add rpc to the build.rs logic that prevents two blockchain features from being enabled together. Also maybe another rebase and then you can mention it as an option in the README too. I'd like to merge this one next, then #42. Thanks!

@notmandatory

Copy link
Copy Markdown
Member

Need to add feature = "rpc" also in src/lib.rs line 167

Expose the RPC backend feature via cli arg options.
RPC backend can be connected via all default parameters
without specifying any arg options.
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor
  • Rebased,
  • updated build script,
  • fixed in lib.rs,
  • Updated Readme

@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.

ACK 32a3a55

Looks good, thanks for the update. I'll give anyone else interested a chance to review and if no objections merge tomorrow.

@notmandatory
notmandatory merged commit 32a3a55 into bitcoindevkit:masterOct 19, 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.

2 participants

@rajarshimaitra@notmandatory
, '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

RPC backend implementation - #36

Merged
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend
Oct 19, 2021
Merged

RPC backend implementation#36
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 3, 2021

Copy link
Copy Markdown
Contributor

Description

This opens the RPC backend recently added in BDK bitcoindevkit/bdk#407.

This builds on top of BDK master, because RPC back end isn't released yet.

I committed the Cargo.lock file too understanding that we are suppose to commit this file also as per #27 (comment). Let me know if that's not appropriate.

This is now ready for review.

Notes to the reviewers

It seems there is some failure with esplora backend, probably something related to recent restructuring of esplora module in
bdk. Now that there are two different esplora configuration in BDK, we need to either chose one for bdk-cli, or have both options
as feature flag. I decided to go for use-explora-reqwest for now.

But in any case this error should not be there, as I can see bdk compiles with maybe-await!() macro in master just fine, with the reqwest esplora feature. Not sure what is the issue here. Any suggestion would be helpful.

Compiling bdk-cli v0.2.1-dev (/home/raj/github-repo/bdk-cli)
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:984:13
|
984 | maybe_await!(wallet.sync(log_progress(), max_addresses))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:999:24
|
999 | let txid = maybe_await!(wallet.broadcast(tx))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`

This is causing the test failures.

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

@rajarshimaitra
rajarshimaitraforce-pushed the rpc-backend branch 2 times, most recently from a504d71 to f752a1fCompareAugust 13, 2021 12:11
@rajarshimaitra
rajarshimaitra marked this pull request as ready for review August 13, 2021 12:14
@rajarshimaitrarajarshimaitra changed the title Draft RPC backend implementationRPC backend implementationAug 13, 2021
Comment threadCargo.toml Outdated
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Updated with v0.10.0. But cargo build --features esplora still fails.

@rajarshimaitrarajarshimaitra mentioned this pull request Aug 26, 2021
9 tasks
@rajarshimaitra

rajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The above error is fixed (along with other updates for BDK v0.10.0) in https://github.com/bitcoindevkit/bdk-cli/pulls

Decided to use esplora ureq version. Removing all async from bdk-cli. cc @tcharding@notmandatory

This should be merged after the version update PR.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Rebased on esplora fix at #41 .. This should be merged after that PR.

@rajarshimaitra

rajarshimaitra commented Oct 5, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased on master.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

There needs to be readme update after this. But doing it in this PR might cause conflicts with #44.

So putting that for a separate PR.

@notmandatory

notmandatory commented Oct 6, 2021

Copy link
Copy Markdown
Member

Please add rpc to the build.rs logic that prevents two blockchain features from being enabled together. Also maybe another rebase and then you can mention it as an option in the README too. I'd like to merge this one next, then #42. Thanks!

@notmandatory

Copy link
Copy Markdown
Member

Need to add feature = "rpc" also in src/lib.rs line 167

Expose the RPC backend feature via cli arg options.
RPC backend can be connected via all default parameters
without specifying any arg options.
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor
  • Rebased,
  • updated build script,
  • fixed in lib.rs,
  • Updated Readme

@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.

ACK 32a3a55

Looks good, thanks for the update. I'll give anyone else interested a chance to review and if no objections merge tomorrow.

@notmandatory
notmandatory merged commit 32a3a55 into bitcoindevkit:masterOct 19, 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.

2 participants

@rajarshimaitra@notmandatory
, '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

RPC backend implementation - #36

Merged
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend
Oct 19, 2021
Merged

RPC backend implementation#36
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 3, 2021

Copy link
Copy Markdown
Contributor

Description

This opens the RPC backend recently added in BDK bitcoindevkit/bdk#407.

This builds on top of BDK master, because RPC back end isn't released yet.

I committed the Cargo.lock file too understanding that we are suppose to commit this file also as per #27 (comment). Let me know if that's not appropriate.

This is now ready for review.

Notes to the reviewers

It seems there is some failure with esplora backend, probably something related to recent restructuring of esplora module in
bdk. Now that there are two different esplora configuration in BDK, we need to either chose one for bdk-cli, or have both options
as feature flag. I decided to go for use-explora-reqwest for now.

But in any case this error should not be there, as I can see bdk compiles with maybe-await!() macro in master just fine, with the reqwest esplora feature. Not sure what is the issue here. Any suggestion would be helpful.

Compiling bdk-cli v0.2.1-dev (/home/raj/github-repo/bdk-cli)
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:984:13
|
984 | maybe_await!(wallet.sync(log_progress(), max_addresses))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:999:24
|
999 | let txid = maybe_await!(wallet.broadcast(tx))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`

This is causing the test failures.

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

@rajarshimaitra
rajarshimaitraforce-pushed the rpc-backend branch 2 times, most recently from a504d71 to f752a1fCompareAugust 13, 2021 12:11
@rajarshimaitra
rajarshimaitra marked this pull request as ready for review August 13, 2021 12:14
@rajarshimaitrarajarshimaitra changed the title Draft RPC backend implementationRPC backend implementationAug 13, 2021
Comment threadCargo.toml Outdated
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Updated with v0.10.0. But cargo build --features esplora still fails.

@rajarshimaitrarajarshimaitra mentioned this pull request Aug 26, 2021
9 tasks
@rajarshimaitra

rajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The above error is fixed (along with other updates for BDK v0.10.0) in https://github.com/bitcoindevkit/bdk-cli/pulls

Decided to use esplora ureq version. Removing all async from bdk-cli. cc @tcharding@notmandatory

This should be merged after the version update PR.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Rebased on esplora fix at #41 .. This should be merged after that PR.

@rajarshimaitra

rajarshimaitra commented Oct 5, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased on master.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

There needs to be readme update after this. But doing it in this PR might cause conflicts with #44.

So putting that for a separate PR.

@notmandatory

notmandatory commented Oct 6, 2021

Copy link
Copy Markdown
Member

Please add rpc to the build.rs logic that prevents two blockchain features from being enabled together. Also maybe another rebase and then you can mention it as an option in the README too. I'd like to merge this one next, then #42. Thanks!

@notmandatory

Copy link
Copy Markdown
Member

Need to add feature = "rpc" also in src/lib.rs line 167

Expose the RPC backend feature via cli arg options.
RPC backend can be connected via all default parameters
without specifying any arg options.
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor
  • Rebased,
  • updated build script,
  • fixed in lib.rs,
  • Updated Readme

@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.

ACK 32a3a55

Looks good, thanks for the update. I'll give anyone else interested a chance to review and if no objections merge tomorrow.

@notmandatory
notmandatory merged commit 32a3a55 into bitcoindevkit:masterOct 19, 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.

2 participants

@rajarshimaitra@notmandatory
, '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

RPC backend implementation - #36

Merged
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend
Oct 19, 2021
Merged

RPC backend implementation#36
notmandatory merged 5 commits into
bitcoindevkit:masterfrom
rajarshimaitra:rpc-backend

Conversation

@rajarshimaitra

@rajarshimaitrarajarshimaitra commented Aug 3, 2021

Copy link
Copy Markdown
Contributor

Description

This opens the RPC backend recently added in BDK bitcoindevkit/bdk#407.

This builds on top of BDK master, because RPC back end isn't released yet.

I committed the Cargo.lock file too understanding that we are suppose to commit this file also as per #27 (comment). Let me know if that's not appropriate.

This is now ready for review.

Notes to the reviewers

It seems there is some failure with esplora backend, probably something related to recent restructuring of esplora module in
bdk. Now that there are two different esplora configuration in BDK, we need to either chose one for bdk-cli, or have both options
as feature flag. I decided to go for use-explora-reqwest for now.

But in any case this error should not be there, as I can see bdk compiles with maybe-await!() macro in master just fine, with the reqwest esplora feature. Not sure what is the issue here. Any suggestion would be helpful.

Compiling bdk-cli v0.2.1-dev (/home/raj/github-repo/bdk-cli)
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:984:13
|
984 | maybe_await!(wallet.sync(log_progress(), max_addresses))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> src/lib.rs:999:24
|
999 | let txid = maybe_await!(wallet.broadcast(tx))?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future`
|
= help: the trait `Try` is not implemented for `impl Future`
= note: required by `into_result`

This is causing the test failures.

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

@rajarshimaitra
rajarshimaitraforce-pushed the rpc-backend branch 2 times, most recently from a504d71 to f752a1fCompareAugust 13, 2021 12:11
@rajarshimaitra
rajarshimaitra marked this pull request as ready for review August 13, 2021 12:14
@rajarshimaitrarajarshimaitra changed the title Draft RPC backend implementationRPC backend implementationAug 13, 2021
Comment threadCargo.toml Outdated
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Updated with v0.10.0. But cargo build --features esplora still fails.

@rajarshimaitrarajarshimaitra mentioned this pull request Aug 26, 2021
9 tasks
@rajarshimaitra

rajarshimaitra commented Aug 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The above error is fixed (along with other updates for BDK v0.10.0) in https://github.com/bitcoindevkit/bdk-cli/pulls

Decided to use esplora ureq version. Removing all async from bdk-cli. cc @tcharding@notmandatory

This should be merged after the version update PR.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

Rebased on esplora fix at #41 .. This should be merged after that PR.

@rajarshimaitra

rajarshimaitra commented Oct 5, 2021

Copy link
Copy Markdown
ContributorAuthor

Rebased on master.

@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor

There needs to be readme update after this. But doing it in this PR might cause conflicts with #44.

So putting that for a separate PR.

@notmandatory

notmandatory commented Oct 6, 2021

Copy link
Copy Markdown
Member

Please add rpc to the build.rs logic that prevents two blockchain features from being enabled together. Also maybe another rebase and then you can mention it as an option in the README too. I'd like to merge this one next, then #42. Thanks!

@notmandatory

Copy link
Copy Markdown
Member

Need to add feature = "rpc" also in src/lib.rs line 167

Expose the RPC backend feature via cli arg options.
RPC backend can be connected via all default parameters
without specifying any arg options.
@rajarshimaitra

Copy link
Copy Markdown
ContributorAuthor
  • Rebased,
  • updated build script,
  • fixed in lib.rs,
  • Updated Readme

@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.

ACK 32a3a55

Looks good, thanks for the update. I'll give anyone else interested a chance to review and if no objections merge tomorrow.

@notmandatory
notmandatory merged commit 32a3a55 into bitcoindevkit:masterOct 19, 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.

2 participants

@rajarshimaitra@notmandatory