public async Task <ActionResult <SubmitTransactionResponseViewModel> > SubmitTxAsync(SubmitTransactionViewModel data) { if (!IdentityProviderStore.GetUserAndIssuer(User, Request.Headers, out var identity)) { return(Unauthorized("Incorrectly formatted token")); } var domainModel = data.ToDomainModel(null, null, null, false, null, false); var result = new SubmitTransactionResponseViewModel( await mapi.SubmitTransactionAsync(domainModel, identity)); return(await SignIfRequiredAsync(result, result.MinerId)); }
public async Task <ActionResult <SubmitTransactionResponseViewModel> > SubmitTxRawAsync( [FromQuery] string callbackUrl, [FromQuery] string callbackToken, [FromQuery] string callbackEncryption, [FromQuery] bool merkleProof, [FromQuery] string merkleFormat, [FromQuery] bool dsCheck) { if (!IdentityProviderStore.GetUserAndIssuer(User, Request.Headers, out var identity)) { return(Unauthorized("Incorrectly formatted token")); } byte[] data; using (var ms = new MemoryStream()) { await Request.Body.CopyToAsync(ms); data = ms.ToArray(); } var request = new SubmitTransaction { RawTx = data, CallbackUrl = callbackUrl, CallbackToken = callbackToken, CallbackEncryption = callbackEncryption, MerkleProof = merkleProof, MerkleFormat = merkleFormat, DsCheck = dsCheck }; var result = new SubmitTransactionResponseViewModel(await mapi.SubmitTransactionAsync(request, identity)); return(await SignIfRequiredAsync(result, result.MinerId)); }