コード例 #1
0
        public Task <ResultWrapper <ExecutionPayloadV1?> > HandleAsync(byte[] payloadId)
        {
            string payloadStr = payloadId.ToHexString(true);
            Block? block      = _payloadPreparationService.GetPayload(payloadStr);

            if (block == null)
            {
                // The call MUST return -38001: Unknown payload error if the build process identified by the payloadId does not exist.
                if (_logger.IsWarn)
                {
                    _logger.Warn($"Block production for payload with id={payloadId.ToHexString()} failed - unknown payload.");
                }
                return(ResultWrapper <ExecutionPayloadV1?> .Fail("unknown payload", MergeErrorCodes.UnknownPayload));
            }

            if (_logger.IsInfo)
            {
                _logger.Info($"GetPayloadV1 result: {block.Header.ToString(BlockHeader.Format.Full)}.");
            }

            return(ResultWrapper <ExecutionPayloadV1?> .Success(new ExecutionPayloadV1(block)));
        }