difftreelog
fix insert missing licenses
in: master
17 files changed
pallets/proxy-rmrk-core/src/misc.rsdiffbeforeafterboth--- a/pallets/proxy-rmrk-core/src/misc.rs
+++ b/pallets/proxy-rmrk-core/src/misc.rs
@@ -1,3 +1,19 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
use super::*;
use codec::{Encode, Decode, Error};
pallets/proxy-rmrk-core/src/property.rsdiffbeforeafterboth--- a/pallets/proxy-rmrk-core/src/property.rs
+++ b/pallets/proxy-rmrk-core/src/property.rs
@@ -1,3 +1,19 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
use super::*;
use core::convert::AsRef;
primitives/rmrk-rpc/src/lib.rsdiffbeforeafterboth--- a/primitives/rmrk-rpc/src/lib.rs
+++ b/primitives/rmrk-rpc/src/lib.rs
@@ -1,3 +1,19 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
#![cfg_attr(not(feature = "std"), no_std)]
use sp_api::{Encode, Decode};
primitives/rmrk-traits/src/base.rsdiffbeforeafterboth--- a/primitives/rmrk-traits/src/base.rs
+++ b/primitives/rmrk-traits/src/base.rs
@@ -1,3 +1,7 @@
+// Copyright (C) 2021-2022 RMRK
+// This file is part of rmrk-substrate.
+// License: Apache 2.0 modified by RMRK, see https://github.com/rmrk-team/rmrk-substrate/blob/main/LICENSE
+
use codec::{Decode, Encode, MaxEncodedLen};
use scale_info::TypeInfo;
primitives/rmrk-traits/src/collection.rsdiffbeforeafterboth--- a/primitives/rmrk-traits/src/collection.rs
+++ b/primitives/rmrk-traits/src/collection.rs
@@ -1,3 +1,7 @@
+// Copyright (C) 2021-2022 RMRK
+// This file is part of rmrk-substrate.
+// License: Apache 2.0 modified by RMRK, see https://github.com/rmrk-team/rmrk-substrate/blob/main/LICENSE
+
use codec::{Decode, Encode, MaxEncodedLen};
use scale_info::TypeInfo;
primitives/rmrk-traits/src/lib.rsdiffbeforeafterboth--- a/primitives/rmrk-traits/src/lib.rs
+++ b/primitives/rmrk-traits/src/lib.rs
@@ -1,3 +1,7 @@
+// Copyright (C) 2021-2022 RMRK
+// This file is part of rmrk-substrate.
+// License: Apache 2.0 modified by RMRK, see https://github.com/rmrk-team/rmrk-substrate/blob/main/LICENSE
+
#![cfg_attr(not(feature = "std"), no_std)]
pub mod base;
primitives/rmrk-traits/src/nft.rsdiffbeforeafterboth--- a/primitives/rmrk-traits/src/nft.rs
+++ b/primitives/rmrk-traits/src/nft.rs
@@ -1,3 +1,7 @@
+// Copyright (C) 2021-2022 RMRK
+// This file is part of rmrk-substrate.
+// License: Apache 2.0 modified by RMRK, see https://github.com/rmrk-team/rmrk-substrate/blob/main/LICENSE
+
use codec::{Decode, Encode, MaxEncodedLen};
use scale_info::TypeInfo;
primitives/rmrk-traits/src/part.rsdiffbeforeafterboth--- a/primitives/rmrk-traits/src/part.rs
+++ b/primitives/rmrk-traits/src/part.rs
@@ -1,3 +1,7 @@
+// Copyright (C) 2021-2022 RMRK
+// This file is part of rmrk-substrate.
+// License: Apache 2.0 modified by RMRK, see https://github.com/rmrk-team/rmrk-substrate/blob/main/LICENSE
+
use codec::{Decode, Encode, MaxEncodedLen};
use scale_info::TypeInfo;
primitives/rmrk-traits/src/property.rsdiffbeforeafterboth--- a/primitives/rmrk-traits/src/property.rs
+++ b/primitives/rmrk-traits/src/property.rs
@@ -1,3 +1,7 @@
+// Copyright (C) 2021-2022 RMRK
+// This file is part of rmrk-substrate.
+// License: Apache 2.0 modified by RMRK, see https://github.com/rmrk-team/rmrk-substrate/blob/main/LICENSE
+
use codec::{Decode, Encode};
use scale_info::TypeInfo;
primitives/rmrk-traits/src/resource.rsdiffbeforeafterboth1use codec::{Decode, Encode, MaxEncodedLen};2use scale_info::TypeInfo;34#[cfg(feature = "std")]5use serde::Serialize;67#[cfg(feature = "std")]8use crate::serialize;910use crate::primitives::*;1112#[derive(Encode, Decode, Eq, PartialEq, Clone, Debug, TypeInfo, MaxEncodedLen)]13#[cfg_attr(feature = "std", derive(Serialize))]14#[cfg_attr(feature = "std", serde(bound = "BoundedString: AsRef<[u8]>"))]15pub struct BasicResource<BoundedString> {16 /// If the resource is Media, the base property is absent. Media src should be a URI like an17 /// IPFS hash.18 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]19 pub src: Option<BoundedString>,2021 /// Reference to IPFS location of metadata22 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]23 pub metadata: Option<BoundedString>,2425 /// Optional location or identier of license26 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]27 pub license: Option<BoundedString>,2829 /// If the resource has the thumb property, this will be a URI to a thumbnail of the given30 /// resource. For example, if we have a composable NFT like a Kanaria bird, the resource is31 /// complex and too detailed to show in a search-results page or a list. Also, if a bird owns32 /// another bird, showing the full render of one bird inside the other's inventory might be a33 /// bit of a strain on the browser. For this reason, the thumb value can contain a URI to an34 /// image that is lighter and faster to load but representative of this resource.35 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]36 pub thumb: Option<BoundedString>,37}3839#[derive(Encode, Decode, Eq, PartialEq, Clone, Debug, TypeInfo, MaxEncodedLen)]40#[cfg_attr(feature = "std", derive(Serialize))]41#[cfg_attr(42 feature = "std",43 serde(bound = r#"44 BoundedString: AsRef<[u8]>,45 BoundedParts: AsRef<[PartId]>46 "#)47)]48pub struct ComposableResource<BoundedString, BoundedParts> {49 /// If a resource is composed, it will have an array of parts that compose it50 #[cfg_attr(feature = "std", serde(with = "serialize::vec"))]51 pub parts: BoundedParts,5253 /// A Base is uniquely identified by the combination of the word `base`, its minting block54 /// number, and user provided symbol during Base creation, glued by dashes `-`, e.g.55 /// base-4477293-kanaria_superbird.56 pub base: BaseId,5758 /// If the resource is Media, the base property is absent. Media src should be a URI like an59 /// IPFS hash.60 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]61 pub src: Option<BoundedString>,6263 /// Reference to IPFS location of metadata64 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]65 pub metadata: Option<BoundedString>,6667 /// If the resource has the slot property, it was designed to fit into a specific Base's slot.68 /// The baseslot will be composed of two dot-delimited values, like so:69 /// "base-4477293-kanaria_superbird.machine_gun_scope". This means: "This resource is70 /// compatible with the machine_gun_scope slot of base base-4477293-kanaria_superbird7172 /// Optional location or identier of license73 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]74 pub license: Option<BoundedString>,7576 /// If the resource has the thumb property, this will be a URI to a thumbnail of the given77 /// resource. For example, if we have a composable NFT like a Kanaria bird, the resource is78 /// complex and too detailed to show in a search-results page or a list. Also, if a bird owns79 /// another bird, showing the full render of one bird inside the other's inventory might be a80 /// bit of a strain on the browser. For this reason, the thumb value can contain a URI to an81 /// image that is lighter and faster to load but representative of this resource.82 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]83 pub thumb: Option<BoundedString>,84}8586#[derive(Encode, Decode, Eq, PartialEq, Clone, Debug, TypeInfo, MaxEncodedLen)]87#[cfg_attr(feature = "std", derive(Serialize))]88#[cfg_attr(feature = "std", serde(bound = "BoundedString: AsRef<[u8]>"))]89pub struct SlotResource<BoundedString> {90 /// A Base is uniquely identified by the combination of the word `base`, its minting block91 /// number, and user provided symbol during Base creation, glued by dashes `-`, e.g.92 /// base-4477293-kanaria_superbird.93 pub base: BaseId,9495 /// If the resource is Media, the base property is absent. Media src should be a URI like an96 /// IPFS hash.97 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]98 pub src: Option<BoundedString>,99100 /// Reference to IPFS location of metadata101 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]102 pub metadata: Option<BoundedString>,103104 /// If the resource has the slot property, it was designed to fit into a specific Base's slot.105 /// The baseslot will be composed of two dot-delimited values, like so:106 /// "base-4477293-kanaria_superbird.machine_gun_scope". This means: "This resource is107 /// compatible with the machine_gun_scope slot of base base-4477293-kanaria_superbird108 pub slot: SlotId,109110 /// The license field, if present, should contain a link to a license (IPFS or static HTTP111 /// url), or an identifier, like RMRK_nocopy or ipfs://ipfs/someHashOfLicense.112 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]113 pub license: Option<BoundedString>,114115 /// If the resource has the thumb property, this will be a URI to a thumbnail of the given116 /// resource. For example, if we have a composable NFT like a Kanaria bird, the resource is117 /// complex and too detailed to show in a search-results page or a list. Also, if a bird owns118 /// another bird, showing the full render of one bird inside the other's inventory might be a119 /// bit of a strain on the browser. For this reason, the thumb value can contain a URI to an120 /// image that is lighter and faster to load but representative of this resource.121 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]122 pub thumb: Option<BoundedString>,123}124125#[derive(Encode, Decode, Eq, PartialEq, Clone, Debug, TypeInfo, MaxEncodedLen)]126#[cfg_attr(feature = "std", derive(Serialize))]127#[cfg_attr(128 feature = "std",129 serde(bound = r#"130 BoundedString: AsRef<[u8]>,131 BoundedParts: AsRef<[PartId]>132 "#)133)]134pub enum ResourceTypes<BoundedString, BoundedParts> {135 Basic(BasicResource<BoundedString>),136 Composable(ComposableResource<BoundedString, BoundedParts>),137 Slot(SlotResource<BoundedString>),138}139140#[derive(Encode, Decode, Eq, PartialEq, Clone, Debug, TypeInfo, MaxEncodedLen)]141#[cfg_attr(feature = "std", derive(Serialize))]142#[cfg_attr(143 feature = "std",144 serde(bound = r#"145 BoundedString: AsRef<[u8]>,146 BoundedParts: AsRef<[PartId]>147 "#)148)]149pub struct ResourceInfo<BoundedString, BoundedParts> {150 /// id is a 5-character string of reasonable uniqueness.151 /// The combination of base ID and resource id should be unique across the entire RMRK152 /// ecosystem which153 //#[cfg_attr(feature = "std", serde(with = "serialize::vec"))]154 pub id: ResourceId,155156 /// Resource157 pub resource: ResourceTypes<BoundedString, BoundedParts>,158159 /// If resource is sent to non-rootowned NFT, pending will be false and need to be accepted160 pub pending: bool,161162 /// If resource removal request is sent by non-rootowned NFT, pending will be true and need to be accepted163 pub pending_removal: bool,164}1// Copyright (C) 2021-2022 RMRK2// This file is part of rmrk-substrate.3// License: Apache 2.0 modified by RMRK, see https://github.com/rmrk-team/rmrk-substrate/blob/main/LICENSE45use codec::{Decode, Encode, MaxEncodedLen};6use scale_info::TypeInfo;78#[cfg(feature = "std")]9use serde::Serialize;1011#[cfg(feature = "std")]12use crate::serialize;1314use crate::primitives::*;1516#[derive(Encode, Decode, Eq, PartialEq, Clone, Debug, TypeInfo, MaxEncodedLen)]17#[cfg_attr(feature = "std", derive(Serialize))]18#[cfg_attr(feature = "std", serde(bound = "BoundedString: AsRef<[u8]>"))]19pub struct BasicResource<BoundedString> {20 /// If the resource is Media, the base property is absent. Media src should be a URI like an21 /// IPFS hash.22 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]23 pub src: Option<BoundedString>,2425 /// Reference to IPFS location of metadata26 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]27 pub metadata: Option<BoundedString>,2829 /// Optional location or identier of license30 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]31 pub license: Option<BoundedString>,3233 /// If the resource has the thumb property, this will be a URI to a thumbnail of the given34 /// resource. For example, if we have a composable NFT like a Kanaria bird, the resource is35 /// complex and too detailed to show in a search-results page or a list. Also, if a bird owns36 /// another bird, showing the full render of one bird inside the other's inventory might be a37 /// bit of a strain on the browser. For this reason, the thumb value can contain a URI to an38 /// image that is lighter and faster to load but representative of this resource.39 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]40 pub thumb: Option<BoundedString>,41}4243#[derive(Encode, Decode, Eq, PartialEq, Clone, Debug, TypeInfo, MaxEncodedLen)]44#[cfg_attr(feature = "std", derive(Serialize))]45#[cfg_attr(46 feature = "std",47 serde(bound = r#"48 BoundedString: AsRef<[u8]>,49 BoundedParts: AsRef<[PartId]>50 "#)51)]52pub struct ComposableResource<BoundedString, BoundedParts> {53 /// If a resource is composed, it will have an array of parts that compose it54 #[cfg_attr(feature = "std", serde(with = "serialize::vec"))]55 pub parts: BoundedParts,5657 /// A Base is uniquely identified by the combination of the word `base`, its minting block58 /// number, and user provided symbol during Base creation, glued by dashes `-`, e.g.59 /// base-4477293-kanaria_superbird.60 pub base: BaseId,6162 /// If the resource is Media, the base property is absent. Media src should be a URI like an63 /// IPFS hash.64 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]65 pub src: Option<BoundedString>,6667 /// Reference to IPFS location of metadata68 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]69 pub metadata: Option<BoundedString>,7071 /// If the resource has the slot property, it was designed to fit into a specific Base's slot.72 /// The baseslot will be composed of two dot-delimited values, like so:73 /// "base-4477293-kanaria_superbird.machine_gun_scope". This means: "This resource is74 /// compatible with the machine_gun_scope slot of base base-4477293-kanaria_superbird7576 /// Optional location or identier of license77 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]78 pub license: Option<BoundedString>,7980 /// If the resource has the thumb property, this will be a URI to a thumbnail of the given81 /// resource. For example, if we have a composable NFT like a Kanaria bird, the resource is82 /// complex and too detailed to show in a search-results page or a list. Also, if a bird owns83 /// another bird, showing the full render of one bird inside the other's inventory might be a84 /// bit of a strain on the browser. For this reason, the thumb value can contain a URI to an85 /// image that is lighter and faster to load but representative of this resource.86 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]87 pub thumb: Option<BoundedString>,88}8990#[derive(Encode, Decode, Eq, PartialEq, Clone, Debug, TypeInfo, MaxEncodedLen)]91#[cfg_attr(feature = "std", derive(Serialize))]92#[cfg_attr(feature = "std", serde(bound = "BoundedString: AsRef<[u8]>"))]93pub struct SlotResource<BoundedString> {94 /// A Base is uniquely identified by the combination of the word `base`, its minting block95 /// number, and user provided symbol during Base creation, glued by dashes `-`, e.g.96 /// base-4477293-kanaria_superbird.97 pub base: BaseId,9899 /// If the resource is Media, the base property is absent. Media src should be a URI like an100 /// IPFS hash.101 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]102 pub src: Option<BoundedString>,103104 /// Reference to IPFS location of metadata105 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]106 pub metadata: Option<BoundedString>,107108 /// If the resource has the slot property, it was designed to fit into a specific Base's slot.109 /// The baseslot will be composed of two dot-delimited values, like so:110 /// "base-4477293-kanaria_superbird.machine_gun_scope". This means: "This resource is111 /// compatible with the machine_gun_scope slot of base base-4477293-kanaria_superbird112 pub slot: SlotId,113114 /// The license field, if present, should contain a link to a license (IPFS or static HTTP115 /// url), or an identifier, like RMRK_nocopy or ipfs://ipfs/someHashOfLicense.116 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]117 pub license: Option<BoundedString>,118119 /// If the resource has the thumb property, this will be a URI to a thumbnail of the given120 /// resource. For example, if we have a composable NFT like a Kanaria bird, the resource is121 /// complex and too detailed to show in a search-results page or a list. Also, if a bird owns122 /// another bird, showing the full render of one bird inside the other's inventory might be a123 /// bit of a strain on the browser. For this reason, the thumb value can contain a URI to an124 /// image that is lighter and faster to load but representative of this resource.125 #[cfg_attr(feature = "std", serde(with = "serialize::opt_vec"))]126 pub thumb: Option<BoundedString>,127}128129#[derive(Encode, Decode, Eq, PartialEq, Clone, Debug, TypeInfo, MaxEncodedLen)]130#[cfg_attr(feature = "std", derive(Serialize))]131#[cfg_attr(132 feature = "std",133 serde(bound = r#"134 BoundedString: AsRef<[u8]>,135 BoundedParts: AsRef<[PartId]>136 "#)137)]138pub enum ResourceTypes<BoundedString, BoundedParts> {139 Basic(BasicResource<BoundedString>),140 Composable(ComposableResource<BoundedString, BoundedParts>),141 Slot(SlotResource<BoundedString>),142}143144#[derive(Encode, Decode, Eq, PartialEq, Clone, Debug, TypeInfo, MaxEncodedLen)]145#[cfg_attr(feature = "std", derive(Serialize))]146#[cfg_attr(147 feature = "std",148 serde(bound = r#"149 BoundedString: AsRef<[u8]>,150 BoundedParts: AsRef<[PartId]>151 "#)152)]153pub struct ResourceInfo<BoundedString, BoundedParts> {154 /// id is a 5-character string of reasonable uniqueness.155 /// The combination of base ID and resource id should be unique across the entire RMRK156 /// ecosystem which157 //#[cfg_attr(feature = "std", serde(with = "serialize::vec"))]158 pub id: ResourceId,159160 /// Resource161 pub resource: ResourceTypes<BoundedString, BoundedParts>,162163 /// If resource is sent to non-rootowned NFT, pending will be false and need to be accepted164 pub pending: bool,165166 /// If resource removal request is sent by non-rootowned NFT, pending will be true and need to be accepted167 pub pending_removal: bool,168}primitives/rmrk-traits/src/serialize.rsdiffbeforeafterboth--- a/primitives/rmrk-traits/src/serialize.rs
+++ b/primitives/rmrk-traits/src/serialize.rs
@@ -1,3 +1,7 @@
+// Copyright (C) 2021-2022 RMRK
+// This file is part of rmrk-substrate.
+// License: Apache 2.0 modified by RMRK, see https://github.com/rmrk-team/rmrk-substrate/blob/main/LICENSE
+
use core::convert::AsRef;
use serde::ser::{self, Serialize};
primitives/rmrk-traits/src/theme.rsdiffbeforeafterboth--- a/primitives/rmrk-traits/src/theme.rs
+++ b/primitives/rmrk-traits/src/theme.rs
@@ -1,3 +1,7 @@
+// Copyright (C) 2021-2022 RMRK
+// This file is part of rmrk-substrate.
+// License: Apache 2.0 modified by RMRK, see https://github.com/rmrk-team/rmrk-substrate/blob/main/LICENSE
+
use codec::{Decode, Encode};
use scale_info::TypeInfo;
runtime/common/src/constants.rsdiffbeforeafterboth--- a/runtime/common/src/constants.rs
+++ b/runtime/common/src/constants.rs
@@ -1,3 +1,19 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
use sp_runtime::Perbill;
use frame_support::{
parameter_types,
runtime/common/src/dispatch.rsdiffbeforeafterboth--- a/runtime/common/src/dispatch.rs
+++ b/runtime/common/src/dispatch.rs
@@ -1,3 +1,19 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
use frame_support::{dispatch::DispatchResult, ensure};
use pallet_evm::{PrecompileHandle, PrecompileResult};
use sp_core::H160;
runtime/common/src/lib.rsdiffbeforeafterboth--- a/runtime/common/src/lib.rs
+++ b/runtime/common/src/lib.rs
@@ -1,3 +1,19 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
#![cfg_attr(not(feature = "std"), no_std)]
pub mod constants;
runtime/common/src/runtime_apis.rsdiffbeforeafterboth--- a/runtime/common/src/runtime_apis.rs
+++ b/runtime/common/src/runtime_apis.rs
@@ -1,3 +1,19 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
#[macro_export]
macro_rules! impl_common_runtime_apis {
(
runtime/common/src/types.rsdiffbeforeafterboth--- a/runtime/common/src/types.rs
+++ b/runtime/common/src/types.rs
@@ -1,3 +1,19 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
use sp_runtime::{
traits::{Verify, IdentifyAccount, BlakeTwo256},
generic, MultiSignature,