git.delta.rocks / unique-network / refs/commits / f11d024dc159

difftreelog

CORE-386 Add methodt to evm

Trubnikov Sergey2022-05-31parent: #6afa4d8.patch.diff
in: master

11 files changed

modifiedpallets/common/src/erc.rsdiffbeforeafterboth
21};21};
22pub use pallet_evm::{PrecompileOutput, PrecompileResult, PrecompileHandle, account::CrossAccountId};22pub use pallet_evm::{PrecompileOutput, PrecompileResult, PrecompileHandle, account::CrossAccountId};
23use pallet_evm_coder_substrate::dispatch_to_evm;23use pallet_evm_coder_substrate::dispatch_to_evm;
24use sp_core::{H160, U256, H256};
24use sp_std::vec::Vec;25use sp_std::vec::Vec;
25use up_data_structs::{Property, SponsoringRateLimit};26use up_data_structs::{Property, SponsoringRateLimit, NestingRule, OwnerRestrictedSet};
26use alloc::format;27use alloc::format;
2728
28use crate::{Pallet, CollectionHandle, Config, CollectionProperties};29use crate::{Pallet, CollectionHandle, Config, CollectionProperties};
4748
48#[solidity_interface(name = "Collection")]49#[solidity_interface(name = "Collection")]
49impl<T: Config> CollectionHandle<T> {50impl<T: Config> CollectionHandle<T>
51// where
52// T::AccountId: From<H256>
53{
50 fn set_collection_property(&mut self, caller: caller, key: string, value: bytes) -> Result<()> {54 fn set_collection_property(&mut self, caller: caller, key: string, value: bytes) -> Result<()> {
51 let caller = T::CrossAccountId::from_eth(caller);55 let caller = T::CrossAccountId::from_eth(caller);
166 Ok(crate::eth::collection_id_to_address(self.id))170 Ok(crate::eth::collection_id_to_address(self.id))
167 }171 }
172
173 // fn add_admin_substrate(&self, caller: caller, new_admin: uint256) -> Result<void> {
174 // let mut new_admin_h256 = H256::default();
175 // new_admin.to_little_endian(&mut new_admin_h256.0);
176 // let account_id = T::AccountId::from(new_admin_h256);
177 // let caller = T::CrossAccountId::from_eth(caller);
178 // let new_admin = T::CrossAccountId::from_sub(account_id);
179 // <Pallet<T>>::toggle_admin(&self, &caller, &new_admin, true)
180 // .map_err(dispatch_to_evm::<T>)?;
181 // Ok(())
182 // }
183
184 // fn remove_admin_substrate(&self, caller: caller, new_admin: uint256) -> Result<void> {
185 // let mut new_admin_h256 = H256::default();
186 // new_admin.to_little_endian(&mut new_admin_h256.0);
187 // let account_id = T::AccountId::from(new_admin_h256);
188 // let caller = T::CrossAccountId::from_eth(caller);
189 // let new_admin = T::CrossAccountId::from_sub(account_id);
190 // <Pallet<T>>::toggle_admin(&self, &caller, &new_admin, false)
191 // .map_err(dispatch_to_evm::<T>)?;
192 // Ok(())
193 // }
194
195 fn add_admin(&self, caller: caller, new_admin: address) -> Result<void> {
196 let caller = T::CrossAccountId::from_eth(caller);
197 self.check_is_owner_or_admin(&caller)
198 .map_err(dispatch_to_evm::<T>)?;
199 let new_admin = T::CrossAccountId::from_eth(new_admin);
200 <Pallet<T>>::toggle_admin(&self, &caller, &new_admin, true)
201 .map_err(dispatch_to_evm::<T>)?;
202 Ok(())
203 }
204
205 fn remove_admin(&self, caller: caller, admin: address) -> Result<void> {
206 let caller = T::CrossAccountId::from_eth(caller);
207 self.check_is_owner_or_admin(&caller)
208 .map_err(dispatch_to_evm::<T>)?;
209 let admin = T::CrossAccountId::from_eth(admin);
210 <Pallet<T>>::toggle_admin(&self, &caller, &admin, false)
211 .map_err(dispatch_to_evm::<T>)?;
212 Ok(())
213 }
214
215 #[solidity(rename_selector = "setNesting")]
216 fn set_nesting_bool(&mut self, caller: caller, enable: bool) -> Result<void> {
217 let caller = T::CrossAccountId::from_eth(caller);
218 self.check_is_owner_or_admin(&caller)
219 .map_err(dispatch_to_evm::<T>)?;
220 self.collection.permissions.nesting = Some(match enable {
221 false => NestingRule::Disabled,
222 true => NestingRule::Owner,
223 });
224 save(self);
225 Ok(())
226 }
227
228 #[solidity(rename_selector = "setNesting")]
229 fn set_nesting(&mut self, caller: caller, enable: bool, collections: Vec<address>) -> Result<void> {
230 if collections.is_empty() {
231 return Err("No addresses provided".into());
232 }
233 if collections.len() >= OwnerRestrictedSet::bound() {
234 return Err(Error::Revert(format!("Out of bound: {} >= {}", collections.len(), OwnerRestrictedSet::bound())));
235 }
236 let caller = T::CrossAccountId::from_eth(caller);
237 self.check_is_owner_or_admin(&caller)
238 .map_err(dispatch_to_evm::<T>)?;
239 self.collection.permissions.nesting = Some(match enable {
240 false => NestingRule::Disabled,
241 true => {
242 let mut bv = OwnerRestrictedSet::new();
243 for i in collections {
244 bv.try_insert(
245 crate::eth::map_eth_to_id(&i)
246 .ok_or(Error::Revert("Can't convert address into collection id".into()))?
247 ).map_err(|e| Error::Revert(format!("{:?}", e)))?;
248 }
249 NestingRule::OwnerRestricted (bv)
250 }
251 });
252 save(self);
253 Ok(())
254 }
168}255}
169256
170fn check_is_owner<T: Config>(caller: caller, collection: &CollectionHandle<T>) -> Result<()> {257fn check_is_owner<T: Config>(caller: caller, collection: &CollectionHandle<T>) -> Result<()> {
modifiedpallets/common/src/lib.rsdiffbeforeafterboth

no syntactic changes

modifiedpallets/nonfungible/src/stubs/UniqueNFT.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/nonfungible/src/stubs/UniqueNFT.soldiffbeforeafterboth
51 event MintingFinished();51 event MintingFinished();
52}52}
53
54// Selector: 3a54513b
55contract Collection is Dummy, ERC165 {
56 // Selector: setCollectionProperty(string,bytes) 2f073f66
57 function setCollectionProperty(string memory key, bytes memory value)
58 public
59 {
60 require(false, stub_error);
61 key;
62 value;
63 dummy = 0;
64 }
65
66 // Selector: deleteCollectionProperty(string) 7b7debce
67 function deleteCollectionProperty(string memory key) public {
68 require(false, stub_error);
69 key;
70 dummy = 0;
71 }
72
73 // Throws error if key not found
74 //
75 // Selector: collectionProperty(string) cf24fd6d
76 function collectionProperty(string memory key)
77 public
78 view
79 returns (bytes memory)
80 {
81 require(false, stub_error);
82 key;
83 dummy;
84 return hex"";
85 }
86
87 // Selector: ethSetSponsor(address) 8f9af356
88 function ethSetSponsor(address sponsor) public {
89 require(false, stub_error);
90 sponsor;
91 dummy = 0;
92 }
93
94 // Selector: ethConfirmSponsorship() a8580d1a
95 function ethConfirmSponsorship() public {
96 require(false, stub_error);
97 dummy = 0;
98 }
99
100 // Selector: setLimit(string,uint32) 68db30ca
101 function setLimit(string memory limit, uint32 value) public {
102 require(false, stub_error);
103 limit;
104 value;
105 dummy = 0;
106 }
107
108 // Selector: setLimit(string,bool) ea67e4c2
109 function setLimit(string memory limit, bool value) public {
110 require(false, stub_error);
111 limit;
112 value;
113 dummy = 0;
114 }
115
116 // Selector: contractAddress() f6b4dfb4
117 function contractAddress() public view returns (address) {
118 require(false, stub_error);
119 dummy;
120 return 0x0000000000000000000000000000000000000000;
121 }
122
123 // Selector: addAdmin(address) 70480275
124 function addAdmin(address newAdmin) public view {
125 require(false, stub_error);
126 newAdmin;
127 dummy;
128 }
129
130 // Selector: removeAdmin(address) 1785f53c
131 function removeAdmin(address admin) public view {
132 require(false, stub_error);
133 admin;
134 dummy;
135 }
136
137 // Selector: setNesting(bool) e8fc50dd
138 function setNesting(bool enable) public {
139 require(false, stub_error);
140 enable;
141 dummy = 0;
142 }
143
144 // Selector: setNesting(bool,address[]) 7df12a9a
145 function setNesting(bool enable, address[] memory collections) public {
146 require(false, stub_error);
147 enable;
148 collections;
149 dummy = 0;
150 }
151}
53152
54// Selector: 41369377153// Selector: 41369377
55contract TokenProperties is Dummy, ERC165 {154contract TokenProperties is Dummy, ERC165 {
330 }429 }
331}430}
332
333// Selector: c894dc35
334contract Collection is Dummy, ERC165 {
335 // Selector: setCollectionProperty(string,bytes) 2f073f66
336 function setCollectionProperty(string memory key, bytes memory value)
337 public
338 {
339 require(false, stub_error);
340 key;
341 value;
342 dummy = 0;
343 }
344
345 // Selector: deleteCollectionProperty(string) 7b7debce
346 function deleteCollectionProperty(string memory key) public {
347 require(false, stub_error);
348 key;
349 dummy = 0;
350 }
351
352 // Throws error if key not found
353 //
354 // Selector: collectionProperty(string) cf24fd6d
355 function collectionProperty(string memory key)
356 public
357 view
358 returns (bytes memory)
359 {
360 require(false, stub_error);
361 key;
362 dummy;
363 return hex"";
364 }
365
366 // Selector: ethSetSponsor(address) 8f9af356
367 function ethSetSponsor(address sponsor) public {
368 require(false, stub_error);
369 sponsor;
370 dummy = 0;
371 }
372
373 // Selector: ethConfirmSponsorship() a8580d1a
374 function ethConfirmSponsorship() public {
375 require(false, stub_error);
376 dummy = 0;
377 }
378
379 // Selector: setLimit(string,uint32) 68db30ca
380 function setLimit(string memory limit, uint32 value) public {
381 require(false, stub_error);
382 limit;
383 value;
384 dummy = 0;
385 }
386
387 // Selector: setLimit(string,bool) ea67e4c2
388 function setLimit(string memory limit, bool value) public {
389 require(false, stub_error);
390 limit;
391 value;
392 dummy = 0;
393 }
394
395 // Selector: contractAddress() f6b4dfb4
396 function contractAddress() public view returns (address) {
397 require(false, stub_error);
398 dummy;
399 return 0x0000000000000000000000000000000000000000;
400 }
401}
402431
403// Selector: d74d154f432// Selector: d74d154f
404contract ERC721UniqueExtensions is Dummy, ERC165 {433contract ERC721UniqueExtensions is Dummy, ERC165 {
modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
454 }454 }
455}455}
456
457pub type OwnerRestrictedSet = BoundedBTreeSet<CollectionId, ConstU32<16>>;
456458
457#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen, Derivative)]459#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen, Derivative)]
458#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]460#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
466 OwnerRestricted(468 OwnerRestricted(
467 #[cfg_attr(feature = "serde1", serde(with = "bounded::set_serde"))]469 #[cfg_attr(feature = "serde1", serde(with = "bounded::set_serde"))]
468 #[derivative(Debug(format_with = "bounded::set_debug"))]470 #[derivative(Debug(format_with = "bounded::set_debug"))]
469 BoundedBTreeSet<CollectionId, ConstU32<16>>,471 OwnerRestrictedSet,
470 ),472 ),
471 /// Used for tests473 /// Used for tests
472 Permissive,474 Permissive,
modifiedtests/src/eth/api/UniqueNFT.soldiffbeforeafterboth
42 event MintingFinished();42 event MintingFinished();
43}43}
44
45// Selector: 3a54513b
46interface Collection is Dummy, ERC165 {
47 // Selector: setCollectionProperty(string,bytes) 2f073f66
48 function setCollectionProperty(string memory key, bytes memory value)
49 external;
50
51 // Selector: deleteCollectionProperty(string) 7b7debce
52 function deleteCollectionProperty(string memory key) external;
53
54 // Throws error if key not found
55 //
56 // Selector: collectionProperty(string) cf24fd6d
57 function collectionProperty(string memory key)
58 external
59 view
60 returns (bytes memory);
61
62 // Selector: ethSetSponsor(address) 8f9af356
63 function ethSetSponsor(address sponsor) external;
64
65 // Selector: ethConfirmSponsorship() a8580d1a
66 function ethConfirmSponsorship() external;
67
68 // Selector: setLimit(string,uint32) 68db30ca
69 function setLimit(string memory limit, uint32 value) external;
70
71 // Selector: setLimit(string,bool) ea67e4c2
72 function setLimit(string memory limit, bool value) external;
73
74 // Selector: contractAddress() f6b4dfb4
75 function contractAddress() external view returns (address);
76
77 // Selector: addAdmin(address) 70480275
78 function addAdmin(address newAdmin) external view;
79
80 // Selector: removeAdmin(address) 1785f53c
81 function removeAdmin(address admin) external view;
82
83 // Selector: setNesting(bool) e8fc50dd
84 function setNesting(bool enable) external;
85
86 // Selector: setNesting(bool,address[]) 7df12a9a
87 function setNesting(bool enable, address[] memory collections) external;
88}
4489
45// Selector: 4136937790// Selector: 41369377
46interface TokenProperties is Dummy, ERC165 {91interface TokenProperties is Dummy, ERC165 {
191 function totalSupply() external view returns (uint256);236 function totalSupply() external view returns (uint256);
192}237}
193
194// Selector: c894dc35
195interface Collection is Dummy, ERC165 {
196 // Selector: setCollectionProperty(string,bytes) 2f073f66
197 function setCollectionProperty(string memory key, bytes memory value)
198 external;
199
200 // Selector: deleteCollectionProperty(string) 7b7debce
201 function deleteCollectionProperty(string memory key) external;
202
203 // Throws error if key not found
204 //
205 // Selector: collectionProperty(string) cf24fd6d
206 function collectionProperty(string memory key)
207 external
208 view
209 returns (bytes memory);
210
211 // Selector: ethSetSponsor(address) 8f9af356
212 function ethSetSponsor(address sponsor) external;
213
214 // Selector: ethConfirmSponsorship() a8580d1a
215 function ethConfirmSponsorship() external;
216
217 // Selector: setLimit(string,uint32) 68db30ca
218 function setLimit(string memory limit, uint32 value) external;
219
220 // Selector: setLimit(string,bool) ea67e4c2
221 function setLimit(string memory limit, bool value) external;
222
223 // Selector: contractAddress() f6b4dfb4
224 function contractAddress() external view returns (address);
225}
226238
227// Selector: d74d154f239// Selector: d74d154f
228interface ERC721UniqueExtensions is Dummy, ERC165 {240interface ERC721UniqueExtensions is Dummy, ERC165 {
modifiedtests/src/eth/createCollection.test.tsdiffbeforeafterboth
30describe('Create collection from EVM', () => {30describe('Create collection from EVM', () => {
31 itWeb3('Create collection', async ({api, web3}) => {31 itWeb3('Create collection', async ({api, web3}) => {
32 const owner = await createEthAccountWithBalance(api, web3);32 const owner = await createEthAccountWithBalance(api, web3);
33 const helper = evmCollectionHelpers(web3, owner);33 const collectionHelper = evmCollectionHelpers(web3, owner);
34 const collectionName = 'CollectionEVM';34 const collectionName = 'CollectionEVM';
35 const description = 'Some description';35 const description = 'Some description';
36 const tokenPrefix = 'token prefix';36 const tokenPrefix = 'token prefix';
37 37
38 const collectionCountBefore = await getCreatedCollectionCount(api);38 const collectionCountBefore = await getCreatedCollectionCount(api);
39 const result = await helper.methods39 const result = await collectionHelper.methods
40 .createNonfungibleCollection(collectionName, description, tokenPrefix)40 .createNonfungibleCollection(collectionName, description, tokenPrefix)
41 .send();41 .send();
42 const collectionCountAfter = await getCreatedCollectionCount(api);42 const collectionCountAfter = await getCreatedCollectionCount(api);
modifiedtests/src/eth/nonFungibleAbi.jsondiffbeforeafterboth
80 "name": "Transfer",80 "name": "Transfer",
81 "type": "event"81 "type": "event"
82 },82 },
83 {
84 "inputs": [
85 { "internalType": "address", "name": "newAdmin", "type": "address" }
86 ],
87 "name": "addAdmin",
88 "outputs": [],
89 "stateMutability": "view",
90 "type": "function"
91 },
83 {92 {
84 "inputs": [93 "inputs": [
85 { "internalType": "address", "name": "approved", "type": "address" },94 { "internalType": "address", "name": "approved", "type": "address" },
280 "stateMutability": "view",289 "stateMutability": "view",
281 "type": "function"290 "type": "function"
282 },291 },
292 {
293 "inputs": [
294 { "internalType": "address", "name": "admin", "type": "address" }
295 ],
296 "name": "removeAdmin",
297 "outputs": [],
298 "stateMutability": "view",
299 "type": "function"
300 },
283 {301 {
284 "inputs": [302 "inputs": [
285 { "internalType": "address", "name": "from", "type": "address" },303 { "internalType": "address", "name": "from", "type": "address" },
343 "stateMutability": "nonpayable",361 "stateMutability": "nonpayable",
344 "type": "function"362 "type": "function"
345 },363 },
364 {
365 "inputs": [
366 { "internalType": "bool", "name": "enable", "type": "bool" },
367 {
368 "internalType": "address[]",
369 "name": "collections",
370 "type": "address[]"
371 }
372 ],
373 "name": "setNesting",
374 "outputs": [],
375 "stateMutability": "nonpayable",
376 "type": "function"
377 },
378 {
379 "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],
380 "name": "setNesting",
381 "outputs": [],
382 "stateMutability": "nonpayable",
383 "type": "function"
384 },
346 {385 {
347 "inputs": [386 "inputs": [
348 { "internalType": "uint256", "name": "tokenId", "type": "uint256" },387 { "internalType": "uint256", "name": "tokenId", "type": "uint256" },
modifiedtests/src/eth/proxy/nonFungibleProxy.test.tsdiffbeforeafterboth
15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
1616
17import {createCollectionExpectSuccess, createItemExpectSuccess} from '../../util/helpers';17import {createCollectionExpectSuccess, createItemExpectSuccess} from '../../util/helpers';
18import {collectionIdToAddress, createEthAccount, createEthAccountWithBalance, GAS_ARGS, itWeb3, normalizeEvents} from '../util/helpers';18import {collectionIdToAddress, createEthAccount, createEthAccountWithBalance, evmCollection, evmCollectionHelpers, GAS_ARGS, getCollectionAddressFromResult, itWeb3, normalizeEvents} from '../util/helpers';
19import nonFungibleAbi from '../nonFungibleAbi.json';19import nonFungibleAbi from '../nonFungibleAbi.json';
20import {expect} from 'chai';20import {expect} from 'chai';
21import {submitTransactionAsync} from '../../substrate/substrate-api';21import {submitTransactionAsync} from '../../substrate/substrate-api';
87});87});
8888
89describe('NFT (Via EVM proxy): Plain calls', () => {89describe('NFT (Via EVM proxy): Plain calls', () => {
90 //TODO: CORE-302 add eth methods
91 itWeb3.skip('Can perform mint()', async ({web3, api, privateKeyWrapper}) => {90 itWeb3('Can perform mint()', async ({web3, api}) => {
91 const owner = await createEthAccountWithBalance(api, web3);
92 const collectionHelper = evmCollectionHelpers(web3, owner);
92 const collection = await createCollectionExpectSuccess({93 const result = await collectionHelper.methods
93 mode: {type: 'NFT'},94 .createNonfungibleCollection('A', 'A', 'A')
94 });95 .send();
95 const alice = privateKeyWrapper('//Alice');96 const {collectionIdAddress} = await getCollectionAddressFromResult(api, result);
96 const caller = await createEthAccountWithBalance(api, web3);97 const caller = await createEthAccountWithBalance(api, web3);
97 const receiver = createEthAccount(web3);98 const receiver = createEthAccount(web3);
98
99 const address = collectionIdToAddress(collection);99 const collectionEvmOwned = evmCollection(web3, owner, collectionIdAddress);
100 const collectionEvm = evmCollection(web3, caller, collectionIdAddress);
100 const contract = await proxyWrap(api, web3, new web3.eth.Contract(nonFungibleAbi as any, address, {from: caller, ...GAS_ARGS}));101 const contract = await proxyWrap(api, web3, collectionEvm);
101
102 const changeAdminTx = api.tx.unique.addCollectionAdmin(collection, {Ethereum: contract.options.address});102 await collectionEvmOwned.methods.addAdmin(contract.options.address).send();
103 await submitTransactionAsync(alice, changeAdminTx);
104103
105 {104 {
106 const nextTokenId = await contract.methods.nextTokenId().call();105 const nextTokenId = await contract.methods.nextTokenId().call();
111 'Test URI',110 'Test URI',
112 ).send({from: caller});111 ).send({from: caller});
113 const events = normalizeEvents(result.events);112 const events = normalizeEvents(result.events);
113 events[0].address = events[0].address.toLocaleLowerCase();
114114
115 expect(events).to.be.deep.equal([115 expect(events).to.be.deep.equal([
116 {116 {
117 address,117 address: collectionIdAddress.toLocaleLowerCase(),
118 event: 'Transfer',118 event: 'Transfer',
119 args: {119 args: {
120 from: '0x0000000000000000000000000000000000000000',120 from: '0x0000000000000000000000000000000000000000',
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
18import type { EthAccount, EthCallRequest, EthFilter, EthFilterChanges, EthLog, EthReceipt, EthRichBlock, EthSubKind, EthSubParams, EthSyncStatus, EthTransaction, EthTransactionRequest, EthWork } from '@polkadot/types/interfaces/eth';18import type { EthAccount, EthCallRequest, EthFilter, EthFilterChanges, EthLog, EthReceipt, EthRichBlock, EthSubKind, EthSubParams, EthSyncStatus, EthTransaction, EthTransactionRequest, EthWork } from '@polkadot/types/interfaces/eth';
19import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';19import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';
20import type { EncodedFinalityProofs, JustificationNotification, ReportedRoundStates } from '@polkadot/types/interfaces/grandpa';20import type { EncodedFinalityProofs, JustificationNotification, ReportedRoundStates } from '@polkadot/types/interfaces/grandpa';
21import type { MmrLeafBatchProof, MmrLeafProof } from '@polkadot/types/interfaces/mmr';21import type { MmrLeafProof } from '@polkadot/types/interfaces/mmr';
22import type { StorageKind } from '@polkadot/types/interfaces/offchain';22import type { StorageKind } from '@polkadot/types/interfaces/offchain';
23import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';23import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';
24import type { RpcMethods } from '@polkadot/types/interfaces/rpc';24import type { RpcMethods } from '@polkadot/types/interfaces/rpc';
354 subscribeJustifications: AugmentedRpc<() => Observable<JustificationNotification>>;354 subscribeJustifications: AugmentedRpc<() => Observable<JustificationNotification>>;
355 };355 };
356 mmr: {356 mmr: {
357 /**
358 * Generate MMR proof for the given leaf indices.
359 **/
360 generateBatchProof: AugmentedRpc<(leafIndices: Vec<u64> | (u64 | AnyNumber | Uint8Array)[], at?: BlockHash | string | Uint8Array) => Observable<MmrLeafProof>>;
361 /**357 /**
362 * Generate MMR proof for given leaf index.358 * Generate MMR proof for given leaf index.
363 **/359 **/
364 generateProof: AugmentedRpc<(leafIndex: u64 | AnyNumber | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<MmrLeafBatchProof>>;360 generateProof: AugmentedRpc<(leafIndex: u64 | AnyNumber | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<MmrLeafProof>>;
365 };361 };
366 net: {362 net: {
367 /**363 /**
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
33
4import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRmrkAccountIdOrCollectionNftTuple, UpDataStructsRmrkBaseInfo, UpDataStructsRmrkBasicResource, UpDataStructsRmrkCollectionInfo, UpDataStructsRmrkComposableResource, UpDataStructsRmrkEquippableList, UpDataStructsRmrkFixedPart, UpDataStructsRmrkNftChild, UpDataStructsRmrkNftInfo, UpDataStructsRmrkPartType, UpDataStructsRmrkPropertyInfo, UpDataStructsRmrkResourceInfo, UpDataStructsRmrkResourceTypes, UpDataStructsRmrkRoyaltyInfo, UpDataStructsRmrkSlotPart, UpDataStructsRmrkSlotResource, UpDataStructsRmrkTheme, UpDataStructsRmrkThemeProperty, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';4import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRmrkAccountIdOrCollectionNftTuple, UpDataStructsRmrkBaseInfo, UpDataStructsRmrkBasicResource, UpDataStructsRmrkCollectionInfo, UpDataStructsRmrkComposableResource, UpDataStructsRmrkEquippableList, UpDataStructsRmrkFixedPart, UpDataStructsRmrkNftChild, UpDataStructsRmrkNftInfo, UpDataStructsRmrkPartType, UpDataStructsRmrkPropertyInfo, UpDataStructsRmrkResourceInfo, UpDataStructsRmrkResourceTypes, UpDataStructsRmrkRoyaltyInfo, UpDataStructsRmrkSlotPart, UpDataStructsRmrkSlotResource, UpDataStructsRmrkTheme, UpDataStructsRmrkThemeProperty, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
5import type { Data, StorageKey } from '@polkadot/types';5import type { Data, StorageKey } from '@polkadot/types';
6import type { BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';6import type { BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';
7import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';7import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';
8import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations';8import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations';
9import type { RawAuraPreDigest } from '@polkadot/types/interfaces/aura';9import type { RawAuraPreDigest } from '@polkadot/types/interfaces/aura';
36import type { AuthIndex, AuthoritySignature, Heartbeat, HeartbeatTo244, OpaqueMultiaddr, OpaqueNetworkState, OpaquePeerId } from '@polkadot/types/interfaces/imOnline';36import type { AuthIndex, AuthoritySignature, Heartbeat, HeartbeatTo244, OpaqueMultiaddr, OpaqueNetworkState, OpaquePeerId } from '@polkadot/types/interfaces/imOnline';
37import type { CallIndex, LotteryConfig } from '@polkadot/types/interfaces/lottery';37import type { CallIndex, LotteryConfig } from '@polkadot/types/interfaces/lottery';
38import type { ErrorMetadataLatest, ErrorMetadataV10, ErrorMetadataV11, ErrorMetadataV12, ErrorMetadataV13, ErrorMetadataV14, ErrorMetadataV9, EventMetadataLatest, EventMetadataV10, EventMetadataV11, EventMetadataV12, EventMetadataV13, EventMetadataV14, EventMetadataV9, ExtrinsicMetadataLatest, ExtrinsicMetadataV11, ExtrinsicMetadataV12, ExtrinsicMetadataV13, ExtrinsicMetadataV14, FunctionArgumentMetadataLatest, FunctionArgumentMetadataV10, FunctionArgumentMetadataV11, FunctionArgumentMetadataV12, FunctionArgumentMetadataV13, FunctionArgumentMetadataV14, FunctionArgumentMetadataV9, FunctionMetadataLatest, FunctionMetadataV10, FunctionMetadataV11, FunctionMetadataV12, FunctionMetadataV13, FunctionMetadataV14, FunctionMetadataV9, MetadataAll, MetadataLatest, MetadataV10, MetadataV11, MetadataV12, MetadataV13, MetadataV14, MetadataV9, ModuleConstantMetadataV10, ModuleConstantMetadataV11, ModuleConstantMetadataV12, ModuleConstantMetadataV13, ModuleConstantMetadataV9, ModuleMetadataV10, ModuleMetadataV11, ModuleMetadataV12, ModuleMetadataV13, ModuleMetadataV9, PalletCallMetadataLatest, PalletCallMetadataV14, PalletConstantMetadataLatest, PalletConstantMetadataV14, PalletErrorMetadataLatest, PalletErrorMetadataV14, PalletEventMetadataLatest, PalletEventMetadataV14, PalletMetadataLatest, PalletMetadataV14, PalletStorageMetadataLatest, PalletStorageMetadataV14, PortableType, PortableTypeV14, SignedExtensionMetadataLatest, SignedExtensionMetadataV14, StorageEntryMetadataLatest, StorageEntryMetadataV10, StorageEntryMetadataV11, StorageEntryMetadataV12, StorageEntryMetadataV13, StorageEntryMetadataV14, StorageEntryMetadataV9, StorageEntryModifierLatest, StorageEntryModifierV10, StorageEntryModifierV11, StorageEntryModifierV12, StorageEntryModifierV13, StorageEntryModifierV14, StorageEntryModifierV9, StorageEntryTypeLatest, StorageEntryTypeV10, StorageEntryTypeV11, StorageEntryTypeV12, StorageEntryTypeV13, StorageEntryTypeV14, StorageEntryTypeV9, StorageHasher, StorageHasherV10, StorageHasherV11, StorageHasherV12, StorageHasherV13, StorageHasherV14, StorageHasherV9, StorageMetadataV10, StorageMetadataV11, StorageMetadataV12, StorageMetadataV13, StorageMetadataV9 } from '@polkadot/types/interfaces/metadata';38import type { ErrorMetadataLatest, ErrorMetadataV10, ErrorMetadataV11, ErrorMetadataV12, ErrorMetadataV13, ErrorMetadataV14, ErrorMetadataV9, EventMetadataLatest, EventMetadataV10, EventMetadataV11, EventMetadataV12, EventMetadataV13, EventMetadataV14, EventMetadataV9, ExtrinsicMetadataLatest, ExtrinsicMetadataV11, ExtrinsicMetadataV12, ExtrinsicMetadataV13, ExtrinsicMetadataV14, FunctionArgumentMetadataLatest, FunctionArgumentMetadataV10, FunctionArgumentMetadataV11, FunctionArgumentMetadataV12, FunctionArgumentMetadataV13, FunctionArgumentMetadataV14, FunctionArgumentMetadataV9, FunctionMetadataLatest, FunctionMetadataV10, FunctionMetadataV11, FunctionMetadataV12, FunctionMetadataV13, FunctionMetadataV14, FunctionMetadataV9, MetadataAll, MetadataLatest, MetadataV10, MetadataV11, MetadataV12, MetadataV13, MetadataV14, MetadataV9, ModuleConstantMetadataV10, ModuleConstantMetadataV11, ModuleConstantMetadataV12, ModuleConstantMetadataV13, ModuleConstantMetadataV9, ModuleMetadataV10, ModuleMetadataV11, ModuleMetadataV12, ModuleMetadataV13, ModuleMetadataV9, PalletCallMetadataLatest, PalletCallMetadataV14, PalletConstantMetadataLatest, PalletConstantMetadataV14, PalletErrorMetadataLatest, PalletErrorMetadataV14, PalletEventMetadataLatest, PalletEventMetadataV14, PalletMetadataLatest, PalletMetadataV14, PalletStorageMetadataLatest, PalletStorageMetadataV14, PortableType, PortableTypeV14, SignedExtensionMetadataLatest, SignedExtensionMetadataV14, StorageEntryMetadataLatest, StorageEntryMetadataV10, StorageEntryMetadataV11, StorageEntryMetadataV12, StorageEntryMetadataV13, StorageEntryMetadataV14, StorageEntryMetadataV9, StorageEntryModifierLatest, StorageEntryModifierV10, StorageEntryModifierV11, StorageEntryModifierV12, StorageEntryModifierV13, StorageEntryModifierV14, StorageEntryModifierV9, StorageEntryTypeLatest, StorageEntryTypeV10, StorageEntryTypeV11, StorageEntryTypeV12, StorageEntryTypeV13, StorageEntryTypeV14, StorageEntryTypeV9, StorageHasher, StorageHasherV10, StorageHasherV11, StorageHasherV12, StorageHasherV13, StorageHasherV14, StorageHasherV9, StorageMetadataV10, StorageMetadataV11, StorageMetadataV12, StorageMetadataV13, StorageMetadataV9 } from '@polkadot/types/interfaces/metadata';
39import type { MmrLeafBatchProof, MmrLeafProof } from '@polkadot/types/interfaces/mmr';39import type { MmrLeafProof } from '@polkadot/types/interfaces/mmr';
40import type { StorageKind } from '@polkadot/types/interfaces/offchain';40import type { StorageKind } from '@polkadot/types/interfaces/offchain';
41import type { DeferredOffenceOf, Kind, OffenceDetails, Offender, OpaqueTimeSlot, ReportIdOf, Reporter } from '@polkadot/types/interfaces/offences';41import type { DeferredOffenceOf, Kind, OffenceDetails, Offender, OpaqueTimeSlot, ReportIdOf, Reporter } from '@polkadot/types/interfaces/offences';
42import type { AbridgedCandidateReceipt, AbridgedHostConfiguration, AbridgedHrmpChannel, AssignmentId, AssignmentKind, AttestedCandidate, AuctionIndex, AuthorityDiscoveryId, AvailabilityBitfield, AvailabilityBitfieldRecord, BackedCandidate, Bidder, BufferedSessionChange, CandidateCommitments, CandidateDescriptor, CandidateHash, CandidateInfo, CandidatePendingAvailability, CandidateReceipt, CollatorId, CollatorSignature, CommittedCandidateReceipt, CoreAssignment, CoreIndex, CoreOccupied, DisputeLocation, DisputeResult, DisputeState, DisputeStatement, DisputeStatementSet, DoubleVoteReport, DownwardMessage, ExplicitDisputeStatement, GlobalValidationData, GlobalValidationSchedule, GroupIndex, HeadData, HostConfiguration, HrmpChannel, HrmpChannelId, HrmpOpenChannelRequest, InboundDownwardMessage, InboundHrmpMessage, InboundHrmpMessages, IncomingParachain, IncomingParachainDeploy, IncomingParachainFixed, InvalidDisputeStatementKind, LeasePeriod, LeasePeriodOf, LocalValidationData, MessageIngestionType, MessageQueueChain, MessagingStateSnapshot, MessagingStateSnapshotEgressEntry, MultiDisputeStatementSet, NewBidder, OutboundHrmpMessage, ParaGenesisArgs, ParaId, ParaInfo, ParaLifecycle, ParaPastCodeMeta, ParaScheduling, ParaValidatorIndex, ParachainDispatchOrigin, ParachainInherentData, ParachainProposal, ParachainsInherentData, ParathreadClaim, ParathreadClaimQueue, ParathreadEntry, PersistedValidationData, QueuedParathread, RegisteredParachainInfo, RelayBlockNumber, RelayChainBlockNumber, RelayChainHash, RelayHash, Remark, ReplacementTimes, Retriable, Scheduling, ServiceQuality, SessionInfo, SessionInfoValidatorGroup, SignedAvailabilityBitfield, SignedAvailabilityBitfields, SigningContext, SlotRange, SlotRange10, Statement, SubId, SystemInherentData, TransientValidationData, UpgradeGoAhead, UpgradeRestriction, UpwardMessage, ValidDisputeStatementKind, ValidationCode, ValidationCodeHash, ValidationData, ValidationDataType, ValidationFunctionParams, ValidatorSignature, ValidityAttestation, VecInboundHrmpMessage, WinnersData, WinnersData10, WinnersDataTuple, WinnersDataTuple10, WinningData, WinningData10, WinningDataEntry } from '@polkadot/types/interfaces/parachains';42import type { AbridgedCandidateReceipt, AbridgedHostConfiguration, AbridgedHrmpChannel, AssignmentId, AssignmentKind, AttestedCandidate, AuctionIndex, AuthorityDiscoveryId, AvailabilityBitfield, AvailabilityBitfieldRecord, BackedCandidate, Bidder, BufferedSessionChange, CandidateCommitments, CandidateDescriptor, CandidateHash, CandidateInfo, CandidatePendingAvailability, CandidateReceipt, CollatorId, CollatorSignature, CommittedCandidateReceipt, CoreAssignment, CoreIndex, CoreOccupied, DisputeLocation, DisputeResult, DisputeState, DisputeStatement, DisputeStatementSet, DoubleVoteReport, DownwardMessage, ExplicitDisputeStatement, GlobalValidationData, GlobalValidationSchedule, GroupIndex, HeadData, HostConfiguration, HrmpChannel, HrmpChannelId, HrmpOpenChannelRequest, InboundDownwardMessage, InboundHrmpMessage, InboundHrmpMessages, IncomingParachain, IncomingParachainDeploy, IncomingParachainFixed, InvalidDisputeStatementKind, LeasePeriod, LeasePeriodOf, LocalValidationData, MessageIngestionType, MessageQueueChain, MessagingStateSnapshot, MessagingStateSnapshotEgressEntry, MultiDisputeStatementSet, NewBidder, OutboundHrmpMessage, ParaGenesisArgs, ParaId, ParaInfo, ParaLifecycle, ParaPastCodeMeta, ParaScheduling, ParaValidatorIndex, ParachainDispatchOrigin, ParachainInherentData, ParachainProposal, ParachainsInherentData, ParathreadClaim, ParathreadClaimQueue, ParathreadEntry, PersistedValidationData, QueuedParathread, RegisteredParachainInfo, RelayBlockNumber, RelayChainBlockNumber, RelayChainHash, RelayHash, Remark, ReplacementTimes, Retriable, Scheduling, ServiceQuality, SessionInfo, SessionInfoValidatorGroup, SignedAvailabilityBitfield, SignedAvailabilityBitfields, SigningContext, SlotRange, SlotRange10, Statement, SubId, SystemInherentData, TransientValidationData, UpgradeGoAhead, UpgradeRestriction, UpwardMessage, ValidDisputeStatementKind, ValidationCode, ValidationCodeHash, ValidationData, ValidationDataType, ValidationFunctionParams, ValidatorSignature, ValidityAttestation, VecInboundHrmpMessage, WinnersData, WinnersData10, WinnersDataTuple, WinnersDataTuple10, WinningData, WinningData10, WinningDataEntry } from '@polkadot/types/interfaces/parachains';
661 MetadataV14: MetadataV14;661 MetadataV14: MetadataV14;
662 MetadataV9: MetadataV9;662 MetadataV9: MetadataV9;
663 MigrationStatusResult: MigrationStatusResult;663 MigrationStatusResult: MigrationStatusResult;
664 MmrLeafBatchProof: MmrLeafBatchProof;
665 MmrLeafProof: MmrLeafProof;664 MmrLeafProof: MmrLeafProof;
666 MmrRootHash: MmrRootHash;665 MmrRootHash: MmrRootHash;
667 ModuleConstantMetadataV10: ModuleConstantMetadataV10;666 ModuleConstantMetadataV10: ModuleConstantMetadataV10;
728 OpenTipTip: OpenTipTip;727 OpenTipTip: OpenTipTip;
729 OpenTipTo225: OpenTipTo225;728 OpenTipTo225: OpenTipTo225;
730 OperatingMode: OperatingMode;729 OperatingMode: OperatingMode;
731 OptionBool: OptionBool;
732 Origin: Origin;730 Origin: Origin;
733 OriginCaller: OriginCaller;731 OriginCaller: OriginCaller;
734 OriginKindV0: OriginKindV0;732 OriginKindV0: OriginKindV0;