Propose bumping StringLimit to 128 bytes (#516)

* Propose bumping StringLimit to 64 bytes

The StringLimit of 50 bytes is too short for useful hashes of different protocols:

- When using IPFS, the hash is 46 bytes. With a protocol prefix and type prefix (IPFS vs IPNS) it becomes: `ipfs://ipfs/QmPK1s3pNYLi9ERiq3BDxKa4XosgWwFRQUydHUtz4YgpqB` or 59 bytes.
- On arweave, the hash is 43 bytes. Prefixed with just `arweave://` bumps it up to 53: `arweave://BNttzDav3jHVnNiV7nYbQv-GY0HQ-4XXsdkE5K9ylHQ`.
- On Sia, with 46 char hashes, adding `sia://` as the protocol to use will bump it past 50: `sia://GACjmEWXmYF1N3Rc-PyjN304-8M0zOXHYzAXY9222xkGhA` (52)

As such, we feel that 64 bytes is a reasonable minimum for the `StringLimit`.

* Update lib.rs

* Add different const for `UniquesStringLimit`

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
This commit is contained in:
Bruno Škvorc
2021-07-02 10:30:01 +02:00
committed by GitHub
parent 59a23c8d8d
commit ee835bebeb
4 changed files with 10 additions and 9 deletions
@@ -400,7 +400,7 @@ impl cumulus_ping::Config for Runtime {
parameter_types! {
pub const AssetDeposit: Balance = 1 * ROC;
pub const ApprovalDeposit: Balance = 100 * MILLIROC;
pub const StringLimit: u32 = 50;
pub const AssetsStringLimit: u32 = 50;
pub const MetadataDepositBase: Balance = 1 * ROC;
pub const MetadataDepositPerByte: Balance = 10 * MILLIROC;
pub const UnitBody: BodyId = BodyId::Unit;
@@ -419,7 +419,7 @@ impl pallet_assets::Config for Runtime {
type MetadataDepositBase = MetadataDepositBase;
type MetadataDepositPerByte = MetadataDepositPerByte;
type ApprovalDeposit = ApprovalDeposit;
type StringLimit = StringLimit;
type StringLimit = AssetsStringLimit;
type Freezer = ();
type Extra = ();
type WeightInfo = pallet_assets::weights::SubstrateWeight<Runtime>;