Modify examples to work with latest substrate changes - #440

Closed
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples
Closed

Modify examples to work with latest substrate changes#440
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples

Conversation

@lexnv

@lexnvlexnv commented Feb 7, 2022

Copy link
Copy Markdown
Collaborator

This PR follows #439, and the CI should pull the latest substrate release.

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Comment threadcli/README.md
Comment on lines +41 to +42
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility to customize the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks! Will open a new PR, examples are working on master

@@ -20,7 +20,7 @@
runtime_metadata_path = "examples/polkadot_metadata.scale",
// We can add (certain) custom derives to the generated types by providing

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Curious: do you happen to know what this "(certain)" means? Do we know which ones work and which don't?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I haven't actually dug into this; I suspect we are limited by the derives on various types that are pointed at by the codegen types (eg sp_core::AccountId32 to use one example), so I think to find out we'd have to look through such types and find the common derives across them all.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

The subxt::Encode, subxt::Decode and Debug are already generated in polkadot.rs file.

Also std::Hash is problematic due to subxt::WrapperKeepOpaque<polkadot_runtime::Call> and PhantomDataSendSync. I guess I could address the Hash in a different PR.


if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
println!("Balance transfer success: value: {:?}", event);
println!("Balance transfer success. Value: {:?}", event);

…but is it a "value" or an "event"?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Mmm, it was a value but if we are printing out the entire event now by the looks of it, it's now just the Transfer event.

events.find_first_event::<polkadot::balances::events::Transfer>()?;
if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same

///
/// - run `polkadot --dev --tmp` node locally
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > tests/integration/codegen/polkadot.rs`
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > subxt/tests/integration/codegen/polkadot.rs`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We're on edition 2021 I think. But also: do we really need that? I suspect just | rustfmt > subxt/…/… works too?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I agree; I don't think either of the flags are needed actually (I always just rustfmt > outfile)

// We can add (certain) custom derives to the generated types by providing
// a comma separated list to the below attribute. Most useful for adding `Clone`:
generated_type_derives = "Clone, Hash"
generated_type_derives = "Clone"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Interesting; did Hash not work? (I think I'd have more than one if possible just so that people can see how to add multiple derives (and adding just one is fairly obvious from that :))

@dvdplm

Copy link
Copy Markdown
Contributor

(I re-ran the CI jobs – looks like crates.io was unreachable)

@jsdw

jsdw commented Feb 14, 2022

Copy link
Copy Markdown
Contributor

Sorry about some of the file conflicts; I had a mess with the examples in the event subscription stuff!

There are a couple of nice doc fixes in here; @lexnv would you like to push to get this merged or would you prefer to close it in favour of a new PR?

@lexnvlexnv mentioned this pull request Feb 14, 2022
@lexnv

Copy link
Copy Markdown
CollaboratorAuthor

Closed in favor of #449.

@lexnvlexnv closed this Feb 14, 2022
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.

3 participants

@lexnv@dvdplm@jsdw
, '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

Modify examples to work with latest substrate changes - #440

Closed
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples
Closed

Modify examples to work with latest substrate changes#440
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples

Conversation

@lexnv

@lexnvlexnv commented Feb 7, 2022

Copy link
Copy Markdown
Collaborator

This PR follows #439, and the CI should pull the latest substrate release.

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Comment threadcli/README.md
Comment on lines +41 to +42
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility to customize the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks! Will open a new PR, examples are working on master

@@ -20,7 +20,7 @@
runtime_metadata_path = "examples/polkadot_metadata.scale",
// We can add (certain) custom derives to the generated types by providing

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Curious: do you happen to know what this "(certain)" means? Do we know which ones work and which don't?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I haven't actually dug into this; I suspect we are limited by the derives on various types that are pointed at by the codegen types (eg sp_core::AccountId32 to use one example), so I think to find out we'd have to look through such types and find the common derives across them all.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

The subxt::Encode, subxt::Decode and Debug are already generated in polkadot.rs file.

Also std::Hash is problematic due to subxt::WrapperKeepOpaque<polkadot_runtime::Call> and PhantomDataSendSync. I guess I could address the Hash in a different PR.


if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
println!("Balance transfer success: value: {:?}", event);
println!("Balance transfer success. Value: {:?}", event);

…but is it a "value" or an "event"?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Mmm, it was a value but if we are printing out the entire event now by the looks of it, it's now just the Transfer event.

events.find_first_event::<polkadot::balances::events::Transfer>()?;
if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same

///
/// - run `polkadot --dev --tmp` node locally
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > tests/integration/codegen/polkadot.rs`
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > subxt/tests/integration/codegen/polkadot.rs`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We're on edition 2021 I think. But also: do we really need that? I suspect just | rustfmt > subxt/…/… works too?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I agree; I don't think either of the flags are needed actually (I always just rustfmt > outfile)

// We can add (certain) custom derives to the generated types by providing
// a comma separated list to the below attribute. Most useful for adding `Clone`:
generated_type_derives = "Clone, Hash"
generated_type_derives = "Clone"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Interesting; did Hash not work? (I think I'd have more than one if possible just so that people can see how to add multiple derives (and adding just one is fairly obvious from that :))

@dvdplm

Copy link
Copy Markdown
Contributor

(I re-ran the CI jobs – looks like crates.io was unreachable)

@jsdw

jsdw commented Feb 14, 2022

Copy link
Copy Markdown
Contributor

Sorry about some of the file conflicts; I had a mess with the examples in the event subscription stuff!

There are a couple of nice doc fixes in here; @lexnv would you like to push to get this merged or would you prefer to close it in favour of a new PR?

@lexnvlexnv mentioned this pull request Feb 14, 2022
@lexnv

Copy link
Copy Markdown
CollaboratorAuthor

Closed in favor of #449.

@lexnvlexnv closed this Feb 14, 2022
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.

3 participants

@lexnv@dvdplm@jsdw
, '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

Modify examples to work with latest substrate changes - #440

Closed
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples
Closed

Modify examples to work with latest substrate changes#440
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples

Conversation

@lexnv

@lexnvlexnv commented Feb 7, 2022

Copy link
Copy Markdown
Collaborator

This PR follows #439, and the CI should pull the latest substrate release.

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Comment threadcli/README.md
Comment on lines +41 to +42
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility to customize the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks! Will open a new PR, examples are working on master

@@ -20,7 +20,7 @@
runtime_metadata_path = "examples/polkadot_metadata.scale",
// We can add (certain) custom derives to the generated types by providing

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Curious: do you happen to know what this "(certain)" means? Do we know which ones work and which don't?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I haven't actually dug into this; I suspect we are limited by the derives on various types that are pointed at by the codegen types (eg sp_core::AccountId32 to use one example), so I think to find out we'd have to look through such types and find the common derives across them all.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

The subxt::Encode, subxt::Decode and Debug are already generated in polkadot.rs file.

Also std::Hash is problematic due to subxt::WrapperKeepOpaque<polkadot_runtime::Call> and PhantomDataSendSync. I guess I could address the Hash in a different PR.


if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
println!("Balance transfer success: value: {:?}", event);
println!("Balance transfer success. Value: {:?}", event);

…but is it a "value" or an "event"?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Mmm, it was a value but if we are printing out the entire event now by the looks of it, it's now just the Transfer event.

events.find_first_event::<polkadot::balances::events::Transfer>()?;
if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same

///
/// - run `polkadot --dev --tmp` node locally
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > tests/integration/codegen/polkadot.rs`
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > subxt/tests/integration/codegen/polkadot.rs`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We're on edition 2021 I think. But also: do we really need that? I suspect just | rustfmt > subxt/…/… works too?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I agree; I don't think either of the flags are needed actually (I always just rustfmt > outfile)

// We can add (certain) custom derives to the generated types by providing
// a comma separated list to the below attribute. Most useful for adding `Clone`:
generated_type_derives = "Clone, Hash"
generated_type_derives = "Clone"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Interesting; did Hash not work? (I think I'd have more than one if possible just so that people can see how to add multiple derives (and adding just one is fairly obvious from that :))

@dvdplm

Copy link
Copy Markdown
Contributor

(I re-ran the CI jobs – looks like crates.io was unreachable)

@jsdw

jsdw commented Feb 14, 2022

Copy link
Copy Markdown
Contributor

Sorry about some of the file conflicts; I had a mess with the examples in the event subscription stuff!

There are a couple of nice doc fixes in here; @lexnv would you like to push to get this merged or would you prefer to close it in favour of a new PR?

@lexnvlexnv mentioned this pull request Feb 14, 2022
@lexnv

Copy link
Copy Markdown
CollaboratorAuthor

Closed in favor of #449.

@lexnvlexnv closed this Feb 14, 2022
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.

3 participants

@lexnv@dvdplm@jsdw
, '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

Modify examples to work with latest substrate changes - #440

Closed
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples
Closed

Modify examples to work with latest substrate changes#440
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples

Conversation

@lexnv

@lexnvlexnv commented Feb 7, 2022

Copy link
Copy Markdown
Collaborator

This PR follows #439, and the CI should pull the latest substrate release.

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Comment threadcli/README.md
Comment on lines +41 to +42
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility to customize the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks! Will open a new PR, examples are working on master

@@ -20,7 +20,7 @@
runtime_metadata_path = "examples/polkadot_metadata.scale",
// We can add (certain) custom derives to the generated types by providing

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Curious: do you happen to know what this "(certain)" means? Do we know which ones work and which don't?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I haven't actually dug into this; I suspect we are limited by the derives on various types that are pointed at by the codegen types (eg sp_core::AccountId32 to use one example), so I think to find out we'd have to look through such types and find the common derives across them all.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

The subxt::Encode, subxt::Decode and Debug are already generated in polkadot.rs file.

Also std::Hash is problematic due to subxt::WrapperKeepOpaque<polkadot_runtime::Call> and PhantomDataSendSync. I guess I could address the Hash in a different PR.


if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
println!("Balance transfer success: value: {:?}", event);
println!("Balance transfer success. Value: {:?}", event);

…but is it a "value" or an "event"?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Mmm, it was a value but if we are printing out the entire event now by the looks of it, it's now just the Transfer event.

events.find_first_event::<polkadot::balances::events::Transfer>()?;
if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same

///
/// - run `polkadot --dev --tmp` node locally
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > tests/integration/codegen/polkadot.rs`
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > subxt/tests/integration/codegen/polkadot.rs`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We're on edition 2021 I think. But also: do we really need that? I suspect just | rustfmt > subxt/…/… works too?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I agree; I don't think either of the flags are needed actually (I always just rustfmt > outfile)

// We can add (certain) custom derives to the generated types by providing
// a comma separated list to the below attribute. Most useful for adding `Clone`:
generated_type_derives = "Clone, Hash"
generated_type_derives = "Clone"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Interesting; did Hash not work? (I think I'd have more than one if possible just so that people can see how to add multiple derives (and adding just one is fairly obvious from that :))

@dvdplm

Copy link
Copy Markdown
Contributor

(I re-ran the CI jobs – looks like crates.io was unreachable)

@jsdw

jsdw commented Feb 14, 2022

Copy link
Copy Markdown
Contributor

Sorry about some of the file conflicts; I had a mess with the examples in the event subscription stuff!

There are a couple of nice doc fixes in here; @lexnv would you like to push to get this merged or would you prefer to close it in favour of a new PR?

@lexnvlexnv mentioned this pull request Feb 14, 2022
@lexnv

Copy link
Copy Markdown
CollaboratorAuthor

Closed in favor of #449.

@lexnvlexnv closed this Feb 14, 2022
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.

3 participants

@lexnv@dvdplm@jsdw
, '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

Modify examples to work with latest substrate changes - #440

Closed
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples
Closed

Modify examples to work with latest substrate changes#440
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples

Conversation

@lexnv

@lexnvlexnv commented Feb 7, 2022

Copy link
Copy Markdown
Collaborator

This PR follows #439, and the CI should pull the latest substrate release.

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Comment threadcli/README.md
Comment on lines +41 to +42
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility to customize the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks! Will open a new PR, examples are working on master

@@ -20,7 +20,7 @@
runtime_metadata_path = "examples/polkadot_metadata.scale",
// We can add (certain) custom derives to the generated types by providing

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Curious: do you happen to know what this "(certain)" means? Do we know which ones work and which don't?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I haven't actually dug into this; I suspect we are limited by the derives on various types that are pointed at by the codegen types (eg sp_core::AccountId32 to use one example), so I think to find out we'd have to look through such types and find the common derives across them all.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

The subxt::Encode, subxt::Decode and Debug are already generated in polkadot.rs file.

Also std::Hash is problematic due to subxt::WrapperKeepOpaque<polkadot_runtime::Call> and PhantomDataSendSync. I guess I could address the Hash in a different PR.


if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
println!("Balance transfer success: value: {:?}", event);
println!("Balance transfer success. Value: {:?}", event);

…but is it a "value" or an "event"?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Mmm, it was a value but if we are printing out the entire event now by the looks of it, it's now just the Transfer event.

events.find_first_event::<polkadot::balances::events::Transfer>()?;
if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same

///
/// - run `polkadot --dev --tmp` node locally
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > tests/integration/codegen/polkadot.rs`
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > subxt/tests/integration/codegen/polkadot.rs`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We're on edition 2021 I think. But also: do we really need that? I suspect just | rustfmt > subxt/…/… works too?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I agree; I don't think either of the flags are needed actually (I always just rustfmt > outfile)

// We can add (certain) custom derives to the generated types by providing
// a comma separated list to the below attribute. Most useful for adding `Clone`:
generated_type_derives = "Clone, Hash"
generated_type_derives = "Clone"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Interesting; did Hash not work? (I think I'd have more than one if possible just so that people can see how to add multiple derives (and adding just one is fairly obvious from that :))

@dvdplm

Copy link
Copy Markdown
Contributor

(I re-ran the CI jobs – looks like crates.io was unreachable)

@jsdw

jsdw commented Feb 14, 2022

Copy link
Copy Markdown
Contributor

Sorry about some of the file conflicts; I had a mess with the examples in the event subscription stuff!

There are a couple of nice doc fixes in here; @lexnv would you like to push to get this merged or would you prefer to close it in favour of a new PR?

@lexnvlexnv mentioned this pull request Feb 14, 2022
@lexnv

Copy link
Copy Markdown
CollaboratorAuthor

Closed in favor of #449.

@lexnvlexnv closed this Feb 14, 2022
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.

3 participants

@lexnv@dvdplm@jsdw
, '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

Modify examples to work with latest substrate changes - #440

Closed
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples
Closed

Modify examples to work with latest substrate changes#440
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples

Conversation

@lexnv

@lexnvlexnv commented Feb 7, 2022

Copy link
Copy Markdown
Collaborator

This PR follows #439, and the CI should pull the latest substrate release.

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Comment threadcli/README.md
Comment on lines +41 to +42
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility to customize the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks! Will open a new PR, examples are working on master

@@ -20,7 +20,7 @@
runtime_metadata_path = "examples/polkadot_metadata.scale",
// We can add (certain) custom derives to the generated types by providing

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Curious: do you happen to know what this "(certain)" means? Do we know which ones work and which don't?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I haven't actually dug into this; I suspect we are limited by the derives on various types that are pointed at by the codegen types (eg sp_core::AccountId32 to use one example), so I think to find out we'd have to look through such types and find the common derives across them all.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

The subxt::Encode, subxt::Decode and Debug are already generated in polkadot.rs file.

Also std::Hash is problematic due to subxt::WrapperKeepOpaque<polkadot_runtime::Call> and PhantomDataSendSync. I guess I could address the Hash in a different PR.


if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
println!("Balance transfer success: value: {:?}", event);
println!("Balance transfer success. Value: {:?}", event);

…but is it a "value" or an "event"?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Mmm, it was a value but if we are printing out the entire event now by the looks of it, it's now just the Transfer event.

events.find_first_event::<polkadot::balances::events::Transfer>()?;
if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same

///
/// - run `polkadot --dev --tmp` node locally
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > tests/integration/codegen/polkadot.rs`
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > subxt/tests/integration/codegen/polkadot.rs`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We're on edition 2021 I think. But also: do we really need that? I suspect just | rustfmt > subxt/…/… works too?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I agree; I don't think either of the flags are needed actually (I always just rustfmt > outfile)

// We can add (certain) custom derives to the generated types by providing
// a comma separated list to the below attribute. Most useful for adding `Clone`:
generated_type_derives = "Clone, Hash"
generated_type_derives = "Clone"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Interesting; did Hash not work? (I think I'd have more than one if possible just so that people can see how to add multiple derives (and adding just one is fairly obvious from that :))

@dvdplm

Copy link
Copy Markdown
Contributor

(I re-ran the CI jobs – looks like crates.io was unreachable)

@jsdw

jsdw commented Feb 14, 2022

Copy link
Copy Markdown
Contributor

Sorry about some of the file conflicts; I had a mess with the examples in the event subscription stuff!

There are a couple of nice doc fixes in here; @lexnv would you like to push to get this merged or would you prefer to close it in favour of a new PR?

@lexnvlexnv mentioned this pull request Feb 14, 2022
@lexnv

Copy link
Copy Markdown
CollaboratorAuthor

Closed in favor of #449.

@lexnvlexnv closed this Feb 14, 2022
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.

3 participants

@lexnv@dvdplm@jsdw
, '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

Modify examples to work with latest substrate changes - #440

Closed
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples
Closed

Modify examples to work with latest substrate changes#440
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples

Conversation

@lexnv

@lexnvlexnv commented Feb 7, 2022

Copy link
Copy Markdown
Collaborator

This PR follows #439, and the CI should pull the latest substrate release.

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Comment threadcli/README.md
Comment on lines +41 to +42
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility to customize the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks! Will open a new PR, examples are working on master

@@ -20,7 +20,7 @@
runtime_metadata_path = "examples/polkadot_metadata.scale",
// We can add (certain) custom derives to the generated types by providing

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Curious: do you happen to know what this "(certain)" means? Do we know which ones work and which don't?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I haven't actually dug into this; I suspect we are limited by the derives on various types that are pointed at by the codegen types (eg sp_core::AccountId32 to use one example), so I think to find out we'd have to look through such types and find the common derives across them all.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

The subxt::Encode, subxt::Decode and Debug are already generated in polkadot.rs file.

Also std::Hash is problematic due to subxt::WrapperKeepOpaque<polkadot_runtime::Call> and PhantomDataSendSync. I guess I could address the Hash in a different PR.


if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
println!("Balance transfer success: value: {:?}", event);
println!("Balance transfer success. Value: {:?}", event);

…but is it a "value" or an "event"?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Mmm, it was a value but if we are printing out the entire event now by the looks of it, it's now just the Transfer event.

events.find_first_event::<polkadot::balances::events::Transfer>()?;
if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same

///
/// - run `polkadot --dev --tmp` node locally
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > tests/integration/codegen/polkadot.rs`
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > subxt/tests/integration/codegen/polkadot.rs`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We're on edition 2021 I think. But also: do we really need that? I suspect just | rustfmt > subxt/…/… works too?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I agree; I don't think either of the flags are needed actually (I always just rustfmt > outfile)

// We can add (certain) custom derives to the generated types by providing
// a comma separated list to the below attribute. Most useful for adding `Clone`:
generated_type_derives = "Clone, Hash"
generated_type_derives = "Clone"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Interesting; did Hash not work? (I think I'd have more than one if possible just so that people can see how to add multiple derives (and adding just one is fairly obvious from that :))

@dvdplm

Copy link
Copy Markdown
Contributor

(I re-ran the CI jobs – looks like crates.io was unreachable)

@jsdw

jsdw commented Feb 14, 2022

Copy link
Copy Markdown
Contributor

Sorry about some of the file conflicts; I had a mess with the examples in the event subscription stuff!

There are a couple of nice doc fixes in here; @lexnv would you like to push to get this merged or would you prefer to close it in favour of a new PR?

@lexnvlexnv mentioned this pull request Feb 14, 2022
@lexnv

Copy link
Copy Markdown
CollaboratorAuthor

Closed in favor of #449.

@lexnvlexnv closed this Feb 14, 2022
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.

3 participants

@lexnv@dvdplm@jsdw
, '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

Modify examples to work with latest substrate changes - #440

Closed
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples
Closed

Modify examples to work with latest substrate changes#440
lexnv wants to merge 5 commits into
paritytech:masterfrom
lexnv:fix_examples

Conversation

@lexnv

@lexnvlexnv commented Feb 7, 2022

Copy link
Copy Markdown
Collaborator

This PR follows #439, and the CI should pull the latest substrate release.

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Comment threadcli/README.md
Comment on lines +41 to +42
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility of customizing the
generated code if the macro does not produce the desired API. e.g.
for troubleshooting codegen as an alternative to `cargo expand`, and also provides the possibility to customize the
generated code if the macro does not produce the desired API. e.g.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks! Will open a new PR, examples are working on master

@@ -20,7 +20,7 @@
runtime_metadata_path = "examples/polkadot_metadata.scale",
// We can add (certain) custom derives to the generated types by providing

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Curious: do you happen to know what this "(certain)" means? Do we know which ones work and which don't?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I haven't actually dug into this; I suspect we are limited by the derives on various types that are pointed at by the codegen types (eg sp_core::AccountId32 to use one example), so I think to find out we'd have to look through such types and find the common derives across them all.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

The subxt::Encode, subxt::Decode and Debug are already generated in polkadot.rs file.

Also std::Hash is problematic due to subxt::WrapperKeepOpaque<polkadot_runtime::Call> and PhantomDataSendSync. I guess I could address the Hash in a different PR.


if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
println!("Balance transfer success: value: {:?}", event);
println!("Balance transfer success. Value: {:?}", event);

…but is it a "value" or an "event"?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Mmm, it was a value but if we are printing out the entire event now by the looks of it, it's now just the Transfer event.

events.find_first_event::<polkadot::balances::events::Transfer>()?;
if let Some(event) = transfer_event {
println!("Balance transfer success: value: {:?}", event.2);
println!("Balance transfer success: value: {:?}", event);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same

///
/// - run `polkadot --dev --tmp` node locally
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > tests/integration/codegen/polkadot.rs`
/// - `cargo run --release -p subxt-cli -- codegen | rustfmt --edition=2018 --emit=stdout > subxt/tests/integration/codegen/polkadot.rs`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We're on edition 2021 I think. But also: do we really need that? I suspect just | rustfmt > subxt/…/… works too?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I agree; I don't think either of the flags are needed actually (I always just rustfmt > outfile)

// We can add (certain) custom derives to the generated types by providing
// a comma separated list to the below attribute. Most useful for adding `Clone`:
generated_type_derives = "Clone, Hash"
generated_type_derives = "Clone"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Interesting; did Hash not work? (I think I'd have more than one if possible just so that people can see how to add multiple derives (and adding just one is fairly obvious from that :))

@dvdplm

Copy link
Copy Markdown
Contributor

(I re-ran the CI jobs – looks like crates.io was unreachable)

@jsdw

jsdw commented Feb 14, 2022

Copy link
Copy Markdown
Contributor

Sorry about some of the file conflicts; I had a mess with the examples in the event subscription stuff!

There are a couple of nice doc fixes in here; @lexnv would you like to push to get this merged or would you prefer to close it in favour of a new PR?

@lexnvlexnv mentioned this pull request Feb 14, 2022
@lexnv

Copy link
Copy Markdown
CollaboratorAuthor

Closed in favor of #449.

@lexnvlexnv closed this Feb 14, 2022
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.

3 participants

@lexnv@dvdplm@jsdw