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