Skip to content

Commit

Permalink
deploy: 785a318
Browse files Browse the repository at this point in the history
  • Loading branch information
bkchr committed Jan 20, 2024
1 parent 551b0f5 commit 2afc98c
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 8 deletions.
19 changes: 16 additions & 3 deletions print.html
Original file line number Diff line number Diff line change
Expand Up @@ -433,7 +433,7 @@ <h2 id="summary-1"><a class="header" href="#summary-1">Summary</a></h2>
<p>This RFC proposes changing the current deposit requirements on the Polkadot and Kusama Asset Hub for creating NFT collection, minting an individual NFT, and lowering it's coresponding metadata and attribute deposit. The objective is to lower the barrier to entry for NFT creators, fostering a more inclusive and vibrant ecosystem while maintaining network integrity and preventing spam.</p>
<h2 id="motivation-1"><a class="header" href="#motivation-1">Motivation</a></h2>
<p>The current deposit of 10 DOT for collection creation (along with 0.01 DOT for item deposit and 0.2 DOT for metadata and attribute deposit) on the Polkadot Asset Hub and 0.1 KSM on Kusama Asset Hub presents a significant financial barrier for many NFT creators. By lowering the deposit requirements, we aim to encourage more NFT creators to participate in the Polkadot NFT ecosystem, thereby enriching the diversity and vibrancy of the community and its offerings.</p>
<p>The actual implementation of the deposit is an arbitrary number coming from <a href="https://github.com/paritytech/polkadot-sdk/blob/master/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs#L757">Uniques pallet</a>. It is not a result of any economic analysis. This proposal aims to adjust the deposit from constant to dynamic pricing based on the <code>deposit</code> function with respect to stakeholders.</p>
<p>The actual implementation of the deposit is an arbitrary number coming from <a href="https://github.com/polkadot-fellows/runtimes/commit/c2a3c9881c0ee6393d1665fefd9671d040215188#diff-32714ab945a24cbcc5979fd9065e0c13e0beb59f7533b38e2e97a872b23cb125R596-R600">Uniques pallet</a>. It is not a result of any economic analysis. This proposal aims to adjust the deposit from constant to dynamic pricing based on the <code>deposit</code> function with respect to stakeholders.</p>
<h3 id="requirements"><a class="header" href="#requirements">Requirements</a></h3>
<ul>
<li>Deposit SHOULD be derived from <code>deposit</code> function adjusted by correspoding pricing mechansim.</li>
Expand Down Expand Up @@ -1935,6 +1935,19 @@ <h3 id="general-flow"><a class="header" href="#general-flow">General flow</a></h
<li>Resulting value is a constant to be included in <code>additionalSigned</code> to prove that the metadata seen by cold device is genuine</li>
</ol>
<h3 id="metadata-modularization"><a class="header" href="#metadata-modularization">Metadata modularization</a></h3>
<p>Structure of types in shortened metadata exactly matches structure of types in <code>scale-info</code>, but <code>doc</code> field is always empty</p>
<pre><code>struct Type {
path: Path, // vector of strings
type_params: Vec&lt;TypeParams&gt;,
type_def: TypeDef, // enum of various types
doc: Vec&lt;String&gt;,
}

struct TypeParams {
name: String,
ty: Option&lt;Type&gt;,
}
</code></pre>
<ol>
<li>Types registry is stripped from <code>docs</code> fields.</li>
<li>Types records are separated into chunks, with enum variants being individual chunks differing by variant index; each chunk consisting of <code>id</code> (same as in full metadata registry) and SCALE-encoded 'Type' description (reduced to 1-variant enum for enum variants). Enums with 0 variants are treated as regular types.</li>
Expand All @@ -1943,12 +1956,12 @@ <h3 id="metadata-modularization"><a class="header" href="#metadata-modularizatio
<pre><code>types_registry = metadataV14.types
modularized_registry = EmptyVector&lt;id, type&gt;
for (id, type) in types.registry.iterate_enumerate {
type.doc = Null
type.doc = empty_vector
if (type is ReduceableEnum) { // false for 0-variant enums
for variant in type.variants.iterate {
variant_type = Type {
path: type.path
type_params: Null
type_params: empty_vector
type_def: TypeDef::Variant(variants: [variant])
}
modularized_registry.push(id, variant_type)
Expand Down
2 changes: 1 addition & 1 deletion proposed/000x-lowering-deposits-assethub.html
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ <h2 id="summary"><a class="header" href="#summary">Summary</a></h2>
<p>This RFC proposes changing the current deposit requirements on the Polkadot and Kusama Asset Hub for creating NFT collection, minting an individual NFT, and lowering it's coresponding metadata and attribute deposit. The objective is to lower the barrier to entry for NFT creators, fostering a more inclusive and vibrant ecosystem while maintaining network integrity and preventing spam.</p>
<h2 id="motivation"><a class="header" href="#motivation">Motivation</a></h2>
<p>The current deposit of 10 DOT for collection creation (along with 0.01 DOT for item deposit and 0.2 DOT for metadata and attribute deposit) on the Polkadot Asset Hub and 0.1 KSM on Kusama Asset Hub presents a significant financial barrier for many NFT creators. By lowering the deposit requirements, we aim to encourage more NFT creators to participate in the Polkadot NFT ecosystem, thereby enriching the diversity and vibrancy of the community and its offerings.</p>
<p>The actual implementation of the deposit is an arbitrary number coming from <a href="https://github.com/paritytech/polkadot-sdk/blob/master/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs#L757">Uniques pallet</a>. It is not a result of any economic analysis. This proposal aims to adjust the deposit from constant to dynamic pricing based on the <code>deposit</code> function with respect to stakeholders.</p>
<p>The actual implementation of the deposit is an arbitrary number coming from <a href="https://github.com/polkadot-fellows/runtimes/commit/c2a3c9881c0ee6393d1665fefd9671d040215188#diff-32714ab945a24cbcc5979fd9065e0c13e0beb59f7533b38e2e97a872b23cb125R596-R600">Uniques pallet</a>. It is not a result of any economic analysis. This proposal aims to adjust the deposit from constant to dynamic pricing based on the <code>deposit</code> function with respect to stakeholders.</p>
<h3 id="requirements"><a class="header" href="#requirements">Requirements</a></h3>
<ul>
<li>Deposit SHOULD be derived from <code>deposit</code> function adjusted by correspoding pricing mechansim.</li>
Expand Down
17 changes: 15 additions & 2 deletions proposed/0046-metadata-for-offline-signers.html
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,19 @@ <h3 id="general-flow"><a class="header" href="#general-flow">General flow</a></h
<li>Resulting value is a constant to be included in <code>additionalSigned</code> to prove that the metadata seen by cold device is genuine</li>
</ol>
<h3 id="metadata-modularization"><a class="header" href="#metadata-modularization">Metadata modularization</a></h3>
<p>Structure of types in shortened metadata exactly matches structure of types in <code>scale-info</code>, but <code>doc</code> field is always empty</p>
<pre><code>struct Type {
path: Path, // vector of strings
type_params: Vec&lt;TypeParams&gt;,
type_def: TypeDef, // enum of various types
doc: Vec&lt;String&gt;,
}

struct TypeParams {
name: String,
ty: Option&lt;Type&gt;,
}
</code></pre>
<ol>
<li>Types registry is stripped from <code>docs</code> fields.</li>
<li>Types records are separated into chunks, with enum variants being individual chunks differing by variant index; each chunk consisting of <code>id</code> (same as in full metadata registry) and SCALE-encoded 'Type' description (reduced to 1-variant enum for enum variants). Enums with 0 variants are treated as regular types.</li>
Expand All @@ -340,12 +353,12 @@ <h3 id="metadata-modularization"><a class="header" href="#metadata-modularizatio
<pre><code>types_registry = metadataV14.types
modularized_registry = EmptyVector&lt;id, type&gt;
for (id, type) in types.registry.iterate_enumerate {
type.doc = Null
type.doc = empty_vector
if (type is ReduceableEnum) { // false for 0-variant enums
for variant in type.variants.iterate {
variant_type = Type {
path: type.path
type_params: Null
type_params: empty_vector
type_def: TypeDef::Variant(variants: [variant])
}
modularized_registry.push(id, variant_type)
Expand Down
2 changes: 1 addition & 1 deletion searchindex.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion searchindex.json

Large diffs are not rendered by default.

0 comments on commit 2afc98c

Please sign in to comment.