wative 1.0.1 → 1.0.4
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 +1 -1
- package/src/utils.ts +1 -1
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 u,SystemProgram as i}from"@solana/web3.js";import{getMint as l,getAssociatedTokenAddressSync as d,createTransferInstruction as p,createAssociatedTokenAccountInstruction as h}from"@solana/spl-token";import{Metaplex as m}from"@metaplex-foundation/js";import{BigNumber as f}from"bignumber.js";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 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 a(e),[4,ee(t.eth.getChainId,[])];case 1:return[2,n.sent()]}}))}))},b=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 a(t),[4,ee(n.eth.getBalance,[e])];case 1:return[2,r.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 s(t),[4,ee(n.getBalance.bind(n),[new o(e)])];case 1:return[2,r.sent()]}}))}))},k=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,s,o,c;return v(this,(function(u){switch(u.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,ee(r.methods.symbol().call.bind(r),[])];case 1:return s=u.sent(),[4,ee(r.methods.name().call.bind(r),[])];case 2:return o=u.sent(),[4,ee(r.methods.decimals().call.bind(r),[])];case 3:return c=u.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"}]}}))}))},S=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,c,u,i,d;return v(this,(function(p){switch(p.label){case 0:return n=new s(t),r=m.make(n),a=new o(e),[4,ee(l,[n,a])];case 1:if(c=p.sent(),u={status:!0,output:{symbol:"",name:"",decimals:""}},!c.status)return[2,{status:!1,output:"Failed to get token decimals"}];u.output.decimals=c.output.decimals,p.label=2;case 2:return p.trys.push([2,6,,7]),i=r.nfts().pdas().metadata({mint:a}),[4,n.getAccountInfo(i)];case 3:return p.sent()?[4,r.nfts().findByMint({mintAddress:a})]:[3,5];case 4:d=p.sent(),u.output.name=d.name,u.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,u]}}))}))},x=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,s,o;return v(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,ee(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"}]}}))}))},N=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(n),a=d(new o(t),new o(e)),[4,ee(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"}]}}))}))},O=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r;return v(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])]}))}))},A=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(e),[4,ee(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"}]}}))}))},P=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(t),[4,ee(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"}]}}))}))},B=["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"],F=[{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}}],_=["901","902","903"],C=function(e){return _.includes(e)?9:18},j=function(e){return _.includes(e)?"solana":"evm"},T=require("chalk"),L=process.env.HOME||process.env.USERPROFILE,z="".concat(L,"/.wative"),q=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(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()]}}))}))},U=function(e){return""===e||((e=e.replace(/\s+/g," ").trim()).length>10?"Tag length should be less than 10":!1!==/^[0-9a-zA-Z\s]*$/g.test(e)||"Tag should be alphanumeric")},I=function(e){return!isNaN(Number(e))||"Value should be a number"},R=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===B.includes(t[n]))return"Passphrase word should be valid";return!0},M=function(e){var t=Number(e);return isNaN(t)?"Amount should be a number":!(t>2e3)||"Amount should be less than 2000"},J=function(e){var t=Number(e);return!isNaN(t)||"Last account no should be a number"},E=function(e){return"unknown"!=te(e)||"Address should be valid"},G=function(e,t,n){return g(void 0,void 0,void 0,(function(){var a;return v(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()]}}))}))},D=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,q(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]}}))}))},$=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,q(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"===j(e)?[2,a]:[4,w(a)];case 4:return(s=c.sent()).status?s.output.toString()===e.toString()?[2,a]:(console.log(T.red("Rpc url not match chain id")),[3,6]):(console.log(T.red(s.output)),[3,6]);case 5:return o=c.sent(),console.log(T.red(o.message)),[3,6];case 6:return r++,[3,1];case 7:return[2,null]}}))}))},H=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,q(e)]:[3,4];case 2:if(""===(n=r.sent()))return[2,null];if(""!==n&&42!==n.length)return console.log(T.red("Multicall address length must be 42")),[3,3];r.label=3;case 3:return t++,[3,1];case 4:return[2,null]}}))}))},K=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,q(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]}}))}))},W=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,q(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]}}))}))},Z=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]{2,20}$/g,r=0,s.label=1;case 1:return r<5?[4,q(e)]:[3,4];case 2:if(a=(a=s.sent()).trim(),n.test(a))return t.includes(a)?(console.log(T.red("Account label already exists")),[3,3]):[2,a.toLocaleLowerCase()];s.label=3;case 3:return r++,[3,1];case 4:return[2,null]}}))}))},X=function(e){var t="Password must contain at least: \n",n=!0,r=" ",a=T.green("✔"),s=T.red("✖");return e.length>=8?t+=r+a+" 8 characters\n":(t+=r+s+" 8 characters\n",n=!1),/[0-9]/.test(e)?t+=r+a+" One numerical character\n":(t+=r+s+" One numerical character\n",n=!1),/[A-Z]/.test(e)?t+=r+a+" One uppercase letter\n":(t+=r+s+" One uppercase letter\n",n=!1),/[!@#$%]/.test(e)?t+=r+a+" One sepcial character (i.e. !@#$%)\n":(t+=r+s+" One sepcial character (i.e. !@#$%)\n",n=!1),!!n||t},V=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:"password",type:"password",mask:"#",message:"".concat(e,":"),validate:X}],[4,r.prompt(t)];case 1:return[2,n.sent().password]}}))}))},Q=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(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()]}}))}))},Y=function(e){return!!/^0x[0-9a-fA-F]*$/g.test(e)},ee=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]}}))}))},te=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"},ne=function(t){return t=t.trim(),e.existsSync(t)},re=require("chalk"),ae=function(n,r){return g(void 0,void 0,void 0,(function(){var a,s,o;return v(this,(function(c){return a=t.join(n,"assets.json"),ne(a)?(s=e.readFileSync(a).toString(),o=JSON.parse(s),r in o?[2,o[r]]:[2,[]]):[2,[]]}))}))},se=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,ae(e,t)];case 1:for(r=o.sent(),a=[],s=0;s<r.length;s++)r[s].symbol===n&&a.push(r[s]);return[2,a]}}))}))},oe=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=tt(e,t),a=nt(e,t),[4,ae(e,a.chainId.toString())];case 1:return(s=i.sent())?[4,le(n,s,a.rpcUrl,r)]:(console.log(re.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(re.green("".concat(c,". ").concat(o[u].symbol," Balance: ").concat(o[u].balance))),c+=1);return 1===c&&console.log(re.red("No asset found")),[2]}}))}))},ce=function(n,r,a,s,o,c){return g(void 0,void 0,void 0,(function(){var u,i,l;return v(this,(function(d){return u=t.join(n,"assets.json"),i={},ne(u)&&(l=e.readFileSync(u).toString(),i=JSON.parse(l)),void 0===i[r]&&(i[r]=[]),i[r].push({address:a,symbol:s,name:o,decimals:c}),e.writeFileSync(u,JSON.stringify(i,null,4)),[2]}))}))},ue=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,q("Please input Token address",E)];case 1:return n=u.sent(),r=tt(e,t),a=nt(e,t),"evm"!==r?[3,3]:(i=n).startsWith("0x")&&42===i.length?[4,k(n,a.rpcUrl)]:(console.log(re.red("evm address format error")),[2]);case 2:return s=u.sent(),[3,5];case 3:return function(e){return/^[A-HJ-NP-Za-km-z1-9]*$/.test(e)}(n)?[4,S(n,a.rpcUrl)]:(console.log(re.red("solana address format error")),[2]);case 4:s=u.sent(),u.label=5;case 5:return s.status?s.output.name?[3,7]:(o=s.output,[4,q("Please input token name")]):(console.log(re.red(s.output)),[2]);case 6:o.name=u.sent(),u.label=7;case 7:return s.output.symbol?[3,9]:(c=s.output,[4,q("Please input token symbol")]);case 8:c.symbol=u.sent(),u.label=9;case 9:return[4,ce(e,a.chainId.toString(),n,s.output.symbol,s.output.name,s.output.decimals)];case 10:return u.sent(),console.log(re.green("Asset added successfully")),[2]}var i}))}))},ie=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[4,G(["> Show Assets","> Add Asset","> Back"])];case 1:switch(r=a.sent(),r){case"> Show Assets":return[3,2];case"> Add Asset":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,oe(e,n,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,ue(e,n)];case 6:return[2];case 7:return[4,ie(e,t,n)];case 8:return a.sent(),[2]}}))}))},le=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(h){switch(h.label){case 0:for(a=t.length,s=[],u=0;u<a;u++)i=t[u],"evm"===r?s.push(x(e,i.address,n)):"solana"===r&&s.push(N(e,i.address,n));return[4,Promise.all(s)];case 1:for(o=h.sent(),c=[],u=0;u<a;u++){if(i=t[u],l=i.decimals,!o[u].status)return console.log(re.red(o[u].output)),[2,null];d=new f(o[u].output),p=d.dividedBy(Math.pow(10,l)).toFixed(4,f.ROUND_FLOOR),c.push({address:i.address,symbol:i.symbol,balance:p})}return[2,c]}}))}))},de=require("bn.js").BN,pe=require("ethereumjs-util").stripHexPrefix,he=require("bignumber.js").BigNumber;function me(e){return new de(pe(e.toString("hex")),16)}var fe=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 ge(e){return fe(e.toString(16))}var ve=function(){function e(e){this.query=new a(a.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=me(t.gasLimit),u=n,i=20,l=new de(19),d=new de(i),r=u.mul(l).div(d),a=ge(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 he(t.toString()).multipliedBy(1.3).toFixed(0)]}}))}))},e.prototype.addGasBuffer=function(e,t,n){void 0===n&&(n=1.3);var r=me(e),a=me(t).muln(.9),s=r.muln(n);return r.gt(a)?ge(r):s.lt(a)?ge(s):ge(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(fe(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}(),we=require("chalk");require("wative-core").WativeCore;var be=function(e){return g(void 0,void 0,void 0,(function(){var t,n,a,s,o,c,u,i,l,d;return v(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,G(t)];case 1:return n=p.sent(),1!==(a=t.indexOf(n))?[3,3]:(s=e,[4,q("from",E)]);case 2:s.from=p.sent(),p.label=3;case 3:return 2!==a?[3,5]:(o=e,[4,q("to",E)]);case 4:o.to=p.sent(),p.label=5;case 5:return 3!==a?[3,7]:(c=e,[4,q("nonce")]);case 6:c.nonce=p.sent(),p.label=7;case 7:return 4!==a?[3,9]:(u=e,[4,q("gasPrice")]);case 8:u.gasPrice=p.sent(),p.label=9;case 9:return 5!==a?[3,11]:(i=e,[4,Q("data")]);case 10:i.data=p.sent(),p.label=11;case 11:return 6!==a?[3,13]:(l=e,[4,q("value")]);case 12:l.value=p.sent(),p.label=13;case 13:return 7!==a?[3,15]:(d=e,[4,q("gas")]);case 14:d.gas=p.sent(),p.label=15;case 15:return 9===a?[2,e]:[4,be(e)];case 16:return p.sent(),[2]}}))}))},ye=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var s,o,c,u,i,l,d,p,h,m,w,y,k,S,x,N,O,A,P,B,F,_,C,j,T,L,z,U,R;return v(this,(function(M){switch(M.label){case 0:return[4,q("to",E)];case 1:return s=M.sent(),[4,(o=new ve(e)).getGasPrice()];case 2:return c=M.sent(),u=new f(c.toString()).dividedBy(1e9),i=u.toFixed(4,f.ROUND_FLOOR),[4,q("Gas price (".concat(i,"), agree or enter"))];case 3:return l=M.sent(),d=new f(d=l||i).multipliedBy(1e9).toFixed(0),[4,(J=s,D=e,g(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return e=new a(D),[4,ee(e.eth.getCode.bind(e),[J])];case 1:return(t=n.sent()).status?[2,{status:!0,output:t.output}]:[2,{status:!1,output:"Failed to get code"}]}}))})))];case 4:return(p=M.sent()).status?"0x"!==p.output?[3,10]:(h="0x",[4,b(n,e)]):(console.log(we.red(p.output)),[2]);case 5:return(w=M.sent()).status?(y=new f(w.output),k=new f(d),S=y.minus(k.multipliedBy(21e3)).toFixed(0,f.ROUND_FLOOR),x=new f(S).dividedBy(1e18).toFixed(4,f.ROUND_FLOOR),new f(x)<new f(0)?(console.log(we.red("Not enough balance")),[2]):(N=["> Input value","> Total Balance (".concat(x," ").concat(t,")")],[4,G(N)])):(console.log(we.red(w.output)),[2]);case 6:return O=M.sent(),0!==(A=N.indexOf(O))?[3,8]:[4,q("value",I)];case 7:return P=M.sent(),m=new f(P).multipliedBy(1e18).toFixed(0,f.ROUND_FLOOR),[3,9];case 8:1===A&&(m=S),M.label=9;case 9:return new f(m).isGreaterThan(new f(S))?(console.log(we.red("Not enough balance")),[2]):[3,13];case 10:return[4,Q("data",Y)];case 11:return h=M.sent(),[4,q("value",I)];case 12:m=M.sent(),M.label=13;case 13:return[4,o.getTransactionCount(n)];case 14:return B=M.sent(),[4,q("Nonce (".concat(B,"), agree or enter"))];case 15:return F=M.sent(),_=F||B.toString(),C={from:n,to:s,nonce:_,gasPrice:d,data:h,value:m},"0x"!==h?[3,16]:(C.gas="21000",[3,21]);case 16:j=C.gasPrice,delete C.gasPrice,M.label=17;case 17:return M.trys.push([17,19,,20]),T=C,L="gas",[4,o.estimateTxGas(C)];case 18:return T[L]=M.sent().toString(),[3,20];case 19:return z=M.sent(),console.log(we.red("Error: "+z)),[2];case 20:C.gasPrice=j,M.label=21;case 21:return[4,be(C)];case 22:return C=M.sent(),[4,r.account.signTransaction(n,C,e)];case 23:return(U=M.sent()).status?[4,r.account.sendSignedTransaction(n,U.output.rawTransaction,e)]:(console.log(we.red(U.output)),[2]);case 24:return(R=M.sent()).status?(console.log(we.green("Transaction hash: ".concat(R.output.transactionHash))),[2]):(console.log(we.red(R.output)),[2])}var J,D}))}))},ke=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,l,d,p,h,m,g,w,b,k,S,x,N,O,P,B,F,_;return v(this,(function(v){switch(v.label){case 0:return[4,q("to",E)];case 1:return a=v.sent(),(s=(new c).add(i.transfer({fromPubkey:new o(n),toPubkey:new o(a),lamports:1}))).add(u.setComputeUnitLimit({units:2e5})),s.add(u.setComputeUnitPrice({microLamports:1e3})),[4,r.account.simulateTransaction(n,e,s)];case 2:return(l=v.sent()).status?l.output&&l.output.value&&0!==l.output.value.unitsConsumed&&!l.output.value.err?(d=new f(l.output.value.unitsConsumed.toString()),[4,A(e)]):(console.log(we.red("Simulate error")),[2]):(console.log(we.red(l.output)),[2]);case 3:return(p=v.sent()).status?(h=new f(p.output.toString()),m=d.multipliedBy(h).toFixed(0,f.ROUND_CEIL),[4,y(n,e)]):(console.log(we.red(p.output)),[2]);case 4:return(g=v.sent()).status?(w=new f(g.output),b=w.minus(5e3).minus(m),k=new f(b).dividedBy(1e9).toFixed(4,f.ROUND_FLOOR),new f(k)<new f(0)?(console.log(we.red("Not enough balance")),[2]):(S=["> Input value","> Total Balance (".concat(k," ").concat(t,")")],[4,G(S)])):(console.log(we.red(g.output)),[2]);case 5:return x=v.sent(),N=S.indexOf(x),O="0",0!==N?[3,7]:[4,q("value",I)];case 6:return P=v.sent(),O=new f(P).multipliedBy(1e9).toFixed(0,f.ROUND_FLOOR),new f(O).isGreaterThan(new f(b))?(console.log(we.red("Not enough balance")),[2]):[3,8];case 7:1===N&&(O=b.toString()),v.label=8;case 8:return(B=new c).add(u.setComputeUnitLimit({units:Math.ceil(2*Number(d))})),B.add(u.setComputeUnitPrice({microLamports:Number(h)})),B.add(i.transfer({fromPubkey:new o(n),toPubkey:new o(a),lamports:Number(O)})),[4,r.account.signTransaction(n,B,e)];case 9:return(F=v.sent()).status?[4,r.account.sendSignedTransaction(n,F.output,e)]:(console.log(we.red(F.output)),[2]);case 10:return(_=v.sent()).status?(console.log(we.green("Transaction hash: ".concat(_.output))),[2]):(console.log(we.red(_.output)),[2])}}))}))},Se=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,u,i,l,d,p,h,m,g,w,b,y,S,N,A,P,B,F,_,C,j,T,L,z,U,R,M,J,D,$,H;return v(this,(function(v){switch(v.label){case 0:return[4,G(["> 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,q("token ticker")];case 3:return u=v.sent(),[4,se(e,n,u)];case 4:if(0===(i=v.sent()).length)return console.log(we.red("Token not found")),[2];l=[],d=0,v.label=5;case 5:return d<i.length?[4,x(r,i[d].address,t)]:[3,8];case 6:if(!(p=v.sent()).status)return console.log(we.red(p.output)),[2];if(h=new f(p.output),m=h.dividedBy(Math.pow(10,Number(i[d].decimals))).toFixed(4,f.ROUND_FLOOR),1===i.length)return l.push("> 1. ".concat(u," Balance: ").concat(m)),[3,8];l.push("> ".concat(d+1,". ").concat(u," Balance: ").concat(m,"(").concat(i[d].address,")")),l.push(i[d].address),v.label=7;case 7:return d++,[3,5];case 8:return[4,G(l)];case 9:return g=v.sent(),w=i[l.indexOf(g)],o=w.address,c=Number(w.decimals),[3,13];case 10:return[4,q("token contract address",E)];case 11:return o=v.sent(),[4,k(o,t)];case 12:return(b=v.sent()).status?(c=Number(b.output.decimals),[3,13]):(console.log(we.red(b.output)),[2]);case 13:return[4,q("Receipt",E)];case 14:return y=v.sent(),[4,q("Amount",I)];case 15:return S=v.sent(),[4,(N=new ve(t)).getGasPrice()];case 16:return A=v.sent(),P=new f(A.toString()).dividedBy(1e9),B=P.toFixed(4,f.ROUND_FLOOR),[4,q("Gas price (".concat(B,"), agree or enter"))];case 17:return F=v.sent(),_=new f(_=F||B).multipliedBy(1e9).toFixed(0),C=new f(S).multipliedBy(Math.pow(10,c)).toFixed(0),[4,O(y,C,t)];case 18:return j=v.sent(),[4,N.getTransactionCount(r)];case 19:return T=v.sent(),[4,q("Nonce (".concat(T,"), agree or enter"))];case 20:return L=v.sent(),z=L||T.toString(),U={from:r,to:o,nonce:z,gasPrice:_,data:j,value:"0"},"0x"!==j?[3,21]:(U.gas="21000",[3,26]);case 21:R=U.gasPrice,delete U.gasPrice,v.label=22;case 22:return v.trys.push([22,24,,25]),M=U,J="gas",[4,N.estimateTxGas(U)];case 23:return M[J]=v.sent().toString(),[3,25];case 24:return D=v.sent(),console.log(we.red("Failed to estimate gas, "+D.message)),[2];case 25:U.gasPrice=R,v.label=26;case 26:return[4,be(U)];case 27:return U=v.sent(),[4,a.account.signTransaction(r,U,t)];case 28:return($=v.sent()).status?[4,a.account.sendSignedTransaction(r,$.output.rawTransaction,t)]:(console.log(we.red($.output)),[2]);case 29:return(H=v.sent()).status?(console.log(we.green("Transaction hash: ".concat(H.output.transactionHash))),[2]):(console.log(we.red(H.output)),[2])}}))}))},xe=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,i,l,m,g,w,b,y,k,x,O,B,F,_,C,j,T,L,z,U,R,M,J,D,$,H,K,W;return v(this,(function(v){switch(v.label){case 0:return[4,G(["> 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,q("token ticker")];case 3:return m=v.sent(),[4,se(e,n,m)];case 4:if(0===(g=v.sent()).length)return console.log(we.red("Token not found")),[2];w=[],b=0,v.label=5;case 5:return b<g.length?[4,N(r,g[b].address,t)]:[3,8];case 6:if(!(y=v.sent()).status)return console.log(we.red(y.output)),[2];if(k=new f(y.output),x=k.dividedBy(Math.pow(10,Number(g[b].decimals))).toFixed(4,f.ROUND_FLOOR),1===g.length)return w.push("> 1. ".concat(m," Balance: ").concat(x)),[3,8];w.push("> ".concat(b+1,". ").concat(m," Balance: ").concat(x,"(").concat(g[b].address,")")),w.push(g[b].address),v.label=7;case 7:return b++,[3,5];case 8:return[4,G(w)];case 9:return O=v.sent(),B=g[w.indexOf(O)],i=B.address,l=Number(B.decimals),[3,13];case 10:return[4,q("token contract address",E)];case 11:return i=v.sent(),[4,S(i,t)];case 12:return(F=v.sent()).status?(l=Number(F.output.decimals),[3,13]):(console.log(we.red(F.output)),[2]);case 13:return[4,q("Receipt",E)];case 14:return _=v.sent(),[4,q("Amount",I)];case 15:return C=v.sent(),j=new f(C).multipliedBy(Math.pow(10,l)).toFixed(0),T=d(new o(i),new o(r),!0),[4,P(T.toString(),t)];case 16:return(L=v.sent()).status?L.output&&L.output.owner.toString()!==o.default?(z=d(new o(i),new o(_),!1),[4,P(z.toString(),t)]):(console.log(we.red("From token account not found")),[2]):(console.log(we.red(L.output)),[2]);case 17:return(U=v.sent()).status?(R=new c,M=new c,U.output&&U.output.owner.toString()!==o.default||(R.add(h(new o(r),new o(z),new o(_),new o(i))),M.add(h(new o(r),new o(z),new o(_),new o(i)))),R.add(p(T,z,new o(r),Number(j))),R.add(u.setComputeUnitLimit({units:2e5})),R.add(u.setComputeUnitPrice({microLamports:1e3})),[4,a.account.simulateTransaction(r,t,R)]):(console.log(we.red(U.output)),[2]);case 18:return(J=v.sent()).status?J.output&&J.output.value&&0!==J.output.value.unitsConsumed&&!J.output.value.err?(D=new f(J.output.value.unitsConsumed.toString()),[4,A(t)]):(console.log(we.red("Simulate error")),[2]):(console.log(we.red(J.output)),[2]);case 19:return($=v.sent()).status?(H=new f($.output.toString()),M.add(p(T,z,new o(r),Number(j))),M.add(u.setComputeUnitLimit({units:Math.ceil(1.2*Number(D))})),M.add(u.setComputeUnitPrice({microLamports:Number(H)})),[4,a.account.signTransaction(r,M,t)]):(console.log(we.red($.output)),[2]);case 20:return(K=v.sent()).status?[4,a.account.sendSignedTransaction(r,K.output,t)]:(console.log(we.red(K.output)),[2]);case 21:return(W=v.sent()).status?(console.log(we.green("Transaction hash: ".concat(W.output))),[2]):(console.log(we.red(W.output)),[2])}}))}))},Ne=function(e,t,n,a){return g(void 0,void 0,void 0,(function(){var s,o,c,u,i,l,d,p;return v(this,(function(h){switch(h.label){case 0:return s=ut(e,t,n),o=tt(e,s),c=te(n),o!==c&&("evm"===c&&(s="Ethereum Mainnet"),"solana"===c&&(s="Solana Mainnet"),o=tt(e,s)),"evm"!==o?[3,3]:[4,(m="Network (".concat(s,"), want a change?"),g(void 0,void 0,void 0,(function(){var e;return v(this,(function(t){switch(t.label){case 0:return e=[{name:"confirm",type:"confirm",message:"".concat(m)}],[4,r.prompt(e)];case 1:return[2,t.sent().confirm]}}))})))];case 1:return h.sent()?(u=it(e),[4,G(u,"Select a network")]):[3,3];case 2:i=h.sent(),s=i,h.label=3;case 3:return[4,ct(n,e,s)];case 4:return(l=h.sent()).status?(d=nt(e,s),console.log(we.green(" ".concat(d.nativeCurrency.symbol," Balance: ").concat(l.output))),[4,G(["> Send Raw Tx","> Send Token","> Back"])]):(console.log(we.red(l.output)),[2]);case 5:switch(p=h.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"!==c?[3,8]:[4,ye(d.rpcUrl,d.nativeCurrency.symbol,n,a)];case 7:h.sent(),h.label=8;case 8:return"solana"!==c?[3,10]:[4,ke(d.rpcUrl,d.nativeCurrency.symbol,n,a)];case 9:h.sent(),h.label=10;case 10:return[3,17];case 11:return"evm"!==c?[3,13]:[4,Se(e,d.rpcUrl,d.chainId.toString(),n,a)];case 12:h.sent(),h.label=13;case 13:return"solana"!==c?[3,15]:[4,xe(e,d.rpcUrl,d.chainId.toString(),n,a)];case 14:h.sent(),h.label=15;case 15:return[3,17];case 16:case 17:return[2]}var m}))}))},Oe=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,G(["> SendTx","> SignMessage","> Back"])];case 1:switch(a=c.sent(),a){case"> SendTx":return[3,2];case"> SignMessage":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Ne(e,t,n,r)];case 3:return c.sent(),[3,7];case 4:return[4,Q("Input the message to sign")];case 5:return s=c.sent(),(o=r.account.signMessage(n,s)).status?(console.log(we.green("Signature: "+o.output)),[3,7]):(console.log(we.red(o.output)),[3,7]);case 6:return[2];case 7:return[4,Oe(e,t,n,r)];case 8:return c.sent(),[2]}}))}))},Ae=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[4,q("Input the address to send tx",E)];case 1:return n=a.sent(),null!==(r=t.account.getAccountLabel(n))?[3,3]:(console.log(we.red("Account not found")),[4,Ae(e,t)]);case 2:case 5:case 8:return a.sent(),[2];case 3:return[4,qe(r,t)];case 4:return a.sent()?[3,6]:[4,Ae(e,t)];case 6:return[4,Oe(e,r,n,t)];case 7:return a.sent(),[4,Ae(e,t)]}}))}))},Pe=require("chalk"),Be=require("cli-progress");require("wative-core").WativeCore;var Fe=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=Te(e),n=[],t.accounts&&(n=t.accounts),[4,Z("Account Label",n)];case 1:return null===(r=o.sent())?[2,null]:[4,V("Please set a password for Account [".concat(r,"]"))];case 2:return a=o.sent(),[4,et(e)];case 3:return s=o.sent(),[2,{account_label:r,password:a,selected_default_network:s}]}}))}))},_e=function(n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:return[4,Fe(n)];case 1:return(a=l.sent())?[4,q("Please enter a mnemonic [split by space]",R)]:[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)),u=t.resolve(n,"network.json"),(i=JSON.parse(e.readFileSync(u,"utf8"))).accounts.push(a.account_label),e.writeFileSync(u,JSON.stringify(i,null,4)),[2]):(console.log(Pe.red(o.output)),[2])}}))}))},Ce=function(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,Fe(n)];case 1:return(a=d.sent())?[4,q("Please enter a private key")]:[2];case 2:return s=d.sent(),[4,nt(n,a.selected_default_network)];case 3:return o=d.sent(),[4,r.account.generatePKAccount(a.account_label,s,a.password,o.chainId)];case 4:return(c=d.sent()).status?(u=t.join(n,"accounts/".concat(a.account_label,".json")),c.output.default_network=a.selected_default_network,e.writeFileSync(u,JSON.stringify(c.output,null,4)),i=t.resolve(n,"network.json"),(l=JSON.parse(e.readFileSync(i,"utf8"))).accounts.push(a.account_label),e.writeFileSync(i,JSON.stringify(l,null,4)),[2]):(console.log(Pe.red(c.output)),[2])}}))}))},je=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,G(["> Import Passphrase","> Import Private Key","> Back"])];case 1:switch(n=r.sent(),n){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,_e(e,t)];case 3:case 5:return r.sent(),[3,7];case 4:return[4,Ce(e,t)];case 6:case 7:return[2]}}))}))},Te=function(n){var r=t.resolve(n,"network.json");return JSON.parse(e.readFileSync(r,"utf8"))},Le=function(n,r){var a=t.join(n,"accounts/".concat(r,".json"));return JSON.parse(e.readFileSync(a,"utf8"))},ze=function(n,r,a){var s=t.join(n,"accounts/".concat(r,".json"));e.writeFileSync(s,JSON.stringify(a,null,4))},qe=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 t.account.isLogin(e)?[2,!0]:[4,V("Please input the password for Account [".concat(e,"]"))];case 1:return n=a.sent(),[4,t.account.login(e,n)];case 2:return(r=a.sent()).status?[2,!0]:(console.log(Pe.red(r.output)),[2,!1])}}))}))},Ue=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i,l;return v(this,(function(d){switch(d.label){case 0:if(n=Te(e),r=n.accounts,a=["> Back"],0===(s=r.length))return console.log(Pe.red("No address here yet")),[2];for(o=0;o<s;o++)c=r[o],"PP"===(u=Le(e,c)).account_type?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,G(a,"Select an account")];case 1:return"> Back"===(i=d.sent())?[2]:(l=r[a.indexOf(i)-1],[4,qe(l,t)]);case 2:return d.sent()?[4,Ie(e,l,t)]:[3,4];case 3:d.sent(),d.label=4;case 4:return[4,Ue(e,t)];case 5:return d.sent(),[2]}}))}))},Ie=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:return[4,Le(e,t)];case 1:return r=l.sent(),a="PP"===r.account_type?["1.Address List","2.Expand Address","3.Slice Address","4.Reset Account Password","5.Switch Networks [".concat(r.default_network,"]"),"> Back"]:["1.Address List","2.Reset Account Password","3.Switch Networks [".concat(r.default_network,"]"),"> Back"],[4,G(a)];case 2:switch(s=l.sent(),s){case"1.Address List":return[3,3];case"2.Expand Address":return[3,8];case"3.Slice Address":return[3,11];case"4.Reset Account Password":return[3,14];case"3.Switch Networks [".concat(r.default_network,"]"):return[3,18];case"5.Switch Networks [".concat(r.default_network,"]"):return[3,20];case"2.Reset Account Password":return[3,22];case"> Back":return[3,26]}return[3,27];case 3:return"PP"!==r.account_type?[3,5]:[4,Re(e,t,n)];case 4:return l.sent(),[3,7];case 5:return[4,Je(e,t,n)];case 6:l.sent(),l.label=7;case 7:return[3,27];case 8:return[4,q("Expand accounts count",M)];case 9:return o=l.sent(),Number(o)>2e3?(console.log(Pe.red("Too many accounts, please input less than 2000")),[3,27]):[4,Ge(e,t,Number(o),n)];case 10:return l.sent(),[3,27];case 11:return[4,q("Please input last account number",J)];case 12:return c=l.sent(),[4,De(e,t,Number(c),n)];case 13:return l.sent(),[3,27];case 14:return[4,V("Please input new password for Account [".concat(t,"]"))];case 15:return u=l.sent(),[4,V("Please confirm new password for Account [".concat(t,"]"))];case 16:return i=l.sent(),u!==i?(console.log(Pe.red("Passwords do not match")),[3,27]):[4,n.account.resetPassword(t,u)];case 17:return l.sent(),[2];case 18:return[4,ot(e,t,!0)];case 19:return l.sent(),[3,27];case 20:return[4,ot(e,t,!0)];case 21:return l.sent(),[3,27];case 22:return[4,V("Please input new password for Account [".concat(t,"]"))];case 23:return u=l.sent(),[4,V("Please confirm new password for Account [".concat(t,"]"))];case 24:return i=l.sent(),u!==i?(console.log(Pe.red("Passwords do not match")),[3,27]):[4,n.account.resetPassword(t,u)];case 25:return l.sent(),[2];case 26:return[2];case 27:return[4,Ie(e,t,n)];case 28:return l.sent(),[2]}}))}))},Re=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l;return v(this,(function(d){switch(d.label){case 0:return[4,Le(e,t)];case 1:for(r=d.sent(),a=["> Back"],s=0;s<r.data.length;s++)o=r.default_network,"default_network"in r.data[s]&&(o=r.data[s].default_network),c=tt(e,o),u="","tag"in r.data[s]&&(u="(".concat(r.data[s].tag,")")),"evm"===c?a.push("#".concat(s," ").concat(r.data[s].ciphertexts.evm.address," ").concat(u," [").concat(o,"]")):"solana"===c&&a.push("#".concat(s," ").concat(r.data[s].ciphertexts.solana.address," ").concat(u," [").concat(o,"]"));return[4,G(a,"Select an account")];case 2:return"> Back"===(i=d.sent())?[2]:(l=a.indexOf(i)-1,[4,Me(e,t,l,n)]);case 3:return d.sent(),[4,Re(e,t,n)];case 4:return d.sent(),[2]}}))}))},Me=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d,p,h,m;return v(this,(function(f){switch(f.label){case 0:return[4,Le(e,t)];case 1:return a=f.sent(),s=a.default_network,"default_network"in a.data[n]&&(s=a.data[n].default_network),[4,nt(e,s)];case 2:return o=f.sent(),c=rt(e,t,n),[4,ct(c,e,s)];case 3:return(u=f.sent()).status?console.log(Pe.green(" Address No: #".concat(n,"\n Network: ").concat(s,"\n ").concat(o.nativeCurrency.symbol," Balance: ").concat(u.output))):console.log(Pe.green(" Address No: #".concat(n,"\n Network: ").concat(s,"\n ").concat(o.nativeCurrency.symbol))),i="> Tag()","tag"in a.data[n]&&""!==a.data[n].tag&&(i="> Tag(".concat(a.data[n].tag,")")),[4,G([i,"> Switch network","> Assets","> Tools","> Dump private key","> Back"])];case 4:switch(l=f.sent(),l){case i:return[3,5];case"> Switch network":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 d="Current tag ()","tag"in a.data[n]&&""!==a.data[n].tag&&(d="Current tag (".concat(a.data[n].tag,")")),[4,q(d,U)];case 6:return p=(p=f.sent()).replace(/\s+/g," ").trim(),a.data[n].tag=p.toLocaleLowerCase(),ze(e,t,a),[3,16];case 7:return[4,st(e,t,n)];case 8:case 10:case 12:return f.sent(),[3,16];case 9:return[4,ie(e,c,s)];case 11:return[4,Oe(e,t,c,r)];case 13:return h=rt(e,t,n),[4,r.account.showPrivateKey(h)];case 14:return m=f.sent(),console.log("account: ",h),console.log("private key: ",m),[3,16];case 15:case 16:return[2]}}))}))},Je=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c;return v(this,(function(u){switch(u.label){case 0:return[4,Le(e,t)];case 1:return r=u.sent(),a=["> Back"],s="","tag"in r&&""!==r.tag&&(s="(".concat(r.tag,")")),a.push("#0 ".concat(r.ciphertexts.address," ").concat(s," [").concat(r.default_network,"]")),[4,G(a,"Select an account")];case 2:return"> Back"===u.sent()?[2]:(o=r.default_network,[4,nt(e,o)]);case 3:return c=u.sent(),console.log(Pe.green(" Address No: #0\n Network: ".concat(o,"\n ").concat(c.nativeCurrency.symbol," Balance: 0"))),[4,Ee(e,t,n)];case 4:return u.sent(),[4,Je(e,t,n)];case 5:return u.sent(),[2]}}))}))},Ee=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:return[4,Le(e,t)];case 1:return r=l.sent(),a="> Tag()","tag"in r&&""!==r.tag&&(a="> Tag(".concat(r.tag,")")),[4,G([a,"> Switch network","> Assets","> Tools","> Dump private key","> Back"])];case 2:switch(s=l.sent(),s){case a:return[3,3];case"> Switch network":return[3,5];case"> Assets":return[3,7];case"> Tools":return[3,9];case"> Dump private key":return[3,11];case"> Back":return[3,13]}return[3,14];case 3:return o="Current tag ()","tag"in r&&""!==r.tag&&(o="Current tag (".concat(r.tag,")")),[4,q(o,U)];case 4:return c=l.sent(),r.tag=c.replace(/\s+/g," ").trim().toLocaleLowerCase(),ze(e,t,r),[3,14];case 5:return[4,ot(e,t,!1)];case 6:case 8:case 10:return l.sent(),[3,14];case 7:return u=at(e,t),[4,ie(e,u,r.default_network)];case 9:return u=at(e,t),[4,Oe(e,t,u,n)];case 11:return u=at(e,t),[4,n.account.showPrivateKey(u)];case 12:return i=l.sent(),console.log("account: ",u),console.log("private key: ",i),[3,14];case 13:return[2];case 14:return[4,Ee(e,t,n)];case 15:return l.sent(),[2]}}))}))},Ge=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,Le(e,t)];case 1:a=i.sent(),s=a.data.length,(o=new Be.SingleBar({},Be.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(Pe.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(),ze(e,t,a),[2]}}))}))},De=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,Le(e,t)];case 1:return(a=s.sent()).data=a.data.slice(0,n+1),ze(e,t,a),r.account.reloadAccount(),[2]}}))}))},$e=function(n,r){return g(void 0,void 0,void 0,(function(){var a,s;return v(this,(function(o){switch(o.label){case 0:return a=t.resolve(n,"accounts"),e.existsSync(a)||e.mkdirSync(a),[4,G(["> Select an account","> Create a new account","> Back"])];case 1:switch(s=o.sent(),s){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,Ue(n,r)];case 3:case 5:return o.sent(),[3,7];case 4:return[4,je(n,r)];case 6:return[2];case 7:return[4,$e(n,r)];case 8:return o.sent(),[2]}}))}))},He=require("chalk"),Ke=function(n){return g(void 0,void 0,void 0,(function(){var r,a;return v(this,(function(s){return r=t.resolve(n,"network.json"),e.existsSync(r)||(a={networks:F,currentNetwork:"Ethereum Mainnet",accounts:[]},e.writeFileSync(r,JSON.stringify(a,null,2))),[2]}))}))},We=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("> Back"),[4,G(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,Ze(e,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,Xe(e,t)];case 6:return[3,7];case 7:return[2]}}))}))},Ze=function(n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d,p,h,m,f,g;return v(this,(function(v){switch(v.label){case 0:for(a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=[],g=0;g<s.networks.length;g++)c=s.networks[g],o.push(c.name);return u=r.rpcUrl,i=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,$(r.chainId.toString(),"Rpc Url (default: ".concat(r.rpcUrl,")"),!0)];case 1:return u=v.sent(),[3,9];case 2:return[4,q("Chain Name (default: ".concat(r.name,")"))];case 3:return(d=v.sent())&&d!==r.name&&o.includes(d)?(console.log(He.red("Chain Name already exists")),[2]):[4,D("Chain Id (default: ".concat(r.chainId,")"),!0)];case 4:return i=v.sent(),[4,$(i||r.chainId,"RPC Url (default: ".concat(r.rpcUrl,")"),!0)];case 5:return u=v.sent(),[4,K("Symbol (default: ".concat(r.nativeCurrency.symbol,")"))];case 6:return l=v.sent(),[4,H(r.multicallAddress?"Multicall Address (Optional) (default: ".concat(r.multicallAddress,")"):"Multicall Address (Optional)")];case 7:return p=v.sent(),[4,W(r.color?"Color (Optional): (default: ".concat(r.color,")"):"Color (Optional)")];case 8:h=v.sent(),v.label=9;case 9:for(m=C(i),f={name:d||r.name,chainId:Number(i)||r.chainId,rpcUrl:u||r.rpcUrl,nativeCurrency:{name:l||r.nativeCurrency.symbol,symbol:l||r.nativeCurrency.symbol,decimals:m||r.nativeCurrency.decimals}},(p||r.multicallAddress)&&(f.multicallAddress=p||r.multicallAddress),(h||r.color)&&(f.color=h||r.color),g=0;g<s.networks.length;g++)if(s.networks[g].name===r.name){s.networks[g]=f;break}return e.writeFileSync(a,JSON.stringify(s,null,2)),[2]}}))}))},Xe=function(n,r){return g(void 0,void 0,void 0,(function(){var a,s,o;return v(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]}))}))},Ve=function(n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l,d,p,h,m,f;return v(this,(function(g){switch(g.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(He.green("Please input someting about network")),[4,q("Chain Name")];case 1:return u=g.sent(),s.includes(u)?(console.log(He.red("Chain Name already exists")),[2]):[4,D("Chain Id")];case 2:return(i=g.sent())?[4,$(i,"RPC Url")]:[2];case 3:return(l=g.sent())?[4,K("Symbol")]:[2];case 4:return(d=g.sent())?[4,H("Multicall Address (Optional)")]:[2];case 5:return p=g.sent(),[4,W("Color (Optional)")];case 6:return h=g.sent(),m=C(i),f={name:u,chainId:Number(i),rpcUrl:l,nativeCurrency:{name:d,symbol:d,decimals:m}},p&&(f.multicallAddress=p),h&&(f.color=h),a.networks.push(f),e.writeFileSync(r,JSON.stringify(a,null,2)),[2]}}))}))},Qe=function(n){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d,p,h,m,f,g;return v(this,(function(v){switch(v.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"===j(p.chainId.toString())?c.push(l):o.push(l);for(u=["> Back",new r.Separator("----Networks(evm)----")],l=0;l<o.length;l++)i=o[l],p=s.networks[i],h="".concat(l+1,".").concat(p.name),0===l&&(h+=" 🔒"),u.push(h);for(u.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+=" 🔒"),u.push(h);return[4,G(u)];case 1:return"> Back"===(m=v.sent())?[2]:(f=u.indexOf(m),g=f<o.length+2?s.networks[o[f-2]]:s.networks[c[f-o.length-3]],[4,We(n,g)]);case 2:return v.sent(),[4,Qe(n)];case 3:return v.sent(),[2]}}))}))},Ye=function(e){return g(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return[4,G(["> Available Networks","> Add Network","> Back"])];case 1:switch(t=n.sent(),t){case"> Available Networks":return[3,2];case"> Add Network":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Qe(e)];case 3:case 5:return n.sent(),[3,7];case 4:return[4,Ve(e)];case 6:return[2];case 7:return[4,Ye(e)];case 8:return n.sent(),[2]}}))}))},et=function(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=t.resolve(n,"network.json"),a=JSON.parse(e.readFileSync(r,"utf8")),s=a.networks.map((function(e){return"> ".concat(e.name)})),[4,G(s,"Please select a default network")];case 1:return[2,o.sent().slice(2)]}}))}))},tt=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 j(c.chainId.toString())}return"unknown"},nt=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},rt=function(e,t,n){var r=Le(e,t),a=r.default_network;r.data[n].default_network&&""!==r.data[n].default_network&&(a=r.data[n].default_network);var s=tt(e,a);return"solana"===s?r.data[n].ciphertexts.solana.address:"evm"===s?r.data[n].ciphertexts.evm.address:null},at=function(e,t){return Le(e,t).ciphertexts.address},st=function(n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,u,i,l,d,p,h,m,f,g,w,b;return v(this,(function(v){switch(v.label){case 0:for(s=t.resolve(n,"network.json"),o=JSON.parse(e.readFileSync(s,"utf8")),c=o.networks,u=c.length,i=Le(n,r),l=["> Back"],(d=i.data[a].default_network)&&""!==d?l.push("○ Same as the account setting"):l.push("● Same as the account setting"),p=0;p<u;p++)h=c[p],m=void 0,m=j(h.chainId.toString())?i.data[a].ciphertexts.solana.address:i.data[a].ciphertexts.evm.address,h.name===d?l.push("● ".concat(m," [").concat(h.name,"]")):l.push("○ ".concat(m," [").concat(h.name,"]"));return[4,G(l)];case 1:return"> Back"===(f=v.sent())||(1===(g=l.indexOf(f))?delete i.data[a].default_network:i.data[a].default_network=c[g-2].name,ze(n,r,i),w=i.default_network,"default_network"in i.data[a]&&""!==i.data[a].default_network&&(w=i.data[a].default_network),b=nt(n,w),console.log(He.green(" Address No: #".concat(a,"\n Network: ").concat(w,"\n ").concat(b.nativeCurrency.symbol," Balance: 0")))),[2]}}))}))},ot=function(n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,u,i,l,d,p,h,m,f,g,w,b,y,k,S;return v(this,(function(v){switch(v.label){case 0:for(s=t.resolve(n,"network.json"),o=JSON.parse(e.readFileSync(s,"utf8")),c=o.networks,u=c.length,i=Le(n,r),l=["> Back"],d=i.default_network,p="",a||(p=i.ciphertexts.address),h=[],m=tt(n,d),f=0;f<u;f++)g=c[f],w=tt(n,g.name),"PK"===i.account_type&&m!==w||(g.name===d?a?l.push("● ".concat(g.name)):l.push("● ".concat(p," [").concat(g.name,"]")):a?l.push("○ ".concat(g.name)):l.push("○ ".concat(p," [").concat(g.name,"]")),h.push(g.name));return[4,G(l)];case 1:return"> Back"===(b=v.sent())||(y=l.indexOf(b),i.default_network=h[y-1],ze(n,r,i),a||(k=i.default_network,S=nt(n,k),console.log(He.green(" Address No: #0\n Network: ".concat(k,"\n ").concat(S.nativeCurrency.symbol," Balance: 0"))))),[2]}}))}))},ct=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c;return v(this,(function(u){switch(u.label){case 0:return r=nt(t,n),a=r.rpcUrl,s=r.nativeCurrency.decimals,"solana"!==j(r.chainId.toString())?[3,2]:[4,y(e,a)];case 1:return o=u.sent(),[3,4];case 2:return[4,b(e,a)];case 3:o=u.sent(),u.label=4;case 4:return o.status&&(c=new f(o.output.toString()),o.output=c.dividedBy(Math.pow(10,s)).toFixed(4,f.ROUND_FLOOR)),[2,o]}}))}))},ut=function(e,t,n){var r=Le(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},it=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"===j(a[c].chainId.toString())&&o.push(a[c].name);return o};require("wative-core").WativeCore;var lt=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,G(["> 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,Ye(e)];case 3:case 5:case 7:return r.sent(),[3,9];case 4:return[4,$e(e,t)];case 6:return[4,Ae(e,t)];case 8:return[2];case 9:return[4,lt(e,t)];case 10:return r.sent(),[2]}}))}))},dt=require("wative-core").WativeCore,pt=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 r,a,s,o;return v(this,(function(c){switch(c.label){case 0:return console.log("version:",pt.version),console.log(T.green(n.textSync("Wative",{font:"Ghost",horizontalLayout:"default",verticalLayout:"default"}))),[4,g(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return[4,q("Keystore storage located in (default: ".concat(z,")"))];case 1:return(t=n.sent())||(t=z),t=(t=t.trim()).replace("~",L),e.existsSync(t)||e.mkdirSync(t,{recursive:!0}),[2,t]}}))}))];case 1:return r=c.sent(),[4,Ke(r)];case 2:return c.sent(),a=t.resolve(r,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=new dt(r,s.accounts),[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 u,SystemProgram as i}from"@solana/web3.js";import{getMint as l,getAssociatedTokenAddressSync as d,createTransferInstruction as p,createAssociatedTokenAccountInstruction as h}from"@solana/spl-token";import{Metaplex as m}from"@metaplex-foundation/js";import{BigNumber as f}from"bignumber.js";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 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 a(e),[4,ee(t.eth.getChainId,[])];case 1:return[2,n.sent()]}}))}))},b=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 a(t),[4,ee(n.eth.getBalance,[e])];case 1:return[2,r.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 s(t),[4,ee(n.getBalance.bind(n),[new o(e)])];case 1:return[2,r.sent()]}}))}))},k=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,s,o,c;return v(this,(function(u){switch(u.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,ee(r.methods.symbol().call.bind(r),[])];case 1:return s=u.sent(),[4,ee(r.methods.name().call.bind(r),[])];case 2:return o=u.sent(),[4,ee(r.methods.decimals().call.bind(r),[])];case 3:return c=u.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"}]}}))}))},S=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,c,u,i,d;return v(this,(function(p){switch(p.label){case 0:return n=new s(t),r=m.make(n),a=new o(e),[4,ee(l,[n,a])];case 1:if(c=p.sent(),u={status:!0,output:{symbol:"",name:"",decimals:""}},!c.status)return[2,{status:!1,output:"Failed to get token decimals"}];u.output.decimals=c.output.decimals,p.label=2;case 2:return p.trys.push([2,6,,7]),i=r.nfts().pdas().metadata({mint:a}),[4,n.getAccountInfo(i)];case 3:return p.sent()?[4,r.nfts().findByMint({mintAddress:a})]:[3,5];case 4:d=p.sent(),u.output.name=d.name,u.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,u]}}))}))},x=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,s,o;return v(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,ee(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"}]}}))}))},N=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(n),a=d(new o(t),new o(e)),[4,ee(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"}]}}))}))},O=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r;return v(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])]}))}))},A=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(e),[4,ee(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"}]}}))}))},P=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(t),[4,ee(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"}]}}))}))},B=["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"],F=[{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}}],_=["901","902","903"],C=function(e){return _.includes(e)?9:18},j=function(e){return _.includes(e)?"solana":"evm"},T=require("chalk"),L=process.env.HOME||process.env.USERPROFILE,z="".concat(L,"/.wative"),q=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(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()]}}))}))},U=function(e){return""===e||((e=e.replace(/\s+/g," ").trim()).length>10?"Tag length should be less than 10":!1!==/^[0-9a-zA-Z\s]*$/g.test(e)||"Tag should be alphanumeric")},I=function(e){return!isNaN(Number(e))||"Value should be a number"},R=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===B.includes(t[n]))return"Passphrase word should be valid";return!0},M=function(e){var t=Number(e);return isNaN(t)?"Amount should be a number":!(t>2e3)||"Amount should be less than 2000"},J=function(e){var t=Number(e);return!isNaN(t)||"Last account no should be a number"},E=function(e){return"unknown"!=te(e)||"Address should be valid"},G=function(e,t,n){return g(void 0,void 0,void 0,(function(){var a;return v(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()]}}))}))},D=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,q(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]}}))}))},$=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,q(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"===j(e)?[2,a]:[4,w(a)];case 4:return(s=c.sent()).status?s.output.toString()===e.toString()?[2,a]:(console.log(T.red("Rpc url not match chain id")),[3,6]):(console.log(T.red(s.output)),[3,6]);case 5:return o=c.sent(),console.log(T.red(o.message)),[3,6];case 6:return r++,[3,1];case 7:return[2,null]}}))}))},H=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,q(e)]:[3,4];case 2:if(""===(n=r.sent()))return[2,null];if(""!==n&&42!==n.length)return console.log(T.red("Multicall address length must be 42")),[3,3];r.label=3;case 3:return t++,[3,1];case 4:return[2,null]}}))}))},K=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,q(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]}}))}))},W=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,q(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]}}))}))},Z=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]{2,20}$/g,r=0,s.label=1;case 1:return r<5?[4,q(e)]:[3,4];case 2:if(a=(a=s.sent()).trim(),n.test(a))return t.includes(a)?(console.log(T.red("Account label already exists")),[3,3]):[2,a.toLocaleLowerCase()];s.label=3;case 3:return r++,[3,1];case 4:return[2,null]}}))}))},X=function(e){var t="Password must contain at least: \n",n=!0,r=" ",a=T.green("✔"),s=T.red("✖");return e.length>=8?t+=r+a+" 8 characters\n":(t+=r+s+" 8 characters\n",n=!1),/[0-9]/.test(e)?t+=r+a+" One numerical character\n":(t+=r+s+" One numerical character\n",n=!1),/[A-Z]/.test(e)?t+=r+a+" One uppercase letter\n":(t+=r+s+" One uppercase letter\n",n=!1),/[!@#$%]/.test(e)?t+=r+a+" One sepcial character (i.e. !@#$%)\n":(t+=r+s+" One sepcial character (i.e. !@#$%)\n",n=!1),!!n||t},V=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:"password",type:"password",mask:"#",message:"".concat(e,":"),validate:X}],[4,r.prompt(t)];case 1:return[2,n.sent().password]}}))}))},Q=function(e,t){return g(void 0,void 0,void 0,(function(){var n;return v(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()]}}))}))},Y=function(e){return!!/^0x[0-9a-fA-F]*$/g.test(e)},ee=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]}}))}))},te=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"},ne=function(t){return t=t.trim(),e.existsSync(t)},re=require("chalk"),ae=function(n,r){return g(void 0,void 0,void 0,(function(){var a,s,o;return v(this,(function(c){return a=t.join(n,"assets.json"),ne(a)?(s=e.readFileSync(a).toString(),o=JSON.parse(s),r in o?[2,o[r]]:[2,[]]):[2,[]]}))}))},se=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,ae(e,t)];case 1:for(r=o.sent(),a=[],s=0;s<r.length;s++)r[s].symbol===n&&a.push(r[s]);return[2,a]}}))}))},oe=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=tt(e,t),a=nt(e,t),[4,ae(e,a.chainId.toString())];case 1:return(s=i.sent())?[4,le(n,s,a.rpcUrl,r)]:(console.log(re.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(re.green("".concat(c,". ").concat(o[u].symbol," Balance: ").concat(o[u].balance))),c+=1);return 1===c&&console.log(re.red("No asset found")),[2]}}))}))},ce=function(n,r,a,s,o,c){return g(void 0,void 0,void 0,(function(){var u,i,l;return v(this,(function(d){return u=t.join(n,"assets.json"),i={},ne(u)&&(l=e.readFileSync(u).toString(),i=JSON.parse(l)),void 0===i[r]&&(i[r]=[]),i[r].push({address:a,symbol:s,name:o,decimals:c}),e.writeFileSync(u,JSON.stringify(i,null,4)),[2]}))}))},ue=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,q("Please input Token address",E)];case 1:return n=u.sent(),r=tt(e,t),a=nt(e,t),"evm"!==r?[3,3]:(i=n).startsWith("0x")&&42===i.length?[4,k(n,a.rpcUrl)]:(console.log(re.red("evm address format error")),[2]);case 2:return s=u.sent(),[3,5];case 3:return function(e){return/^[A-HJ-NP-Za-km-z1-9]*$/.test(e)}(n)?[4,S(n,a.rpcUrl)]:(console.log(re.red("solana address format error")),[2]);case 4:s=u.sent(),u.label=5;case 5:return s.status?s.output.name?[3,7]:(o=s.output,[4,q("Please input token name")]):(console.log(re.red(s.output)),[2]);case 6:o.name=u.sent(),u.label=7;case 7:return s.output.symbol?[3,9]:(c=s.output,[4,q("Please input token symbol")]);case 8:c.symbol=u.sent(),u.label=9;case 9:return[4,ce(e,a.chainId.toString(),n,s.output.symbol,s.output.name,s.output.decimals)];case 10:return u.sent(),console.log(re.green("Asset added successfully")),[2]}var i}))}))},ie=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[4,G(["> Show Assets","> Add Asset","> Back"])];case 1:switch(r=a.sent(),r){case"> Show Assets":return[3,2];case"> Add Asset":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,oe(e,n,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,ue(e,n)];case 6:return[2];case 7:return[4,ie(e,t,n)];case 8:return a.sent(),[2]}}))}))},le=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(h){switch(h.label){case 0:for(a=t.length,s=[],u=0;u<a;u++)i=t[u],"evm"===r?s.push(x(e,i.address,n)):"solana"===r&&s.push(N(e,i.address,n));return[4,Promise.all(s)];case 1:for(o=h.sent(),c=[],u=0;u<a;u++){if(i=t[u],l=i.decimals,!o[u].status)return console.log(re.red(o[u].output)),[2,null];d=new f(o[u].output),p=d.dividedBy(Math.pow(10,l)).toFixed(4,f.ROUND_FLOOR),c.push({address:i.address,symbol:i.symbol,balance:p})}return[2,c]}}))}))},de=require("bn.js").BN,pe=require("ethereumjs-util").stripHexPrefix,he=require("bignumber.js").BigNumber;function me(e){return new de(pe(e.toString("hex")),16)}var fe=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 ge(e){return fe(e.toString(16))}var ve=function(){function e(e){this.query=new a(a.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=me(t.gasLimit),u=n,i=20,l=new de(19),d=new de(i),r=u.mul(l).div(d),a=ge(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 he(t.toString()).multipliedBy(1.3).toFixed(0)]}}))}))},e.prototype.addGasBuffer=function(e,t,n){void 0===n&&(n=1.3);var r=me(e),a=me(t).muln(.9),s=r.muln(n);return r.gt(a)?ge(r):s.lt(a)?ge(s):ge(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(fe(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}(),we=require("chalk");require("wative-core").WativeCore;var be=function(e){return g(void 0,void 0,void 0,(function(){var t,n,a,s,o,c,u,i,l,d;return v(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,G(t)];case 1:return n=p.sent(),1!==(a=t.indexOf(n))?[3,3]:(s=e,[4,q("from",E)]);case 2:s.from=p.sent(),p.label=3;case 3:return 2!==a?[3,5]:(o=e,[4,q("to",E)]);case 4:o.to=p.sent(),p.label=5;case 5:return 3!==a?[3,7]:(c=e,[4,q("nonce")]);case 6:c.nonce=p.sent(),p.label=7;case 7:return 4!==a?[3,9]:(u=e,[4,q("gasPrice")]);case 8:u.gasPrice=p.sent(),p.label=9;case 9:return 5!==a?[3,11]:(i=e,[4,Q("data")]);case 10:i.data=p.sent(),p.label=11;case 11:return 6!==a?[3,13]:(l=e,[4,q("value")]);case 12:l.value=p.sent(),p.label=13;case 13:return 7!==a?[3,15]:(d=e,[4,q("gas")]);case 14:d.gas=p.sent(),p.label=15;case 15:return 9===a?[2,e]:[4,be(e)];case 16:return p.sent(),[2]}}))}))},ye=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var s,o,c,u,i,l,d,p,h,m,w,y,k,S,x,N,O,A,P,B,F,_,C,j,T,L,z,U,R;return v(this,(function(M){switch(M.label){case 0:return[4,q("to",E)];case 1:return s=M.sent(),[4,(o=new ve(e)).getGasPrice()];case 2:return c=M.sent(),u=new f(c.toString()).dividedBy(1e9),i=u.toFixed(4,f.ROUND_FLOOR),[4,q("Gas price (".concat(i,"), agree or enter"))];case 3:return l=M.sent(),d=new f(d=l||i).multipliedBy(1e9).toFixed(0),[4,(J=s,D=e,g(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return e=new a(D),[4,ee(e.eth.getCode.bind(e),[J])];case 1:return(t=n.sent()).status?[2,{status:!0,output:t.output}]:[2,{status:!1,output:"Failed to get code"}]}}))})))];case 4:return(p=M.sent()).status?"0x"!==p.output?[3,10]:(h="0x",[4,b(n,e)]):(console.log(we.red(p.output)),[2]);case 5:return(w=M.sent()).status?(y=new f(w.output),k=new f(d),S=y.minus(k.multipliedBy(21e3)).toFixed(0,f.ROUND_FLOOR),x=new f(S).dividedBy(1e18).toFixed(4,f.ROUND_FLOOR),new f(x)<new f(0)?(console.log(we.red("Not enough balance")),[2]):(N=["> Input value","> Total Balance (".concat(x," ").concat(t,")")],[4,G(N)])):(console.log(we.red(w.output)),[2]);case 6:return O=M.sent(),0!==(A=N.indexOf(O))?[3,8]:[4,q("value",I)];case 7:return P=M.sent(),m=new f(P).multipliedBy(1e18).toFixed(0,f.ROUND_FLOOR),[3,9];case 8:1===A&&(m=S),M.label=9;case 9:return new f(m).isGreaterThan(new f(S))?(console.log(we.red("Not enough balance")),[2]):[3,13];case 10:return[4,Q("data",Y)];case 11:return h=M.sent(),[4,q("value",I)];case 12:m=M.sent(),M.label=13;case 13:return[4,o.getTransactionCount(n)];case 14:return B=M.sent(),[4,q("Nonce (".concat(B,"), agree or enter"))];case 15:return F=M.sent(),_=F||B.toString(),C={from:n,to:s,nonce:_,gasPrice:d,data:h,value:m},"0x"!==h?[3,16]:(C.gas="21000",[3,21]);case 16:j=C.gasPrice,delete C.gasPrice,M.label=17;case 17:return M.trys.push([17,19,,20]),T=C,L="gas",[4,o.estimateTxGas(C)];case 18:return T[L]=M.sent().toString(),[3,20];case 19:return z=M.sent(),console.log(we.red("Error: "+z)),[2];case 20:C.gasPrice=j,M.label=21;case 21:return[4,be(C)];case 22:return C=M.sent(),[4,r.account.signTransaction(n,C,e)];case 23:return(U=M.sent()).status?[4,r.account.sendSignedTransaction(n,U.output.rawTransaction,e)]:(console.log(we.red(U.output)),[2]);case 24:return(R=M.sent()).status?(console.log(we.green("Transaction hash: ".concat(R.output.transactionHash))),[2]):(console.log(we.red(R.output)),[2])}var J,D}))}))},ke=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,l,d,p,h,m,g,w,b,k,S,x,N,O,P,B,F,_;return v(this,(function(v){switch(v.label){case 0:return[4,q("to",E)];case 1:return a=v.sent(),(s=(new c).add(i.transfer({fromPubkey:new o(n),toPubkey:new o(a),lamports:1}))).add(u.setComputeUnitLimit({units:2e5})),s.add(u.setComputeUnitPrice({microLamports:1e3})),[4,r.account.simulateTransaction(n,e,s)];case 2:return(l=v.sent()).status?l.output&&l.output.value&&0!==l.output.value.unitsConsumed&&!l.output.value.err?(d=new f(l.output.value.unitsConsumed.toString()),[4,A(e)]):(console.log(we.red("Simulate error")),[2]):(console.log(we.red(l.output)),[2]);case 3:return(p=v.sent()).status?(h=new f(p.output.toString()),m=d.multipliedBy(h).toFixed(0,f.ROUND_CEIL),[4,y(n,e)]):(console.log(we.red(p.output)),[2]);case 4:return(g=v.sent()).status?(w=new f(g.output),b=w.minus(5e3).minus(m),k=new f(b).dividedBy(1e9).toFixed(4,f.ROUND_FLOOR),new f(k)<new f(0)?(console.log(we.red("Not enough balance")),[2]):(S=["> Input value","> Total Balance (".concat(k," ").concat(t,")")],[4,G(S)])):(console.log(we.red(g.output)),[2]);case 5:return x=v.sent(),N=S.indexOf(x),O="0",0!==N?[3,7]:[4,q("value",I)];case 6:return P=v.sent(),O=new f(P).multipliedBy(1e9).toFixed(0,f.ROUND_FLOOR),new f(O).isGreaterThan(new f(b))?(console.log(we.red("Not enough balance")),[2]):[3,8];case 7:1===N&&(O=b.toString()),v.label=8;case 8:return(B=new c).add(u.setComputeUnitLimit({units:Math.ceil(2*Number(d))})),B.add(u.setComputeUnitPrice({microLamports:Number(h)})),B.add(i.transfer({fromPubkey:new o(n),toPubkey:new o(a),lamports:Number(O)})),[4,r.account.signTransaction(n,B,e)];case 9:return(F=v.sent()).status?[4,r.account.sendSignedTransaction(n,F.output,e)]:(console.log(we.red(F.output)),[2]);case 10:return(_=v.sent()).status?(console.log(we.green("Transaction hash: ".concat(_.output))),[2]):(console.log(we.red(_.output)),[2])}}))}))},Se=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,u,i,l,d,p,h,m,g,w,b,y,S,N,A,P,B,F,_,C,j,T,L,z,U,R,M,J,D,$,H;return v(this,(function(v){switch(v.label){case 0:return[4,G(["> 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,q("token ticker")];case 3:return u=v.sent(),[4,se(e,n,u)];case 4:if(0===(i=v.sent()).length)return console.log(we.red("Token not found")),[2];l=[],d=0,v.label=5;case 5:return d<i.length?[4,x(r,i[d].address,t)]:[3,8];case 6:if(!(p=v.sent()).status)return console.log(we.red(p.output)),[2];if(h=new f(p.output),m=h.dividedBy(Math.pow(10,Number(i[d].decimals))).toFixed(4,f.ROUND_FLOOR),1===i.length)return l.push("> 1. ".concat(u," Balance: ").concat(m)),[3,8];l.push("> ".concat(d+1,". ").concat(u," Balance: ").concat(m,"(").concat(i[d].address,")")),l.push(i[d].address),v.label=7;case 7:return d++,[3,5];case 8:return[4,G(l)];case 9:return g=v.sent(),w=i[l.indexOf(g)],o=w.address,c=Number(w.decimals),[3,13];case 10:return[4,q("token contract address",E)];case 11:return o=v.sent(),[4,k(o,t)];case 12:return(b=v.sent()).status?(c=Number(b.output.decimals),[3,13]):(console.log(we.red(b.output)),[2]);case 13:return[4,q("Receipt",E)];case 14:return y=v.sent(),[4,q("Amount",I)];case 15:return S=v.sent(),[4,(N=new ve(t)).getGasPrice()];case 16:return A=v.sent(),P=new f(A.toString()).dividedBy(1e9),B=P.toFixed(4,f.ROUND_FLOOR),[4,q("Gas price (".concat(B,"), agree or enter"))];case 17:return F=v.sent(),_=new f(_=F||B).multipliedBy(1e9).toFixed(0),C=new f(S).multipliedBy(Math.pow(10,c)).toFixed(0),[4,O(y,C,t)];case 18:return j=v.sent(),[4,N.getTransactionCount(r)];case 19:return T=v.sent(),[4,q("Nonce (".concat(T,"), agree or enter"))];case 20:return L=v.sent(),z=L||T.toString(),U={from:r,to:o,nonce:z,gasPrice:_,data:j,value:"0"},"0x"!==j?[3,21]:(U.gas="21000",[3,26]);case 21:R=U.gasPrice,delete U.gasPrice,v.label=22;case 22:return v.trys.push([22,24,,25]),M=U,J="gas",[4,N.estimateTxGas(U)];case 23:return M[J]=v.sent().toString(),[3,25];case 24:return D=v.sent(),console.log(we.red("Failed to estimate gas, "+D.message)),[2];case 25:U.gasPrice=R,v.label=26;case 26:return[4,be(U)];case 27:return U=v.sent(),[4,a.account.signTransaction(r,U,t)];case 28:return($=v.sent()).status?[4,a.account.sendSignedTransaction(r,$.output.rawTransaction,t)]:(console.log(we.red($.output)),[2]);case 29:return(H=v.sent()).status?(console.log(we.green("Transaction hash: ".concat(H.output.transactionHash))),[2]):(console.log(we.red(H.output)),[2])}}))}))},xe=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,i,l,m,g,w,b,y,k,x,O,B,F,_,C,j,T,L,z,U,R,M,J,D,$,H,K,W;return v(this,(function(v){switch(v.label){case 0:return[4,G(["> 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,q("token ticker")];case 3:return m=v.sent(),[4,se(e,n,m)];case 4:if(0===(g=v.sent()).length)return console.log(we.red("Token not found")),[2];w=[],b=0,v.label=5;case 5:return b<g.length?[4,N(r,g[b].address,t)]:[3,8];case 6:if(!(y=v.sent()).status)return console.log(we.red(y.output)),[2];if(k=new f(y.output),x=k.dividedBy(Math.pow(10,Number(g[b].decimals))).toFixed(4,f.ROUND_FLOOR),1===g.length)return w.push("> 1. ".concat(m," Balance: ").concat(x)),[3,8];w.push("> ".concat(b+1,". ").concat(m," Balance: ").concat(x,"(").concat(g[b].address,")")),w.push(g[b].address),v.label=7;case 7:return b++,[3,5];case 8:return[4,G(w)];case 9:return O=v.sent(),B=g[w.indexOf(O)],i=B.address,l=Number(B.decimals),[3,13];case 10:return[4,q("token contract address",E)];case 11:return i=v.sent(),[4,S(i,t)];case 12:return(F=v.sent()).status?(l=Number(F.output.decimals),[3,13]):(console.log(we.red(F.output)),[2]);case 13:return[4,q("Receipt",E)];case 14:return _=v.sent(),[4,q("Amount",I)];case 15:return C=v.sent(),j=new f(C).multipliedBy(Math.pow(10,l)).toFixed(0),T=d(new o(i),new o(r),!0),[4,P(T.toString(),t)];case 16:return(L=v.sent()).status?L.output&&L.output.owner.toString()!==o.default?(z=d(new o(i),new o(_),!1),[4,P(z.toString(),t)]):(console.log(we.red("From token account not found")),[2]):(console.log(we.red(L.output)),[2]);case 17:return(U=v.sent()).status?(R=new c,M=new c,U.output&&U.output.owner.toString()!==o.default||(R.add(h(new o(r),new o(z),new o(_),new o(i))),M.add(h(new o(r),new o(z),new o(_),new o(i)))),R.add(p(T,z,new o(r),Number(j))),R.add(u.setComputeUnitLimit({units:2e5})),R.add(u.setComputeUnitPrice({microLamports:1e3})),[4,a.account.simulateTransaction(r,t,R)]):(console.log(we.red(U.output)),[2]);case 18:return(J=v.sent()).status?J.output&&J.output.value&&0!==J.output.value.unitsConsumed&&!J.output.value.err?(D=new f(J.output.value.unitsConsumed.toString()),[4,A(t)]):(console.log(we.red("Simulate error")),[2]):(console.log(we.red(J.output)),[2]);case 19:return($=v.sent()).status?(H=new f($.output.toString()),M.add(p(T,z,new o(r),Number(j))),M.add(u.setComputeUnitLimit({units:Math.ceil(1.2*Number(D))})),M.add(u.setComputeUnitPrice({microLamports:Number(H)})),[4,a.account.signTransaction(r,M,t)]):(console.log(we.red($.output)),[2]);case 20:return(K=v.sent()).status?[4,a.account.sendSignedTransaction(r,K.output,t)]:(console.log(we.red(K.output)),[2]);case 21:return(W=v.sent()).status?(console.log(we.green("Transaction hash: ".concat(W.output))),[2]):(console.log(we.red(W.output)),[2])}}))}))},Ne=function(e,t,n,a){return g(void 0,void 0,void 0,(function(){var s,o,c,u,i,l,d,p;return v(this,(function(h){switch(h.label){case 0:return s=ut(e,t,n),o=tt(e,s),c=te(n),o!==c&&("evm"===c&&(s="Ethereum Mainnet"),"solana"===c&&(s="Solana Mainnet"),o=tt(e,s)),"evm"!==o?[3,3]:[4,(m="Network (".concat(s,"), want a change?"),g(void 0,void 0,void 0,(function(){var e;return v(this,(function(t){switch(t.label){case 0:return e=[{name:"confirm",type:"confirm",message:"".concat(m)}],[4,r.prompt(e)];case 1:return[2,t.sent().confirm]}}))})))];case 1:return h.sent()?(u=it(e),[4,G(u,"Select a network")]):[3,3];case 2:i=h.sent(),s=i,h.label=3;case 3:return[4,ct(n,e,s)];case 4:return(l=h.sent()).status?(d=nt(e,s),console.log(we.green(" ".concat(d.nativeCurrency.symbol," Balance: ").concat(l.output))),[4,G(["> Send Raw Tx","> Send Token","> Back"])]):(console.log(we.red(l.output)),[2]);case 5:switch(p=h.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"!==c?[3,8]:[4,ye(d.rpcUrl,d.nativeCurrency.symbol,n,a)];case 7:h.sent(),h.label=8;case 8:return"solana"!==c?[3,10]:[4,ke(d.rpcUrl,d.nativeCurrency.symbol,n,a)];case 9:h.sent(),h.label=10;case 10:return[3,17];case 11:return"evm"!==c?[3,13]:[4,Se(e,d.rpcUrl,d.chainId.toString(),n,a)];case 12:h.sent(),h.label=13;case 13:return"solana"!==c?[3,15]:[4,xe(e,d.rpcUrl,d.chainId.toString(),n,a)];case 14:h.sent(),h.label=15;case 15:return[3,17];case 16:case 17:return[2]}var m}))}))},Oe=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,G(["> SendTx","> SignMessage","> Back"])];case 1:switch(a=c.sent(),a){case"> SendTx":return[3,2];case"> SignMessage":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Ne(e,t,n,r)];case 3:return c.sent(),[3,7];case 4:return[4,Q("Input the message to sign")];case 5:return s=c.sent(),(o=r.account.signMessage(n,s)).status?(console.log(we.green("Signature: "+o.output)),[3,7]):(console.log(we.red(o.output)),[3,7]);case 6:return[2];case 7:return[4,Oe(e,t,n,r)];case 8:return c.sent(),[2]}}))}))},Ae=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[4,q("Input the address to send tx",E)];case 1:return n=a.sent(),null!==(r=t.account.getAccountLabel(n))?[3,3]:(console.log(we.red("Account not found")),[4,Ae(e,t)]);case 2:case 5:case 8:return a.sent(),[2];case 3:return[4,qe(r,t)];case 4:return a.sent()?[3,6]:[4,Ae(e,t)];case 6:return[4,Oe(e,r,n,t)];case 7:return a.sent(),[4,Ae(e,t)]}}))}))},Pe=require("chalk"),Be=require("cli-progress");require("wative-core").WativeCore;var Fe=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=Te(e),n=[],t.accounts&&(n=t.accounts),[4,Z("Account Label",n)];case 1:return null===(r=o.sent())?[2,null]:[4,V("Please set a password for Account [".concat(r,"]"))];case 2:return a=o.sent(),[4,et(e)];case 3:return s=o.sent(),[2,{account_label:r,password:a,selected_default_network:s}]}}))}))},_e=function(n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:return[4,Fe(n)];case 1:return(a=l.sent())?[4,q("Please enter a mnemonic [split by space]",R)]:[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)),u=t.resolve(n,"network.json"),(i=JSON.parse(e.readFileSync(u,"utf8"))).accounts.push(a.account_label),e.writeFileSync(u,JSON.stringify(i,null,4)),[2]):(console.log(Pe.red(o.output)),[2])}}))}))},Ce=function(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,Fe(n)];case 1:return(a=d.sent())?[4,q("Please enter a private key")]:[2];case 2:return s=d.sent(),[4,nt(n,a.selected_default_network)];case 3:return o=d.sent(),[4,r.account.generatePKAccount(a.account_label,s,a.password,o.chainId)];case 4:return(c=d.sent()).status?(u=t.join(n,"accounts/".concat(a.account_label,".json")),c.output.default_network=a.selected_default_network,e.writeFileSync(u,JSON.stringify(c.output,null,4)),i=t.resolve(n,"network.json"),(l=JSON.parse(e.readFileSync(i,"utf8"))).accounts.push(a.account_label),e.writeFileSync(i,JSON.stringify(l,null,4)),[2]):(console.log(Pe.red(c.output)),[2])}}))}))},je=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,G(["> Import Passphrase","> Import Private Key","> Back"])];case 1:switch(n=r.sent(),n){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,_e(e,t)];case 3:case 5:return r.sent(),[3,7];case 4:return[4,Ce(e,t)];case 6:case 7:return[2]}}))}))},Te=function(n){var r=t.resolve(n,"network.json");return JSON.parse(e.readFileSync(r,"utf8"))},Le=function(n,r){var a=t.join(n,"accounts/".concat(r,".json"));return JSON.parse(e.readFileSync(a,"utf8"))},ze=function(n,r,a){var s=t.join(n,"accounts/".concat(r,".json"));e.writeFileSync(s,JSON.stringify(a,null,4))},qe=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 t.account.isLogin(e)?[2,!0]:[4,V("Please input the password for Account [".concat(e,"]"))];case 1:return n=a.sent(),[4,t.account.login(e,n)];case 2:return(r=a.sent()).status?[2,!0]:(console.log(Pe.red(r.output)),[2,!1])}}))}))},Ue=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i,l;return v(this,(function(d){switch(d.label){case 0:if(n=Te(e),r=n.accounts,a=["> Back"],0===(s=r.length))return console.log(Pe.red("No address here yet")),[2];for(o=0;o<s;o++)c=r[o],"PP"===(u=Le(e,c)).account_type?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,G(a,"Select an account")];case 1:return"> Back"===(i=d.sent())?[2]:(l=r[a.indexOf(i)-1],[4,qe(l,t)]);case 2:return d.sent()?[4,Ie(e,l,t)]:[3,4];case 3:d.sent(),d.label=4;case 4:return[4,Ue(e,t)];case 5:return d.sent(),[2]}}))}))},Ie=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:return[4,Le(e,t)];case 1:return r=l.sent(),a="PP"===r.account_type?["1.Address List","2.Expand Address","3.Slice Address","4.Reset Account Password","5.Switch Networks [".concat(r.default_network,"]"),"> Back"]:["1.Address List","2.Reset Account Password","3.Switch Networks [".concat(r.default_network,"]"),"> Back"],[4,G(a)];case 2:switch(s=l.sent(),s){case"1.Address List":return[3,3];case"2.Expand Address":return[3,8];case"3.Slice Address":return[3,11];case"4.Reset Account Password":return[3,14];case"3.Switch Networks [".concat(r.default_network,"]"):return[3,18];case"5.Switch Networks [".concat(r.default_network,"]"):return[3,20];case"2.Reset Account Password":return[3,22];case"> Back":return[3,26]}return[3,27];case 3:return"PP"!==r.account_type?[3,5]:[4,Re(e,t,n)];case 4:return l.sent(),[3,7];case 5:return[4,Je(e,t,n)];case 6:l.sent(),l.label=7;case 7:return[3,27];case 8:return[4,q("Expand accounts count",M)];case 9:return o=l.sent(),Number(o)>2e3?(console.log(Pe.red("Too many accounts, please input less than 2000")),[3,27]):[4,Ge(e,t,Number(o),n)];case 10:return l.sent(),[3,27];case 11:return[4,q("Please input last account number",J)];case 12:return c=l.sent(),[4,De(e,t,Number(c),n)];case 13:return l.sent(),[3,27];case 14:return[4,V("Please input new password for Account [".concat(t,"]"))];case 15:return u=l.sent(),[4,V("Please confirm new password for Account [".concat(t,"]"))];case 16:return i=l.sent(),u!==i?(console.log(Pe.red("Passwords do not match")),[3,27]):[4,n.account.resetPassword(t,u)];case 17:return l.sent(),[2];case 18:return[4,ot(e,t,!0)];case 19:return l.sent(),[3,27];case 20:return[4,ot(e,t,!0)];case 21:return l.sent(),[3,27];case 22:return[4,V("Please input new password for Account [".concat(t,"]"))];case 23:return u=l.sent(),[4,V("Please confirm new password for Account [".concat(t,"]"))];case 24:return i=l.sent(),u!==i?(console.log(Pe.red("Passwords do not match")),[3,27]):[4,n.account.resetPassword(t,u)];case 25:return l.sent(),[2];case 26:return[2];case 27:return[4,Ie(e,t,n)];case 28:return l.sent(),[2]}}))}))},Re=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l;return v(this,(function(d){switch(d.label){case 0:return[4,Le(e,t)];case 1:for(r=d.sent(),a=["> Back"],s=0;s<r.data.length;s++)o=r.default_network,"default_network"in r.data[s]&&(o=r.data[s].default_network),c=tt(e,o),u="","tag"in r.data[s]&&(u="(".concat(r.data[s].tag,")")),"evm"===c?a.push("#".concat(s," ").concat(r.data[s].ciphertexts.evm.address," ").concat(u," [").concat(o,"]")):"solana"===c&&a.push("#".concat(s," ").concat(r.data[s].ciphertexts.solana.address," ").concat(u," [").concat(o,"]"));return[4,G(a,"Select an account")];case 2:return"> Back"===(i=d.sent())?[2]:(l=a.indexOf(i)-1,[4,Me(e,t,l,n)]);case 3:return d.sent(),[4,Re(e,t,n)];case 4:return d.sent(),[2]}}))}))},Me=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d,p,h,m;return v(this,(function(f){switch(f.label){case 0:return[4,Le(e,t)];case 1:return a=f.sent(),s=a.default_network,"default_network"in a.data[n]&&(s=a.data[n].default_network),[4,nt(e,s)];case 2:return o=f.sent(),c=rt(e,t,n),[4,ct(c,e,s)];case 3:return(u=f.sent()).status?console.log(Pe.green(" Address No: #".concat(n,"\n Network: ").concat(s,"\n ").concat(o.nativeCurrency.symbol," Balance: ").concat(u.output))):console.log(Pe.green(" Address No: #".concat(n,"\n Network: ").concat(s,"\n ").concat(o.nativeCurrency.symbol))),i="> Tag()","tag"in a.data[n]&&""!==a.data[n].tag&&(i="> Tag(".concat(a.data[n].tag,")")),[4,G([i,"> Switch network","> Assets","> Tools","> Dump private key","> Back"])];case 4:switch(l=f.sent(),l){case i:return[3,5];case"> Switch network":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 d="Current tag ()","tag"in a.data[n]&&""!==a.data[n].tag&&(d="Current tag (".concat(a.data[n].tag,")")),[4,q(d,U)];case 6:return p=(p=f.sent()).replace(/\s+/g," ").trim(),a.data[n].tag=p.toLocaleLowerCase(),ze(e,t,a),[3,16];case 7:return[4,st(e,t,n)];case 8:case 10:case 12:return f.sent(),[3,16];case 9:return[4,ie(e,c,s)];case 11:return[4,Oe(e,t,c,r)];case 13:return h=rt(e,t,n),[4,r.account.showPrivateKey(h)];case 14:return m=f.sent(),console.log("account: ",h),console.log("private key: ",m),[3,16];case 15:case 16:return[2]}}))}))},Je=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c;return v(this,(function(u){switch(u.label){case 0:return[4,Le(e,t)];case 1:return r=u.sent(),a=["> Back"],s="","tag"in r&&""!==r.tag&&(s="(".concat(r.tag,")")),a.push("#0 ".concat(r.ciphertexts.address," ").concat(s," [").concat(r.default_network,"]")),[4,G(a,"Select an account")];case 2:return"> Back"===u.sent()?[2]:(o=r.default_network,[4,nt(e,o)]);case 3:return c=u.sent(),console.log(Pe.green(" Address No: #0\n Network: ".concat(o,"\n ").concat(c.nativeCurrency.symbol," Balance: 0"))),[4,Ee(e,t,n)];case 4:return u.sent(),[4,Je(e,t,n)];case 5:return u.sent(),[2]}}))}))},Ee=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:return[4,Le(e,t)];case 1:return r=l.sent(),a="> Tag()","tag"in r&&""!==r.tag&&(a="> Tag(".concat(r.tag,")")),[4,G([a,"> Switch network","> Assets","> Tools","> Dump private key","> Back"])];case 2:switch(s=l.sent(),s){case a:return[3,3];case"> Switch network":return[3,5];case"> Assets":return[3,7];case"> Tools":return[3,9];case"> Dump private key":return[3,11];case"> Back":return[3,13]}return[3,14];case 3:return o="Current tag ()","tag"in r&&""!==r.tag&&(o="Current tag (".concat(r.tag,")")),[4,q(o,U)];case 4:return c=l.sent(),r.tag=c.replace(/\s+/g," ").trim().toLocaleLowerCase(),ze(e,t,r),[3,14];case 5:return[4,ot(e,t,!1)];case 6:case 8:case 10:return l.sent(),[3,14];case 7:return u=at(e,t),[4,ie(e,u,r.default_network)];case 9:return u=at(e,t),[4,Oe(e,t,u,n)];case 11:return u=at(e,t),[4,n.account.showPrivateKey(u)];case 12:return i=l.sent(),console.log("account: ",u),console.log("private key: ",i),[3,14];case 13:return[2];case 14:return[4,Ee(e,t,n)];case 15:return l.sent(),[2]}}))}))},Ge=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,Le(e,t)];case 1:a=i.sent(),s=a.data.length,(o=new Be.SingleBar({},Be.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(Pe.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(),ze(e,t,a),[2]}}))}))},De=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,Le(e,t)];case 1:return(a=s.sent()).data=a.data.slice(0,n+1),ze(e,t,a),r.account.reloadAccount(),[2]}}))}))},$e=function(n,r){return g(void 0,void 0,void 0,(function(){var a,s;return v(this,(function(o){switch(o.label){case 0:return a=t.resolve(n,"accounts"),e.existsSync(a)||e.mkdirSync(a),[4,G(["> Select an account","> Create a new account","> Back"])];case 1:switch(s=o.sent(),s){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,Ue(n,r)];case 3:case 5:return o.sent(),[3,7];case 4:return[4,je(n,r)];case 6:return[2];case 7:return[4,$e(n,r)];case 8:return o.sent(),[2]}}))}))},He=require("chalk"),Ke=function(n){return g(void 0,void 0,void 0,(function(){var r,a;return v(this,(function(s){return r=t.resolve(n,"network.json"),e.existsSync(r)||(a={networks:F,currentNetwork:"Ethereum Mainnet",accounts:[]},e.writeFileSync(r,JSON.stringify(a,null,2))),[2]}))}))},We=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("> Back"),[4,G(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,Ze(e,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,Xe(e,t)];case 6:return[3,7];case 7:return[2]}}))}))},Ze=function(n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d,p,h,m,f,g;return v(this,(function(v){switch(v.label){case 0:for(a=t.resolve(n,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=[],g=0;g<s.networks.length;g++)c=s.networks[g],o.push(c.name);return u=r.rpcUrl,i=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,$(r.chainId.toString(),"Rpc Url (default: ".concat(r.rpcUrl,")"),!0)];case 1:return u=v.sent(),[3,9];case 2:return[4,q("Chain Name (default: ".concat(r.name,")"))];case 3:return(d=v.sent())&&d!==r.name&&o.includes(d)?(console.log(He.red("Chain Name already exists")),[2]):[4,D("Chain Id (default: ".concat(r.chainId,")"),!0)];case 4:return i=v.sent(),[4,$(i||r.chainId,"RPC Url (default: ".concat(r.rpcUrl,")"),!0)];case 5:return u=v.sent(),[4,K("Symbol (default: ".concat(r.nativeCurrency.symbol,")"))];case 6:return l=v.sent(),[4,H(r.multicallAddress?"Multicall Address (Optional) (default: ".concat(r.multicallAddress,")"):"Multicall Address (Optional)")];case 7:return p=v.sent(),[4,W(r.color?"Color (Optional): (default: ".concat(r.color,")"):"Color (Optional)")];case 8:h=v.sent(),v.label=9;case 9:for(m=C(i),f={name:d||r.name,chainId:Number(i)||r.chainId,rpcUrl:u||r.rpcUrl,nativeCurrency:{name:l||r.nativeCurrency.symbol,symbol:l||r.nativeCurrency.symbol,decimals:m||r.nativeCurrency.decimals}},(p||r.multicallAddress)&&(f.multicallAddress=p||r.multicallAddress),(h||r.color)&&(f.color=h||r.color),g=0;g<s.networks.length;g++)if(s.networks[g].name===r.name){s.networks[g]=f;break}return e.writeFileSync(a,JSON.stringify(s,null,2)),[2]}}))}))},Xe=function(n,r){return g(void 0,void 0,void 0,(function(){var a,s,o;return v(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]}))}))},Ve=function(n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l,d,p,h,m,f;return v(this,(function(g){switch(g.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(He.green("Please input someting about network")),[4,q("Chain Name")];case 1:return u=g.sent(),s.includes(u)?(console.log(He.red("Chain Name already exists")),[2]):[4,D("Chain Id")];case 2:return(i=g.sent())?[4,$(i,"RPC Url")]:[2];case 3:return(l=g.sent())?[4,K("Symbol")]:[2];case 4:return(d=g.sent())?[4,H("Multicall Address (Optional)")]:[2];case 5:return p=g.sent(),[4,W("Color (Optional)")];case 6:return h=g.sent(),m=C(i),f={name:u,chainId:Number(i),rpcUrl:l,nativeCurrency:{name:d,symbol:d,decimals:m}},p&&(f.multicallAddress=p),h&&(f.color=h),a.networks.push(f),e.writeFileSync(r,JSON.stringify(a,null,2)),[2]}}))}))},Qe=function(n){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d,p,h,m,f,g;return v(this,(function(v){switch(v.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"===j(p.chainId.toString())?c.push(l):o.push(l);for(u=["> Back",new r.Separator("----Networks(evm)----")],l=0;l<o.length;l++)i=o[l],p=s.networks[i],h="".concat(l+1,".").concat(p.name),0===l&&(h+=" 🔒"),u.push(h);for(u.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+=" 🔒"),u.push(h);return[4,G(u)];case 1:return"> Back"===(m=v.sent())?[2]:(f=u.indexOf(m),g=f<o.length+2?s.networks[o[f-2]]:s.networks[c[f-o.length-3]],[4,We(n,g)]);case 2:return v.sent(),[4,Qe(n)];case 3:return v.sent(),[2]}}))}))},Ye=function(e){return g(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return[4,G(["> Available Networks","> Add Network","> Back"])];case 1:switch(t=n.sent(),t){case"> Available Networks":return[3,2];case"> Add Network":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Qe(e)];case 3:case 5:return n.sent(),[3,7];case 4:return[4,Ve(e)];case 6:return[2];case 7:return[4,Ye(e)];case 8:return n.sent(),[2]}}))}))},et=function(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=t.resolve(n,"network.json"),a=JSON.parse(e.readFileSync(r,"utf8")),s=a.networks.map((function(e){return"> ".concat(e.name)})),[4,G(s,"Please select a default network")];case 1:return[2,o.sent().slice(2)]}}))}))},tt=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 j(c.chainId.toString())}return"unknown"},nt=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},rt=function(e,t,n){var r=Le(e,t),a=r.default_network;r.data[n].default_network&&""!==r.data[n].default_network&&(a=r.data[n].default_network);var s=tt(e,a);return"solana"===s?r.data[n].ciphertexts.solana.address:"evm"===s?r.data[n].ciphertexts.evm.address:null},at=function(e,t){return Le(e,t).ciphertexts.address},st=function(n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,u,i,l,d,p,h,m,f,g,w,b;return v(this,(function(v){switch(v.label){case 0:for(s=t.resolve(n,"network.json"),o=JSON.parse(e.readFileSync(s,"utf8")),c=o.networks,u=c.length,i=Le(n,r),l=["> Back"],(d=i.data[a].default_network)&&""!==d?l.push("○ Same as the account setting"):l.push("● Same as the account setting"),p=0;p<u;p++)h=c[p],m=void 0,m=j(h.chainId.toString())?i.data[a].ciphertexts.solana.address:i.data[a].ciphertexts.evm.address,h.name===d?l.push("● ".concat(m," [").concat(h.name,"]")):l.push("○ ".concat(m," [").concat(h.name,"]"));return[4,G(l)];case 1:return"> Back"===(f=v.sent())||(1===(g=l.indexOf(f))?delete i.data[a].default_network:i.data[a].default_network=c[g-2].name,ze(n,r,i),w=i.default_network,"default_network"in i.data[a]&&""!==i.data[a].default_network&&(w=i.data[a].default_network),b=nt(n,w),console.log(He.green(" Address No: #".concat(a,"\n Network: ").concat(w,"\n ").concat(b.nativeCurrency.symbol," Balance: 0")))),[2]}}))}))},ot=function(n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,u,i,l,d,p,h,m,f,g,w,b,y,k,S;return v(this,(function(v){switch(v.label){case 0:for(s=t.resolve(n,"network.json"),o=JSON.parse(e.readFileSync(s,"utf8")),c=o.networks,u=c.length,i=Le(n,r),l=["> Back"],d=i.default_network,p="",a||(p=i.ciphertexts.address),h=[],m=tt(n,d),f=0;f<u;f++)g=c[f],w=tt(n,g.name),"PK"===i.account_type&&m!==w||(g.name===d?a?l.push("● ".concat(g.name)):l.push("● ".concat(p," [").concat(g.name,"]")):a?l.push("○ ".concat(g.name)):l.push("○ ".concat(p," [").concat(g.name,"]")),h.push(g.name));return[4,G(l)];case 1:return"> Back"===(b=v.sent())||(y=l.indexOf(b),i.default_network=h[y-1],ze(n,r,i),a||(k=i.default_network,S=nt(n,k),console.log(He.green(" Address No: #0\n Network: ".concat(k,"\n ").concat(S.nativeCurrency.symbol," Balance: 0"))))),[2]}}))}))},ct=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c;return v(this,(function(u){switch(u.label){case 0:return r=nt(t,n),a=r.rpcUrl,s=r.nativeCurrency.decimals,"solana"!==j(r.chainId.toString())?[3,2]:[4,y(e,a)];case 1:return o=u.sent(),[3,4];case 2:return[4,b(e,a)];case 3:o=u.sent(),u.label=4;case 4:return o.status&&(c=new f(o.output.toString()),o.output=c.dividedBy(Math.pow(10,s)).toFixed(4,f.ROUND_FLOOR)),[2,o]}}))}))},ut=function(e,t,n){var r=Le(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},it=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"===j(a[c].chainId.toString())&&o.push(a[c].name);return o};require("wative-core").WativeCore;var lt=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,G(["> 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,Ye(e)];case 3:case 5:case 7:return r.sent(),[3,9];case 4:return[4,$e(e,t)];case 6:return[4,Ae(e,t)];case 8:return[2];case 9:return[4,lt(e,t)];case 10:return r.sent(),[2]}}))}))},dt=require("wative-core").WativeCore,pt=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 r,a,s,o;return v(this,(function(c){switch(c.label){case 0:return console.log("version:",pt.version),console.log(T.green(n.textSync("Wative",{font:"Ghost",horizontalLayout:"default",verticalLayout:"default"}))),[4,g(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return[4,q("Keystore storage located in (default: ".concat(z,")"))];case 1:return(t=n.sent())||(t=z),t=(t=t.trim()).replace("~",L),e.existsSync(t)||e.mkdirSync(t,{recursive:!0}),[2,t]}}))}))];case 1:return r=c.sent(),[4,Ke(r)];case 2:return c.sent(),a=t.resolve(r,"network.json"),s=JSON.parse(e.readFileSync(a,"utf8")),o=new dt(r,s.accounts),[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),m=l(n),f=i(r),h=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=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 h.default(e),[4,ee(t.eth.getChainId,[])];case 1:return[2,n.sent()]}}))}))},w=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 h.default(t),[4,ee(n.eth.getBalance,[e])];case 1:return[2,r.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 s.Connection(t),[4,ee(n.getBalance.bind(n),[new s.PublicKey(e)])];case 1:return[2,r.sent()]}}))}))},k=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 h.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,ee(r.methods.symbol().call.bind(r),[])];case 1:return a=c.sent(),[4,ee(r.methods.name().call.bind(r),[])];case 2:return s=c.sent(),[4,ee(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"}]}}))}))},S=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,ee(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 h.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,ee(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"}]}}))}))},x=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,ee(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 h.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])]}))}))},P=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,ee(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"}]}}))}))},O=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,ee(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"}]}}))}))},A=["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"],C=[{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"],F=function(e){return j.includes(e)?9:18},_=function(e){return j.includes(e)?"solana":"evm"},T=require("chalk"),q=process.env.HOME||process.env.USERPROFILE,L="".concat(q,"/.wative"),I=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,f.default.prompt(n)];case 1:return[2,r.sent().inputText.trim().toString()]}}))}))},z=function(e){return""===e||((e=e.replace(/\s+/g," ").trim()).length>10?"Tag length should be less than 10":!1!==/^[0-9a-zA-Z\s]*$/g.test(e)||"Tag should be alphanumeric")},U=function(e){return!isNaN(Number(e))||"Value should be a number"},R=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===A.includes(t[n]))return"Passphrase word should be valid";return!0},M=function(e){var t=Number(e);return isNaN(t)?"Amount should be a number":!(t>2e3)||"Amount should be less than 2000"},K=function(e){var t=Number(e);return!isNaN(t)||"Last account no should be a number"},J=function(e){return"unknown"!=te(e)||"Address should be valid"},E=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,f.default.prompt(r)];case 1:return[2,a.sent().inputText.toString()]}}))}))},G=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,I(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]}}))}))},D=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,I(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"===_(e)?[2,a]:[4,b(a)];case 4:return(s=c.sent()).status?s.output.toString()===e.toString()?[2,a]:(console.log(T.red("Rpc url not match chain id")),[3,6]):(console.log(T.red(s.output)),[3,6]);case 5:return o=c.sent(),console.log(T.red(o.message)),[3,6];case 6:return r++,[3,1];case 7:return[2,null]}}))}))},$=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,I(e)]:[3,4];case 2:if(""===(n=r.sent()))return[2,null];if(""!==n&&42!==n.length)return console.log(T.red("Multicall address length must be 42")),[3,3];r.label=3;case 3:return t++,[3,1];case 4:return[2,null]}}))}))},H=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,I(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]}}))}))},W=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,I(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]}}))}))},Z=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]{2,20}$/g,r=0,s.label=1;case 1:return r<5?[4,I(e)]:[3,4];case 2:if(a=(a=s.sent()).trim(),n.test(a))return t.includes(a)?(console.log(T.red("Account label already exists")),[3,3]):[2,a.toLocaleLowerCase()];s.label=3;case 3:return r++,[3,1];case 4:return[2,null]}}))}))},X=function(e){var t="Password must contain at least: \n",n=!0,r=" ",a=T.green("✔"),s=T.red("✖");return e.length>=8?t+=r+a+" 8 characters\n":(t+=r+s+" 8 characters\n",n=!1),/[0-9]/.test(e)?t+=r+a+" One numerical character\n":(t+=r+s+" One numerical character\n",n=!1),/[A-Z]/.test(e)?t+=r+a+" One uppercase letter\n":(t+=r+s+" One uppercase letter\n",n=!1),/[!@#$%]/.test(e)?t+=r+a+" One sepcial character (i.e. !@#$%)\n":(t+=r+s+" One sepcial character (i.e. !@#$%)\n",n=!1),!!n||t},V=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:"password",type:"password",mask:"#",message:"".concat(e,":"),validate:X}],[4,f.default.prompt(t)];case 1:return[2,n.sent().password]}}))}))},Q=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,f.default.prompt(n)];case 1:return[2,r.sent().editor.trim().toString()]}}))}))},Y=function(e){return!!/^0x[0-9a-fA-F]*$/g.test(e)},ee=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]}}))}))},te=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"},ne=function(e){return e=e.trim(),d.existsSync(e)},re=require("chalk"),ae=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"),ne(n)?(r=d.readFileSync(n).toString(),a=JSON.parse(r),t in a?[2,a[t]]:[2,[]]):[2,[]]}))}))},se=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,ae(e,t)];case 1:for(r=o.sent(),a=[],s=0;s<r.length;s++)r[s].symbol===n&&a.push(r[s]);return[2,a]}}))}))},oe=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=tt(e,t),a=nt(e,t),[4,ae(e,a.chainId.toString())];case 1:return(s=i.sent())?[4,le(n,s,a.rpcUrl,r)]:(console.log(re.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(re.green("".concat(c,". ").concat(o[u].symbol," Balance: ").concat(o[u].balance))),c+=1);return 1===c&&console.log(re.red("No asset found")),[2]}}))}))},ce=function(e,t,n,r,a,s){return g(void 0,void 0,void 0,(function(){var o,c,u;return v(this,(function(i){return o=p.join(e,"assets.json"),c={},ne(o)&&(u=d.readFileSync(o).toString(),c=JSON.parse(u)),void 0===c[t]&&(c[t]=[]),c[t].push({address:n,symbol:r,name:a,decimals:s}),d.writeFileSync(o,JSON.stringify(c,null,4)),[2]}))}))},ue=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,I("Please input Token address",J)];case 1:return n=u.sent(),r=tt(e,t),a=nt(e,t),"evm"!==r?[3,3]:(i=n).startsWith("0x")&&42===i.length?[4,k(n,a.rpcUrl)]:(console.log(re.red("evm address format error")),[2]);case 2:return s=u.sent(),[3,5];case 3:return function(e){return/^[A-HJ-NP-Za-km-z1-9]*$/.test(e)}(n)?[4,S(n,a.rpcUrl)]:(console.log(re.red("solana address format error")),[2]);case 4:s=u.sent(),u.label=5;case 5:return s.status?s.output.name?[3,7]:(o=s.output,[4,I("Please input token name")]):(console.log(re.red(s.output)),[2]);case 6:o.name=u.sent(),u.label=7;case 7:return s.output.symbol?[3,9]:(c=s.output,[4,I("Please input token symbol")]);case 8:c.symbol=u.sent(),u.label=9;case 9:return[4,ce(e,a.chainId.toString(),n,s.output.symbol,s.output.name,s.output.decimals)];case 10:return u.sent(),console.log(re.green("Asset added successfully")),[2]}var i}))}))},ie=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[4,E(["> Show Assets","> Add Asset","> Back"])];case 1:switch(r=a.sent(),r){case"> Show Assets":return[3,2];case"> Add Asset":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,oe(e,n,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,ue(e,n)];case 6:return[2];case 7:return[4,ie(e,t,n)];case 8:return a.sent(),[2]}}))}))},le=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,i,l,d,p,m;return v(this,(function(f){switch(f.label){case 0:for(a=t.length,s=[],i=0;i<a;i++)l=t[i],"evm"===r?s.push(N(e,l.address,n)):"solana"===r&&s.push(x(e,l.address,n));return[4,Promise.all(s)];case 1:for(o=f.sent(),c=[],i=0;i<a;i++){if(l=t[i],d=l.decimals,!o[i].status)return console.log(re.red(o[i].output)),[2,null];p=new u.BigNumber(o[i].output),m=p.dividedBy(Math.pow(10,d)).toFixed(4,u.BigNumber.ROUND_FLOOR),c.push({address:l.address,symbol:l.symbol,balance:m})}return[2,c]}}))}))},de=require("bn.js").BN,pe=require("ethereumjs-util").stripHexPrefix,me=require("bignumber.js").BigNumber;function fe(e){return new de(pe(e.toString("hex")),16)}var he=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 ge(e){return he(e.toString(16))}var ve=function(){function e(e){this.query=new h.default(h.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=fe(t.gasLimit),u=n,i=20,l=new de(19),d=new de(i),r=u.mul(l).div(d),a=ge(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 me(t.toString()).multipliedBy(1.3).toFixed(0)]}}))}))},e.prototype.addGasBuffer=function(e,t,n){void 0===n&&(n=1.3);var r=fe(e),a=fe(t).muln(.9),s=r.muln(n);return r.gt(a)?ge(r):s.lt(a)?ge(s):ge(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(he(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}(),be=require("chalk");require("wative-core").WativeCore;var we=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 f.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 f.default.Separator("——————————————-"),"Send it now"],[4,E(t)];case 1:return n=d.sent(),1!==(r=t.indexOf(n))?[3,3]:(a=e,[4,I("from",J)]);case 2:a.from=d.sent(),d.label=3;case 3:return 2!==r?[3,5]:(s=e,[4,I("to",J)]);case 4:s.to=d.sent(),d.label=5;case 5:return 3!==r?[3,7]:(o=e,[4,I("nonce")]);case 6:o.nonce=d.sent(),d.label=7;case 7:return 4!==r?[3,9]:(c=e,[4,I("gasPrice")]);case 8:c.gasPrice=d.sent(),d.label=9;case 9:return 5!==r?[3,11]:(u=e,[4,Q("data")]);case 10:u.data=d.sent(),d.label=11;case 11:return 6!==r?[3,13]:(i=e,[4,I("value")]);case 12:i.value=d.sent(),d.label=13;case 13:return 7!==r?[3,15]:(l=e,[4,I("gas")]);case 14:l.gas=d.sent(),d.label=15;case 15:return 9===r?[2,e]:[4,we(e)];case 16:return d.sent(),[2]}}))}))},ye=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,i,l,d,p,m,f,b,y,k,S,N,x,B,P,O,A,C,j,F,_,T,q,L,z,R;return v(this,(function(M){switch(M.label){case 0:return[4,I("to",J)];case 1:return a=M.sent(),[4,(s=new ve(e)).getGasPrice()];case 2:return o=M.sent(),c=new u.BigNumber(o.toString()).dividedBy(1e9),i=c.toFixed(4,u.BigNumber.ROUND_FLOOR),[4,I("Gas price (".concat(i,"), agree or enter"))];case 3:return l=M.sent(),d=l||i,d=new u.BigNumber(d).multipliedBy(1e9).toFixed(0),[4,(K=a,G=e,g(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return e=new h.default(G),[4,ee(e.eth.getCode.bind(e),[K])];case 1:return(t=n.sent()).status?[2,{status:!0,output:t.output}]:[2,{status:!1,output:"Failed to get code"}]}}))})))];case 4:return(p=M.sent()).status?"0x"!==p.output?[3,10]:(m="0x",[4,w(n,e)]):(console.log(be.red(p.output)),[2]);case 5:return(b=M.sent()).status?(y=new u.BigNumber(b.output),k=new u.BigNumber(d),S=y.minus(k.multipliedBy(21e3)).toFixed(0,u.BigNumber.ROUND_FLOOR),N=new u.BigNumber(S).dividedBy(1e18).toFixed(4,u.BigNumber.ROUND_FLOOR),new u.BigNumber(N)<new u.BigNumber(0)?(console.log(be.red("Not enough balance")),[2]):(x=["> Input value","> Total Balance (".concat(N," ").concat(t,")")],[4,E(x)])):(console.log(be.red(b.output)),[2]);case 6:return B=M.sent(),0!==(P=x.indexOf(B))?[3,8]:[4,I("value",U)];case 7:return O=M.sent(),f=new u.BigNumber(O).multipliedBy(1e18).toFixed(0,u.BigNumber.ROUND_FLOOR),[3,9];case 8:1===P&&(f=S),M.label=9;case 9:return new u.BigNumber(f).isGreaterThan(new u.BigNumber(S))?(console.log(be.red("Not enough balance")),[2]):[3,13];case 10:return[4,Q("data",Y)];case 11:return m=M.sent(),[4,I("value",U)];case 12:f=M.sent(),M.label=13;case 13:return[4,s.getTransactionCount(n)];case 14:return A=M.sent(),[4,I("Nonce (".concat(A,"), agree or enter"))];case 15:return C=M.sent(),j=C||A.toString(),F={from:n,to:a,nonce:j,gasPrice:d,data:m,value:f},"0x"!==m?[3,16]:(F.gas="21000",[3,21]);case 16:_=F.gasPrice,delete F.gasPrice,M.label=17;case 17:return M.trys.push([17,19,,20]),T=F,q="gas",[4,s.estimateTxGas(F)];case 18:return T[q]=M.sent().toString(),[3,20];case 19:return L=M.sent(),console.log(be.red("Error: "+L)),[2];case 20:F.gasPrice=_,M.label=21;case 21:return[4,we(F)];case 22:return F=M.sent(),[4,r.account.signTransaction(n,F,e)];case 23:return(z=M.sent()).status?[4,r.account.sendSignedTransaction(n,z.output.rawTransaction,e)]:(console.log(be.red(z.output)),[2]);case 24:return(R=M.sent()).status?(console.log(be.green("Transaction hash: ".concat(R.output.transactionHash))),[2]):(console.log(be.red(R.output)),[2])}var K,G}))}))},ke=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,o,c,i,l,d,p,m,f,h,g,b,w,k,S,N,x,B,O;return v(this,(function(v){switch(v.label){case 0:return[4,I("to",J)];case 1:return a=v.sent(),(o=(new s.Transaction).add(s.SystemProgram.transfer({fromPubkey:new s.PublicKey(n),toPubkey:new s.PublicKey(a),lamports:1}))).add(s.ComputeBudgetProgram.setComputeUnitLimit({units:2e5})),o.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:1e3})),[4,r.account.simulateTransaction(n,e,o)];case 2:return(c=v.sent()).status?c.output&&c.output.value&&0!==c.output.value.unitsConsumed&&!c.output.value.err?(i=new u.BigNumber(c.output.value.unitsConsumed.toString()),[4,P(e)]):(console.log(be.red("Simulate error")),[2]):(console.log(be.red(c.output)),[2]);case 3:return(l=v.sent()).status?(d=new u.BigNumber(l.output.toString()),p=i.multipliedBy(d).toFixed(0,u.BigNumber.ROUND_CEIL),[4,y(n,e)]):(console.log(be.red(l.output)),[2]);case 4:return(m=v.sent()).status?(f=new u.BigNumber(m.output),h=f.minus(5e3).minus(p),g=new u.BigNumber(h).dividedBy(1e9).toFixed(4,u.BigNumber.ROUND_FLOOR),new u.BigNumber(g)<new u.BigNumber(0)?(console.log(be.red("Not enough balance")),[2]):(b=["> Input value","> Total Balance (".concat(g," ").concat(t,")")],[4,E(b)])):(console.log(be.red(m.output)),[2]);case 5:return w=v.sent(),k=b.indexOf(w),S="0",0!==k?[3,7]:[4,I("value",U)];case 6:return N=v.sent(),S=new u.BigNumber(N).multipliedBy(1e9).toFixed(0,u.BigNumber.ROUND_FLOOR),new u.BigNumber(S).isGreaterThan(new u.BigNumber(h))?(console.log(be.red("Not enough balance")),[2]):[3,8];case 7:1===k&&(S=h.toString()),v.label=8;case 8:return(x=new s.Transaction).add(s.ComputeBudgetProgram.setComputeUnitLimit({units:Math.ceil(2*Number(i))})),x.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:Number(d)})),x.add(s.SystemProgram.transfer({fromPubkey:new s.PublicKey(n),toPubkey:new s.PublicKey(a),lamports:Number(S)})),[4,r.account.signTransaction(n,x,e)];case 9:return(B=v.sent()).status?[4,r.account.sendSignedTransaction(n,B.output,e)]:(console.log(be.red(B.output)),[2]);case 10:return(O=v.sent()).status?(console.log(be.green("Transaction hash: ".concat(O.output))),[2]):(console.log(be.red(O.output)),[2])}}))}))},Se=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,i,l,d,p,m,f,h,g,b,w,y,S,x,P,O,A,C,j,F,_,T,q,L,z,R,M,K,G,D,$;return v(this,(function(v){switch(v.label){case 0:return[4,E(["> 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,I("token ticker")];case 3:return i=v.sent(),[4,se(e,n,i)];case 4:if(0===(l=v.sent()).length)return console.log(be.red("Token not found")),[2];d=[],p=0,v.label=5;case 5:return p<l.length?[4,N(r,l[p].address,t)]:[3,8];case 6:if(!(m=v.sent()).status)return console.log(be.red(m.output)),[2];if(f=new u.BigNumber(m.output),h=f.dividedBy(Math.pow(10,Number(l[p].decimals))).toFixed(4,u.BigNumber.ROUND_FLOOR),1===l.length)return d.push("> 1. ".concat(i," Balance: ").concat(h)),[3,8];d.push("> ".concat(p+1,". ").concat(i," Balance: ").concat(h,"(").concat(l[p].address,")")),d.push(l[p].address),v.label=7;case 7:return p++,[3,5];case 8:return[4,E(d)];case 9:return g=v.sent(),b=l[d.indexOf(g)],o=b.address,c=Number(b.decimals),[3,13];case 10:return[4,I("token contract address",J)];case 11:return o=v.sent(),[4,k(o,t)];case 12:return(w=v.sent()).status?(c=Number(w.output.decimals),[3,13]):(console.log(be.red(w.output)),[2]);case 13:return[4,I("Receipt",J)];case 14:return y=v.sent(),[4,I("Amount",U)];case 15:return S=v.sent(),[4,(x=new ve(t)).getGasPrice()];case 16:return P=v.sent(),O=new u.BigNumber(P.toString()).dividedBy(1e9),A=O.toFixed(4,u.BigNumber.ROUND_FLOOR),[4,I("Gas price (".concat(A,"), agree or enter"))];case 17:return C=v.sent(),j=C||A,j=new u.BigNumber(j).multipliedBy(1e9).toFixed(0),F=new u.BigNumber(S).multipliedBy(Math.pow(10,c)).toFixed(0),[4,B(y,F,t)];case 18:return _=v.sent(),[4,x.getTransactionCount(r)];case 19:return T=v.sent(),[4,I("Nonce (".concat(T,"), agree or enter"))];case 20:return q=v.sent(),L=q||T.toString(),z={from:r,to:o,nonce:L,gasPrice:j,data:_,value:"0"},"0x"!==_?[3,21]:(z.gas="21000",[3,26]);case 21:R=z.gasPrice,delete z.gasPrice,v.label=22;case 22:return v.trys.push([22,24,,25]),M=z,K="gas",[4,x.estimateTxGas(z)];case 23:return M[K]=v.sent().toString(),[3,25];case 24:return G=v.sent(),console.log(be.red("Failed to estimate gas, "+G.message)),[2];case 25:z.gasPrice=R,v.label=26;case 26:return[4,we(z)];case 27:return z=v.sent(),[4,a.account.signTransaction(r,z,t)];case 28:return(D=v.sent()).status?[4,a.account.sendSignedTransaction(r,D.output.rawTransaction,t)]:(console.log(be.red(D.output)),[2]);case 29:return($=v.sent()).status?(console.log(be.green("Transaction hash: ".concat($.output.transactionHash))),[2]):(console.log(be.red($.output)),[2])}}))}))},Ne=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var c,i,l,d,p,m,f,h,g,b,w,y,k,N,B,A,C,j,F,_,T,q,L,z,R,M,K,G;return v(this,(function(v){switch(v.label){case 0:return[4,E(["> 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,I("token ticker")];case 3:return d=v.sent(),[4,se(e,n,d)];case 4:if(0===(p=v.sent()).length)return console.log(be.red("Token not found")),[2];m=[],f=0,v.label=5;case 5:return f<p.length?[4,x(r,p[f].address,t)]:[3,8];case 6:if(!(h=v.sent()).status)return console.log(be.red(h.output)),[2];if(g=new u.BigNumber(h.output),b=g.dividedBy(Math.pow(10,Number(p[f].decimals))).toFixed(4,u.BigNumber.ROUND_FLOOR),1===p.length)return m.push("> 1. ".concat(d," Balance: ").concat(b)),[3,8];m.push("> ".concat(f+1,". ").concat(d," Balance: ").concat(b,"(").concat(p[f].address,")")),m.push(p[f].address),v.label=7;case 7:return f++,[3,5];case 8:return[4,E(m)];case 9:return w=v.sent(),y=p[m.indexOf(w)],i=y.address,l=Number(y.decimals),[3,13];case 10:return[4,I("token contract address",J)];case 11:return i=v.sent(),[4,S(i,t)];case 12:return(k=v.sent()).status?(l=Number(k.output.decimals),[3,13]):(console.log(be.red(k.output)),[2]);case 13:return[4,I("Receipt",J)];case 14:return N=v.sent(),[4,I("Amount",U)];case 15:return B=v.sent(),A=new u.BigNumber(B).multipliedBy(Math.pow(10,l)).toFixed(0),C=o.getAssociatedTokenAddressSync(new s.PublicKey(i),new s.PublicKey(r),!0),[4,O(C.toString(),t)];case 16:return(j=v.sent()).status?j.output&&j.output.owner.toString()!==s.PublicKey.default?(F=o.getAssociatedTokenAddressSync(new s.PublicKey(i),new s.PublicKey(N),!1),[4,O(F.toString(),t)]):(console.log(be.red("From token account not found")),[2]):(console.log(be.red(j.output)),[2]);case 17:return(_=v.sent()).status?(T=new s.Transaction,q=new s.Transaction,_.output&&_.output.owner.toString()!==s.PublicKey.default||(T.add(o.createAssociatedTokenAccountInstruction(new s.PublicKey(r),new s.PublicKey(F),new s.PublicKey(N),new s.PublicKey(i))),q.add(o.createAssociatedTokenAccountInstruction(new s.PublicKey(r),new s.PublicKey(F),new s.PublicKey(N),new s.PublicKey(i)))),T.add(o.createTransferInstruction(C,F,new s.PublicKey(r),Number(A))),T.add(s.ComputeBudgetProgram.setComputeUnitLimit({units:2e5})),T.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:1e3})),[4,a.account.simulateTransaction(r,t,T)]):(console.log(be.red(_.output)),[2]);case 18:return(L=v.sent()).status?L.output&&L.output.value&&0!==L.output.value.unitsConsumed&&!L.output.value.err?(z=new u.BigNumber(L.output.value.unitsConsumed.toString()),[4,P(t)]):(console.log(be.red("Simulate error")),[2]):(console.log(be.red(L.output)),[2]);case 19:return(R=v.sent()).status?(M=new u.BigNumber(R.output.toString()),q.add(o.createTransferInstruction(C,F,new s.PublicKey(r),Number(A))),q.add(s.ComputeBudgetProgram.setComputeUnitLimit({units:Math.ceil(1.2*Number(z))})),q.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:Number(M)})),[4,a.account.signTransaction(r,q,t)]):(console.log(be.red(R.output)),[2]);case 20:return(K=v.sent()).status?[4,a.account.sendSignedTransaction(r,K.output,t)]:(console.log(be.red(K.output)),[2]);case 21:return(G=v.sent()).status?(console.log(be.green("Transaction hash: ".concat(G.output))),[2]):(console.log(be.red(G.output)),[2])}}))}))},xe=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d;return v(this,(function(p){switch(p.label){case 0:return a=ut(e,t,n),s=tt(e,a),o=te(n),s!==o&&("evm"===o&&(a="Ethereum Mainnet"),"solana"===o&&(a="Solana Mainnet"),s=tt(e,a)),"evm"!==s?[3,3]:[4,(m="Network (".concat(a,"), want a change?"),g(void 0,void 0,void 0,(function(){var e;return v(this,(function(t){switch(t.label){case 0:return e=[{name:"confirm",type:"confirm",message:"".concat(m)}],[4,f.default.prompt(e)];case 1:return[2,t.sent().confirm]}}))})))];case 1:return p.sent()?(c=it(e),[4,E(c,"Select a network")]):[3,3];case 2:u=p.sent(),a=u,p.label=3;case 3:return[4,ct(n,e,a)];case 4:return(i=p.sent()).status?(l=nt(e,a),console.log(be.green(" ".concat(l.nativeCurrency.symbol," Balance: ").concat(i.output))),[4,E(["> Send Raw Tx","> Send Token","> Back"])]):(console.log(be.red(i.output)),[2]);case 5:switch(d=p.sent(),d){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,ye(l.rpcUrl,l.nativeCurrency.symbol,n,r)];case 7:p.sent(),p.label=8;case 8:return"solana"!==o?[3,10]:[4,ke(l.rpcUrl,l.nativeCurrency.symbol,n,r)];case 9:p.sent(),p.label=10;case 10:return[3,17];case 11:return"evm"!==o?[3,13]:[4,Se(e,l.rpcUrl,l.chainId.toString(),n,r)];case 12:p.sent(),p.label=13;case 13:return"solana"!==o?[3,15]:[4,Ne(e,l.rpcUrl,l.chainId.toString(),n,r)];case 14:p.sent(),p.label=15;case 15:return[3,17];case 16:case 17:return[2]}var m}))}))},Be=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,E(["> SendTx","> SignMessage","> Back"])];case 1:switch(a=c.sent(),a){case"> SendTx":return[3,2];case"> SignMessage":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,xe(e,t,n,r)];case 3:return c.sent(),[3,7];case 4:return[4,Q("Input the message to sign")];case 5:return s=c.sent(),(o=r.account.signMessage(n,s)).status?(console.log(be.green("Signature: "+o.output)),[3,7]):(console.log(be.red(o.output)),[3,7]);case 6:return[2];case 7:return[4,Be(e,t,n,r)];case 8:return c.sent(),[2]}}))}))},Pe=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[4,I("Input the address to send tx",J)];case 1:return n=a.sent(),null!==(r=t.account.getAccountLabel(n))?[3,3]:(console.log(be.red("Account not found")),[4,Pe(e,t)]);case 2:case 5:case 8:return a.sent(),[2];case 3:return[4,Ie(r,t)];case 4:return a.sent()?[3,6]:[4,Pe(e,t)];case 6:return[4,Be(e,r,n,t)];case 7:return a.sent(),[4,Pe(e,t)]}}))}))},Oe=require("chalk"),Ae=require("cli-progress");require("wative-core").WativeCore;var Ce=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=Te(e),n=[],t.accounts&&(n=t.accounts),[4,Z("Account Label",n)];case 1:return null===(r=o.sent())?[2,null]:[4,V("Please set a password for Account [".concat(r,"]"))];case 2:return a=o.sent(),[4,et(e)];case 3:return s=o.sent(),[2,{account_label:r,password:a,selected_default_network:s}]}}))}))},je=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,Ce(e)];case 1:return(n=u.sent())?[4,I("Please enter a mnemonic [split by space]",R)]:[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(Oe.red(a.output)),[2])}}))}))},Fe=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u;return v(this,(function(i){switch(i.label){case 0:return[4,Ce(e)];case 1:return(n=i.sent())?[4,I("Please enter a private key")]:[2];case 2:return r=i.sent(),[4,nt(e,n.selected_default_network)];case 3:return a=i.sent(),[4,t.account.generatePKAccount(n.account_label,r,n.password,a.chainId)];case 4:return(s=i.sent()).status?(o=p.join(e,"accounts/".concat(n.account_label,".json")),s.output.default_network=n.selected_default_network,d.writeFileSync(o,JSON.stringify(s.output,null,4)),c=p.resolve(e,"network.json"),(u=JSON.parse(d.readFileSync(c,"utf8"))).accounts.push(n.account_label),d.writeFileSync(c,JSON.stringify(u,null,4)),[2]):(console.log(Oe.red(s.output)),[2])}}))}))},_e=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,E(["> Import Passphrase","> Import Private Key","> Back"])];case 1:switch(n=r.sent(),n){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,je(e,t)];case 3:case 5:return r.sent(),[3,7];case 4:return[4,Fe(e,t)];case 6:case 7:return[2]}}))}))},Te=function(e){var t=p.resolve(e,"network.json");return JSON.parse(d.readFileSync(t,"utf8"))},qe=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))},Ie=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 t.account.isLogin(e)?[2,!0]:[4,V("Please input the password for Account [".concat(e,"]"))];case 1:return n=a.sent(),[4,t.account.login(e,n)];case 2:return(r=a.sent()).status?[2,!0]:(console.log(Oe.red(r.output)),[2,!1])}}))}))},ze=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i,l;return v(this,(function(d){switch(d.label){case 0:if(n=Te(e),r=n.accounts,a=["> Back"],0===(s=r.length))return console.log(Oe.red("No address here yet")),[2];for(o=0;o<s;o++)c=r[o],"PP"===(u=qe(e,c)).account_type?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,E(a,"Select an account")];case 1:return"> Back"===(i=d.sent())?[2]:(l=r[a.indexOf(i)-1],[4,Ie(l,t)]);case 2:return d.sent()?[4,Ue(e,l,t)]:[3,4];case 3:d.sent(),d.label=4;case 4:return[4,ze(e,t)];case 5:return d.sent(),[2]}}))}))},Ue=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:return[4,qe(e,t)];case 1:return r=l.sent(),a="PP"===r.account_type?["1.Address List","2.Expand Address","3.Slice Address","4.Reset Account Password","5.Switch Networks [".concat(r.default_network,"]"),"> Back"]:["1.Address List","2.Reset Account Password","3.Switch Networks [".concat(r.default_network,"]"),"> Back"],[4,E(a)];case 2:switch(s=l.sent(),s){case"1.Address List":return[3,3];case"2.Expand Address":return[3,8];case"3.Slice Address":return[3,11];case"4.Reset Account Password":return[3,14];case"3.Switch Networks [".concat(r.default_network,"]"):return[3,18];case"5.Switch Networks [".concat(r.default_network,"]"):return[3,20];case"2.Reset Account Password":return[3,22];case"> Back":return[3,26]}return[3,27];case 3:return"PP"!==r.account_type?[3,5]:[4,Re(e,t,n)];case 4:return l.sent(),[3,7];case 5:return[4,Ke(e,t,n)];case 6:l.sent(),l.label=7;case 7:return[3,27];case 8:return[4,I("Expand accounts count",M)];case 9:return o=l.sent(),Number(o)>2e3?(console.log(Oe.red("Too many accounts, please input less than 2000")),[3,27]):[4,Ee(e,t,Number(o),n)];case 10:return l.sent(),[3,27];case 11:return[4,I("Please input last account number",K)];case 12:return c=l.sent(),[4,Ge(e,t,Number(c),n)];case 13:return l.sent(),[3,27];case 14:return[4,V("Please input new password for Account [".concat(t,"]"))];case 15:return u=l.sent(),[4,V("Please confirm new password for Account [".concat(t,"]"))];case 16:return i=l.sent(),u!==i?(console.log(Oe.red("Passwords do not match")),[3,27]):[4,n.account.resetPassword(t,u)];case 17:return l.sent(),[2];case 18:return[4,ot(e,t,!0)];case 19:return l.sent(),[3,27];case 20:return[4,ot(e,t,!0)];case 21:return l.sent(),[3,27];case 22:return[4,V("Please input new password for Account [".concat(t,"]"))];case 23:return u=l.sent(),[4,V("Please confirm new password for Account [".concat(t,"]"))];case 24:return i=l.sent(),u!==i?(console.log(Oe.red("Passwords do not match")),[3,27]):[4,n.account.resetPassword(t,u)];case 25:return l.sent(),[2];case 26:return[2];case 27:return[4,Ue(e,t,n)];case 28:return l.sent(),[2]}}))}))},Re=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l;return v(this,(function(d){switch(d.label){case 0:return[4,qe(e,t)];case 1:for(r=d.sent(),a=["> Back"],s=0;s<r.data.length;s++)o=r.default_network,"default_network"in r.data[s]&&(o=r.data[s].default_network),c=tt(e,o),u="","tag"in r.data[s]&&(u="(".concat(r.data[s].tag,")")),"evm"===c?a.push("#".concat(s," ").concat(r.data[s].ciphertexts.evm.address," ").concat(u," [").concat(o,"]")):"solana"===c&&a.push("#".concat(s," ").concat(r.data[s].ciphertexts.solana.address," ").concat(u," [").concat(o,"]"));return[4,E(a,"Select an account")];case 2:return"> Back"===(i=d.sent())?[2]:(l=a.indexOf(i)-1,[4,Me(e,t,l,n)]);case 3:return d.sent(),[4,Re(e,t,n)];case 4:return d.sent(),[2]}}))}))},Me=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d,p,m,f;return v(this,(function(h){switch(h.label){case 0:return[4,qe(e,t)];case 1:return a=h.sent(),s=a.default_network,"default_network"in a.data[n]&&(s=a.data[n].default_network),[4,nt(e,s)];case 2:return o=h.sent(),c=rt(e,t,n),[4,ct(c,e,s)];case 3:return(u=h.sent()).status?console.log(Oe.green(" Address No: #".concat(n,"\n Network: ").concat(s,"\n ").concat(o.nativeCurrency.symbol," Balance: ").concat(u.output))):console.log(Oe.green(" Address No: #".concat(n,"\n Network: ").concat(s,"\n ").concat(o.nativeCurrency.symbol))),i="> Tag()","tag"in a.data[n]&&""!==a.data[n].tag&&(i="> Tag(".concat(a.data[n].tag,")")),[4,E([i,"> Switch network","> Assets","> Tools","> Dump private key","> Back"])];case 4:switch(l=h.sent(),l){case i:return[3,5];case"> Switch network":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 d="Current tag ()","tag"in a.data[n]&&""!==a.data[n].tag&&(d="Current tag (".concat(a.data[n].tag,")")),[4,I(d,z)];case 6:return p=(p=h.sent()).replace(/\s+/g," ").trim(),a.data[n].tag=p.toLocaleLowerCase(),Le(e,t,a),[3,16];case 7:return[4,st(e,t,n)];case 8:case 10:case 12:return h.sent(),[3,16];case 9:return[4,ie(e,c,s)];case 11:return[4,Be(e,t,c,r)];case 13:return m=rt(e,t,n),[4,r.account.showPrivateKey(m)];case 14:return f=h.sent(),console.log("account: ",m),console.log("private key: ",f),[3,16];case 15:case 16:return[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(u){switch(u.label){case 0:return[4,qe(e,t)];case 1:return r=u.sent(),a=["> Back"],s="","tag"in r&&""!==r.tag&&(s="(".concat(r.tag,")")),a.push("#0 ".concat(r.ciphertexts.address," ").concat(s," [").concat(r.default_network,"]")),[4,E(a,"Select an account")];case 2:return"> Back"===u.sent()?[2]:(o=r.default_network,[4,nt(e,o)]);case 3:return c=u.sent(),console.log(Oe.green(" Address No: #0\n Network: ".concat(o,"\n ").concat(c.nativeCurrency.symbol," Balance: 0"))),[4,Je(e,t,n)];case 4:return u.sent(),[4,Ke(e,t,n)];case 5:return u.sent(),[2]}}))}))},Je=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:return[4,qe(e,t)];case 1:return r=l.sent(),a="> Tag()","tag"in r&&""!==r.tag&&(a="> Tag(".concat(r.tag,")")),[4,E([a,"> Switch network","> Assets","> Tools","> Dump private key","> Back"])];case 2:switch(s=l.sent(),s){case a:return[3,3];case"> Switch network":return[3,5];case"> Assets":return[3,7];case"> Tools":return[3,9];case"> Dump private key":return[3,11];case"> Back":return[3,13]}return[3,14];case 3:return o="Current tag ()","tag"in r&&""!==r.tag&&(o="Current tag (".concat(r.tag,")")),[4,I(o,z)];case 4:return c=l.sent(),r.tag=c.replace(/\s+/g," ").trim().toLocaleLowerCase(),Le(e,t,r),[3,14];case 5:return[4,ot(e,t,!1)];case 6:case 8:case 10:return l.sent(),[3,14];case 7:return u=at(e,t),[4,ie(e,u,r.default_network)];case 9:return u=at(e,t),[4,Be(e,t,u,n)];case 11:return u=at(e,t),[4,n.account.showPrivateKey(u)];case 12:return i=l.sent(),console.log("account: ",u),console.log("private key: ",i),[3,14];case 13:return[2];case 14:return[4,Je(e,t,n)];case 15:return l.sent(),[2]}}))}))},Ee=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,qe(e,t)];case 1:a=i.sent(),s=a.data.length,(o=new Ae.SingleBar({},Ae.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(Oe.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),[2]}}))}))},Ge=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,qe(e,t)];case 1:return(a=s.sent()).data=a.data.slice(0,n+1),Le(e,t,a),r.account.reloadAccount(),[2]}}))}))},De=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=p.resolve(e,"accounts"),d.existsSync(n)||d.mkdirSync(n),[4,E(["> Select an account","> Create a new account","> Back"])];case 1:switch(r=a.sent(),r){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,ze(e,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,_e(e,t)];case 6:return[2];case 7:return[4,De(e,t)];case 8:return a.sent(),[2]}}))}))},$e=require("chalk"),He=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:C,currentNetwork:"Ethereum Mainnet",accounts:[]},d.writeFileSync(t,JSON.stringify(n,null,2))),[2]}))}))},We=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("> Back"),[4,E(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,Ze(e,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,Xe(e,t)];case 6:return[3,7];case 7:return[2]}}))}))},Ze=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i,l,m,f,h,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,m=t.color,"Ethereum Mainnet"!==t.name&&"Solana Mainnet"!==t.name?[3,2]:[4,D(t.chainId.toString(),"Rpc Url (default: ".concat(t.rpcUrl,")"),!0)];case 1:return o=v.sent(),[3,9];case 2:return[4,I("Chain Name (default: ".concat(t.name,")"))];case 3:return(i=v.sent())&&i!==t.name&&a.includes(i)?(console.log($e.red("Chain Name already exists")),[2]):[4,G("Chain Id (default: ".concat(t.chainId,")"),!0)];case 4:return c=v.sent(),[4,D(c||t.chainId,"RPC Url (default: ".concat(t.rpcUrl,")"),!0)];case 5:return o=v.sent(),[4,H("Symbol (default: ".concat(t.nativeCurrency.symbol,")"))];case 6:return u=v.sent(),[4,$(t.multicallAddress?"Multicall Address (Optional) (default: ".concat(t.multicallAddress,")"):"Multicall Address (Optional)")];case 7:return l=v.sent(),[4,W(t.color?"Color (Optional): (default: ".concat(t.color,")"):"Color (Optional)")];case 8:m=v.sent(),v.label=9;case 9:for(f=F(c),h={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:f||t.nativeCurrency.decimals}},(l||t.multicallAddress)&&(h.multicallAddress=l||t.multicallAddress),(m||t.color)&&(h.color=m||t.color),g=0;g<r.networks.length;g++)if(r.networks[g].name===t.name){r.networks[g]=h;break}return d.writeFileSync(n,JSON.stringify(r,null,2)),[2]}}))}))},Xe=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]}))}))},Ve=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l,m,f,h;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($e.green("Please input someting about network")),[4,I("Chain Name")];case 1:return o=g.sent(),r.includes(o)?(console.log($e.red("Chain Name already exists")),[2]):[4,G("Chain Id")];case 2:return(c=g.sent())?[4,D(c,"RPC Url")]:[2];case 3:return(u=g.sent())?[4,H("Symbol")]:[2];case 4:return(i=g.sent())?[4,$("Multicall Address (Optional)")]:[2];case 5:return l=g.sent(),[4,W("Color (Optional)")];case 6:return m=g.sent(),f=F(c),h={name:o,chainId:Number(c),rpcUrl:u,nativeCurrency:{name:i,symbol:i,decimals:f}},l&&(h.multicallAddress=l),m&&(h.color=m),n.networks.push(h),d.writeFileSync(t,JSON.stringify(n,null,2)),[2]}}))}))},Qe=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l,m,h,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"===_(i.chainId.toString())?a.push(c):r.push(c);for(s=["> Back",new f.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 f.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,E(s)];case 1:return"> Back"===(m=v.sent())?[2]:(h=s.indexOf(m),g=h<r.length+2?n.networks[r[h-2]]:n.networks[a[h-r.length-3]],[4,We(e,g)]);case 2:return v.sent(),[4,Qe(e)];case 3:return v.sent(),[2]}}))}))},Ye=function(e){return g(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return[4,E(["> Available Networks","> Add Network","> Back"])];case 1:switch(t=n.sent(),t){case"> Available Networks":return[3,2];case"> Add Network":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Qe(e)];case 3:case 5:return n.sent(),[3,7];case 4:return[4,Ve(e)];case 6:return[2];case 7:return[4,Ye(e)];case 8:return n.sent(),[2]}}))}))},et=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,E(r,"Please select a default network")];case 1:return[2,a.sent().slice(2)]}}))}))},tt=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.chainId.toString())}return"unknown"},nt=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},rt=function(e,t,n){var r=qe(e,t),a=r.default_network;r.data[n].default_network&&""!==r.data[n].default_network&&(a=r.data[n].default_network);var s=tt(e,a);return"solana"===s?r.data[n].ciphertexts.solana.address:"evm"===s?r.data[n].ciphertexts.evm.address:null},at=function(e,t){return qe(e,t).ciphertexts.address},st=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l,m,f,h,g,b,w;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=qe(e,t),u=["> Back"],(i=c.data[n].default_network)&&""!==i?u.push("○ Same as the account setting"):u.push("● Same as the account setting"),l=0;l<o;l++)m=s[l],f=void 0,f=_(m.chainId.toString())?c.data[n].ciphertexts.solana.address:c.data[n].ciphertexts.evm.address,m.name===i?u.push("● ".concat(f," [").concat(m.name,"]")):u.push("○ ".concat(f," [").concat(m.name,"]"));return[4,E(u)];case 1:return"> Back"===(h=v.sent())||(1===(g=u.indexOf(h))?delete c.data[n].default_network:c.data[n].default_network=s[g-2].name,Le(e,t,c),b=c.default_network,"default_network"in c.data[n]&&""!==c.data[n].default_network&&(b=c.data[n].default_network),w=nt(e,b),console.log($e.green(" Address No: #".concat(n,"\n Network: ").concat(b,"\n ").concat(w.nativeCurrency.symbol," Balance: 0")))),[2]}}))}))},ot=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l,m,f,h,g,b,w,y,k,S;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=qe(e,t),u=["> Back"],i=c.default_network,l="",n||(l=c.ciphertexts.address),m=[],f=tt(e,i),h=0;h<o;h++)g=s[h],b=tt(e,g.name),"PK"===c.account_type&&f!==b||(g.name===i?n?u.push("● ".concat(g.name)):u.push("● ".concat(l," [").concat(g.name,"]")):n?u.push("○ ".concat(g.name)):u.push("○ ".concat(l," [").concat(g.name,"]")),m.push(g.name));return[4,E(u)];case 1:return"> Back"===(w=v.sent())||(y=u.indexOf(w),c.default_network=m[y-1],Le(e,t,c),n||(k=c.default_network,S=nt(e,k),console.log($e.green(" Address No: #0\n Network: ".concat(k,"\n ").concat(S.nativeCurrency.symbol," Balance: 0"))))),[2]}}))}))},ct=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=nt(t,n),a=r.rpcUrl,s=r.nativeCurrency.decimals,"solana"!==_(r.chainId.toString())?[3,2]:[4,y(e,a)];case 1:return o=i.sent(),[3,4];case 2:return[4,w(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)),[2,o]}}))}))},ut=function(e,t,n){var r=qe(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},it=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"===_(n[s].chainId.toString())&&a.push(n[s].name);return a};require("wative-core").WativeCore;var lt=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,E(["> 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,Ye(e)];case 3:case 5:case 7:return r.sent(),[3,9];case 4:return[4,De(e,t)];case 6:return[4,Pe(e,t)];case 8:return[2];case 9:return[4,lt(e,t)];case 10:return r.sent(),[2]}}))}))},dt=require("wative-core").WativeCore,pt=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:",pt.version),console.log(T.green(m.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,I("Keystore storage located in (default: ".concat(L,")"))];case 1:return(e=t.sent())||(e=L),e=(e=e.trim()).replace("~",q),d.existsSync(e)||d.mkdirSync(e,{recursive:!0}),[2,e]}}))}))];case 1:return e=a.sent(),[4,He(e)];case 2:return a.sent(),t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r=new dt(e,n.accounts),[4,lt(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),m=l(n),f=i(r),h=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=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 h.default(e),[4,ee(t.eth.getChainId,[])];case 1:return[2,n.sent()]}}))}))},w=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 h.default(t),[4,ee(n.eth.getBalance,[e])];case 1:return[2,r.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 s.Connection(t),[4,ee(n.getBalance.bind(n),[new s.PublicKey(e)])];case 1:return[2,r.sent()]}}))}))},k=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 h.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,ee(r.methods.symbol().call.bind(r),[])];case 1:return a=c.sent(),[4,ee(r.methods.name().call.bind(r),[])];case 2:return s=c.sent(),[4,ee(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"}]}}))}))},S=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,ee(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 h.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,ee(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"}]}}))}))},x=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,ee(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 h.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])]}))}))},P=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,ee(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"}]}}))}))},O=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,ee(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"}]}}))}))},A=["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"],C=[{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"],F=function(e){return j.includes(e)?9:18},_=function(e){return j.includes(e)?"solana":"evm"},T=require("chalk"),q=process.env.HOME||process.env.USERPROFILE,L="".concat(q,"/.wative"),I=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,f.default.prompt(n)];case 1:return[2,r.sent().inputText.trim().toString()]}}))}))},z=function(e){return""===e||((e=e.replace(/\s+/g," ").trim()).length>10?"Tag length should be less than 10":!1!==/^[0-9a-zA-Z\s]*$/g.test(e)||"Tag should be alphanumeric")},U=function(e){return!isNaN(Number(e))||"Value should be a number"},R=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===A.includes(t[n]))return"Passphrase word should be valid";return!0},M=function(e){var t=Number(e);return isNaN(t)?"Amount should be a number":!(t>2e3)||"Amount should be less than 2000"},K=function(e){var t=Number(e);return!isNaN(t)||"Last account no should be a number"},J=function(e){return"unknown"!=te(e)||"Address should be valid"},E=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,f.default.prompt(r)];case 1:return[2,a.sent().inputText.toString()]}}))}))},G=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,I(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]}}))}))},D=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,I(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"===_(e)?[2,a]:[4,b(a)];case 4:return(s=c.sent()).status?s.output.toString()===e.toString()?[2,a]:(console.log(T.red("Rpc url not match chain id")),[3,6]):(console.log(T.red(s.output)),[3,6]);case 5:return o=c.sent(),console.log(T.red(o.message)),[3,6];case 6:return r++,[3,1];case 7:return[2,null]}}))}))},$=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,I(e)]:[3,4];case 2:if(""===(n=r.sent()))return[2,null];if(""!==n&&42!==n.length)return console.log(T.red("Multicall address length must be 42")),[3,3];r.label=3;case 3:return t++,[3,1];case 4:return[2,null]}}))}))},H=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,I(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]}}))}))},W=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,I(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]}}))}))},Z=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]{2,20}$/g,r=0,s.label=1;case 1:return r<5?[4,I(e)]:[3,4];case 2:if(a=(a=s.sent()).trim(),n.test(a))return t.includes(a)?(console.log(T.red("Account label already exists")),[3,3]):[2,a.toLocaleLowerCase()];s.label=3;case 3:return r++,[3,1];case 4:return[2,null]}}))}))},X=function(e){var t="Password must contain at least: \n",n=!0,r=" ",a=T.green("✔"),s=T.red("✖");return e.length>=8?t+=r+a+" 8 characters\n":(t+=r+s+" 8 characters\n",n=!1),/[0-9]/.test(e)?t+=r+a+" One numerical character\n":(t+=r+s+" One numerical character\n",n=!1),/[A-Z]/.test(e)?t+=r+a+" One uppercase letter\n":(t+=r+s+" One uppercase letter\n",n=!1),/[!@#$%]/.test(e)?t+=r+a+" One sepcial character (i.e. !@#$%)\n":(t+=r+s+" One sepcial character (i.e. !@#$%)\n",n=!1),!!n||t},V=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:"password",type:"password",mask:"#",message:"".concat(e,":"),validate:X}],[4,f.default.prompt(t)];case 1:return[2,n.sent().password]}}))}))},Q=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,f.default.prompt(n)];case 1:return[2,r.sent().editor.trim().toString()]}}))}))},Y=function(e){return!!/^0x[0-9a-fA-F]*$/g.test(e)},ee=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]}}))}))},te=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"},ne=function(e){return e=e.trim(),d.existsSync(e)},re=require("chalk"),ae=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"),ne(n)?(r=d.readFileSync(n).toString(),a=JSON.parse(r),t in a?[2,a[t]]:[2,[]]):[2,[]]}))}))},se=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,ae(e,t)];case 1:for(r=o.sent(),a=[],s=0;s<r.length;s++)r[s].symbol===n&&a.push(r[s]);return[2,a]}}))}))},oe=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=tt(e,t),a=nt(e,t),[4,ae(e,a.chainId.toString())];case 1:return(s=i.sent())?[4,le(n,s,a.rpcUrl,r)]:(console.log(re.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(re.green("".concat(c,". ").concat(o[u].symbol," Balance: ").concat(o[u].balance))),c+=1);return 1===c&&console.log(re.red("No asset found")),[2]}}))}))},ce=function(e,t,n,r,a,s){return g(void 0,void 0,void 0,(function(){var o,c,u;return v(this,(function(i){return o=p.join(e,"assets.json"),c={},ne(o)&&(u=d.readFileSync(o).toString(),c=JSON.parse(u)),void 0===c[t]&&(c[t]=[]),c[t].push({address:n,symbol:r,name:a,decimals:s}),d.writeFileSync(o,JSON.stringify(c,null,4)),[2]}))}))},ue=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,I("Please input Token address",J)];case 1:return n=u.sent(),r=tt(e,t),a=nt(e,t),"evm"!==r?[3,3]:(i=n).startsWith("0x")&&42===i.length?[4,k(n,a.rpcUrl)]:(console.log(re.red("evm address format error")),[2]);case 2:return s=u.sent(),[3,5];case 3:return function(e){return/^[A-HJ-NP-Za-km-z1-9]*$/.test(e)}(n)?[4,S(n,a.rpcUrl)]:(console.log(re.red("solana address format error")),[2]);case 4:s=u.sent(),u.label=5;case 5:return s.status?s.output.name?[3,7]:(o=s.output,[4,I("Please input token name")]):(console.log(re.red(s.output)),[2]);case 6:o.name=u.sent(),u.label=7;case 7:return s.output.symbol?[3,9]:(c=s.output,[4,I("Please input token symbol")]);case 8:c.symbol=u.sent(),u.label=9;case 9:return[4,ce(e,a.chainId.toString(),n,s.output.symbol,s.output.name,s.output.decimals)];case 10:return u.sent(),console.log(re.green("Asset added successfully")),[2]}var i}))}))},ie=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[4,E(["> Show Assets","> Add Asset","> Back"])];case 1:switch(r=a.sent(),r){case"> Show Assets":return[3,2];case"> Add Asset":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,oe(e,n,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,ue(e,n)];case 6:return[2];case 7:return[4,ie(e,t,n)];case 8:return a.sent(),[2]}}))}))},le=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,i,l,d,p,m;return v(this,(function(f){switch(f.label){case 0:for(a=t.length,s=[],i=0;i<a;i++)l=t[i],"evm"===r?s.push(N(e,l.address,n)):"solana"===r&&s.push(x(e,l.address,n));return[4,Promise.all(s)];case 1:for(o=f.sent(),c=[],i=0;i<a;i++){if(l=t[i],d=l.decimals,!o[i].status)return console.log(re.red(o[i].output)),[2,null];p=new u.BigNumber(o[i].output),m=p.dividedBy(Math.pow(10,d)).toFixed(4,u.BigNumber.ROUND_FLOOR),c.push({address:l.address,symbol:l.symbol,balance:m})}return[2,c]}}))}))},de=require("bn.js").BN,pe=require("ethereumjs-util").stripHexPrefix,me=require("bignumber.js").BigNumber;function fe(e){return new de(pe(e.toString("hex")),16)}var he=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 ge(e){return he(e.toString(16))}var ve=function(){function e(e){this.query=new h.default(h.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=fe(t.gasLimit),u=n,i=20,l=new de(19),d=new de(i),r=u.mul(l).div(d),a=ge(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 me(t.toString()).multipliedBy(1.3).toFixed(0)]}}))}))},e.prototype.addGasBuffer=function(e,t,n){void 0===n&&(n=1.3);var r=fe(e),a=fe(t).muln(.9),s=r.muln(n);return r.gt(a)?ge(r):s.lt(a)?ge(s):ge(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(he(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}(),be=require("chalk");require("wative-core").WativeCore;var we=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 f.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 f.default.Separator("——————————————-"),"Send it now"],[4,E(t)];case 1:return n=d.sent(),1!==(r=t.indexOf(n))?[3,3]:(a=e,[4,I("from",J)]);case 2:a.from=d.sent(),d.label=3;case 3:return 2!==r?[3,5]:(s=e,[4,I("to",J)]);case 4:s.to=d.sent(),d.label=5;case 5:return 3!==r?[3,7]:(o=e,[4,I("nonce")]);case 6:o.nonce=d.sent(),d.label=7;case 7:return 4!==r?[3,9]:(c=e,[4,I("gasPrice")]);case 8:c.gasPrice=d.sent(),d.label=9;case 9:return 5!==r?[3,11]:(u=e,[4,Q("data")]);case 10:u.data=d.sent(),d.label=11;case 11:return 6!==r?[3,13]:(i=e,[4,I("value")]);case 12:i.value=d.sent(),d.label=13;case 13:return 7!==r?[3,15]:(l=e,[4,I("gas")]);case 14:l.gas=d.sent(),d.label=15;case 15:return 9===r?[2,e]:[4,we(e)];case 16:return d.sent(),[2]}}))}))},ye=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,i,l,d,p,m,f,b,y,k,S,N,x,B,P,O,A,C,j,F,_,T,q,L,z,R;return v(this,(function(M){switch(M.label){case 0:return[4,I("to",J)];case 1:return a=M.sent(),[4,(s=new ve(e)).getGasPrice()];case 2:return o=M.sent(),c=new u.BigNumber(o.toString()).dividedBy(1e9),i=c.toFixed(4,u.BigNumber.ROUND_FLOOR),[4,I("Gas price (".concat(i,"), agree or enter"))];case 3:return l=M.sent(),d=l||i,d=new u.BigNumber(d).multipliedBy(1e9).toFixed(0),[4,(K=a,G=e,g(void 0,void 0,void 0,(function(){var e,t;return v(this,(function(n){switch(n.label){case 0:return e=new h.default(G),[4,ee(e.eth.getCode.bind(e),[K])];case 1:return(t=n.sent()).status?[2,{status:!0,output:t.output}]:[2,{status:!1,output:"Failed to get code"}]}}))})))];case 4:return(p=M.sent()).status?"0x"!==p.output?[3,10]:(m="0x",[4,w(n,e)]):(console.log(be.red(p.output)),[2]);case 5:return(b=M.sent()).status?(y=new u.BigNumber(b.output),k=new u.BigNumber(d),S=y.minus(k.multipliedBy(21e3)).toFixed(0,u.BigNumber.ROUND_FLOOR),N=new u.BigNumber(S).dividedBy(1e18).toFixed(4,u.BigNumber.ROUND_FLOOR),new u.BigNumber(N)<new u.BigNumber(0)?(console.log(be.red("Not enough balance")),[2]):(x=["> Input value","> Total Balance (".concat(N," ").concat(t,")")],[4,E(x)])):(console.log(be.red(b.output)),[2]);case 6:return B=M.sent(),0!==(P=x.indexOf(B))?[3,8]:[4,I("value",U)];case 7:return O=M.sent(),f=new u.BigNumber(O).multipliedBy(1e18).toFixed(0,u.BigNumber.ROUND_FLOOR),[3,9];case 8:1===P&&(f=S),M.label=9;case 9:return new u.BigNumber(f).isGreaterThan(new u.BigNumber(S))?(console.log(be.red("Not enough balance")),[2]):[3,13];case 10:return[4,Q("data",Y)];case 11:return m=M.sent(),[4,I("value",U)];case 12:f=M.sent(),M.label=13;case 13:return[4,s.getTransactionCount(n)];case 14:return A=M.sent(),[4,I("Nonce (".concat(A,"), agree or enter"))];case 15:return C=M.sent(),j=C||A.toString(),F={from:n,to:a,nonce:j,gasPrice:d,data:m,value:f},"0x"!==m?[3,16]:(F.gas="21000",[3,21]);case 16:_=F.gasPrice,delete F.gasPrice,M.label=17;case 17:return M.trys.push([17,19,,20]),T=F,q="gas",[4,s.estimateTxGas(F)];case 18:return T[q]=M.sent().toString(),[3,20];case 19:return L=M.sent(),console.log(be.red("Error: "+L)),[2];case 20:F.gasPrice=_,M.label=21;case 21:return[4,we(F)];case 22:return F=M.sent(),[4,r.account.signTransaction(n,F,e)];case 23:return(z=M.sent()).status?[4,r.account.sendSignedTransaction(n,z.output.rawTransaction,e)]:(console.log(be.red(z.output)),[2]);case 24:return(R=M.sent()).status?(console.log(be.green("Transaction hash: ".concat(R.output.transactionHash))),[2]):(console.log(be.red(R.output)),[2])}var K,G}))}))},ke=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,o,c,i,l,d,p,m,f,h,g,b,w,k,S,N,x,B,O;return v(this,(function(v){switch(v.label){case 0:return[4,I("to",J)];case 1:return a=v.sent(),(o=(new s.Transaction).add(s.SystemProgram.transfer({fromPubkey:new s.PublicKey(n),toPubkey:new s.PublicKey(a),lamports:1}))).add(s.ComputeBudgetProgram.setComputeUnitLimit({units:2e5})),o.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:1e3})),[4,r.account.simulateTransaction(n,e,o)];case 2:return(c=v.sent()).status?c.output&&c.output.value&&0!==c.output.value.unitsConsumed&&!c.output.value.err?(i=new u.BigNumber(c.output.value.unitsConsumed.toString()),[4,P(e)]):(console.log(be.red("Simulate error")),[2]):(console.log(be.red(c.output)),[2]);case 3:return(l=v.sent()).status?(d=new u.BigNumber(l.output.toString()),p=i.multipliedBy(d).toFixed(0,u.BigNumber.ROUND_CEIL),[4,y(n,e)]):(console.log(be.red(l.output)),[2]);case 4:return(m=v.sent()).status?(f=new u.BigNumber(m.output),h=f.minus(5e3).minus(p),g=new u.BigNumber(h).dividedBy(1e9).toFixed(4,u.BigNumber.ROUND_FLOOR),new u.BigNumber(g)<new u.BigNumber(0)?(console.log(be.red("Not enough balance")),[2]):(b=["> Input value","> Total Balance (".concat(g," ").concat(t,")")],[4,E(b)])):(console.log(be.red(m.output)),[2]);case 5:return w=v.sent(),k=b.indexOf(w),S="0",0!==k?[3,7]:[4,I("value",U)];case 6:return N=v.sent(),S=new u.BigNumber(N).multipliedBy(1e9).toFixed(0,u.BigNumber.ROUND_FLOOR),new u.BigNumber(S).isGreaterThan(new u.BigNumber(h))?(console.log(be.red("Not enough balance")),[2]):[3,8];case 7:1===k&&(S=h.toString()),v.label=8;case 8:return(x=new s.Transaction).add(s.ComputeBudgetProgram.setComputeUnitLimit({units:Math.ceil(2*Number(i))})),x.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:Number(d)})),x.add(s.SystemProgram.transfer({fromPubkey:new s.PublicKey(n),toPubkey:new s.PublicKey(a),lamports:Number(S)})),[4,r.account.signTransaction(n,x,e)];case 9:return(B=v.sent()).status?[4,r.account.sendSignedTransaction(n,B.output,e)]:(console.log(be.red(B.output)),[2]);case 10:return(O=v.sent()).status?(console.log(be.green("Transaction hash: ".concat(O.output))),[2]):(console.log(be.red(O.output)),[2])}}))}))},Se=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var s,o,c,i,l,d,p,m,f,h,g,b,w,y,S,x,P,O,A,C,j,F,_,T,q,L,z,R,M,K,G,D,$;return v(this,(function(v){switch(v.label){case 0:return[4,E(["> 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,I("token ticker")];case 3:return i=v.sent(),[4,se(e,n,i)];case 4:if(0===(l=v.sent()).length)return console.log(be.red("Token not found")),[2];d=[],p=0,v.label=5;case 5:return p<l.length?[4,N(r,l[p].address,t)]:[3,8];case 6:if(!(m=v.sent()).status)return console.log(be.red(m.output)),[2];if(f=new u.BigNumber(m.output),h=f.dividedBy(Math.pow(10,Number(l[p].decimals))).toFixed(4,u.BigNumber.ROUND_FLOOR),1===l.length)return d.push("> 1. ".concat(i," Balance: ").concat(h)),[3,8];d.push("> ".concat(p+1,". ").concat(i," Balance: ").concat(h,"(").concat(l[p].address,")")),d.push(l[p].address),v.label=7;case 7:return p++,[3,5];case 8:return[4,E(d)];case 9:return g=v.sent(),b=l[d.indexOf(g)],o=b.address,c=Number(b.decimals),[3,13];case 10:return[4,I("token contract address",J)];case 11:return o=v.sent(),[4,k(o,t)];case 12:return(w=v.sent()).status?(c=Number(w.output.decimals),[3,13]):(console.log(be.red(w.output)),[2]);case 13:return[4,I("Receipt",J)];case 14:return y=v.sent(),[4,I("Amount",U)];case 15:return S=v.sent(),[4,(x=new ve(t)).getGasPrice()];case 16:return P=v.sent(),O=new u.BigNumber(P.toString()).dividedBy(1e9),A=O.toFixed(4,u.BigNumber.ROUND_FLOOR),[4,I("Gas price (".concat(A,"), agree or enter"))];case 17:return C=v.sent(),j=C||A,j=new u.BigNumber(j).multipliedBy(1e9).toFixed(0),F=new u.BigNumber(S).multipliedBy(Math.pow(10,c)).toFixed(0),[4,B(y,F,t)];case 18:return _=v.sent(),[4,x.getTransactionCount(r)];case 19:return T=v.sent(),[4,I("Nonce (".concat(T,"), agree or enter"))];case 20:return q=v.sent(),L=q||T.toString(),z={from:r,to:o,nonce:L,gasPrice:j,data:_,value:"0"},"0x"!==_?[3,21]:(z.gas="21000",[3,26]);case 21:R=z.gasPrice,delete z.gasPrice,v.label=22;case 22:return v.trys.push([22,24,,25]),M=z,K="gas",[4,x.estimateTxGas(z)];case 23:return M[K]=v.sent().toString(),[3,25];case 24:return G=v.sent(),console.log(be.red("Failed to estimate gas, "+G.message)),[2];case 25:z.gasPrice=R,v.label=26;case 26:return[4,we(z)];case 27:return z=v.sent(),[4,a.account.signTransaction(r,z,t)];case 28:return(D=v.sent()).status?[4,a.account.sendSignedTransaction(r,D.output.rawTransaction,t)]:(console.log(be.red(D.output)),[2]);case 29:return($=v.sent()).status?(console.log(be.green("Transaction hash: ".concat($.output.transactionHash))),[2]):(console.log(be.red($.output)),[2])}}))}))},Ne=function(e,t,n,r,a){return g(void 0,void 0,void 0,(function(){var c,i,l,d,p,m,f,h,g,b,w,y,k,N,B,A,C,j,F,_,T,q,L,z,R,M,K,G;return v(this,(function(v){switch(v.label){case 0:return[4,E(["> 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,I("token ticker")];case 3:return d=v.sent(),[4,se(e,n,d)];case 4:if(0===(p=v.sent()).length)return console.log(be.red("Token not found")),[2];m=[],f=0,v.label=5;case 5:return f<p.length?[4,x(r,p[f].address,t)]:[3,8];case 6:if(!(h=v.sent()).status)return console.log(be.red(h.output)),[2];if(g=new u.BigNumber(h.output),b=g.dividedBy(Math.pow(10,Number(p[f].decimals))).toFixed(4,u.BigNumber.ROUND_FLOOR),1===p.length)return m.push("> 1. ".concat(d," Balance: ").concat(b)),[3,8];m.push("> ".concat(f+1,". ").concat(d," Balance: ").concat(b,"(").concat(p[f].address,")")),m.push(p[f].address),v.label=7;case 7:return f++,[3,5];case 8:return[4,E(m)];case 9:return w=v.sent(),y=p[m.indexOf(w)],i=y.address,l=Number(y.decimals),[3,13];case 10:return[4,I("token contract address",J)];case 11:return i=v.sent(),[4,S(i,t)];case 12:return(k=v.sent()).status?(l=Number(k.output.decimals),[3,13]):(console.log(be.red(k.output)),[2]);case 13:return[4,I("Receipt",J)];case 14:return N=v.sent(),[4,I("Amount",U)];case 15:return B=v.sent(),A=new u.BigNumber(B).multipliedBy(Math.pow(10,l)).toFixed(0),C=o.getAssociatedTokenAddressSync(new s.PublicKey(i),new s.PublicKey(r),!0),[4,O(C.toString(),t)];case 16:return(j=v.sent()).status?j.output&&j.output.owner.toString()!==s.PublicKey.default?(F=o.getAssociatedTokenAddressSync(new s.PublicKey(i),new s.PublicKey(N),!1),[4,O(F.toString(),t)]):(console.log(be.red("From token account not found")),[2]):(console.log(be.red(j.output)),[2]);case 17:return(_=v.sent()).status?(T=new s.Transaction,q=new s.Transaction,_.output&&_.output.owner.toString()!==s.PublicKey.default||(T.add(o.createAssociatedTokenAccountInstruction(new s.PublicKey(r),new s.PublicKey(F),new s.PublicKey(N),new s.PublicKey(i))),q.add(o.createAssociatedTokenAccountInstruction(new s.PublicKey(r),new s.PublicKey(F),new s.PublicKey(N),new s.PublicKey(i)))),T.add(o.createTransferInstruction(C,F,new s.PublicKey(r),Number(A))),T.add(s.ComputeBudgetProgram.setComputeUnitLimit({units:2e5})),T.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:1e3})),[4,a.account.simulateTransaction(r,t,T)]):(console.log(be.red(_.output)),[2]);case 18:return(L=v.sent()).status?L.output&&L.output.value&&0!==L.output.value.unitsConsumed&&!L.output.value.err?(z=new u.BigNumber(L.output.value.unitsConsumed.toString()),[4,P(t)]):(console.log(be.red("Simulate error")),[2]):(console.log(be.red(L.output)),[2]);case 19:return(R=v.sent()).status?(M=new u.BigNumber(R.output.toString()),q.add(o.createTransferInstruction(C,F,new s.PublicKey(r),Number(A))),q.add(s.ComputeBudgetProgram.setComputeUnitLimit({units:Math.ceil(1.2*Number(z))})),q.add(s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:Number(M)})),[4,a.account.signTransaction(r,q,t)]):(console.log(be.red(R.output)),[2]);case 20:return(K=v.sent()).status?[4,a.account.sendSignedTransaction(r,K.output,t)]:(console.log(be.red(K.output)),[2]);case 21:return(G=v.sent()).status?(console.log(be.green("Transaction hash: ".concat(G.output))),[2]):(console.log(be.red(G.output)),[2])}}))}))},xe=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d;return v(this,(function(p){switch(p.label){case 0:return a=ut(e,t,n),s=tt(e,a),o=te(n),s!==o&&("evm"===o&&(a="Ethereum Mainnet"),"solana"===o&&(a="Solana Mainnet"),s=tt(e,a)),"evm"!==s?[3,3]:[4,(m="Network (".concat(a,"), want a change?"),g(void 0,void 0,void 0,(function(){var e;return v(this,(function(t){switch(t.label){case 0:return e=[{name:"confirm",type:"confirm",message:"".concat(m)}],[4,f.default.prompt(e)];case 1:return[2,t.sent().confirm]}}))})))];case 1:return p.sent()?(c=it(e),[4,E(c,"Select a network")]):[3,3];case 2:u=p.sent(),a=u,p.label=3;case 3:return[4,ct(n,e,a)];case 4:return(i=p.sent()).status?(l=nt(e,a),console.log(be.green(" ".concat(l.nativeCurrency.symbol," Balance: ").concat(i.output))),[4,E(["> Send Raw Tx","> Send Token","> Back"])]):(console.log(be.red(i.output)),[2]);case 5:switch(d=p.sent(),d){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,ye(l.rpcUrl,l.nativeCurrency.symbol,n,r)];case 7:p.sent(),p.label=8;case 8:return"solana"!==o?[3,10]:[4,ke(l.rpcUrl,l.nativeCurrency.symbol,n,r)];case 9:p.sent(),p.label=10;case 10:return[3,17];case 11:return"evm"!==o?[3,13]:[4,Se(e,l.rpcUrl,l.chainId.toString(),n,r)];case 12:p.sent(),p.label=13;case 13:return"solana"!==o?[3,15]:[4,Ne(e,l.rpcUrl,l.chainId.toString(),n,r)];case 14:p.sent(),p.label=15;case 15:return[3,17];case 16:case 17:return[2]}var m}))}))},Be=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,E(["> SendTx","> SignMessage","> Back"])];case 1:switch(a=c.sent(),a){case"> SendTx":return[3,2];case"> SignMessage":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,xe(e,t,n,r)];case 3:return c.sent(),[3,7];case 4:return[4,Q("Input the message to sign")];case 5:return s=c.sent(),(o=r.account.signMessage(n,s)).status?(console.log(be.green("Signature: "+o.output)),[3,7]):(console.log(be.red(o.output)),[3,7]);case 6:return[2];case 7:return[4,Be(e,t,n,r)];case 8:return c.sent(),[2]}}))}))},Pe=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[4,I("Input the address to send tx",J)];case 1:return n=a.sent(),null!==(r=t.account.getAccountLabel(n))?[3,3]:(console.log(be.red("Account not found")),[4,Pe(e,t)]);case 2:case 5:case 8:return a.sent(),[2];case 3:return[4,Ie(r,t)];case 4:return a.sent()?[3,6]:[4,Pe(e,t)];case 6:return[4,Be(e,r,n,t)];case 7:return a.sent(),[4,Pe(e,t)]}}))}))},Oe=require("chalk"),Ae=require("cli-progress");require("wative-core").WativeCore;var Ce=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=Te(e),n=[],t.accounts&&(n=t.accounts),[4,Z("Account Label",n)];case 1:return null===(r=o.sent())?[2,null]:[4,V("Please set a password for Account [".concat(r,"]"))];case 2:return a=o.sent(),[4,et(e)];case 3:return s=o.sent(),[2,{account_label:r,password:a,selected_default_network:s}]}}))}))},je=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,Ce(e)];case 1:return(n=u.sent())?[4,I("Please enter a mnemonic [split by space]",R)]:[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(Oe.red(a.output)),[2])}}))}))},Fe=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u;return v(this,(function(i){switch(i.label){case 0:return[4,Ce(e)];case 1:return(n=i.sent())?[4,I("Please enter a private key")]:[2];case 2:return r=i.sent(),[4,nt(e,n.selected_default_network)];case 3:return a=i.sent(),[4,t.account.generatePKAccount(n.account_label,r,n.password,a.chainId)];case 4:return(s=i.sent()).status?(o=p.join(e,"accounts/".concat(n.account_label,".json")),s.output.default_network=n.selected_default_network,d.writeFileSync(o,JSON.stringify(s.output,null,4)),c=p.resolve(e,"network.json"),(u=JSON.parse(d.readFileSync(c,"utf8"))).accounts.push(n.account_label),d.writeFileSync(c,JSON.stringify(u,null,4)),[2]):(console.log(Oe.red(s.output)),[2])}}))}))},_e=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,E(["> Import Passphrase","> Import Private Key","> Back"])];case 1:switch(n=r.sent(),n){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,je(e,t)];case 3:case 5:return r.sent(),[3,7];case 4:return[4,Fe(e,t)];case 6:case 7:return[2]}}))}))},Te=function(e){var t=p.resolve(e,"network.json");return JSON.parse(d.readFileSync(t,"utf8"))},qe=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))},Ie=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 t.account.isLogin(e)?[2,!0]:[4,V("Please input the password for Account [".concat(e,"]"))];case 1:return n=a.sent(),[4,t.account.login(e,n)];case 2:return(r=a.sent()).status?[2,!0]:(console.log(Oe.red(r.output)),[2,!1])}}))}))},ze=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i,l;return v(this,(function(d){switch(d.label){case 0:if(n=Te(e),r=n.accounts,a=["> Back"],0===(s=r.length))return console.log(Oe.red("No address here yet")),[2];for(o=0;o<s;o++)c=r[o],"PP"===(u=qe(e,c)).account_type?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,E(a,"Select an account")];case 1:return"> Back"===(i=d.sent())?[2]:(l=r[a.indexOf(i)-1],[4,Ie(l,t)]);case 2:return d.sent()?[4,Ue(e,l,t)]:[3,4];case 3:d.sent(),d.label=4;case 4:return[4,ze(e,t)];case 5:return d.sent(),[2]}}))}))},Ue=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:return[4,qe(e,t)];case 1:return r=l.sent(),a="PP"===r.account_type?["1.Address List","2.Expand Address","3.Slice Address","4.Reset Account Password","5.Switch Networks [".concat(r.default_network,"]"),"> Back"]:["1.Address List","2.Reset Account Password","3.Switch Networks [".concat(r.default_network,"]"),"> Back"],[4,E(a)];case 2:switch(s=l.sent(),s){case"1.Address List":return[3,3];case"2.Expand Address":return[3,8];case"3.Slice Address":return[3,11];case"4.Reset Account Password":return[3,14];case"3.Switch Networks [".concat(r.default_network,"]"):return[3,18];case"5.Switch Networks [".concat(r.default_network,"]"):return[3,20];case"2.Reset Account Password":return[3,22];case"> Back":return[3,26]}return[3,27];case 3:return"PP"!==r.account_type?[3,5]:[4,Re(e,t,n)];case 4:return l.sent(),[3,7];case 5:return[4,Ke(e,t,n)];case 6:l.sent(),l.label=7;case 7:return[3,27];case 8:return[4,I("Expand accounts count",M)];case 9:return o=l.sent(),Number(o)>2e3?(console.log(Oe.red("Too many accounts, please input less than 2000")),[3,27]):[4,Ee(e,t,Number(o),n)];case 10:return l.sent(),[3,27];case 11:return[4,I("Please input last account number",K)];case 12:return c=l.sent(),[4,Ge(e,t,Number(c),n)];case 13:return l.sent(),[3,27];case 14:return[4,V("Please input new password for Account [".concat(t,"]"))];case 15:return u=l.sent(),[4,V("Please confirm new password for Account [".concat(t,"]"))];case 16:return i=l.sent(),u!==i?(console.log(Oe.red("Passwords do not match")),[3,27]):[4,n.account.resetPassword(t,u)];case 17:return l.sent(),[2];case 18:return[4,ot(e,t,!0)];case 19:return l.sent(),[3,27];case 20:return[4,ot(e,t,!0)];case 21:return l.sent(),[3,27];case 22:return[4,V("Please input new password for Account [".concat(t,"]"))];case 23:return u=l.sent(),[4,V("Please confirm new password for Account [".concat(t,"]"))];case 24:return i=l.sent(),u!==i?(console.log(Oe.red("Passwords do not match")),[3,27]):[4,n.account.resetPassword(t,u)];case 25:return l.sent(),[2];case 26:return[2];case 27:return[4,Ue(e,t,n)];case 28:return l.sent(),[2]}}))}))},Re=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l;return v(this,(function(d){switch(d.label){case 0:return[4,qe(e,t)];case 1:for(r=d.sent(),a=["> Back"],s=0;s<r.data.length;s++)o=r.default_network,"default_network"in r.data[s]&&(o=r.data[s].default_network),c=tt(e,o),u="","tag"in r.data[s]&&(u="(".concat(r.data[s].tag,")")),"evm"===c?a.push("#".concat(s," ").concat(r.data[s].ciphertexts.evm.address," ").concat(u," [").concat(o,"]")):"solana"===c&&a.push("#".concat(s," ").concat(r.data[s].ciphertexts.solana.address," ").concat(u," [").concat(o,"]"));return[4,E(a,"Select an account")];case 2:return"> Back"===(i=d.sent())?[2]:(l=a.indexOf(i)-1,[4,Me(e,t,l,n)]);case 3:return d.sent(),[4,Re(e,t,n)];case 4:return d.sent(),[2]}}))}))},Me=function(e,t,n,r){return g(void 0,void 0,void 0,(function(){var a,s,o,c,u,i,l,d,p,m,f;return v(this,(function(h){switch(h.label){case 0:return[4,qe(e,t)];case 1:return a=h.sent(),s=a.default_network,"default_network"in a.data[n]&&(s=a.data[n].default_network),[4,nt(e,s)];case 2:return o=h.sent(),c=rt(e,t,n),[4,ct(c,e,s)];case 3:return(u=h.sent()).status?console.log(Oe.green(" Address No: #".concat(n,"\n Network: ").concat(s,"\n ").concat(o.nativeCurrency.symbol," Balance: ").concat(u.output))):console.log(Oe.green(" Address No: #".concat(n,"\n Network: ").concat(s,"\n ").concat(o.nativeCurrency.symbol))),i="> Tag()","tag"in a.data[n]&&""!==a.data[n].tag&&(i="> Tag(".concat(a.data[n].tag,")")),[4,E([i,"> Switch network","> Assets","> Tools","> Dump private key","> Back"])];case 4:switch(l=h.sent(),l){case i:return[3,5];case"> Switch network":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 d="Current tag ()","tag"in a.data[n]&&""!==a.data[n].tag&&(d="Current tag (".concat(a.data[n].tag,")")),[4,I(d,z)];case 6:return p=(p=h.sent()).replace(/\s+/g," ").trim(),a.data[n].tag=p.toLocaleLowerCase(),Le(e,t,a),[3,16];case 7:return[4,st(e,t,n)];case 8:case 10:case 12:return h.sent(),[3,16];case 9:return[4,ie(e,c,s)];case 11:return[4,Be(e,t,c,r)];case 13:return m=rt(e,t,n),[4,r.account.showPrivateKey(m)];case 14:return f=h.sent(),console.log("account: ",m),console.log("private key: ",f),[3,16];case 15:case 16:return[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(u){switch(u.label){case 0:return[4,qe(e,t)];case 1:return r=u.sent(),a=["> Back"],s="","tag"in r&&""!==r.tag&&(s="(".concat(r.tag,")")),a.push("#0 ".concat(r.ciphertexts.address," ").concat(s," [").concat(r.default_network,"]")),[4,E(a,"Select an account")];case 2:return"> Back"===u.sent()?[2]:(o=r.default_network,[4,nt(e,o)]);case 3:return c=u.sent(),console.log(Oe.green(" Address No: #0\n Network: ".concat(o,"\n ").concat(c.nativeCurrency.symbol," Balance: 0"))),[4,Je(e,t,n)];case 4:return u.sent(),[4,Ke(e,t,n)];case 5:return u.sent(),[2]}}))}))},Je=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i;return v(this,(function(l){switch(l.label){case 0:return[4,qe(e,t)];case 1:return r=l.sent(),a="> Tag()","tag"in r&&""!==r.tag&&(a="> Tag(".concat(r.tag,")")),[4,E([a,"> Switch network","> Assets","> Tools","> Dump private key","> Back"])];case 2:switch(s=l.sent(),s){case a:return[3,3];case"> Switch network":return[3,5];case"> Assets":return[3,7];case"> Tools":return[3,9];case"> Dump private key":return[3,11];case"> Back":return[3,13]}return[3,14];case 3:return o="Current tag ()","tag"in r&&""!==r.tag&&(o="Current tag (".concat(r.tag,")")),[4,I(o,z)];case 4:return c=l.sent(),r.tag=c.replace(/\s+/g," ").trim().toLocaleLowerCase(),Le(e,t,r),[3,14];case 5:return[4,ot(e,t,!1)];case 6:case 8:case 10:return l.sent(),[3,14];case 7:return u=at(e,t),[4,ie(e,u,r.default_network)];case 9:return u=at(e,t),[4,Be(e,t,u,n)];case 11:return u=at(e,t),[4,n.account.showPrivateKey(u)];case 12:return i=l.sent(),console.log("account: ",u),console.log("private key: ",i),[3,14];case 13:return[2];case 14:return[4,Je(e,t,n)];case 15:return l.sent(),[2]}}))}))},Ee=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,qe(e,t)];case 1:a=i.sent(),s=a.data.length,(o=new Ae.SingleBar({},Ae.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(Oe.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),[2]}}))}))},Ge=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,qe(e,t)];case 1:return(a=s.sent()).data=a.data.slice(0,n+1),Le(e,t,a),r.account.reloadAccount(),[2]}}))}))},De=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=p.resolve(e,"accounts"),d.existsSync(n)||d.mkdirSync(n),[4,E(["> Select an account","> Create a new account","> Back"])];case 1:switch(r=a.sent(),r){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,ze(e,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,_e(e,t)];case 6:return[2];case 7:return[4,De(e,t)];case 8:return a.sent(),[2]}}))}))},$e=require("chalk"),He=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:C,currentNetwork:"Ethereum Mainnet",accounts:[]},d.writeFileSync(t,JSON.stringify(n,null,2))),[2]}))}))},We=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("> Back"),[4,E(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,Ze(e,t)];case 3:case 5:return a.sent(),[3,7];case 4:return[4,Xe(e,t)];case 6:return[3,7];case 7:return[2]}}))}))},Ze=function(e,t){return g(void 0,void 0,void 0,(function(){var n,r,a,s,o,c,u,i,l,m,f,h,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,m=t.color,"Ethereum Mainnet"!==t.name&&"Solana Mainnet"!==t.name?[3,2]:[4,D(t.chainId.toString(),"Rpc Url (default: ".concat(t.rpcUrl,")"),!0)];case 1:return o=v.sent(),[3,9];case 2:return[4,I("Chain Name (default: ".concat(t.name,")"))];case 3:return(i=v.sent())&&i!==t.name&&a.includes(i)?(console.log($e.red("Chain Name already exists")),[2]):[4,G("Chain Id (default: ".concat(t.chainId,")"),!0)];case 4:return c=v.sent(),[4,D(c||t.chainId,"RPC Url (default: ".concat(t.rpcUrl,")"),!0)];case 5:return o=v.sent(),[4,H("Symbol (default: ".concat(t.nativeCurrency.symbol,")"))];case 6:return u=v.sent(),[4,$(t.multicallAddress?"Multicall Address (Optional) (default: ".concat(t.multicallAddress,")"):"Multicall Address (Optional)")];case 7:return l=v.sent(),[4,W(t.color?"Color (Optional): (default: ".concat(t.color,")"):"Color (Optional)")];case 8:m=v.sent(),v.label=9;case 9:for(f=F(c),h={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:f||t.nativeCurrency.decimals}},(l||t.multicallAddress)&&(h.multicallAddress=l||t.multicallAddress),(m||t.color)&&(h.color=m||t.color),g=0;g<r.networks.length;g++)if(r.networks[g].name===t.name){r.networks[g]=h;break}return d.writeFileSync(n,JSON.stringify(r,null,2)),[2]}}))}))},Xe=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]}))}))},Ve=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l,m,f,h;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($e.green("Please input someting about network")),[4,I("Chain Name")];case 1:return o=g.sent(),r.includes(o)?(console.log($e.red("Chain Name already exists")),[2]):[4,G("Chain Id")];case 2:return(c=g.sent())?[4,D(c,"RPC Url")]:[2];case 3:return(u=g.sent())?[4,H("Symbol")]:[2];case 4:return(i=g.sent())?[4,$("Multicall Address (Optional)")]:[2];case 5:return l=g.sent(),[4,W("Color (Optional)")];case 6:return m=g.sent(),f=F(c),h={name:o,chainId:Number(c),rpcUrl:u,nativeCurrency:{name:i,symbol:i,decimals:f}},l&&(h.multicallAddress=l),m&&(h.color=m),n.networks.push(h),d.writeFileSync(t,JSON.stringify(n,null,2)),[2]}}))}))},Qe=function(e){return g(void 0,void 0,void 0,(function(){var t,n,r,a,s,o,c,u,i,l,m,h,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"===_(i.chainId.toString())?a.push(c):r.push(c);for(s=["> Back",new f.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 f.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,E(s)];case 1:return"> Back"===(m=v.sent())?[2]:(h=s.indexOf(m),g=h<r.length+2?n.networks[r[h-2]]:n.networks[a[h-r.length-3]],[4,We(e,g)]);case 2:return v.sent(),[4,Qe(e)];case 3:return v.sent(),[2]}}))}))},Ye=function(e){return g(void 0,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return[4,E(["> Available Networks","> Add Network","> Back"])];case 1:switch(t=n.sent(),t){case"> Available Networks":return[3,2];case"> Add Network":return[3,4];case"> Back":return[3,6]}return[3,7];case 2:return[4,Qe(e)];case 3:case 5:return n.sent(),[3,7];case 4:return[4,Ve(e)];case 6:return[2];case 7:return[4,Ye(e)];case 8:return n.sent(),[2]}}))}))},et=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,E(r,"Please select a default network")];case 1:return[2,a.sent().slice(2)]}}))}))},tt=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.chainId.toString())}return"unknown"},nt=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},rt=function(e,t,n){var r=qe(e,t),a=r.default_network;r.data[n].default_network&&""!==r.data[n].default_network&&(a=r.data[n].default_network);var s=tt(e,a);return"solana"===s?r.data[n].ciphertexts.solana.address:"evm"===s?r.data[n].ciphertexts.evm.address:null},at=function(e,t){return qe(e,t).ciphertexts.address},st=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l,m,f,h,g,b,w;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=qe(e,t),u=["> Back"],(i=c.data[n].default_network)&&""!==i?u.push("○ Same as the account setting"):u.push("● Same as the account setting"),l=0;l<o;l++)m=s[l],f=void 0,f=_(m.chainId.toString())?c.data[n].ciphertexts.solana.address:c.data[n].ciphertexts.evm.address,m.name===i?u.push("● ".concat(f," [").concat(m.name,"]")):u.push("○ ".concat(f," [").concat(m.name,"]"));return[4,E(u)];case 1:return"> Back"===(h=v.sent())||(1===(g=u.indexOf(h))?delete c.data[n].default_network:c.data[n].default_network=s[g-2].name,Le(e,t,c),b=c.default_network,"default_network"in c.data[n]&&""!==c.data[n].default_network&&(b=c.data[n].default_network),w=nt(e,b),console.log($e.green(" Address No: #".concat(n,"\n Network: ").concat(b,"\n ").concat(w.nativeCurrency.symbol," Balance: 0")))),[2]}}))}))},ot=function(e,t,n){return g(void 0,void 0,void 0,(function(){var r,a,s,o,c,u,i,l,m,f,h,g,b,w,y,k,S;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=qe(e,t),u=["> Back"],i=c.default_network,l="",n||(l=c.ciphertexts.address),m=[],f=tt(e,i),h=0;h<o;h++)g=s[h],b=tt(e,g.name),"PK"===c.account_type&&f!==b||(g.name===i?n?u.push("● ".concat(g.name)):u.push("● ".concat(l," [").concat(g.name,"]")):n?u.push("○ ".concat(g.name)):u.push("○ ".concat(l," [").concat(g.name,"]")),m.push(g.name));return[4,E(u)];case 1:return"> Back"===(w=v.sent())||(y=u.indexOf(w),c.default_network=m[y-1],Le(e,t,c),n||(k=c.default_network,S=nt(e,k),console.log($e.green(" Address No: #0\n Network: ".concat(k,"\n ").concat(S.nativeCurrency.symbol," Balance: 0"))))),[2]}}))}))},ct=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=nt(t,n),a=r.rpcUrl,s=r.nativeCurrency.decimals,"solana"!==_(r.chainId.toString())?[3,2]:[4,y(e,a)];case 1:return o=i.sent(),[3,4];case 2:return[4,w(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)),[2,o]}}))}))},ut=function(e,t,n){var r=qe(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},it=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"===_(n[s].chainId.toString())&&a.push(n[s].name);return a};require("wative-core").WativeCore;var lt=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,E(["> 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,Ye(e)];case 3:case 5:case 7:return r.sent(),[3,9];case 4:return[4,De(e,t)];case 6:return[4,Pe(e,t)];case 8:return[2];case 9:return[4,lt(e,t)];case 10:return r.sent(),[2]}}))}))},dt=require("wative-core").WativeCore,pt=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:",pt.version),console.log(T.green(m.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,I("Keystore storage located in (default: ".concat(L,")"))];case 1:return(e=t.sent())||(e=L),e=(e=e.trim()).replace("~",q),d.existsSync(e)||d.mkdirSync(e,{recursive:!0}),[2,e]}}))}))];case 1:return e=a.sent(),[4,He(e)];case 2:return a.sent(),t=p.resolve(e,"network.json"),n=JSON.parse(d.readFileSync(t,"utf8")),r=new dt(e,n.accounts),[4,lt(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
package/src/utils.ts
CHANGED
|
@@ -52,7 +52,7 @@ export const numberValidator = (value: string) => {
|
|
|
52
52
|
export const passphraseValidator = (passphrase: string) => {
|
|
53
53
|
passphrase = passphrase.replace(/\s+/g, " ");
|
|
54
54
|
const mnemonic_word_list = passphrase.split(/\s+/g);
|
|
55
|
-
if (mnemonic_word_list.length
|
|
55
|
+
if (mnemonic_word_list.length !== 12) {
|
|
56
56
|
return "Passphrase should be equal to 12 words";
|
|
57
57
|
}
|
|
58
58
|
for (let i = 0; i < mnemonic_word_list.length; i++) {
|