@swtc/common
Version:
swtc chain information
3 lines (2 loc) • 28.1 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=/^([a-zA-Z0-9]{3,6}|[A-F0-9]{40})$/,t=/^[A-F0-9]{64}$/,r=["CreatedNode","ModifiedNode","DeletedNode"],n="0000000000000000000000000000000000000000000000000000000000000000",a=n.substr(0,40),s=n.substr(0,39)+"1",o=[{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}],i=[["TransactionType",0],["Flags",1],["SourceTag",1],["LastLedgerSequence",1],["Account",0],["Sequence",1],["Fee",0],["OperationLimit",1],["SigningPubKey",1],["TxnSignature",1]],c={AccountSet:[3,...i,["EmailHash",1],["WalletLocator",1],["WalletSize",1],["MessageKey",1],["Domain",1],["TransferRate",1]],TrustSet:[20,...i,["LimitAmount",1],["QualityIn",1],["QualityOut",1]],RelationSet:[21,...i,["Target",0],["RelationType",0],["LimitAmount",1]],RelationDel:[22,...i,["Target",0],["RelationType",0],["LimitAmount",1]],OfferCreate:[7,...i,["TakerPays",0],["TakerGets",0],["AppType",1],["Expiration",1]],OfferCancel:[8,...i,["OfferSequence",0]],SetRegularKey:[5,...i,["RegularKey",0]],Payment:[0,...i,["Destination",0],["Amount",0],["SendMax",1],["Paths",2],["InvoiceID",1],["DestinationTag",1]],Contract:[9,...i,["Expiration",0],["BondAmount",0],["StampEscrow",0],["JingtumEscrow",0],["CreateCode",1],["FundCode",1],["RemoveCode",1],["ExpireCode",1]],RemoveContract:[10,...i,["Target",0]],EnableFeature:[100,...i,["Feature",0]],SetFee:[101,...i,["Features",0],["BaseFee",0],["ReferenceFeeUnits",0],["ReserveBase",0],["ReserveIncrement",0]],ConfigContract:[30,...i,["Method",0],["Payload",1],["Destination",1],["Amount",1],["Contracttype",1],["ContractMethod",1],["Args",1]],AlethContract:[31,...i,["Method",0],["Contracttype",1],["ContractMethod",1],["Amount",1],["Payload",1],["Args",1],["Destination",1]],SetBlackList:[201,...i,["BlackListAccountID",0]],RemoveBlackList:[202,...i,["BlackListAccountID",0]],ManageIssuer:[203,...i,["IssuerAccountID",0]],Brokerage:[205,...i,["OfferFeeRateNum",0],["OfferFeeRateDen",0],["AppType",0],["Amount",0]],IssueSet:[206,...i,["TotalAmount",0],["IssuedAmount",1],["TotalUsers",1]],SignerListSet:[207,...i,["SignerQuorum",0],["SignerEntries",1]],TransferToken:[208,...i,["TokenID",0],["Destination",0],["Domain",1],["FundCode",1],["TokenInfos",1]],TokenIssue:[209,...i,["TokenSize",0],["FundCode",0],["Issuer",0],["AuthorizedAccount",1]],TokenDel:[210,...i,["TokenID",0]]},u=[["LedgerIndex",1],["LedgerEntryType",0],["Flags",0]],l={AccountRoot:[97,...u,["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,...u,["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,...u,["IndexNext",1],["IndexPrevious",1],["ExchangeRate",1],["RootIndex",0],["Owner",1],["TakerPaysCurrency",1],["TakerPaysIssuer",1],["TakerGetsCurrency",1],["TakerGetsIssuer",1],["Indexes",0]],EnabledFeatures:[102,...u,["Features",0]],FeeSettings:[115,...u,["ReferenceFeeUnits",0],["ReserveBase",0],["ReserveIncrement",0],["BaseFee",0],["LedgerIndex",1]],GeneratorMap:[103,...u,["Generator",0]],LedgerHashes:[104,...u,["LedgerEntryType",0],["Flags",0],["FirstLedgerSequence",1],["LastLedgerSequence",1],["LedgerIndex",1],["Hashes",0]],Nickname:[110,...u,["LedgerEntryType",0],["Flags",0],["LedgerIndex",1],["MinimumOffer",1],["Account",0]],Offer:[111,...u,["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,...u,["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]]},d=[["TransactionIndex",0],["TransactionResult",0],["AffectedNodes",0]],h={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]},f=e=>Boolean(String(e).match(/^[0-9A-Z]+$/i)),g=e=>"string"==typeof e&&Boolean(e&&e.length>=3&&e.length<=6),p=e=>f(e)&&40===String(e).length,T=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},m=e=>"number"==typeof e&&isFinite(e),A=e=>{const t=unescape(encodeURIComponent(e));let r,n="";for(r=0;r<t.length;r++)n+=(" 00"+Number(t.charCodeAt(r)).toString(16)).substr(-2);return n.toUpperCase()},S=e=>{let t,r="";for(t=0;t<e.length;t+=2){const n="0x"+e.slice(t,t+2);r+=String.fromCharCode(parseInt(n,16))}return decodeURIComponent(escape(r))},y=e=>"string"==typeof e;function b(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("")}function C(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}function k(e,t="Assertion failed"){if(!e)throw new Error(t)}function x(e){const t={};return r.forEach(r=>{e[r]&&(t.diffType=r)}),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 E(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function I(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function L(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 N(e,t){return e<<t|e>>>32-t}function F(e,t,r){return e+t+r>>>0}function R(e,t,r,n){return e+t+r+n>>>0}function _(e){return e^N(e,9)^N(e,17)}function D(e,t,r,n){return n>=0&&n<=15?e^t^r:e&t|e&r|t&r}function w(e,t,r,n){return n>=0&&n<=15?e^t^r:e&t|~e&r}function P(e){return e>=0&&e<=15?2043430169:2055708042}exports.ACCOUNT_ID_ONE=s,exports.ACCOUNT_ID_ZERO=a,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=o,exports.CURRENCY_RE=e,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",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"}},exports.FLAGS={OfferCreate:{Passive:65536,ImmediateOrCancel:131072,FillOrKill:262144,Sell:524288}},exports.HASHPREFIX={transactionID:1415073280,transaction:1397638144,accountStateEntry:1296846336,innerNode:1296649728,ledgerHeader:1280791040,transactionSig:1398036480,transactionMultiSig:1397576704,validation:1447119872,proposal:1347571712,paymentChannelClaim:1129073920},exports.HASH_RE=t,exports.INVERSE_FIELDS_MAP=h,exports.LEDGER_ENTRY_TYPES=l,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.LEDGER_STATES=["current","closed","validated"],exports.MAX_CURRENCY_LEN=6,exports.METADATA=d,exports.MIN_CURRENCY_LEN=3,exports.REQUIRED=0,exports.SM3=class extends class{constructor(e=512,t=256,r=192,n=64){this.pending=null,this.pendingTotal=0,this.endian="big",this.blockSize=e,this.outSize=t,this.hmacStrength=r,this.padLength=n/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 r=[];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)r.push(parseInt(e[t]+e[t+1],16))}}else{let t=0;for(let n=0;n<e.length;n++){let a=e.charCodeAt(n);a<128?r[t++]=a:a<2048?(r[t++]=a>>6|192,r[t++]=63&a|128):E(e,n)?(a=65536+((1023&a)<<10)+(1023&e.charCodeAt(++n)),r[t++]=a>>18|240,r[t++]=a>>12&63|128,r[t++]=a>>6&63|128,r[t++]=63&a|128):(r[t++]=a>>12|224,r[t++]=a>>6&63|128,r[t++]=63&a|128)}}else for(let t=0;t<e.length;t++)r[t]=0|e[t];return r}(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,r,n){let a=r-t;k(a%4==0);let s=new Array(a/4);for(let r=0,a=t;r<s.length;r++,a+=4){let t;t="big"===n?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[r]=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()),k(null===this.pending),this._digest(e)}pad(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,n=new Array(r+this.padLength);n[0]=128;for(var a=1;a<r;a++)n[a]=0;if(e<<=3,"big"===this.endian){for(var s=8;s<this.padLength;s++)n[a++]=0;n[a++]=0,n[a++]=0,n[a++]=0,n[a++]=0,n[a++]=e>>>24&255,n[a++]=e>>>16&255,n[a++]=e>>>8&255,n[a++]=255&e}else for(n[a++]=255&e,n[a++]=e>>>8&255,n[a++]=e>>>16&255,n[a++]=e>>>24&255,n[a++]=0,n[a++]=0,n[a++]=0,n[a++]=0,s=8;s<this.padLength;s++)n[a++]=0;return n}}{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 r,n=this.W,a=this.M;for(let r=0;r<16;r++)n[r]=e[t+r];for(let e=16;e<68;e++)n[e]=(r=n[e-16]^n[e-9]^N(n[e-3],15))^N(r,15)^N(r,23)^N(n[e-13],7)^n[e-6];for(let e=0;e<64;e++)a[e]=n[e]^n[e+4];let s,o,i,c,u=this.h[0],l=this.h[1],d=this.h[2],h=this.h[3],f=this.h[4],g=this.h[5],p=this.h[6],T=this.h[7];for(let e=0;e<64;e+=1)s=N(F(N(u,12),f,N(P(e),e)),7),o=s^N(u,12),i=R(D(u,l,d,e),h,o,a[e]),c=R(w(f,g,p,e),T,s,n[e]),h=d,d=N(l,9),l=u,u=i,T=p,p=N(g,19),g=f,f=_(c);this.h[0]=this.h[0]^u,this.h[1]=this.h[1]^l,this.h[2]=this.h[2]^d,this.h[3]=this.h[3]^h,this.h[4]=this.h[4]^f,this.h[5]=this.h[5]^g,this.h[6]=this.h[6]^p,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,t){let r="";for(let n=0;n<e.length;n++){let a=e[n];"little"===t&&(a=I(a)),r+=L(a.toString(16))}return r}(this.h,"big"):function(e,t){let r=new Array(4*e.length);for(let n=0,a=0;n<e.length;n++,a+=4){let s=e[n];"big"===t?(r[a]=s>>>24,r[a+1]=s>>>16&255,r[a+2]=s>>>8&255,r[a+3]=255&s):(r[a+3]=s>>>24,r[a+2]=s>>>16&255,r[a+1]=s>>>8&255,r[a]=255&s)}return r}(this.h,"big")}},exports.TRANSACTION_TYPES=c,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=n,exports.affectedAccounts=function(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 r=e.meta;return r&&"tesSUCCESS"===r.TransactionResult&&r.AffectedNodes.forEach(e=>{const r=x(e);"AccountRoot"===r.entryType&&r.fields.Account&&(t[r.fields.Account]=1),"SkywellState"===r.entryType&&(r.fields.HighLimit.issuer&&(t[r.fields.HighLimit.issuer]=1),r.fields.LowLimit.issuer&&(t[r.fields.LowLimit.issuer]=1)),"Offer"===r.entryType&&r.fields.Account&&(t[r.fields.Account]=1)}),Object.keys(t)},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=S,exports.convertIntegerToByteArray=(e,t)=>{if(!m(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 n=0;n<t;n++)r.unshift(e>>>8*n&255);return r},exports.convertStringToHex=A,exports.formatArgs=function(e){const t=[];if(e)for(const r of e)t.push(b(r.Arg.Parameter));return t},exports.funcAssert=k,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 t=o.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},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=b,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(e){return e=e.toString(16),n.substr(0,64-e.length)+e},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(e){let t=C(e);return t.length<64&&(t+=n.substr(t.length)),t},exports.funcStringToHex=C,exports.getTypeNode=function(e){for(const t of r)if(e.hasOwnProperty(t))return e[t];return null},exports.getTypes=function(e,t){try{const r=e.filter(e=>e.name===t).map(e=>e.outputs.map(e=>e.type)).map(e=>e);return r?r[0]:[]}catch(e){return[]}},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=T,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 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},exports.hex_str_to_byte_array=e=>{let t;const r=[],n=e.replace(/\s|0x/g,"");for(t=0;t<n.length;t+=2)t+1===n.length?r.push(16*T(n.charAt(t))):r.push(16*T(n.charAt(t))+T(n.charAt(t+1)));return r},exports.isAmountZero=function(e){return!!e&&Number(e.value)<1e-12},exports.isCurrency=g,exports.isCustomTum=p,exports.isFloat=e=>Boolean(/^-?\d+(?:[.,]\d*?)?$/.test(e)&&!Number.isNaN(parseFloat(e))),exports.isHexHASH256String=e=>y(e)&&/^[0-9A-F]{0,64}$/i.test(e),exports.isHexInt64String=e=>y(e)&&/^[0-9A-F]{0,16}$/i.test(e),exports.isHexMemoString=e=>y(e)&&/^[0-9A-F]{0,2048}$/i.test(e),exports.isLetterNumer=f,exports.isNumber=m,exports.isRelation=e=>"string"==typeof e&&("freeze"===e||"autorize"===e),exports.isString=y,exports.isTumCode=e=>"string"==typeof e&&(g(e)||p(e)),exports.isValidCurrency=function(t){return!(!t||"string"!=typeof t||""===t)&&e.test(t)},exports.isValidHash=function(e){return!(!e||"string"!=typeof e||""===e)&&t.test(e)},exports.normalize_memo=function(e,t=!1){if(e.Fee>=10&&e.Memos)for(const t of e.Memos){let e=t.Memo.MemoData,r=t.Memo.MemoFormat;if("json"===r)r=A(r),e=A("string"!=typeof e?JSON.stringify(e):e);else if("hex"===r)r=A(r),e.length%2>0&&(e+="0");else if(r){if(/g-z/i.test(r))throw new Error("should be in hexdecial format now")}else"string"!=typeof e?(e=A(JSON.stringify(e)),r=A("json")):e=A(e);t.Memo.MemoData=e,r&&(t.Memo.MemoFormat=r)}if(t&&e.Memos)for(const t of e.Memos){let e=t.Memo.MemoFormat;e?(e=S(e),t.Memo.MemoFormat=e,"hex"!==e&&(t.Memo.MemoData=S(t.Memo.MemoData))):t.Memo.MemoData=S(t.Memo.MemoData)}},exports.normalize_swt=function(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)))},exports.processAffectNode=x,exports.readAndSum=(e,t)=>{let r=0;if(t>4)throw new Error("This function only supports up to four bytes.");for(let n=0;n<t;n++){r+=e.read(1)[0]<<8*(t-n-1)}return r>>>0},exports.reverseAmount=function(e,t){return{value:String(-Number(e.value)),currency:e.currency,issuer:t}},exports.sort_fields=e=>e.sort((function(e,t){const r=h[e],n=r[0],a=r[1],s=h[t],o=s[0],i=s[1];return n!==o?n-o:a-i})),exports.txnType=function(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"}};
//# sourceMappingURL=index.js.map