@sofaws/dapp-core
Version:
A library to hold the main logic for a dapp on the Elrond Network
3 lines (2 loc) • 1.77 kB
JavaScript
import{a as E}from"./chunk-RJVA7ZZ4.js";import{c as B,d as m}from"./chunk-ZUW3EYNS.js";import{a as A}from"./chunk-O3T3K2LX.js";import{d as M}from"./chunk-5D7CBKRZ.js";import{b as w}from"./chunk-44WWQAQY.js";import{a as I}from"./chunk-CTPLNYLR.js";import{a as q}from"./chunk-SIAIYQNL.js";import{b as R}from"./chunk-WLCXXT5U.js";import{b as h,c as W}from"./chunk-WUCJ5FDJ.js";import{c as u,e as b}from"./chunk-JXBPRUT3.js";import{k as U}from"./chunk-P6M5SGWP.js";import{a as l,b as T,j as g,m as y}from"./chunk-HBP5N4FR.js";y();import{useEffect as z,useRef as F}from"react";import{Address as G}from"@elrondnetwork/erdjs";import{Signature as J}from"@elrondnetwork/erdjs/out/signature";q();U();W();var P=c=>{let t=c.redirectRoute;t&&h(t)},mn=({sendSignedTransactionsAsync:c=A})=>{let t=m(w),n=m(M),r=F(!1),a=B(),S=()=>{a(b()),r.current=!1};function j(){return g(this,null,function*(){var f;let k=Object.keys(n);for(let e of k){let o=n==null?void 0:n[e],x=(f=o==null?void 0:o.customTransactionInformation)==null?void 0:f.signWithoutSending;if(!e||x){P(o);continue}try{if(!(n[e].status==="signed"&&!r.current))continue;let{transactions:i}=n[e];if(!i)continue;r.current=!0;let C=i.map(s=>{let H=new G(s.sender),p=I(s),N=new J(s.signature);return p.applySignature(N,H),p}),O=yield c(C),v="pending",D=i.map(s=>O.includes(s.hash)?T(l({},s),{status:v}):s);a(R({sessionId:e,submittedMessage:"submitted"})),a(u({sessionId:e,status:"sent",transactions:D})),S(),E(t.nonce+i.length),P(o),history.pushState({},document==null?void 0:document.title,"?")}catch(d){console.error("Unable to send transactions",d),a(u({sessionId:e,status:"fail",errorMessage:d.message})),S()}finally{r.current=!1}}})}return z(()=>{j()},[n,t]),null};export{mn as a};
//# sourceMappingURL=chunk-33UR4OZX.js.map