@sofaws/dapp-core
Version:
A library to hold the main logic for a dapp on the Elrond Network
3 lines (2 loc) • 1.15 kB
JavaScript
import{a as l}from"./chunk-35N6HQAC.js";import{a as T}from"./chunk-XAPH7V6V.js";import{a as S}from"./chunk-OI3JNSRI.js";import{m as c}from"./chunk-HBP5N4FR.js";c();S();import{Address as d,TransactionPayload as E}from"@elrondnetwork/erdjs";var D=["ESDTNFTTransfer","ESDTNFTBurn","ESDTNFTAddQuantity","ESDTNFTCreate","MultiESDTNFTTransfer","ESDTTransfer","ESDTBurn","ESDTLocalMint","ESDTLocalBurn","ESDTWipe","ESDTFreeze"];function w(r,s,t=""){if(!T(r))return!1;if(new d(r).isContractAddress())return!0;let i=m({receiver:r,data:t});return i?new d(i).isContractAddress()||C(r,s,t):!1}var g=r=>r.toLowerCase().match(/[0-9a-f]/g),p=r=>r.length%2===0;function C(r,s,t){let n=t==null?void 0:t.split("@");if(n==null)return!1;let[e,...i]=n,o=s!=null&&r!=null&&r===s,u=D.includes(e),f=i.every(a=>g(a)&&p(a));return o&&u&&f}function m({receiver:r,data:s}){try{if(!s)return r;let t=l(s)?E.fromEncoded(s).toString():s,n=x(t),e=t.split("@");return n>-1?e[n]:r}catch(t){console.log(t);return}}function x(r){return r.includes("MultiESDTNFTTransfer")?1:r.includes("ESDTNFTTransfer")?4:-1}export{D as a,w as b,C as c,m as d};
//# sourceMappingURL=chunk-H2RSGZDG.js.map