wative 1.0.22 → 1.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.esm.js +1 -1
- package/lib/index.umd.js +1 -1
- package/package.json +31 -3
- package/src/tools.ts +1 -0
package/lib/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"fs";import*as t from"path";import*as n from"figlet";import r from"inquirer";import a from"web3";import{Connection as s,PublicKey as o,Transaction as c,ComputeBudgetProgram as i,SystemProgram as u}from"@solana/web3.js";import{getAssociatedTokenAddressSync as l,getMint as d,createTransferInstruction as p,createAssociatedTokenAccountInstruction as h}from"@solana/spl-token";import{Metaplex as f}from"@metaplex-foundation/js";import{BigNumber as m}from"bignumber.js";function v(e,t,n,r){return new(n||(n=Promise))((function(a,s){function o(e){try{i(r.next(e))}catch(e){s(e)}}function c(e){try{i(r.throw(e))}catch(e){s(e)}}function i(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,c)}i((r=r.apply(e,t||[])).next())}))}function g(e,t){var n,r,a,s,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return s={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function c(c){return function(i){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==c[0]&&2!==c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,i])}}}"function"==typeof SuppressedError&&SuppressedError;var w={},b=function(e){return v(void 0,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return t=new a(e),[4,Ft(t.eth.getChainId,[])];case 1:return[2,n.sent()]}}))}))},y=function(e,t){return v(void 0,void 0,void 0,(function(){var n;return g(this,(function(r){switch(r.label){case 0:return n=new a(t),[4,Ft(n.eth.getBalance,[e])];case 1:return[2,r.sent()]}}))}))},k=function(e,t){return v(void 0,void 0,void 0,(function(){var n;return g(this,(function(r){switch(r.label){case 0:return n=new s(t),[4,Ft(n.getBalance.bind(n),[new o(e)])];case 1:return[2,r.sent()]}}))}))},S=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r,s,o,c;return g(this,(function(i){switch(i.label){case 0:return n=new a(t),r=new n.eth.Contract([{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"}],e),[4,Ft(r.methods.symbol().call.bind(r),[])];case 1:return s=i.sent(),[4,Ft(r.methods.name().call.bind(r),[])];case 2:return o=i.sent(),[4,Ft(r.methods.decimals().call.bind(r),[])];case 3:return c=i.sent(),s.status&&o.status&&c.status?[2,{status:!0,output:{symbol:s.output,name:o.output,decimals:c.output}}]:[2,{status:!1,output:"Failed to get token info"}]}}))}))},x=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r,a,c,i,u,l;return g(this,(function(p){switch(p.label){case 0:return n=new s(t),r=f.make(n),a=new o(e),[4,Ft(d,[n,a])];case 1:if(c=p.sent(),i={status:!0,output:{symbol:"",name:"",decimals:""}},!c.status)return[2,{status:!1,output:"Failed to get token decimals"}];i.output.decimals=c.output.decimals,p.label=2;case 2:return p.trys.push([2,6,,7]),u=r.nfts().pdas().metadata({mint:a}),[4,n.getAccountInfo(u)];case 3:return p.sent()?[4,r.nfts().findByMint({mintAddress:a})]:[3,5];case 4:l=p.sent(),i.output.name=l.name,i.output.symbol=l.symbol,p.label=5;case 5:return[3,7];case 6:return p.sent(),[2,{status:!1,output:"Failed to get token name"}];case 7:return[2,i]}}))}))},N=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r,s,o;return g(this,(function(c){switch(c.label){case 0:return r=new a(n),s=new r.eth.Contract([{constant:!0,inputs:[{name:"who",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"}],t),[4,Ft(s.methods.balanceOf(e).call.bind(s),[])];case 1:return(o=c.sent()).status?[2,{status:!0,output:o.output}]:[2,{status:!1,output:"Failed to get token balance"}]}}))}))},O=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r,a,c;return g(this,(function(i){switch(i.label){case 0:return r=new s(n),a=l(new o(t),new o(e)),[4,Ft(r.getTokenAccountBalance.bind(r),[a])];case 1:return(c=i.sent()).status?[2,{status:!0,output:c.output.value.amount}]:c.output.includes("could not find account")?[2,{status:!0,output:"0"}]:[2,{status:!1,output:"Failed to get token balance"}]}}))}))},P=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r;return g(this,(function(s){return r=new a(n),[2,r.eth.abi.encodeFunctionCall({constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},[e,t])]}))}))},F=function(e){return v(void 0,void 0,void 0,(function(){var t,n,r,a;return g(this,(function(o){switch(o.label){case 0:return t=new s(e),[4,Ft(t.getRecentPrioritizationFees.bind(t),[])];case 1:return(n=o.sent()).status?(r=n.output,a=r.map((function(e){return e.prioritizationFee})).sort(),[2,{status:!0,output:a.length>0?Math.ceil(a.reduce((function(e,t){return e+t}))/a.length):1e3}]):[2,{status:!1,output:"Failed to get recent prioritization fees"}]}}))}))},A=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r;return g(this,(function(a){switch(a.label){case 0:return n=new s(t),[4,Ft(n.getAccountInfo.bind(n),[new o(e.toString())])];case 1:return(r=a.sent()).status?[2,{status:!0,output:r.output}]:[2,{status:!1,output:"Failed to get account info"}]}}))}))},_=function(e,t,n,r,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u;return g(this,(function(l){switch(l.label){case 0:n in w?s=w[n][t]||{}:(w[n]={},s={}),o=0,c=e,l.label=1;case 1:return o<c.length?(i=c[o])?i in s?[3,12]:(u=void 0,"0"!==t?[3,6]:a?[4,y(i,r)]:[3,3]):[3,12]:[3,13];case 2:return u=l.sent(),[3,5];case 3:return[4,k(i,r)];case 4:u=l.sent(),l.label=5;case 5:return[3,10];case 6:return a?[4,N(i,t,r)]:[3,8];case 7:return u=l.sent(),[3,10];case 8:return[4,O(i,t,r)];case 9:u=l.sent(),l.label=10;case 10:return u.status&&(s[i]=u.output),[4,Ct(200)];case 11:l.sent(),l.label=12;case 12:return o++,[3,1];case 13:return w[n][t]=s,[2,w]}}))}))},C=function(e,t,n){for(var r=0;r<t.length;r++)for(var a=t[r],s=0;s<n.length;s++){var o=n[s];try{delete w[e][o][a]}catch(e){}}},T=["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"],B=[{name:"Ethereum Mainnet",chainId:1,rpcUrl:"https://eth.llamarpc.com",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},multicallAddress:"0xeefBa1e63905eF1D7ACbA5a8513c70307C1cE441"},{name:"Solana Mainnet",chainId:901,rpcUrl:"https://api.mainnet-beta.solana.com",nativeCurrency:{name:"SOL",symbol:"SOL",decimals:9}}],L=["901","902","903"],j=function(e){return L.includes(e)?9:18},I=function(e){return L.includes(e)?"solana":"evm"},R=require("bn.js").BN,z=require("ethereumjs-util").stripHexPrefix,q=require("bignumber.js").BigNumber;function J(e){return new R(z(e.toString("hex")),16)}var U=function(e){return e.match(/^-?0x/u)?e:e.match(/^-?0X/u)?e.replace("0X","0x"):e.startsWith("-")?e.replace("-","-0x"):"0x".concat(e)};function E(e){return U(e.toString(16))}var M=function(){function e(e){this.query=new a(a.givenProvider||e).eth}return e.prototype.analyzeGasUsage=function(e){return v(this,void 0,void 0,(function(){var t,n,r,a,s,o;return g(this,(function(c){switch(c.label){case 0:return[4,this.query.getBlock("latest",!1)];case 1:t=c.sent(),n=J(t.gasLimit),i=n,u=20,l=new R(19),d=new R(u),r=i.mul(l).div(d),a=E(r),c.label=2;case 2:return c.trys.push([2,4,,5]),[4,this.estimateTxGas(e)];case 3:return a=c.sent(),[3,5];case 4:return o=c.sent(),s={reason:o.message,errorKey:o.errorKey,debug:{blockNumber:t.number,blockGasLimit:t.gasLimit}},[3,5];case 5:return[2,{blockGasLimit:t.gasLimit,estimatedGasHex:a,simulationFails:s}]}var i,u,l,d}))}))},e.prototype.estimateTxGas=function(e){return v(this,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return[4,this.query.estimateGas(e)];case 1:return t=n.sent(),[2,t=new q(t.toString()).multipliedBy(1.3).toFixed(0)]}}))}))},e.prototype.addGasBuffer=function(e,t,n){void 0===n&&(n=1.3);var r=J(e),a=J(t).muln(.9),s=r.muln(n);return r.gt(a)?E(r):s.lt(a)?E(s):E(a)},e.prototype.getBufferedGasLimit=function(e,t){return v(this,void 0,void 0,(function(){var n,r,a,s;return g(this,(function(o){switch(o.label){case 0:return[4,this.analyzeGasUsage(e)];case 1:return n=o.sent(),r=n.blockGasLimit,a=n.estimatedGasHex,s=n.simulationFails,[2,{gasLimit:this.addGasBuffer(U(a),r,t),simulationFails:s}]}}))}))},e.prototype.getGasPrice=function(){return v(this,void 0,void 0,(function(){return g(this,(function(e){switch(e.label){case 0:return[4,this.query.getGasPrice()];case 1:return[2,e.sent()]}}))}))},e.prototype.getTransactionCount=function(e){return v(this,void 0,void 0,(function(){return g(this,(function(t){switch(t.label){case 0:return[4,this.query.getTransactionCount(e)];case 1:return[2,t.sent()]}}))}))},e}(),D=require("chalk");require("wative-core").WativeCore;var G=function(e){return v(void 0,void 0,void 0,(function(){var t,n,a,s,o,c,i,u,l,d;return g(this,(function(p){switch(p.label){case 0:return t=[new r.Separator("————Tx Detail—————-"),"from: ".concat(e.from),"to: ".concat(e.to),"nonce: ".concat(e.nonce),"gasPrice: ".concat(e.gasPrice),"data: ".concat(e.data),"value: ".concat(e.value),"gas: ".concat(e.gas),new r.Separator("——————————————-"),"Send it now"],[4,mt(t)];case 1:return n=p.sent(),1!==(a=t.indexOf(n))?[3,3]:(s=e,[4,rt("from",ft)]);case 2:s.from=p.sent(),p.label=3;case 3:return 2!==a?[3,5]:(o=e,[4,rt("to",ft)]);case 4:o.to=p.sent(),p.label=5;case 5:return 3!==a?[3,7]:(c=e,[4,rt("nonce")]);case 6:c.nonce=p.sent(),p.label=7;case 7:return 4!==a?[3,9]:(i=e,[4,rt("gasPrice")]);case 8:i.gasPrice=p.sent(),p.label=9;case 9:return 5!==a?[3,11]:(u=e,[4,Ot("data")]);case 10:u.data=p.sent(),p.label=11;case 11:return 6!==a?[3,13]:(l=e,[4,rt("value")]);case 12:l.value=p.sent(),p.label=13;case 13:return 7!==a?[3,15]:(d=e,[4,rt("gas")]);case 14:d.gas=p.sent(),p.label=15;case 15:return 9===a?[2,e]:[4,G(e)];case 16:return[2,p.sent()]}}))}))},K=function(e,t,n,r,s){return v(void 0,void 0,void 0,(function(){var o,c,i,u,l,d,p,h,f,w,b,k,S,x,N,O,P,F,A,_,T,B,L,j;return g(this,(function(I){switch(I.label){case 0:return[4,rt("to",ft)];case 1:return o=I.sent(),[4,(c=new M(t)).getGasPrice()];case 2:return i=I.sent(),u=new m(i.toString()).dividedBy(1e9),l=u.toFixed(4,m.ROUND_FLOOR),[4,rt("Gas price (".concat(l,"), agree or enter"),ut)];case 3:return d=I.sent(),p=new m(p=d||l).multipliedBy(1e9).toFixed(0),[4,(R=o,z=t,v(void 0,void 0,void 0,(function(){var e,t;return g(this,(function(n){switch(n.label){case 0:return e=new a(z),[4,Ft(e.eth.getCode.bind(e),[R])];case 1:return(t=n.sent()).status?[2,{status:!0,output:t.output}]:[2,{status:!1,output:"Failed to get code"}]}}))})))];case 4:return(h=I.sent()).status?"0x"!==h.output?[3,7]:(f="0x",[4,y(r,t)]):(console.log(D.red(h.output)),[2]);case 5:return(b=I.sent()).status?(k=new m(b.output),S=new m(p),x=k.minus(S.multipliedBy(21e3)).toFixed(0,m.ROUND_FLOOR),N=new m(x).dividedBy(1e18).toFixed(4,m.ROUND_FLOOR),new m(N)<new m(0)?(console.log(D.red("Not enough balance")),[2]):[4,$(N,x,n,18)]):(console.log(D.red(b.output)),[2]);case 6:return w=I.sent(),[3,10];case 7:return[4,Ot("data",Pt)];case 8:return f=I.sent(),[4,rt("value",it)];case 9:w=I.sent(),I.label=10;case 10:return[4,c.getTransactionCount(r)];case 11:return O=I.sent(),[4,rt("Nonce (".concat(O,"), agree or enter"))];case 12:return P=I.sent(),F=P||O.toString(),A={from:r,to:o,nonce:F,gasPrice:p,data:f,value:w},"0x"!==f?[3,13]:(A.gas="21000",[3,18]);case 13:_=A.gasPrice,delete A.gasPrice,I.label=14;case 14:return I.trys.push([14,16,,17]),T=A,B="gas",[4,c.estimateTxGas(A)];case 15:return T[B]=I.sent().toString(),[3,17];case 16:return L=I.sent(),console.log(D.red("Error: "+L)),[2];case 17:A.gasPrice=_,I.label=18;case 18:return[4,G(A)];case 19:return A=I.sent(),[4,s.account.signTransaction(r,A,t)];case 20:return(j=I.sent()).status?(console.log(D.green("Transaction hash: ".concat(j.output.transactionHash))),s.account.sendSignedTransaction(r,j.output.rawTransaction,t),C(e,[r,o],["0"]),[2]):(console.log(D.red(j.output)),[2])}var R,z}))}))},W=function(e,t,n,r,a){return v(void 0,void 0,void 0,(function(){var s,l,d,p,h,f,v,w,b,y,S,x,N,O,P,A;return g(this,(function(g){switch(g.label){case 0:return[4,rt("to",ft)];case 1:return s=g.sent(),(l=(new c).add(u.transfer({fromPubkey:new o(r),toPubkey:new o(s),lamports:1}))).add(i.setComputeUnitLimit({units:2e5})),l.add(i.setComputeUnitPrice({microLamports:1e3})),l.feePayer=new o(r),[4,a.account.simulateTransaction(r,t,l)];case 2:return(d=g.sent()).status?d.output&&d.output.value&&0!==d.output.value.unitsConsumed&&!d.output.value.err?(p=new m(d.output.value.unitsConsumed.toString()).multipliedBy(1.2).toFixed(0,m.ROUND_CEIL),h=new m(p),[4,F(t)]):(console.log(D.red("Simulate error")),[2]):(console.log(D.red(d.output)),[2]);case 3:return(f=g.sent()).status?(v=new m(f.output.toString()),w=h.multipliedBy(v).dividedBy(1e6).toFixed(0,m.ROUND_CEIL),[4,k(r,t)]):(console.log(D.red(f.output)),[2]);case 4:return(b=g.sent()).status?(y=new m(b.output),S=y.minus(5e3).minus(w),x=new m(S).dividedBy(1e9).toFixed(4,m.ROUND_FLOOR),new m(x)<new m(0)?(console.log(D.red("Not enough balance")),[2]):[4,$(x,S.toString(),n,9)]):(console.log(D.red(b.output)),[2]);case 5:return N=g.sent(),(O=new c).add(i.setComputeUnitLimit({units:Number(h)})),O.add(i.setComputeUnitPrice({microLamports:Number(v)})),O.add(u.transfer({fromPubkey:new o(r),toPubkey:new o(s),lamports:Number(N)})),l.feePayer=new o(r),[4,a.account.signTransaction(r,O,t)];case 6:return(P=g.sent()).status?[4,a.account.sendSignedTransaction(r,P.output,t)]:(console.log(D.red(P.output)),[2]);case 7:return(A=g.sent()).status?(C(e,[r,s],["0"]),console.log(D.green("Transaction hash: ".concat(A.output))),[2]):(console.log(D.red(A.output)),[2])}}))}))},$=function(e,t,n,r){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i;return g(this,(function(u){switch(u.label){case 0:return a=["> Input value","> Total Balance (".concat(e," ").concat(n,")")],[4,mt(a)];case 1:return s=u.sent(),o=a.indexOf(s),c="0",0!==o?[3,3]:[4,rt("value",it)];case 2:return i=u.sent(),c=new m(i).multipliedBy(Math.pow(10,r)).toFixed(0,m.ROUND_FLOOR),[3,4];case 3:1===o&&(c=t),u.label=4;case 4:return new m(c).isLessThanOrEqualTo(new m(t))?[2,c]:(console.log(D.red("Not enough balance")),[2,$(e,t,n,r)])}}))}))},H=function(e,t,n,r,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u,l,d,p,h,f,v,w,b,y,k,x,O,F,A,_,T,B,L,j,I,R,z,q,J,U,E,K,W,$;return g(this,(function(g){switch(g.label){case 0:return[4,mt(["> Input token ticker","> Input token contract address"])];case 1:switch(s=g.sent(),s){case"> Input token ticker":return[3,2];case"> Input token contract address":return[3,10]}return[3,13];case 2:return[4,rt("token ticker")];case 3:return i=g.sent(),[4,He(e,n,i)];case 4:if(0===(u=g.sent()).length)return console.log(D.red("Token not found")),[2];l=[],x=0,g.label=5;case 5:return x<u.length?[4,N(r,u[x].address,t)]:[3,8];case 6:if(!(d=g.sent()).status)return console.log(D.red(d.output)),[2];if(p=new m(d.output),h=p.dividedBy(Math.pow(10,Number(u[x].decimals))).toFixed(4,m.ROUND_FLOOR),1===u.length)return l.push("> 1. ".concat(i," Balance: ").concat(h)),[3,8];l.push("> ".concat(x+1,". ").concat(i," Balance: ").concat(h,"(").concat(u[x].address,")")),l.push(u[x].address),g.label=7;case 7:return x++,[3,5];case 8:return[4,mt(l)];case 9:return f=g.sent(),v=u[l.indexOf(f)],o=v.address,c=Number(v.decimals),[3,13];case 10:return[4,rt("token contract address",ft)];case 11:return o=g.sent(),[4,S(o,t)];case 12:return(w=g.sent()).status?(c=Number(w.output.decimals),[3,13]):(console.log(D.red(w.output)),[2]);case 13:return[4,rt("Receipt",ft)];case 14:return b=g.sent(),[4,N(r,o,t)];case 15:if(!(y=g.sent()).status)return console.log(D.red(y.output)),[2];x=0,g.label=16;case 16:return x<5?[4,rt("Amount",it)]:[3,19];case 17:if(O=g.sent(),new m(O).multipliedBy(Math.pow(10,Number(c))).isLessThanOrEqualTo(new m(y.output)))return k=O,[3,19];console.log(D.red("Not enough balance")),g.label=18;case 18:return x++,[3,16];case 19:return k?[4,(F=new M(t)).getGasPrice()]:[2];case 20:return A=g.sent(),_=new m(A.toString()).dividedBy(1e9),T=_.toFixed(4,m.ROUND_FLOOR),[4,rt("Gas price (".concat(T,"), agree or enter"),ut)];case 21:return B=g.sent(),L=new m(L=B||T).multipliedBy(1e9).toFixed(0),j=new m(k).multipliedBy(Math.pow(10,c)).toFixed(0),[4,P(b,j,t)];case 22:return I=g.sent(),[4,F.getTransactionCount(r)];case 23:return R=g.sent(),[4,rt("Nonce (".concat(R,"), agree or enter"))];case 24:return z=g.sent(),q=z||R.toString(),J={from:r,to:o,nonce:q,gasPrice:L,data:I,value:"0"},"0x"!==I?[3,25]:(J.gas="21000",[3,30]);case 25:U=J.gasPrice,delete J.gasPrice,g.label=26;case 26:return g.trys.push([26,28,,29]),E=J,K="gas",[4,F.estimateTxGas(J)];case 27:return E[K]=g.sent().toString(),[3,29];case 28:return W=g.sent(),console.log(D.red("Failed to estimate gas, "+W.message)),[2];case 29:J.gasPrice=U,g.label=30;case 30:return[4,G(J)];case 31:return J=g.sent(),[4,a.account.signTransaction(r,J,t)];case 32:return($=g.sent()).status?(console.log(D.green("Transaction hash: ".concat($.output.transactionHash))),a.account.sendSignedTransaction(r,$.output.rawTransaction,t),C(n,[r,b],["0",o]),[2]):(console.log(D.red($.output)),[2])}}))}))},Z=function(e,t,n,r,a){return v(void 0,void 0,void 0,(function(){var s,u,d,f,v,w,b,y,k,S,P,_,T,B,L,j,I,R,z,q,J,U,E,M,G,K,W,$,H,Z;return g(this,(function(g){switch(g.label){case 0:return[4,mt(["> Input token ticker","> Input token contract address"])];case 1:switch(s=g.sent(),s){case"> Input token ticker":return[3,2];case"> Input token contract address":return[3,10]}return[3,13];case 2:return[4,rt("token ticker")];case 3:return f=g.sent(),[4,He(e,n,f)];case 4:if(0===(v=g.sent()).length)return console.log(D.red("Token not found")),[2];w=[],j=0,g.label=5;case 5:return j<v.length?[4,O(r,v[j].address,t)]:[3,8];case 6:if(!(b=g.sent()).status)return console.log(D.red(b.output)),[2];if(y=new m(b.output),k=y.dividedBy(Math.pow(10,Number(v[j].decimals))).toFixed(4,m.ROUND_FLOOR),1===v.length)return w.push("> 1. ".concat(f," Balance: ").concat(k)),[3,8];w.push("> ".concat(j+1,". ").concat(f," Balance: ").concat(k,"(").concat(v[j].address,")")),w.push(v[j].address),g.label=7;case 7:return j++,[3,5];case 8:return[4,mt(w)];case 9:return S=g.sent(),P=v[w.indexOf(S)],u=P.address,d=Number(P.decimals),[3,13];case 10:return[4,rt("token contract address",ft)];case 11:return u=g.sent(),[4,x(u,t)];case 12:return(_=g.sent()).status?(d=Number(_.output.decimals),[3,13]):(console.log(D.red(_.output)),[2]);case 13:return[4,rt("Receipt",ft)];case 14:return T=g.sent(),[4,N(r,u,t)];case 15:if(!(B=g.sent()).status)return console.log(D.red(B.output)),[2];j=0,g.label=16;case 16:return j<5?[4,rt("Amount",it)]:[3,19];case 17:if(I=g.sent(),new m(I).multipliedBy(Math.pow(10,Number(d))).isLessThanOrEqualTo(new m(B.output)))return L=I,[3,19];console.log(D.red("Not enough balance")),g.label=18;case 18:return j++,[3,16];case 19:return L?(R=new m(L).multipliedBy(Math.pow(10,d)).toFixed(0),z=l(new o(u),new o(r),!0),[4,A(z.toString(),t)]):[2];case 20:return(q=g.sent()).status?q.output&&q.output.owner.toString()!==o.default?(J=l(new o(u),new o(T),!1),[4,A(J.toString(),t)]):(console.log(D.red("From token account not found")),[2]):(console.log(D.red(q.output)),[2]);case 21:return(U=g.sent()).status?(E=new c,M=new c,U.output&&U.output.owner.toString()!==o.default||(E.add(h(new o(r),new o(J),new o(T),new o(u))),M.add(h(new o(r),new o(J),new o(T),new o(u)))),E.add(p(z,J,new o(r),Number(R))),E.add(i.setComputeUnitLimit({units:2e5})),E.add(i.setComputeUnitPrice({microLamports:1e3})),E.feePayer=new o(r),[4,a.account.simulateTransaction(r,t,E)]):(console.log(D.red(U.output)),[2]);case 22:return(G=g.sent()).status?G.output&&G.output.value&&0!==G.output.value.unitsConsumed&&!G.output.value.err?(K=new m(G.output.value.unitsConsumed.toString()),K=new m(Math.ceil(1.2*Number(K))),[4,F(t)]):(console.log(D.red("Simulate error")),[2]):(console.log(D.red(G.output)),[2]);case 23:return(W=g.sent()).status?($=new m(W.output.toString()),M.add(p(z,J,new o(r),Number(R))),M.add(i.setComputeUnitLimit({units:Number(K)})),M.add(i.setComputeUnitPrice({microLamports:Number($)})),E.feePayer=new o(r),[4,a.account.signTransaction(r,M,t)]):(console.log(D.red(W.output)),[2]);case 24:return(H=g.sent()).status?[4,a.account.sendSignedTransaction(r,H.output,t)]:(console.log(D.red(H.output)),[2]);case 25:return(Z=g.sent()).status?(C(n,[r,T],["0",u]),console.log(D.green("Transaction hash: ".concat(Z.output))),[2]):(console.log(D.red(Z.output)),[2])}}))}))},V=function(e,t,n,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u,l,d,p,h;return g(this,(function(f){switch(f.label){case 0:return s=De(e,t,n),o=ze(e,s),c=At(n),o!==c&&("evm"===c&&(s="Ethereum Mainnet"),"solana"===c&&(s="Solana Mainnet"),o=ze(e,s)),"evm"!==o?[3,3]:[4,Nt("Network (".concat(s,"), want a change?"))];case 1:return f.sent()?(i=Ge(e),[4,mt(i,"Select a network")]):[3,3];case 2:u=f.sent(),s=u,f.label=3;case 3:return[4,Me(n,e,s)];case 4:return(l=f.sent()).status?(d=qe(e,s),console.log(D.green(" ".concat(d.nativeCurrency.symbol," Balance: ").concat(l.output))),p=["> Send Raw Tx","> Send Token",new r.Separator("----------------------------------"),"> Back"],[4,mt(p)]):(console.log(D.red(l.output)),[2]);case 5:switch(h=f.sent(),h){case"> Send Raw Tx":return[3,6];case"> Send Token":return[3,11];case"> Back":return[3,16]}return[3,17];case 6:return"evm"!==c?[3,8]:[4,K(d.chainId.toString(),d.rpcUrl,d.nativeCurrency.symbol,n,a)];case 7:f.sent(),f.label=8;case 8:return"solana"!==c?[3,10]:[4,W(d.chainId.toString(),d.rpcUrl,d.nativeCurrency.symbol,n,a)];case 9:f.sent(),f.label=10;case 10:return[3,17];case 11:return"evm"!==c?[3,13]:[4,H(e,d.rpcUrl,d.chainId.toString(),n,a)];case 12:f.sent(),f.label=13;case 13:return"solana"!==c?[3,15]:[4,Z(e,d.rpcUrl,d.chainId.toString(),n,a)];case 14:f.sent(),f.label=15;case 15:return[3,17];case 16:case 17:return[2]}}))}))},X=function(e,t,n,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i;return g(this,(function(u){switch(u.label){case 0:return s=["> SendTx","> SignMessage",new r.Separator("----------------------------------"),"> Back"],[4,mt(s)];case 1:switch(o=u.sent(),o){case"> SendTx":return[3,2];case"> SignMessage":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,V(e,t,n,a)];case 3:return u.sent(),[3,7];case 4:return[4,Ot("Input the message to sign")];case 5:return c=u.sent(),(i=a.account.signMessage(n,c)).status?(console.log(D.green("Signature: "+i.output)),[3,7]):(console.log(D.red(i.output)),[3,7]);case 6:return[2];case 7:return[4,X(e,t,n,a)];case 8:return u.sent(),[2]}}))}))},Q=function(e,t){return v(void 0,void 0,void 0,(function(){var n,a,s,o,c;return g(this,(function(i){switch(i.label){case 0:return n=["> Send Tx","> Search Accounts",new r.Separator("----------------------------------"),"> Back"],[4,mt(n)];case 1:return"> Back"===(a=i.sent())?[2]:"> Send Tx"!==a?[3,3]:[4,rt("Input address to send tx",ft)];case 2:s=i.sent(),i.label=3;case 3:return"> Search Accounts"!==a?[3,5]:[4,rt("Input part address to send tx",ct)];case 4:s=i.sent(),i.label=5;case 5:return null!==(o=t.account.getAccountLabel(s))?[3,7]:(console.log(D.red("Account not found")),[4,Q(e,t)]);case 6:return i.sent(),[2];case 7:return c=o.account_label,s=o.account_address,null!==c?[3,9]:(console.log(D.red("Account not found")),[4,Q(e,t)]);case 8:return i.sent(),[2];case 9:return[4,de(c,t)];case 10:return i.sent().isLoginIn?[3,12]:[4,Q(e,t)];case 11:return i.sent(),[2];case 12:return[4,X(e,c,s,t)];case 13:return i.sent(),[4,Q(e,t)];case 14:return i.sent(),[2]}}))}))},Y=require("chalk");require("dotenv").config();var ee=require("cli-progress");require("wative-core").WativeCore;var te={account_label:"",default_account_index:0},ne=function(e){return v(void 0,void 0,void 0,(function(){var t,n,r,a,s;return g(this,(function(o){switch(o.label){case 0:return t=ie(e),n=[],t.accounts&&(n=t.accounts),[4,St("Account Label",n)];case 1:return null===(r=o.sent())?[2,null]:[4,xt("Please set a password for Account [".concat(r,"]"))];case 2:return a=o.sent(),[4,Re(e)];case 3:return s=o.sent(),[2,{account_label:r,password:a,selected_default_network:s}]}}))}))},re=function(n,r){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i,u;return g(this,(function(l){switch(l.label){case 0:return[4,ne(n)];case 1:return(a=l.sent())?[4,rt("Please enter a mnemonic [split by space]",lt)]:[2];case 2:return s=(s=l.sent()).replace(/\s+/g," "),(o=r.account.generatePPAccount(a.account_label,s,a.password)).status?(c=t.join(n,"accounts/".concat(a.account_label,".json")),o.output.default_network=a.selected_default_network,e.writeFileSync(c,JSON.stringify(o.output,null,4)),i=t.resolve(n,"network.json"),(u=JSON.parse(e.readFileSync(i,"utf8"))).accounts.push(a.account_label),e.writeFileSync(i,JSON.stringify(u,null,4)),[2]):(console.log(Y.red(o.output)),[2])}}))}))},ae=function(n,r){return v(void 0,void 0,void 0,(function(){var a,s,o,c;return g(this,(function(i){switch(i.label){case 0:return[4,ne(n)];case 1:return(a=i.sent())?[4,rt("Please enter a private key")]:[2];case 2:return s=i.sent(),[4,oe(n,a.password,a.account_label,s,a.selected_default_network,r,!0)];case 3:return i.sent(),o=t.resolve(n,"network.json"),(c=JSON.parse(e.readFileSync(o,"utf8"))).accounts.push(a.account_label),e.writeFileSync(o,JSON.stringify(c,null,4)),[2]}}))}))},se=function(n,r,a,s){return v(void 0,void 0,void 0,(function(){var o,c,i;return g(this,(function(u){switch(u.label){case 0:return[4,rt("Please enter a private key")];case 1:return o=u.sent(),c=t.join(n,"accounts/".concat(a,".json")),i=JSON.parse(e.readFileSync(c,"utf8")),[4,oe(n,r,a,o,i.default_network,s,!1)];case 2:return u.sent(),[2]}}))}))},oe=function(n,r,a,s,o,c,i){return v(void 0,void 0,void 0,(function(){var u,l,d,p,h;return g(this,(function(f){switch(f.label){case 0:return[4,qe(n,o)];case 1:return u=f.sent(),"evm"!==I(u.chainId.toString())||s.startsWith("0x")||(s="0x"+s),[4,c.account.generatePKAccount(a,s,r,u.chainId.toString(),i)];case 2:return(l=f.sent()).status?(d=t.join(n,"accounts/".concat(a,".json")),e.existsSync(d)?"data"in(h=JSON.parse(e.readFileSync(d,"utf8")))?(h.data.push({ciphertexts:l.output.ciphertexts}),p=h):(h.data=[{ciphertexts:h.ciphertexts}],delete h.ciphertexts,h.data.push({ciphertexts:l.output.ciphertexts}),p=h):(l.output.data=[{ciphertexts:l.output.ciphertexts}],delete l.output.ciphertexts,l.output.default_network=o,p=l.output),e.writeFileSync(d,JSON.stringify(p,null,4)),c.account.reloadAccount(),[2]):(console.log(Y.red(l.output)),[2])}}))}))},ce=function(e,t){return v(void 0,void 0,void 0,(function(){var n,a;return g(this,(function(s){switch(s.label){case 0:return n=["> Import Passphrase","> Import Private Key",new r.Separator("----------------------------------"),"> Back"],[4,mt(n)];case 1:switch(a=s.sent(),a){case"> Import Passphrase":return[3,2];case"> Import Private Key":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,re(e,t)];case 3:case 5:return s.sent(),[3,7];case 4:return[4,ae(e,t)];case 6:return[2];case 7:return t.account.reloadAccount(),[2]}}))}))},ie=function(n){var r=t.resolve(n,"network.json");return JSON.parse(e.readFileSync(r,"utf8"))},ue=function(n,r){var a=t.join(n,"accounts/".concat(r,".json"));return JSON.parse(e.readFileSync(a,"utf8"))},le=function(n,r,a){var s=t.join(n,"accounts/".concat(r,".json"));e.writeFileSync(s,JSON.stringify(a,null,4))},de=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r,a;return g(this,(function(s){switch(s.label){case 0:if(t.account.isLogin(e))return[2,{isLoginIn:!0}];n=0,s.label=1;case 1:return n<3?(r=void 0,process.env.WativePassword&&""!==process.env.WativePassword?(r=process.env.WativePassword,[3,4]):[3,2]):[3,7];case 2:return[4,xt("Please input the password for Account [".concat(e,"]"))];case 3:r=s.sent(),s.label=4;case 4:return r?[4,t.account.login(e,r)]:(console.log(Y.red("Password can't be empty")),[2,{isLoginIn:!1}]);case 5:if((a=s.sent()).status)return[2,{isLoginIn:!0,password:r}];console.log(Y.red(a.output)),s.label=6;case 6:return n++,[3,1];case 7:return[2,{isLoginIn:!1}]}}))}))},pe=function(e,t){return v(void 0,void 0,void 0,(function(){var n,a,s,o,c,i,u,l,d,p;return g(this,(function(h){switch(h.label){case 0:if(n=ie(e),a=n.accounts,s=["> Back",new r.Separator("----------------------------------")],0===(o=a.length))return console.log(Y.red("No address here yet")),[2];for(c=0;c<o;c++)i=a[c],"data"in(u=ue(e,i))?s.push("".concat(c+1,") ").concat(i," [").concat(u.account_type,":").concat(u.data.length,"]")):s.push("".concat(c+1,") ").concat(i," [").concat(u.account_type,":1]"));return[4,mt(s,"Select an account")];case 1:return"> Back"===(l=h.sent())?[2]:(d=a[s.indexOf(l)-2],[4,de(d,t)]);case 2:return(p=h.sent()).isLoginIn?[4,fe(e,d,t,p.password)]:[3,4];case 3:h.sent(),h.label=4;case 4:return[4,pe(e,t)];case 5:return h.sent(),[2]}}))}))},he=function(e,t,n){return v(void 0,void 0,void 0,(function(){var n,a,s,o,c,i,u,l,d,p,h,f,m,v,w,b,y,k,S,x;return g(this,(function(g){switch(g.label){case 0:return[4,ue(e,t)];case 1:return n=g.sent(),a=["> Disabled Slots","> Add Single","> Add Range",new r.Separator("----------------------------------"),"> Back"],[4,mt(a)];case 2:switch(s=g.sent(),s){case"> Back":return[3,3];case"> Disabled Slots":return[3,4];case"> Add Single":return[3,7];case"> Add Range":return[3,9]}return[3,11];case 3:return[2];case 4:if(!(o=n.disabled_slots)||0===o.length)return console.log(Y.red("No disabled slots here yet")),[3,11];for(c=n.data,i=["> Back",new r.Separator("----------------------------------")],u=n.default_network,l=0;l<o.length;l++){if(d=o[l].from,p=o[l].to,h=u,f=u,"default_network"in c[d]&&(h=c[d].default_network),"default_network"in c[p]&&(f=c[p].default_network),m=ze(e,h),v=ze(e,f),"evm"!==m&&"solana"!==m)throw new Error("Invalid network type: ".concat(m));if("evm"!==v&&"solana"!==v)throw new Error("Invalid network type: ".concat(v));w=void 0,b=void 0,w="evm"===m?c[d].ciphertexts.evm.address:c[p].ciphertexts.solana.address,b="evm"===v?c[p].ciphertexts.evm.address:c[p].ciphertexts.solana.address,d===p?i.push("".concat(l+1,". ").concat(w,"[").concat(d,"]")):i.push("".concat(l+1,". ").concat(w,"[").concat(d,"]-").concat(b,"[").concat(p,"]"))}return[4,mt(i)];case 5:return"> Back"===(y=g.sent())?[3,11]:[4,Nt("Are you sure to delete the ".concat(y,"?"))];case 6:return g.sent()?(k=i.indexOf(y)-2,n.disabled_slots.splice(k,1),le(e,t,n),[3,11]):[3,11];case 7:return[4,st(n,"Input address or index")];case 8:return null===(S=g.sent())?(console.log(Y.red("Invalid account index")),[3,11]):(n.disabled_slots?n.disabled_slots.push({from:S,to:S}):n.disabled_slots=[{from:S,to:S}],le(e,t,n),[3,11]);case 9:return[4,at(n)];case 10:return(x=g.sent())?(n.disabled_slots?n.disabled_slots.push(x):n.disabled_slots=[x],le(e,t,n),[3,11]):(console.log(Y.red("Invalid account range")),[3,11]);case 11:return[4,he(e,t)];case 12:return g.sent(),[2]}}))}))},fe=function(e,t,n,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u,l,d;return g(this,(function(p){switch(p.label){case 0:return[4,ue(e,t)];case 1:return s=p.sent(),o="PP"===s.account_type?["> Address List","> Expand Address","> Slice Address","> Disable Address","> Reset Account Password","> Switch Networks [".concat(s.default_network,"]"),"> Remove",new r.Separator("----------------------------------"),"> Back"]:["> Address List","> Import Private Key","> Remove Address","> Reset Account Password","> Switch Networks [".concat(s.default_network,"]"),"> Remove",new r.Separator("----------------------------------"),"> Back"],[4,mt(o)];case 2:switch(c=p.sent(),c){case"> Address List":return[3,3];case"> Expand Address":return[3,5];case"> Import Private Key":return[3,8];case"> Slice Address":return[3,10];case"> Remove Address":return[3,13];case"> Disable Address":return[3,15];case"> Reset Account Password":return[3,17];case"> Switch Networks [".concat(s.default_network,"]"):return[3,21];case"> Remove":return[3,23];case"> Back":return[3,25]}return[3,26];case 3:return[4,me(e,t,n)];case 4:case 7:case 9:case 12:case 14:case 16:case 22:return p.sent(),[3,26];case 5:return[4,rt("Expand accounts count",dt)];case 6:return i=p.sent(),Number(i)>2e3?(console.log(Y.red("Too many accounts, please input less than 2000")),[3,26]):[4,ge(e,t,Number(i),n)];case 8:return[4,se(e,a,t,n)];case 10:return[4,rt("Please input last account number",pt)];case 11:return u=p.sent(),[4,we(e,t,Number(u),n)];case 13:return[4,be(e,t,n)];case 15:return[4,he(e,t)];case 17:return[4,xt("Please input new password for Account [".concat(t,"]"))];case 18:return l=p.sent(),[4,xt("Please confirm new password for Account [".concat(t,"]"))];case 19:return d=p.sent(),l&&d&&l===d?[4,n.account.resetPassword(t,l)]:(console.log(Y.red("Passwords do not match")),[3,26]);case 20:case 24:case 27:return p.sent(),[2];case 21:return[4,Ee(e,t,!0)];case 23:return[4,ye(e,t)];case 25:return[2];case 26:return[4,fe(e,t,n,a)]}}))}))},me=function(e,t,n){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i,u,l,d,p,h,f,m,v,w,b;return g(this,(function(g){switch(g.label){case 0:return[4,ue(e,t)];case 1:for(a=g.sent(),s=["> Back",new r.Separator("----------------------------------")],o=a.disabled_slots,c=Ke(e),i=a.default_network,u=qe(e,i),l=I(u.chainId.toString()),d=a.data.length.toString().length+1,p=0;p<a.data.length;p++)h=a.data[p].tag?"(".concat(a.data[p].tag,")"):"",f=n.account.checkIsDisableAddress(o,p),m=void 0,m="PP"===a.account_type?"evm"===l?a.data[p].ciphertexts.evm.address:a.data[p].ciphertexts.solana.address:a.data[p].ciphertexts.address,f?s.push(new r.Separator(Y.yellow("#".concat(p.toString().padEnd(d)," ").concat(Tt(m,c.fullAddr)," ").concat(h)))):s.push("#".concat(p.toString().padEnd(d)," ").concat(Tt(m,c.fullAddr)," ").concat(h));return v=te.account_label===t?s[te.account_index]:s[0],[4,$e(e,u.chainId.toString())];case 2:return w=g.sent(),[4,Bt(s,"evm"===l,e,w,u,c.gasToken,c.extendedToken,"Select an account",v)];case 3:return"> Back"===(b=g.sent())?[2]:(te.account_label=t,te.account_index=s.indexOf(b),[4,ve(e,t,s.indexOf(b)-2,n)]);case 4:return g.sent(),[4,me(e,t,n)];case 5:return g.sent(),[2]}}))}))},ve=function(e,t,n,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u,l,d,p,h,f,m,v;return g(this,(function(g){switch(g.label){case 0:return[4,ue(e,t)];case 1:return s=g.sent(),o=s.default_network,c=Je(e,t,n),[4,qe(e,o)];case 2:return i=g.sent(),[4,Me(c,e,o)];case 3:return(u=g.sent()).status?console.log(Y.green(" Address No: #".concat(n,"\n Network: ").concat(o,"\n ").concat(i.nativeCurrency.symbol," Balance: ").concat(u.output))):console.log(Y.green(" Address No: #".concat(n,"\n Network: ").concat(o,"\n ").concat(i.nativeCurrency.symbol))),l="> Tag","tag"in s.data[n]&&""!==s.data[n].tag&&(l="> Tag(".concat(s.data[n].tag,")")),d=[l,"> Show address","> Assets","> Tools","> Dump private key",new r.Separator("----------------------------------"),"> Back"],[4,mt(d)];case 4:switch(p=g.sent(),p){case l:return[3,5];case"> Show address":return[3,7];case"> Assets":return[3,9];case"> Tools":return[3,11];case"> Dump private key":return[3,13];case"> Back":return[3,15]}return[3,16];case 5:return h="Current tag","tag"in s.data[n]&&""!==s.data[n].tag&&(h="Current tag (".concat(s.data[n].tag,")")),[4,rt(h,ot)];case 6:return f=(f=g.sent()).replace(/\s+/g," ").trim(),s.data[n].tag=f.toLocaleLowerCase(),le(e,t,s),[3,16];case 7:return[4,Ue(e,t,n)];case 8:case 10:case 12:return g.sent(),[3,16];case 9:return[4,Ze(e,o,c)];case 11:return[4,X(e,t,c,a)];case 13:return m=Je(e,t,n),[4,a.account.showPrivateKey(m)];case 14:return v=g.sent(),console.log("account: ",m),console.log("private key: ",v),[3,16];case 15:case 16:return[2]}}))}))},ge=function(e,t,n,r){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i;return g(this,(function(u){switch(u.label){case 0:return[4,ue(e,t)];case 1:a=u.sent(),s=a.data.length,(o=new ee.SingleBar({},ee.Presets.legacy)).start(n,0),c=s,u.label=2;case 2:return c<s+n?[4,r.account.generateSubAccount(t,c)]:[3,5];case 3:if(!(i=u.sent()).status)return console.log(Y.red(i.output)),[2];a.data.push({ciphertexts:i.output}),o.increment(),u.label=4;case 4:return c++,[3,2];case 5:return o.stop(),le(e,t,a),r.account.reloadAccount(),[2]}}))}))},we=function(e,t,n,r){return v(void 0,void 0,void 0,(function(){var a;return g(this,(function(s){switch(s.label){case 0:return[4,ue(e,t)];case 1:return(a=s.sent()).data=a.data.slice(0,n+1),le(e,t,a),r.account.reloadAccount(),[2]}}))}))},be=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r,a;return g(this,(function(s){switch(s.label){case 0:return[4,rt("Please input the accountIndex to remove this account",it)];case 1:return"0"===(r=s.sent())?(console.log(Y.red("Can't remove the first account")),[2]):[4,ue(e,t)];case 2:return a=s.sent(),[4,Nt("Are you sure you want to remove this account(".concat(a.data[r].ciphertexts.address,")"))];case 3:return s.sent()?(a.data.splice(Number(r),1),le(e,t,a),n.account.reloadAccount(),[2]):[2]}}))}))},ye=function(n,r){return v(void 0,void 0,void 0,(function(){var a,s,o,c;return g(this,(function(i){switch(i.label){case 0:return[4,rt("Please input the accountLabel to remove this account")];case 1:return i.sent()!==r?(console.log(Y.red("Can't remove this account")),[2]):[4,Nt("Are you sure you want to remove this account(".concat(r,")"))];case 2:return i.sent()?(a=t.join(n,"accounts/".concat(r,".json")),e.rmSync(a),s=t.resolve(n,"network.json"),e.existsSync(s)?(o=JSON.parse(e.readFileSync(s,"utf8")),c=o.accounts.indexOf(r),o.accounts.splice(c,1),e.writeFileSync(s,JSON.stringify(o,null,2)),[2]):[2]):[2]}}))}))},ke=function(n,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u;return g(this,(function(l){switch(l.label){case 0:return s=t.resolve(n,"accounts"),e.existsSync(s)||e.mkdirSync(s),o=ie(n),c=o.accounts,i=0===c.length?["> Create a new account",new r.Separator("----------------------------------"),"> Back"]:["> Select an account","> Create a new account",new r.Separator("----------------------------------"),"> Back"],[4,mt(i)];case 1:switch(u=l.sent(),u){case"> Select an account":return[3,2];case"> Create a new account":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,pe(n,a)];case 3:case 5:return l.sent(),[3,7];case 4:return[4,ce(n,a)];case 6:return[2];case 7:return[4,ke(n,a)];case 8:return l.sent(),[2]}}))}))},Se=require("chalk"),xe=function(n){return v(void 0,void 0,void 0,(function(){var r,a;return g(this,(function(s){return r=t.resolve(n,"network.json"),e.existsSync(r)||(a={networks:B,currentNetwork:"Ethereum Mainnet",accounts:[]},e.writeFileSync(r,JSON.stringify(a,null,2))),[2]}))}))},Ne=function(e,t){return v(void 0,void 0,void 0,(function(){var n,a;return g(this,(function(s){switch(s.label){case 0:return n=["> Edit"],"Ethereum Mainnet"!==t.name&&"Solana Mainnet"!==t.name&&n.push("> Remove"),n.push(new r.Separator("----------------------------------")),n.push("> Back"),[4,mt(n)];case 1:switch(a=s.sent(),a){case"> Edit":return[3,2];case"> Remove":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Oe(e,t)];case 3:case 5:return s.sent(),[3,7];case 4:return[4,Pe(e,t)];case 6:return[3,7];case 7:return[2]}}))}))},Oe=function(n,r){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i,u,l,d,p,h,f,m,v;return g(this,(function(g){switch(g.label){case 0:for(a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=[],v=0;v<s.networks.length;v++)c=s.networks[v],o.push(c.name);return i=r.rpcUrl,u=r.chainId.toString(),l=r.nativeCurrency.symbol,d=r.name,p=r.multicallAddress,h=r.color,"Ethereum Mainnet"!==r.name&&"Solana Mainnet"!==r.name?[3,2]:[4,wt(r.chainId.toString(),"Rpc Url (default: ".concat(r.rpcUrl,")"),!0)];case 1:return i=g.sent(),[3,9];case 2:return[4,rt("Chain Name (default: ".concat(r.name,")"))];case 3:return(d=g.sent())&&d!==r.name&&o.includes(d)?(console.log(Se.red("Chain Name already exists")),[2]):[4,gt("Chain Id (default: ".concat(r.chainId,")"),!0)];case 4:return u=g.sent(),[4,wt(u||r.chainId,"RPC Url (default: ".concat(r.rpcUrl,")"),!0)];case 5:return i=g.sent(),[4,yt("Symbol (default: ".concat(r.nativeCurrency.symbol,")"))];case 6:return l=g.sent(),[4,bt(r.multicallAddress?"Multicall Address (Optional) (default: ".concat(r.multicallAddress,")"):"Multicall Address (Optional)")];case 7:return p=g.sent(),[4,kt(r.color?"Color (Optional): (default: ".concat(r.color,")"):"Color (Optional)")];case 8:h=g.sent(),g.label=9;case 9:for(i=i||r.rpcUrl,u=u||r.chainId.toString(),l=l||r.nativeCurrency.symbol,d=d||r.name,p=p||r.multicallAddress,h=h||r.color,f=j(u.toString()),m={name:d||r.name,chainId:Number(u)||r.chainId,rpcUrl:i||r.rpcUrl,nativeCurrency:{name:l||r.nativeCurrency.symbol,symbol:l||r.nativeCurrency.symbol,decimals:f||r.nativeCurrency.decimals}},(p||r.multicallAddress)&&(m.multicallAddress=p||r.multicallAddress),(h||r.color)&&(m.color=h||r.color),v=0;v<s.networks.length;v++)if(s.networks[v].name===r.name){s.networks[v]=m;break}return e.writeFileSync(a,JSON.stringify(s,null,2)),[2]}}))}))},Pe=function(n,r){return v(void 0,void 0,void 0,(function(){var a,s,o;return g(this,(function(c){for(a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=0;o<s.networks.length;o++)if(s.networks[o].name===r.name){s.networks.splice(o,1);break}return r.name===s.currentNetwork&&(s.currentNetwork="Ethereum Mainnet"),e.writeFileSync(a,JSON.stringify(s,null,2)),[2]}))}))},Fe=function(n){return v(void 0,void 0,void 0,(function(){var r,a,s,o,c,i,u,l,d,p,h,f,m;return g(this,(function(v){switch(v.label){case 0:for(r=t.resolve(n,"network.json"),a=JSON.parse(e.readFileSync(r,"utf8")),s=[],o=0;o<a.networks.length;o++)c=a.networks[o],s.push(c.name);return console.log(Se.green("Please input someting about network")),[4,rt("Chain Name")];case 1:return i=v.sent(),s.includes(i)?(console.log(Se.red("Chain Name already exists")),[2]):[4,gt("Chain Id")];case 2:return(u=v.sent())?[4,wt(u,"RPC Url")]:[2];case 3:return(l=v.sent())?[4,yt("Symbol")]:[2];case 4:return(d=v.sent())?[4,bt("Multicall Address (Optional)")]:[2];case 5:return p=v.sent(),[4,kt("Color (Optional)")];case 6:return h=v.sent(),f=j(u.toString()),m={name:i,chainId:Number(u),rpcUrl:l,nativeCurrency:{name:d,symbol:d,decimals:f}},p&&(m.multicallAddress=p),h&&(m.color=h),a.networks.push(m),e.writeFileSync(r,JSON.stringify(a,null,2)),[2]}}))}))},Ae=function(n){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i,u,l,d,p,h,f,m,v;return g(this,(function(g){switch(g.label){case 0:for(a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=[],c=[],l=0;l<s.networks.length;l++)p=s.networks[l],"solana"===I(p.chainId.toString())?c.push(l):o.push(l);for(i=["> Back","+ Add Network",new r.Separator("----Networks(evm)----")],l=0;l<o.length;l++)u=o[l],p=s.networks[u],h="".concat(l+1,".").concat(p.name),0===l&&(h+=" 🔒"),i.push(h);for(i.push(new r.Separator("----Networks(solana)----")),l=0;l<c.length;l++)d=c[l],p=s.networks[d],h="".concat(l+1,".").concat(p.name),0===l&&(h+=" 🔒"),i.push(h);return[4,mt(i)];case 1:return"> Back"===(f=g.sent())?[2]:"+ Add Network"!==f?[3,3]:[4,Fe(n)];case 2:case 5:return g.sent(),[2];case 3:return m=i.indexOf(f),v=m<o.length+3?s.networks[o[m-3]]:s.networks[c[m-o.length-4]],[4,Ne(n,v)];case 4:return g.sent(),[4,Ae(n)]}}))}))},_e=function(e){return v(void 0,void 0,void 0,(function(){var t,n;return g(this,(function(a){switch(a.label){case 0:return t=["> Enhanced Balance Display",new r.Separator("----------------------------------"),"> Back"],[4,mt(t)];case 1:switch(n=a.sent(),n){case"> Enhanced Balance Display":return[3,2];case"> Back":return[3,4]}return[3,5];case 2:return[4,je(e)];case 3:return a.sent(),[3,5];case 4:return[2];case 5:return[4,_e(e)];case 6:return a.sent(),[2]}}))}))},Ce=function(n){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i,u,l;return g(this,(function(d){switch(d.label){case 0:return a=t.resolve(n,"network.json"),"status"in(s=JSON.parse(e.readFileSync(a,"utf8")))||(s.status={fullAddr:!1,gasToken:!1,extendedToken:!1}),o=["> Show Full Address [".concat(s.status.fullAddr?"ON":"OFF","]"),"> Show Gas Token [".concat(s.status.gasToken?"ON":"OFF","]"),"> Show Extended Token[".concat(s.status.extendedToken?"ON":"OFF","]"),new r.Separator("----------------------------------"),"> Back"],[4,mt(o)];case 1:return"> Back"===(c=d.sent())?[2]:c.includes("Full Address")?(i=s.status,[4,Te()]):[3,3];case 2:return i.fullAddr=d.sent(),[3,7];case 3:return c.includes("Gas Token")?(u=s.status,[4,Te()]):[3,5];case 4:return u.gasToken=d.sent(),[3,7];case 5:return c.includes("Extended Token")?(l=s.status,[4,Te()]):[3,7];case 6:l.extendedToken=d.sent(),d.label=7;case 7:return e.writeFileSync(a,JSON.stringify(s,null,2)),[2]}}))}))},Te=function(){return v(void 0,void 0,void 0,(function(){return g(this,(function(e){switch(e.label){case 0:return[4,mt(["> On","> Off"])];case 1:switch(e.sent()){case"> On":return[2,!0];case"> Off":return[2,!1]}return[2]}}))}))},Be=function(n,r){var a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")).showTokens;return r in s?s[r]:[]},Le=function(n){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i,u,l,d,p,h,f,m,v,w,b,y,k,S,x,N,O;return g(this,(function(g){switch(g.label){case 0:for(a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o={},c=0,i=s.networks;c<i.length;c++)u=i[c],o[u.chainId.toString()]=u.name;if(l=t.resolve(n,"assets.json"),!_t(l))return console.log(Se.red("No asset here yet")),[2];for(m in d=JSON.parse(e.readFileSync(l,"utf8")),p=[],h=[],f={},d)for(f[p.length]={name:o[m],address:null},p.push(new r.Separator("----- Networks (".concat(o[m],") -------"))),v=Be(n,o[m]),w=d[m].length,S=0;S<w;S++)b=d[m][S],v.includes(b.address)&&h.push("".concat(S+1,".").concat(b.symbol.padEnd(6)," CA: ").concat(Se.green("".concat(Tt(b.address).padEnd(45)))," Decimals: ").concat(b.display_decimals?b.display_decimals:"4")),f[p.length]={name:o[m],address:b.address},p.push("".concat(S+1,".").concat(b.symbol.padEnd(6)," CA: ").concat(Se.green("".concat(Tt(b.address).padEnd(45)))," Decimals: ").concat(b.display_decimals?b.display_decimals:"4"));return[4,vt(p,"Choose Tokens",h)];case 1:for(y=g.sent(),k={},S=0;S<y.length;S++)x=y[S],N=p.indexOf(x),(O=f[N]).name in k?k[O.name].push(O.address):k[O.name]=[O.address];return s.showTokens=k,e.writeFileSync(a,JSON.stringify(s,null,2)),[2]}}))}))},je=function(e){return v(void 0,void 0,void 0,(function(){var t,n;return g(this,(function(a){switch(a.label){case 0:return t=["> Status","> Token List","> Add Token",new r.Separator("----------------------------------"),"> Back"],[4,mt(t)];case 1:switch(n=a.sent(),n){case"> Status":return[3,2];case"> Token List":return[3,4];case"> Add Token":return[3,6];case"> Back":return[3,8]}return[3,9];case 2:return[4,Ce(e)];case 3:case 5:case 7:return a.sent(),[3,9];case 4:return[4,Le(e)];case 6:return[4,Xe(e)];case 8:return[2];case 9:return[4,je(e)];case 10:return a.sent(),[2]}}))}))},Ie=function(e){return v(void 0,void 0,void 0,(function(){var t,n;return g(this,(function(a){switch(a.label){case 0:return t=["> Networks","> Dataview",new r.Separator("----------------------------------"),"> Back"],[4,mt(t)];case 1:switch(n=a.sent(),n){case"> Networks":return[3,2];case"> Dataview":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Ae(e)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,_e(e)];case 6:return[2];case 7:return[4,Ie(e)];case 8:return a.sent(),[2]}}))}))},Re=function(n){return v(void 0,void 0,void 0,(function(){var r,a,s;return g(this,(function(o){switch(o.label){case 0:return r=t.resolve(n,"network.json"),a=JSON.parse(e.readFileSync(r,"utf8")),s=a.networks.map((function(e){return"> ".concat(e.name)})),[4,mt(s,"Please select a default network")];case 1:return[2,o.sent().slice(2)]}}))}))},ze=function(n,r){for(var a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=0;o<s.networks.length;o++){var c=s.networks[o];if(c.name===r)return I(c.chainId.toString())}return"unknown"},qe=function(n,r){for(var a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=0;o<s.networks.length;o++){var c=s.networks[o];if(c.name===r)return c}return null},Je=function(e,t,n){var r=ue(e,t);if("PK"===r.account_type)return r.data[n].ciphertexts.address;var a=r.default_network,s=ze(e,a);return"solana"===s?r.data[n].ciphertexts.solana.address:"evm"===s?r.data[n].ciphertexts.evm.address:null},Ue=function(n,r,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u,l,d,p,h,f,m;return g(this,(function(v){for(s=t.resolve(n,"network.json"),o=JSON.parse(e.readFileSync(s,"utf8")),c=o.networks,i=c.length,u=ue(n,r),l=u.default_network,d=ze(n,l),p=0;p<i;p++)h=c[p],f=ze(n,h.name),"PK"===u.account_type&&d!==f||(m=void 0,m="PK"===u.account_type?u.data[a].ciphertexts.address:"evm"===f?u.data[a].ciphertexts.evm.address:u.data[a].ciphertexts.solana.address,h.name===l?console.log("● ".concat(m," [").concat(h.name,"]")):console.log("○ ".concat(m," [").concat(h.name,"]")));return[2]}))}))},Ee=function(n,a,s){return v(void 0,void 0,void 0,(function(){var o,c,i,u,l,d,p,h,f,m,v,w,b,y,k,S,x;return g(this,(function(g){switch(g.label){case 0:for(o=t.resolve(n,"network.json"),c=JSON.parse(e.readFileSync(o,"utf8")),i=c.networks,u=i.length,l=ue(n,a),d=["> Back",new r.Separator("----------------------------------")],p=l.default_network,h="",s||(h=l.ciphertexts.address),f=[],m=ze(n,p),v=0;v<u;v++)w=i[v],b=ze(n,w.name),"PK"===l.account_type&&m!==b||(w.name===p?s?d.push("● ".concat(w.name)):d.push("● ".concat(h," [").concat(w.name,"]")):s?d.push("○ ".concat(w.name)):d.push("○ ".concat(h," [").concat(w.name,"]")),f.push(w.name));return[4,mt(d)];case 1:return"> Back"===(y=g.sent())||(k=d.indexOf(y),l.default_network=f[k-2],le(n,a,l),s||(S=l.default_network,x=qe(n,S),console.log(Se.green(" Address No: #0\n Network: ".concat(S,"\n ").concat(x.nativeCurrency.symbol," Balance: 0"))))),[2]}}))}))},Me=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r,a,s,o,c;return g(this,(function(i){switch(i.label){case 0:return r=qe(t,n),a=r.rpcUrl,s=r.nativeCurrency.decimals,"solana"!==I(r.chainId.toString())?[3,2]:[4,k(e,a)];case 1:return o=i.sent(),[3,4];case 2:return[4,y(e,a)];case 3:o=i.sent(),i.label=4;case 4:return o.status&&(c=new m(o.output.toString()),o.output=c.dividedBy(Math.pow(10,s)).toFixed(4,m.ROUND_FLOOR)),C(r.chainId.toString(),[e],["0"]),[2,o]}}))}))},De=function(e,t,n){var r=ue(e,t);if("PK"===r.account_type)return r.default_network;for(var a=0;a<r.data.length;a++)if(r.data[a].ciphertexts.solana.address===n||r.data[a].ciphertexts.evm.address===n)return"default_network"in r.data[a]?r.data[a].default_network:r.default_network;return null},Ge=function(n){for(var r=t.resolve(n,"network.json"),a=JSON.parse(e.readFileSync(r,"utf8")).networks,s=a.length,o=[],c=0;c<s;c++)"evm"===I(a[c].chainId.toString())&&o.push(a[c].name);return o},Ke=function(n){var r=t.resolve(n,"network.json");return JSON.parse(e.readFileSync(r,"utf8")).status},We=require("chalk"),$e=function(n,r){return v(void 0,void 0,void 0,(function(){var a,s,o;return g(this,(function(c){return a=t.join(n,"assets.json"),_t(a)?(s=e.readFileSync(a).toString(),o=JSON.parse(s),r in o?[2,o[r]]:[2,[]]):[2,[]]}))}))},He=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r,a,s;return g(this,(function(o){switch(o.label){case 0:return[4,$e(e,t)];case 1:for(r=o.sent(),a=[],s=0;s<r.length;s++)r[s].symbol.toLocaleLowerCase()===n.toLocaleLowerCase()&&a.push(r[s]);return[2,a]}}))}))},Ze=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r,a,s,o,c,i;return g(this,(function(u){switch(u.label){case 0:return r=qe(e,t),a=I(r.chainId.toString()),[4,$e(e,r.chainId.toString())];case 1:return(s=u.sent())?[4,Qe(n,s,r.rpcUrl,a,r.chainId.toString())]:(console.log(We.red("No asset found")),[2]);case 2:for(o=u.sent(),c=1,i=0;i<o.length;i++)"0"!==o[i].balance&&"0.0000"!==o[i].balance&&(console.log(We.green("".concat(c,". ").concat(o[i].symbol," Balance: ").concat(o[i].balance))),c+=1);return 1===c&&console.log(We.red("No asset found")),[2]}}))}))},Ve=function(n,r,a,s,o,c,i){return v(void 0,void 0,void 0,(function(){var u,l,d,p;return g(this,(function(h){for(u=t.join(n,"assets.json"),l={},_t(u)&&(d=e.readFileSync(u).toString(),l=JSON.parse(d)),void 0===l[r]&&(l[r]=[]),p=0;p<l[r].length;p++)if(l[r][p].address.toLocaleLowerCase()===a.toLocaleLowerCase()||l[r][p].symbol.toLocaleLowerCase()===s.toLocaleLowerCase())return l[r][p]={address:a,symbol:s,name:o,decimals:c,display_decimals:i},e.writeFileSync(u,JSON.stringify(l,null,4)),[2];return l[r].push({address:a,symbol:s,name:o,decimals:c,display_decimals:i}),e.writeFileSync(u,JSON.stringify(l,null,4)),[2]}))}))},Xe=function(n){return v(void 0,void 0,void 0,(function(){var r,a,s,o,c,i,u,l,d,p,h,f,m,v;return g(this,(function(g){switch(g.label){case 0:for(r=t.resolve(n,"network.json"),a=JSON.parse(e.readFileSync(r,"utf8")),s=[],o=a.networks,c=0;c<o.length;c++)s.push("".concat(c+1,". ").concat(o[c].name));return[4,mt(s)];case 1:return i=g.sent(),u=i.split(".")[1].trim(),l=ze(n,u),d=qe(n,u),[4,rt("Enter contract address",ft)];case 2:return p=g.sent(),"evm"!==l?[3,4]:(w=p).startsWith("0x")&&42===w.length?[4,S(p,d.rpcUrl)]:(console.log(We.red("evm address format error")),[2]);case 3:return h=g.sent(),[3,6];case 4:return function(e){return/^[A-HJ-NP-Za-km-z1-9]*$/.test(e)}(p)?[4,x(p,d.rpcUrl)]:(console.log(We.red("solana address format error")),[2]);case 5:h=g.sent(),g.label=6;case 6:return h.status?h.output.name?[3,8]:(f=h.output,[4,rt("Please input token name")]):(console.log(We.red(h.output)),[2]);case 7:f.name=g.sent(),g.label=8;case 8:return h.output.symbol?[3,10]:(m=h.output,[4,rt("Please input token symbol")]);case 9:m.symbol=g.sent(),g.label=10;case 10:return console.log(We.green("Token ".concat(h.output.symbol,"(").concat(h.output.name,") loaded successfully."))),[4,rt("Enter decimals for display",it)];case 11:return v=g.sent(),v=parseInt(v),[4,Ve(n,d.chainId.toString(),p,h.output.symbol,h.output.name,h.output.decimals,v)];case 12:return g.sent(),[2]}var w}))}))},Qe=function(e,t,n,r,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u,l,d,p,h;return g(this,(function(f){switch(f.label){case 0:for(s=t.length,o=[],u=0;u<s;u++)l=t[u],"evm"===r?o.push(N(e,l.address,n)):"solana"===r&&o.push(O(e,l.address,n));return[4,Promise.all(o)];case 1:for(c=f.sent(),i=[],u=0;u<s;u++){if(l=t[u],d=l.decimals,!c[u].status)return console.log(We.red(c[u].output)),[2,null];p=new m(c[u].output),h=p.dividedBy(Math.pow(10,d)).toFixed(4,m.ROUND_FLOOR),i.push({address:l.address,symbol:l.symbol,balance:h}),C(a,[e],[l.address])}return C(a,[e],["0"]),[2,i]}}))}))},Ye=function(e,t,n,r,a,s,o){return v(void 0,void 0,void 0,(function(){var c,i,u,l,d,p,h,f,v;return g(this,(function(g){switch(g.label){case 0:return c=n.length,i=qe(e,a),u=I(i.chainId.toString()),l="evm"===u,s?[4,_(t,"0",i.chainId.toString(),r,l)]:[3,2];case 1:g.sent(),g.label=2;case 2:if(!o)return[3,6];d=Be(e,a),p=0,g.label=3;case 3:return p<c?(h=n[p],f=h.address,d.includes(f)?[4,_(t,f,i.chainId.toString(),r,l)]:[3,5]):[3,6];case 4:g.sent(),g.label=5;case 5:return p++,[3,3];case 6:return v=function(e,t,n,r){var a={};if(!(e in w))return a;n.unshift({address:"0",name:r.nativeCurrency.name,symbol:r.nativeCurrency.symbol,decimals:r.nativeCurrency.decimals,display_decimals:4});for(var s=t.length,o=0;o<s;o++){var c=t[o];if(c)for(var i=0;i<n.length;i++){var u=n[i],l="0";w[e][u.address]&&(c in w[e][u.address]&&(l=new m(w[e][u.address][c]).dividedBy(Math.pow(10,u.decimals)).toFixed(u.display_decimals||4,m.ROUND_FLOOR)),a[c]||(a[c]={}),a[c][u.symbol]=l)}}return a}(i.chainId.toString(),t,n,i),[2,v]}}))}))},et=require("chalk"),tt=process.env.HOME||process.env.USERPROFILE,nt="".concat(tt,"/.wative"),rt=function(e,t){return v(void 0,void 0,void 0,(function(){var n;return g(this,(function(a){switch(a.label){case 0:return n=[{name:"inputText",type:"input",message:"".concat(e,":"),validate:t}],[4,r.prompt(n)];case 1:return[2,a.sent().inputText.trim().toString()]}}))}))},at=function(e){return v(void 0,void 0,void 0,(function(){var t,n,r;return g(this,(function(a){switch(a.label){case 0:t=0,a.label=1;case 1:return t<5?[4,st(e,"Input start address or index")]:[3,5];case 2:return(n=a.sent())?[4,st(e,"Input end address or index")]:(console.log(et.red("Invalid start account index")),[2,null]);case 3:return(r=a.sent())?n>r?(console.log(et.red("Invalid address range")),[3,4]):[2,{from:n,to:r}]:(console.log(et.red("Invalid end account index")),[2,null]);case 4:return t++,[3,1];case 5:return[2,null]}}))}))},st=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,i,u;return g(this,(function(l){switch(l.label){case 0:if(n=e.data,0===(r=n.length))return[2,null];for(a=[],s=[],c=0;c<r;c++)a.push(n[c].ciphertexts.evm.address.toLocaleLowerCase()),s.push(n[c].ciphertexts.solana.address.toLocaleLowerCase());o=r-1,c=0,l.label=1;case 1:return c<5?[4,rt(t,ht)]:[3,4];case 2:if(i=l.sent(),"unknown"===(u=At(i)))return Number(i)>o?(console.log(et.red("Invalid account index")),[3,3]):[2,Number(i)];if("evm"===u&&-1!==a.indexOf(i.toLocaleLowerCase()))return[2,a.indexOf(i.toLocaleLowerCase())];if("solana"===u&&-1!==s.indexOf(i.toLocaleLowerCase()))return[2,s.indexOf(i.toLocaleLowerCase())];l.label=3;case 3:return c++,[3,1];case 4:return[2,null]}}))}))},ot=function(e){return""===e||((e=e.replace(/\s+/g," ").trim()).length>40?"Tag length should be less than 10":!1!==/^[0-9a-zA-Z\s]*$/g.test(e)||"Tag should be alphanumeric")},ct=function(e){return!(e.length<6)||"Address length should be greater than 6"},it=function(e){return!isNaN(Number(e))||"Value should be a number"},ut=function(e){return!(isNaN(Number(e))||Number(e)>1e3)||"Value should be a number"},lt=function(e){var t=(e=e.replace(/\s+/g," ")).split(/\s+/g);if(12!==t.length)return"Passphrase should be equal to 12 words";for(var n=0;n<t.length;n++)if(!1===T.includes(t[n]))return"Passphrase word should be valid";return!0},dt=function(e){var t=Number(e);return isNaN(t)?"Amount should be a number":!(t>2e3)||"Amount should be less than 2000"},pt=function(e){var t=Number(e);return!isNaN(t)||"Last account no should be a number"},ht=function(e){return!1===isNaN(Number(e))||ft(e)},ft=function(e){return"unknown"!=At(e)||"Address should be valid"},mt=function(e,t,n){return v(void 0,void 0,void 0,(function(){var a;return g(this,(function(s){switch(s.label){case 0:return a=[{type:"list",name:"inputText",message:t||"Choose an option",default:n,choices:e,pageSize:30,filter:function(e){return e}}],[4,r.prompt(a)];case 1:return[2,s.sent().inputText.toString()]}}))}))},vt=function(e,t,n){return v(void 0,void 0,void 0,(function(){var a;return g(this,(function(s){switch(s.label){case 0:return a=[{type:"checkbox",name:"inputText",message:t||"Choose an option",default:n,choices:e,pageSize:30,filter:function(e){return e}}],[4,r.prompt(a)];case 1:return[2,s.sent().inputText]}}))}))},gt=function(e,t){return void 0===t&&(t=!1),v(void 0,void 0,void 0,(function(){var n,r;return g(this,(function(a){switch(a.label){case 0:n=0,a.label=1;case 1:return n<5?[4,rt(e)]:[3,4];case 2:if(""===(r=a.sent())&&t)return[2,null];if(/^[0-9]*$/g.test(r))return[2,r];a.label=3;case 3:return n++,[3,1];case 4:return[2,null]}}))}))},wt=function(e,t,n){return void 0===n&&(n=!1),v(void 0,void 0,void 0,(function(){var r,a,s,o;return g(this,(function(c){switch(c.label){case 0:r=0,c.label=1;case 1:return r<5?[4,rt(t)]:[3,7];case 2:a=c.sent(),c.label=3;case 3:return c.trys.push([3,5,,6]),""===a&&n?[2,null]:"solana"===I(e.toString())?[2,a]:[4,b(a)];case 4:return(s=c.sent()).status?s.output.toString()===e.toString()?[2,a]:(console.log(et.red("Rpc url not match chain id")),[3,6]):(console.log(et.red(s.output)),[3,6]);case 5:return o=c.sent(),console.log(et.red(o.message)),[3,6];case 6:return r++,[3,1];case 7:return[2,null]}}))}))},bt=function(e){return v(void 0,void 0,void 0,(function(){var t,n;return g(this,(function(r){switch(r.label){case 0:t=0,r.label=1;case 1:return t<5?[4,rt(e)]:[3,4];case 2:if(""===(n=r.sent()))return[2,null];if(""!==n&&42!==n.length)return console.log(et.red("Multicall address length must be 42")),[3,3];r.label=3;case 3:return t++,[3,1];case 4:return[2,null]}}))}))},yt=function(e){return v(void 0,void 0,void 0,(function(){var t,n,r;return g(this,(function(a){switch(a.label){case 0:t=/^[A-Za-z][0-9a-zA-Z]*$/g,n=0,a.label=1;case 1:return n<5?[4,rt(e)]:[3,4];case 2:if(""===(r=a.sent()))return[2,null];if(t.test(r))return[2,r];a.label=3;case 3:return n++,[3,1];case 4:return[2,null]}}))}))},kt=function(e){return v(void 0,void 0,void 0,(function(){var t,n,r;return g(this,(function(a){switch(a.label){case 0:t=/^#[0-9A_F]{6}$/g,n=0,a.label=1;case 1:return n<5?[4,rt(e)]:[3,4];case 2:if(""===(r=a.sent()))return[2,null];if(t.test(r))return[2,r];a.label=3;case 3:return n++,[3,1];case 4:return[2,null]}}))}))},St=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r,a;return g(this,(function(s){switch(s.label){case 0:n=/^(?![-_]).*?[a-zA-Z0-9_-]{4,20}(?<![-_])$/g,r=0,s.label=1;case 1:return r<5?[4,rt(e)]:[3,4];case 2:if(a=(a=s.sent()).trim(),n.test(a))return t.includes(a)?(console.log(et.red("Account label already exists")),[3,3]):[2,a];s.label=3;case 3:return r++,[3,1];case 4:return[2,null]}}))}))},xt=function(e){return v(void 0,void 0,void 0,(function(){var t,n,a;return g(this,(function(s){switch(s.label){case 0:return t=0,n=[{name:"password",type:"password",mask:"#",message:"".concat(e,":"),validate:function(e){return t>=3||(n=e,r="Password must contain at least: \n",a=!0,s=" ",o=et.green("✔"),c=et.red("✖"),n.length>=8?r+=s+o+" 8 characters\n":(r+=s+c+" 8 characters\n",a=!1),/[0-9]/.test(n)?r+=s+o+" One numerical character\n":(r+=s+c+" One numerical character\n",a=!1),/[A-Z]/.test(n)?r+=s+o+" One uppercase letter\n":(r+=s+c+" One uppercase letter\n",a=!1),/[!@#$%]/.test(n)?r+=s+o+" One sepcial character (i.e. !@#$%)\n":(r+=s+c+" One sepcial character (i.e. !@#$%)\n",a=!1),!!a||r);var n,r,a,s,o,c}}],[4,r.prompt(n)];case 1:return a=s.sent().password,t>=3&&(a=null),[2,a]}}))}))},Nt=function(e){return v(void 0,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return t=[{name:"confirm",type:"confirm",message:"".concat(e)}],[4,r.prompt(t)];case 1:return[2,n.sent().confirm]}}))}))},Ot=function(e,t){return v(void 0,void 0,void 0,(function(){var n;return g(this,(function(a){switch(a.label){case 0:return n=[{name:"editor",type:"editor",message:"".concat(e),validate:t}],[4,r.prompt(n)];case 1:return[2,a.sent().editor.trim().toString()]}}))}))},Pt=function(e){return!!/^0x[0-9a-fA-F]*$/g.test(e.trim())},Ft=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r,a;return g(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),[4,e.apply(void 0,t)];case 1:return r=s.sent(),n={status:!0,output:r},[3,3];case 2:return a=s.sent(),n={status:!1,output:a.toString()},[3,3];case 3:return[2,n]}}))}))},At=function(e){return e.startsWith("0x")&&42===e.length?"evm":/^[A-HJ-NP-Za-km-z1-9]*$/.test(e)&&e.length<=44&&e.length>=32?"solana":"unknown"},_t=function(t){return t=t.trim(),e.existsSync(t)},Ct=function(e){return new Promise((function(t){return setTimeout(t,e)}))},Tt=function(e,t){return void 0===t&&(t=!0),t?e:e.startsWith("0x")?e.slice(0,8)+"..."+e.slice(-6):e.slice(0,6)+"..."+e.slice(-6)},Bt=function(e,t,n,a,s,o,c,i,u){return v(void 0,void 0,void 0,(function(){var l,d,p,h,f,m,v,w,b,y,k,S,x,N,O,P,F,A,_,C,T,B,L,j,I,R;return g(this,(function(g){switch(g.label){case 0:l=[{type:"list",name:"inputText",message:i||"Choose an option",choices:e,pageSize:30,default:u,filter:function(e){return e}}],d=r.prompt(l),p=0,h=0,g.label=1;case 1:return d.ui.activePrompt.answers[d.ui.activePrompt.opt.name]?[3,4]:[4,Ct(2e3)];case 2:if(g.sent(),f===d.ui.activePrompt.selected)return[3,1];if(p===d.ui.activePrompt.selected?h+=1:(h=0,p=d.ui.activePrompt.selected),h<5)return[3,1];for(h=0,m=d.ui.activePrompt.opt.pageSize,v=[],A=0;A<d.ui.activePrompt.opt.choices.choices.length;A++)d.ui.activePrompt.opt.choices.choices[A].name?(w=null,t?w=(w=/0x[0-9a-fA-f]{40}/.exec(d.ui.activePrompt.opt.choices.choices[A].name))?w[0]:null:(b=w=/\s+([0-9a-zA-Z]*)/.exec(d.ui.activePrompt.opt.choices.choices[A].name),"Back"===(w=b?b[1]:null)&&(w=null)),w?v.push(w):v.push(null)):v.push(null);return v=v.concat(v),y=void 0,k=void 0,p<m/2?v.length/2<=m?(y=0,k=v.length/2):(y=0,k=m):v.length/2<=m?(y=0,k=v.length/2):(y=p-m/2+1,k=p+m/2+1),S=v.slice(y,k),[4,Ye(n,S,a,s.rpcUrl,s.name,o,c)];case 3:for(B in x=g.sent(),N={},x)for(j in x[B])O=x[B][j],P=O.length+1,N[j]?N[j]<P&&(N[j]=P):N[j]=P;for(F=s.nativeCurrency.symbol,A=y;A<k;A++)if(_=A>=v.length/2?A-v.length/2:A,(C=d.ui.activePrompt.opt.choices.choices[_]).name){for(j in T=C.name,B=v[A],L="",x[B])(o||j!==F)&&(c||j===F)&&(T.includes(j)||(L+="".concat(j,":").concat(x[B][j].padEnd(N[j])," ")));(I=T.split("(")).length>1?(R=I[1],d.ui.activePrompt.opt.choices.choices[_].name=I[0]+" ".concat(L)+"(".concat(R)):d.ui.activePrompt.opt.choices.choices[_].name=I[0]+" ".concat(L)}return d.ui.activePrompt.screen.render(""),d.ui.activePrompt.render(),f=p,[3,1];case 4:return[2,d.ui.activePrompt.answers[d.ui.activePrompt.opt.name]]}}))}))};require("wative-core").WativeCore;var Lt=function(e,t){return v(void 0,void 0,void 0,(function(){var n;return g(this,(function(r){switch(r.label){case 0:return[4,mt(["> System & Settings","> Accounts","> Tools","> Exit"])];case 1:switch(n=r.sent(),n){case"> System & Settings":return[3,2];case"> Accounts":return[3,4];case"> Tools":return[3,6];case"> Exit":return[3,8]}return[3,9];case 2:return[4,Ie(e)];case 3:case 5:case 7:return r.sent(),[3,9];case 4:return[4,ke(e,t)];case 6:return[4,Q(e,t)];case 8:return[2];case 9:return[4,Lt(e,t)];case 10:return r.sent(),[2]}}))}))},jt=require("wative-core").WativeCore,It=require("../package.json");require("events").EventEmitter.defaultMaxListeners=0;process.on("unhandledRejection",(function(e,t){console.log("Unhandled Rejection at:",t,"reason:",e)})),v(void 0,void 0,void 0,(function(){var r,a,s,o;return g(this,(function(c){switch(c.label){case 0:return console.log("version:",It.version),console.log(et.green(n.textSync("Wative",{font:"Ghost",horizontalLayout:"default",verticalLayout:"default"}))),[4,v(void 0,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return[4,rt("Keystore storage located in (default: ".concat(nt,")"))];case 1:return(t=n.sent())||(t=nt),t=(t=t.trim()).replace("~",tt),e.existsSync(t)||e.mkdirSync(t,{recursive:!0}),[2,t]}}))}))];case 1:return r=c.sent(),[4,xe(r)];case 2:return c.sent(),function(n){var r=t.resolve(n,"network.json"),a=JSON.parse(e.readFileSync(r,"utf8"));a.status||(a.status={fullAddr:!0,gasToken:!1,extendedToken:!1}),a.showTokens||(a.showTokens={});for(var s=a.accounts.length,o=0;o<s;o++){var c=a.accounts[s-1-o],i=t.resolve(n,"accounts/".concat(c,".json"));e.existsSync(i)||a.accounts.splice(s-1-o,1)}e.writeFileSync(r,JSON.stringify(a,null,4));var u=a.accounts;for(o=0;o<u.length;o++){i=t.resolve(n,"accounts/".concat(u[o],".json"));var l=JSON.parse(e.readFileSync(i,"utf8"));"PP"!==l.account_type&&("data"in l||(l.data=[{ciphertexts:l.ciphertexts}],delete l.ciphertexts,e.writeFileSync(i,JSON.stringify(l,null,4))))}}(r),a=t.resolve(r,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=new jt(r,s.accounts,null,!0),[4,Lt(r,o)];case 3:return c.sent(),[2]}}))})).then((function(){return process.exit(0)})).catch((function(e){console.log(e.message),process.exit(1)}));
|
|
1
|
+
import*as e from"fs";import*as t from"path";import*as n from"figlet";import r from"inquirer";import a from"web3";import{Connection as s,PublicKey as o,Transaction as c,ComputeBudgetProgram as i,SystemProgram as u}from"@solana/web3.js";import{getAssociatedTokenAddressSync as l,getMint as d,createTransferInstruction as p,createAssociatedTokenAccountInstruction as h}from"@solana/spl-token";import{Metaplex as f}from"@metaplex-foundation/js";import{BigNumber as m}from"bignumber.js";function v(e,t,n,r){return new(n||(n=Promise))((function(a,s){function o(e){try{i(r.next(e))}catch(e){s(e)}}function c(e){try{i(r.throw(e))}catch(e){s(e)}}function i(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,c)}i((r=r.apply(e,t||[])).next())}))}function g(e,t){var n,r,a,s,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return s={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function c(c){return function(i){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==c[0]&&2!==c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,i])}}}"function"==typeof SuppressedError&&SuppressedError;var w={},b=function(e){return v(void 0,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return t=new a(e),[4,Ft(t.eth.getChainId,[])];case 1:return[2,n.sent()]}}))}))},y=function(e,t){return v(void 0,void 0,void 0,(function(){var n;return g(this,(function(r){switch(r.label){case 0:return n=new a(t),[4,Ft(n.eth.getBalance,[e])];case 1:return[2,r.sent()]}}))}))},k=function(e,t){return v(void 0,void 0,void 0,(function(){var n;return g(this,(function(r){switch(r.label){case 0:return n=new s(t),[4,Ft(n.getBalance.bind(n),[new o(e)])];case 1:return[2,r.sent()]}}))}))},S=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r,s,o,c;return g(this,(function(i){switch(i.label){case 0:return n=new a(t),r=new n.eth.Contract([{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"}],e),[4,Ft(r.methods.symbol().call.bind(r),[])];case 1:return s=i.sent(),[4,Ft(r.methods.name().call.bind(r),[])];case 2:return o=i.sent(),[4,Ft(r.methods.decimals().call.bind(r),[])];case 3:return c=i.sent(),s.status&&o.status&&c.status?[2,{status:!0,output:{symbol:s.output,name:o.output,decimals:c.output}}]:[2,{status:!1,output:"Failed to get token info"}]}}))}))},x=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r,a,c,i,u,l;return g(this,(function(p){switch(p.label){case 0:return n=new s(t),r=f.make(n),a=new o(e),[4,Ft(d,[n,a])];case 1:if(c=p.sent(),i={status:!0,output:{symbol:"",name:"",decimals:""}},!c.status)return[2,{status:!1,output:"Failed to get token decimals"}];i.output.decimals=c.output.decimals,p.label=2;case 2:return p.trys.push([2,6,,7]),u=r.nfts().pdas().metadata({mint:a}),[4,n.getAccountInfo(u)];case 3:return p.sent()?[4,r.nfts().findByMint({mintAddress:a})]:[3,5];case 4:l=p.sent(),i.output.name=l.name,i.output.symbol=l.symbol,p.label=5;case 5:return[3,7];case 6:return p.sent(),[2,{status:!1,output:"Failed to get token name"}];case 7:return[2,i]}}))}))},N=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r,s,o;return g(this,(function(c){switch(c.label){case 0:return r=new a(n),s=new r.eth.Contract([{constant:!0,inputs:[{name:"who",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"}],t),[4,Ft(s.methods.balanceOf(e).call.bind(s),[])];case 1:return(o=c.sent()).status?[2,{status:!0,output:o.output}]:[2,{status:!1,output:"Failed to get token balance"}]}}))}))},O=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r,a,c;return g(this,(function(i){switch(i.label){case 0:return r=new s(n),a=l(new o(t),new o(e)),[4,Ft(r.getTokenAccountBalance.bind(r),[a])];case 1:return(c=i.sent()).status?[2,{status:!0,output:c.output.value.amount}]:c.output.includes("could not find account")?[2,{status:!0,output:"0"}]:[2,{status:!1,output:"Failed to get token balance"}]}}))}))},P=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r;return g(this,(function(s){return r=new a(n),[2,r.eth.abi.encodeFunctionCall({constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},[e,t])]}))}))},F=function(e){return v(void 0,void 0,void 0,(function(){var t,n,r,a;return g(this,(function(o){switch(o.label){case 0:return t=new s(e),[4,Ft(t.getRecentPrioritizationFees.bind(t),[])];case 1:return(n=o.sent()).status?(r=n.output,a=r.map((function(e){return e.prioritizationFee})).sort(),[2,{status:!0,output:a.length>0?Math.ceil(a.reduce((function(e,t){return e+t}))/a.length):1e3}]):[2,{status:!1,output:"Failed to get recent prioritization fees"}]}}))}))},A=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r;return g(this,(function(a){switch(a.label){case 0:return n=new s(t),[4,Ft(n.getAccountInfo.bind(n),[new o(e.toString())])];case 1:return(r=a.sent()).status?[2,{status:!0,output:r.output}]:[2,{status:!1,output:"Failed to get account info"}]}}))}))},_=function(e,t,n,r,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u;return g(this,(function(l){switch(l.label){case 0:n in w?s=w[n][t]||{}:(w[n]={},s={}),o=0,c=e,l.label=1;case 1:return o<c.length?(i=c[o])?i in s?[3,12]:(u=void 0,"0"!==t?[3,6]:a?[4,y(i,r)]:[3,3]):[3,12]:[3,13];case 2:return u=l.sent(),[3,5];case 3:return[4,k(i,r)];case 4:u=l.sent(),l.label=5;case 5:return[3,10];case 6:return a?[4,N(i,t,r)]:[3,8];case 7:return u=l.sent(),[3,10];case 8:return[4,O(i,t,r)];case 9:u=l.sent(),l.label=10;case 10:return u.status&&(s[i]=u.output),[4,Ct(200)];case 11:l.sent(),l.label=12;case 12:return o++,[3,1];case 13:return w[n][t]=s,[2,w]}}))}))},C=function(e,t,n){for(var r=0;r<t.length;r++)for(var a=t[r],s=0;s<n.length;s++){var o=n[s];try{delete w[e][o][a]}catch(e){}}},T=["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"],B=[{name:"Ethereum Mainnet",chainId:1,rpcUrl:"https://eth.llamarpc.com",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},multicallAddress:"0xeefBa1e63905eF1D7ACbA5a8513c70307C1cE441"},{name:"Solana Mainnet",chainId:901,rpcUrl:"https://api.mainnet-beta.solana.com",nativeCurrency:{name:"SOL",symbol:"SOL",decimals:9}}],L=["901","902","903"],j=function(e){return L.includes(e)?9:18},I=function(e){return L.includes(e)?"solana":"evm"},R=require("bn.js").BN,z=require("ethereumjs-util").stripHexPrefix,q=require("bignumber.js").BigNumber;function J(e){return new R(z(e.toString("hex")),16)}var U=function(e){return e.match(/^-?0x/u)?e:e.match(/^-?0X/u)?e.replace("0X","0x"):e.startsWith("-")?e.replace("-","-0x"):"0x".concat(e)};function E(e){return U(e.toString(16))}var M=function(){function e(e){this.query=new a(a.givenProvider||e).eth}return e.prototype.analyzeGasUsage=function(e){return v(this,void 0,void 0,(function(){var t,n,r,a,s,o;return g(this,(function(c){switch(c.label){case 0:return[4,this.query.getBlock("latest",!1)];case 1:t=c.sent(),n=J(t.gasLimit),i=n,u=20,l=new R(19),d=new R(u),r=i.mul(l).div(d),a=E(r),c.label=2;case 2:return c.trys.push([2,4,,5]),[4,this.estimateTxGas(e)];case 3:return a=c.sent(),[3,5];case 4:return o=c.sent(),s={reason:o.message,errorKey:o.errorKey,debug:{blockNumber:t.number,blockGasLimit:t.gasLimit}},[3,5];case 5:return[2,{blockGasLimit:t.gasLimit,estimatedGasHex:a,simulationFails:s}]}var i,u,l,d}))}))},e.prototype.estimateTxGas=function(e){return v(this,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return[4,this.query.estimateGas(e)];case 1:return t=n.sent(),[2,t=new q(t.toString()).multipliedBy(1.3).toFixed(0)]}}))}))},e.prototype.addGasBuffer=function(e,t,n){void 0===n&&(n=1.3);var r=J(e),a=J(t).muln(.9),s=r.muln(n);return r.gt(a)?E(r):s.lt(a)?E(s):E(a)},e.prototype.getBufferedGasLimit=function(e,t){return v(this,void 0,void 0,(function(){var n,r,a,s;return g(this,(function(o){switch(o.label){case 0:return[4,this.analyzeGasUsage(e)];case 1:return n=o.sent(),r=n.blockGasLimit,a=n.estimatedGasHex,s=n.simulationFails,[2,{gasLimit:this.addGasBuffer(U(a),r,t),simulationFails:s}]}}))}))},e.prototype.getGasPrice=function(){return v(this,void 0,void 0,(function(){return g(this,(function(e){switch(e.label){case 0:return[4,this.query.getGasPrice()];case 1:return[2,e.sent()]}}))}))},e.prototype.getTransactionCount=function(e){return v(this,void 0,void 0,(function(){return g(this,(function(t){switch(t.label){case 0:return[4,this.query.getTransactionCount(e)];case 1:return[2,t.sent()]}}))}))},e}(),D=require("chalk");require("wative-core").WativeCore;var G=function(e){return v(void 0,void 0,void 0,(function(){var t,n,a,s,o,c,i,u,l,d;return g(this,(function(p){switch(p.label){case 0:return t=[new r.Separator("————Tx Detail—————-"),"from: ".concat(e.from),"to: ".concat(e.to),"nonce: ".concat(e.nonce),"gasPrice: ".concat(e.gasPrice),"data: ".concat(e.data),"value: ".concat(e.value),"gas: ".concat(e.gas),new r.Separator("——————————————-"),"Send it now"],[4,mt(t)];case 1:return n=p.sent(),1!==(a=t.indexOf(n))?[3,3]:(s=e,[4,rt("from",ft)]);case 2:s.from=p.sent(),p.label=3;case 3:return 2!==a?[3,5]:(o=e,[4,rt("to",ft)]);case 4:o.to=p.sent(),p.label=5;case 5:return 3!==a?[3,7]:(c=e,[4,rt("nonce")]);case 6:c.nonce=p.sent(),p.label=7;case 7:return 4!==a?[3,9]:(i=e,[4,rt("gasPrice")]);case 8:i.gasPrice=p.sent(),p.label=9;case 9:return 5!==a?[3,11]:(u=e,[4,Ot("data")]);case 10:u.data=p.sent(),p.label=11;case 11:return 6!==a?[3,13]:(l=e,[4,rt("value")]);case 12:l.value=p.sent(),p.label=13;case 13:return 7!==a?[3,15]:(d=e,[4,rt("gas")]);case 14:d.gas=p.sent(),p.label=15;case 15:return 9===a?[2,e]:[4,G(e)];case 16:return[2,p.sent()]}}))}))},K=function(e,t,n,r,s){return v(void 0,void 0,void 0,(function(){var o,c,i,u,l,d,p,h,f,w,b,k,S,x,N,O,P,F,A,_,T,B,L,j;return g(this,(function(I){switch(I.label){case 0:return[4,rt("to",ft)];case 1:return o=I.sent(),[4,(c=new M(t)).getGasPrice()];case 2:return i=I.sent(),u=new m(i.toString()).dividedBy(1e9),l=u.toFixed(4,m.ROUND_FLOOR),[4,rt("Gas price (".concat(l,"), agree or enter"),ut)];case 3:return d=I.sent(),p=new m(p=d||l).multipliedBy(1e9).toFixed(0),[4,(R=o,z=t,v(void 0,void 0,void 0,(function(){var e,t;return g(this,(function(n){switch(n.label){case 0:return e=new a(z),[4,Ft(e.eth.getCode.bind(e),[R])];case 1:return(t=n.sent()).status?[2,{status:!0,output:t.output}]:[2,{status:!1,output:"Failed to get code"}]}}))})))];case 4:return(h=I.sent()).status?"0x"!==h.output?[3,7]:(f="0x",[4,y(r,t)]):(console.log(D.red(h.output)),[2]);case 5:return(b=I.sent()).status?(k=new m(b.output),S=new m(p),x=k.minus(S.multipliedBy(21e3)).toFixed(0,m.ROUND_FLOOR),N=new m(x).dividedBy(1e18).toFixed(4,m.ROUND_FLOOR),new m(N)<new m(0)?(console.log(D.red("Not enough balance")),[2]):[4,$(N,x,n,18)]):(console.log(D.red(b.output)),[2]);case 6:return w=I.sent(),[3,10];case 7:return[4,Ot("data",Pt)];case 8:return f=I.sent(),[4,rt("value",it)];case 9:w=I.sent(),I.label=10;case 10:return[4,c.getTransactionCount(r)];case 11:return O=I.sent(),[4,rt("Nonce (".concat(O,"), agree or enter"))];case 12:return P=I.sent(),F=P||O.toString(),A={from:r,to:o,nonce:F,gasPrice:p,data:f,value:w},"0x"!==f?[3,13]:(A.gas="21000",[3,18]);case 13:_=A.gasPrice,delete A.gasPrice,I.label=14;case 14:return I.trys.push([14,16,,17]),T=A,B="gas",[4,c.estimateTxGas(A)];case 15:return T[B]=I.sent().toString(),[3,17];case 16:return L=I.sent(),console.log(D.red("Error: "+L)),[2];case 17:A.gasPrice=_,I.label=18;case 18:return[4,G(A)];case 19:return A=I.sent(),[4,s.account.signTransaction(r,A,t)];case 20:return(j=I.sent()).status?(console.log(D.green("Transaction hash: ".concat(j.output.transactionHash))),s.account.sendSignedTransaction(r,j.output.rawTransaction,t),C(e,[r,o],["0"]),[2]):(console.log(D.red(j.output)),[2])}var R,z}))}))},W=function(e,t,n,r,a){return v(void 0,void 0,void 0,(function(){var s,l,d,p,h,f,v,w,b,y,S,x,N,O,P,A;return g(this,(function(g){switch(g.label){case 0:return[4,rt("to",ft)];case 1:return s=g.sent(),(l=(new c).add(u.transfer({fromPubkey:new o(r),toPubkey:new o(s),lamports:1}))).add(i.setComputeUnitLimit({units:2e5})),l.add(i.setComputeUnitPrice({microLamports:1e3})),l.feePayer=new o(r),[4,a.account.simulateTransaction(r,t,l)];case 2:return(d=g.sent()).status?(console.log("simulate_result: ",d),d.output&&d.output.value&&0!==d.output.value.unitsConsumed&&!d.output.value.err?(p=new m(d.output.value.unitsConsumed.toString()).multipliedBy(1.2).toFixed(0,m.ROUND_CEIL),h=new m(p),[4,F(t)]):(console.log(D.red("Simulate error")),[2])):(console.log(D.red(d.output)),[2]);case 3:return(f=g.sent()).status?(v=new m(f.output.toString()),w=h.multipliedBy(v).dividedBy(1e6).toFixed(0,m.ROUND_CEIL),[4,k(r,t)]):(console.log(D.red(f.output)),[2]);case 4:return(b=g.sent()).status?(y=new m(b.output),S=y.minus(5e3).minus(w),x=new m(S).dividedBy(1e9).toFixed(4,m.ROUND_FLOOR),new m(x)<new m(0)?(console.log(D.red("Not enough balance")),[2]):[4,$(x,S.toString(),n,9)]):(console.log(D.red(b.output)),[2]);case 5:return N=g.sent(),(O=new c).add(i.setComputeUnitLimit({units:Number(h)})),O.add(i.setComputeUnitPrice({microLamports:Number(v)})),O.add(u.transfer({fromPubkey:new o(r),toPubkey:new o(s),lamports:Number(N)})),l.feePayer=new o(r),[4,a.account.signTransaction(r,O,t)];case 6:return(P=g.sent()).status?[4,a.account.sendSignedTransaction(r,P.output,t)]:(console.log(D.red(P.output)),[2]);case 7:return(A=g.sent()).status?(C(e,[r,s],["0"]),console.log(D.green("Transaction hash: ".concat(A.output))),[2]):(console.log(D.red(A.output)),[2])}}))}))},$=function(e,t,n,r){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i;return g(this,(function(u){switch(u.label){case 0:return a=["> Input value","> Total Balance (".concat(e," ").concat(n,")")],[4,mt(a)];case 1:return s=u.sent(),o=a.indexOf(s),c="0",0!==o?[3,3]:[4,rt("value",it)];case 2:return i=u.sent(),c=new m(i).multipliedBy(Math.pow(10,r)).toFixed(0,m.ROUND_FLOOR),[3,4];case 3:1===o&&(c=t),u.label=4;case 4:return new m(c).isLessThanOrEqualTo(new m(t))?[2,c]:(console.log(D.red("Not enough balance")),[2,$(e,t,n,r)])}}))}))},H=function(e,t,n,r,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u,l,d,p,h,f,v,w,b,y,k,x,O,F,A,_,T,B,L,j,I,R,z,q,J,U,E,K,W,$;return g(this,(function(g){switch(g.label){case 0:return[4,mt(["> Input token ticker","> Input token contract address"])];case 1:switch(s=g.sent(),s){case"> Input token ticker":return[3,2];case"> Input token contract address":return[3,10]}return[3,13];case 2:return[4,rt("token ticker")];case 3:return i=g.sent(),[4,He(e,n,i)];case 4:if(0===(u=g.sent()).length)return console.log(D.red("Token not found")),[2];l=[],x=0,g.label=5;case 5:return x<u.length?[4,N(r,u[x].address,t)]:[3,8];case 6:if(!(d=g.sent()).status)return console.log(D.red(d.output)),[2];if(p=new m(d.output),h=p.dividedBy(Math.pow(10,Number(u[x].decimals))).toFixed(4,m.ROUND_FLOOR),1===u.length)return l.push("> 1. ".concat(i," Balance: ").concat(h)),[3,8];l.push("> ".concat(x+1,". ").concat(i," Balance: ").concat(h,"(").concat(u[x].address,")")),l.push(u[x].address),g.label=7;case 7:return x++,[3,5];case 8:return[4,mt(l)];case 9:return f=g.sent(),v=u[l.indexOf(f)],o=v.address,c=Number(v.decimals),[3,13];case 10:return[4,rt("token contract address",ft)];case 11:return o=g.sent(),[4,S(o,t)];case 12:return(w=g.sent()).status?(c=Number(w.output.decimals),[3,13]):(console.log(D.red(w.output)),[2]);case 13:return[4,rt("Receipt",ft)];case 14:return b=g.sent(),[4,N(r,o,t)];case 15:if(!(y=g.sent()).status)return console.log(D.red(y.output)),[2];x=0,g.label=16;case 16:return x<5?[4,rt("Amount",it)]:[3,19];case 17:if(O=g.sent(),new m(O).multipliedBy(Math.pow(10,Number(c))).isLessThanOrEqualTo(new m(y.output)))return k=O,[3,19];console.log(D.red("Not enough balance")),g.label=18;case 18:return x++,[3,16];case 19:return k?[4,(F=new M(t)).getGasPrice()]:[2];case 20:return A=g.sent(),_=new m(A.toString()).dividedBy(1e9),T=_.toFixed(4,m.ROUND_FLOOR),[4,rt("Gas price (".concat(T,"), agree or enter"),ut)];case 21:return B=g.sent(),L=new m(L=B||T).multipliedBy(1e9).toFixed(0),j=new m(k).multipliedBy(Math.pow(10,c)).toFixed(0),[4,P(b,j,t)];case 22:return I=g.sent(),[4,F.getTransactionCount(r)];case 23:return R=g.sent(),[4,rt("Nonce (".concat(R,"), agree or enter"))];case 24:return z=g.sent(),q=z||R.toString(),J={from:r,to:o,nonce:q,gasPrice:L,data:I,value:"0"},"0x"!==I?[3,25]:(J.gas="21000",[3,30]);case 25:U=J.gasPrice,delete J.gasPrice,g.label=26;case 26:return g.trys.push([26,28,,29]),E=J,K="gas",[4,F.estimateTxGas(J)];case 27:return E[K]=g.sent().toString(),[3,29];case 28:return W=g.sent(),console.log(D.red("Failed to estimate gas, "+W.message)),[2];case 29:J.gasPrice=U,g.label=30;case 30:return[4,G(J)];case 31:return J=g.sent(),[4,a.account.signTransaction(r,J,t)];case 32:return($=g.sent()).status?(console.log(D.green("Transaction hash: ".concat($.output.transactionHash))),a.account.sendSignedTransaction(r,$.output.rawTransaction,t),C(n,[r,b],["0",o]),[2]):(console.log(D.red($.output)),[2])}}))}))},Z=function(e,t,n,r,a){return v(void 0,void 0,void 0,(function(){var s,u,d,f,v,w,b,y,k,S,P,_,T,B,L,j,I,R,z,q,J,U,E,M,G,K,W,$,H,Z;return g(this,(function(g){switch(g.label){case 0:return[4,mt(["> Input token ticker","> Input token contract address"])];case 1:switch(s=g.sent(),s){case"> Input token ticker":return[3,2];case"> Input token contract address":return[3,10]}return[3,13];case 2:return[4,rt("token ticker")];case 3:return f=g.sent(),[4,He(e,n,f)];case 4:if(0===(v=g.sent()).length)return console.log(D.red("Token not found")),[2];w=[],j=0,g.label=5;case 5:return j<v.length?[4,O(r,v[j].address,t)]:[3,8];case 6:if(!(b=g.sent()).status)return console.log(D.red(b.output)),[2];if(y=new m(b.output),k=y.dividedBy(Math.pow(10,Number(v[j].decimals))).toFixed(4,m.ROUND_FLOOR),1===v.length)return w.push("> 1. ".concat(f," Balance: ").concat(k)),[3,8];w.push("> ".concat(j+1,". ").concat(f," Balance: ").concat(k,"(").concat(v[j].address,")")),w.push(v[j].address),g.label=7;case 7:return j++,[3,5];case 8:return[4,mt(w)];case 9:return S=g.sent(),P=v[w.indexOf(S)],u=P.address,d=Number(P.decimals),[3,13];case 10:return[4,rt("token contract address",ft)];case 11:return u=g.sent(),[4,x(u,t)];case 12:return(_=g.sent()).status?(d=Number(_.output.decimals),[3,13]):(console.log(D.red(_.output)),[2]);case 13:return[4,rt("Receipt",ft)];case 14:return T=g.sent(),[4,N(r,u,t)];case 15:if(!(B=g.sent()).status)return console.log(D.red(B.output)),[2];j=0,g.label=16;case 16:return j<5?[4,rt("Amount",it)]:[3,19];case 17:if(I=g.sent(),new m(I).multipliedBy(Math.pow(10,Number(d))).isLessThanOrEqualTo(new m(B.output)))return L=I,[3,19];console.log(D.red("Not enough balance")),g.label=18;case 18:return j++,[3,16];case 19:return L?(R=new m(L).multipliedBy(Math.pow(10,d)).toFixed(0),z=l(new o(u),new o(r),!0),[4,A(z.toString(),t)]):[2];case 20:return(q=g.sent()).status?q.output&&q.output.owner.toString()!==o.default?(J=l(new o(u),new o(T),!1),[4,A(J.toString(),t)]):(console.log(D.red("From token account not found")),[2]):(console.log(D.red(q.output)),[2]);case 21:return(U=g.sent()).status?(E=new c,M=new c,U.output&&U.output.owner.toString()!==o.default||(E.add(h(new o(r),new o(J),new o(T),new o(u))),M.add(h(new o(r),new o(J),new o(T),new o(u)))),E.add(p(z,J,new o(r),Number(R))),E.add(i.setComputeUnitLimit({units:2e5})),E.add(i.setComputeUnitPrice({microLamports:1e3})),E.feePayer=new o(r),[4,a.account.simulateTransaction(r,t,E)]):(console.log(D.red(U.output)),[2]);case 22:return(G=g.sent()).status?G.output&&G.output.value&&0!==G.output.value.unitsConsumed&&!G.output.value.err?(K=new m(G.output.value.unitsConsumed.toString()),K=new m(Math.ceil(1.2*Number(K))),[4,F(t)]):(console.log(D.red("Simulate error")),[2]):(console.log(D.red(G.output)),[2]);case 23:return(W=g.sent()).status?($=new m(W.output.toString()),M.add(p(z,J,new o(r),Number(R))),M.add(i.setComputeUnitLimit({units:Number(K)})),M.add(i.setComputeUnitPrice({microLamports:Number($)})),E.feePayer=new o(r),[4,a.account.signTransaction(r,M,t)]):(console.log(D.red(W.output)),[2]);case 24:return(H=g.sent()).status?[4,a.account.sendSignedTransaction(r,H.output,t)]:(console.log(D.red(H.output)),[2]);case 25:return(Z=g.sent()).status?(C(n,[r,T],["0",u]),console.log(D.green("Transaction hash: ".concat(Z.output))),[2]):(console.log(D.red(Z.output)),[2])}}))}))},V=function(e,t,n,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u,l,d,p,h;return g(this,(function(f){switch(f.label){case 0:return s=De(e,t,n),o=ze(e,s),c=At(n),o!==c&&("evm"===c&&(s="Ethereum Mainnet"),"solana"===c&&(s="Solana Mainnet"),o=ze(e,s)),"evm"!==o?[3,3]:[4,Nt("Network (".concat(s,"), want a change?"))];case 1:return f.sent()?(i=Ge(e),[4,mt(i,"Select a network")]):[3,3];case 2:u=f.sent(),s=u,f.label=3;case 3:return[4,Me(n,e,s)];case 4:return(l=f.sent()).status?(d=qe(e,s),console.log(D.green(" ".concat(d.nativeCurrency.symbol," Balance: ").concat(l.output))),p=["> Send Raw Tx","> Send Token",new r.Separator("----------------------------------"),"> Back"],[4,mt(p)]):(console.log(D.red(l.output)),[2]);case 5:switch(h=f.sent(),h){case"> Send Raw Tx":return[3,6];case"> Send Token":return[3,11];case"> Back":return[3,16]}return[3,17];case 6:return"evm"!==c?[3,8]:[4,K(d.chainId.toString(),d.rpcUrl,d.nativeCurrency.symbol,n,a)];case 7:f.sent(),f.label=8;case 8:return"solana"!==c?[3,10]:[4,W(d.chainId.toString(),d.rpcUrl,d.nativeCurrency.symbol,n,a)];case 9:f.sent(),f.label=10;case 10:return[3,17];case 11:return"evm"!==c?[3,13]:[4,H(e,d.rpcUrl,d.chainId.toString(),n,a)];case 12:f.sent(),f.label=13;case 13:return"solana"!==c?[3,15]:[4,Z(e,d.rpcUrl,d.chainId.toString(),n,a)];case 14:f.sent(),f.label=15;case 15:return[3,17];case 16:case 17:return[2]}}))}))},X=function(e,t,n,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i;return g(this,(function(u){switch(u.label){case 0:return s=["> SendTx","> SignMessage",new r.Separator("----------------------------------"),"> Back"],[4,mt(s)];case 1:switch(o=u.sent(),o){case"> SendTx":return[3,2];case"> SignMessage":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,V(e,t,n,a)];case 3:return u.sent(),[3,7];case 4:return[4,Ot("Input the message to sign")];case 5:return c=u.sent(),(i=a.account.signMessage(n,c)).status?(console.log(D.green("Signature: "+i.output)),[3,7]):(console.log(D.red(i.output)),[3,7]);case 6:return[2];case 7:return[4,X(e,t,n,a)];case 8:return u.sent(),[2]}}))}))},Q=function(e,t){return v(void 0,void 0,void 0,(function(){var n,a,s,o,c;return g(this,(function(i){switch(i.label){case 0:return n=["> Send Tx","> Search Accounts",new r.Separator("----------------------------------"),"> Back"],[4,mt(n)];case 1:return"> Back"===(a=i.sent())?[2]:"> Send Tx"!==a?[3,3]:[4,rt("Input address to send tx",ft)];case 2:s=i.sent(),i.label=3;case 3:return"> Search Accounts"!==a?[3,5]:[4,rt("Input part address to send tx",ct)];case 4:s=i.sent(),i.label=5;case 5:return null!==(o=t.account.getAccountLabel(s))?[3,7]:(console.log(D.red("Account not found")),[4,Q(e,t)]);case 6:return i.sent(),[2];case 7:return c=o.account_label,s=o.account_address,null!==c?[3,9]:(console.log(D.red("Account not found")),[4,Q(e,t)]);case 8:return i.sent(),[2];case 9:return[4,de(c,t)];case 10:return i.sent().isLoginIn?[3,12]:[4,Q(e,t)];case 11:return i.sent(),[2];case 12:return[4,X(e,c,s,t)];case 13:return i.sent(),[4,Q(e,t)];case 14:return i.sent(),[2]}}))}))},Y=require("chalk");require("dotenv").config();var ee=require("cli-progress");require("wative-core").WativeCore;var te={account_label:"",default_account_index:0},ne=function(e){return v(void 0,void 0,void 0,(function(){var t,n,r,a,s;return g(this,(function(o){switch(o.label){case 0:return t=ie(e),n=[],t.accounts&&(n=t.accounts),[4,St("Account Label",n)];case 1:return null===(r=o.sent())?[2,null]:[4,xt("Please set a password for Account [".concat(r,"]"))];case 2:return a=o.sent(),[4,Re(e)];case 3:return s=o.sent(),[2,{account_label:r,password:a,selected_default_network:s}]}}))}))},re=function(n,r){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i,u;return g(this,(function(l){switch(l.label){case 0:return[4,ne(n)];case 1:return(a=l.sent())?[4,rt("Please enter a mnemonic [split by space]",lt)]:[2];case 2:return s=(s=l.sent()).replace(/\s+/g," "),(o=r.account.generatePPAccount(a.account_label,s,a.password)).status?(c=t.join(n,"accounts/".concat(a.account_label,".json")),o.output.default_network=a.selected_default_network,e.writeFileSync(c,JSON.stringify(o.output,null,4)),i=t.resolve(n,"network.json"),(u=JSON.parse(e.readFileSync(i,"utf8"))).accounts.push(a.account_label),e.writeFileSync(i,JSON.stringify(u,null,4)),[2]):(console.log(Y.red(o.output)),[2])}}))}))},ae=function(n,r){return v(void 0,void 0,void 0,(function(){var a,s,o,c;return g(this,(function(i){switch(i.label){case 0:return[4,ne(n)];case 1:return(a=i.sent())?[4,rt("Please enter a private key")]:[2];case 2:return s=i.sent(),[4,oe(n,a.password,a.account_label,s,a.selected_default_network,r,!0)];case 3:return i.sent(),o=t.resolve(n,"network.json"),(c=JSON.parse(e.readFileSync(o,"utf8"))).accounts.push(a.account_label),e.writeFileSync(o,JSON.stringify(c,null,4)),[2]}}))}))},se=function(n,r,a,s){return v(void 0,void 0,void 0,(function(){var o,c,i;return g(this,(function(u){switch(u.label){case 0:return[4,rt("Please enter a private key")];case 1:return o=u.sent(),c=t.join(n,"accounts/".concat(a,".json")),i=JSON.parse(e.readFileSync(c,"utf8")),[4,oe(n,r,a,o,i.default_network,s,!1)];case 2:return u.sent(),[2]}}))}))},oe=function(n,r,a,s,o,c,i){return v(void 0,void 0,void 0,(function(){var u,l,d,p,h;return g(this,(function(f){switch(f.label){case 0:return[4,qe(n,o)];case 1:return u=f.sent(),"evm"!==I(u.chainId.toString())||s.startsWith("0x")||(s="0x"+s),[4,c.account.generatePKAccount(a,s,r,u.chainId.toString(),i)];case 2:return(l=f.sent()).status?(d=t.join(n,"accounts/".concat(a,".json")),e.existsSync(d)?"data"in(h=JSON.parse(e.readFileSync(d,"utf8")))?(h.data.push({ciphertexts:l.output.ciphertexts}),p=h):(h.data=[{ciphertexts:h.ciphertexts}],delete h.ciphertexts,h.data.push({ciphertexts:l.output.ciphertexts}),p=h):(l.output.data=[{ciphertexts:l.output.ciphertexts}],delete l.output.ciphertexts,l.output.default_network=o,p=l.output),e.writeFileSync(d,JSON.stringify(p,null,4)),c.account.reloadAccount(),[2]):(console.log(Y.red(l.output)),[2])}}))}))},ce=function(e,t){return v(void 0,void 0,void 0,(function(){var n,a;return g(this,(function(s){switch(s.label){case 0:return n=["> Import Passphrase","> Import Private Key",new r.Separator("----------------------------------"),"> Back"],[4,mt(n)];case 1:switch(a=s.sent(),a){case"> Import Passphrase":return[3,2];case"> Import Private Key":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,re(e,t)];case 3:case 5:return s.sent(),[3,7];case 4:return[4,ae(e,t)];case 6:return[2];case 7:return t.account.reloadAccount(),[2]}}))}))},ie=function(n){var r=t.resolve(n,"network.json");return JSON.parse(e.readFileSync(r,"utf8"))},ue=function(n,r){var a=t.join(n,"accounts/".concat(r,".json"));return JSON.parse(e.readFileSync(a,"utf8"))},le=function(n,r,a){var s=t.join(n,"accounts/".concat(r,".json"));e.writeFileSync(s,JSON.stringify(a,null,4))},de=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r,a;return g(this,(function(s){switch(s.label){case 0:if(t.account.isLogin(e))return[2,{isLoginIn:!0}];n=0,s.label=1;case 1:return n<3?(r=void 0,process.env.WativePassword&&""!==process.env.WativePassword?(r=process.env.WativePassword,[3,4]):[3,2]):[3,7];case 2:return[4,xt("Please input the password for Account [".concat(e,"]"))];case 3:r=s.sent(),s.label=4;case 4:return r?[4,t.account.login(e,r)]:(console.log(Y.red("Password can't be empty")),[2,{isLoginIn:!1}]);case 5:if((a=s.sent()).status)return[2,{isLoginIn:!0,password:r}];console.log(Y.red(a.output)),s.label=6;case 6:return n++,[3,1];case 7:return[2,{isLoginIn:!1}]}}))}))},pe=function(e,t){return v(void 0,void 0,void 0,(function(){var n,a,s,o,c,i,u,l,d,p;return g(this,(function(h){switch(h.label){case 0:if(n=ie(e),a=n.accounts,s=["> Back",new r.Separator("----------------------------------")],0===(o=a.length))return console.log(Y.red("No address here yet")),[2];for(c=0;c<o;c++)i=a[c],"data"in(u=ue(e,i))?s.push("".concat(c+1,") ").concat(i," [").concat(u.account_type,":").concat(u.data.length,"]")):s.push("".concat(c+1,") ").concat(i," [").concat(u.account_type,":1]"));return[4,mt(s,"Select an account")];case 1:return"> Back"===(l=h.sent())?[2]:(d=a[s.indexOf(l)-2],[4,de(d,t)]);case 2:return(p=h.sent()).isLoginIn?[4,fe(e,d,t,p.password)]:[3,4];case 3:h.sent(),h.label=4;case 4:return[4,pe(e,t)];case 5:return h.sent(),[2]}}))}))},he=function(e,t,n){return v(void 0,void 0,void 0,(function(){var n,a,s,o,c,i,u,l,d,p,h,f,m,v,w,b,y,k,S,x;return g(this,(function(g){switch(g.label){case 0:return[4,ue(e,t)];case 1:return n=g.sent(),a=["> Disabled Slots","> Add Single","> Add Range",new r.Separator("----------------------------------"),"> Back"],[4,mt(a)];case 2:switch(s=g.sent(),s){case"> Back":return[3,3];case"> Disabled Slots":return[3,4];case"> Add Single":return[3,7];case"> Add Range":return[3,9]}return[3,11];case 3:return[2];case 4:if(!(o=n.disabled_slots)||0===o.length)return console.log(Y.red("No disabled slots here yet")),[3,11];for(c=n.data,i=["> Back",new r.Separator("----------------------------------")],u=n.default_network,l=0;l<o.length;l++){if(d=o[l].from,p=o[l].to,h=u,f=u,"default_network"in c[d]&&(h=c[d].default_network),"default_network"in c[p]&&(f=c[p].default_network),m=ze(e,h),v=ze(e,f),"evm"!==m&&"solana"!==m)throw new Error("Invalid network type: ".concat(m));if("evm"!==v&&"solana"!==v)throw new Error("Invalid network type: ".concat(v));w=void 0,b=void 0,w="evm"===m?c[d].ciphertexts.evm.address:c[p].ciphertexts.solana.address,b="evm"===v?c[p].ciphertexts.evm.address:c[p].ciphertexts.solana.address,d===p?i.push("".concat(l+1,". ").concat(w,"[").concat(d,"]")):i.push("".concat(l+1,". ").concat(w,"[").concat(d,"]-").concat(b,"[").concat(p,"]"))}return[4,mt(i)];case 5:return"> Back"===(y=g.sent())?[3,11]:[4,Nt("Are you sure to delete the ".concat(y,"?"))];case 6:return g.sent()?(k=i.indexOf(y)-2,n.disabled_slots.splice(k,1),le(e,t,n),[3,11]):[3,11];case 7:return[4,st(n,"Input address or index")];case 8:return null===(S=g.sent())?(console.log(Y.red("Invalid account index")),[3,11]):(n.disabled_slots?n.disabled_slots.push({from:S,to:S}):n.disabled_slots=[{from:S,to:S}],le(e,t,n),[3,11]);case 9:return[4,at(n)];case 10:return(x=g.sent())?(n.disabled_slots?n.disabled_slots.push(x):n.disabled_slots=[x],le(e,t,n),[3,11]):(console.log(Y.red("Invalid account range")),[3,11]);case 11:return[4,he(e,t)];case 12:return g.sent(),[2]}}))}))},fe=function(e,t,n,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u,l,d;return g(this,(function(p){switch(p.label){case 0:return[4,ue(e,t)];case 1:return s=p.sent(),o="PP"===s.account_type?["> Address List","> Expand Address","> Slice Address","> Disable Address","> Reset Account Password","> Switch Networks [".concat(s.default_network,"]"),"> Remove",new r.Separator("----------------------------------"),"> Back"]:["> Address List","> Import Private Key","> Remove Address","> Reset Account Password","> Switch Networks [".concat(s.default_network,"]"),"> Remove",new r.Separator("----------------------------------"),"> Back"],[4,mt(o)];case 2:switch(c=p.sent(),c){case"> Address List":return[3,3];case"> Expand Address":return[3,5];case"> Import Private Key":return[3,8];case"> Slice Address":return[3,10];case"> Remove Address":return[3,13];case"> Disable Address":return[3,15];case"> Reset Account Password":return[3,17];case"> Switch Networks [".concat(s.default_network,"]"):return[3,21];case"> Remove":return[3,23];case"> Back":return[3,25]}return[3,26];case 3:return[4,me(e,t,n)];case 4:case 7:case 9:case 12:case 14:case 16:case 22:return p.sent(),[3,26];case 5:return[4,rt("Expand accounts count",dt)];case 6:return i=p.sent(),Number(i)>2e3?(console.log(Y.red("Too many accounts, please input less than 2000")),[3,26]):[4,ge(e,t,Number(i),n)];case 8:return[4,se(e,a,t,n)];case 10:return[4,rt("Please input last account number",pt)];case 11:return u=p.sent(),[4,we(e,t,Number(u),n)];case 13:return[4,be(e,t,n)];case 15:return[4,he(e,t)];case 17:return[4,xt("Please input new password for Account [".concat(t,"]"))];case 18:return l=p.sent(),[4,xt("Please confirm new password for Account [".concat(t,"]"))];case 19:return d=p.sent(),l&&d&&l===d?[4,n.account.resetPassword(t,l)]:(console.log(Y.red("Passwords do not match")),[3,26]);case 20:case 24:case 27:return p.sent(),[2];case 21:return[4,Ee(e,t,!0)];case 23:return[4,ye(e,t)];case 25:return[2];case 26:return[4,fe(e,t,n,a)]}}))}))},me=function(e,t,n){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i,u,l,d,p,h,f,m,v,w,b;return g(this,(function(g){switch(g.label){case 0:return[4,ue(e,t)];case 1:for(a=g.sent(),s=["> Back",new r.Separator("----------------------------------")],o=a.disabled_slots,c=Ke(e),i=a.default_network,u=qe(e,i),l=I(u.chainId.toString()),d=a.data.length.toString().length+1,p=0;p<a.data.length;p++)h=a.data[p].tag?"(".concat(a.data[p].tag,")"):"",f=n.account.checkIsDisableAddress(o,p),m=void 0,m="PP"===a.account_type?"evm"===l?a.data[p].ciphertexts.evm.address:a.data[p].ciphertexts.solana.address:a.data[p].ciphertexts.address,f?s.push(new r.Separator(Y.yellow("#".concat(p.toString().padEnd(d)," ").concat(Tt(m,c.fullAddr)," ").concat(h)))):s.push("#".concat(p.toString().padEnd(d)," ").concat(Tt(m,c.fullAddr)," ").concat(h));return v=te.account_label===t?s[te.account_index]:s[0],[4,$e(e,u.chainId.toString())];case 2:return w=g.sent(),[4,Bt(s,"evm"===l,e,w,u,c.gasToken,c.extendedToken,"Select an account",v)];case 3:return"> Back"===(b=g.sent())?[2]:(te.account_label=t,te.account_index=s.indexOf(b),[4,ve(e,t,s.indexOf(b)-2,n)]);case 4:return g.sent(),[4,me(e,t,n)];case 5:return g.sent(),[2]}}))}))},ve=function(e,t,n,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u,l,d,p,h,f,m,v;return g(this,(function(g){switch(g.label){case 0:return[4,ue(e,t)];case 1:return s=g.sent(),o=s.default_network,c=Je(e,t,n),[4,qe(e,o)];case 2:return i=g.sent(),[4,Me(c,e,o)];case 3:return(u=g.sent()).status?console.log(Y.green(" Address No: #".concat(n,"\n Network: ").concat(o,"\n ").concat(i.nativeCurrency.symbol," Balance: ").concat(u.output))):console.log(Y.green(" Address No: #".concat(n,"\n Network: ").concat(o,"\n ").concat(i.nativeCurrency.symbol))),l="> Tag","tag"in s.data[n]&&""!==s.data[n].tag&&(l="> Tag(".concat(s.data[n].tag,")")),d=[l,"> Show address","> Assets","> Tools","> Dump private key",new r.Separator("----------------------------------"),"> Back"],[4,mt(d)];case 4:switch(p=g.sent(),p){case l:return[3,5];case"> Show address":return[3,7];case"> Assets":return[3,9];case"> Tools":return[3,11];case"> Dump private key":return[3,13];case"> Back":return[3,15]}return[3,16];case 5:return h="Current tag","tag"in s.data[n]&&""!==s.data[n].tag&&(h="Current tag (".concat(s.data[n].tag,")")),[4,rt(h,ot)];case 6:return f=(f=g.sent()).replace(/\s+/g," ").trim(),s.data[n].tag=f.toLocaleLowerCase(),le(e,t,s),[3,16];case 7:return[4,Ue(e,t,n)];case 8:case 10:case 12:return g.sent(),[3,16];case 9:return[4,Ze(e,o,c)];case 11:return[4,X(e,t,c,a)];case 13:return m=Je(e,t,n),[4,a.account.showPrivateKey(m)];case 14:return v=g.sent(),console.log("account: ",m),console.log("private key: ",v),[3,16];case 15:case 16:return[2]}}))}))},ge=function(e,t,n,r){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i;return g(this,(function(u){switch(u.label){case 0:return[4,ue(e,t)];case 1:a=u.sent(),s=a.data.length,(o=new ee.SingleBar({},ee.Presets.legacy)).start(n,0),c=s,u.label=2;case 2:return c<s+n?[4,r.account.generateSubAccount(t,c)]:[3,5];case 3:if(!(i=u.sent()).status)return console.log(Y.red(i.output)),[2];a.data.push({ciphertexts:i.output}),o.increment(),u.label=4;case 4:return c++,[3,2];case 5:return o.stop(),le(e,t,a),r.account.reloadAccount(),[2]}}))}))},we=function(e,t,n,r){return v(void 0,void 0,void 0,(function(){var a;return g(this,(function(s){switch(s.label){case 0:return[4,ue(e,t)];case 1:return(a=s.sent()).data=a.data.slice(0,n+1),le(e,t,a),r.account.reloadAccount(),[2]}}))}))},be=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r,a;return g(this,(function(s){switch(s.label){case 0:return[4,rt("Please input the accountIndex to remove this account",it)];case 1:return"0"===(r=s.sent())?(console.log(Y.red("Can't remove the first account")),[2]):[4,ue(e,t)];case 2:return a=s.sent(),[4,Nt("Are you sure you want to remove this account(".concat(a.data[r].ciphertexts.address,")"))];case 3:return s.sent()?(a.data.splice(Number(r),1),le(e,t,a),n.account.reloadAccount(),[2]):[2]}}))}))},ye=function(n,r){return v(void 0,void 0,void 0,(function(){var a,s,o,c;return g(this,(function(i){switch(i.label){case 0:return[4,rt("Please input the accountLabel to remove this account")];case 1:return i.sent()!==r?(console.log(Y.red("Can't remove this account")),[2]):[4,Nt("Are you sure you want to remove this account(".concat(r,")"))];case 2:return i.sent()?(a=t.join(n,"accounts/".concat(r,".json")),e.rmSync(a),s=t.resolve(n,"network.json"),e.existsSync(s)?(o=JSON.parse(e.readFileSync(s,"utf8")),c=o.accounts.indexOf(r),o.accounts.splice(c,1),e.writeFileSync(s,JSON.stringify(o,null,2)),[2]):[2]):[2]}}))}))},ke=function(n,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u;return g(this,(function(l){switch(l.label){case 0:return s=t.resolve(n,"accounts"),e.existsSync(s)||e.mkdirSync(s),o=ie(n),c=o.accounts,i=0===c.length?["> Create a new account",new r.Separator("----------------------------------"),"> Back"]:["> Select an account","> Create a new account",new r.Separator("----------------------------------"),"> Back"],[4,mt(i)];case 1:switch(u=l.sent(),u){case"> Select an account":return[3,2];case"> Create a new account":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,pe(n,a)];case 3:case 5:return l.sent(),[3,7];case 4:return[4,ce(n,a)];case 6:return[2];case 7:return[4,ke(n,a)];case 8:return l.sent(),[2]}}))}))},Se=require("chalk"),xe=function(n){return v(void 0,void 0,void 0,(function(){var r,a;return g(this,(function(s){return r=t.resolve(n,"network.json"),e.existsSync(r)||(a={networks:B,currentNetwork:"Ethereum Mainnet",accounts:[]},e.writeFileSync(r,JSON.stringify(a,null,2))),[2]}))}))},Ne=function(e,t){return v(void 0,void 0,void 0,(function(){var n,a;return g(this,(function(s){switch(s.label){case 0:return n=["> Edit"],"Ethereum Mainnet"!==t.name&&"Solana Mainnet"!==t.name&&n.push("> Remove"),n.push(new r.Separator("----------------------------------")),n.push("> Back"),[4,mt(n)];case 1:switch(a=s.sent(),a){case"> Edit":return[3,2];case"> Remove":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Oe(e,t)];case 3:case 5:return s.sent(),[3,7];case 4:return[4,Pe(e,t)];case 6:return[3,7];case 7:return[2]}}))}))},Oe=function(n,r){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i,u,l,d,p,h,f,m,v;return g(this,(function(g){switch(g.label){case 0:for(a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=[],v=0;v<s.networks.length;v++)c=s.networks[v],o.push(c.name);return i=r.rpcUrl,u=r.chainId.toString(),l=r.nativeCurrency.symbol,d=r.name,p=r.multicallAddress,h=r.color,"Ethereum Mainnet"!==r.name&&"Solana Mainnet"!==r.name?[3,2]:[4,wt(r.chainId.toString(),"Rpc Url (default: ".concat(r.rpcUrl,")"),!0)];case 1:return i=g.sent(),[3,9];case 2:return[4,rt("Chain Name (default: ".concat(r.name,")"))];case 3:return(d=g.sent())&&d!==r.name&&o.includes(d)?(console.log(Se.red("Chain Name already exists")),[2]):[4,gt("Chain Id (default: ".concat(r.chainId,")"),!0)];case 4:return u=g.sent(),[4,wt(u||r.chainId,"RPC Url (default: ".concat(r.rpcUrl,")"),!0)];case 5:return i=g.sent(),[4,yt("Symbol (default: ".concat(r.nativeCurrency.symbol,")"))];case 6:return l=g.sent(),[4,bt(r.multicallAddress?"Multicall Address (Optional) (default: ".concat(r.multicallAddress,")"):"Multicall Address (Optional)")];case 7:return p=g.sent(),[4,kt(r.color?"Color (Optional): (default: ".concat(r.color,")"):"Color (Optional)")];case 8:h=g.sent(),g.label=9;case 9:for(i=i||r.rpcUrl,u=u||r.chainId.toString(),l=l||r.nativeCurrency.symbol,d=d||r.name,p=p||r.multicallAddress,h=h||r.color,f=j(u.toString()),m={name:d||r.name,chainId:Number(u)||r.chainId,rpcUrl:i||r.rpcUrl,nativeCurrency:{name:l||r.nativeCurrency.symbol,symbol:l||r.nativeCurrency.symbol,decimals:f||r.nativeCurrency.decimals}},(p||r.multicallAddress)&&(m.multicallAddress=p||r.multicallAddress),(h||r.color)&&(m.color=h||r.color),v=0;v<s.networks.length;v++)if(s.networks[v].name===r.name){s.networks[v]=m;break}return e.writeFileSync(a,JSON.stringify(s,null,2)),[2]}}))}))},Pe=function(n,r){return v(void 0,void 0,void 0,(function(){var a,s,o;return g(this,(function(c){for(a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=0;o<s.networks.length;o++)if(s.networks[o].name===r.name){s.networks.splice(o,1);break}return r.name===s.currentNetwork&&(s.currentNetwork="Ethereum Mainnet"),e.writeFileSync(a,JSON.stringify(s,null,2)),[2]}))}))},Fe=function(n){return v(void 0,void 0,void 0,(function(){var r,a,s,o,c,i,u,l,d,p,h,f,m;return g(this,(function(v){switch(v.label){case 0:for(r=t.resolve(n,"network.json"),a=JSON.parse(e.readFileSync(r,"utf8")),s=[],o=0;o<a.networks.length;o++)c=a.networks[o],s.push(c.name);return console.log(Se.green("Please input someting about network")),[4,rt("Chain Name")];case 1:return i=v.sent(),s.includes(i)?(console.log(Se.red("Chain Name already exists")),[2]):[4,gt("Chain Id")];case 2:return(u=v.sent())?[4,wt(u,"RPC Url")]:[2];case 3:return(l=v.sent())?[4,yt("Symbol")]:[2];case 4:return(d=v.sent())?[4,bt("Multicall Address (Optional)")]:[2];case 5:return p=v.sent(),[4,kt("Color (Optional)")];case 6:return h=v.sent(),f=j(u.toString()),m={name:i,chainId:Number(u),rpcUrl:l,nativeCurrency:{name:d,symbol:d,decimals:f}},p&&(m.multicallAddress=p),h&&(m.color=h),a.networks.push(m),e.writeFileSync(r,JSON.stringify(a,null,2)),[2]}}))}))},Ae=function(n){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i,u,l,d,p,h,f,m,v;return g(this,(function(g){switch(g.label){case 0:for(a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=[],c=[],l=0;l<s.networks.length;l++)p=s.networks[l],"solana"===I(p.chainId.toString())?c.push(l):o.push(l);for(i=["> Back","+ Add Network",new r.Separator("----Networks(evm)----")],l=0;l<o.length;l++)u=o[l],p=s.networks[u],h="".concat(l+1,".").concat(p.name),0===l&&(h+=" 🔒"),i.push(h);for(i.push(new r.Separator("----Networks(solana)----")),l=0;l<c.length;l++)d=c[l],p=s.networks[d],h="".concat(l+1,".").concat(p.name),0===l&&(h+=" 🔒"),i.push(h);return[4,mt(i)];case 1:return"> Back"===(f=g.sent())?[2]:"+ Add Network"!==f?[3,3]:[4,Fe(n)];case 2:case 5:return g.sent(),[2];case 3:return m=i.indexOf(f),v=m<o.length+3?s.networks[o[m-3]]:s.networks[c[m-o.length-4]],[4,Ne(n,v)];case 4:return g.sent(),[4,Ae(n)]}}))}))},_e=function(e){return v(void 0,void 0,void 0,(function(){var t,n;return g(this,(function(a){switch(a.label){case 0:return t=["> Enhanced Balance Display",new r.Separator("----------------------------------"),"> Back"],[4,mt(t)];case 1:switch(n=a.sent(),n){case"> Enhanced Balance Display":return[3,2];case"> Back":return[3,4]}return[3,5];case 2:return[4,je(e)];case 3:return a.sent(),[3,5];case 4:return[2];case 5:return[4,_e(e)];case 6:return a.sent(),[2]}}))}))},Ce=function(n){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i,u,l;return g(this,(function(d){switch(d.label){case 0:return a=t.resolve(n,"network.json"),"status"in(s=JSON.parse(e.readFileSync(a,"utf8")))||(s.status={fullAddr:!1,gasToken:!1,extendedToken:!1}),o=["> Show Full Address [".concat(s.status.fullAddr?"ON":"OFF","]"),"> Show Gas Token [".concat(s.status.gasToken?"ON":"OFF","]"),"> Show Extended Token[".concat(s.status.extendedToken?"ON":"OFF","]"),new r.Separator("----------------------------------"),"> Back"],[4,mt(o)];case 1:return"> Back"===(c=d.sent())?[2]:c.includes("Full Address")?(i=s.status,[4,Te()]):[3,3];case 2:return i.fullAddr=d.sent(),[3,7];case 3:return c.includes("Gas Token")?(u=s.status,[4,Te()]):[3,5];case 4:return u.gasToken=d.sent(),[3,7];case 5:return c.includes("Extended Token")?(l=s.status,[4,Te()]):[3,7];case 6:l.extendedToken=d.sent(),d.label=7;case 7:return e.writeFileSync(a,JSON.stringify(s,null,2)),[2]}}))}))},Te=function(){return v(void 0,void 0,void 0,(function(){return g(this,(function(e){switch(e.label){case 0:return[4,mt(["> On","> Off"])];case 1:switch(e.sent()){case"> On":return[2,!0];case"> Off":return[2,!1]}return[2]}}))}))},Be=function(n,r){var a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")).showTokens;return r in s?s[r]:[]},Le=function(n){return v(void 0,void 0,void 0,(function(){var a,s,o,c,i,u,l,d,p,h,f,m,v,w,b,y,k,S,x,N,O;return g(this,(function(g){switch(g.label){case 0:for(a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o={},c=0,i=s.networks;c<i.length;c++)u=i[c],o[u.chainId.toString()]=u.name;if(l=t.resolve(n,"assets.json"),!_t(l))return console.log(Se.red("No asset here yet")),[2];for(m in d=JSON.parse(e.readFileSync(l,"utf8")),p=[],h=[],f={},d)for(f[p.length]={name:o[m],address:null},p.push(new r.Separator("----- Networks (".concat(o[m],") -------"))),v=Be(n,o[m]),w=d[m].length,S=0;S<w;S++)b=d[m][S],v.includes(b.address)&&h.push("".concat(S+1,".").concat(b.symbol.padEnd(6)," CA: ").concat(Se.green("".concat(Tt(b.address).padEnd(45)))," Decimals: ").concat(b.display_decimals?b.display_decimals:"4")),f[p.length]={name:o[m],address:b.address},p.push("".concat(S+1,".").concat(b.symbol.padEnd(6)," CA: ").concat(Se.green("".concat(Tt(b.address).padEnd(45)))," Decimals: ").concat(b.display_decimals?b.display_decimals:"4"));return[4,vt(p,"Choose Tokens",h)];case 1:for(y=g.sent(),k={},S=0;S<y.length;S++)x=y[S],N=p.indexOf(x),(O=f[N]).name in k?k[O.name].push(O.address):k[O.name]=[O.address];return s.showTokens=k,e.writeFileSync(a,JSON.stringify(s,null,2)),[2]}}))}))},je=function(e){return v(void 0,void 0,void 0,(function(){var t,n;return g(this,(function(a){switch(a.label){case 0:return t=["> Status","> Token List","> Add Token",new r.Separator("----------------------------------"),"> Back"],[4,mt(t)];case 1:switch(n=a.sent(),n){case"> Status":return[3,2];case"> Token List":return[3,4];case"> Add Token":return[3,6];case"> Back":return[3,8]}return[3,9];case 2:return[4,Ce(e)];case 3:case 5:case 7:return a.sent(),[3,9];case 4:return[4,Le(e)];case 6:return[4,Xe(e)];case 8:return[2];case 9:return[4,je(e)];case 10:return a.sent(),[2]}}))}))},Ie=function(e){return v(void 0,void 0,void 0,(function(){var t,n;return g(this,(function(a){switch(a.label){case 0:return t=["> Networks","> Dataview",new r.Separator("----------------------------------"),"> Back"],[4,mt(t)];case 1:switch(n=a.sent(),n){case"> Networks":return[3,2];case"> Dataview":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Ae(e)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,_e(e)];case 6:return[2];case 7:return[4,Ie(e)];case 8:return a.sent(),[2]}}))}))},Re=function(n){return v(void 0,void 0,void 0,(function(){var r,a,s;return g(this,(function(o){switch(o.label){case 0:return r=t.resolve(n,"network.json"),a=JSON.parse(e.readFileSync(r,"utf8")),s=a.networks.map((function(e){return"> ".concat(e.name)})),[4,mt(s,"Please select a default network")];case 1:return[2,o.sent().slice(2)]}}))}))},ze=function(n,r){for(var a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=0;o<s.networks.length;o++){var c=s.networks[o];if(c.name===r)return I(c.chainId.toString())}return"unknown"},qe=function(n,r){for(var a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=0;o<s.networks.length;o++){var c=s.networks[o];if(c.name===r)return c}return null},Je=function(e,t,n){var r=ue(e,t);if("PK"===r.account_type)return r.data[n].ciphertexts.address;var a=r.default_network,s=ze(e,a);return"solana"===s?r.data[n].ciphertexts.solana.address:"evm"===s?r.data[n].ciphertexts.evm.address:null},Ue=function(n,r,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u,l,d,p,h,f,m;return g(this,(function(v){for(s=t.resolve(n,"network.json"),o=JSON.parse(e.readFileSync(s,"utf8")),c=o.networks,i=c.length,u=ue(n,r),l=u.default_network,d=ze(n,l),p=0;p<i;p++)h=c[p],f=ze(n,h.name),"PK"===u.account_type&&d!==f||(m=void 0,m="PK"===u.account_type?u.data[a].ciphertexts.address:"evm"===f?u.data[a].ciphertexts.evm.address:u.data[a].ciphertexts.solana.address,h.name===l?console.log("● ".concat(m," [").concat(h.name,"]")):console.log("○ ".concat(m," [").concat(h.name,"]")));return[2]}))}))},Ee=function(n,a,s){return v(void 0,void 0,void 0,(function(){var o,c,i,u,l,d,p,h,f,m,v,w,b,y,k,S,x;return g(this,(function(g){switch(g.label){case 0:for(o=t.resolve(n,"network.json"),c=JSON.parse(e.readFileSync(o,"utf8")),i=c.networks,u=i.length,l=ue(n,a),d=["> Back",new r.Separator("----------------------------------")],p=l.default_network,h="",s||(h=l.ciphertexts.address),f=[],m=ze(n,p),v=0;v<u;v++)w=i[v],b=ze(n,w.name),"PK"===l.account_type&&m!==b||(w.name===p?s?d.push("● ".concat(w.name)):d.push("● ".concat(h," [").concat(w.name,"]")):s?d.push("○ ".concat(w.name)):d.push("○ ".concat(h," [").concat(w.name,"]")),f.push(w.name));return[4,mt(d)];case 1:return"> Back"===(y=g.sent())||(k=d.indexOf(y),l.default_network=f[k-2],le(n,a,l),s||(S=l.default_network,x=qe(n,S),console.log(Se.green(" Address No: #0\n Network: ".concat(S,"\n ").concat(x.nativeCurrency.symbol," Balance: 0"))))),[2]}}))}))},Me=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r,a,s,o,c;return g(this,(function(i){switch(i.label){case 0:return r=qe(t,n),a=r.rpcUrl,s=r.nativeCurrency.decimals,"solana"!==I(r.chainId.toString())?[3,2]:[4,k(e,a)];case 1:return o=i.sent(),[3,4];case 2:return[4,y(e,a)];case 3:o=i.sent(),i.label=4;case 4:return o.status&&(c=new m(o.output.toString()),o.output=c.dividedBy(Math.pow(10,s)).toFixed(4,m.ROUND_FLOOR)),C(r.chainId.toString(),[e],["0"]),[2,o]}}))}))},De=function(e,t,n){var r=ue(e,t);if("PK"===r.account_type)return r.default_network;for(var a=0;a<r.data.length;a++)if(r.data[a].ciphertexts.solana.address===n||r.data[a].ciphertexts.evm.address===n)return"default_network"in r.data[a]?r.data[a].default_network:r.default_network;return null},Ge=function(n){for(var r=t.resolve(n,"network.json"),a=JSON.parse(e.readFileSync(r,"utf8")).networks,s=a.length,o=[],c=0;c<s;c++)"evm"===I(a[c].chainId.toString())&&o.push(a[c].name);return o},Ke=function(n){var r=t.resolve(n,"network.json");return JSON.parse(e.readFileSync(r,"utf8")).status},We=require("chalk"),$e=function(n,r){return v(void 0,void 0,void 0,(function(){var a,s,o;return g(this,(function(c){return a=t.join(n,"assets.json"),_t(a)?(s=e.readFileSync(a).toString(),o=JSON.parse(s),r in o?[2,o[r]]:[2,[]]):[2,[]]}))}))},He=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r,a,s;return g(this,(function(o){switch(o.label){case 0:return[4,$e(e,t)];case 1:for(r=o.sent(),a=[],s=0;s<r.length;s++)r[s].symbol.toLocaleLowerCase()===n.toLocaleLowerCase()&&a.push(r[s]);return[2,a]}}))}))},Ze=function(e,t,n){return v(void 0,void 0,void 0,(function(){var r,a,s,o,c,i;return g(this,(function(u){switch(u.label){case 0:return r=qe(e,t),a=I(r.chainId.toString()),[4,$e(e,r.chainId.toString())];case 1:return(s=u.sent())?[4,Qe(n,s,r.rpcUrl,a,r.chainId.toString())]:(console.log(We.red("No asset found")),[2]);case 2:for(o=u.sent(),c=1,i=0;i<o.length;i++)"0"!==o[i].balance&&"0.0000"!==o[i].balance&&(console.log(We.green("".concat(c,". ").concat(o[i].symbol," Balance: ").concat(o[i].balance))),c+=1);return 1===c&&console.log(We.red("No asset found")),[2]}}))}))},Ve=function(n,r,a,s,o,c,i){return v(void 0,void 0,void 0,(function(){var u,l,d,p;return g(this,(function(h){for(u=t.join(n,"assets.json"),l={},_t(u)&&(d=e.readFileSync(u).toString(),l=JSON.parse(d)),void 0===l[r]&&(l[r]=[]),p=0;p<l[r].length;p++)if(l[r][p].address.toLocaleLowerCase()===a.toLocaleLowerCase()||l[r][p].symbol.toLocaleLowerCase()===s.toLocaleLowerCase())return l[r][p]={address:a,symbol:s,name:o,decimals:c,display_decimals:i},e.writeFileSync(u,JSON.stringify(l,null,4)),[2];return l[r].push({address:a,symbol:s,name:o,decimals:c,display_decimals:i}),e.writeFileSync(u,JSON.stringify(l,null,4)),[2]}))}))},Xe=function(n){return v(void 0,void 0,void 0,(function(){var r,a,s,o,c,i,u,l,d,p,h,f,m,v;return g(this,(function(g){switch(g.label){case 0:for(r=t.resolve(n,"network.json"),a=JSON.parse(e.readFileSync(r,"utf8")),s=[],o=a.networks,c=0;c<o.length;c++)s.push("".concat(c+1,". ").concat(o[c].name));return[4,mt(s)];case 1:return i=g.sent(),u=i.split(".")[1].trim(),l=ze(n,u),d=qe(n,u),[4,rt("Enter contract address",ft)];case 2:return p=g.sent(),"evm"!==l?[3,4]:(w=p).startsWith("0x")&&42===w.length?[4,S(p,d.rpcUrl)]:(console.log(We.red("evm address format error")),[2]);case 3:return h=g.sent(),[3,6];case 4:return function(e){return/^[A-HJ-NP-Za-km-z1-9]*$/.test(e)}(p)?[4,x(p,d.rpcUrl)]:(console.log(We.red("solana address format error")),[2]);case 5:h=g.sent(),g.label=6;case 6:return h.status?h.output.name?[3,8]:(f=h.output,[4,rt("Please input token name")]):(console.log(We.red(h.output)),[2]);case 7:f.name=g.sent(),g.label=8;case 8:return h.output.symbol?[3,10]:(m=h.output,[4,rt("Please input token symbol")]);case 9:m.symbol=g.sent(),g.label=10;case 10:return console.log(We.green("Token ".concat(h.output.symbol,"(").concat(h.output.name,") loaded successfully."))),[4,rt("Enter decimals for display",it)];case 11:return v=g.sent(),v=parseInt(v),[4,Ve(n,d.chainId.toString(),p,h.output.symbol,h.output.name,h.output.decimals,v)];case 12:return g.sent(),[2]}var w}))}))},Qe=function(e,t,n,r,a){return v(void 0,void 0,void 0,(function(){var s,o,c,i,u,l,d,p,h;return g(this,(function(f){switch(f.label){case 0:for(s=t.length,o=[],u=0;u<s;u++)l=t[u],"evm"===r?o.push(N(e,l.address,n)):"solana"===r&&o.push(O(e,l.address,n));return[4,Promise.all(o)];case 1:for(c=f.sent(),i=[],u=0;u<s;u++){if(l=t[u],d=l.decimals,!c[u].status)return console.log(We.red(c[u].output)),[2,null];p=new m(c[u].output),h=p.dividedBy(Math.pow(10,d)).toFixed(4,m.ROUND_FLOOR),i.push({address:l.address,symbol:l.symbol,balance:h}),C(a,[e],[l.address])}return C(a,[e],["0"]),[2,i]}}))}))},Ye=function(e,t,n,r,a,s,o){return v(void 0,void 0,void 0,(function(){var c,i,u,l,d,p,h,f,v;return g(this,(function(g){switch(g.label){case 0:return c=n.length,i=qe(e,a),u=I(i.chainId.toString()),l="evm"===u,s?[4,_(t,"0",i.chainId.toString(),r,l)]:[3,2];case 1:g.sent(),g.label=2;case 2:if(!o)return[3,6];d=Be(e,a),p=0,g.label=3;case 3:return p<c?(h=n[p],f=h.address,d.includes(f)?[4,_(t,f,i.chainId.toString(),r,l)]:[3,5]):[3,6];case 4:g.sent(),g.label=5;case 5:return p++,[3,3];case 6:return v=function(e,t,n,r){var a={};if(!(e in w))return a;n.unshift({address:"0",name:r.nativeCurrency.name,symbol:r.nativeCurrency.symbol,decimals:r.nativeCurrency.decimals,display_decimals:4});for(var s=t.length,o=0;o<s;o++){var c=t[o];if(c)for(var i=0;i<n.length;i++){var u=n[i],l="0";w[e][u.address]&&(c in w[e][u.address]&&(l=new m(w[e][u.address][c]).dividedBy(Math.pow(10,u.decimals)).toFixed(u.display_decimals||4,m.ROUND_FLOOR)),a[c]||(a[c]={}),a[c][u.symbol]=l)}}return a}(i.chainId.toString(),t,n,i),[2,v]}}))}))},et=require("chalk"),tt=process.env.HOME||process.env.USERPROFILE,nt="".concat(tt,"/.wative"),rt=function(e,t){return v(void 0,void 0,void 0,(function(){var n;return g(this,(function(a){switch(a.label){case 0:return n=[{name:"inputText",type:"input",message:"".concat(e,":"),validate:t}],[4,r.prompt(n)];case 1:return[2,a.sent().inputText.trim().toString()]}}))}))},at=function(e){return v(void 0,void 0,void 0,(function(){var t,n,r;return g(this,(function(a){switch(a.label){case 0:t=0,a.label=1;case 1:return t<5?[4,st(e,"Input start address or index")]:[3,5];case 2:return(n=a.sent())?[4,st(e,"Input end address or index")]:(console.log(et.red("Invalid start account index")),[2,null]);case 3:return(r=a.sent())?n>r?(console.log(et.red("Invalid address range")),[3,4]):[2,{from:n,to:r}]:(console.log(et.red("Invalid end account index")),[2,null]);case 4:return t++,[3,1];case 5:return[2,null]}}))}))},st=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,i,u;return g(this,(function(l){switch(l.label){case 0:if(n=e.data,0===(r=n.length))return[2,null];for(a=[],s=[],c=0;c<r;c++)a.push(n[c].ciphertexts.evm.address.toLocaleLowerCase()),s.push(n[c].ciphertexts.solana.address.toLocaleLowerCase());o=r-1,c=0,l.label=1;case 1:return c<5?[4,rt(t,ht)]:[3,4];case 2:if(i=l.sent(),"unknown"===(u=At(i)))return Number(i)>o?(console.log(et.red("Invalid account index")),[3,3]):[2,Number(i)];if("evm"===u&&-1!==a.indexOf(i.toLocaleLowerCase()))return[2,a.indexOf(i.toLocaleLowerCase())];if("solana"===u&&-1!==s.indexOf(i.toLocaleLowerCase()))return[2,s.indexOf(i.toLocaleLowerCase())];l.label=3;case 3:return c++,[3,1];case 4:return[2,null]}}))}))},ot=function(e){return""===e||((e=e.replace(/\s+/g," ").trim()).length>40?"Tag length should be less than 10":!1!==/^[0-9a-zA-Z\s]*$/g.test(e)||"Tag should be alphanumeric")},ct=function(e){return!(e.length<6)||"Address length should be greater than 6"},it=function(e){return!isNaN(Number(e))||"Value should be a number"},ut=function(e){return!(isNaN(Number(e))||Number(e)>1e3)||"Value should be a number"},lt=function(e){var t=(e=e.replace(/\s+/g," ")).split(/\s+/g);if(12!==t.length)return"Passphrase should be equal to 12 words";for(var n=0;n<t.length;n++)if(!1===T.includes(t[n]))return"Passphrase word should be valid";return!0},dt=function(e){var t=Number(e);return isNaN(t)?"Amount should be a number":!(t>2e3)||"Amount should be less than 2000"},pt=function(e){var t=Number(e);return!isNaN(t)||"Last account no should be a number"},ht=function(e){return!1===isNaN(Number(e))||ft(e)},ft=function(e){return"unknown"!=At(e)||"Address should be valid"},mt=function(e,t,n){return v(void 0,void 0,void 0,(function(){var a;return g(this,(function(s){switch(s.label){case 0:return a=[{type:"list",name:"inputText",message:t||"Choose an option",default:n,choices:e,pageSize:30,filter:function(e){return e}}],[4,r.prompt(a)];case 1:return[2,s.sent().inputText.toString()]}}))}))},vt=function(e,t,n){return v(void 0,void 0,void 0,(function(){var a;return g(this,(function(s){switch(s.label){case 0:return a=[{type:"checkbox",name:"inputText",message:t||"Choose an option",default:n,choices:e,pageSize:30,filter:function(e){return e}}],[4,r.prompt(a)];case 1:return[2,s.sent().inputText]}}))}))},gt=function(e,t){return void 0===t&&(t=!1),v(void 0,void 0,void 0,(function(){var n,r;return g(this,(function(a){switch(a.label){case 0:n=0,a.label=1;case 1:return n<5?[4,rt(e)]:[3,4];case 2:if(""===(r=a.sent())&&t)return[2,null];if(/^[0-9]*$/g.test(r))return[2,r];a.label=3;case 3:return n++,[3,1];case 4:return[2,null]}}))}))},wt=function(e,t,n){return void 0===n&&(n=!1),v(void 0,void 0,void 0,(function(){var r,a,s,o;return g(this,(function(c){switch(c.label){case 0:r=0,c.label=1;case 1:return r<5?[4,rt(t)]:[3,7];case 2:a=c.sent(),c.label=3;case 3:return c.trys.push([3,5,,6]),""===a&&n?[2,null]:"solana"===I(e.toString())?[2,a]:[4,b(a)];case 4:return(s=c.sent()).status?s.output.toString()===e.toString()?[2,a]:(console.log(et.red("Rpc url not match chain id")),[3,6]):(console.log(et.red(s.output)),[3,6]);case 5:return o=c.sent(),console.log(et.red(o.message)),[3,6];case 6:return r++,[3,1];case 7:return[2,null]}}))}))},bt=function(e){return v(void 0,void 0,void 0,(function(){var t,n;return g(this,(function(r){switch(r.label){case 0:t=0,r.label=1;case 1:return t<5?[4,rt(e)]:[3,4];case 2:if(""===(n=r.sent()))return[2,null];if(""!==n&&42!==n.length)return console.log(et.red("Multicall address length must be 42")),[3,3];r.label=3;case 3:return t++,[3,1];case 4:return[2,null]}}))}))},yt=function(e){return v(void 0,void 0,void 0,(function(){var t,n,r;return g(this,(function(a){switch(a.label){case 0:t=/^[A-Za-z][0-9a-zA-Z]*$/g,n=0,a.label=1;case 1:return n<5?[4,rt(e)]:[3,4];case 2:if(""===(r=a.sent()))return[2,null];if(t.test(r))return[2,r];a.label=3;case 3:return n++,[3,1];case 4:return[2,null]}}))}))},kt=function(e){return v(void 0,void 0,void 0,(function(){var t,n,r;return g(this,(function(a){switch(a.label){case 0:t=/^#[0-9A_F]{6}$/g,n=0,a.label=1;case 1:return n<5?[4,rt(e)]:[3,4];case 2:if(""===(r=a.sent()))return[2,null];if(t.test(r))return[2,r];a.label=3;case 3:return n++,[3,1];case 4:return[2,null]}}))}))},St=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r,a;return g(this,(function(s){switch(s.label){case 0:n=/^(?![-_]).*?[a-zA-Z0-9_-]{4,20}(?<![-_])$/g,r=0,s.label=1;case 1:return r<5?[4,rt(e)]:[3,4];case 2:if(a=(a=s.sent()).trim(),n.test(a))return t.includes(a)?(console.log(et.red("Account label already exists")),[3,3]):[2,a];s.label=3;case 3:return r++,[3,1];case 4:return[2,null]}}))}))},xt=function(e){return v(void 0,void 0,void 0,(function(){var t,n,a;return g(this,(function(s){switch(s.label){case 0:return t=0,n=[{name:"password",type:"password",mask:"#",message:"".concat(e,":"),validate:function(e){return t>=3||(n=e,r="Password must contain at least: \n",a=!0,s=" ",o=et.green("✔"),c=et.red("✖"),n.length>=8?r+=s+o+" 8 characters\n":(r+=s+c+" 8 characters\n",a=!1),/[0-9]/.test(n)?r+=s+o+" One numerical character\n":(r+=s+c+" One numerical character\n",a=!1),/[A-Z]/.test(n)?r+=s+o+" One uppercase letter\n":(r+=s+c+" One uppercase letter\n",a=!1),/[!@#$%]/.test(n)?r+=s+o+" One sepcial character (i.e. !@#$%)\n":(r+=s+c+" One sepcial character (i.e. !@#$%)\n",a=!1),!!a||r);var n,r,a,s,o,c}}],[4,r.prompt(n)];case 1:return a=s.sent().password,t>=3&&(a=null),[2,a]}}))}))},Nt=function(e){return v(void 0,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return t=[{name:"confirm",type:"confirm",message:"".concat(e)}],[4,r.prompt(t)];case 1:return[2,n.sent().confirm]}}))}))},Ot=function(e,t){return v(void 0,void 0,void 0,(function(){var n;return g(this,(function(a){switch(a.label){case 0:return n=[{name:"editor",type:"editor",message:"".concat(e),validate:t}],[4,r.prompt(n)];case 1:return[2,a.sent().editor.trim().toString()]}}))}))},Pt=function(e){return!!/^0x[0-9a-fA-F]*$/g.test(e.trim())},Ft=function(e,t){return v(void 0,void 0,void 0,(function(){var n,r,a;return g(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),[4,e.apply(void 0,t)];case 1:return r=s.sent(),n={status:!0,output:r},[3,3];case 2:return a=s.sent(),n={status:!1,output:a.toString()},[3,3];case 3:return[2,n]}}))}))},At=function(e){return e.startsWith("0x")&&42===e.length?"evm":/^[A-HJ-NP-Za-km-z1-9]*$/.test(e)&&e.length<=44&&e.length>=32?"solana":"unknown"},_t=function(t){return t=t.trim(),e.existsSync(t)},Ct=function(e){return new Promise((function(t){return setTimeout(t,e)}))},Tt=function(e,t){return void 0===t&&(t=!0),t?e:e.startsWith("0x")?e.slice(0,8)+"..."+e.slice(-6):e.slice(0,6)+"..."+e.slice(-6)},Bt=function(e,t,n,a,s,o,c,i,u){return v(void 0,void 0,void 0,(function(){var l,d,p,h,f,m,v,w,b,y,k,S,x,N,O,P,F,A,_,C,T,B,L,j,I,R;return g(this,(function(g){switch(g.label){case 0:l=[{type:"list",name:"inputText",message:i||"Choose an option",choices:e,pageSize:30,default:u,filter:function(e){return e}}],d=r.prompt(l),p=0,h=0,g.label=1;case 1:return d.ui.activePrompt.answers[d.ui.activePrompt.opt.name]?[3,4]:[4,Ct(2e3)];case 2:if(g.sent(),f===d.ui.activePrompt.selected)return[3,1];if(p===d.ui.activePrompt.selected?h+=1:(h=0,p=d.ui.activePrompt.selected),h<5)return[3,1];for(h=0,m=d.ui.activePrompt.opt.pageSize,v=[],A=0;A<d.ui.activePrompt.opt.choices.choices.length;A++)d.ui.activePrompt.opt.choices.choices[A].name?(w=null,t?w=(w=/0x[0-9a-fA-f]{40}/.exec(d.ui.activePrompt.opt.choices.choices[A].name))?w[0]:null:(b=w=/\s+([0-9a-zA-Z]*)/.exec(d.ui.activePrompt.opt.choices.choices[A].name),"Back"===(w=b?b[1]:null)&&(w=null)),w?v.push(w):v.push(null)):v.push(null);return v=v.concat(v),y=void 0,k=void 0,p<m/2?v.length/2<=m?(y=0,k=v.length/2):(y=0,k=m):v.length/2<=m?(y=0,k=v.length/2):(y=p-m/2+1,k=p+m/2+1),S=v.slice(y,k),[4,Ye(n,S,a,s.rpcUrl,s.name,o,c)];case 3:for(B in x=g.sent(),N={},x)for(j in x[B])O=x[B][j],P=O.length+1,N[j]?N[j]<P&&(N[j]=P):N[j]=P;for(F=s.nativeCurrency.symbol,A=y;A<k;A++)if(_=A>=v.length/2?A-v.length/2:A,(C=d.ui.activePrompt.opt.choices.choices[_]).name){for(j in T=C.name,B=v[A],L="",x[B])(o||j!==F)&&(c||j===F)&&(T.includes(j)||(L+="".concat(j,":").concat(x[B][j].padEnd(N[j])," ")));(I=T.split("(")).length>1?(R=I[1],d.ui.activePrompt.opt.choices.choices[_].name=I[0]+" ".concat(L)+"(".concat(R)):d.ui.activePrompt.opt.choices.choices[_].name=I[0]+" ".concat(L)}return d.ui.activePrompt.screen.render(""),d.ui.activePrompt.render(),f=p,[3,1];case 4:return[2,d.ui.activePrompt.answers[d.ui.activePrompt.opt.name]]}}))}))};require("wative-core").WativeCore;var Lt=function(e,t){return v(void 0,void 0,void 0,(function(){var n;return g(this,(function(r){switch(r.label){case 0:return[4,mt(["> System & Settings","> Accounts","> Tools","> Exit"])];case 1:switch(n=r.sent(),n){case"> System & Settings":return[3,2];case"> Accounts":return[3,4];case"> Tools":return[3,6];case"> Exit":return[3,8]}return[3,9];case 2:return[4,Ie(e)];case 3:case 5:case 7:return r.sent(),[3,9];case 4:return[4,ke(e,t)];case 6:return[4,Q(e,t)];case 8:return[2];case 9:return[4,Lt(e,t)];case 10:return r.sent(),[2]}}))}))},jt=require("wative-core").WativeCore,It=require("../package.json");require("events").EventEmitter.defaultMaxListeners=0;process.on("unhandledRejection",(function(e,t){console.log("Unhandled Rejection at:",t,"reason:",e)})),v(void 0,void 0,void 0,(function(){var r,a,s,o;return g(this,(function(c){switch(c.label){case 0:return console.log("version:",It.version),console.log(et.green(n.textSync("Wative",{font:"Ghost",horizontalLayout:"default",verticalLayout:"default"}))),[4,v(void 0,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return[4,rt("Keystore storage located in (default: ".concat(nt,")"))];case 1:return(t=n.sent())||(t=nt),t=(t=t.trim()).replace("~",tt),e.existsSync(t)||e.mkdirSync(t,{recursive:!0}),[2,t]}}))}))];case 1:return r=c.sent(),[4,xe(r)];case 2:return c.sent(),function(n){var r=t.resolve(n,"network.json"),a=JSON.parse(e.readFileSync(r,"utf8"));a.status||(a.status={fullAddr:!0,gasToken:!1,extendedToken:!1}),a.showTokens||(a.showTokens={});for(var s=a.accounts.length,o=0;o<s;o++){var c=a.accounts[s-1-o],i=t.resolve(n,"accounts/".concat(c,".json"));e.existsSync(i)||a.accounts.splice(s-1-o,1)}e.writeFileSync(r,JSON.stringify(a,null,4));var u=a.accounts;for(o=0;o<u.length;o++){i=t.resolve(n,"accounts/".concat(u[o],".json"));var l=JSON.parse(e.readFileSync(i,"utf8"));"PP"!==l.account_type&&("data"in l||(l.data=[{ciphertexts:l.ciphertexts}],delete l.ciphertexts,e.writeFileSync(i,JSON.stringify(l,null,4))))}}(r),a=t.resolve(r,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=new jt(r,s.accounts,null,!0),[4,Lt(r,o)];case 3:return c.sent(),[2]}}))})).then((function(){return process.exit(0)})).catch((function(e){console.log(e.message),process.exit(1)}));
|
package/lib/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("fs"),require("path"),require("figlet"),require("inquirer"),require("web3"),require("@solana/web3.js"),require("@solana/spl-token"),require("@metaplex-foundation/js"),require("bignumber.js")):"function"==typeof define&&define.amd?define(["fs","path","figlet","inquirer","web3","@solana/web3.js","@solana/spl-token","@metaplex-foundation/js","bignumber.js"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).fs,e.path,e.figlet,e.inquirer,e.Web3,e.web3_js,e.splToken,e.js,e.bignumber_js)}(this,(function(e,t,n,r,a,s,o,c,u){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var d=l(e),p=l(t),f=l(n),h=i(r),m=i(a);function g(e,t,n,r){return new(n||(n=Promise))((function(a,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function c(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,c)}u((r=r.apply(e,t||[])).next())}))}function v(e,t){var n,r,a,s,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return s={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function c(c){return function(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==c[0]&&2!==c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}"function"==typeof SuppressedError&&SuppressedError;var b={},w=function(e){return g(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return t=new m.default(e),[4,Ot(t.eth.getChainId,[])];case 1:return[2,n.sent()]}}))}))},y=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(this,(function(r){switch(r.label){case 0:return n=new m.default(t),[4,Ot(n.eth.getBalance,[e])];case 1:return[2,r.sent()]}}))}))},k=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(this,(function(r){switch(r.label){case 0:return n=new s.Connection(t),[4,Ot(n.getBalance.bind(n),[new s.PublicKey(e)])];case 1:return[2,r.sent()]}}))}))},S=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o;return v(this,(function(c){switch(c.label){case 0:return n=new m.default(t),r=new n.eth.Contract([{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"}],e),[4,Ot(r.methods.symbol().call.bind(r),[])];case 1:return a=c.sent(),[4,Ot(r.methods.name().call.bind(r),[])];case 2:return s=c.sent(),[4,Ot(r.methods.decimals().call.bind(r),[])];case 3:return o=c.sent(),a.status&&s.status&&o.status?[2,{status:!0,output:{symbol:a.output,name:s.output,decimals:o.output}}]:[2,{status:!1,output:"Failed to get token info"}]}}))}))},x=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,u,i,l,d;return v(this,(function(p){switch(p.label){case 0:return n=new s.Connection(t),r=c.Metaplex.make(n),a=new s.PublicKey(e),[4,Ot(o.getMint,[n,a])];case 1:if(u=p.sent(),i={status:!0,output:{symbol:"",name:"",decimals:""}},!u.status)return[2,{status:!1,output:"Failed to get token decimals"}];i.output.decimals=u.output.decimals,p.label=2;case 2:return p.trys.push([2,6,,7]),l=r.nfts().pdas().metadata({mint:a}),[4,n.getAccountInfo(l)];case 3:return p.sent()?[4,r.nfts().findByMint({mintAddress:a})]:[3,5];case 4:d=p.sent(),i.output.name=d.name,i.output.symbol=d.symbol,p.label=5;case 5:return[3,7];case 6:return p.sent(),[2,{status:!1,output:"Failed to get token name"}];case 7:return[2,i]}}))}))},N=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s;return v(this,(function(o){switch(o.label){case 0:return r=new m.default(n),a=new r.eth.Contract([{constant:!0,inputs:[{name:"who",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"}],t),[4,Ot(a.methods.balanceOf(e).call.bind(a),[])];case 1:return(s=o.sent()).status?[2,{status:!0,output:s.output}]:[2,{status:!1,output:"Failed to get token balance"}]}}))}))},P=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,c;return v(this,(function(u){switch(u.label){case 0:return r=new s.Connection(n),a=o.getAssociatedTokenAddressSync(new s.PublicKey(t),new s.PublicKey(e)),[4,Ot(r.getTokenAccountBalance.bind(r),[a])];case 1:return(c=u.sent()).status?[2,{status:!0,output:c.output.value.amount}]:c.output.includes("could not find account")?[2,{status:!0,output:"0"}]:[2,{status:!1,output:"Failed to get token balance"}]}}))}))},B=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r;return v(this,(function(a){return r=new m.default(n),[2,r.eth.abi.encodeFunctionCall({constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},[e,t])]}))}))},O=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a;return v(this,(function(o){switch(o.label){case 0:return t=new s.Connection(e),[4,Ot(t.getRecentPrioritizationFees.bind(t),[])];case 1:return(n=o.sent()).status?(r=n.output,a=r.map((function(e){return e.prioritizationFee})).sort(),[2,{status:!0,output:a.length>0?Math.ceil(a.reduce((function(e,t){return e+t}))/a.length):1e3}]):[2,{status:!1,output:"Failed to get recent prioritization fees"}]}}))}))},A=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(a){switch(a.label){case 0:return n=new s.Connection(t),[4,Ot(n.getAccountInfo.bind(n),[new s.PublicKey(e.toString())])];case 1:return(r=a.sent()).status?[2,{status:!0,output:r.output}]:[2,{status:!1,output:"Failed to get account info"}]}}))}))},F=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:n in b?s=b[n][t]||{}:(b[n]={},s={}),o=0,c=e,l.label=1;case 1:return o<c.length?(u=c[o])?u in s?[3,12]:(i=void 0,"0"!==t?[3,6]:a?[4,y(u,r)]:[3,3]):[3,12]:[3,13];case 2:return i=l.sent(),[3,5];case 3:return[4,k(u,r)];case 4:i=l.sent(),l.label=5;case 5:return[3,10];case 6:return a?[4,N(u,t,r)]:[3,8];case 7:return i=l.sent(),[3,10];case 8:return[4,P(u,t,r)];case 9:i=l.sent(),l.label=10;case 10:return i.status&&(s[u]=i.output),[4,Tt(200)];case 11:l.sent(),l.label=12;case 12:return o++,[3,1];case 13:return b[n][t]=s,[2,b]}}))}))},T=function(e,t,n){for(var r=0;r<t.length;r++)for(var a=t[r],s=0;s<n.length;s++){var o=n[s];try{delete b[e][o][a]}catch(e){}}},C=["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"],_=[{name:"Ethereum Mainnet",chainId:1,rpcUrl:"https://eth.llamarpc.com",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},multicallAddress:"0xeefBa1e63905eF1D7ACbA5a8513c70307C1cE441"},{name:"Solana Mainnet",chainId:901,rpcUrl:"https://api.mainnet-beta.solana.com",nativeCurrency:{name:"SOL",symbol:"SOL",decimals:9}}],j=["901","902","903"],I=function(e){return j.includes(e)?9:18},L=function(e){return j.includes(e)?"solana":"evm"},q=require("bn.js").BN,z=require("ethereumjs-util").stripHexPrefix,R=require("bignumber.js").BigNumber;function E(e){return new q(z(e.toString("hex")),16)}var J=function(e){return e.match(/^-?0x/u)?e:e.match(/^-?0X/u)?e.replace("0X","0x"):e.startsWith("-")?e.replace("-","-0x"):"0x".concat(e)};function U(e){return J(e.toString(16))}var K=function(){function e(e){this.query=new m.default(m.default.givenProvider||e).eth}return e.prototype.analyzeGasUsage=function(e){return g(this,void 0,void 0,(function(){var t,n,r,a,s,o;return v(this,(function(c){switch(c.label){case 0:return[4,this.query.getBlock("latest",!1)];case 1:t=c.sent(),n=E(t.gasLimit),u=n,i=20,l=new q(19),d=new q(i),r=u.mul(l).div(d),a=U(r),c.label=2;case 2:return c.trys.push([2,4,,5]),[4,this.estimateTxGas(e)];case 3:return a=c.sent(),[3,5];case 4:return o=c.sent(),s={reason:o.message,errorKey:o.errorKey,debug:{blockNumber:t.number,blockGasLimit:t.gasLimit}},[3,5];case 5:return[2,{blockGasLimit:t.gasLimit,estimatedGasHex:a,simulationFails:s}]}var u,i,l,d}))}))},e.prototype.estimateTxGas=function(e){return g(this,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return[4,this.query.estimateGas(e)];case 1:return t=n.sent(),[2,t=new R(t.toString()).multipliedBy(1.3).toFixed(0)]}}))}))},e.prototype.addGasBuffer=function(e,t,n){void 0===n&&(n=1.3);var r=E(e),a=E(t).muln(.9),s=r.muln(n);return r.gt(a)?U(r):s.lt(a)?U(s):U(a)},e.prototype.getBufferedGasLimit=function(e,t){return g(this,void 0,void 0,(function(){var n,r,a,s;return v(this,(function(o){switch(o.label){case 0:return[4,this.analyzeGasUsage(e)];case 1:return n=o.sent(),r=n.blockGasLimit,a=n.estimatedGasHex,s=n.simulationFails,[2,{gasLimit:this.addGasBuffer(J(a),r,t),simulationFails:s}]}}))}))},e.prototype.getGasPrice=function(){return g(this,void 0,void 0,(function(){return v(this,(function(e){switch(e.label){case 0:return[4,this.query.getGasPrice()];case 1:return[2,e.sent()]}}))}))},e.prototype.getTransactionCount=function(e){return g(this,void 0,void 0,(function(){return v(this,(function(t){switch(t.label){case 0:return[4,this.query.getTransactionCount(e)];case 1:return[2,t.sent()]}}))}))},e}(),M=require("chalk");require("wative-core").WativeCore;var D=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l;return v(this,(function(d){switch(d.label){case 0:return t=[new h.default.Separator("————Tx Detail—————-"),"from: ".concat(e.from),"to: ".concat(e.to),"nonce: ".concat(e.nonce),"gasPrice: ".concat(e.gasPrice),"data: ".concat(e.data),"value: ".concat(e.value),"gas: ".concat(e.gas),new h.default.Separator("——————————————-"),"Send it now"],[4,mt(t)];case 1:return n=d.sent(),1!==(r=t.indexOf(n))?[3,3]:(a=e,[4,rt("from",ht)]);case 2:a.from=d.sent(),d.label=3;case 3:return 2!==r?[3,5]:(s=e,[4,rt("to",ht)]);case 4:s.to=d.sent(),d.label=5;case 5:return 3!==r?[3,7]:(o=e,[4,rt("nonce")]);case 6:o.nonce=d.sent(),d.label=7;case 7:return 4!==r?[3,9]:(c=e,[4,rt("gasPrice")]);case 8:c.gasPrice=d.sent(),d.label=9;case 9:return 5!==r?[3,11]:(u=e,[4,Pt("data")]);case 10:u.data=d.sent(),d.label=11;case 11:return 6!==r?[3,13]:(i=e,[4,rt("value")]);case 12:i.value=d.sent(),d.label=13;case 13:return 7!==r?[3,15]:(l=e,[4,rt("gas")]);case 14:l.gas=d.sent(),d.label=15;case 15:return 9===r?[2,e]:[4,D(e)];case 16:return[2,d.sent()]}}))}))},G=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,i,l,d,p,f,h,b,w,k,S,x,N,P,B,O,A,F,C,_,j,I;return v(this,(function(L){switch(L.label){case 0:return[4,rt("to",ht)];case 1:return s=L.sent(),[4,(o=new K(t)).getGasPrice()];case 2:return c=L.sent(),i=new u.BigNumber(c.toString()).dividedBy(1e9),l=i.toFixed(4,u.BigNumber.ROUND_FLOOR),[4,rt("Gas price (".concat(l,"), agree or enter"),it)];case 3:return d=L.sent(),p=d||l,p=new u.BigNumber(p).multipliedBy(1e9).toFixed(0),[4,(q=s,z=t,g(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return e=new m.default(z),[4,Ot(e.eth.getCode.bind(e),[q])];case 1:return(t=n.sent()).status?[2,{status:!0,output:t.output}]:[2,{status:!1,output:"Failed to get code"}]}}))})))];case 4:return(f=L.sent()).status?"0x"!==f.output?[3,7]:(h="0x",[4,y(r,t)]):(console.log(M.red(f.output)),[2]);case 5:return(w=L.sent()).status?(k=new u.BigNumber(w.output),S=new u.BigNumber(p),x=k.minus(S.multipliedBy(21e3)).toFixed(0,u.BigNumber.ROUND_FLOOR),N=new u.BigNumber(x).dividedBy(1e18).toFixed(4,u.BigNumber.ROUND_FLOOR),new u.BigNumber(N)<new u.BigNumber(0)?(console.log(M.red("Not enough balance")),[2]):[4,$(N,x,n,18)]):(console.log(M.red(w.output)),[2]);case 6:return b=L.sent(),[3,10];case 7:return[4,Pt("data",Bt)];case 8:return h=L.sent(),[4,rt("value",ut)];case 9:b=L.sent(),L.label=10;case 10:return[4,o.getTransactionCount(r)];case 11:return P=L.sent(),[4,rt("Nonce (".concat(P,"), agree or enter"))];case 12:return B=L.sent(),O=B||P.toString(),A={from:r,to:s,nonce:O,gasPrice:p,data:h,value:b},"0x"!==h?[3,13]:(A.gas="21000",[3,18]);case 13:F=A.gasPrice,delete A.gasPrice,L.label=14;case 14:return L.trys.push([14,16,,17]),C=A,_="gas",[4,o.estimateTxGas(A)];case 15:return C[_]=L.sent().toString(),[3,17];case 16:return j=L.sent(),console.log(M.red("Error: "+j)),[2];case 17:A.gasPrice=F,L.label=18;case 18:return[4,D(A)];case 19:return A=L.sent(),[4,a.account.signTransaction(r,A,t)];case 20:return(I=L.sent()).status?(console.log(M.green("Transaction hash: ".concat(I.output.transactionHash))),a.account.sendSignedTransaction(r,I.output.rawTransaction,t),T(e,[r,s],["0"]),[2]):(console.log(M.red(I.output)),[2])}var q,z}))}))},W=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var o,c,i,l,d,p,f,h,m,g,b,w,y,S,x,N;return v(this,(function(v){switch(v.label){case 0:return[4,rt("to",ht)];case 1:return o=v.sent(),(c=(new s.Transaction).add(s.SystemProgram.transfer({fromPubkey:new s.PublicKey(r),toPubkey:new s.PublicKey(o),lamports:1}))).add(s.ComputeBudgetProgram.setComputeUnitLimit({units:2e5})),c.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:1e3})),c.feePayer=new s.PublicKey(r),[4,a.account.simulateTransaction(r,t,c)];case 2:return(i=v.sent()).status?i.output&&i.output.value&&0!==i.output.value.unitsConsumed&&!i.output.value.err?(l=new u.BigNumber(i.output.value.unitsConsumed.toString()).multipliedBy(1.2).toFixed(0,u.BigNumber.ROUND_CEIL),d=new u.BigNumber(l),[4,O(t)]):(console.log(M.red("Simulate error")),[2]):(console.log(M.red(i.output)),[2]);case 3:return(p=v.sent()).status?(f=new u.BigNumber(p.output.toString()),h=d.multipliedBy(f).dividedBy(1e6).toFixed(0,u.BigNumber.ROUND_CEIL),[4,k(r,t)]):(console.log(M.red(p.output)),[2]);case 4:return(m=v.sent()).status?(g=new u.BigNumber(m.output),b=g.minus(5e3).minus(h),w=new u.BigNumber(b).dividedBy(1e9).toFixed(4,u.BigNumber.ROUND_FLOOR),new u.BigNumber(w)<new u.BigNumber(0)?(console.log(M.red("Not enough balance")),[2]):[4,$(w,b.toString(),n,9)]):(console.log(M.red(m.output)),[2]);case 5:return y=v.sent(),(S=new s.Transaction).add(s.ComputeBudgetProgram.setComputeUnitLimit({units:Number(d)})),S.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:Number(f)})),S.add(s.SystemProgram.transfer({fromPubkey:new s.PublicKey(r),toPubkey:new s.PublicKey(o),lamports:Number(y)})),c.feePayer=new s.PublicKey(r),[4,a.account.signTransaction(r,S,t)];case 6:return(x=v.sent()).status?[4,a.account.sendSignedTransaction(r,x.output,t)]:(console.log(M.red(x.output)),[2]);case 7:return(N=v.sent()).status?(T(e,[r,o],["0"]),console.log(M.green("Transaction hash: ".concat(N.output))),[2]):(console.log(M.red(N.output)),[2])}}))}))},$=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,i;return v(this,(function(l){switch(l.label){case 0:return a=["> Input value","> Total Balance (".concat(e," ").concat(n,")")],[4,mt(a)];case 1:return s=l.sent(),o=a.indexOf(s),c="0",0!==o?[3,3]:[4,rt("value",ut)];case 2:return i=l.sent(),c=new u.BigNumber(i).multipliedBy(Math.pow(10,r)).toFixed(0,u.BigNumber.ROUND_FLOOR),[3,4];case 3:1===o&&(c=t),l.label=4;case 4:return new u.BigNumber(c).isLessThanOrEqualTo(new u.BigNumber(t))?[2,c]:(console.log(M.red("Not enough balance")),[2,$(e,t,n,r)])}}))}))},H=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,i,l,d,p,f,h,m,g,b,w,y,k,x,P,O,A,F,C,_,j,I,L,q,z,R,E,J,U,G,W,$;return v(this,(function(v){switch(v.label){case 0:return[4,mt(["> Input token ticker","> Input token contract address"])];case 1:switch(s=v.sent(),s){case"> Input token ticker":return[3,2];case"> Input token contract address":return[3,10]}return[3,13];case 2:return[4,rt("token ticker")];case 3:return i=v.sent(),[4,He(e,n,i)];case 4:if(0===(l=v.sent()).length)return console.log(M.red("Token not found")),[2];d=[],x=0,v.label=5;case 5:return x<l.length?[4,N(r,l[x].address,t)]:[3,8];case 6:if(!(p=v.sent()).status)return console.log(M.red(p.output)),[2];if(f=new u.BigNumber(p.output),h=f.dividedBy(Math.pow(10,Number(l[x].decimals))).toFixed(4,u.BigNumber.ROUND_FLOOR),1===l.length)return d.push("> 1. ".concat(i," Balance: ").concat(h)),[3,8];d.push("> ".concat(x+1,". ").concat(i," Balance: ").concat(h,"(").concat(l[x].address,")")),d.push(l[x].address),v.label=7;case 7:return x++,[3,5];case 8:return[4,mt(d)];case 9:return m=v.sent(),g=l[d.indexOf(m)],o=g.address,c=Number(g.decimals),[3,13];case 10:return[4,rt("token contract address",ht)];case 11:return o=v.sent(),[4,S(o,t)];case 12:return(b=v.sent()).status?(c=Number(b.output.decimals),[3,13]):(console.log(M.red(b.output)),[2]);case 13:return[4,rt("Receipt",ht)];case 14:return w=v.sent(),[4,N(r,o,t)];case 15:if(!(y=v.sent()).status)return console.log(M.red(y.output)),[2];x=0,v.label=16;case 16:return x<5?[4,rt("Amount",ut)]:[3,19];case 17:if(P=v.sent(),new u.BigNumber(P).multipliedBy(Math.pow(10,Number(c))).isLessThanOrEqualTo(new u.BigNumber(y.output)))return k=P,[3,19];console.log(M.red("Not enough balance")),v.label=18;case 18:return x++,[3,16];case 19:return k?[4,(O=new K(t)).getGasPrice()]:[2];case 20:return A=v.sent(),F=new u.BigNumber(A.toString()).dividedBy(1e9),C=F.toFixed(4,u.BigNumber.ROUND_FLOOR),[4,rt("Gas price (".concat(C,"), agree or enter"),it)];case 21:return _=v.sent(),j=_||C,j=new u.BigNumber(j).multipliedBy(1e9).toFixed(0),I=new u.BigNumber(k).multipliedBy(Math.pow(10,c)).toFixed(0),[4,B(w,I,t)];case 22:return L=v.sent(),[4,O.getTransactionCount(r)];case 23:return q=v.sent(),[4,rt("Nonce (".concat(q,"), agree or enter"))];case 24:return z=v.sent(),R=z||q.toString(),E={from:r,to:o,nonce:R,gasPrice:j,data:L,value:"0"},"0x"!==L?[3,25]:(E.gas="21000",[3,30]);case 25:J=E.gasPrice,delete E.gasPrice,v.label=26;case 26:return v.trys.push([26,28,,29]),U=E,G="gas",[4,O.estimateTxGas(E)];case 27:return U[G]=v.sent().toString(),[3,29];case 28:return W=v.sent(),console.log(M.red("Failed to estimate gas, "+W.message)),[2];case 29:E.gasPrice=J,v.label=30;case 30:return[4,D(E)];case 31:return E=v.sent(),[4,a.account.signTransaction(r,E,t)];case 32:return($=v.sent()).status?(console.log(M.green("Transaction hash: ".concat($.output.transactionHash))),a.account.sendSignedTransaction(r,$.output.rawTransaction,t),T(n,[r,w],["0",o]),[2]):(console.log(M.red($.output)),[2])}}))}))},Z=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var c,i,l,d,p,f,h,m,g,b,w,y,k,S,B,F,C,_,j,I,L,q,z,R,E,J,U,K,D,G;return v(this,(function(v){switch(v.label){case 0:return[4,mt(["> Input token ticker","> Input token contract address"])];case 1:switch(c=v.sent(),c){case"> Input token ticker":return[3,2];case"> Input token contract address":return[3,10]}return[3,13];case 2:return[4,rt("token ticker")];case 3:return d=v.sent(),[4,He(e,n,d)];case 4:if(0===(p=v.sent()).length)return console.log(M.red("Token not found")),[2];f=[],F=0,v.label=5;case 5:return F<p.length?[4,P(r,p[F].address,t)]:[3,8];case 6:if(!(h=v.sent()).status)return console.log(M.red(h.output)),[2];if(m=new u.BigNumber(h.output),g=m.dividedBy(Math.pow(10,Number(p[F].decimals))).toFixed(4,u.BigNumber.ROUND_FLOOR),1===p.length)return f.push("> 1. ".concat(d," Balance: ").concat(g)),[3,8];f.push("> ".concat(F+1,". ").concat(d," Balance: ").concat(g,"(").concat(p[F].address,")")),f.push(p[F].address),v.label=7;case 7:return F++,[3,5];case 8:return[4,mt(f)];case 9:return b=v.sent(),w=p[f.indexOf(b)],i=w.address,l=Number(w.decimals),[3,13];case 10:return[4,rt("token contract address",ht)];case 11:return i=v.sent(),[4,x(i,t)];case 12:return(y=v.sent()).status?(l=Number(y.output.decimals),[3,13]):(console.log(M.red(y.output)),[2]);case 13:return[4,rt("Receipt",ht)];case 14:return k=v.sent(),[4,N(r,i,t)];case 15:if(!(S=v.sent()).status)return console.log(M.red(S.output)),[2];F=0,v.label=16;case 16:return F<5?[4,rt("Amount",ut)]:[3,19];case 17:if(C=v.sent(),new u.BigNumber(C).multipliedBy(Math.pow(10,Number(l))).isLessThanOrEqualTo(new u.BigNumber(S.output)))return B=C,[3,19];console.log(M.red("Not enough balance")),v.label=18;case 18:return F++,[3,16];case 19:return B?(_=new u.BigNumber(B).multipliedBy(Math.pow(10,l)).toFixed(0),j=o.getAssociatedTokenAddressSync(new s.PublicKey(i),new s.PublicKey(r),!0),[4,A(j.toString(),t)]):[2];case 20:return(I=v.sent()).status?I.output&&I.output.owner.toString()!==s.PublicKey.default?(L=o.getAssociatedTokenAddressSync(new s.PublicKey(i),new s.PublicKey(k),!1),[4,A(L.toString(),t)]):(console.log(M.red("From token account not found")),[2]):(console.log(M.red(I.output)),[2]);case 21:return(q=v.sent()).status?(z=new s.Transaction,R=new s.Transaction,q.output&&q.output.owner.toString()!==s.PublicKey.default||(z.add(o.createAssociatedTokenAccountInstruction(new s.PublicKey(r),new s.PublicKey(L),new s.PublicKey(k),new s.PublicKey(i))),R.add(o.createAssociatedTokenAccountInstruction(new s.PublicKey(r),new s.PublicKey(L),new s.PublicKey(k),new s.PublicKey(i)))),z.add(o.createTransferInstruction(j,L,new s.PublicKey(r),Number(_))),z.add(s.ComputeBudgetProgram.setComputeUnitLimit({units:2e5})),z.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:1e3})),z.feePayer=new s.PublicKey(r),[4,a.account.simulateTransaction(r,t,z)]):(console.log(M.red(q.output)),[2]);case 22:return(E=v.sent()).status?E.output&&E.output.value&&0!==E.output.value.unitsConsumed&&!E.output.value.err?(J=new u.BigNumber(E.output.value.unitsConsumed.toString()),J=new u.BigNumber(Math.ceil(1.2*Number(J))),[4,O(t)]):(console.log(M.red("Simulate error")),[2]):(console.log(M.red(E.output)),[2]);case 23:return(U=v.sent()).status?(K=new u.BigNumber(U.output.toString()),R.add(o.createTransferInstruction(j,L,new s.PublicKey(r),Number(_))),R.add(s.ComputeBudgetProgram.setComputeUnitLimit({units:Number(J)})),R.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:Number(K)})),z.feePayer=new s.PublicKey(r),[4,a.account.signTransaction(r,R,t)]):(console.log(M.red(U.output)),[2]);case 24:return(D=v.sent()).status?[4,a.account.sendSignedTransaction(r,D.output,t)]:(console.log(M.red(D.output)),[2]);case 25:return(G=v.sent()).status?(T(n,[r,k],["0",i]),console.log(M.green("Transaction hash: ".concat(G.output))),[2]):(console.log(M.red(G.output)),[2])}}))}))},V=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d,p;return v(this,(function(f){switch(f.label){case 0:return a=Me(e,t,n),s=ze(e,a),o=At(n),s!==o&&("evm"===o&&(a="Ethereum Mainnet"),"solana"===o&&(a="Solana Mainnet"),s=ze(e,a)),"evm"!==s?[3,3]:[4,Nt("Network (".concat(a,"), want a change?"))];case 1:return f.sent()?(c=De(e),[4,mt(c,"Select a network")]):[3,3];case 2:u=f.sent(),a=u,f.label=3;case 3:return[4,Ke(n,e,a)];case 4:return(i=f.sent()).status?(l=Re(e,a),console.log(M.green(" ".concat(l.nativeCurrency.symbol," Balance: ").concat(i.output))),d=["> Send Raw Tx","> Send Token",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(d)]):(console.log(M.red(i.output)),[2]);case 5:switch(p=f.sent(),p){case"> Send Raw Tx":return[3,6];case"> Send Token":return[3,11];case"> Back":return[3,16]}return[3,17];case 6:return"evm"!==o?[3,8]:[4,G(l.chainId.toString(),l.rpcUrl,l.nativeCurrency.symbol,n,r)];case 7:f.sent(),f.label=8;case 8:return"solana"!==o?[3,10]:[4,W(l.chainId.toString(),l.rpcUrl,l.nativeCurrency.symbol,n,r)];case 9:f.sent(),f.label=10;case 10:return[3,17];case 11:return"evm"!==o?[3,13]:[4,H(e,l.rpcUrl,l.chainId.toString(),n,r)];case 12:f.sent(),f.label=13;case 13:return"solana"!==o?[3,15]:[4,Z(e,l.rpcUrl,l.chainId.toString(),n,r)];case 14:f.sent(),f.label=15;case 15:return[3,17];case 16:case 17:return[2]}}))}))},X=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c;return v(this,(function(u){switch(u.label){case 0:return a=["> SendTx","> SignMessage",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(a)];case 1:switch(s=u.sent(),s){case"> SendTx":return[3,2];case"> SignMessage":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,V(e,t,n,r)];case 3:return u.sent(),[3,7];case 4:return[4,Pt("Input the message to sign")];case 5:return o=u.sent(),(c=r.account.signMessage(n,o)).status?(console.log(M.green("Signature: "+c.output)),[3,7]):(console.log(M.red(c.output)),[3,7]);case 6:return[2];case 7:return[4,X(e,t,n,r)];case 8:return u.sent(),[2]}}))}))},Q=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o;return v(this,(function(c){switch(c.label){case 0:return n=["> Send Tx","> Search Accounts",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(n)];case 1:return"> Back"===(r=c.sent())?[2]:"> Send Tx"!==r?[3,3]:[4,rt("Input address to send tx",ht)];case 2:a=c.sent(),c.label=3;case 3:return"> Search Accounts"!==r?[3,5]:[4,rt("Input part address to send tx",ct)];case 4:a=c.sent(),c.label=5;case 5:return null!==(s=t.account.getAccountLabel(a))?[3,7]:(console.log(M.red("Account not found")),[4,Q(e,t)]);case 6:return c.sent(),[2];case 7:return o=s.account_label,a=s.account_address,null!==o?[3,9]:(console.log(M.red("Account not found")),[4,Q(e,t)]);case 8:return c.sent(),[2];case 9:return[4,de(o,t)];case 10:return c.sent().isLoginIn?[3,12]:[4,Q(e,t)];case 11:return c.sent(),[2];case 12:return[4,X(e,o,a,t)];case 13:return c.sent(),[4,Q(e,t)];case 14:return c.sent(),[2]}}))}))},Y=require("chalk");require("dotenv").config();var ee=require("cli-progress");require("wative-core").WativeCore;var te={account_label:"",default_account_index:0},ne=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s;return v(this,(function(o){switch(o.label){case 0:return t=ue(e),n=[],t.accounts&&(n=t.accounts),[4,St("Account Label",n)];case 1:return null===(r=o.sent())?[2,null]:[4,xt("Please set a password for Account [".concat(r,"]"))];case 2:return a=o.sent(),[4,qe(e)];case 3:return s=o.sent(),[2,{account_label:r,password:a,selected_default_network:s}]}}))}))},re=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c;return v(this,(function(u){switch(u.label){case 0:return[4,ne(e)];case 1:return(n=u.sent())?[4,rt("Please enter a mnemonic [split by space]",lt)]:[2];case 2:return r=(r=u.sent()).replace(/\s+/g," "),(a=t.account.generatePPAccount(n.account_label,r,n.password)).status?(s=p.join(e,"accounts/".concat(n.account_label,".json")),a.output.default_network=n.selected_default_network,d.writeFileSync(s,JSON.stringify(a.output,null,4)),o=p.resolve(e,"network.json"),(c=JSON.parse(d.readFileSync(o,"utf8"))).accounts.push(n.account_label),d.writeFileSync(o,JSON.stringify(c,null,4)),[2]):(console.log(Y.red(a.output)),[2])}}))}))},ae=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s;return v(this,(function(o){switch(o.label){case 0:return[4,ne(e)];case 1:return(n=o.sent())?[4,rt("Please enter a private key")]:[2];case 2:return r=o.sent(),[4,oe(e,n.password,n.account_label,r,n.selected_default_network,t,!0)];case 3:return o.sent(),a=p.resolve(e,"network.json"),(s=JSON.parse(d.readFileSync(a,"utf8"))).accounts.push(n.account_label),d.writeFileSync(a,JSON.stringify(s,null,4)),[2]}}))}))},se=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o;return v(this,(function(c){switch(c.label){case 0:return[4,rt("Please enter a private key")];case 1:return a=c.sent(),s=p.join(e,"accounts/".concat(n,".json")),o=JSON.parse(d.readFileSync(s,"utf8")),[4,oe(e,t,n,a,o.default_network,r,!1)];case 2:return c.sent(),[2]}}))}))},oe=function(e,t,n,r,a,s,o){return g(void 0,void 0,void 0,(function(){var c,u,i,l,f;return v(this,(function(h){switch(h.label){case 0:return[4,Re(e,a)];case 1:return c=h.sent(),"evm"!==L(c.chainId.toString())||r.startsWith("0x")||(r="0x"+r),[4,s.account.generatePKAccount(n,r,t,c.chainId.toString(),o)];case 2:return(u=h.sent()).status?(i=p.join(e,"accounts/".concat(n,".json")),d.existsSync(i)?"data"in(f=JSON.parse(d.readFileSync(i,"utf8")))?(f.data.push({ciphertexts:u.output.ciphertexts}),l=f):(f.data=[{ciphertexts:f.ciphertexts}],delete f.ciphertexts,f.data.push({ciphertexts:u.output.ciphertexts}),l=f):(u.output.data=[{ciphertexts:u.output.ciphertexts}],delete u.output.ciphertexts,u.output.default_network=a,l=u.output),d.writeFileSync(i,JSON.stringify(l,null,4)),s.account.reloadAccount(),[2]):(console.log(Y.red(u.output)),[2])}}))}))},ce=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(a){switch(a.label){case 0:return n=["> Import Passphrase","> Import Private Key",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(n)];case 1:switch(r=a.sent(),r){case"> Import Passphrase":return[3,2];case"> Import Private Key":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,re(e,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,ae(e,t)];case 6:return[2];case 7:return t.account.reloadAccount(),[2]}}))}))},ue=function(e){var t=p.resolve(e,"network.json");return JSON.parse(d.readFileSync(t,"utf8"))},ie=function(e,t){var n=p.join(e,"accounts/".concat(t,".json"));return JSON.parse(d.readFileSync(n,"utf8"))},le=function(e,t,n){var r=p.join(e,"accounts/".concat(t,".json"));d.writeFileSync(r,JSON.stringify(n,null,4))},de=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a;return v(this,(function(s){switch(s.label){case 0:if(t.account.isLogin(e))return[2,{isLoginIn:!0}];n=0,s.label=1;case 1:return n<3?(r=void 0,process.env.WativePassword&&""!==process.env.WativePassword?(r=process.env.WativePassword,[3,4]):[3,2]):[3,7];case 2:return[4,xt("Please input the password for Account [".concat(e,"]"))];case 3:r=s.sent(),s.label=4;case 4:return r?[4,t.account.login(e,r)]:(console.log(Y.red("Password can't be empty")),[2,{isLoginIn:!1}]);case 5:if((a=s.sent()).status)return[2,{isLoginIn:!0,password:r}];console.log(Y.red(a.output)),s.label=6;case 6:return n++,[3,1];case 7:return[2,{isLoginIn:!1}]}}))}))},pe=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i,l,d;return v(this,(function(p){switch(p.label){case 0:if(n=ue(e),r=n.accounts,a=["> Back",new h.default.Separator("----------------------------------")],0===(s=r.length))return console.log(Y.red("No address here yet")),[2];for(o=0;o<s;o++)c=r[o],"data"in(u=ie(e,c))?a.push("".concat(o+1,") ").concat(c," [").concat(u.account_type,":").concat(u.data.length,"]")):a.push("".concat(o+1,") ").concat(c," [").concat(u.account_type,":1]"));return[4,mt(a,"Select an account")];case 1:return"> Back"===(i=p.sent())?[2]:(l=r[a.indexOf(i)-2],[4,de(l,t)]);case 2:return(d=p.sent()).isLoginIn?[4,he(e,l,t,d.password)]:[3,4];case 3:p.sent(),p.label=4;case 4:return[4,pe(e,t)];case 5:return p.sent(),[2]}}))}))},fe=function(e,t,n){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i,l,d,p,f,m,g,b,w,y,k,S,x;return v(this,(function(v){switch(v.label){case 0:return[4,ie(e,t)];case 1:return n=v.sent(),r=["> Disabled Slots","> Add Single","> Add Range",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(r)];case 2:switch(a=v.sent(),a){case"> Back":return[3,3];case"> Disabled Slots":return[3,4];case"> Add Single":return[3,7];case"> Add Range":return[3,9]}return[3,11];case 3:return[2];case 4:if(!(s=n.disabled_slots)||0===s.length)return console.log(Y.red("No disabled slots here yet")),[3,11];for(o=n.data,c=["> Back",new h.default.Separator("----------------------------------")],u=n.default_network,i=0;i<s.length;i++){if(l=s[i].from,d=s[i].to,p=u,f=u,"default_network"in o[l]&&(p=o[l].default_network),"default_network"in o[d]&&(f=o[d].default_network),m=ze(e,p),g=ze(e,f),"evm"!==m&&"solana"!==m)throw new Error("Invalid network type: ".concat(m));if("evm"!==g&&"solana"!==g)throw new Error("Invalid network type: ".concat(g));b=void 0,w=void 0,b="evm"===m?o[l].ciphertexts.evm.address:o[d].ciphertexts.solana.address,w="evm"===g?o[d].ciphertexts.evm.address:o[d].ciphertexts.solana.address,l===d?c.push("".concat(i+1,". ").concat(b,"[").concat(l,"]")):c.push("".concat(i+1,". ").concat(b,"[").concat(l,"]-").concat(w,"[").concat(d,"]"))}return[4,mt(c)];case 5:return"> Back"===(y=v.sent())?[3,11]:[4,Nt("Are you sure to delete the ".concat(y,"?"))];case 6:return v.sent()?(k=c.indexOf(y)-2,n.disabled_slots.splice(k,1),le(e,t,n),[3,11]):[3,11];case 7:return[4,st(n,"Input address or index")];case 8:return null===(S=v.sent())?(console.log(Y.red("Invalid account index")),[3,11]):(n.disabled_slots?n.disabled_slots.push({from:S,to:S}):n.disabled_slots=[{from:S,to:S}],le(e,t,n),[3,11]);case 9:return[4,at(n)];case 10:return(x=v.sent())?(n.disabled_slots?n.disabled_slots.push(x):n.disabled_slots=[x],le(e,t,n),[3,11]):(console.log(Y.red("Invalid account range")),[3,11]);case 11:return[4,fe(e,t)];case 12:return v.sent(),[2]}}))}))},he=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l;return v(this,(function(d){switch(d.label){case 0:return[4,ie(e,t)];case 1:return a=d.sent(),s="PP"===a.account_type?["> Address List","> Expand Address","> Slice Address","> Disable Address","> Reset Account Password","> Switch Networks [".concat(a.default_network,"]"),"> Remove",new h.default.Separator("----------------------------------"),"> Back"]:["> Address List","> Import Private Key","> Remove Address","> Reset Account Password","> Switch Networks [".concat(a.default_network,"]"),"> Remove",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(s)];case 2:switch(o=d.sent(),o){case"> Address List":return[3,3];case"> Expand Address":return[3,5];case"> Import Private Key":return[3,8];case"> Slice Address":return[3,10];case"> Remove Address":return[3,13];case"> Disable Address":return[3,15];case"> Reset Account Password":return[3,17];case"> Switch Networks [".concat(a.default_network,"]"):return[3,21];case"> Remove":return[3,23];case"> Back":return[3,25]}return[3,26];case 3:return[4,me(e,t,n)];case 4:case 7:case 9:case 12:case 14:case 16:case 22:return d.sent(),[3,26];case 5:return[4,rt("Expand accounts count",dt)];case 6:return c=d.sent(),Number(c)>2e3?(console.log(Y.red("Too many accounts, please input less than 2000")),[3,26]):[4,ve(e,t,Number(c),n)];case 8:return[4,se(e,r,t,n)];case 10:return[4,rt("Please input last account number",pt)];case 11:return u=d.sent(),[4,be(e,t,Number(u),n)];case 13:return[4,we(e,t,n)];case 15:return[4,fe(e,t)];case 17:return[4,xt("Please input new password for Account [".concat(t,"]"))];case 18:return i=d.sent(),[4,xt("Please confirm new password for Account [".concat(t,"]"))];case 19:return l=d.sent(),i&&l&&i===l?[4,n.account.resetPassword(t,i)]:(console.log(Y.red("Passwords do not match")),[3,26]);case 20:case 24:case 27:return d.sent(),[2];case 21:return[4,Ue(e,t,!0)];case 23:return[4,ye(e,t)];case 25:return[2];case 26:return[4,he(e,t,n,r)]}}))}))},me=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l,d,p,f,m,g,b,w;return v(this,(function(v){switch(v.label){case 0:return[4,ie(e,t)];case 1:for(r=v.sent(),a=["> Back",new h.default.Separator("----------------------------------")],s=r.disabled_slots,o=Ge(e),c=r.default_network,u=Re(e,c),i=L(u.chainId.toString()),l=r.data.length.toString().length+1,d=0;d<r.data.length;d++)p=r.data[d].tag?"(".concat(r.data[d].tag,")"):"",f=n.account.checkIsDisableAddress(s,d),m=void 0,m="PP"===r.account_type?"evm"===i?r.data[d].ciphertexts.evm.address:r.data[d].ciphertexts.solana.address:r.data[d].ciphertexts.address,f?a.push(new h.default.Separator(Y.yellow("#".concat(d.toString().padEnd(l)," ").concat(Ct(m,o.fullAddr)," ").concat(p)))):a.push("#".concat(d.toString().padEnd(l)," ").concat(Ct(m,o.fullAddr)," ").concat(p));return g=te.account_label===t?a[te.account_index]:a[0],[4,$e(e,u.chainId.toString())];case 2:return b=v.sent(),[4,_t(a,"evm"===i,e,b,u,o.gasToken,o.extendedToken,"Select an account",g)];case 3:return"> Back"===(w=v.sent())?[2]:(te.account_label=t,te.account_index=a.indexOf(w),[4,ge(e,t,a.indexOf(w)-2,n)]);case 4:return v.sent(),[4,me(e,t,n)];case 5:return v.sent(),[2]}}))}))},ge=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d,p,f,m,g;return v(this,(function(v){switch(v.label){case 0:return[4,ie(e,t)];case 1:return a=v.sent(),s=a.default_network,o=Ee(e,t,n),[4,Re(e,s)];case 2:return c=v.sent(),[4,Ke(o,e,s)];case 3:return(u=v.sent()).status?console.log(Y.green(" Address No: #".concat(n,"\n Network: ").concat(s,"\n ").concat(c.nativeCurrency.symbol," Balance: ").concat(u.output))):console.log(Y.green(" Address No: #".concat(n,"\n Network: ").concat(s,"\n ").concat(c.nativeCurrency.symbol))),i="> Tag","tag"in a.data[n]&&""!==a.data[n].tag&&(i="> Tag(".concat(a.data[n].tag,")")),l=[i,"> Show address","> Assets","> Tools","> Dump private key",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(l)];case 4:switch(d=v.sent(),d){case i:return[3,5];case"> Show address":return[3,7];case"> Assets":return[3,9];case"> Tools":return[3,11];case"> Dump private key":return[3,13];case"> Back":return[3,15]}return[3,16];case 5:return p="Current tag","tag"in a.data[n]&&""!==a.data[n].tag&&(p="Current tag (".concat(a.data[n].tag,")")),[4,rt(p,ot)];case 6:return f=(f=v.sent()).replace(/\s+/g," ").trim(),a.data[n].tag=f.toLocaleLowerCase(),le(e,t,a),[3,16];case 7:return[4,Je(e,t,n)];case 8:case 10:case 12:return v.sent(),[3,16];case 9:return[4,Ze(e,s,o)];case 11:return[4,X(e,t,o,r)];case 13:return m=Ee(e,t,n),[4,r.account.showPrivateKey(m)];case 14:return g=v.sent(),console.log("account: ",m),console.log("private key: ",g),[3,16];case 15:case 16:return[2]}}))}))},ve=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u;return v(this,(function(i){switch(i.label){case 0:return[4,ie(e,t)];case 1:a=i.sent(),s=a.data.length,(o=new ee.SingleBar({},ee.Presets.legacy)).start(n,0),c=s,i.label=2;case 2:return c<s+n?[4,r.account.generateSubAccount(t,c)]:[3,5];case 3:if(!(u=i.sent()).status)return console.log(Y.red(u.output)),[2];a.data.push({ciphertexts:u.output}),o.increment(),i.label=4;case 4:return c++,[3,2];case 5:return o.stop(),le(e,t,a),r.account.reloadAccount(),[2]}}))}))},be=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a;return v(this,(function(s){switch(s.label){case 0:return[4,ie(e,t)];case 1:return(a=s.sent()).data=a.data.slice(0,n+1),le(e,t,a),r.account.reloadAccount(),[2]}}))}))},we=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a;return v(this,(function(s){switch(s.label){case 0:return[4,rt("Please input the accountIndex to remove this account",ut)];case 1:return"0"===(r=s.sent())?(console.log(Y.red("Can't remove the first account")),[2]):[4,ie(e,t)];case 2:return a=s.sent(),[4,Nt("Are you sure you want to remove this account(".concat(a.data[r].ciphertexts.address,")"))];case 3:return s.sent()?(a.data.splice(Number(r),1),le(e,t,a),n.account.reloadAccount(),[2]):[2]}}))}))},ye=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s;return v(this,(function(o){switch(o.label){case 0:return[4,rt("Please input the accountLabel to remove this account")];case 1:return o.sent()!==t?(console.log(Y.red("Can't remove this account")),[2]):[4,Nt("Are you sure you want to remove this account(".concat(t,")"))];case 2:return o.sent()?(n=p.join(e,"accounts/".concat(t,".json")),d.rmSync(n),r=p.resolve(e,"network.json"),d.existsSync(r)?(a=JSON.parse(d.readFileSync(r,"utf8")),s=a.accounts.indexOf(t),a.accounts.splice(s,1),d.writeFileSync(r,JSON.stringify(a,null,2)),[2]):[2]):[2]}}))}))},ke=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o;return v(this,(function(c){switch(c.label){case 0:return n=p.resolve(e,"accounts"),d.existsSync(n)||d.mkdirSync(n),r=ue(e),a=r.accounts,s=0===a.length?["> Create a new account",new h.default.Separator("----------------------------------"),"> Back"]:["> Select an account","> Create a new account",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(s)];case 1:switch(o=c.sent(),o){case"> Select an account":return[3,2];case"> Create a new account":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,pe(e,t)];case 3:case 5:return c.sent(),[3,7];case 4:return[4,ce(e,t)];case 6:return[2];case 7:return[4,ke(e,t)];case 8:return c.sent(),[2]}}))}))},Se=require("chalk"),xe=function(e){return g(void 0,void 0,void 0,(function(){var t,n;return v(this,(function(r){return t=p.resolve(e,"network.json"),d.existsSync(t)||(n={networks:_,currentNetwork:"Ethereum Mainnet",accounts:[]},d.writeFileSync(t,JSON.stringify(n,null,2))),[2]}))}))},Ne=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(a){switch(a.label){case 0:return n=["> Edit"],"Ethereum Mainnet"!==t.name&&"Solana Mainnet"!==t.name&&n.push("> Remove"),n.push(new h.default.Separator("----------------------------------")),n.push("> Back"),[4,mt(n)];case 1:switch(r=a.sent(),r){case"> Edit":return[3,2];case"> Remove":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Pe(e,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,Be(e,t)];case 6:return[3,7];case 7:return[2]}}))}))},Pe=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i,l,f,h,m,g;return v(this,(function(v){switch(v.label){case 0:for(n=p.resolve(e,"network.json"),r=JSON.parse(d.readFileSync(n,"utf8")),a=[],g=0;g<r.networks.length;g++)s=r.networks[g],a.push(s.name);return o=t.rpcUrl,c=t.chainId.toString(),u=t.nativeCurrency.symbol,i=t.name,l=t.multicallAddress,f=t.color,"Ethereum Mainnet"!==t.name&&"Solana Mainnet"!==t.name?[3,2]:[4,bt(t.chainId.toString(),"Rpc Url (default: ".concat(t.rpcUrl,")"),!0)];case 1:return o=v.sent(),[3,9];case 2:return[4,rt("Chain Name (default: ".concat(t.name,")"))];case 3:return(i=v.sent())&&i!==t.name&&a.includes(i)?(console.log(Se.red("Chain Name already exists")),[2]):[4,vt("Chain Id (default: ".concat(t.chainId,")"),!0)];case 4:return c=v.sent(),[4,bt(c||t.chainId,"RPC Url (default: ".concat(t.rpcUrl,")"),!0)];case 5:return o=v.sent(),[4,yt("Symbol (default: ".concat(t.nativeCurrency.symbol,")"))];case 6:return u=v.sent(),[4,wt(t.multicallAddress?"Multicall Address (Optional) (default: ".concat(t.multicallAddress,")"):"Multicall Address (Optional)")];case 7:return l=v.sent(),[4,kt(t.color?"Color (Optional): (default: ".concat(t.color,")"):"Color (Optional)")];case 8:f=v.sent(),v.label=9;case 9:for(o=o||t.rpcUrl,c=c||t.chainId.toString(),u=u||t.nativeCurrency.symbol,i=i||t.name,l=l||t.multicallAddress,f=f||t.color,h=I(c.toString()),m={name:i||t.name,chainId:Number(c)||t.chainId,rpcUrl:o||t.rpcUrl,nativeCurrency:{name:u||t.nativeCurrency.symbol,symbol:u||t.nativeCurrency.symbol,decimals:h||t.nativeCurrency.decimals}},(l||t.multicallAddress)&&(m.multicallAddress=l||t.multicallAddress),(f||t.color)&&(m.color=f||t.color),g=0;g<r.networks.length;g++)if(r.networks[g].name===t.name){r.networks[g]=m;break}return d.writeFileSync(n,JSON.stringify(r,null,2)),[2]}}))}))},Be=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a;return v(this,(function(s){for(n=p.resolve(e,"network.json"),r=JSON.parse(d.readFileSync(n,"utf8")),a=0;a<r.networks.length;a++)if(r.networks[a].name===t.name){r.networks.splice(a,1);break}return t.name===r.currentNetwork&&(r.currentNetwork="Ethereum Mainnet"),d.writeFileSync(n,JSON.stringify(r,null,2)),[2]}))}))},Oe=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l,f,h,m;return v(this,(function(g){switch(g.label){case 0:for(t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r=[],a=0;a<n.networks.length;a++)s=n.networks[a],r.push(s.name);return console.log(Se.green("Please input someting about network")),[4,rt("Chain Name")];case 1:return o=g.sent(),r.includes(o)?(console.log(Se.red("Chain Name already exists")),[2]):[4,vt("Chain Id")];case 2:return(c=g.sent())?[4,bt(c,"RPC Url")]:[2];case 3:return(u=g.sent())?[4,yt("Symbol")]:[2];case 4:return(i=g.sent())?[4,wt("Multicall Address (Optional)")]:[2];case 5:return l=g.sent(),[4,kt("Color (Optional)")];case 6:return f=g.sent(),h=I(c.toString()),m={name:o,chainId:Number(c),rpcUrl:u,nativeCurrency:{name:i,symbol:i,decimals:h}},l&&(m.multicallAddress=l),f&&(m.color=f),n.networks.push(m),d.writeFileSync(t,JSON.stringify(n,null,2)),[2]}}))}))},Ae=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l,f,m,g;return v(this,(function(v){switch(v.label){case 0:for(t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r=[],a=[],c=0;c<n.networks.length;c++)i=n.networks[c],"solana"===L(i.chainId.toString())?a.push(c):r.push(c);for(s=["> Back","+ Add Network",new h.default.Separator("----Networks(evm)----")],c=0;c<r.length;c++)o=r[c],i=n.networks[o],l="".concat(c+1,".").concat(i.name),0===c&&(l+=" 🔒"),s.push(l);for(s.push(new h.default.Separator("----Networks(solana)----")),c=0;c<a.length;c++)u=a[c],i=n.networks[u],l="".concat(c+1,".").concat(i.name),0===c&&(l+=" 🔒"),s.push(l);return[4,mt(s)];case 1:return"> Back"===(f=v.sent())?[2]:"+ Add Network"!==f?[3,3]:[4,Oe(e)];case 2:case 5:return v.sent(),[2];case 3:return m=s.indexOf(f),g=m<r.length+3?n.networks[r[m-3]]:n.networks[a[m-r.length-4]],[4,Ne(e,g)];case 4:return v.sent(),[4,Ae(e)]}}))}))},Fe=function(e){return g(void 0,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:return t=["> Enhanced Balance Display",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(t)];case 1:switch(n=r.sent(),n){case"> Enhanced Balance Display":return[3,2];case"> Back":return[3,4]}return[3,5];case 2:return[4,Ie(e)];case 3:return r.sent(),[3,5];case 4:return[2];case 5:return[4,Fe(e)];case 6:return r.sent(),[2]}}))}))},Te=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c;return v(this,(function(u){switch(u.label){case 0:return t=p.resolve(e,"network.json"),"status"in(n=JSON.parse(d.readFileSync(t,"utf8")))||(n.status={fullAddr:!1,gasToken:!1,extendedToken:!1}),r=["> Show Full Address [".concat(n.status.fullAddr?"ON":"OFF","]"),"> Show Gas Token [".concat(n.status.gasToken?"ON":"OFF","]"),"> Show Extended Token[".concat(n.status.extendedToken?"ON":"OFF","]"),new h.default.Separator("----------------------------------"),"> Back"],[4,mt(r)];case 1:return"> Back"===(a=u.sent())?[2]:a.includes("Full Address")?(s=n.status,[4,Ce()]):[3,3];case 2:return s.fullAddr=u.sent(),[3,7];case 3:return a.includes("Gas Token")?(o=n.status,[4,Ce()]):[3,5];case 4:return o.gasToken=u.sent(),[3,7];case 5:return a.includes("Extended Token")?(c=n.status,[4,Ce()]):[3,7];case 6:c.extendedToken=u.sent(),u.label=7;case 7:return d.writeFileSync(t,JSON.stringify(n,null,2)),[2]}}))}))},Ce=function(){return g(void 0,void 0,void 0,(function(){return v(this,(function(e){switch(e.label){case 0:return[4,mt(["> On","> Off"])];case 1:switch(e.sent()){case"> On":return[2,!0];case"> Off":return[2,!1]}return[2]}}))}))},_e=function(e,t){var n=p.resolve(e,"network.json"),r=JSON.parse(d.readFileSync(n,"utf8")).showTokens;return t in r?r[t]:[]},je=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l,f,m,g,b,w,y,k,S,x,N,P;return v(this,(function(v){switch(v.label){case 0:for(t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r={},a=0,s=n.networks;a<s.length;a++)o=s[a],r[o.chainId.toString()]=o.name;if(c=p.resolve(e,"assets.json"),!Ft(c))return console.log(Se.red("No asset here yet")),[2];for(m in u=JSON.parse(d.readFileSync(c,"utf8")),i=[],l=[],f={},u)for(f[i.length]={name:r[m],address:null},i.push(new h.default.Separator("----- Networks (".concat(r[m],") -------"))),g=_e(e,r[m]),b=u[m].length,S=0;S<b;S++)w=u[m][S],g.includes(w.address)&&l.push("".concat(S+1,".").concat(w.symbol.padEnd(6)," CA: ").concat(Se.green("".concat(Ct(w.address).padEnd(45)))," Decimals: ").concat(w.display_decimals?w.display_decimals:"4")),f[i.length]={name:r[m],address:w.address},i.push("".concat(S+1,".").concat(w.symbol.padEnd(6)," CA: ").concat(Se.green("".concat(Ct(w.address).padEnd(45)))," Decimals: ").concat(w.display_decimals?w.display_decimals:"4"));return[4,gt(i,"Choose Tokens",l)];case 1:for(y=v.sent(),k={},S=0;S<y.length;S++)x=y[S],N=i.indexOf(x),(P=f[N]).name in k?k[P.name].push(P.address):k[P.name]=[P.address];return n.showTokens=k,d.writeFileSync(t,JSON.stringify(n,null,2)),[2]}}))}))},Ie=function(e){return g(void 0,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:return t=["> Status","> Token List","> Add Token",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(t)];case 1:switch(n=r.sent(),n){case"> Status":return[3,2];case"> Token List":return[3,4];case"> Add Token":return[3,6];case"> Back":return[3,8]}return[3,9];case 2:return[4,Te(e)];case 3:case 5:case 7:return r.sent(),[3,9];case 4:return[4,je(e)];case 6:return[4,Xe(e)];case 8:return[2];case 9:return[4,Ie(e)];case 10:return r.sent(),[2]}}))}))},Le=function(e){return g(void 0,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:return t=["> Networks","> Dataview",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(t)];case 1:switch(n=r.sent(),n){case"> Networks":return[3,2];case"> Dataview":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Ae(e)];case 3:case 5:return r.sent(),[3,7];case 4:return[4,Fe(e)];case 6:return[2];case 7:return[4,Le(e)];case 8:return r.sent(),[2]}}))}))},qe=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r;return v(this,(function(a){switch(a.label){case 0:return t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r=n.networks.map((function(e){return"> ".concat(e.name)})),[4,mt(r,"Please select a default network")];case 1:return[2,a.sent().slice(2)]}}))}))},ze=function(e,t){for(var n=p.resolve(e,"network.json"),r=JSON.parse(d.readFileSync(n,"utf8")),a=0;a<r.networks.length;a++){var s=r.networks[a];if(s.name===t)return L(s.chainId.toString())}return"unknown"},Re=function(e,t){for(var n=p.resolve(e,"network.json"),r=JSON.parse(d.readFileSync(n,"utf8")),a=0;a<r.networks.length;a++){var s=r.networks[a];if(s.name===t)return s}return null},Ee=function(e,t,n){var r=ie(e,t);if("PK"===r.account_type)return r.data[n].ciphertexts.address;var a=r.default_network,s=ze(e,a);return"solana"===s?r.data[n].ciphertexts.solana.address:"evm"===s?r.data[n].ciphertexts.evm.address:null},Je=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l,f,h,m;return v(this,(function(g){for(r=p.resolve(e,"network.json"),a=JSON.parse(d.readFileSync(r,"utf8")),s=a.networks,o=s.length,c=ie(e,t),u=c.default_network,i=ze(e,u),l=0;l<o;l++)f=s[l],h=ze(e,f.name),"PK"===c.account_type&&i!==h||(m=void 0,m="PK"===c.account_type?c.data[n].ciphertexts.address:"evm"===h?c.data[n].ciphertexts.evm.address:c.data[n].ciphertexts.solana.address,f.name===u?console.log("● ".concat(m," [").concat(f.name,"]")):console.log("○ ".concat(m," [").concat(f.name,"]")));return[2]}))}))},Ue=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l,f,m,g,b,w,y,k,S,x;return v(this,(function(v){switch(v.label){case 0:for(r=p.resolve(e,"network.json"),a=JSON.parse(d.readFileSync(r,"utf8")),s=a.networks,o=s.length,c=ie(e,t),u=["> Back",new h.default.Separator("----------------------------------")],i=c.default_network,l="",n||(l=c.ciphertexts.address),f=[],m=ze(e,i),g=0;g<o;g++)b=s[g],w=ze(e,b.name),"PK"===c.account_type&&m!==w||(b.name===i?n?u.push("● ".concat(b.name)):u.push("● ".concat(l," [").concat(b.name,"]")):n?u.push("○ ".concat(b.name)):u.push("○ ".concat(l," [").concat(b.name,"]")),f.push(b.name));return[4,mt(u)];case 1:return"> Back"===(y=v.sent())||(k=u.indexOf(y),c.default_network=f[k-2],le(e,t,c),n||(S=c.default_network,x=Re(e,S),console.log(Se.green(" Address No: #0\n Network: ".concat(S,"\n ").concat(x.nativeCurrency.symbol," Balance: 0"))))),[2]}}))}))},Ke=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c;return v(this,(function(i){switch(i.label){case 0:return r=Re(t,n),a=r.rpcUrl,s=r.nativeCurrency.decimals,"solana"!==L(r.chainId.toString())?[3,2]:[4,k(e,a)];case 1:return o=i.sent(),[3,4];case 2:return[4,y(e,a)];case 3:o=i.sent(),i.label=4;case 4:return o.status&&(c=new u.BigNumber(o.output.toString()),o.output=c.dividedBy(Math.pow(10,s)).toFixed(4,u.BigNumber.ROUND_FLOOR)),T(r.chainId.toString(),[e],["0"]),[2,o]}}))}))},Me=function(e,t,n){var r=ie(e,t);if("PK"===r.account_type)return r.default_network;for(var a=0;a<r.data.length;a++)if(r.data[a].ciphertexts.solana.address===n||r.data[a].ciphertexts.evm.address===n)return"default_network"in r.data[a]?r.data[a].default_network:r.default_network;return null},De=function(e){for(var t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")).networks,r=n.length,a=[],s=0;s<r;s++)"evm"===L(n[s].chainId.toString())&&a.push(n[s].name);return a},Ge=function(e){var t=p.resolve(e,"network.json");return JSON.parse(d.readFileSync(t,"utf8")).status},We=require("chalk"),$e=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a;return v(this,(function(s){return n=p.join(e,"assets.json"),Ft(n)?(r=d.readFileSync(n).toString(),a=JSON.parse(r),t in a?[2,a[t]]:[2,[]]):[2,[]]}))}))},He=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s;return v(this,(function(o){switch(o.label){case 0:return[4,$e(e,t)];case 1:for(r=o.sent(),a=[],s=0;s<r.length;s++)r[s].symbol.toLocaleLowerCase()===n.toLocaleLowerCase()&&a.push(r[s]);return[2,a]}}))}))},Ze=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u;return v(this,(function(i){switch(i.label){case 0:return r=Re(e,t),a=L(r.chainId.toString()),[4,$e(e,r.chainId.toString())];case 1:return(s=i.sent())?[4,Qe(n,s,r.rpcUrl,a,r.chainId.toString())]:(console.log(We.red("No asset found")),[2]);case 2:for(o=i.sent(),c=1,u=0;u<o.length;u++)"0"!==o[u].balance&&"0.0000"!==o[u].balance&&(console.log(We.green("".concat(c,". ").concat(o[u].symbol," Balance: ").concat(o[u].balance))),c+=1);return 1===c&&console.log(We.red("No asset found")),[2]}}))}))},Ve=function(e,t,n,r,a,s,o){return g(void 0,void 0,void 0,(function(){var c,u,i,l;return v(this,(function(f){for(c=p.join(e,"assets.json"),u={},Ft(c)&&(i=d.readFileSync(c).toString(),u=JSON.parse(i)),void 0===u[t]&&(u[t]=[]),l=0;l<u[t].length;l++)if(u[t][l].address.toLocaleLowerCase()===n.toLocaleLowerCase()||u[t][l].symbol.toLocaleLowerCase()===r.toLocaleLowerCase())return u[t][l]={address:n,symbol:r,name:a,decimals:s,display_decimals:o},d.writeFileSync(c,JSON.stringify(u,null,4)),[2];return u[t].push({address:n,symbol:r,name:a,decimals:s,display_decimals:o}),d.writeFileSync(c,JSON.stringify(u,null,4)),[2]}))}))},Xe=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l,f,h,m,g;return v(this,(function(v){switch(v.label){case 0:for(t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r=[],a=n.networks,s=0;s<a.length;s++)r.push("".concat(s+1,". ").concat(a[s].name));return[4,mt(r)];case 1:return o=v.sent(),c=o.split(".")[1].trim(),u=ze(e,c),i=Re(e,c),[4,rt("Enter contract address",ht)];case 2:return l=v.sent(),"evm"!==u?[3,4]:(b=l).startsWith("0x")&&42===b.length?[4,S(l,i.rpcUrl)]:(console.log(We.red("evm address format error")),[2]);case 3:return f=v.sent(),[3,6];case 4:return function(e){return/^[A-HJ-NP-Za-km-z1-9]*$/.test(e)}(l)?[4,x(l,i.rpcUrl)]:(console.log(We.red("solana address format error")),[2]);case 5:f=v.sent(),v.label=6;case 6:return f.status?f.output.name?[3,8]:(h=f.output,[4,rt("Please input token name")]):(console.log(We.red(f.output)),[2]);case 7:h.name=v.sent(),v.label=8;case 8:return f.output.symbol?[3,10]:(m=f.output,[4,rt("Please input token symbol")]);case 9:m.symbol=v.sent(),v.label=10;case 10:return console.log(We.green("Token ".concat(f.output.symbol,"(").concat(f.output.name,") loaded successfully."))),[4,rt("Enter decimals for display",ut)];case 11:return g=v.sent(),g=parseInt(g),[4,Ve(e,i.chainId.toString(),l,f.output.symbol,f.output.name,f.output.decimals,g)];case 12:return v.sent(),[2]}var b}))}))},Qe=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,i,l,d,p,f,h;return v(this,(function(m){switch(m.label){case 0:for(s=t.length,o=[],l=0;l<s;l++)d=t[l],"evm"===r?o.push(N(e,d.address,n)):"solana"===r&&o.push(P(e,d.address,n));return[4,Promise.all(o)];case 1:for(c=m.sent(),i=[],l=0;l<s;l++){if(d=t[l],p=d.decimals,!c[l].status)return console.log(We.red(c[l].output)),[2,null];f=new u.BigNumber(c[l].output),h=f.dividedBy(Math.pow(10,p)).toFixed(4,u.BigNumber.ROUND_FLOOR),i.push({address:d.address,symbol:d.symbol,balance:h}),T(a,[e],[d.address])}return T(a,[e],["0"]),[2,i]}}))}))},Ye=function(e,t,n,r,a,s,o){return g(void 0,void 0,void 0,(function(){var c,i,l,d,p,f,h,m,g;return v(this,(function(v){switch(v.label){case 0:return c=n.length,i=Re(e,a),l=L(i.chainId.toString()),d="evm"===l,s?[4,F(t,"0",i.chainId.toString(),r,d)]:[3,2];case 1:v.sent(),v.label=2;case 2:if(!o)return[3,6];p=_e(e,a),f=0,v.label=3;case 3:return f<c?(h=n[f],m=h.address,p.includes(m)?[4,F(t,m,i.chainId.toString(),r,d)]:[3,5]):[3,6];case 4:v.sent(),v.label=5;case 5:return f++,[3,3];case 6:return g=function(e,t,n,r){var a={};if(!(e in b))return a;n.unshift({address:"0",name:r.nativeCurrency.name,symbol:r.nativeCurrency.symbol,decimals:r.nativeCurrency.decimals,display_decimals:4});for(var s=t.length,o=0;o<s;o++){var c=t[o];if(c)for(var i=0;i<n.length;i++){var l=n[i],d="0";b[e][l.address]&&(c in b[e][l.address]&&(d=new u.BigNumber(b[e][l.address][c]).dividedBy(Math.pow(10,l.decimals)).toFixed(l.display_decimals||4,u.BigNumber.ROUND_FLOOR)),a[c]||(a[c]={}),a[c][l.symbol]=d)}}return a}(i.chainId.toString(),t,n,i),[2,g]}}))}))},et=require("chalk"),tt=process.env.HOME||process.env.USERPROFILE,nt="".concat(tt,"/.wative"),rt=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(this,(function(r){switch(r.label){case 0:return n=[{name:"inputText",type:"input",message:"".concat(e,":"),validate:t}],[4,h.default.prompt(n)];case 1:return[2,r.sent().inputText.trim().toString()]}}))}))},at=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r;return v(this,(function(a){switch(a.label){case 0:t=0,a.label=1;case 1:return t<5?[4,st(e,"Input start address or index")]:[3,5];case 2:return(n=a.sent())?[4,st(e,"Input end address or index")]:(console.log(et.red("Invalid start account index")),[2,null]);case 3:return(r=a.sent())?n>r?(console.log(et.red("Invalid address range")),[3,4]):[2,{from:n,to:r}]:(console.log(et.red("Invalid end account index")),[2,null]);case 4:return t++,[3,1];case 5:return[2,null]}}))}))},st=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:if(n=e.data,0===(r=n.length))return[2,null];for(a=[],s=[],c=0;c<r;c++)a.push(n[c].ciphertexts.evm.address.toLocaleLowerCase()),s.push(n[c].ciphertexts.solana.address.toLocaleLowerCase());o=r-1,c=0,l.label=1;case 1:return c<5?[4,rt(t,ft)]:[3,4];case 2:if(u=l.sent(),"unknown"===(i=At(u)))return Number(u)>o?(console.log(et.red("Invalid account index")),[3,3]):[2,Number(u)];if("evm"===i&&-1!==a.indexOf(u.toLocaleLowerCase()))return[2,a.indexOf(u.toLocaleLowerCase())];if("solana"===i&&-1!==s.indexOf(u.toLocaleLowerCase()))return[2,s.indexOf(u.toLocaleLowerCase())];l.label=3;case 3:return c++,[3,1];case 4:return[2,null]}}))}))},ot=function(e){return""===e||((e=e.replace(/\s+/g," ").trim()).length>40?"Tag length should be less than 10":!1!==/^[0-9a-zA-Z\s]*$/g.test(e)||"Tag should be alphanumeric")},ct=function(e){return!(e.length<6)||"Address length should be greater than 6"},ut=function(e){return!isNaN(Number(e))||"Value should be a number"},it=function(e){return!(isNaN(Number(e))||Number(e)>1e3)||"Value should be a number"},lt=function(e){var t=(e=e.replace(/\s+/g," ")).split(/\s+/g);if(12!==t.length)return"Passphrase should be equal to 12 words";for(var n=0;n<t.length;n++)if(!1===C.includes(t[n]))return"Passphrase word should be valid";return!0},dt=function(e){var t=Number(e);return isNaN(t)?"Amount should be a number":!(t>2e3)||"Amount should be less than 2000"},pt=function(e){var t=Number(e);return!isNaN(t)||"Last account no should be a number"},ft=function(e){return!1===isNaN(Number(e))||ht(e)},ht=function(e){return"unknown"!=At(e)||"Address should be valid"},mt=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r;return v(this,(function(a){switch(a.label){case 0:return r=[{type:"list",name:"inputText",message:t||"Choose an option",default:n,choices:e,pageSize:30,filter:function(e){return e}}],[4,h.default.prompt(r)];case 1:return[2,a.sent().inputText.toString()]}}))}))},gt=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r;return v(this,(function(a){switch(a.label){case 0:return r=[{type:"checkbox",name:"inputText",message:t||"Choose an option",default:n,choices:e,pageSize:30,filter:function(e){return e}}],[4,h.default.prompt(r)];case 1:return[2,a.sent().inputText]}}))}))},vt=function(e,t){return void 0===t&&(t=!1),g(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(a){switch(a.label){case 0:n=0,a.label=1;case 1:return n<5?[4,rt(e)]:[3,4];case 2:if(""===(r=a.sent())&&t)return[2,null];if(/^[0-9]*$/g.test(r))return[2,r];a.label=3;case 3:return n++,[3,1];case 4:return[2,null]}}))}))},bt=function(e,t,n){return void 0===n&&(n=!1),g(void 0,void 0,void 0,(function(){var r,a,s,o;return v(this,(function(c){switch(c.label){case 0:r=0,c.label=1;case 1:return r<5?[4,rt(t)]:[3,7];case 2:a=c.sent(),c.label=3;case 3:return c.trys.push([3,5,,6]),""===a&&n?[2,null]:"solana"===L(e.toString())?[2,a]:[4,w(a)];case 4:return(s=c.sent()).status?s.output.toString()===e.toString()?[2,a]:(console.log(et.red("Rpc url not match chain id")),[3,6]):(console.log(et.red(s.output)),[3,6]);case 5:return o=c.sent(),console.log(et.red(o.message)),[3,6];case 6:return r++,[3,1];case 7:return[2,null]}}))}))},wt=function(e){return g(void 0,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:t=0,r.label=1;case 1:return t<5?[4,rt(e)]:[3,4];case 2:if(""===(n=r.sent()))return[2,null];if(""!==n&&42!==n.length)return console.log(et.red("Multicall address length must be 42")),[3,3];r.label=3;case 3:return t++,[3,1];case 4:return[2,null]}}))}))},yt=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r;return v(this,(function(a){switch(a.label){case 0:t=/^[A-Za-z][0-9a-zA-Z]*$/g,n=0,a.label=1;case 1:return n<5?[4,rt(e)]:[3,4];case 2:if(""===(r=a.sent()))return[2,null];if(t.test(r))return[2,r];a.label=3;case 3:return n++,[3,1];case 4:return[2,null]}}))}))},kt=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r;return v(this,(function(a){switch(a.label){case 0:t=/^#[0-9A_F]{6}$/g,n=0,a.label=1;case 1:return n<5?[4,rt(e)]:[3,4];case 2:if(""===(r=a.sent()))return[2,null];if(t.test(r))return[2,r];a.label=3;case 3:return n++,[3,1];case 4:return[2,null]}}))}))},St=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a;return v(this,(function(s){switch(s.label){case 0:n=/^(?![-_]).*?[a-zA-Z0-9_-]{4,20}(?<![-_])$/g,r=0,s.label=1;case 1:return r<5?[4,rt(e)]:[3,4];case 2:if(a=(a=s.sent()).trim(),n.test(a))return t.includes(a)?(console.log(et.red("Account label already exists")),[3,3]):[2,a];s.label=3;case 3:return r++,[3,1];case 4:return[2,null]}}))}))},xt=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r;return v(this,(function(a){switch(a.label){case 0:return t=0,n=[{name:"password",type:"password",mask:"#",message:"".concat(e,":"),validate:function(e){return t>=3||(n=e,r="Password must contain at least: \n",a=!0,s=" ",o=et.green("✔"),c=et.red("✖"),n.length>=8?r+=s+o+" 8 characters\n":(r+=s+c+" 8 characters\n",a=!1),/[0-9]/.test(n)?r+=s+o+" One numerical character\n":(r+=s+c+" One numerical character\n",a=!1),/[A-Z]/.test(n)?r+=s+o+" One uppercase letter\n":(r+=s+c+" One uppercase letter\n",a=!1),/[!@#$%]/.test(n)?r+=s+o+" One sepcial character (i.e. !@#$%)\n":(r+=s+c+" One sepcial character (i.e. !@#$%)\n",a=!1),!!a||r);var n,r,a,s,o,c}}],[4,h.default.prompt(n)];case 1:return r=a.sent().password,t>=3&&(r=null),[2,r]}}))}))},Nt=function(e){return g(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return t=[{name:"confirm",type:"confirm",message:"".concat(e)}],[4,h.default.prompt(t)];case 1:return[2,n.sent().confirm]}}))}))},Pt=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(this,(function(r){switch(r.label){case 0:return n=[{name:"editor",type:"editor",message:"".concat(e),validate:t}],[4,h.default.prompt(n)];case 1:return[2,r.sent().editor.trim().toString()]}}))}))},Bt=function(e){return!!/^0x[0-9a-fA-F]*$/g.test(e.trim())},Ot=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a;return v(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),[4,e.apply(void 0,t)];case 1:return r=s.sent(),n={status:!0,output:r},[3,3];case 2:return a=s.sent(),n={status:!1,output:a.toString()},[3,3];case 3:return[2,n]}}))}))},At=function(e){return e.startsWith("0x")&&42===e.length?"evm":/^[A-HJ-NP-Za-km-z1-9]*$/.test(e)&&e.length<=44&&e.length>=32?"solana":"unknown"},Ft=function(e){return e=e.trim(),d.existsSync(e)},Tt=function(e){return new Promise((function(t){return setTimeout(t,e)}))},Ct=function(e,t){return void 0===t&&(t=!0),t?e:e.startsWith("0x")?e.slice(0,8)+"..."+e.slice(-6):e.slice(0,6)+"..."+e.slice(-6)},_t=function(e,t,n,r,a,s,o,c,u){return g(void 0,void 0,void 0,(function(){var i,l,d,p,f,m,g,b,w,y,k,S,x,N,P,B,O,A,F,T,C,_,j,I,L,q;return v(this,(function(v){switch(v.label){case 0:i=[{type:"list",name:"inputText",message:c||"Choose an option",choices:e,pageSize:30,default:u,filter:function(e){return e}}],l=h.default.prompt(i),d=0,p=0,v.label=1;case 1:return l.ui.activePrompt.answers[l.ui.activePrompt.opt.name]?[3,4]:[4,Tt(2e3)];case 2:if(v.sent(),f===l.ui.activePrompt.selected)return[3,1];if(d===l.ui.activePrompt.selected?p+=1:(p=0,d=l.ui.activePrompt.selected),p<5)return[3,1];for(p=0,m=l.ui.activePrompt.opt.pageSize,g=[],A=0;A<l.ui.activePrompt.opt.choices.choices.length;A++)l.ui.activePrompt.opt.choices.choices[A].name?(b=null,t?b=(b=/0x[0-9a-fA-f]{40}/.exec(l.ui.activePrompt.opt.choices.choices[A].name))?b[0]:null:(w=b=/\s+([0-9a-zA-Z]*)/.exec(l.ui.activePrompt.opt.choices.choices[A].name),"Back"===(b=w?w[1]:null)&&(b=null)),b?g.push(b):g.push(null)):g.push(null);return g=g.concat(g),y=void 0,k=void 0,d<m/2?g.length/2<=m?(y=0,k=g.length/2):(y=0,k=m):g.length/2<=m?(y=0,k=g.length/2):(y=d-m/2+1,k=d+m/2+1),S=g.slice(y,k),[4,Ye(n,S,r,a.rpcUrl,a.name,s,o)];case 3:for(_ in x=v.sent(),N={},x)for(I in x[_])P=x[_][I],B=P.length+1,N[I]?N[I]<B&&(N[I]=B):N[I]=B;for(O=a.nativeCurrency.symbol,A=y;A<k;A++)if(F=A>=g.length/2?A-g.length/2:A,(T=l.ui.activePrompt.opt.choices.choices[F]).name){for(I in C=T.name,_=g[A],j="",x[_])(s||I!==O)&&(o||I===O)&&(C.includes(I)||(j+="".concat(I,":").concat(x[_][I].padEnd(N[I])," ")));(L=C.split("(")).length>1?(q=L[1],l.ui.activePrompt.opt.choices.choices[F].name=L[0]+" ".concat(j)+"(".concat(q)):l.ui.activePrompt.opt.choices.choices[F].name=L[0]+" ".concat(j)}return l.ui.activePrompt.screen.render(""),l.ui.activePrompt.render(),f=d,[3,1];case 4:return[2,l.ui.activePrompt.answers[l.ui.activePrompt.opt.name]]}}))}))};require("wative-core").WativeCore;var jt=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(this,(function(r){switch(r.label){case 0:return[4,mt(["> System & Settings","> Accounts","> Tools","> Exit"])];case 1:switch(n=r.sent(),n){case"> System & Settings":return[3,2];case"> Accounts":return[3,4];case"> Tools":return[3,6];case"> Exit":return[3,8]}return[3,9];case 2:return[4,Le(e)];case 3:case 5:case 7:return r.sent(),[3,9];case 4:return[4,ke(e,t)];case 6:return[4,Q(e,t)];case 8:return[2];case 9:return[4,jt(e,t)];case 10:return r.sent(),[2]}}))}))},It=require("wative-core").WativeCore,Lt=require("../package.json");require("events").EventEmitter.defaultMaxListeners=0;process.on("unhandledRejection",(function(e,t){console.log("Unhandled Rejection at:",t,"reason:",e)})),g(void 0,void 0,void 0,(function(){var e,t,n,r;return v(this,(function(a){switch(a.label){case 0:return console.log("version:",Lt.version),console.log(et.green(f.textSync("Wative",{font:"Ghost",horizontalLayout:"default",verticalLayout:"default"}))),[4,g(void 0,void 0,void 0,(function(){var e;return v(this,(function(t){switch(t.label){case 0:return[4,rt("Keystore storage located in (default: ".concat(nt,")"))];case 1:return(e=t.sent())||(e=nt),e=(e=e.trim()).replace("~",tt),d.existsSync(e)||d.mkdirSync(e,{recursive:!0}),[2,e]}}))}))];case 1:return e=a.sent(),[4,xe(e)];case 2:return a.sent(),function(e){var t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8"));n.status||(n.status={fullAddr:!0,gasToken:!1,extendedToken:!1}),n.showTokens||(n.showTokens={});for(var r=n.accounts.length,a=0;a<r;a++){var s=n.accounts[r-1-a],o=p.resolve(e,"accounts/".concat(s,".json"));d.existsSync(o)||n.accounts.splice(r-1-a,1)}d.writeFileSync(t,JSON.stringify(n,null,4));var c=n.accounts;for(a=0;a<c.length;a++){o=p.resolve(e,"accounts/".concat(c[a],".json"));var u=JSON.parse(d.readFileSync(o,"utf8"));"PP"!==u.account_type&&("data"in u||(u.data=[{ciphertexts:u.ciphertexts}],delete u.ciphertexts,d.writeFileSync(o,JSON.stringify(u,null,4))))}}(e),t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r=new It(e,n.accounts,null,!0),[4,jt(e,r)];case 3:return a.sent(),[2]}}))})).then((function(){return process.exit(0)})).catch((function(e){console.log(e.message),process.exit(1)}))}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("fs"),require("path"),require("figlet"),require("inquirer"),require("web3"),require("@solana/web3.js"),require("@solana/spl-token"),require("@metaplex-foundation/js"),require("bignumber.js")):"function"==typeof define&&define.amd?define(["fs","path","figlet","inquirer","web3","@solana/web3.js","@solana/spl-token","@metaplex-foundation/js","bignumber.js"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).fs,e.path,e.figlet,e.inquirer,e.Web3,e.web3_js,e.splToken,e.js,e.bignumber_js)}(this,(function(e,t,n,r,a,s,o,c,u){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var d=l(e),p=l(t),f=l(n),h=i(r),m=i(a);function g(e,t,n,r){return new(n||(n=Promise))((function(a,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function c(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,c)}u((r=r.apply(e,t||[])).next())}))}function v(e,t){var n,r,a,s,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return s={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function c(c){return function(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,c[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==c[0]&&2!==c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}"function"==typeof SuppressedError&&SuppressedError;var b={},w=function(e){return g(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return t=new m.default(e),[4,Ot(t.eth.getChainId,[])];case 1:return[2,n.sent()]}}))}))},y=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(this,(function(r){switch(r.label){case 0:return n=new m.default(t),[4,Ot(n.eth.getBalance,[e])];case 1:return[2,r.sent()]}}))}))},k=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(this,(function(r){switch(r.label){case 0:return n=new s.Connection(t),[4,Ot(n.getBalance.bind(n),[new s.PublicKey(e)])];case 1:return[2,r.sent()]}}))}))},S=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o;return v(this,(function(c){switch(c.label){case 0:return n=new m.default(t),r=new n.eth.Contract([{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"}],e),[4,Ot(r.methods.symbol().call.bind(r),[])];case 1:return a=c.sent(),[4,Ot(r.methods.name().call.bind(r),[])];case 2:return s=c.sent(),[4,Ot(r.methods.decimals().call.bind(r),[])];case 3:return o=c.sent(),a.status&&s.status&&o.status?[2,{status:!0,output:{symbol:a.output,name:s.output,decimals:o.output}}]:[2,{status:!1,output:"Failed to get token info"}]}}))}))},x=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,u,i,l,d;return v(this,(function(p){switch(p.label){case 0:return n=new s.Connection(t),r=c.Metaplex.make(n),a=new s.PublicKey(e),[4,Ot(o.getMint,[n,a])];case 1:if(u=p.sent(),i={status:!0,output:{symbol:"",name:"",decimals:""}},!u.status)return[2,{status:!1,output:"Failed to get token decimals"}];i.output.decimals=u.output.decimals,p.label=2;case 2:return p.trys.push([2,6,,7]),l=r.nfts().pdas().metadata({mint:a}),[4,n.getAccountInfo(l)];case 3:return p.sent()?[4,r.nfts().findByMint({mintAddress:a})]:[3,5];case 4:d=p.sent(),i.output.name=d.name,i.output.symbol=d.symbol,p.label=5;case 5:return[3,7];case 6:return p.sent(),[2,{status:!1,output:"Failed to get token name"}];case 7:return[2,i]}}))}))},N=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s;return v(this,(function(o){switch(o.label){case 0:return r=new m.default(n),a=new r.eth.Contract([{constant:!0,inputs:[{name:"who",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"}],t),[4,Ot(a.methods.balanceOf(e).call.bind(a),[])];case 1:return(s=o.sent()).status?[2,{status:!0,output:s.output}]:[2,{status:!1,output:"Failed to get token balance"}]}}))}))},P=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,c;return v(this,(function(u){switch(u.label){case 0:return r=new s.Connection(n),a=o.getAssociatedTokenAddressSync(new s.PublicKey(t),new s.PublicKey(e)),[4,Ot(r.getTokenAccountBalance.bind(r),[a])];case 1:return(c=u.sent()).status?[2,{status:!0,output:c.output.value.amount}]:c.output.includes("could not find account")?[2,{status:!0,output:"0"}]:[2,{status:!1,output:"Failed to get token balance"}]}}))}))},B=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r;return v(this,(function(a){return r=new m.default(n),[2,r.eth.abi.encodeFunctionCall({constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},[e,t])]}))}))},O=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a;return v(this,(function(o){switch(o.label){case 0:return t=new s.Connection(e),[4,Ot(t.getRecentPrioritizationFees.bind(t),[])];case 1:return(n=o.sent()).status?(r=n.output,a=r.map((function(e){return e.prioritizationFee})).sort(),[2,{status:!0,output:a.length>0?Math.ceil(a.reduce((function(e,t){return e+t}))/a.length):1e3}]):[2,{status:!1,output:"Failed to get recent prioritization fees"}]}}))}))},A=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(a){switch(a.label){case 0:return n=new s.Connection(t),[4,Ot(n.getAccountInfo.bind(n),[new s.PublicKey(e.toString())])];case 1:return(r=a.sent()).status?[2,{status:!0,output:r.output}]:[2,{status:!1,output:"Failed to get account info"}]}}))}))},F=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:n in b?s=b[n][t]||{}:(b[n]={},s={}),o=0,c=e,l.label=1;case 1:return o<c.length?(u=c[o])?u in s?[3,12]:(i=void 0,"0"!==t?[3,6]:a?[4,y(u,r)]:[3,3]):[3,12]:[3,13];case 2:return i=l.sent(),[3,5];case 3:return[4,k(u,r)];case 4:i=l.sent(),l.label=5;case 5:return[3,10];case 6:return a?[4,N(u,t,r)]:[3,8];case 7:return i=l.sent(),[3,10];case 8:return[4,P(u,t,r)];case 9:i=l.sent(),l.label=10;case 10:return i.status&&(s[u]=i.output),[4,Tt(200)];case 11:l.sent(),l.label=12;case 12:return o++,[3,1];case 13:return b[n][t]=s,[2,b]}}))}))},T=function(e,t,n){for(var r=0;r<t.length;r++)for(var a=t[r],s=0;s<n.length;s++){var o=n[s];try{delete b[e][o][a]}catch(e){}}},C=["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"],_=[{name:"Ethereum Mainnet",chainId:1,rpcUrl:"https://eth.llamarpc.com",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},multicallAddress:"0xeefBa1e63905eF1D7ACbA5a8513c70307C1cE441"},{name:"Solana Mainnet",chainId:901,rpcUrl:"https://api.mainnet-beta.solana.com",nativeCurrency:{name:"SOL",symbol:"SOL",decimals:9}}],j=["901","902","903"],I=function(e){return j.includes(e)?9:18},L=function(e){return j.includes(e)?"solana":"evm"},q=require("bn.js").BN,z=require("ethereumjs-util").stripHexPrefix,R=require("bignumber.js").BigNumber;function E(e){return new q(z(e.toString("hex")),16)}var J=function(e){return e.match(/^-?0x/u)?e:e.match(/^-?0X/u)?e.replace("0X","0x"):e.startsWith("-")?e.replace("-","-0x"):"0x".concat(e)};function U(e){return J(e.toString(16))}var K=function(){function e(e){this.query=new m.default(m.default.givenProvider||e).eth}return e.prototype.analyzeGasUsage=function(e){return g(this,void 0,void 0,(function(){var t,n,r,a,s,o;return v(this,(function(c){switch(c.label){case 0:return[4,this.query.getBlock("latest",!1)];case 1:t=c.sent(),n=E(t.gasLimit),u=n,i=20,l=new q(19),d=new q(i),r=u.mul(l).div(d),a=U(r),c.label=2;case 2:return c.trys.push([2,4,,5]),[4,this.estimateTxGas(e)];case 3:return a=c.sent(),[3,5];case 4:return o=c.sent(),s={reason:o.message,errorKey:o.errorKey,debug:{blockNumber:t.number,blockGasLimit:t.gasLimit}},[3,5];case 5:return[2,{blockGasLimit:t.gasLimit,estimatedGasHex:a,simulationFails:s}]}var u,i,l,d}))}))},e.prototype.estimateTxGas=function(e){return g(this,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return[4,this.query.estimateGas(e)];case 1:return t=n.sent(),[2,t=new R(t.toString()).multipliedBy(1.3).toFixed(0)]}}))}))},e.prototype.addGasBuffer=function(e,t,n){void 0===n&&(n=1.3);var r=E(e),a=E(t).muln(.9),s=r.muln(n);return r.gt(a)?U(r):s.lt(a)?U(s):U(a)},e.prototype.getBufferedGasLimit=function(e,t){return g(this,void 0,void 0,(function(){var n,r,a,s;return v(this,(function(o){switch(o.label){case 0:return[4,this.analyzeGasUsage(e)];case 1:return n=o.sent(),r=n.blockGasLimit,a=n.estimatedGasHex,s=n.simulationFails,[2,{gasLimit:this.addGasBuffer(J(a),r,t),simulationFails:s}]}}))}))},e.prototype.getGasPrice=function(){return g(this,void 0,void 0,(function(){return v(this,(function(e){switch(e.label){case 0:return[4,this.query.getGasPrice()];case 1:return[2,e.sent()]}}))}))},e.prototype.getTransactionCount=function(e){return g(this,void 0,void 0,(function(){return v(this,(function(t){switch(t.label){case 0:return[4,this.query.getTransactionCount(e)];case 1:return[2,t.sent()]}}))}))},e}(),M=require("chalk");require("wative-core").WativeCore;var D=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l;return v(this,(function(d){switch(d.label){case 0:return t=[new h.default.Separator("————Tx Detail—————-"),"from: ".concat(e.from),"to: ".concat(e.to),"nonce: ".concat(e.nonce),"gasPrice: ".concat(e.gasPrice),"data: ".concat(e.data),"value: ".concat(e.value),"gas: ".concat(e.gas),new h.default.Separator("——————————————-"),"Send it now"],[4,mt(t)];case 1:return n=d.sent(),1!==(r=t.indexOf(n))?[3,3]:(a=e,[4,rt("from",ht)]);case 2:a.from=d.sent(),d.label=3;case 3:return 2!==r?[3,5]:(s=e,[4,rt("to",ht)]);case 4:s.to=d.sent(),d.label=5;case 5:return 3!==r?[3,7]:(o=e,[4,rt("nonce")]);case 6:o.nonce=d.sent(),d.label=7;case 7:return 4!==r?[3,9]:(c=e,[4,rt("gasPrice")]);case 8:c.gasPrice=d.sent(),d.label=9;case 9:return 5!==r?[3,11]:(u=e,[4,Pt("data")]);case 10:u.data=d.sent(),d.label=11;case 11:return 6!==r?[3,13]:(i=e,[4,rt("value")]);case 12:i.value=d.sent(),d.label=13;case 13:return 7!==r?[3,15]:(l=e,[4,rt("gas")]);case 14:l.gas=d.sent(),d.label=15;case 15:return 9===r?[2,e]:[4,D(e)];case 16:return[2,d.sent()]}}))}))},G=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,i,l,d,p,f,h,b,w,k,S,x,N,P,B,O,A,F,C,_,j,I;return v(this,(function(L){switch(L.label){case 0:return[4,rt("to",ht)];case 1:return s=L.sent(),[4,(o=new K(t)).getGasPrice()];case 2:return c=L.sent(),i=new u.BigNumber(c.toString()).dividedBy(1e9),l=i.toFixed(4,u.BigNumber.ROUND_FLOOR),[4,rt("Gas price (".concat(l,"), agree or enter"),it)];case 3:return d=L.sent(),p=d||l,p=new u.BigNumber(p).multipliedBy(1e9).toFixed(0),[4,(q=s,z=t,g(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return e=new m.default(z),[4,Ot(e.eth.getCode.bind(e),[q])];case 1:return(t=n.sent()).status?[2,{status:!0,output:t.output}]:[2,{status:!1,output:"Failed to get code"}]}}))})))];case 4:return(f=L.sent()).status?"0x"!==f.output?[3,7]:(h="0x",[4,y(r,t)]):(console.log(M.red(f.output)),[2]);case 5:return(w=L.sent()).status?(k=new u.BigNumber(w.output),S=new u.BigNumber(p),x=k.minus(S.multipliedBy(21e3)).toFixed(0,u.BigNumber.ROUND_FLOOR),N=new u.BigNumber(x).dividedBy(1e18).toFixed(4,u.BigNumber.ROUND_FLOOR),new u.BigNumber(N)<new u.BigNumber(0)?(console.log(M.red("Not enough balance")),[2]):[4,$(N,x,n,18)]):(console.log(M.red(w.output)),[2]);case 6:return b=L.sent(),[3,10];case 7:return[4,Pt("data",Bt)];case 8:return h=L.sent(),[4,rt("value",ut)];case 9:b=L.sent(),L.label=10;case 10:return[4,o.getTransactionCount(r)];case 11:return P=L.sent(),[4,rt("Nonce (".concat(P,"), agree or enter"))];case 12:return B=L.sent(),O=B||P.toString(),A={from:r,to:s,nonce:O,gasPrice:p,data:h,value:b},"0x"!==h?[3,13]:(A.gas="21000",[3,18]);case 13:F=A.gasPrice,delete A.gasPrice,L.label=14;case 14:return L.trys.push([14,16,,17]),C=A,_="gas",[4,o.estimateTxGas(A)];case 15:return C[_]=L.sent().toString(),[3,17];case 16:return j=L.sent(),console.log(M.red("Error: "+j)),[2];case 17:A.gasPrice=F,L.label=18;case 18:return[4,D(A)];case 19:return A=L.sent(),[4,a.account.signTransaction(r,A,t)];case 20:return(I=L.sent()).status?(console.log(M.green("Transaction hash: ".concat(I.output.transactionHash))),a.account.sendSignedTransaction(r,I.output.rawTransaction,t),T(e,[r,s],["0"]),[2]):(console.log(M.red(I.output)),[2])}var q,z}))}))},W=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var o,c,i,l,d,p,f,h,m,g,b,w,y,S,x,N;return v(this,(function(v){switch(v.label){case 0:return[4,rt("to",ht)];case 1:return o=v.sent(),(c=(new s.Transaction).add(s.SystemProgram.transfer({fromPubkey:new s.PublicKey(r),toPubkey:new s.PublicKey(o),lamports:1}))).add(s.ComputeBudgetProgram.setComputeUnitLimit({units:2e5})),c.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:1e3})),c.feePayer=new s.PublicKey(r),[4,a.account.simulateTransaction(r,t,c)];case 2:return(i=v.sent()).status?(console.log("simulate_result: ",i),i.output&&i.output.value&&0!==i.output.value.unitsConsumed&&!i.output.value.err?(l=new u.BigNumber(i.output.value.unitsConsumed.toString()).multipliedBy(1.2).toFixed(0,u.BigNumber.ROUND_CEIL),d=new u.BigNumber(l),[4,O(t)]):(console.log(M.red("Simulate error")),[2])):(console.log(M.red(i.output)),[2]);case 3:return(p=v.sent()).status?(f=new u.BigNumber(p.output.toString()),h=d.multipliedBy(f).dividedBy(1e6).toFixed(0,u.BigNumber.ROUND_CEIL),[4,k(r,t)]):(console.log(M.red(p.output)),[2]);case 4:return(m=v.sent()).status?(g=new u.BigNumber(m.output),b=g.minus(5e3).minus(h),w=new u.BigNumber(b).dividedBy(1e9).toFixed(4,u.BigNumber.ROUND_FLOOR),new u.BigNumber(w)<new u.BigNumber(0)?(console.log(M.red("Not enough balance")),[2]):[4,$(w,b.toString(),n,9)]):(console.log(M.red(m.output)),[2]);case 5:return y=v.sent(),(S=new s.Transaction).add(s.ComputeBudgetProgram.setComputeUnitLimit({units:Number(d)})),S.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:Number(f)})),S.add(s.SystemProgram.transfer({fromPubkey:new s.PublicKey(r),toPubkey:new s.PublicKey(o),lamports:Number(y)})),c.feePayer=new s.PublicKey(r),[4,a.account.signTransaction(r,S,t)];case 6:return(x=v.sent()).status?[4,a.account.sendSignedTransaction(r,x.output,t)]:(console.log(M.red(x.output)),[2]);case 7:return(N=v.sent()).status?(T(e,[r,o],["0"]),console.log(M.green("Transaction hash: ".concat(N.output))),[2]):(console.log(M.red(N.output)),[2])}}))}))},$=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,i;return v(this,(function(l){switch(l.label){case 0:return a=["> Input value","> Total Balance (".concat(e," ").concat(n,")")],[4,mt(a)];case 1:return s=l.sent(),o=a.indexOf(s),c="0",0!==o?[3,3]:[4,rt("value",ut)];case 2:return i=l.sent(),c=new u.BigNumber(i).multipliedBy(Math.pow(10,r)).toFixed(0,u.BigNumber.ROUND_FLOOR),[3,4];case 3:1===o&&(c=t),l.label=4;case 4:return new u.BigNumber(c).isLessThanOrEqualTo(new u.BigNumber(t))?[2,c]:(console.log(M.red("Not enough balance")),[2,$(e,t,n,r)])}}))}))},H=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,i,l,d,p,f,h,m,g,b,w,y,k,x,P,O,A,F,C,_,j,I,L,q,z,R,E,J,U,G,W,$;return v(this,(function(v){switch(v.label){case 0:return[4,mt(["> Input token ticker","> Input token contract address"])];case 1:switch(s=v.sent(),s){case"> Input token ticker":return[3,2];case"> Input token contract address":return[3,10]}return[3,13];case 2:return[4,rt("token ticker")];case 3:return i=v.sent(),[4,He(e,n,i)];case 4:if(0===(l=v.sent()).length)return console.log(M.red("Token not found")),[2];d=[],x=0,v.label=5;case 5:return x<l.length?[4,N(r,l[x].address,t)]:[3,8];case 6:if(!(p=v.sent()).status)return console.log(M.red(p.output)),[2];if(f=new u.BigNumber(p.output),h=f.dividedBy(Math.pow(10,Number(l[x].decimals))).toFixed(4,u.BigNumber.ROUND_FLOOR),1===l.length)return d.push("> 1. ".concat(i," Balance: ").concat(h)),[3,8];d.push("> ".concat(x+1,". ").concat(i," Balance: ").concat(h,"(").concat(l[x].address,")")),d.push(l[x].address),v.label=7;case 7:return x++,[3,5];case 8:return[4,mt(d)];case 9:return m=v.sent(),g=l[d.indexOf(m)],o=g.address,c=Number(g.decimals),[3,13];case 10:return[4,rt("token contract address",ht)];case 11:return o=v.sent(),[4,S(o,t)];case 12:return(b=v.sent()).status?(c=Number(b.output.decimals),[3,13]):(console.log(M.red(b.output)),[2]);case 13:return[4,rt("Receipt",ht)];case 14:return w=v.sent(),[4,N(r,o,t)];case 15:if(!(y=v.sent()).status)return console.log(M.red(y.output)),[2];x=0,v.label=16;case 16:return x<5?[4,rt("Amount",ut)]:[3,19];case 17:if(P=v.sent(),new u.BigNumber(P).multipliedBy(Math.pow(10,Number(c))).isLessThanOrEqualTo(new u.BigNumber(y.output)))return k=P,[3,19];console.log(M.red("Not enough balance")),v.label=18;case 18:return x++,[3,16];case 19:return k?[4,(O=new K(t)).getGasPrice()]:[2];case 20:return A=v.sent(),F=new u.BigNumber(A.toString()).dividedBy(1e9),C=F.toFixed(4,u.BigNumber.ROUND_FLOOR),[4,rt("Gas price (".concat(C,"), agree or enter"),it)];case 21:return _=v.sent(),j=_||C,j=new u.BigNumber(j).multipliedBy(1e9).toFixed(0),I=new u.BigNumber(k).multipliedBy(Math.pow(10,c)).toFixed(0),[4,B(w,I,t)];case 22:return L=v.sent(),[4,O.getTransactionCount(r)];case 23:return q=v.sent(),[4,rt("Nonce (".concat(q,"), agree or enter"))];case 24:return z=v.sent(),R=z||q.toString(),E={from:r,to:o,nonce:R,gasPrice:j,data:L,value:"0"},"0x"!==L?[3,25]:(E.gas="21000",[3,30]);case 25:J=E.gasPrice,delete E.gasPrice,v.label=26;case 26:return v.trys.push([26,28,,29]),U=E,G="gas",[4,O.estimateTxGas(E)];case 27:return U[G]=v.sent().toString(),[3,29];case 28:return W=v.sent(),console.log(M.red("Failed to estimate gas, "+W.message)),[2];case 29:E.gasPrice=J,v.label=30;case 30:return[4,D(E)];case 31:return E=v.sent(),[4,a.account.signTransaction(r,E,t)];case 32:return($=v.sent()).status?(console.log(M.green("Transaction hash: ".concat($.output.transactionHash))),a.account.sendSignedTransaction(r,$.output.rawTransaction,t),T(n,[r,w],["0",o]),[2]):(console.log(M.red($.output)),[2])}}))}))},Z=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var c,i,l,d,p,f,h,m,g,b,w,y,k,S,B,F,C,_,j,I,L,q,z,R,E,J,U,K,D,G;return v(this,(function(v){switch(v.label){case 0:return[4,mt(["> Input token ticker","> Input token contract address"])];case 1:switch(c=v.sent(),c){case"> Input token ticker":return[3,2];case"> Input token contract address":return[3,10]}return[3,13];case 2:return[4,rt("token ticker")];case 3:return d=v.sent(),[4,He(e,n,d)];case 4:if(0===(p=v.sent()).length)return console.log(M.red("Token not found")),[2];f=[],F=0,v.label=5;case 5:return F<p.length?[4,P(r,p[F].address,t)]:[3,8];case 6:if(!(h=v.sent()).status)return console.log(M.red(h.output)),[2];if(m=new u.BigNumber(h.output),g=m.dividedBy(Math.pow(10,Number(p[F].decimals))).toFixed(4,u.BigNumber.ROUND_FLOOR),1===p.length)return f.push("> 1. ".concat(d," Balance: ").concat(g)),[3,8];f.push("> ".concat(F+1,". ").concat(d," Balance: ").concat(g,"(").concat(p[F].address,")")),f.push(p[F].address),v.label=7;case 7:return F++,[3,5];case 8:return[4,mt(f)];case 9:return b=v.sent(),w=p[f.indexOf(b)],i=w.address,l=Number(w.decimals),[3,13];case 10:return[4,rt("token contract address",ht)];case 11:return i=v.sent(),[4,x(i,t)];case 12:return(y=v.sent()).status?(l=Number(y.output.decimals),[3,13]):(console.log(M.red(y.output)),[2]);case 13:return[4,rt("Receipt",ht)];case 14:return k=v.sent(),[4,N(r,i,t)];case 15:if(!(S=v.sent()).status)return console.log(M.red(S.output)),[2];F=0,v.label=16;case 16:return F<5?[4,rt("Amount",ut)]:[3,19];case 17:if(C=v.sent(),new u.BigNumber(C).multipliedBy(Math.pow(10,Number(l))).isLessThanOrEqualTo(new u.BigNumber(S.output)))return B=C,[3,19];console.log(M.red("Not enough balance")),v.label=18;case 18:return F++,[3,16];case 19:return B?(_=new u.BigNumber(B).multipliedBy(Math.pow(10,l)).toFixed(0),j=o.getAssociatedTokenAddressSync(new s.PublicKey(i),new s.PublicKey(r),!0),[4,A(j.toString(),t)]):[2];case 20:return(I=v.sent()).status?I.output&&I.output.owner.toString()!==s.PublicKey.default?(L=o.getAssociatedTokenAddressSync(new s.PublicKey(i),new s.PublicKey(k),!1),[4,A(L.toString(),t)]):(console.log(M.red("From token account not found")),[2]):(console.log(M.red(I.output)),[2]);case 21:return(q=v.sent()).status?(z=new s.Transaction,R=new s.Transaction,q.output&&q.output.owner.toString()!==s.PublicKey.default||(z.add(o.createAssociatedTokenAccountInstruction(new s.PublicKey(r),new s.PublicKey(L),new s.PublicKey(k),new s.PublicKey(i))),R.add(o.createAssociatedTokenAccountInstruction(new s.PublicKey(r),new s.PublicKey(L),new s.PublicKey(k),new s.PublicKey(i)))),z.add(o.createTransferInstruction(j,L,new s.PublicKey(r),Number(_))),z.add(s.ComputeBudgetProgram.setComputeUnitLimit({units:2e5})),z.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:1e3})),z.feePayer=new s.PublicKey(r),[4,a.account.simulateTransaction(r,t,z)]):(console.log(M.red(q.output)),[2]);case 22:return(E=v.sent()).status?E.output&&E.output.value&&0!==E.output.value.unitsConsumed&&!E.output.value.err?(J=new u.BigNumber(E.output.value.unitsConsumed.toString()),J=new u.BigNumber(Math.ceil(1.2*Number(J))),[4,O(t)]):(console.log(M.red("Simulate error")),[2]):(console.log(M.red(E.output)),[2]);case 23:return(U=v.sent()).status?(K=new u.BigNumber(U.output.toString()),R.add(o.createTransferInstruction(j,L,new s.PublicKey(r),Number(_))),R.add(s.ComputeBudgetProgram.setComputeUnitLimit({units:Number(J)})),R.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:Number(K)})),z.feePayer=new s.PublicKey(r),[4,a.account.signTransaction(r,R,t)]):(console.log(M.red(U.output)),[2]);case 24:return(D=v.sent()).status?[4,a.account.sendSignedTransaction(r,D.output,t)]:(console.log(M.red(D.output)),[2]);case 25:return(G=v.sent()).status?(T(n,[r,k],["0",i]),console.log(M.green("Transaction hash: ".concat(G.output))),[2]):(console.log(M.red(G.output)),[2])}}))}))},V=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d,p;return v(this,(function(f){switch(f.label){case 0:return a=Me(e,t,n),s=ze(e,a),o=At(n),s!==o&&("evm"===o&&(a="Ethereum Mainnet"),"solana"===o&&(a="Solana Mainnet"),s=ze(e,a)),"evm"!==s?[3,3]:[4,Nt("Network (".concat(a,"), want a change?"))];case 1:return f.sent()?(c=De(e),[4,mt(c,"Select a network")]):[3,3];case 2:u=f.sent(),a=u,f.label=3;case 3:return[4,Ke(n,e,a)];case 4:return(i=f.sent()).status?(l=Re(e,a),console.log(M.green(" ".concat(l.nativeCurrency.symbol," Balance: ").concat(i.output))),d=["> Send Raw Tx","> Send Token",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(d)]):(console.log(M.red(i.output)),[2]);case 5:switch(p=f.sent(),p){case"> Send Raw Tx":return[3,6];case"> Send Token":return[3,11];case"> Back":return[3,16]}return[3,17];case 6:return"evm"!==o?[3,8]:[4,G(l.chainId.toString(),l.rpcUrl,l.nativeCurrency.symbol,n,r)];case 7:f.sent(),f.label=8;case 8:return"solana"!==o?[3,10]:[4,W(l.chainId.toString(),l.rpcUrl,l.nativeCurrency.symbol,n,r)];case 9:f.sent(),f.label=10;case 10:return[3,17];case 11:return"evm"!==o?[3,13]:[4,H(e,l.rpcUrl,l.chainId.toString(),n,r)];case 12:f.sent(),f.label=13;case 13:return"solana"!==o?[3,15]:[4,Z(e,l.rpcUrl,l.chainId.toString(),n,r)];case 14:f.sent(),f.label=15;case 15:return[3,17];case 16:case 17:return[2]}}))}))},X=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c;return v(this,(function(u){switch(u.label){case 0:return a=["> SendTx","> SignMessage",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(a)];case 1:switch(s=u.sent(),s){case"> SendTx":return[3,2];case"> SignMessage":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,V(e,t,n,r)];case 3:return u.sent(),[3,7];case 4:return[4,Pt("Input the message to sign")];case 5:return o=u.sent(),(c=r.account.signMessage(n,o)).status?(console.log(M.green("Signature: "+c.output)),[3,7]):(console.log(M.red(c.output)),[3,7]);case 6:return[2];case 7:return[4,X(e,t,n,r)];case 8:return u.sent(),[2]}}))}))},Q=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o;return v(this,(function(c){switch(c.label){case 0:return n=["> Send Tx","> Search Accounts",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(n)];case 1:return"> Back"===(r=c.sent())?[2]:"> Send Tx"!==r?[3,3]:[4,rt("Input address to send tx",ht)];case 2:a=c.sent(),c.label=3;case 3:return"> Search Accounts"!==r?[3,5]:[4,rt("Input part address to send tx",ct)];case 4:a=c.sent(),c.label=5;case 5:return null!==(s=t.account.getAccountLabel(a))?[3,7]:(console.log(M.red("Account not found")),[4,Q(e,t)]);case 6:return c.sent(),[2];case 7:return o=s.account_label,a=s.account_address,null!==o?[3,9]:(console.log(M.red("Account not found")),[4,Q(e,t)]);case 8:return c.sent(),[2];case 9:return[4,de(o,t)];case 10:return c.sent().isLoginIn?[3,12]:[4,Q(e,t)];case 11:return c.sent(),[2];case 12:return[4,X(e,o,a,t)];case 13:return c.sent(),[4,Q(e,t)];case 14:return c.sent(),[2]}}))}))},Y=require("chalk");require("dotenv").config();var ee=require("cli-progress");require("wative-core").WativeCore;var te={account_label:"",default_account_index:0},ne=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s;return v(this,(function(o){switch(o.label){case 0:return t=ue(e),n=[],t.accounts&&(n=t.accounts),[4,St("Account Label",n)];case 1:return null===(r=o.sent())?[2,null]:[4,xt("Please set a password for Account [".concat(r,"]"))];case 2:return a=o.sent(),[4,qe(e)];case 3:return s=o.sent(),[2,{account_label:r,password:a,selected_default_network:s}]}}))}))},re=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c;return v(this,(function(u){switch(u.label){case 0:return[4,ne(e)];case 1:return(n=u.sent())?[4,rt("Please enter a mnemonic [split by space]",lt)]:[2];case 2:return r=(r=u.sent()).replace(/\s+/g," "),(a=t.account.generatePPAccount(n.account_label,r,n.password)).status?(s=p.join(e,"accounts/".concat(n.account_label,".json")),a.output.default_network=n.selected_default_network,d.writeFileSync(s,JSON.stringify(a.output,null,4)),o=p.resolve(e,"network.json"),(c=JSON.parse(d.readFileSync(o,"utf8"))).accounts.push(n.account_label),d.writeFileSync(o,JSON.stringify(c,null,4)),[2]):(console.log(Y.red(a.output)),[2])}}))}))},ae=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s;return v(this,(function(o){switch(o.label){case 0:return[4,ne(e)];case 1:return(n=o.sent())?[4,rt("Please enter a private key")]:[2];case 2:return r=o.sent(),[4,oe(e,n.password,n.account_label,r,n.selected_default_network,t,!0)];case 3:return o.sent(),a=p.resolve(e,"network.json"),(s=JSON.parse(d.readFileSync(a,"utf8"))).accounts.push(n.account_label),d.writeFileSync(a,JSON.stringify(s,null,4)),[2]}}))}))},se=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o;return v(this,(function(c){switch(c.label){case 0:return[4,rt("Please enter a private key")];case 1:return a=c.sent(),s=p.join(e,"accounts/".concat(n,".json")),o=JSON.parse(d.readFileSync(s,"utf8")),[4,oe(e,t,n,a,o.default_network,r,!1)];case 2:return c.sent(),[2]}}))}))},oe=function(e,t,n,r,a,s,o){return g(void 0,void 0,void 0,(function(){var c,u,i,l,f;return v(this,(function(h){switch(h.label){case 0:return[4,Re(e,a)];case 1:return c=h.sent(),"evm"!==L(c.chainId.toString())||r.startsWith("0x")||(r="0x"+r),[4,s.account.generatePKAccount(n,r,t,c.chainId.toString(),o)];case 2:return(u=h.sent()).status?(i=p.join(e,"accounts/".concat(n,".json")),d.existsSync(i)?"data"in(f=JSON.parse(d.readFileSync(i,"utf8")))?(f.data.push({ciphertexts:u.output.ciphertexts}),l=f):(f.data=[{ciphertexts:f.ciphertexts}],delete f.ciphertexts,f.data.push({ciphertexts:u.output.ciphertexts}),l=f):(u.output.data=[{ciphertexts:u.output.ciphertexts}],delete u.output.ciphertexts,u.output.default_network=a,l=u.output),d.writeFileSync(i,JSON.stringify(l,null,4)),s.account.reloadAccount(),[2]):(console.log(Y.red(u.output)),[2])}}))}))},ce=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(a){switch(a.label){case 0:return n=["> Import Passphrase","> Import Private Key",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(n)];case 1:switch(r=a.sent(),r){case"> Import Passphrase":return[3,2];case"> Import Private Key":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,re(e,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,ae(e,t)];case 6:return[2];case 7:return t.account.reloadAccount(),[2]}}))}))},ue=function(e){var t=p.resolve(e,"network.json");return JSON.parse(d.readFileSync(t,"utf8"))},ie=function(e,t){var n=p.join(e,"accounts/".concat(t,".json"));return JSON.parse(d.readFileSync(n,"utf8"))},le=function(e,t,n){var r=p.join(e,"accounts/".concat(t,".json"));d.writeFileSync(r,JSON.stringify(n,null,4))},de=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a;return v(this,(function(s){switch(s.label){case 0:if(t.account.isLogin(e))return[2,{isLoginIn:!0}];n=0,s.label=1;case 1:return n<3?(r=void 0,process.env.WativePassword&&""!==process.env.WativePassword?(r=process.env.WativePassword,[3,4]):[3,2]):[3,7];case 2:return[4,xt("Please input the password for Account [".concat(e,"]"))];case 3:r=s.sent(),s.label=4;case 4:return r?[4,t.account.login(e,r)]:(console.log(Y.red("Password can't be empty")),[2,{isLoginIn:!1}]);case 5:if((a=s.sent()).status)return[2,{isLoginIn:!0,password:r}];console.log(Y.red(a.output)),s.label=6;case 6:return n++,[3,1];case 7:return[2,{isLoginIn:!1}]}}))}))},pe=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i,l,d;return v(this,(function(p){switch(p.label){case 0:if(n=ue(e),r=n.accounts,a=["> Back",new h.default.Separator("----------------------------------")],0===(s=r.length))return console.log(Y.red("No address here yet")),[2];for(o=0;o<s;o++)c=r[o],"data"in(u=ie(e,c))?a.push("".concat(o+1,") ").concat(c," [").concat(u.account_type,":").concat(u.data.length,"]")):a.push("".concat(o+1,") ").concat(c," [").concat(u.account_type,":1]"));return[4,mt(a,"Select an account")];case 1:return"> Back"===(i=p.sent())?[2]:(l=r[a.indexOf(i)-2],[4,de(l,t)]);case 2:return(d=p.sent()).isLoginIn?[4,he(e,l,t,d.password)]:[3,4];case 3:p.sent(),p.label=4;case 4:return[4,pe(e,t)];case 5:return p.sent(),[2]}}))}))},fe=function(e,t,n){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i,l,d,p,f,m,g,b,w,y,k,S,x;return v(this,(function(v){switch(v.label){case 0:return[4,ie(e,t)];case 1:return n=v.sent(),r=["> Disabled Slots","> Add Single","> Add Range",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(r)];case 2:switch(a=v.sent(),a){case"> Back":return[3,3];case"> Disabled Slots":return[3,4];case"> Add Single":return[3,7];case"> Add Range":return[3,9]}return[3,11];case 3:return[2];case 4:if(!(s=n.disabled_slots)||0===s.length)return console.log(Y.red("No disabled slots here yet")),[3,11];for(o=n.data,c=["> Back",new h.default.Separator("----------------------------------")],u=n.default_network,i=0;i<s.length;i++){if(l=s[i].from,d=s[i].to,p=u,f=u,"default_network"in o[l]&&(p=o[l].default_network),"default_network"in o[d]&&(f=o[d].default_network),m=ze(e,p),g=ze(e,f),"evm"!==m&&"solana"!==m)throw new Error("Invalid network type: ".concat(m));if("evm"!==g&&"solana"!==g)throw new Error("Invalid network type: ".concat(g));b=void 0,w=void 0,b="evm"===m?o[l].ciphertexts.evm.address:o[d].ciphertexts.solana.address,w="evm"===g?o[d].ciphertexts.evm.address:o[d].ciphertexts.solana.address,l===d?c.push("".concat(i+1,". ").concat(b,"[").concat(l,"]")):c.push("".concat(i+1,". ").concat(b,"[").concat(l,"]-").concat(w,"[").concat(d,"]"))}return[4,mt(c)];case 5:return"> Back"===(y=v.sent())?[3,11]:[4,Nt("Are you sure to delete the ".concat(y,"?"))];case 6:return v.sent()?(k=c.indexOf(y)-2,n.disabled_slots.splice(k,1),le(e,t,n),[3,11]):[3,11];case 7:return[4,st(n,"Input address or index")];case 8:return null===(S=v.sent())?(console.log(Y.red("Invalid account index")),[3,11]):(n.disabled_slots?n.disabled_slots.push({from:S,to:S}):n.disabled_slots=[{from:S,to:S}],le(e,t,n),[3,11]);case 9:return[4,at(n)];case 10:return(x=v.sent())?(n.disabled_slots?n.disabled_slots.push(x):n.disabled_slots=[x],le(e,t,n),[3,11]):(console.log(Y.red("Invalid account range")),[3,11]);case 11:return[4,fe(e,t)];case 12:return v.sent(),[2]}}))}))},he=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l;return v(this,(function(d){switch(d.label){case 0:return[4,ie(e,t)];case 1:return a=d.sent(),s="PP"===a.account_type?["> Address List","> Expand Address","> Slice Address","> Disable Address","> Reset Account Password","> Switch Networks [".concat(a.default_network,"]"),"> Remove",new h.default.Separator("----------------------------------"),"> Back"]:["> Address List","> Import Private Key","> Remove Address","> Reset Account Password","> Switch Networks [".concat(a.default_network,"]"),"> Remove",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(s)];case 2:switch(o=d.sent(),o){case"> Address List":return[3,3];case"> Expand Address":return[3,5];case"> Import Private Key":return[3,8];case"> Slice Address":return[3,10];case"> Remove Address":return[3,13];case"> Disable Address":return[3,15];case"> Reset Account Password":return[3,17];case"> Switch Networks [".concat(a.default_network,"]"):return[3,21];case"> Remove":return[3,23];case"> Back":return[3,25]}return[3,26];case 3:return[4,me(e,t,n)];case 4:case 7:case 9:case 12:case 14:case 16:case 22:return d.sent(),[3,26];case 5:return[4,rt("Expand accounts count",dt)];case 6:return c=d.sent(),Number(c)>2e3?(console.log(Y.red("Too many accounts, please input less than 2000")),[3,26]):[4,ve(e,t,Number(c),n)];case 8:return[4,se(e,r,t,n)];case 10:return[4,rt("Please input last account number",pt)];case 11:return u=d.sent(),[4,be(e,t,Number(u),n)];case 13:return[4,we(e,t,n)];case 15:return[4,fe(e,t)];case 17:return[4,xt("Please input new password for Account [".concat(t,"]"))];case 18:return i=d.sent(),[4,xt("Please confirm new password for Account [".concat(t,"]"))];case 19:return l=d.sent(),i&&l&&i===l?[4,n.account.resetPassword(t,i)]:(console.log(Y.red("Passwords do not match")),[3,26]);case 20:case 24:case 27:return d.sent(),[2];case 21:return[4,Ue(e,t,!0)];case 23:return[4,ye(e,t)];case 25:return[2];case 26:return[4,he(e,t,n,r)]}}))}))},me=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l,d,p,f,m,g,b,w;return v(this,(function(v){switch(v.label){case 0:return[4,ie(e,t)];case 1:for(r=v.sent(),a=["> Back",new h.default.Separator("----------------------------------")],s=r.disabled_slots,o=Ge(e),c=r.default_network,u=Re(e,c),i=L(u.chainId.toString()),l=r.data.length.toString().length+1,d=0;d<r.data.length;d++)p=r.data[d].tag?"(".concat(r.data[d].tag,")"):"",f=n.account.checkIsDisableAddress(s,d),m=void 0,m="PP"===r.account_type?"evm"===i?r.data[d].ciphertexts.evm.address:r.data[d].ciphertexts.solana.address:r.data[d].ciphertexts.address,f?a.push(new h.default.Separator(Y.yellow("#".concat(d.toString().padEnd(l)," ").concat(Ct(m,o.fullAddr)," ").concat(p)))):a.push("#".concat(d.toString().padEnd(l)," ").concat(Ct(m,o.fullAddr)," ").concat(p));return g=te.account_label===t?a[te.account_index]:a[0],[4,$e(e,u.chainId.toString())];case 2:return b=v.sent(),[4,_t(a,"evm"===i,e,b,u,o.gasToken,o.extendedToken,"Select an account",g)];case 3:return"> Back"===(w=v.sent())?[2]:(te.account_label=t,te.account_index=a.indexOf(w),[4,ge(e,t,a.indexOf(w)-2,n)]);case 4:return v.sent(),[4,me(e,t,n)];case 5:return v.sent(),[2]}}))}))},ge=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d,p,f,m,g;return v(this,(function(v){switch(v.label){case 0:return[4,ie(e,t)];case 1:return a=v.sent(),s=a.default_network,o=Ee(e,t,n),[4,Re(e,s)];case 2:return c=v.sent(),[4,Ke(o,e,s)];case 3:return(u=v.sent()).status?console.log(Y.green(" Address No: #".concat(n,"\n Network: ").concat(s,"\n ").concat(c.nativeCurrency.symbol," Balance: ").concat(u.output))):console.log(Y.green(" Address No: #".concat(n,"\n Network: ").concat(s,"\n ").concat(c.nativeCurrency.symbol))),i="> Tag","tag"in a.data[n]&&""!==a.data[n].tag&&(i="> Tag(".concat(a.data[n].tag,")")),l=[i,"> Show address","> Assets","> Tools","> Dump private key",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(l)];case 4:switch(d=v.sent(),d){case i:return[3,5];case"> Show address":return[3,7];case"> Assets":return[3,9];case"> Tools":return[3,11];case"> Dump private key":return[3,13];case"> Back":return[3,15]}return[3,16];case 5:return p="Current tag","tag"in a.data[n]&&""!==a.data[n].tag&&(p="Current tag (".concat(a.data[n].tag,")")),[4,rt(p,ot)];case 6:return f=(f=v.sent()).replace(/\s+/g," ").trim(),a.data[n].tag=f.toLocaleLowerCase(),le(e,t,a),[3,16];case 7:return[4,Je(e,t,n)];case 8:case 10:case 12:return v.sent(),[3,16];case 9:return[4,Ze(e,s,o)];case 11:return[4,X(e,t,o,r)];case 13:return m=Ee(e,t,n),[4,r.account.showPrivateKey(m)];case 14:return g=v.sent(),console.log("account: ",m),console.log("private key: ",g),[3,16];case 15:case 16:return[2]}}))}))},ve=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u;return v(this,(function(i){switch(i.label){case 0:return[4,ie(e,t)];case 1:a=i.sent(),s=a.data.length,(o=new ee.SingleBar({},ee.Presets.legacy)).start(n,0),c=s,i.label=2;case 2:return c<s+n?[4,r.account.generateSubAccount(t,c)]:[3,5];case 3:if(!(u=i.sent()).status)return console.log(Y.red(u.output)),[2];a.data.push({ciphertexts:u.output}),o.increment(),i.label=4;case 4:return c++,[3,2];case 5:return o.stop(),le(e,t,a),r.account.reloadAccount(),[2]}}))}))},be=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a;return v(this,(function(s){switch(s.label){case 0:return[4,ie(e,t)];case 1:return(a=s.sent()).data=a.data.slice(0,n+1),le(e,t,a),r.account.reloadAccount(),[2]}}))}))},we=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a;return v(this,(function(s){switch(s.label){case 0:return[4,rt("Please input the accountIndex to remove this account",ut)];case 1:return"0"===(r=s.sent())?(console.log(Y.red("Can't remove the first account")),[2]):[4,ie(e,t)];case 2:return a=s.sent(),[4,Nt("Are you sure you want to remove this account(".concat(a.data[r].ciphertexts.address,")"))];case 3:return s.sent()?(a.data.splice(Number(r),1),le(e,t,a),n.account.reloadAccount(),[2]):[2]}}))}))},ye=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s;return v(this,(function(o){switch(o.label){case 0:return[4,rt("Please input the accountLabel to remove this account")];case 1:return o.sent()!==t?(console.log(Y.red("Can't remove this account")),[2]):[4,Nt("Are you sure you want to remove this account(".concat(t,")"))];case 2:return o.sent()?(n=p.join(e,"accounts/".concat(t,".json")),d.rmSync(n),r=p.resolve(e,"network.json"),d.existsSync(r)?(a=JSON.parse(d.readFileSync(r,"utf8")),s=a.accounts.indexOf(t),a.accounts.splice(s,1),d.writeFileSync(r,JSON.stringify(a,null,2)),[2]):[2]):[2]}}))}))},ke=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o;return v(this,(function(c){switch(c.label){case 0:return n=p.resolve(e,"accounts"),d.existsSync(n)||d.mkdirSync(n),r=ue(e),a=r.accounts,s=0===a.length?["> Create a new account",new h.default.Separator("----------------------------------"),"> Back"]:["> Select an account","> Create a new account",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(s)];case 1:switch(o=c.sent(),o){case"> Select an account":return[3,2];case"> Create a new account":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,pe(e,t)];case 3:case 5:return c.sent(),[3,7];case 4:return[4,ce(e,t)];case 6:return[2];case 7:return[4,ke(e,t)];case 8:return c.sent(),[2]}}))}))},Se=require("chalk"),xe=function(e){return g(void 0,void 0,void 0,(function(){var t,n;return v(this,(function(r){return t=p.resolve(e,"network.json"),d.existsSync(t)||(n={networks:_,currentNetwork:"Ethereum Mainnet",accounts:[]},d.writeFileSync(t,JSON.stringify(n,null,2))),[2]}))}))},Ne=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(a){switch(a.label){case 0:return n=["> Edit"],"Ethereum Mainnet"!==t.name&&"Solana Mainnet"!==t.name&&n.push("> Remove"),n.push(new h.default.Separator("----------------------------------")),n.push("> Back"),[4,mt(n)];case 1:switch(r=a.sent(),r){case"> Edit":return[3,2];case"> Remove":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Pe(e,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,Be(e,t)];case 6:return[3,7];case 7:return[2]}}))}))},Pe=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i,l,f,h,m,g;return v(this,(function(v){switch(v.label){case 0:for(n=p.resolve(e,"network.json"),r=JSON.parse(d.readFileSync(n,"utf8")),a=[],g=0;g<r.networks.length;g++)s=r.networks[g],a.push(s.name);return o=t.rpcUrl,c=t.chainId.toString(),u=t.nativeCurrency.symbol,i=t.name,l=t.multicallAddress,f=t.color,"Ethereum Mainnet"!==t.name&&"Solana Mainnet"!==t.name?[3,2]:[4,bt(t.chainId.toString(),"Rpc Url (default: ".concat(t.rpcUrl,")"),!0)];case 1:return o=v.sent(),[3,9];case 2:return[4,rt("Chain Name (default: ".concat(t.name,")"))];case 3:return(i=v.sent())&&i!==t.name&&a.includes(i)?(console.log(Se.red("Chain Name already exists")),[2]):[4,vt("Chain Id (default: ".concat(t.chainId,")"),!0)];case 4:return c=v.sent(),[4,bt(c||t.chainId,"RPC Url (default: ".concat(t.rpcUrl,")"),!0)];case 5:return o=v.sent(),[4,yt("Symbol (default: ".concat(t.nativeCurrency.symbol,")"))];case 6:return u=v.sent(),[4,wt(t.multicallAddress?"Multicall Address (Optional) (default: ".concat(t.multicallAddress,")"):"Multicall Address (Optional)")];case 7:return l=v.sent(),[4,kt(t.color?"Color (Optional): (default: ".concat(t.color,")"):"Color (Optional)")];case 8:f=v.sent(),v.label=9;case 9:for(o=o||t.rpcUrl,c=c||t.chainId.toString(),u=u||t.nativeCurrency.symbol,i=i||t.name,l=l||t.multicallAddress,f=f||t.color,h=I(c.toString()),m={name:i||t.name,chainId:Number(c)||t.chainId,rpcUrl:o||t.rpcUrl,nativeCurrency:{name:u||t.nativeCurrency.symbol,symbol:u||t.nativeCurrency.symbol,decimals:h||t.nativeCurrency.decimals}},(l||t.multicallAddress)&&(m.multicallAddress=l||t.multicallAddress),(f||t.color)&&(m.color=f||t.color),g=0;g<r.networks.length;g++)if(r.networks[g].name===t.name){r.networks[g]=m;break}return d.writeFileSync(n,JSON.stringify(r,null,2)),[2]}}))}))},Be=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a;return v(this,(function(s){for(n=p.resolve(e,"network.json"),r=JSON.parse(d.readFileSync(n,"utf8")),a=0;a<r.networks.length;a++)if(r.networks[a].name===t.name){r.networks.splice(a,1);break}return t.name===r.currentNetwork&&(r.currentNetwork="Ethereum Mainnet"),d.writeFileSync(n,JSON.stringify(r,null,2)),[2]}))}))},Oe=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l,f,h,m;return v(this,(function(g){switch(g.label){case 0:for(t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r=[],a=0;a<n.networks.length;a++)s=n.networks[a],r.push(s.name);return console.log(Se.green("Please input someting about network")),[4,rt("Chain Name")];case 1:return o=g.sent(),r.includes(o)?(console.log(Se.red("Chain Name already exists")),[2]):[4,vt("Chain Id")];case 2:return(c=g.sent())?[4,bt(c,"RPC Url")]:[2];case 3:return(u=g.sent())?[4,yt("Symbol")]:[2];case 4:return(i=g.sent())?[4,wt("Multicall Address (Optional)")]:[2];case 5:return l=g.sent(),[4,kt("Color (Optional)")];case 6:return f=g.sent(),h=I(c.toString()),m={name:o,chainId:Number(c),rpcUrl:u,nativeCurrency:{name:i,symbol:i,decimals:h}},l&&(m.multicallAddress=l),f&&(m.color=f),n.networks.push(m),d.writeFileSync(t,JSON.stringify(n,null,2)),[2]}}))}))},Ae=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l,f,m,g;return v(this,(function(v){switch(v.label){case 0:for(t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r=[],a=[],c=0;c<n.networks.length;c++)i=n.networks[c],"solana"===L(i.chainId.toString())?a.push(c):r.push(c);for(s=["> Back","+ Add Network",new h.default.Separator("----Networks(evm)----")],c=0;c<r.length;c++)o=r[c],i=n.networks[o],l="".concat(c+1,".").concat(i.name),0===c&&(l+=" 🔒"),s.push(l);for(s.push(new h.default.Separator("----Networks(solana)----")),c=0;c<a.length;c++)u=a[c],i=n.networks[u],l="".concat(c+1,".").concat(i.name),0===c&&(l+=" 🔒"),s.push(l);return[4,mt(s)];case 1:return"> Back"===(f=v.sent())?[2]:"+ Add Network"!==f?[3,3]:[4,Oe(e)];case 2:case 5:return v.sent(),[2];case 3:return m=s.indexOf(f),g=m<r.length+3?n.networks[r[m-3]]:n.networks[a[m-r.length-4]],[4,Ne(e,g)];case 4:return v.sent(),[4,Ae(e)]}}))}))},Fe=function(e){return g(void 0,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:return t=["> Enhanced Balance Display",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(t)];case 1:switch(n=r.sent(),n){case"> Enhanced Balance Display":return[3,2];case"> Back":return[3,4]}return[3,5];case 2:return[4,Ie(e)];case 3:return r.sent(),[3,5];case 4:return[2];case 5:return[4,Fe(e)];case 6:return r.sent(),[2]}}))}))},Te=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c;return v(this,(function(u){switch(u.label){case 0:return t=p.resolve(e,"network.json"),"status"in(n=JSON.parse(d.readFileSync(t,"utf8")))||(n.status={fullAddr:!1,gasToken:!1,extendedToken:!1}),r=["> Show Full Address [".concat(n.status.fullAddr?"ON":"OFF","]"),"> Show Gas Token [".concat(n.status.gasToken?"ON":"OFF","]"),"> Show Extended Token[".concat(n.status.extendedToken?"ON":"OFF","]"),new h.default.Separator("----------------------------------"),"> Back"],[4,mt(r)];case 1:return"> Back"===(a=u.sent())?[2]:a.includes("Full Address")?(s=n.status,[4,Ce()]):[3,3];case 2:return s.fullAddr=u.sent(),[3,7];case 3:return a.includes("Gas Token")?(o=n.status,[4,Ce()]):[3,5];case 4:return o.gasToken=u.sent(),[3,7];case 5:return a.includes("Extended Token")?(c=n.status,[4,Ce()]):[3,7];case 6:c.extendedToken=u.sent(),u.label=7;case 7:return d.writeFileSync(t,JSON.stringify(n,null,2)),[2]}}))}))},Ce=function(){return g(void 0,void 0,void 0,(function(){return v(this,(function(e){switch(e.label){case 0:return[4,mt(["> On","> Off"])];case 1:switch(e.sent()){case"> On":return[2,!0];case"> Off":return[2,!1]}return[2]}}))}))},_e=function(e,t){var n=p.resolve(e,"network.json"),r=JSON.parse(d.readFileSync(n,"utf8")).showTokens;return t in r?r[t]:[]},je=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l,f,m,g,b,w,y,k,S,x,N,P;return v(this,(function(v){switch(v.label){case 0:for(t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r={},a=0,s=n.networks;a<s.length;a++)o=s[a],r[o.chainId.toString()]=o.name;if(c=p.resolve(e,"assets.json"),!Ft(c))return console.log(Se.red("No asset here yet")),[2];for(m in u=JSON.parse(d.readFileSync(c,"utf8")),i=[],l=[],f={},u)for(f[i.length]={name:r[m],address:null},i.push(new h.default.Separator("----- Networks (".concat(r[m],") -------"))),g=_e(e,r[m]),b=u[m].length,S=0;S<b;S++)w=u[m][S],g.includes(w.address)&&l.push("".concat(S+1,".").concat(w.symbol.padEnd(6)," CA: ").concat(Se.green("".concat(Ct(w.address).padEnd(45)))," Decimals: ").concat(w.display_decimals?w.display_decimals:"4")),f[i.length]={name:r[m],address:w.address},i.push("".concat(S+1,".").concat(w.symbol.padEnd(6)," CA: ").concat(Se.green("".concat(Ct(w.address).padEnd(45)))," Decimals: ").concat(w.display_decimals?w.display_decimals:"4"));return[4,gt(i,"Choose Tokens",l)];case 1:for(y=v.sent(),k={},S=0;S<y.length;S++)x=y[S],N=i.indexOf(x),(P=f[N]).name in k?k[P.name].push(P.address):k[P.name]=[P.address];return n.showTokens=k,d.writeFileSync(t,JSON.stringify(n,null,2)),[2]}}))}))},Ie=function(e){return g(void 0,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:return t=["> Status","> Token List","> Add Token",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(t)];case 1:switch(n=r.sent(),n){case"> Status":return[3,2];case"> Token List":return[3,4];case"> Add Token":return[3,6];case"> Back":return[3,8]}return[3,9];case 2:return[4,Te(e)];case 3:case 5:case 7:return r.sent(),[3,9];case 4:return[4,je(e)];case 6:return[4,Xe(e)];case 8:return[2];case 9:return[4,Ie(e)];case 10:return r.sent(),[2]}}))}))},Le=function(e){return g(void 0,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:return t=["> Networks","> Dataview",new h.default.Separator("----------------------------------"),"> Back"],[4,mt(t)];case 1:switch(n=r.sent(),n){case"> Networks":return[3,2];case"> Dataview":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Ae(e)];case 3:case 5:return r.sent(),[3,7];case 4:return[4,Fe(e)];case 6:return[2];case 7:return[4,Le(e)];case 8:return r.sent(),[2]}}))}))},qe=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r;return v(this,(function(a){switch(a.label){case 0:return t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r=n.networks.map((function(e){return"> ".concat(e.name)})),[4,mt(r,"Please select a default network")];case 1:return[2,a.sent().slice(2)]}}))}))},ze=function(e,t){for(var n=p.resolve(e,"network.json"),r=JSON.parse(d.readFileSync(n,"utf8")),a=0;a<r.networks.length;a++){var s=r.networks[a];if(s.name===t)return L(s.chainId.toString())}return"unknown"},Re=function(e,t){for(var n=p.resolve(e,"network.json"),r=JSON.parse(d.readFileSync(n,"utf8")),a=0;a<r.networks.length;a++){var s=r.networks[a];if(s.name===t)return s}return null},Ee=function(e,t,n){var r=ie(e,t);if("PK"===r.account_type)return r.data[n].ciphertexts.address;var a=r.default_network,s=ze(e,a);return"solana"===s?r.data[n].ciphertexts.solana.address:"evm"===s?r.data[n].ciphertexts.evm.address:null},Je=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l,f,h,m;return v(this,(function(g){for(r=p.resolve(e,"network.json"),a=JSON.parse(d.readFileSync(r,"utf8")),s=a.networks,o=s.length,c=ie(e,t),u=c.default_network,i=ze(e,u),l=0;l<o;l++)f=s[l],h=ze(e,f.name),"PK"===c.account_type&&i!==h||(m=void 0,m="PK"===c.account_type?c.data[n].ciphertexts.address:"evm"===h?c.data[n].ciphertexts.evm.address:c.data[n].ciphertexts.solana.address,f.name===u?console.log("● ".concat(m," [").concat(f.name,"]")):console.log("○ ".concat(m," [").concat(f.name,"]")));return[2]}))}))},Ue=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l,f,m,g,b,w,y,k,S,x;return v(this,(function(v){switch(v.label){case 0:for(r=p.resolve(e,"network.json"),a=JSON.parse(d.readFileSync(r,"utf8")),s=a.networks,o=s.length,c=ie(e,t),u=["> Back",new h.default.Separator("----------------------------------")],i=c.default_network,l="",n||(l=c.ciphertexts.address),f=[],m=ze(e,i),g=0;g<o;g++)b=s[g],w=ze(e,b.name),"PK"===c.account_type&&m!==w||(b.name===i?n?u.push("● ".concat(b.name)):u.push("● ".concat(l," [").concat(b.name,"]")):n?u.push("○ ".concat(b.name)):u.push("○ ".concat(l," [").concat(b.name,"]")),f.push(b.name));return[4,mt(u)];case 1:return"> Back"===(y=v.sent())||(k=u.indexOf(y),c.default_network=f[k-2],le(e,t,c),n||(S=c.default_network,x=Re(e,S),console.log(Se.green(" Address No: #0\n Network: ".concat(S,"\n ").concat(x.nativeCurrency.symbol," Balance: 0"))))),[2]}}))}))},Ke=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c;return v(this,(function(i){switch(i.label){case 0:return r=Re(t,n),a=r.rpcUrl,s=r.nativeCurrency.decimals,"solana"!==L(r.chainId.toString())?[3,2]:[4,k(e,a)];case 1:return o=i.sent(),[3,4];case 2:return[4,y(e,a)];case 3:o=i.sent(),i.label=4;case 4:return o.status&&(c=new u.BigNumber(o.output.toString()),o.output=c.dividedBy(Math.pow(10,s)).toFixed(4,u.BigNumber.ROUND_FLOOR)),T(r.chainId.toString(),[e],["0"]),[2,o]}}))}))},Me=function(e,t,n){var r=ie(e,t);if("PK"===r.account_type)return r.default_network;for(var a=0;a<r.data.length;a++)if(r.data[a].ciphertexts.solana.address===n||r.data[a].ciphertexts.evm.address===n)return"default_network"in r.data[a]?r.data[a].default_network:r.default_network;return null},De=function(e){for(var t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")).networks,r=n.length,a=[],s=0;s<r;s++)"evm"===L(n[s].chainId.toString())&&a.push(n[s].name);return a},Ge=function(e){var t=p.resolve(e,"network.json");return JSON.parse(d.readFileSync(t,"utf8")).status},We=require("chalk"),$e=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a;return v(this,(function(s){return n=p.join(e,"assets.json"),Ft(n)?(r=d.readFileSync(n).toString(),a=JSON.parse(r),t in a?[2,a[t]]:[2,[]]):[2,[]]}))}))},He=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s;return v(this,(function(o){switch(o.label){case 0:return[4,$e(e,t)];case 1:for(r=o.sent(),a=[],s=0;s<r.length;s++)r[s].symbol.toLocaleLowerCase()===n.toLocaleLowerCase()&&a.push(r[s]);return[2,a]}}))}))},Ze=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u;return v(this,(function(i){switch(i.label){case 0:return r=Re(e,t),a=L(r.chainId.toString()),[4,$e(e,r.chainId.toString())];case 1:return(s=i.sent())?[4,Qe(n,s,r.rpcUrl,a,r.chainId.toString())]:(console.log(We.red("No asset found")),[2]);case 2:for(o=i.sent(),c=1,u=0;u<o.length;u++)"0"!==o[u].balance&&"0.0000"!==o[u].balance&&(console.log(We.green("".concat(c,". ").concat(o[u].symbol," Balance: ").concat(o[u].balance))),c+=1);return 1===c&&console.log(We.red("No asset found")),[2]}}))}))},Ve=function(e,t,n,r,a,s,o){return g(void 0,void 0,void 0,(function(){var c,u,i,l;return v(this,(function(f){for(c=p.join(e,"assets.json"),u={},Ft(c)&&(i=d.readFileSync(c).toString(),u=JSON.parse(i)),void 0===u[t]&&(u[t]=[]),l=0;l<u[t].length;l++)if(u[t][l].address.toLocaleLowerCase()===n.toLocaleLowerCase()||u[t][l].symbol.toLocaleLowerCase()===r.toLocaleLowerCase())return u[t][l]={address:n,symbol:r,name:a,decimals:s,display_decimals:o},d.writeFileSync(c,JSON.stringify(u,null,4)),[2];return u[t].push({address:n,symbol:r,name:a,decimals:s,display_decimals:o}),d.writeFileSync(c,JSON.stringify(u,null,4)),[2]}))}))},Xe=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l,f,h,m,g;return v(this,(function(v){switch(v.label){case 0:for(t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r=[],a=n.networks,s=0;s<a.length;s++)r.push("".concat(s+1,". ").concat(a[s].name));return[4,mt(r)];case 1:return o=v.sent(),c=o.split(".")[1].trim(),u=ze(e,c),i=Re(e,c),[4,rt("Enter contract address",ht)];case 2:return l=v.sent(),"evm"!==u?[3,4]:(b=l).startsWith("0x")&&42===b.length?[4,S(l,i.rpcUrl)]:(console.log(We.red("evm address format error")),[2]);case 3:return f=v.sent(),[3,6];case 4:return function(e){return/^[A-HJ-NP-Za-km-z1-9]*$/.test(e)}(l)?[4,x(l,i.rpcUrl)]:(console.log(We.red("solana address format error")),[2]);case 5:f=v.sent(),v.label=6;case 6:return f.status?f.output.name?[3,8]:(h=f.output,[4,rt("Please input token name")]):(console.log(We.red(f.output)),[2]);case 7:h.name=v.sent(),v.label=8;case 8:return f.output.symbol?[3,10]:(m=f.output,[4,rt("Please input token symbol")]);case 9:m.symbol=v.sent(),v.label=10;case 10:return console.log(We.green("Token ".concat(f.output.symbol,"(").concat(f.output.name,") loaded successfully."))),[4,rt("Enter decimals for display",ut)];case 11:return g=v.sent(),g=parseInt(g),[4,Ve(e,i.chainId.toString(),l,f.output.symbol,f.output.name,f.output.decimals,g)];case 12:return v.sent(),[2]}var b}))}))},Qe=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,i,l,d,p,f,h;return v(this,(function(m){switch(m.label){case 0:for(s=t.length,o=[],l=0;l<s;l++)d=t[l],"evm"===r?o.push(N(e,d.address,n)):"solana"===r&&o.push(P(e,d.address,n));return[4,Promise.all(o)];case 1:for(c=m.sent(),i=[],l=0;l<s;l++){if(d=t[l],p=d.decimals,!c[l].status)return console.log(We.red(c[l].output)),[2,null];f=new u.BigNumber(c[l].output),h=f.dividedBy(Math.pow(10,p)).toFixed(4,u.BigNumber.ROUND_FLOOR),i.push({address:d.address,symbol:d.symbol,balance:h}),T(a,[e],[d.address])}return T(a,[e],["0"]),[2,i]}}))}))},Ye=function(e,t,n,r,a,s,o){return g(void 0,void 0,void 0,(function(){var c,i,l,d,p,f,h,m,g;return v(this,(function(v){switch(v.label){case 0:return c=n.length,i=Re(e,a),l=L(i.chainId.toString()),d="evm"===l,s?[4,F(t,"0",i.chainId.toString(),r,d)]:[3,2];case 1:v.sent(),v.label=2;case 2:if(!o)return[3,6];p=_e(e,a),f=0,v.label=3;case 3:return f<c?(h=n[f],m=h.address,p.includes(m)?[4,F(t,m,i.chainId.toString(),r,d)]:[3,5]):[3,6];case 4:v.sent(),v.label=5;case 5:return f++,[3,3];case 6:return g=function(e,t,n,r){var a={};if(!(e in b))return a;n.unshift({address:"0",name:r.nativeCurrency.name,symbol:r.nativeCurrency.symbol,decimals:r.nativeCurrency.decimals,display_decimals:4});for(var s=t.length,o=0;o<s;o++){var c=t[o];if(c)for(var i=0;i<n.length;i++){var l=n[i],d="0";b[e][l.address]&&(c in b[e][l.address]&&(d=new u.BigNumber(b[e][l.address][c]).dividedBy(Math.pow(10,l.decimals)).toFixed(l.display_decimals||4,u.BigNumber.ROUND_FLOOR)),a[c]||(a[c]={}),a[c][l.symbol]=d)}}return a}(i.chainId.toString(),t,n,i),[2,g]}}))}))},et=require("chalk"),tt=process.env.HOME||process.env.USERPROFILE,nt="".concat(tt,"/.wative"),rt=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(this,(function(r){switch(r.label){case 0:return n=[{name:"inputText",type:"input",message:"".concat(e,":"),validate:t}],[4,h.default.prompt(n)];case 1:return[2,r.sent().inputText.trim().toString()]}}))}))},at=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r;return v(this,(function(a){switch(a.label){case 0:t=0,a.label=1;case 1:return t<5?[4,st(e,"Input start address or index")]:[3,5];case 2:return(n=a.sent())?[4,st(e,"Input end address or index")]:(console.log(et.red("Invalid start account index")),[2,null]);case 3:return(r=a.sent())?n>r?(console.log(et.red("Invalid address range")),[3,4]):[2,{from:n,to:r}]:(console.log(et.red("Invalid end account index")),[2,null]);case 4:return t++,[3,1];case 5:return[2,null]}}))}))},st=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:if(n=e.data,0===(r=n.length))return[2,null];for(a=[],s=[],c=0;c<r;c++)a.push(n[c].ciphertexts.evm.address.toLocaleLowerCase()),s.push(n[c].ciphertexts.solana.address.toLocaleLowerCase());o=r-1,c=0,l.label=1;case 1:return c<5?[4,rt(t,ft)]:[3,4];case 2:if(u=l.sent(),"unknown"===(i=At(u)))return Number(u)>o?(console.log(et.red("Invalid account index")),[3,3]):[2,Number(u)];if("evm"===i&&-1!==a.indexOf(u.toLocaleLowerCase()))return[2,a.indexOf(u.toLocaleLowerCase())];if("solana"===i&&-1!==s.indexOf(u.toLocaleLowerCase()))return[2,s.indexOf(u.toLocaleLowerCase())];l.label=3;case 3:return c++,[3,1];case 4:return[2,null]}}))}))},ot=function(e){return""===e||((e=e.replace(/\s+/g," ").trim()).length>40?"Tag length should be less than 10":!1!==/^[0-9a-zA-Z\s]*$/g.test(e)||"Tag should be alphanumeric")},ct=function(e){return!(e.length<6)||"Address length should be greater than 6"},ut=function(e){return!isNaN(Number(e))||"Value should be a number"},it=function(e){return!(isNaN(Number(e))||Number(e)>1e3)||"Value should be a number"},lt=function(e){var t=(e=e.replace(/\s+/g," ")).split(/\s+/g);if(12!==t.length)return"Passphrase should be equal to 12 words";for(var n=0;n<t.length;n++)if(!1===C.includes(t[n]))return"Passphrase word should be valid";return!0},dt=function(e){var t=Number(e);return isNaN(t)?"Amount should be a number":!(t>2e3)||"Amount should be less than 2000"},pt=function(e){var t=Number(e);return!isNaN(t)||"Last account no should be a number"},ft=function(e){return!1===isNaN(Number(e))||ht(e)},ht=function(e){return"unknown"!=At(e)||"Address should be valid"},mt=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r;return v(this,(function(a){switch(a.label){case 0:return r=[{type:"list",name:"inputText",message:t||"Choose an option",default:n,choices:e,pageSize:30,filter:function(e){return e}}],[4,h.default.prompt(r)];case 1:return[2,a.sent().inputText.toString()]}}))}))},gt=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r;return v(this,(function(a){switch(a.label){case 0:return r=[{type:"checkbox",name:"inputText",message:t||"Choose an option",default:n,choices:e,pageSize:30,filter:function(e){return e}}],[4,h.default.prompt(r)];case 1:return[2,a.sent().inputText]}}))}))},vt=function(e,t){return void 0===t&&(t=!1),g(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(a){switch(a.label){case 0:n=0,a.label=1;case 1:return n<5?[4,rt(e)]:[3,4];case 2:if(""===(r=a.sent())&&t)return[2,null];if(/^[0-9]*$/g.test(r))return[2,r];a.label=3;case 3:return n++,[3,1];case 4:return[2,null]}}))}))},bt=function(e,t,n){return void 0===n&&(n=!1),g(void 0,void 0,void 0,(function(){var r,a,s,o;return v(this,(function(c){switch(c.label){case 0:r=0,c.label=1;case 1:return r<5?[4,rt(t)]:[3,7];case 2:a=c.sent(),c.label=3;case 3:return c.trys.push([3,5,,6]),""===a&&n?[2,null]:"solana"===L(e.toString())?[2,a]:[4,w(a)];case 4:return(s=c.sent()).status?s.output.toString()===e.toString()?[2,a]:(console.log(et.red("Rpc url not match chain id")),[3,6]):(console.log(et.red(s.output)),[3,6]);case 5:return o=c.sent(),console.log(et.red(o.message)),[3,6];case 6:return r++,[3,1];case 7:return[2,null]}}))}))},wt=function(e){return g(void 0,void 0,void 0,(function(){var t,n;return v(this,(function(r){switch(r.label){case 0:t=0,r.label=1;case 1:return t<5?[4,rt(e)]:[3,4];case 2:if(""===(n=r.sent()))return[2,null];if(""!==n&&42!==n.length)return console.log(et.red("Multicall address length must be 42")),[3,3];r.label=3;case 3:return t++,[3,1];case 4:return[2,null]}}))}))},yt=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r;return v(this,(function(a){switch(a.label){case 0:t=/^[A-Za-z][0-9a-zA-Z]*$/g,n=0,a.label=1;case 1:return n<5?[4,rt(e)]:[3,4];case 2:if(""===(r=a.sent()))return[2,null];if(t.test(r))return[2,r];a.label=3;case 3:return n++,[3,1];case 4:return[2,null]}}))}))},kt=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r;return v(this,(function(a){switch(a.label){case 0:t=/^#[0-9A_F]{6}$/g,n=0,a.label=1;case 1:return n<5?[4,rt(e)]:[3,4];case 2:if(""===(r=a.sent()))return[2,null];if(t.test(r))return[2,r];a.label=3;case 3:return n++,[3,1];case 4:return[2,null]}}))}))},St=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a;return v(this,(function(s){switch(s.label){case 0:n=/^(?![-_]).*?[a-zA-Z0-9_-]{4,20}(?<![-_])$/g,r=0,s.label=1;case 1:return r<5?[4,rt(e)]:[3,4];case 2:if(a=(a=s.sent()).trim(),n.test(a))return t.includes(a)?(console.log(et.red("Account label already exists")),[3,3]):[2,a];s.label=3;case 3:return r++,[3,1];case 4:return[2,null]}}))}))},xt=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r;return v(this,(function(a){switch(a.label){case 0:return t=0,n=[{name:"password",type:"password",mask:"#",message:"".concat(e,":"),validate:function(e){return t>=3||(n=e,r="Password must contain at least: \n",a=!0,s=" ",o=et.green("✔"),c=et.red("✖"),n.length>=8?r+=s+o+" 8 characters\n":(r+=s+c+" 8 characters\n",a=!1),/[0-9]/.test(n)?r+=s+o+" One numerical character\n":(r+=s+c+" One numerical character\n",a=!1),/[A-Z]/.test(n)?r+=s+o+" One uppercase letter\n":(r+=s+c+" One uppercase letter\n",a=!1),/[!@#$%]/.test(n)?r+=s+o+" One sepcial character (i.e. !@#$%)\n":(r+=s+c+" One sepcial character (i.e. !@#$%)\n",a=!1),!!a||r);var n,r,a,s,o,c}}],[4,h.default.prompt(n)];case 1:return r=a.sent().password,t>=3&&(r=null),[2,r]}}))}))},Nt=function(e){return g(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return t=[{name:"confirm",type:"confirm",message:"".concat(e)}],[4,h.default.prompt(t)];case 1:return[2,n.sent().confirm]}}))}))},Pt=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(this,(function(r){switch(r.label){case 0:return n=[{name:"editor",type:"editor",message:"".concat(e),validate:t}],[4,h.default.prompt(n)];case 1:return[2,r.sent().editor.trim().toString()]}}))}))},Bt=function(e){return!!/^0x[0-9a-fA-F]*$/g.test(e.trim())},Ot=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a;return v(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),[4,e.apply(void 0,t)];case 1:return r=s.sent(),n={status:!0,output:r},[3,3];case 2:return a=s.sent(),n={status:!1,output:a.toString()},[3,3];case 3:return[2,n]}}))}))},At=function(e){return e.startsWith("0x")&&42===e.length?"evm":/^[A-HJ-NP-Za-km-z1-9]*$/.test(e)&&e.length<=44&&e.length>=32?"solana":"unknown"},Ft=function(e){return e=e.trim(),d.existsSync(e)},Tt=function(e){return new Promise((function(t){return setTimeout(t,e)}))},Ct=function(e,t){return void 0===t&&(t=!0),t?e:e.startsWith("0x")?e.slice(0,8)+"..."+e.slice(-6):e.slice(0,6)+"..."+e.slice(-6)},_t=function(e,t,n,r,a,s,o,c,u){return g(void 0,void 0,void 0,(function(){var i,l,d,p,f,m,g,b,w,y,k,S,x,N,P,B,O,A,F,T,C,_,j,I,L,q;return v(this,(function(v){switch(v.label){case 0:i=[{type:"list",name:"inputText",message:c||"Choose an option",choices:e,pageSize:30,default:u,filter:function(e){return e}}],l=h.default.prompt(i),d=0,p=0,v.label=1;case 1:return l.ui.activePrompt.answers[l.ui.activePrompt.opt.name]?[3,4]:[4,Tt(2e3)];case 2:if(v.sent(),f===l.ui.activePrompt.selected)return[3,1];if(d===l.ui.activePrompt.selected?p+=1:(p=0,d=l.ui.activePrompt.selected),p<5)return[3,1];for(p=0,m=l.ui.activePrompt.opt.pageSize,g=[],A=0;A<l.ui.activePrompt.opt.choices.choices.length;A++)l.ui.activePrompt.opt.choices.choices[A].name?(b=null,t?b=(b=/0x[0-9a-fA-f]{40}/.exec(l.ui.activePrompt.opt.choices.choices[A].name))?b[0]:null:(w=b=/\s+([0-9a-zA-Z]*)/.exec(l.ui.activePrompt.opt.choices.choices[A].name),"Back"===(b=w?w[1]:null)&&(b=null)),b?g.push(b):g.push(null)):g.push(null);return g=g.concat(g),y=void 0,k=void 0,d<m/2?g.length/2<=m?(y=0,k=g.length/2):(y=0,k=m):g.length/2<=m?(y=0,k=g.length/2):(y=d-m/2+1,k=d+m/2+1),S=g.slice(y,k),[4,Ye(n,S,r,a.rpcUrl,a.name,s,o)];case 3:for(_ in x=v.sent(),N={},x)for(I in x[_])P=x[_][I],B=P.length+1,N[I]?N[I]<B&&(N[I]=B):N[I]=B;for(O=a.nativeCurrency.symbol,A=y;A<k;A++)if(F=A>=g.length/2?A-g.length/2:A,(T=l.ui.activePrompt.opt.choices.choices[F]).name){for(I in C=T.name,_=g[A],j="",x[_])(s||I!==O)&&(o||I===O)&&(C.includes(I)||(j+="".concat(I,":").concat(x[_][I].padEnd(N[I])," ")));(L=C.split("(")).length>1?(q=L[1],l.ui.activePrompt.opt.choices.choices[F].name=L[0]+" ".concat(j)+"(".concat(q)):l.ui.activePrompt.opt.choices.choices[F].name=L[0]+" ".concat(j)}return l.ui.activePrompt.screen.render(""),l.ui.activePrompt.render(),f=d,[3,1];case 4:return[2,l.ui.activePrompt.answers[l.ui.activePrompt.opt.name]]}}))}))};require("wative-core").WativeCore;var jt=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(this,(function(r){switch(r.label){case 0:return[4,mt(["> System & Settings","> Accounts","> Tools","> Exit"])];case 1:switch(n=r.sent(),n){case"> System & Settings":return[3,2];case"> Accounts":return[3,4];case"> Tools":return[3,6];case"> Exit":return[3,8]}return[3,9];case 2:return[4,Le(e)];case 3:case 5:case 7:return r.sent(),[3,9];case 4:return[4,ke(e,t)];case 6:return[4,Q(e,t)];case 8:return[2];case 9:return[4,jt(e,t)];case 10:return r.sent(),[2]}}))}))},It=require("wative-core").WativeCore,Lt=require("../package.json");require("events").EventEmitter.defaultMaxListeners=0;process.on("unhandledRejection",(function(e,t){console.log("Unhandled Rejection at:",t,"reason:",e)})),g(void 0,void 0,void 0,(function(){var e,t,n,r;return v(this,(function(a){switch(a.label){case 0:return console.log("version:",Lt.version),console.log(et.green(f.textSync("Wative",{font:"Ghost",horizontalLayout:"default",verticalLayout:"default"}))),[4,g(void 0,void 0,void 0,(function(){var e;return v(this,(function(t){switch(t.label){case 0:return[4,rt("Keystore storage located in (default: ".concat(nt,")"))];case 1:return(e=t.sent())||(e=nt),e=(e=e.trim()).replace("~",tt),d.existsSync(e)||d.mkdirSync(e,{recursive:!0}),[2,e]}}))}))];case 1:return e=a.sent(),[4,xe(e)];case 2:return a.sent(),function(e){var t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8"));n.status||(n.status={fullAddr:!0,gasToken:!1,extendedToken:!1}),n.showTokens||(n.showTokens={});for(var r=n.accounts.length,a=0;a<r;a++){var s=n.accounts[r-1-a],o=p.resolve(e,"accounts/".concat(s,".json"));d.existsSync(o)||n.accounts.splice(r-1-a,1)}d.writeFileSync(t,JSON.stringify(n,null,4));var c=n.accounts;for(a=0;a<c.length;a++){o=p.resolve(e,"accounts/".concat(c[a],".json"));var u=JSON.parse(d.readFileSync(o,"utf8"));"PP"!==u.account_type&&("data"in u||(u.data=[{ciphertexts:u.ciphertexts}],delete u.ciphertexts,d.writeFileSync(o,JSON.stringify(u,null,4))))}}(e),t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r=new It(e,n.accounts,null,!0),[4,jt(e,r)];case 3:return a.sent(),[2]}}))})).then((function(){return process.exit(0)})).catch((function(e){console.log(e.message),process.exit(1)}))}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wative",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.24",
|
|
4
4
|
"description": "An agile keystore management toolkit",
|
|
5
5
|
"main": "index.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -26,7 +26,6 @@
|
|
|
26
26
|
},
|
|
27
27
|
"homepage": "https://gitlab.com",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@adobe/inquirer-table-checkbox": "2.0.1",
|
|
30
29
|
"@coral-xyz/anchor": "0.30.1",
|
|
31
30
|
"@metamask/bip39": "4.0.0",
|
|
32
31
|
"@metaplex-foundation/js": "0.20.1",
|
|
@@ -60,5 +59,34 @@
|
|
|
60
59
|
"test": "test"
|
|
61
60
|
},
|
|
62
61
|
"keywords": [],
|
|
63
|
-
"devDependencies": {
|
|
62
|
+
"devDependencies": {
|
|
63
|
+
"@adobe/inquirer-table-checkbox": "2.0.1",
|
|
64
|
+
"@coral-xyz/anchor": "0.30.1",
|
|
65
|
+
"@metamask/bip39": "4.0.0",
|
|
66
|
+
"@metaplex-foundation/js": "0.20.1",
|
|
67
|
+
"@rollup/plugin-commonjs": "21.0.1",
|
|
68
|
+
"@solana/web3.js": "1.91.8",
|
|
69
|
+
"@types/figlet": "1.5.8",
|
|
70
|
+
"@types/inquirer": "9.0.7",
|
|
71
|
+
"@types/node-fetch": "2.6.11",
|
|
72
|
+
"bip39": "3.1.0",
|
|
73
|
+
"cli-progress": "3.12.0",
|
|
74
|
+
"crypto-js": "4.2.0",
|
|
75
|
+
"dotenv": "16.4.5",
|
|
76
|
+
"ethereumjs-wallet": "1.0.2",
|
|
77
|
+
"ethers-multicall": "0.2.3",
|
|
78
|
+
"figlet": "1.7.0",
|
|
79
|
+
"inquirer": "8.0.0",
|
|
80
|
+
"inquirer-table-input": "0.0.3",
|
|
81
|
+
"inquirer-tree-prompt": "1.1.2",
|
|
82
|
+
"keythereum": "2.0.0",
|
|
83
|
+
"micro-ed25519-hdkey": "0.1.2",
|
|
84
|
+
"node-fetch": "2.6.0",
|
|
85
|
+
"rollup": "2.79.1",
|
|
86
|
+
"rollup-plugin-terser": "7.0.2",
|
|
87
|
+
"rollup-plugin-typescript2": "0.31.2",
|
|
88
|
+
"uuid": "9.0.0",
|
|
89
|
+
"wative-core": "1.0.15",
|
|
90
|
+
"web3": "1.7.3"
|
|
91
|
+
}
|
|
64
92
|
}
|
package/src/tools.ts
CHANGED
|
@@ -195,6 +195,7 @@ export const sendSolanaRawTransaction = async (chain_id: string, chain_rpc_url:
|
|
|
195
195
|
return;
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
+
console.log("simulate_result: ", simulate_result);
|
|
198
199
|
if (!simulate_result.output || !simulate_result.output.value || simulate_result.output.value.unitsConsumed === 0 || simulate_result.output.value.err) {
|
|
199
200
|
console.log(chalk.red("Simulate error"));
|
|
200
201
|
return;
|