* Support for contracts metadata V2 * Add & use latest * Build interfaces * conversion of V1 -> Latest * spreads * Use V2 in creation, aka s/name/label/ * Extract -> latest conversion * Flatten * Add V2 test contracts (tests are failing) * V2, V1 & V1 catered for in Abi.spec.ts * Explicit v0/v1 -> Latest conversions * Adjust V2/V1/V0 check order * Cleanup type assertions * Save * Remove eslint unsafe * Flatten test exports * Entries... last non-critical, OCD-driven change... * tsc check fixes * Conversion tests * v1ToLatest renames * Text[] * Split conversion (ease of future change) * V2 in V2 conversion * Dedupe? * Additional cleanups * Adjust * Flatten types * Adjust * filter versions adjustments * additional, get it done.
15 lines
542 B
TypeScript
15 lines
542 B
TypeScript
// Copyright 2017-2021 @polkadot/api-contract authors & contributors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
export function createVersionedExport (versioned: Record<string, Record<string, unknown>>): Record<string, Record<string, unknown>> {
|
|
const result: Record<string, Record<string, unknown>> = {};
|
|
|
|
Object.entries(versioned).forEach(([version, contracts]) =>
|
|
Object.entries(contracts).forEach(([name, contract]): void => {
|
|
result[`${version}_${name}`] = contract as Record<string, unknown>;
|
|
})
|
|
);
|
|
|
|
return result;
|
|
}
|