@swtc/common
Version:
swtc chain information
3 lines (2 loc) • 27.7 kB
JavaScript
const e=/^([a-zA-Z0-9]{3,6}|[A-F0-9]{40})$/,t=/^[A-F0-9]{64}$/,n=["CreatedNode","ModifiedNode","DeletedNode"],r="0000000000000000000000000000000000000000000000000000000000000000",a=r.substr(0,40),s=r.substr(0,39)+"1",o={transactionID:1415073280,transaction:1397638144,accountStateEntry:1296846336,innerNode:1296649728,ledgerHeader:1280791040,transactionSig:1398036480,transactionMultiSig:1397576704,validation:1447119872,proposal:1347571712,paymentChannelClaim:1129073920},i=[{code:"bitcoin",currency:"BTC",simple:!0,ACCOUNT_ALPHABET:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"},{code:"ripple",currency:"XRP",simple:!0,ACCOUNT_ALPHABET:"rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"},{code:"stellar",currency:"XLM",simple:!0,ACCOUNT_ALPHABET:"gsphnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCr65jkm8oFqi1tuvAxyz"},{code:"call",currency:"CALL",ACCOUNT_ALPHABET:"cpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2brdeCg65jkm8oFqi1tuvAxyz"},{code:"stream",currency:"STM",ACCOUNT_ALPHABET:"vpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1turAxyz"},{code:"jingtum",currency:"SWT",issuer:"jGa9J9TkqtBcUoHe2zqhVFFbgUVED6o9or",CURRENCIES:{CNT:"CNY",JCC:"JJCC",SLASH:"JSLASH",MOAC:"JMOAC",CALL:"JCALL",EKT:"JEKT",ETH:"JETH"},XLIB:{default_ws:"ws.bcapps.ca:5020",default_api:"api.bcapps.ca:5080",default_ws_failover:"ws-failover.bcapps.ca:5020",default_api_failover:"api-failover.bcapps.ca:5080"},ACCOUNT_ALPHABET:"jpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65rkm8oFqi1tuvAxyz",SEED_PREFIX:33,ACCOUNT_PREFIX:0,ACCOUNT_ZERO:"jjjjjjjjjjjjjjjjjjjjjhoLvTp",ACCOUNT_ONE:"jjjjjjjjjjjjjjjjjjjjBZbvri",fee:1e4},{code:"guomi",guomi:!0,currency:"SWT",issuer:"j9syYwWgtmjchcbqhVB18pmFqXUYahZvvg",CURRENCIES:{CNT:"CNY"},ACCOUNT_ALPHABET:"jpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65rkm8oFqi1tuvAxyz",SEED_PREFIX:33,ACCOUNT_PREFIX:0,ACCOUNT_ZERO:"jjjjjjjjjjjjjjjjjjjjjn1TT5q",ACCOUNT_ONE:"jjjjjjjjjjjjjjjjjjjjwVBfmE",fee:100},{code:"bizain",currency:"BWT",issuer:"bf42S78serP2BeSx7HGtwQR2QASYaHVqyb",XLIB:{default_ws:"ws-bwt.bcapps.ca:5020",default_api:"api-bwt.bcapps.ca:5080",default_ws_failover:"ws-bwt-failover.bcapps.ca:5020",default_api_failover:"api-bwt-failover.bcapps.ca:5080"},ACCOUNT_ALPHABET:"bpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2jcdeCg65rkm8oFqi1tuvAxyz",SEED_PREFIX:33,ACCOUNT_PREFIX:0,ACCOUNT_ZERO:"bbbbbbbbbbbbbbbbbbbbbhoLvTp",ACCOUNT_ONE:"bbbbbbbbbbbbbbbbbbbbBZjvri",fee:10},{code:"bvcadt",currency:"BVC",ACCOUNT_ALPHABET:"bpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2rcdeCg65jkm8oFqi1tuvAxyz"},{code:"seaaps",currency:"SEAA",ACCOUNT_ALPHABET:"dpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcjeCg65rkm8oFqi1tuvAxyz",SEED_PREFIX:33,ACCOUNT_PREFIX:0,fee:1e4}],c={account_root:{PasswordSpent:65536,RequireDestTag:131072,RequireAuth:262144,DisallowSWT:524288,DisableMaster:1048576},offer:{Passive:65536,Sell:131072},state:{LowReserve:65536,HighReserve:131072,LowAuth:262144,HighAuth:524288,LowNoSkywell:1048576,HighNoSkywell:2097152}},u={OfferCreate:{Passive:65536,ImmediateOrCancel:131072,FillOrKill:262144,Sell:524288}},l=["current","closed","validated"],d=0,h=[["TransactionType",0],["Flags",1],["SourceTag",1],["LastLedgerSequence",1],["Account",0],["Sequence",1],["Fee",0],["OperationLimit",1],["SigningPubKey",1],["TxnSignature",1]],f={AccountSet:[3,...h,["EmailHash",1],["WalletLocator",1],["WalletSize",1],["MessageKey",1],["Domain",1],["TransferRate",1]],TrustSet:[20,...h,["LimitAmount",1],["QualityIn",1],["QualityOut",1]],RelationSet:[21,...h,["Target",0],["RelationType",0],["LimitAmount",1]],RelationDel:[22,...h,["Target",0],["RelationType",0],["LimitAmount",1]],OfferCreate:[7,...h,["TakerPays",0],["TakerGets",0],["AppType",1],["Expiration",1]],OfferCancel:[8,...h,["OfferSequence",0]],SetRegularKey:[5,...h,["RegularKey",0]],Payment:[0,...h,["Destination",0],["Amount",0],["SendMax",1],["Paths",2],["InvoiceID",1],["DestinationTag",1]],Contract:[9,...h,["Expiration",0],["BondAmount",0],["StampEscrow",0],["JingtumEscrow",0],["CreateCode",1],["FundCode",1],["RemoveCode",1],["ExpireCode",1]],RemoveContract:[10,...h,["Target",0]],EnableFeature:[100,...h,["Feature",0]],SetFee:[101,...h,["Features",0],["BaseFee",0],["ReferenceFeeUnits",0],["ReserveBase",0],["ReserveIncrement",0]],ConfigContract:[30,...h,["Method",0],["Payload",1],["Destination",1],["Amount",1],["Contracttype",1],["ContractMethod",1],["Args",1]],AlethContract:[31,...h,["Method",0],["Contracttype",1],["ContractMethod",1],["Amount",1],["Payload",1],["Args",1],["Destination",1]],SetBlackList:[201,...h,["BlackListAccountID",0]],RemoveBlackList:[202,...h,["BlackListAccountID",0]],ManageIssuer:[203,...h,["IssuerAccountID",0]],Brokerage:[205,...h,["OfferFeeRateNum",0],["OfferFeeRateDen",0],["AppType",0],["Amount",0]],IssueSet:[206,...h,["TotalAmount",0],["IssuedAmount",1],["TotalUsers",1]],SignerListSet:[207,...h,["SignerQuorum",0],["SignerEntries",1]],TransferToken:[208,...h,["TokenID",0],["Destination",0],["Domain",1],["FundCode",1],["TokenInfos",1]],TokenIssue:[209,...h,["TokenSize",0],["FundCode",0],["Issuer",0],["AuthorizedAccount",1]],TokenDel:[210,...h,["TokenID",0]]},g=[["LedgerIndex",1],["LedgerEntryType",0],["Flags",0]],T={AccountRoot:[97,...g,["Sequence",0],["PreviousTxnLgrSeq",0],["TransferRate",1],["WalletSize",1],["OwnerCount",0],["EmailHash",1],["PreviousTxnID",0],["AccountTxnID",1],["WalletLocator",1],["Balance",0],["MessageKey",1],["Domain",1],["Account",0],["RegularKey",1]],Contract:[99,...g,["PreviousTxnLgrSeq",0],["Expiration",0],["BondAmount",0],["PreviousTxnID",0],["Balance",0],["FundCode",1],["RemoveCode",1],["ExpireCode",1],["CreateCode",1],["Account",0],["Owner",0],["Issuer",0]],DirectoryNode:[100,...g,["IndexNext",1],["IndexPrevious",1],["ExchangeRate",1],["RootIndex",0],["Owner",1],["TakerPaysCurrency",1],["TakerPaysIssuer",1],["TakerGetsCurrency",1],["TakerGetsIssuer",1],["Indexes",0]],EnabledFeatures:[102,...g,["Features",0]],FeeSettings:[115,...g,["ReferenceFeeUnits",0],["ReserveBase",0],["ReserveIncrement",0],["BaseFee",0],["LedgerIndex",1]],GeneratorMap:[103,...g,["Generator",0]],LedgerHashes:[104,...g,["LedgerEntryType",0],["Flags",0],["FirstLedgerSequence",1],["LastLedgerSequence",1],["LedgerIndex",1],["Hashes",0]],Nickname:[110,...g,["LedgerEntryType",0],["Flags",0],["LedgerIndex",1],["MinimumOffer",1],["Account",0]],Offer:[111,...g,["LedgerEntryType",0],["Flags",0],["Sequence",0],["PreviousTxnLgrSeq",0],["Expiration",1],["BookNode",0],["OwnerNode",0],["PreviousTxnID",0],["LedgerIndex",1],["BookDirectory",0],["TakerPays",0],["TakerGets",0],["Account",0]],SkywellState:[114,...g,["LedgerEntryType",0],["Flags",0],["PreviousTxnLgrSeq",0],["HighQualityIn",1],["HighQualityOut",1],["LowQualityIn",1],["LowQualityOut",1],["LowNode",1],["HighNode",1],["PreviousTxnID",0],["LedgerIndex",1],["Balance",0],["LowLimit",0],["HighLimit",0]]},m=[["TransactionIndex",0],["TransactionResult",0],["AffectedNodes",0]],p=[void 0,"Int16","Int32","Int64","Hash128","Hash256","Amount","VL","Account",void 0,void 0,void 0,void 0,void 0,"Object","Array","Int8","Hash160","PathSet","Vector256"],b={1:{1:"LedgerEntryType",2:"TransactionType",3:"SignerWeight"},2:{2:"Flags",3:"SourceTag",4:"Sequence",5:"PreviousTxnLgrSeq",6:"LedgerSequence",7:"CloseTime",8:"ParentCloseTime",9:"SigningTime",10:"Expiration",11:"TransferRate",12:"WalletSize",13:"OwnerCount",14:"DestinationTag",15:"Timestamp",16:"HighQualityIn",17:"HighQualityOut",18:"LowQualityIn",19:"LowQualityOut",20:"QualityIn",21:"QualityOut",22:"StampEscrow",23:"BondAmount",24:"LoadFee",25:"OfferSequence",26:"FirstLedgerSequence",27:"LastLedgerSequence",28:"TransactionIndex",29:"OperationLimit",30:"ReferenceFeeUnits",31:"ReserveBase",32:"ReserveIncrement",33:"SetFlag",34:"ClearFlag",35:"RelationType",36:"Method",37:"AppType",38:"SignerQuorum",39:"Contracttype"},3:{1:"IndexNext",2:"IndexPrevious",3:"BookNode",4:"OwnerNode",5:"BaseFee",6:"ExchangeRate",7:"LowNode",8:"HighNode",9:"OfferFeeRateNum",10:"OfferFeeRateDen",12:"TotalUsers",13:"TokenSize",14:"TokenIssued"},4:{1:"EmailHash"},5:{1:"LedgerHash",2:"ParentHash",3:"TransactionHash",4:"AccountHash",5:"PreviousTxnID",6:"LedgerIndex",7:"WalletLocator",8:"RootIndex",9:"AccountTxnID",16:"BookDirectory",17:"InvoiceID",18:"Nickname",19:"Amendment",20:"TicketID",21:"TokenID"},6:{1:"Amount",2:"Balance",3:"LimitAmount",4:"TakerPays",5:"TakerGets",6:"LowLimit",7:"HighLimit",8:"Fee",9:"SendMax",10:"TotalAmount",11:"IssuedAmount",16:"MinimumOffer",17:"JingtumEscrow",18:"DeliveredAmount"},7:{1:"PublicKey",2:"MessageKey",3:"SigningPubKey",4:"TxnSignature",5:"Generator",6:"Signature",7:"Domain",8:"FundCode",9:"RemoveCode",10:"ExpireCode",11:"CreateCode",12:"MemoType",13:"MemoData",14:"MemoFormat",15:"Payload",17:"ContractMethod",18:"Parameter",20:"MethodSignature",21:"InfoData",22:"InfoType"},8:{1:"Account",2:"Owner",3:"Destination",4:"Issuer",7:"Target",8:"RegularKey",9:"FeeAccountID",10:"BlackListAccountID",11:"IssuerAccountID",13:"Platform",14:"TokenOwner",15:"AuthorizedAccount"},14:{1:void 0,2:"TransactionMetaData",3:"CreatedNode",4:"DeletedNode",5:"ModifiedNode",6:"PreviousFields",7:"FinalFields",8:"NewFields",9:"TemplateEntry",10:"Memo",11:"Arg",12:"SignerEntry",13:"Signer",15:"TokenInfo"},15:{1:void 0,2:"SigningAccounts",3:"TxnSignatures",4:"Signatures",5:"Template",6:"Necessary",7:"Sufficient",8:"AffectedNodes",9:"Memos",10:"Args",11:"SignerEntries",12:"Signers",14:"TokenInfos"},16:{1:"CloseResolution",2:"TemplateEntryType",3:"TransactionResult",4:"ContractParamsType"},17:{1:"TakerPaysCurrency",2:"TakerPaysIssuer",3:"TakerGetsCurrency",4:"TakerGetsIssuer"},18:{1:"Paths"},19:{1:"Indexes",2:"Hashes",3:"Amendments"}},A={Flags:[2,2],LedgerEntryType:[1,1],TransactionType:[1,2],SignerWeight:[1,3],SourceTag:[2,3],Sequence:[2,4],PreviousTxnLgrSeq:[2,5],LedgerSequence:[2,6],CloseTime:[2,7],ParentCloseTime:[2,8],SigningTime:[2,9],Expiration:[2,10],TransferRate:[2,11],WalletSize:[2,12],OwnerCount:[2,13],DestinationTag:[2,14],Timestamp:[2,15],HighQualityIn:[2,16],HighQualityOut:[2,17],LowQualityIn:[2,18],LowQualityOut:[2,19],QualityIn:[2,20],QualityOut:[2,21],StampEscrow:[2,22],BondAmount:[2,23],LoadFee:[2,24],OfferSequence:[2,25],FirstLedgerSequence:[2,26],LastLedgerSequence:[2,27],TransactionIndex:[2,28],OperationLimit:[2,29],ReferenceFeeUnits:[2,30],ReserveBase:[2,31],ReserveIncrement:[2,32],SetFlag:[2,33],ClearFlag:[2,34],RelationType:[2,35],Method:[2,36],AppType:[2,37],SignerQuorum:[2,38],Contracttype:[2,39],IndexNext:[3,1],IndexPrevious:[3,2],BookNode:[3,3],OwnerNode:[3,4],BaseFee:[3,5],ExchangeRate:[3,6],LowNode:[3,7],HighNode:[3,8],OfferFeeRateNum:[3,9],OfferFeeRateDen:[3,10],TotalUsers:[3,12],TokenSize:[3,13],TokenIssued:[3,14],EmailHash:[4,1],LedgerHash:[5,1],ParentHash:[5,2],TransactionHash:[5,3],AccountHash:[5,4],PreviousTxnID:[5,5],LedgerIndex:[5,6],WalletLocator:[5,7],RootIndex:[5,8],AccountTxnID:[5,9],BookDirectory:[5,16],InvoiceID:[5,17],Nickname:[5,18],Amendment:[5,19],TicketID:[5,20],TokenID:[5,21],Amount:[6,1],Balance:[6,2],LimitAmount:[6,3],TakerPays:[6,4],TakerGets:[6,5],LowLimit:[6,6],HighLimit:[6,7],Fee:[6,8],SendMax:[6,9],TotalAmount:[6,10],IssuedAmount:[6,11],MinimumOffer:[6,16],JingtumEscrow:[6,17],DeliveredAmount:[6,18],PublicKey:[7,1],MessageKey:[7,2],SigningPubKey:[7,3],TxnSignature:[7,4],Generator:[7,5],Signature:[7,6],Domain:[7,7],FundCode:[7,8],RemoveCode:[7,9],ExpireCode:[7,10],CreateCode:[7,11],MemoType:[7,12],MemoData:[7,13],MemoFormat:[7,14],Payload:[7,15],ContractMethod:[7,17],Parameter:[7,18],MethodSignature:[7,20],InfoData:[7,21],InfoType:[7,22],Account:[8,1],Owner:[8,2],Destination:[8,3],Issuer:[8,4],Target:[8,7],RegularKey:[8,8],FeeAccountID:[8,9],BlackListAccountID:[8,10],IssuerAccountID:[8,11],Platform:[8,13],TokenOwner:[8,14],AuthorizedAccount:[8,15],undefined:[15,1],TransactionMetaData:[14,2],CreatedNode:[14,3],DeletedNode:[14,4],ModifiedNode:[14,5],PreviousFields:[14,6],FinalFields:[14,7],NewFields:[14,8],TemplateEntry:[14,9],Memo:[14,10],Arg:[14,11],SignerEntry:[14,12],Signer:[14,13],TokenInfo:[14,15],SigningAccounts:[15,2],TxnSignatures:[15,3],Signatures:[15,4],Template:[15,5],Necessary:[15,6],Sufficient:[15,7],AffectedNodes:[15,8],Memos:[15,9],Args:[15,10],SignerEntries:[15,11],Signers:[15,12],TokenInfos:[15,14],CloseResolution:[16,1],TemplateEntryType:[16,2],TransactionResult:[16,3],ContractParamsType:[16,4],TakerPaysCurrency:[17,1],TakerPaysIssuer:[17,2],TakerGetsCurrency:[17,3],TakerGetsIssuer:[17,4],Paths:[18,1],Indexes:[19,1],Hashes:[19,2],Amendments:[19,3]},y=3,S=6,k=40,C={currency_one:1,currency_xns:0,xns_precision:6,bi_5:5,bi_7:7,bi_10:10,bi_1e14:1e14,bi_1e16:1e16,bi_1e17:1e17,bi_1e32:1e32,bi_man_max_value:1e16,bi_man_min_value:1e15,bi_xns_max:9e18,bi_xns_min:-9e18,bi_xns_unit:1e6,cMinOffset:-96,cMaxOffset:80,max_value:"9999999999999999e80",min_value:"-1000000000000000e-96"},I=e=>Boolean(String(e).match(/^[0-9]+$/)),L=e=>Boolean(/^-?\d+(?:[.,]\d*?)?$/.test(e)&&!Number.isNaN(parseFloat(e))),E=e=>Boolean(String(e).match(/^[0-9A-Z]+$/i)),N=e=>"string"==typeof e&&Boolean(e&&e.length>=3&&e.length<=6),F=e=>E(e)&&40===String(e).length,w=e=>"string"==typeof e&&(N(e)||F(e)),D=e=>"string"==typeof e&&("freeze"===e||"autorize"===e),R=e=>{let t;switch(typeof e){case"number":switch(e){case 0:t="Payment";break;case 3:t="AccountSet";break;case 5:t="SetRegularKey";break;case 7:t="OfferCreate";break;case 8:t="OfferCancel";break;case 9:t="Contract";break;case 10:t="RemoveContract";break;case 20:t="TrustSet";break;case 21:t="RelationSet";break;case 22:t="RelationDel";break;case 30:t="ConfigContract";break;case 100:t="EnableFeature";break;case 101:t="SetFee";break;case 201:t="SetBlackList";break;case 202:t="RemoveBlackList";break;case 203:t="ManageIssuer";break;case 205:t="Brokerage";break;case 206:t="IssueSet";break;default:throw new Error("Invalid transaction type!")}break;case"string":switch(e){case"Payment":t=0;break;case"AccountSet":t=3;break;case"SetRegularKey":t=5;break;case"OfferCreate":t=7;break;case"OfferCancel":t=8;break;case"Contract":t=9;break;case"RemoveContract":t=10;break;case"TrustSet":t=20;break;case"RelationSet":t=21;break;case"RelationDel":t=22;break;case"ConfigContract":t=30;break;case"EnableFeature":t=100;break;case"SetFee":t=101;break;case"SetBlackList":t=201;break;case"RemoveBlackList":t=202;break;case"ManageIssuer":t=203;break;case"IssueSet":t=206;break;case"Brokerage":t=205;break;default:throw new Error("Invalid transaction type!")}break;default:throw new Error("Invalid input type for transaction type!")}return t},P=e=>{let t;switch(typeof e){case"number":switch(e){case 0:t="tesSUCCESS";break;case 100:t="tecCLAIM";break;case 101:t="tecPATH_PARTIAL";break;case 102:t="tecUNFUNDED_ADD";break;case 103:t="tecUNFUNDED_OFFER";break;case 104:t="tecUNFUNDED_PAYMENT";break;case 105:t="tecFAILED_PROCESSING";break;case 121:t="tecDIR_FULL";break;case 122:t="tecINSUF_RESERVE_LINE";break;case 141:t="tecINSUFFICIENT_RESERVE";break;default:throw new Error("Invalid transaction result!")}break;case"string":switch(e){case"tesSUCCESS":t=0;break;case"tecCLAIM":t=100;break;case"tecPATH_PARTIAL":t=101;break;case"tecUNFUNDED_ADD":t=102;break;case"tecUNFUNDED_OFFER":t=103;break;case"tecUNFUNDED_PAYMENT":t=104;break;case"tecFAILED_PROCESSING":t=105;break;case"tecDIR_FULL":t=121;break;case"tecINSUF_RESERVE_LINE":t=122;break;case"tecINSUFFICIENT_RESERVE":t=141;break;default:throw new Error("Invalid transaction result!")}break;default:throw new Error("Invalid input type for transaction result!")}return t},v=e=>{let t;switch(typeof e){case"number":switch(e){case 97:t="AccountRoot";break;case 99:t="Contract";break;case 100:t="DirectoryNode";break;case 102:t="EnabledFeatures";break;case 115:t="FeeSettings";break;case 103:t="GeneratorMap";break;case 104:t="LedgerHashes";break;case 110:t="Nickname";break;case 111:t="Offer";break;case 114:t="SkywellState";break;default:throw new Error("Invalid input type for ransaction result!")}break;case"string":switch(e){case"AccountRoot":t=97;break;case"Contract":t=99;break;case"DirectoryNode":t=100;break;case"EnabledFeatures":t=102;break;case"FeeSettings":t=115;break;case"GeneratorMap":t=103;break;case"LedgerHashes":t=104;break;case"Nickname":t=110;break;case"Offer":t=111;break;case"SkywellState":t=114;break;default:t=0}break;default:t="UndefinedLedgerEntry"}return t},j=e=>{if(e.length>1)return 0;const t=e.charCodeAt(0);return t>48&&t<58?t-48:t>64&&t<91?t-55:t>96&&t<123?t-87:0},x=e=>{let t;const n=[],r=e.replace(/\s|0x/g,"");for(t=0;t<r.length;t+=2)t+1===r.length?n.push(16*j(r.charAt(t))):n.push(16*j(r.charAt(t))+j(r.charAt(t+1)));return n},M=e=>e>=0&&e<10?e+48:e>=10&&e<16?e+55:void 0,O=(e,t)=>{let n=0;if(t>4)throw new Error("This function only supports up to four bytes.");for(let r=0;r<t;r++){n+=e.read(1)[0]<<8*(t-r-1)}return n>>>0},_=e=>"number"==typeof e&&isFinite(e),B=(e,t)=>{if(!_(e))throw new Error("Value is not a number "+t);if(e<0||e>=Math.pow(256,t))throw new Error("Value out of bounds");const n=[];for(let r=0;r<t;r++)n.unshift(e>>>8*r&255);return n},U=e=>{const t=unescape(encodeURIComponent(e));let n,r="";for(n=0;n<t.length;n++)r+=(" 00"+Number(t.charCodeAt(n)).toString(16)).substr(-2);return r.toUpperCase()},H=e=>{let t,n="";for(t=0;t<e.length;t+=2){const r="0x"+e.slice(t,t+2);n+=String.fromCharCode(parseInt(r,16))}return decodeURIComponent(escape(n))},q=e=>e.sort(function(e,t){const n=A[e],r=n[0],a=n[1],s=A[t],o=s[0],i=s[1];return r!==o?r-o:a-i}),G=e=>"string"==typeof e,Q=e=>e.map(e=>{const t=e.toString(16).toUpperCase();return t.length>1?t:"0"+t}).join(""),z=e=>G(e)&&/^[0-9A-F]{0,16}$/i.test(e),K=e=>G(e)&&/^[0-9A-F]{0,64}$/i.test(e),W=e=>G(e)&&/^[0-9A-F]{0,2048}$/i.test(e);function J(e,t=!1){e.Fee>=10&&(e.Fee=e.Fee/1e6,e.Amount&&!isNaN(e.Amount)&&(e.Amount=""+e.Amount/1e6),e.SendMax&&!isNaN(e.SendMax)&&(e.SendMax=Number(e.SendMax)/1e6),e.TakerPays&&!isNaN(e.TakerPays)&&(e.TakerPays=Number(e.TakerPays)/1e6),e.TakerGets&&!isNaN(e.TakerGets)&&(e.TakerGets=Number(e.TakerGets)/1e6)),t&&e.Fee<10&&(e.Fee=1e6*e.Fee,e.Amount&&!isNaN(e.Amount)&&(e.Amount=""+1e6*e.Amount),e.SendMax&&!isNaN(e.SendMax)&&(e.SendMax=1e6*Number(e.SendMax)),e.TakerPays&&!isNaN(e.TakerPays)&&(e.TakerPays=1e6*Number(e.TakerPays)),e.TakerGets&&!isNaN(e.TakerGets)&&(e.TakerGets=1e6*Number(e.TakerGets)))}function V(e,t=!1){if(e.Fee>=10&&e.Memos)for(const t of e.Memos){let e=t.Memo.MemoData,n=t.Memo.MemoFormat;if("json"===n)n=U(n),e=U("string"!=typeof e?JSON.stringify(e):e);else if("hex"===n)n=U(n),e.length%2>0&&(e=`${e}0`);else if(n){if(/g-z/i.test(n))throw new Error("should be in hexdecial format now")}else"string"!=typeof e?(e=U(JSON.stringify(e)),n=U("json")):e=U(e);t.Memo.MemoData=e,n&&(t.Memo.MemoFormat=n)}if(t&&e.Memos)for(const t of e.Memos){let e=t.Memo.MemoFormat;e?(e=H(e),t.Memo.MemoFormat=e,"hex"!==e&&(t.Memo.MemoData=H(t.Memo.MemoData))):t.Memo.MemoData=H(t.Memo.MemoData)}}function X(e){const t=i.filter(t=>t.code.toLowerCase()===e.toLowerCase()||t.currency.toUpperCase()===e.toUpperCase());return t.length>1&&console.log("!!!!!!!!!!more than one chains found, use first!!!!!!!!!!!!!"),t.length>0?t[0]:void 0}function Z(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Y(...e){const t=[];return e.forEach(e=>{if(void 0!==e.length)for(const n of e)t.push(n);else t.push(e)}),t}function $(e){const t=[];for(let n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t}function ee(e){const t=[];for(const n of e){const e=n<0?n+256:n;t.push((e>>>4).toString(16)),t.push((15&e).toString(16))}return t.join("").toUpperCase()}function te(e){const t=[];let n=0;for(e.length%2&&(t.push(String.fromCharCode(parseInt(e.substring(0,1),16))),n=1);n<e.length;n+=2)t.push(String.fromCharCode(parseInt(e.substring(n,n+2),16)));return t.join("")}function ne(e){let t="";for(const n of e){const e=n.charCodeAt(0);t+=e<16?"0"+e.toString(16):e.toString(16)}return t}function re(e){let t=ne(e);return t.length<64&&(t+=r.substr(t.length)),t}function ae(e){return e=e.toString(16),r.substr(0,64-e.length)+e}function se(e){return parseInt(e,16)}function oe(e){const t=typeof e;if(null!==e&&"object"===t||"function"===t){const t=Object.keys(e);if(0===t.length||0===t.size)return!0}return!e}function ie(e,t="Assertion failed"){if(!e)throw new Error(t)}function ce(e){const t=[];if(e)for(const n of e)t.push(te(n.Arg.Parameter));return t}function ue(e){for(const t of n)if(e.hasOwnProperty(t))return e[t];return null}function le(e){const t={};return n.forEach(n=>{e[n]&&(t.diffType=n)}),t.diffType?(e=e[t.diffType],t.entryType=e.LedgerEntryType,t.ledgerIndex=e.LedgerIndex,t.fields=Object.assign({},e.PreviousFields,e.NewFields,e.FinalFields),t.fieldsPrev=e.PreviousFields||{},t.fieldsNew=e.NewFields||{},t.fieldsFinal=e.FinalFields||{},t.PreviousTxnID=e.PreviousTxnID,t):{}}function de(e){const t={};t[e.transaction.Account]=1,e.transaction.Destination&&(t[e.transaction.Destination]=1),e.transaction.LimitAmount&&(t[e.transaction.LimitAmount.issuer]=1);const n=e.meta;return n&&"tesSUCCESS"===n.TransactionResult&&n.AffectedNodes.forEach(e=>{const n=le(e);"AccountRoot"===n.entryType&&n.fields.Account&&(t[n.fields.Account]=1),"SkywellState"===n.entryType&&(n.fields.HighLimit.issuer&&(t[n.fields.HighLimit.issuer]=1),n.fields.LowLimit.issuer&&(t[n.fields.LowLimit.issuer]=1)),"Offer"===n.entryType&&n.fields.Account&&(t[n.fields.Account]=1)}),Object.keys(t)}function he(e,t){try{const n=e.filter(e=>e.name===t).map(e=>e.outputs.map(e=>e.type)).map(e=>e);return n?n[0]:[]}catch(e){return[]}}function fe(t){return!(!t||"string"!=typeof t||""===t)&&e.test(t)}function ge(e){return!(!e||"string"!=typeof e||""===e)&&t.test(e)}function Te(e,t){if(!(e.Account===t||e.Target===t||e.Destination&&e.Destination===t||e.LimitAmount&&e.LimitAmount.issuer===t||e.BlackListAccountID===t))return"offereffect";switch(e.TransactionType){case"Payment":return e.Account===t?e.Destination===t?"convert":"sent":"received";case"OfferCreate":return"offernew";case"OfferCancel":return"offercancel";case"TrustSet":return e.Account===t?"trusting":"trusted";case"RelationDel":case"AccountSet":case"SetRegularKey":case"RelationSet":case"SignSet":case"Operation":case"ConfigContract":case"AlethContract":case"Brokerage":case"SignerListSet":case"SetBlackList":case"RemoveBlackList":case"TokenIssue":case"TransferToken":case"TokenDel":return e.TransactionType.toLowerCase();default:return"unknown"}}function me(e,t){return{value:String(-Number(e.value)),currency:e.currency,issuer:t}}function pe(e){return!!e&&Number(e.value)<1e-12}function be(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function Ae(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}function ye(e,t){return e<<t|e>>>32-t}function Se(e,t,n){return e+t+n>>>0}function ke(e,t,n,r){return e+t+n+r>>>0}class Ce{constructor(e=512,t=256,n=192,r=64){this.pending=null,this.pendingTotal=0,this.endian="big",this.blockSize=e,this.outSize=t,this.hmacStrength=n,this.padLength=r/8,this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}update(e,t=""){if(e=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];const n=[];if("string"==typeof e)if(t){if("hex"===t){(e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e);for(let t=0;t<e.length;t+=2)n.push(parseInt(e[t]+e[t+1],16))}}else{let t=0;for(let r=0;r<e.length;r++){let a=e.charCodeAt(r);a<128?n[t++]=a:a<2048?(n[t++]=a>>6|192,n[t++]=63&a|128):be(e,r)?(a=65536+((1023&a)<<10)+(1023&e.charCodeAt(++r)),n[t++]=a>>18|240,n[t++]=a>>12&63|128,n[t++]=a>>6&63|128,n[t++]=63&a|128):(n[t++]=a>>12|224,n[t++]=a>>6&63|128,n[t++]=63&a|128)}}else for(let t=0;t<e.length;t++)n[t]=0|e[t];return n}(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){const t=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-t,e.length),0===this.pending.length&&(this.pending=null),e=function(e,t,n,r){let a=n-t;ie(a%4==0);let s=new Array(a/4);for(let n=0,a=t;n<s.length;n++,a+=4){let t;t="big"===r?e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3]:e[a+3]<<24|e[a+2]<<16|e[a+1]<<8|e[a],s[n]=t>>>0}return s}(e,0,e.length-t,this.endian);for(let t=0;t<e.length;t+=this._delta32)this._update(e,t)}return this}digest(e=""){return this.update(this.pad()),ie(null===this.pending),this._digest(e)}pad(){var e=this.pendingTotal,t=this._delta8,n=t-(e+this.padLength)%t,r=new Array(n+this.padLength);r[0]=128;for(var a=1;a<n;a++)r[a]=0;if(e<<=3,"big"===this.endian){for(var s=8;s<this.padLength;s++)r[a++]=0;r[a++]=0,r[a++]=0,r[a++]=0,r[a++]=0,r[a++]=e>>>24&255,r[a++]=e>>>16&255,r[a++]=e>>>8&255,r[a++]=255&e}else for(r[a++]=255&e,r[a++]=e>>>8&255,r[a++]=e>>>16&255,r[a++]=e>>>24&255,r[a++]=0,r[a++]=0,r[a++]=0,r[a++]=0,s=8;s<this.padLength;s++)r[a++]=0;return r}}function Ie(e){return e^ye(e,9)^ye(e,17)}function Le(e){return e^ye(e,15)^ye(e,23)}function Ee(e,t,n,r){return r>=0&&r<=15?e^t^n:e&t|e&n|t&n}function Ne(e,t,n,r){return r>=0&&r<=15?e^t^n:e&t|~e&n}function Fe(e){return e>=0&&e<=15?2043430169:2055708042}class we extends Ce{constructor(){super(512,256,192,64),this.h=[1937774191,1226093241,388252375,3666478592,2842636476,372324522,3817729613,2969243214],this.W=new Array(68),this.M=new Array(64)}_update(e,t){var n=this.W,r=this.M;for(let r=0;r<16;r++)n[r]=e[t+r];for(let e=16;e<68;e++)n[e]=Le(n[e-16]^n[e-9]^ye(n[e-3],15))^ye(n[e-13],7)^n[e-6];for(let e=0;e<64;e++)r[e]=n[e]^n[e+4];let a,s,o,i,c=this.h[0],u=this.h[1],l=this.h[2],d=this.h[3],h=this.h[4],f=this.h[5],g=this.h[6],T=this.h[7];for(let e=0;e<64;e+=1)a=ye(Se(ye(c,12),h,ye(Fe(e),e)),7),s=a^ye(c,12),o=ke(Ee(c,u,l,e),d,s,r[e]),i=ke(Ne(h,f,g,e),T,a,n[e]),d=l,l=ye(u,9),u=c,c=o,T=g,g=ye(f,19),f=h,h=Ie(i);this.h[0]=this.h[0]^c,this.h[1]=this.h[1]^u,this.h[2]=this.h[2]^l,this.h[3]=this.h[3]^d,this.h[4]=this.h[4]^h,this.h[5]=this.h[5]^f,this.h[6]=this.h[6]^g,this.h[7]=this.h[7]^T}_digest(e){return this.h[0]=this.h[0]>>>0,this.h[1]=this.h[1]>>>0,this.h[2]=this.h[2]>>>0,this.h[3]=this.h[3]>>>0,this.h[4]=this.h[4]>>>0,this.h[5]=this.h[5]>>>0,this.h[6]=this.h[6]>>>0,this.h[7]=this.h[7]>>>0,"hex"===e?function(e){let t="";for(let n=0;n<e.length;n++)t+=Ae(e[n].toString(16));return t}(this.h):function(e){let t=new Array(4*e.length);for(let n=0,r=0;n<e.length;n++,r+=4){let a=e[n];t[r]=a>>>24,t[r+1]=a>>>16&255,t[r+2]=a>>>8&255,t[r+3]=255&a}return t}(this.h)}}export{s as ACCOUNT_ID_ONE,a as ACCOUNT_ID_ZERO,C as AMOUNT_CONSTS,i as CHAINS,e as CURRENCY_RE,b as FIELDS_MAP,u as FLAGS,o as HASHPREFIX,t as HASH_RE,A as INVERSE_FIELDS_MAP,T as LEDGER_ENTRY_TYPES,c as LEDGER_FLAGS,l as LEDGER_STATES,S as MAX_CURRENCY_LEN,m as METADATA,y as MIN_CURRENCY_LEN,d as REQUIRED,we as SM3,f as TRANSACTION_TYPES,k as TUM_NAME_LEN,p as TYPES_MAP,r as ZERO,de as affectedAccounts,I as allNumeric,Q as convertByteArrayToHex,H as convertHexToString,B as convertIntegerToByteArray,U as convertStringToHex,ce as formatArgs,ie as funcAssert,ee as funcBytesToHex,Y as funcConcatArgs,X as funcGetChain,se as funcHex2Number,$ as funcHexToBytes,te as funcHexToString,oe as funcIsEmpty,ae as funcNumber2Hex,Z as funcSeqEqual,re as funcString2Hex,ne as funcStringToHex,ue as getTypeNode,he as getTypes,M as get_char_from_num,j as get_dec_from_hexchar,v as get_ledger_entry_type,P as get_transaction_result,R as get_transaction_type,x as hex_str_to_byte_array,pe as isAmountZero,N as isCurrency,F as isCustomTum,L as isFloat,K as isHexHASH256String,z as isHexInt64String,W as isHexMemoString,E as isLetterNumer,_ as isNumber,D as isRelation,G as isString,w as isTumCode,fe as isValidCurrency,ge as isValidHash,V as normalize_memo,J as normalize_swt,le as processAffectNode,O as readAndSum,me as reverseAmount,q as sort_fields,Te as txnType};
//# sourceMappingURL=index.js.map