Ejemplo n.º 1
0
        public MevBundler(IBundleTrigger trigger, ITxSource txSource, IBundlePool bundlePool, ILogger logger)
        {
            _trigger    = trigger;
            _txSource   = txSource;
            _bundlePool = bundlePool;
            _logger     = logger;

            if (_logger.IsInfo)
            {
                _logger.Info("Starting Mev Bundler for Account Abstraction");
            }

            _trigger.TriggerBundle += OnTriggerBundle;
        }
Ejemplo n.º 2
0
 public MevRpcModule(
     IJsonRpcConfig jsonRpcConfig,
     IBundlePool bundlePool,
     IBlockFinder blockFinder,
     IStateReader stateReader,
     ITracerFactory tracerFactory,
     ISpecProvider specProvider,
     ISigner?signer)
 {
     _jsonRpcConfig = jsonRpcConfig;
     _bundlePool    = bundlePool;
     _blockFinder   = blockFinder;
     _stateReader   = stateReader;
     _tracerFactory = tracerFactory;
     _specProvider  = specProvider;
     _signer        = signer;
 }
Ejemplo n.º 3
0
 public MevModuleFactory(
     IMevConfig mevConfig,
     IJsonRpcConfig jsonRpcConfig,
     IBundlePool bundlePool,
     IBlockTree blockTree,
     IStateReader stateReader,
     ITracerFactory tracerFactory,
     ISpecProvider specProvider,
     ISigner?signer,
     ulong chainId)
 {
     _mevConfig     = mevConfig;
     _jsonRpcConfig = jsonRpcConfig;
     _bundlePool    = bundlePool;
     _blockTree     = blockTree;
     _stateReader   = stateReader;
     _tracerFactory = tracerFactory;
     _specProvider  = specProvider;
     _signer        = signer;
     _chainId       = chainId;
 }
Ejemplo n.º 4
0
 public static IEnumerable <MevBundle> GetMegabundles(this IBundlePool bundleSource, BlockHeader parent, ITimestamper timestamper, CancellationToken token = default) =>
 bundleSource.GetMegabundles(parent.Number + 1, timestamper.UnixTime.Seconds, token);