diff --git a/calc/pkg/calc_bg.wasm b/calc/pkg/calc_bg.wasm index 40066bc9c..ff0131a23 100644 Binary files a/calc/pkg/calc_bg.wasm and b/calc/pkg/calc_bg.wasm differ diff --git a/calc/src/calc_fee.rs b/calc/src/calc_fee.rs index 30013fc6b..a5ffe87e7 100644 --- a/calc/src/calc_fee.rs +++ b/calc/src/calc_fee.rs @@ -67,6 +67,7 @@ impl Multiplier { ("karura", _v) => V2(new_u128(inner)), ("acala", _v) => V2(new_u128(inner)), + ("crust", _v) => V2(new_u128(inner)), _ => { info!("Unsupported runtime: {}#{}", spec_name, spec_version); diff --git a/src/chains-config/crustControllers.ts b/src/chains-config/crustControllers.ts new file mode 100644 index 000000000..a1244b4b7 --- /dev/null +++ b/src/chains-config/crustControllers.ts @@ -0,0 +1,32 @@ +import { ControllerConfig } from '../types/chains-config'; +import { initLRUCache } from './cache/lruCache'; +import { getBlockWeight } from './metadata-consts'; + +/** + * Controllers for crust collator + */ +export const crustControllers: ControllerConfig = { + controllers: [ + 'AccountsBalanceInfo', + 'AccountsValidate', + 'Blocks', + 'BlocksExtrinsics', + 'NodeNetwork', + 'NodeTransactionPool', + 'NodeVersion', + 'PalletsStorage', + 'RuntimeCode', + 'RuntimeMetadata', + 'RuntimeSpec', + 'TransactionDryRun', + 'TransactionFeeEstimate', + 'TransactionMaterial', + 'TransactionSubmit', + ], + options: { + finalizes: true, + minCalcFeeRuntime: 1, + blockWeightStore: getBlockWeight('crust'), + blockStore: initLRUCache(), + }, +}; diff --git a/src/chains-config/index.ts b/src/chains-config/index.ts index f44e478c7..f7bda661f 100644 --- a/src/chains-config/index.ts +++ b/src/chains-config/index.ts @@ -7,6 +7,7 @@ import { ControllerConfig } from '../types/chains-config'; import { acalaControllers } from './acalaControllers'; import { astarControllers } from './astarControllers'; import { calamariControllers } from './calamariControllers'; +import { crustControllers } from './crustControllers'; import { defaultControllers } from './defaultControllers'; import { dockMainnetControllers } from './dockMainnetControllers'; import { dockPoSMainnetControllers } from './dockPoSMainnetControllers'; @@ -47,6 +48,7 @@ const specToControllerMap = { karura: karuraControllers, acala: acalaControllers, manta: mantaControllers, + crust: crustControllers, }; /** diff --git a/src/chains-config/metadata-consts/crustConsts.ts b/src/chains-config/metadata-consts/crustConsts.ts new file mode 100644 index 000000000..c3423a7b4 --- /dev/null +++ b/src/chains-config/metadata-consts/crustConsts.ts @@ -0,0 +1,9 @@ +import { MetadataConsts } from '../../types/chains-config'; +import { extrinsicBaseWeight } from './substrateConsts'; + +export const crustDefinitions: MetadataConsts[] = [ + { + runtimeVersions: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], + extrinsicBaseWeight, + }, +]; diff --git a/src/chains-config/metadata-consts/index.ts b/src/chains-config/metadata-consts/index.ts index 1287b5fb9..b002a2637 100644 --- a/src/chains-config/metadata-consts/index.ts +++ b/src/chains-config/metadata-consts/index.ts @@ -9,6 +9,7 @@ import { import { acalaDefinitions } from './acalaConsts'; import { astarDefinitions } from './astarConsts'; import { calamariDefinitions } from './calamariConsts'; +import { crustDefinitions } from './crustConsts'; import { dockMainnetDefinitions, dockPoSMainnetDefinitions, @@ -109,6 +110,8 @@ export function getBlockWeight(specName: string): BlockWeightStore { return generateBlockWeightStore(acalaDefinitions); case 'manta': return generateBlockWeightStore(mantaDefinitions); + case 'crust': + return generateBlockWeightStore(crustDefinitions); default: return {}; }