mirror of
https://github.com/pezkuwichain/pezkuwi-fellows.git
synced 2026-05-30 17:21:00 +00:00
deploy: 785a3187ee
This commit is contained in:
+16
-3
@@ -433,7 +433,7 @@ This would enable CEXs and EVM L2 builders to choose Polkadot over Ethereum.</p>
|
|||||||
<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>
|
<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>
|
<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 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>
|
<h3 id="requirements"><a class="header" href="#requirements">Requirements</a></h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Deposit SHOULD be derived from <code>deposit</code> function adjusted by correspoding pricing mechansim.</li>
|
<li>Deposit SHOULD be derived from <code>deposit</code> function adjusted by correspoding pricing mechansim.</li>
|
||||||
@@ -1935,6 +1935,19 @@ Node 0 is root
|
|||||||
<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>
|
<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>
|
</ol>
|
||||||
<h3 id="metadata-modularization"><a class="header" href="#metadata-modularization">Metadata modularization</a></h3>
|
<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<TypeParams>,
|
||||||
|
type_def: TypeDef, // enum of various types
|
||||||
|
doc: Vec<String>,
|
||||||
|
}
|
||||||
|
|
||||||
|
struct TypeParams {
|
||||||
|
name: String,
|
||||||
|
ty: Option<Type>,
|
||||||
|
}
|
||||||
|
</code></pre>
|
||||||
<ol>
|
<ol>
|
||||||
<li>Types registry is stripped from <code>docs</code> fields.</li>
|
<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>
|
<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>
|
||||||
@@ -1943,12 +1956,12 @@ Node 0 is root
|
|||||||
<pre><code>types_registry = metadataV14.types
|
<pre><code>types_registry = metadataV14.types
|
||||||
modularized_registry = EmptyVector<id, type>
|
modularized_registry = EmptyVector<id, type>
|
||||||
for (id, type) in types.registry.iterate_enumerate {
|
for (id, type) in types.registry.iterate_enumerate {
|
||||||
type.doc = Null
|
type.doc = empty_vector
|
||||||
if (type is ReduceableEnum) { // false for 0-variant enums
|
if (type is ReduceableEnum) { // false for 0-variant enums
|
||||||
for variant in type.variants.iterate {
|
for variant in type.variants.iterate {
|
||||||
variant_type = Type {
|
variant_type = Type {
|
||||||
path: type.path
|
path: type.path
|
||||||
type_params: Null
|
type_params: empty_vector
|
||||||
type_def: TypeDef::Variant(variants: [variant])
|
type_def: TypeDef::Variant(variants: [variant])
|
||||||
}
|
}
|
||||||
modularized_registry.push(id, variant_type)
|
modularized_registry.push(id, variant_type)
|
||||||
|
|||||||
@@ -229,7 +229,7 @@
|
|||||||
<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>
|
<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>
|
<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 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>
|
<h3 id="requirements"><a class="header" href="#requirements">Requirements</a></h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Deposit SHOULD be derived from <code>deposit</code> function adjusted by correspoding pricing mechansim.</li>
|
<li>Deposit SHOULD be derived from <code>deposit</code> function adjusted by correspoding pricing mechansim.</li>
|
||||||
|
|||||||
@@ -332,6 +332,19 @@ Node 0 is root
|
|||||||
<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>
|
<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>
|
</ol>
|
||||||
<h3 id="metadata-modularization"><a class="header" href="#metadata-modularization">Metadata modularization</a></h3>
|
<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<TypeParams>,
|
||||||
|
type_def: TypeDef, // enum of various types
|
||||||
|
doc: Vec<String>,
|
||||||
|
}
|
||||||
|
|
||||||
|
struct TypeParams {
|
||||||
|
name: String,
|
||||||
|
ty: Option<Type>,
|
||||||
|
}
|
||||||
|
</code></pre>
|
||||||
<ol>
|
<ol>
|
||||||
<li>Types registry is stripped from <code>docs</code> fields.</li>
|
<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>
|
<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>
|
||||||
@@ -340,12 +353,12 @@ Node 0 is root
|
|||||||
<pre><code>types_registry = metadataV14.types
|
<pre><code>types_registry = metadataV14.types
|
||||||
modularized_registry = EmptyVector<id, type>
|
modularized_registry = EmptyVector<id, type>
|
||||||
for (id, type) in types.registry.iterate_enumerate {
|
for (id, type) in types.registry.iterate_enumerate {
|
||||||
type.doc = Null
|
type.doc = empty_vector
|
||||||
if (type is ReduceableEnum) { // false for 0-variant enums
|
if (type is ReduceableEnum) { // false for 0-variant enums
|
||||||
for variant in type.variants.iterate {
|
for variant in type.variants.iterate {
|
||||||
variant_type = Type {
|
variant_type = Type {
|
||||||
path: type.path
|
path: type.path
|
||||||
type_params: Null
|
type_params: empty_vector
|
||||||
type_def: TypeDef::Variant(variants: [variant])
|
type_def: TypeDef::Variant(variants: [variant])
|
||||||
}
|
}
|
||||||
modularized_registry.push(id, variant_type)
|
modularized_registry.push(id, variant_type)
|
||||||
|
|||||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user