swtc-chains
Version:
swtc chain information
2 lines (1 loc) • 17.8 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e="0000000000000000000000000000000000000000000000000000000000000000",t=[{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.swtclib.ca:5020",default_api:"api.swtclib.ca:5080",default_ws_failover:"ws-failover.swtclib.ca:5020",default_api_failover:"api-failover.swtclib.ca:5080"},ACCOUNT_ALPHABET:"jpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65rkm8oFqi1tuvAxyz",SEED_PREFIX:33,ACCOUNT_PREFIX:0,ACCOUNT_ZERO:"jjjjjjjjjjjjjjjjjjjjjhoLvTp",ACCOUNT_ONE:"jjjjjjjjjjjjjjjjjjjjBZbvri",fee:1e4},{code:"bizain",currency:"BWT",issuer:"bf42S78serP2BeSx7HGtwQR2QASYaHVqyb",XLIB:{default_ws:"ws-bwt.swtclib.ca:5020",default_api:"api-bwt.swtclib.ca:5080",default_ws_failover:"ws-bwt-failover.swtclib.ca:5020",default_api_failover:"api-bwt-failover.swtclib.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"}],r=[["TransactionType",0],["Flags",1],["SourceTag",1],["LastLedgerSequence",1],["Account",0],["Sequence",1],["Fee",0],["OperationLimit",1],["SigningPubKey",1],["TxnSignature",1]],a={AccountSet:[3,...r,["EmailHash",1],["WalletLocator",1],["WalletSize",1],["MessageKey",1],["Domain",1],["TransferRate",1]],TrustSet:[20,...r,["LimitAmount",1],["QualityIn",1],["QualityOut",1]],RelationSet:[21,...r,["Target",0],["RelationType",0],["LimitAmount",1]],RelationDel:[22,...r,["Target",0],["RelationType",0],["LimitAmount",1]],OfferCreate:[7,...r,["TakerPays",0],["TakerGets",0],["AppType",1],["Expiration",1]],OfferCancel:[8,...r,["OfferSequence",0]],SetRegularKey:[5,...r,["RegularKey",0]],Payment:[0,...r,["Destination",0],["Amount",0],["SendMax",1],["Paths",2],["InvoiceID",1],["DestinationTag",1]],Contract:[9,...r,["Expiration",0],["BondAmount",0],["StampEscrow",0],["JingtumEscrow",0],["CreateCode",1],["FundCode",1],["RemoveCode",1],["ExpireCode",1]],RemoveContract:[10,...r,["Target",0]],EnableFeature:[100,...r,["Feature",0]],SetFee:[101,...r,["Features",0],["BaseFee",0],["ReferenceFeeUnits",0],["ReserveBase",0],["ReserveIncrement",0]],ConfigContract:[30,...r,["Method",0],["Payload",1],["Destination",1],["Amount",1],["Contracttype",1],["ContractMethod",1],["Args",1]],AlethContract:[31,...r,["Method",0],["Contracttype",1],["ContractMethod",1],["Amount",1],["Payload",1],["Args",1],["Destination",1]],Brokerage:[205,...r,["OfferFeeRateNum",0],["OfferFeeRateDen",0],["AppType",0],["Amount",0]],SignerListSet:[207,...r,["SignerQuorum",0],["SignerEntries",1]]},n=[["LedgerIndex",1],["LedgerEntryType",0],["Flags",0]],o={AccountRoot:[97,...n,["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,...n,["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,...n,["IndexNext",1],["IndexPrevious",1],["ExchangeRate",1],["RootIndex",0],["Owner",1],["TakerPaysCurrency",1],["TakerPaysIssuer",1],["TakerGetsCurrency",1],["TakerGetsIssuer",1],["Indexes",0]],EnabledFeatures:[102,...n,["Features",0]],FeeSettings:[115,...n,["ReferenceFeeUnits",0],["ReserveBase",0],["ReserveIncrement",0],["BaseFee",0],["LedgerIndex",1]],GeneratorMap:[103,...n,["Generator",0]],LedgerHashes:[104,...n,["LedgerEntryType",0],["Flags",0],["FirstLedgerSequence",1],["LastLedgerSequence",1],["LedgerIndex",1],["Hashes",0]],Nickname:[110,...n,["LedgerEntryType",0],["Flags",0],["LedgerIndex",1],["MinimumOffer",1],["Account",0]],Offer:[111,...n,["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,...n,["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]]},s=[["TransactionIndex",0],["TransactionResult",0],["AffectedNodes",0]],i={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],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],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],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],Account:[8,1],Owner:[8,2],Destination:[8,3],Issuer:[8,4],Target:[8,7],RegularKey:[8,8],FeeAccountID:[8,9],Platform:[8,13],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],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],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]},c=e=>Boolean(String(e).match(/^[0-9A-Z]+$/i)),u=e=>"string"==typeof e&&Boolean(e&&e.length>=3&&e.length<=6),l=e=>c(e)&&40===String(e).length,d=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},g=e=>"number"==typeof e&&isFinite(e),p=e=>"string"==typeof e;function b(e){let t="";for(const r of e){const e=r.charCodeAt(0);t+=e<16?"0"+e.toString(16):e.toString(16)}return t}exports.AMOUNT_CONSTS={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"},exports.CHAINS=t,exports.FIELDS_MAP={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"},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"},6:{1:"Amount",2:"Balance",3:"LimitAmount",4:"TakerPays",5:"TakerGets",6:"LowLimit",7:"HighLimit",8:"Fee",9:"SendMax",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"},8:{1:"Account",2:"Owner",3:"Destination",4:"Issuer",7:"Target",8:"RegularKey",9:"FeeAccountID",13:"Platform"},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:{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"},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"}},exports.FLAGS={OfferCreate:{Passive:65536,ImmediateOrCancel:131072,FillOrKill:262144,Sell:524288}},exports.INVERSE_FIELDS_MAP=i,exports.LEDGER_ENTRY_TYPES=o,exports.LEDGER_FLAGS={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}},exports.MAX_CURRENCY_LEN=6,exports.METADATA=s,exports.MIN_CURRENCY_LEN=3,exports.REQUIRED=0,exports.TRANSACTION_TYPES=a,exports.TUM_NAME_LEN=40,exports.TYPES_MAP=[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"],exports.ZERO=e,exports.allNumeric=e=>Boolean(String(e).match(/^[0-9]+$/)),exports.convertByteArrayToHex=e=>e.map(e=>{const t=e.toString(16).toUpperCase();return t.length>1?t:"0"+t}).join(""),exports.convertHexToString=e=>{let t,r="";for(t=0;t<e.length;t+=2){const a="0x"+e.slice(t,t+2);r+=String.fromCharCode(parseInt(a,16))}return decodeURIComponent(escape(r))},exports.convertIntegerToByteArray=(e,t)=>{if(!g(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 r=[];for(let a=0;a<t;a++)r.unshift(e>>>8*a&255);return r},exports.convertStringToHex=e=>{const t=unescape(encodeURIComponent(e));let r,a="";for(r=0;r<t.length;r++)a+=(" 00"+Number(t.charCodeAt(r)).toString(16)).substr(-2);return a.toUpperCase()},exports.funcBytesToHex=function(e){const t=[];for(const r of e){const e=r<0?r+256:r;t.push((e>>>4).toString(16)),t.push((15&e).toString(16))}return t.join("").toUpperCase()},exports.funcConcatArgs=function(...e){const t=[];return e.forEach(e=>{if(void 0!==e.length)for(const r of e)t.push(r);else t.push(e)}),t},exports.funcGetChain=function(e){const r=t.filter(t=>t.code.toLowerCase()===e.toLowerCase()||t.currency.toUpperCase()===e.toUpperCase());return 1===r.length?r[0]:void 0},exports.funcHex2Number=function(e){return parseInt(e,16)},exports.funcHexToBytes=function(e){const t=[];for(let r=0;r<e.length;r+=2)t.push(parseInt(e.substr(r,2),16));return t},exports.funcHexToString=function(e){const t=[];let r=0;for(e.length%2&&(t.push(String.fromCharCode(parseInt(e.substring(0,1),16))),r=1);r<e.length;r+=2)t.push(String.fromCharCode(parseInt(e.substring(r,r+2),16)));return t.join("")},exports.funcIsEmpty=function(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},exports.funcNumber2Hex=function(t){return t=t.toString(16),e.substr(0,64-t.length)+t},exports.funcSeqEqual=function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0},exports.funcString2Hex=function(t){let r=b(t);return r.length<64&&(r+=e.substr(r.length)),r},exports.funcStringToHex=b,exports.get_char_from_num=e=>e>=0&&e<10?e+48:e>=10&&e<16?e+55:void 0,exports.get_dec_from_hexchar=d,exports.get_ledger_entry_type=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},exports.get_transaction_result=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},exports.get_transaction_type=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 205:t="Brokerage";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"Brokerage":t=205;break;default:throw new Error("Invalid transaction type!")}break;default:throw new Error("Invalid input type for transaction type!")}return t},exports.hex_str_to_byte_array=e=>{let t;const r=[],a=e.replace(/\s|0x/g,"");for(t=0;t<a.length;t+=2)t+1===a.length?r.push(16*d(a.charAt(t))):r.push(16*d(a.charAt(t))+d(a.charAt(t+1)));return r},exports.isCurrency=u,exports.isCustomTum=l,exports.isFloat=e=>Boolean(/^-?\d+(?:[.,]\d*?)?$/.test(e)&&!Number.isNaN(parseFloat(e))),exports.isHexHASH256String=e=>p(e)&&/^[0-9A-F]{0,64}$/i.test(e),exports.isHexInt64String=e=>p(e)&&/^[0-9A-F]{0,16}$/i.test(e),exports.isLetterNumer=c,exports.isNumber=g,exports.isRelation=e=>"string"==typeof e&&("freeze"===e||"autorize"===e),exports.isString=p,exports.isTumCode=e=>"string"==typeof e&&(u(e)||l(e)),exports.readAndSum=(e,t)=>{let r=0;if(t>4)throw new Error("This function only supports up to four bytes.");for(let a=0;a<t;a++){r+=e.read(1)[0]<<8*(t-a-1)}return r>>>0},exports.sort_fields=e=>e.sort((function(e,t){const r=i[e],a=r[0],n=r[1],o=i[t],s=o[0],c=o[1];return a!==s?a-s:n-c}));