pub type MoonbeamPrecompiles<R> = PrecompileSetBuilder<R, (PrecompilesInRangeInclusive<(AddressU64<1>, AddressU64<4095>), (PrecompileAt<AddressU64<1>, ECRecover, (AcceptDelegateCall, CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2>, Sha256, (AcceptDelegateCall, CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<3>, Ripemd160, (AcceptDelegateCall, CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<4>, Identity, (AcceptDelegateCall, CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<5>, Modexp, (AcceptDelegateCall, CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<6>, Bn128Add, (AcceptDelegateCall, CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<7>, Bn128Mul, (AcceptDelegateCall, CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<8>, Bn128Pairing, (AcceptDelegateCall, CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<9>, Blake2F, (AcceptDelegateCall, CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<256>, P256Verify<P256VerifyWeight>, (AcceptDelegateCall, CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<1024>, Sha3FIPS256, (CallableByContract, CallableByPrecompile)>, RemovedPrecompileAt<AddressU64<1025>>, PrecompileAt<AddressU64<1026>, ECRecoverPublicKey, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2048>, ParachainStakingPrecompile<R>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2049>, CrowdloanRewardsPrecompile<R>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2050>, Erc20BalancesPrecompile<R, NativeErc20Metadata>, (CallableByContract, CallableByPrecompile)>, RemovedPrecompileAt<AddressU64<2051>>, PrecompileAt<AddressU64<2052>, XtokensPrecompile<R>, (SubcallWithMaxNesting<1>, CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2053>, RelayEncoderPrecompile<R>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2054>, XcmTransactorPrecompileV1<R>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2055>, AuthorMappingPrecompile<R>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2056>, BatchPrecompile<R>, (SubcallWithMaxNesting<2>, CallableByPrecompile<OnlyFrom<AddressU64<2056>>>)>, PrecompileAt<AddressU64<2057>, RandomnessPrecompile<R>, (SubcallWithMaxNesting<0>, CallableByContract)>, PrecompileAt<AddressU64<2058>, CallPermitPrecompile<R>, (SubcallWithMaxNesting<0>, CallableByContract)>, PrecompileAt<AddressU64<2059>, ProxyPrecompile<R>, (CallableByContract<OnlyIsProxyAndProxy<R>>, SubcallWithMaxNesting<0>, CallableByPrecompile<OnlyFrom<AddressU64<2056>>>)>, PrecompileAt<AddressU64<2060>, XcmUtilsPrecompile<R, XcmExecutorConfig>, CallableByContract<AllExceptXcmExecute<R, XcmExecutorConfig>>>, PrecompileAt<AddressU64<2061>, XcmTransactorPrecompileV2<R>, (CallableByContract, CallableByPrecompile)>, RemovedPrecompileAt<AddressU64<2062>>, RemovedPrecompileAt<AddressU64<2063>>, PrecompileAt<AddressU64<2064>, CollectivePrecompile<R, TreasuryCouncilInstance>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2065>, ReferendaPrecompile<R, Origin>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2066>, ConvictionVotingPrecompile<R>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2067>, PreimagePrecompile<R>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2068>, CollectivePrecompile<R, OpenTechCommitteeInstance>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2069>, PrecompileRegistry<R>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2070>, GmpPrecompile<R>, SubcallWithMaxNesting<0>>, PrecompileAt<AddressU64<2071>, XcmTransactorPrecompileV3<R>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2072>, IdentityPrecompile<R, MaxAdditionalFields>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2073>, RelayDataVerifierPrecompile<R, WeightInfo<Runtime>>, (CallableByContract, CallableByPrecompile)>, PrecompileAt<AddressU64<2074>, PalletXcmPrecompile<R, (SingleAddressMatcher<AccountId, ERC20_BALANCES_PRECOMPILE, Balances>, ForeignAssetMatcher<AccountId, AssetId, Runtime, AsAssetType<AssetId, AssetType, AssetManager>>, Erc20PalletMatcher<AccountId, Erc20XcmBridge>)>, (CallableByContract, CallableByPrecompile)>)>, PrecompileSetStartingWith<ForeignAssetPrefix, Erc20AssetsPrecompileSet<R, ForeignAssetInstance>, (CallableByContract, CallableByPrecompile)>, RemovedPrecompilesAt<DisabledLocalAssets<R>>)>;
Expand description

The PrecompileSet installed in the Moonbeam runtime. We include the nine Istanbul precompiles (https://github.com/ethereum/go-ethereum/blob/3c46f557/core/vm/contracts.go#L69) as well as a special precompile for dispatching Substrate extrinsics The following distribution has been decided for the precompiles 0-1023: Ethereum Mainnet Precompiles 1024-2047 Precompiles that are not in Ethereum Mainnet but are neither Moonbeam specific 2048-4095 Moonbeam specific precompiles

Aliased Type§

struct MoonbeamPrecompiles<R> { /* private fields */ }