[{"data":1,"prerenderedAt":129842},["ShallowReactive",2],{"docs-all-pages":3},[4,25,163,225,339,402,589,684,1677,1738,2202,2316,2391,2436,2479,2552,2588,2647,2692,2740,2796,2864,2921,2969,3014,3070,3190,3242,3293,3386,4368,4887,4907,4925,5528,5869,5887,5976,6813,6847,8706,9472,9656,10395,10487,10917,11424,11593,11665,11721,12342,14058,14170,14256,14311,14740,16084,16633,16832,17232,18069,25447,35251,35271,47217,58926,71641,84280,86954,87190,87530,87788,88586,88830,88951,89410,89740,89835,90377,90762,91055,91645,92213,92309,92926,93442,93560,93781,94673,95175,95341,95604,95769,96505,97108,97952,98270,98552,98859,98927,100494,100737,100782,100973,101037,101110,101431,101494,101696,101784,102104,102277,102621,102708,103082,103213,103234,103435,103489,103741,103980,104643,104843,105095,105131,105708,105823,105986,106053,106154,109028,111003,111523,111622,111739,111939,112113,112126,112851,112898,112959,113026,113091,113164,113499,113851,114003,114244,114437,114642,114920,115006,115105,115303,115435,115713,116579,116834,117352,118077,118115,118141,118210,118285,118312,118338,118353,118366,118381,118412,118457,119044,119528,119699,119934,119950,119968,120704,120864,120978,121168,121354,121625,122509,123084,123604,123898,123983,124119,124235,124446,124561,124829,125126,125324,125403,125483,125778,125861,125986,126216,126368,126495,126708,126845,127060,127186,127214,128208,128622,128708,128743,128770,128809,129008,129112,129265,129304,129382,129486,129567,129777],{"id":5,"title":6,"body":7,"description":14,"extension":17,"image":18,"meta":19,"navTitle":18,"navigation":20,"path":21,"seo":22,"stem":23,"__hash__":24},"docs\u002Fdocs\u002FREADME.md","docs-gitbook",{"type":8,"value":9,"toc":13},"minimark",[10],[11,12,6],"h1",{"id":6},{"title":14,"searchDepth":15,"depth":15,"links":16},"",2,[],"md",null,{},true,"\u002Fdocs\u002Freadme",{"title":6,"description":14},"docs\u002FREADME","39WXVMN972DGx6Z6OCASeZ9mCXGiFHQj4rIFun532bA",{"id":26,"title":27,"body":28,"description":39,"extension":17,"image":18,"meta":158,"navTitle":18,"navigation":20,"path":159,"seo":160,"stem":161,"__hash__":162},"docs\u002Fdocs\u002Fatomic-swaps\u002FREADME.md","Introduction to Atomic Swaps",{"type":8,"value":29,"toc":149},[30,33,40,44,47,52,55,88,91,104,107,114,128,132],[11,31,27],{"id":32},"introduction-to-atomic-swaps",[34,35,36],"p",{},[37,38,39],"strong",{},"For Electrum we support only Legacy type seeds and SSL connection",[41,42,27],"h2",{"id":43},"introduction-to-atomic-swaps-1",[34,45,46],{},"Atomic Swaps offer a simple solution to the following problem: two parties (Alice and Bob) want to trade their coins without using an exchange. ‌Beam has integrated an Atomic Swap marketplace directly into your Beam wallet (desktop version only) and a simplified process to link additional cryptocurrencies from your wallet settings.",[48,49,51],"h3",{"id":50},"the-non-atomic-way-to-swap-cryptocurrency","The Non-Atomic way to Swap Cryptocurrency",[34,53,54],{},"The non-atomic approach to swapping cryptocurrencies consists of many arduous steps:",[56,57,58,62,65,68,71,73,76,79,82,85],"ol",{},[59,60,61],"li",{},"Alice wants to trade her Litecoin for Bob's Bitcoin.",[59,63,64],{},"Alice and Bob find an exchange that supports both currencies. Alice and Bob each sign up and go through the verification process.",[59,66,67],{},"Wait.",[59,69,70],{},"The verification process completes. Alice and Bob can deposit their crypto to the exchange, paying network and mining fees to do so.",[59,72,67],{},[59,74,75],{},"Alice and Bob's can exchange their crypto. They pay additional fees.",[59,77,78],{},"Alice now has some of Bob's bitcoin, and Bob has some of Alice's Litecoin.",[59,80,81],{},"Alice and Bob transfer their shiny new crypto coins back to their wallets, but not before paying more network and mining fees.",[59,83,84],{},"Wait some more.",[59,86,87],{},"Alice and Bob's coins have arrived in their wallets. Alice and Bob have now diversified their cryptocurrency portfolios.",[34,89,90],{},"This scenario is unnecessarily complex and creates lots of room for error.",[34,92,93,94,98,99,103],{},"With Atomic Swaps, Alice can exchange her Litecoin for Bob's ",[95,96,97],"del",{},"Bitcoin"," ",[100,101,102],"em",{},"Beam coins"," directly from their respective wallets!",[34,105,106],{},"No verification process. No depositing to cryptocurrency exchanges. Minimal fees and wait time.",[48,108,110,111],{"id":109},"atomic-swaps-simplified","Atomic Swaps, ",[100,112,113],{},"Simplified",[56,115,116,119,122,125],{},[59,117,118],{},"Alice creates an offer for 200 of her Dogecoins for 10 of Bob's Beam coins, securing it with her secret passphrase before broadcasting the request to Bob over the Beam network.",[59,120,121],{},"Bob receives Alice's offer for 200 of her Dogecoins for 10 of his Beam coins. Bob accepts, verifying the exchange with his secret passphrase.",[59,123,124],{},"Alice receives a notification that Bob has accepted her offer.",[59,126,127],{},"Alice receives 10 Beam coins, and Bob gets 200 Dogecoin. Alice and Bob have now diversified their cryptocurrency portfolios.",[48,129,131],{"id":130},"atomic-swaps-not-so-simplified","Atomic Swaps, Not-So-Simplified",[56,133,134,137,140,143,146],{},[59,135,136],{},"Atomic swaps are essentially three smart contracts stacked on top of each other.",[59,138,139],{},"Each atomic swap creates three transactions between Alice and Bob: Lock transaction, Redeem transaction, and Refund transaction.",[59,141,142],{},"Both parties lock their coins on the respective chain using the Lock Transaction. In this state, the coins belong to both parties and can not be spent.",[59,144,145],{},"Once the lock is confirmed, the parties exchange secrets used to lock funds and send the Redeem transaction to the chain, effectively getting the swapped coins.",[59,147,148],{},"If the swap fails for any reason, a Refund transaction can be sent to the network after some significant period of time to get the locked coin back for each party.",{"title":14,"searchDepth":15,"depth":15,"links":150},[151],{"id":43,"depth":15,"text":27,"children":152},[153,155,157],{"id":50,"depth":154,"text":51},3,{"id":109,"depth":154,"text":156},"Atomic Swaps, Simplified",{"id":130,"depth":154,"text":131},{},"\u002Fdocs\u002Fatomic-swaps\u002Freadme",{"title":27,"description":39},"docs\u002Fatomic-swaps\u002FREADME","0TDNlNaVu47JJiyT7xdDc_MZO093JjcT1p18iW_I3-Q",{"id":164,"title":165,"body":166,"description":219,"extension":17,"image":18,"meta":220,"navTitle":18,"navigation":20,"path":221,"seo":222,"stem":223,"__hash__":224},"docs\u002Fdocs\u002Fatomic-swaps\u002Fconfiguring-atomic-swaps-in-desktop-wallet.md","Configuring Atomic Swaps In Desktop Wallet",{"type":8,"value":167,"toc":216},[168,171,182,188,192,195,202,209],[11,169,165],{"id":170},"configuring-atomic-swaps-in-desktop-wallet",[34,172,173,174,181],{},"Currently, Atomic Swaps is Desktop Only. For more updates on upcoming Beam news, see our ",[175,176,180],"a",{"href":177,"rel":178},"https:\u002F\u002Ft.me\u002FBeamPrivacy",[179],"nofollow","Telegram page",".",[34,183,184],{},[175,185,186],{"href":186,"rel":187},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=_SOgPybgi8Y&t=504s",[179],[41,189,191],{"id":190},"configuring-atomic-swaps","Configuring Atomic Swaps",[34,193,194],{},"Configure your Beam wallet to enable Atomic Swaps by connecting to the node and wallet of the currency you wish to swap. Each currency can link with your Beam wallet via RPC full node or an Electrum wallet.",[34,196,197,198,181],{},"For detailed instructions on connecting via RPC full node, refer to ",[175,199,201],{"href":200},"rpc-full-node-atomic-swaps","RPC Full Node Atomic Swaps Configuration",[34,203,204,205,181],{},"For detailed instructions on connecting with an Electrum wallet, refer to ",[175,206,208],{"href":207},"electrum-atomic-swaps","Electrum Atomic Swaps Configuration",[34,210,211,212,181],{},"For detailed instructions on connecting to Ethereum, refer to ",[175,213,215],{"href":214},"ethereum-atomic-swaps","Ethereum Atomic Swaps Configuration",{"title":14,"searchDepth":15,"depth":15,"links":217},[218],{"id":190,"depth":15,"text":191},"Currently, Atomic Swaps is Desktop Only. For more updates on upcoming Beam news, see our Telegram page.",{},"\u002Fdocs\u002Fatomic-swaps\u002Fconfiguring-atomic-swaps-in-desktop-wallet",{"title":165,"description":219},"docs\u002Fatomic-swaps\u002Fconfiguring-atomic-swaps-in-desktop-wallet","rO7IpS0ndsGnyGUnruQUeDNmZ3ZGE0qbXClVfvujU6k",{"id":226,"title":227,"body":228,"description":14,"extension":17,"image":18,"meta":334,"navTitle":18,"navigation":20,"path":335,"seo":336,"stem":337,"__hash__":338},"docs\u002Fdocs\u002Fatomic-swaps\u002Fcreating-atomic-swap-offer.md","Creating Atomic Swap Offer",{"type":8,"value":229,"toc":325},[230,233,237,253,256,263,266,270,273,277,280,285,289,305,308,313,317,320],[11,231,227],{"id":232},"creating-atomic-swap-offer",[41,234,236],{"id":235},"create-swap-offer","Create Swap Offer",[34,238,239,240,245,246,249,252],{},"Open Atomic Swaps",[241,242],"img",{"src":243,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-03 at 5.08.03 PM.png","line"," , select ",[37,247,248],{},"create offer",[241,250],{"src":251,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-27 at 6.39.33 PM.png"," to start a new swap.",[34,254,255],{},"Use Rate Selector to automatically convert your currencies.",[34,257,258,259,262],{},"Rate Selector",[241,260],{"src":261,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-27 at 6.39.50 PM.png","will automatically convert the currency value you want to trade to the type of currency received. You can manually enter the currency value you are receiving for the currency type you want to swap.",[34,264,265],{},"Enter the details for the Atomic Swap and complete the swap by swapping tokens with your friends or publishing your swap offer to the Beam network.",[48,267,269],{"id":268},"swap-tokens-with-your-friends","Swap Tokens With Your Friends",[34,271,272],{},"In the Atomic Swap dashboard, select \"copy swap token\" and send it to the receiving party through the Beam Wallet secure communication channel.",[48,274,276],{"id":275},"publish-swap-offer-to-beam-network","Publish Swap Offer to Beam Network",[34,278,279],{},"Select \"publish offer\" to broadcast the swap offer so accepted by any user on the Beam network (to cancel the swap offer, in the Atomic Swaps dashboard, choose \"only my offers\" and clicking \"cancel\").",[34,281,282],{},[241,283],{"alt":14,"src":284},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-15%20at%203.14.51%20PM.png",[41,286,288],{"id":287},"accepting-a-swap-offer","Accepting a Swap Offer",[34,290,291,98,294,297,299,98,302],{},[37,292,293],{},"Open",[37,295,296],{},"Atomic Swaps",[241,298],{"src":243,"alt":14,"dataSize":244},[37,300,301],{},">",[37,303,304],{},"\"Active offers\" > \"Accept offer.\"",[34,306,307],{},"Review the number of coins you are sending vs. receiving, verify your wallet has the funds to complete the exchange. Click \"swap\" to complete the transaction.",[34,309,310],{},[241,311],{"alt":14,"src":312},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-15%20at%204.02.45%20PM.png",[48,314,316],{"id":315},"understanding-swap-transactions","Understanding Swap Transactions",[34,318,319],{},"Every swap offer created or accepted creates a copy of the transaction. You can view these transactions in your Atomic Swaps dashboard. Click on any transaction to view transaction status and other transaction details.",[34,321,322],{},[241,323],{"alt":14,"src":324},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-18%20at%206.04.07%20PM.png",{"title":14,"searchDepth":15,"depth":15,"links":326},[327,331],{"id":235,"depth":15,"text":236,"children":328},[329,330],{"id":268,"depth":154,"text":269},{"id":275,"depth":154,"text":276},{"id":287,"depth":15,"text":288,"children":332},[333],{"id":315,"depth":154,"text":316},{},"\u002Fdocs\u002Fatomic-swaps\u002Fcreating-atomic-swap-offer",{"title":227,"description":14},"docs\u002Fatomic-swaps\u002Fcreating-atomic-swap-offer","26mbcrhvj9PTnDSqs0oSBit6au5TCKS5WNVnTqDQmgs",{"id":340,"title":208,"body":341,"description":14,"extension":17,"image":18,"meta":397,"navTitle":18,"navigation":20,"path":398,"seo":399,"stem":400,"__hash__":401},"docs\u002Fdocs\u002Fatomic-swaps\u002Felectrum-atomic-swaps.md",{"type":8,"value":342,"toc":392},[343,346,350,353,357,376,379,384,387],[11,344,208],{"id":345},"electrum-atomic-swaps-configuration",[41,347,349],{"id":348},"connect-with-electrum-wallet","Connect with Electrum Wallet",[34,351,352],{},"If you have an Electrum wallet, connecting to a remote node follows a similar yet more straightforward process:",[48,354,356],{"id":355},"edit-electrum-wallet-settings","Edit Electrum Wallet Settings",[56,358,359,370,373],{},[59,360,361,364,367],{},[37,362,363],{},"Settings",[241,365],{"src":366,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-03 at 5.06.40 PM.png",[37,368,369],{},"> toggle \"Node\" to \"Electrum.\"",[59,371,372],{},"Enter your Electrum address.",[59,374,375],{},"Enter an existing seed phrase or generate a new one (you can change wallets at any time).",[34,377,378],{},"Once connected, you should be able to see the list of all wallet addresses in your Electrum wallet by clicking \"Show wallet addresses.\"",[34,380,381],{},[241,382],{"alt":14,"src":383},".gitbook\u002Fassets\u002FScreenshot_206.png",[34,385,386],{},"Once you have optimized and synchronized your nodes in the settings tabs, you will now be able to accept Atomic Swap offers.",[34,388,389],{},[241,390],{"alt":14,"src":391},".gitbook\u002Fassets\u002FScreenshot_207.png",{"title":14,"searchDepth":15,"depth":15,"links":393},[394],{"id":348,"depth":15,"text":349,"children":395},[396],{"id":355,"depth":154,"text":356},{},"\u002Fdocs\u002Fatomic-swaps\u002Felectrum-atomic-swaps",{"title":208,"description":14},"docs\u002Fatomic-swaps\u002Felectrum-atomic-swaps","A1YSVVUvqcSJDXkTqpjynDUAswXLpRppm8HnLUlvRac",{"id":403,"title":215,"body":404,"description":14,"extension":17,"image":18,"meta":584,"navTitle":18,"navigation":20,"path":585,"seo":586,"stem":587,"__hash__":588},"docs\u002Fdocs\u002Fatomic-swaps\u002Fethereum-atomic-swaps.md",{"type":8,"value":405,"toc":572},[406,409,413,416,430,439,442,446,499,502,506,510,513,518,522,525,530,534,537,542,546,551,555,558,563,567],[11,407,215],{"id":408},"ethereum-atomic-swaps-configuration",[41,410,412],{"id":411},"connecting-to-ethereum","Connecting to Ethereum",[34,414,415],{},"To link your Ethereum and Beam wallets together, you must have an Infura account as well as an Ethereum Metamask.",[34,417,418,423,424,429],{},[175,419,422],{"href":420,"rel":421},"https:\u002F\u002Finfura.io\u002F",[179],"Infura"," is the API service that broadcasts information from the Ethereum blockchain, and ",[175,425,428],{"href":426,"rel":427},"https:\u002F\u002Fmetamask.io\u002F",[179],"Metamask"," is a browser-based Ethereum wallet.",[34,431,432,433,438],{},"Note: ",[175,434,437],{"href":435,"rel":436},"https:\u002F\u002Fwww.infura.io",[179],"infura.io"," requires specific parameters from your Beam wallet as well as valid email address verification.",[34,440,441],{},"Before attempting to create an Ethereum \u003C> Beam Atomic Swap make sure your wallet balance has enough Ethereum to cover mining fees.",[41,443,445],{"id":444},"to-connect-to-ethereum","To connect to Ethereum",[56,447,448,458,464,469,478,484,489,496],{},[59,449,450,98,453],{},[37,451,452],{},"Launch",[175,454,457],{"href":455,"rel":456},"http:\u002F\u002Fwww.infura.io",[179],"infura.io.",[59,459,460,461],{},"Go to ",[37,462,463],{},"Settings > \"keys\" > Copy Project ID.",[59,465,466,468],{},[37,467,452],{}," your Beam wallet.",[59,470,460,471,473,475],{},[37,472,363],{},[241,474],{"src":366,"alt":14,"dataSize":244},[37,476,477],{},"> \"Connectivity\" > \"Ethereum\" > Paste Project ID.",[59,479,480,483],{},[37,481,482],{},"Click \"Generate Seed Phrase\""," to generate the seed phrase you will import to your Metamask. You can also use an existing seed phrase.",[59,485,486],{},[37,487,488],{},"Copy seed phrase > \"apply changes\" > \"Connect to node.\"",[59,490,491,98,493],{},[37,492,452],{},[37,494,495],{},"Metamask > click \"import using account seed phrase.\"",[59,497,498],{},"Enter your seed phrase and create a strong wallet password.",[34,500,501],{},"If you have successfully linked your accounts, a green light will appear next to the Ethereum node indicating the connection was a success!",[41,503,505],{"id":504},"how-it-looks-in-your-wallet","How it looks in your wallet",[48,507,509],{"id":508},"infuraio","Infura.io",[34,511,512],{},"Copy this project ID string.",[34,514,515],{},[241,516],{"alt":14,"src":517},".gitbook\u002Fassets\u002FScreenshot_172.png",[48,519,521],{"id":520},"beam-wallet-settings","Beam wallet settings",[34,523,524],{},"Paste your Infura Project ID under \"Ethereum.\"",[34,526,527],{},[241,528],{"alt":14,"src":529},".gitbook\u002Fassets\u002FScreenshot_173.png",[48,531,533],{"id":532},"generate-a-new-seed-phrase","Generate a new seed phrase",[34,535,536],{},"Click \"apply changes\" after you have copied your seed phrase.",[34,538,539],{},[241,540],{"alt":14,"src":541},".gitbook\u002Fassets\u002FScreenshot_174.png",[48,543,545],{"id":544},"connect-to-ethereum","Connect to Ethereum",[34,547,548],{},[241,549],{"alt":14,"src":550},".gitbook\u002Fassets\u002FScreenshot_175.png",[48,552,554],{"id":553},"import-ethereum-seed-phrase","Import Ethereum seed phrase",[34,556,557],{},"The next step is to import the Ethereum seed phrase into a Metamask wallet. At the bottom of your Metamask browser extension, click \"Import using account seed phrase.\" Enter your seed phrase and create a password.",[34,559,560],{},[241,561],{"alt":14,"src":562},".gitbook\u002Fassets\u002FScreenshot_176.png",[48,564,566],{"id":565},"atomic-swaps-screen","Atomic Swaps screen",[34,568,569],{},[241,570],{"alt":14,"src":571},".gitbook\u002Fassets\u002FScreenshot_179.png",{"title":14,"searchDepth":15,"depth":15,"links":573},[574,575,576],{"id":411,"depth":15,"text":412},{"id":444,"depth":15,"text":445},{"id":504,"depth":15,"text":505,"children":577},[578,579,580,581,582,583],{"id":508,"depth":154,"text":509},{"id":520,"depth":154,"text":521},{"id":532,"depth":154,"text":533},{"id":544,"depth":154,"text":545},{"id":553,"depth":154,"text":554},{"id":565,"depth":154,"text":566},{},"\u002Fdocs\u002Fatomic-swaps\u002Fethereum-atomic-swaps",{"title":215,"description":14},"docs\u002Fatomic-swaps\u002Fethereum-atomic-swaps","GLIXAxI_kBdwn2dvqNnBmJb8kvZyzQY7WK3LakU7lpA",{"id":590,"title":201,"body":591,"description":14,"extension":17,"image":18,"meta":679,"navTitle":18,"navigation":20,"path":680,"seo":681,"stem":682,"__hash__":683},"docs\u002Fdocs\u002Fatomic-swaps\u002Frpc-full-node-atomic-swaps.md",{"type":8,"value":592,"toc":672},[593,596,600,603,607,615,624,629,633,639,644,648,655,660,667],[11,594,201],{"id":595},"rpc-full-node-atomic-swaps-configuration",[41,597,599],{"id":598},"connecting-to-full-node-via-litecoin","Connecting to Full Node via Litecoin",[34,601,602],{},"To connect Litecoin with your Beam wallet via full node, follow the steps below:",[48,604,606],{"id":605},"edit-litecoin-configuration-file","Edit Litecoin Configuration File",[34,608,609,610,614],{},"Using a text editor, open the ",[611,612,613],"code",{},"Litecoin.conf"," file and enter the following parameters to configure Litecoin to run with JSON RPC:",[616,617,622],"pre",{"className":618,"code":620,"language":621},[619],"language-text","# server=1 tells Litecoin-QT to accept JSON-RPC commands.\nserver=1\n\nrpcport=9432\n\n# You must set rpcuser and rpcpassword to secure the JSON-RPC api\nrpcuser=liteuser\nrpcpassword=123\n","text",[611,623,620],{"__ignoreMap":14},[34,625,626,627,181],{},"Save your changes to ",[611,628,613],{},[48,630,632],{"id":631},"synch-litecoin-node-with-beam-wallet","Synch Litecoin Node with Beam Wallet",[34,634,460,635,637,181],{},[37,636,363],{},[241,638],{"src":366,"alt":14,"dataSize":244},[34,640,641],{},[241,642],{"alt":14,"src":643},".gitbook\u002Fassets\u002FScreenshot_203.png",[48,645,647],{"id":646},"enter-litecoin-node-address","Enter Litecoin Node Address",[34,649,650,651,654],{},"Under the Litecoin tab, ",[37,652,653],{},"enter the node ip:port address along with the RPC username and password",". The fee paid on the respective chain per Kb of transaction size can be left at the default value.",[34,656,657],{},[37,658,659],{},"Click Apply > Connect.",[34,661,662,663,666],{},"A green light will appear next to ",[37,664,665],{},"Litecoin Node,"," indicating the connection was a success!",[34,668,669],{},[241,670],{"alt":14,"src":671},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-15%20at%202.05.52%20PM.png",{"title":14,"searchDepth":15,"depth":15,"links":673},[674],{"id":598,"depth":15,"text":599,"children":675},[676,677,678],{"id":605,"depth":154,"text":606},{"id":631,"depth":154,"text":632},{"id":646,"depth":154,"text":647},{},"\u002Fdocs\u002Fatomic-swaps\u002Frpc-full-node-atomic-swaps",{"title":201,"description":14},"docs\u002Fatomic-swaps\u002Frpc-full-node-atomic-swaps","tjsZ0xKUlKLiCY9DOuFzRlkMtPl18Ivge2HHB_oUSUo",{"id":685,"title":686,"body":687,"description":694,"extension":17,"image":18,"meta":1672,"navTitle":18,"navigation":20,"path":1673,"seo":1674,"stem":1675,"__hash__":1676},"docs\u002Fdocs\u002Fbeampedia\u002FREADME.md","Beampedia",{"type":8,"value":688,"toc":1597},[689,692,695,698,702,708,714,726,736,740,750,753,757,760,763,766,769,772,775,778,782,786,789,792,795,799,802,805,808,812,815,818,821,825,828,831,834,838,842,845,848,851,872,875,879,882,885,889,892,895,898,902,905,908,919,922,926,929,932,935,939,942,945,949,953,956,959,962,966,969,989,992,995,999,1003,1006,1009,1012,1015,1018,1022,1025,1028,1031,1035,1038,1041,1044,1048,1051,1054,1057,1060,1064,1068,1071,1082,1085,1088,1092,1095,1098,1101,1105,1108,1111,1114,1117,1120,1124,1128,1131,1134,1137,1140,1143,1147,1151,1154,1171,1174,1177,1181,1184,1187,1190,1193,1196,1200,1204,1207,1210,1213,1216,1219,1222,1226,1229,1232,1235,1238,1241,1249,1253,1257,1260,1263,1266,1270,1278,1281,1284,1287,1290,1294,1297,1311,1314,1328,1331,1334,1338,1341,1344,1347,1350,1354,1358,1361,1364,1367,1370,1373,1376,1380,1384,1387,1390,1393,1397,1400,1403,1406,1409,1412,1416,1419,1422,1425,1428,1432,1435,1438,1441,1444,1448,1452,1455,1458,1461,1464,1467,1482,1486,1489,1492,1509,1512,1515,1519,1523,1526,1529,1532,1535,1543,1546,1549,1552,1566,1570,1574,1577,1580,1583,1594],[11,690,686],{"id":691},"beampedia",[34,693,694],{},"Beampedia is an encyclopedia of key terms and concepts related to Beam, a privacy-focused cryptocurrency built on Mimblewimble. It provides accessible explanations of Beam's technical underpinnings and ecosystem. Whether you're a beginner seeking to learn the basics or an expert looking to dive deeper, Beampedia aims to be a go-to reference for all things Beam. The entries cover a wide range of topics - from Beam's origins and goals, to the cryptography it leverages, the network architecture and components, terminology around usage and investment, details on software and configuration, and more. Beampedia serves as a knowledge base to empower users to fully utilize Beam's confidential transactions, understand its advances in areas like transaction privacy and scalability, and participate in the broader vision of an open, decentralized cryptocurrency ecosystem.",[41,696,697],{"id":175},"A",[48,699,701],{"id":700},"account","Account",[34,703,704,705,707],{},"Similar to what is commonly referred to as a wallet an ",[100,706,700],{}," in Beam is a private account owned and operated by the user.",[34,709,710,711,181],{},"An account contains all of the user's transaction history, as well as the resulting current total ",[100,712,713],{},"balance",[34,715,716,717,722,723,725],{},"A Beam account is ",[175,718,721],{"href":719,"rel":720},"https:\u002F\u002Fwww.ibm.com\u002Fblogs\u002Fblockchain\u002F2018\u002F06\u002Fself-sovereign-identity-why-blockchain\u002F",[179],"self-sovereign",", which means that only the users can access and control their ",[100,724,713],{}," and that the full responsibility rests on them. The account is usually stored locally on the user's device or remotely using encrypted cloud storage for backup.",[34,727,728,729,732,733,735],{},"This is achieved with ",[100,730,731],{},"public key cryptography",", which uses key pairs: a public and a private key. The public key can be shared, and it can be used by the user to view the ",[100,734,713],{}," without any security risks. The private key must be stored securely, and is only used for signing transactions.",[48,737,739],{"id":738},"address","Address",[34,741,742,743,745,746,749],{},"A Beam ",[100,744,738],{}," is a unique identifier derived from a user's public key that can be shared to receive beam payments. Addresses in Beam utilize ",[100,747,748],{},"Confidential Transactions (CT)",", which encrypt transaction amounts in the address itself. This provides privacy by concealing the account balance and transaction amounts.",[34,751,752],{},"New addresses should be generated for each transaction to enhance anonymity. As addresses are free to create, this impedes blockchain analysis intended to cluster addresses.",[48,754,756],{"id":755},"architecture","Architecture",[34,758,759],{},"Computer architecture involves designing computing systems to optimize for functional, performance, cost, reliability and efficiency goals. This requires making hardware and software design tradeoffs.",[34,761,762],{},"Architectural improvement is driven by advances like Moore's Law, allowing transistors to be miniaturized at an exponential rate. This enables new applications and capabilities. However, unlimited scaling is impossible, so disruptive changes are eventually needed.",[34,764,765],{},"For example, the emergence of multicore CPUs, SSD storage, and new algorithms like public key cryptography have enabled modern systems. Ongoing research into areas like quantum computing aims to drive future disruptive improvement.",[48,767,296],{"id":768},"atomic-swaps",[34,770,771],{},"Atomic swaps allow direct cryptocurrency trades between users without a centralized exchange. Trades occur via smart contracts that either atomically complete or abort, preventing theft.",[34,773,774],{},"Benefits include decentralization, privacy, security, and low fees. Users retain custody of funds and transact peer-to-peer. This is especially useful for swapping privacy-focused cryptos like Beam in a trustless manner.",[34,776,777],{},"As technology improves, atomic swaps will become faster and more decentralized. This can facilitate an open, global crypto economy without intermediaries.",[41,779,781],{"id":780},"b","B",[48,783,785],{"id":784},"beam","Beam",[34,787,788],{},"Beam is a privacy-focused cryptocurrency that utilizes Mimblewimble to provide confidential transactions by default. This allows for scalability, reduced blockchain bloat, and enhanced fungibility without trusted setup.",[34,790,791],{},"Beam operates on a proof-of-work model using the ASIC-resistant Equihash algorithm. Periodic halving and an initial treasury emission provide long-term sustainability. The developers have experience building performant C++ systems.",[34,793,794],{},"Beam implements leading research across areas like Confidential Transactions, Bulletproofs, and Dandelion++ for privacy and scalability. It enables complex logic like time-locked transactions and atomic swaps. Beam aims to be a decentralized, confidential cryptocurrency for everyday transactions.",[48,796,798],{"id":797},"block","Block",[34,800,801],{},"In blockchain networks, a block contains a batch of transactions to be verified and added to the chain. Blocks have a maximum size and contain a cryptographic hash of the previous block to link together.",[34,803,804],{},"Valid blocks must follow the network's consensus rules. Nodes express acceptance by building on top of blocks, while invalid blocks are rejected. The mining process creates new blocks by solving a computational puzzle.",[34,806,807],{},"In Bitcoin and Beam, blocks contain a Merkle root hash of all transactions. This both batches transactions and establishes their order to prevent double spends. Blocks form the fundamental structure of blockchain ledgers.",[48,809,811],{"id":810},"blockchain","Blockchain",[34,813,814],{},"A blockchain is a decentralized ledger achieved by cryptographic linking of transaction batches (blocks) in an append-only data structure. This prevents revision and establishes an authoritative transaction history.",[34,816,817],{},"Satoshi Nakamoto proposed using proof-of-work and economic incentives to operate blockchains in a trustless way. Network nodes cryptographically agree on the valid chain with the greatest proof-of-work. Technologies like Mimblewimble improve privacy and scalability.",[34,819,820],{},"While originally conceived for Bitcoin, blockchains now have many applications requiring tamper-resistant state and consensus without intermediaries. Active research is still improving their capabilities.",[48,822,824],{"id":823},"bulletproofs","Bulletproofs",[34,826,827],{},"Bulletproofs are a type of zero-knowledge proof that enable confidential blockchain transactions without trusted setup. They are succinct proofs that transaction amounts are valid under certain rules.",[34,829,830],{},"For privacy coins like Beam, they replace expensive range proofs that were previously required to verify confidential transaction amounts. This significantly reduces proof sizes and blockchain bloat.",[34,832,833],{},"Bulletproofs leverage discrete log equivalence and other innovations to provide efficient confidential transaction validation. They are an active research area for both blockchain privacy and zero-knowledge applications.",[41,835,837],{"id":836},"c","C",[48,839,841],{"id":840},"c-1","C++",[34,843,844],{},"C++ is a general-purpose, compiled, statically typed, object-oriented programming language developed by Bjarne Stroustrup at Bell Labs starting in 1979, originally as an extension of the C programming language.",[34,846,847],{},"C++ was designed for flexibility, efficiency, performance and speed, making it well-suited for system programming, embedded systems, resource-constrained devices, and large-scale software development.",[34,849,850],{},"Key features and paradigms in C++ include:",[852,853,854,857,860,863,866,869],"ul",{},[59,855,856],{},"General-purpose - can be used to build a wide array of applications, unlike domain-specific languages.",[59,858,859],{},"Imperative - uses statements that change program state, unlike declarative languages which specify desired outcomes.",[59,861,862],{},"Object-oriented - structures programs around objects and classes instead of just functions and logic.",[59,864,865],{},"Low-level memory access - allows direct manipulation of memory addresses and pointers for performance.",[59,867,868],{},"Compiled - source code must be compiled to machine code, unlike interpreted languages.",[59,870,871],{},"Statically typed - all types must be known at compile time for efficiency and safety.",[34,873,874],{},"Later versions of C++, such as C++17 used in Beam, add features like type inference, lambda expressions, templates, and reflection.",[48,876,878],{"id":877},"confidential-assets","Confidential Assets",[34,880,881],{},"Confidential Assets is a Mimblewimble extension allowing the blinding of asset tags in transactions to preserve privacy. It enables multiple asset types to be transacted confidentially on a blockchain without exposing users' balances or behaviors.",[34,883,884],{},"There are two types - predefined and user-defined. Each has tradeoffs between privacy and expression.",[48,886,888],{"id":887},"confidential-transactions","Confidential Transactions",[34,890,891],{},"Confidential Transactions, proposed by Adam Back, hide transaction amounts using cryptographic commitments that preserve the ability to verify no coins were created or destroyed.",[34,893,894],{},"Only transaction participants can see the actual amounts, while the network can still validate the transaction is balanced. This provides transaction privacy without introducing new cryptographic assumptions.",[34,896,897],{},"Implemented by Blockstream, Confidential Transactions also enable private memo data to be exchanged with no additional overhead.",[48,899,901],{"id":900},"consensus","Consensus",[34,903,904],{},"In distributed systems like blockchains, consensus refers to nodes agreeing on a single ordered set of valid transactions, despite failures.",[34,906,907],{},"Consensus algorithms must satisfy termination, integrity, and agreement properties to be considered fault tolerant:",[852,909,910,913,916],{},[59,911,912],{},"Termination - all non-faulty nodes decide on a value",[59,914,915],{},"Integrity - can recover from node failures",[59,917,918],{},"Agreement - all non-faulty nodes agree on the same value",[34,920,921],{},"In Bitcoin, consensus is achieved via proof-of-work and the longest valid chain rule (Nakamoto consensus). Miners build on top of the chain they consider canonical.",[48,923,925],{"id":924},"cryptocurrency","Cryptocurrency",[34,927,928],{},"Cryptocurrencies are digital assets and protocols that allow electronic value transfer. Early systems focused on anonymity, attracting interest from illegal markets, but also enabling privacy.",[34,930,931],{},"Debates continue around their relationship with national currencies and regulations. However, anonymous digital cash is important for individual privacy and empowerment.",[34,933,934],{},"While previously attempted, Bitcoin sparked mainstream crypto interest by solving key technical challenges. Beam builds on this progress with advances like Mimblewimble and Equihash.",[48,936,938],{"id":937},"cryptographic-signatures","Cryptographic Signatures",[34,940,941],{},"Cryptographic signatures prove authenticity of messages using public key cryptography. The signature depends on the message content and a private key only held by the signer.",[34,943,944],{},"Anyone can verify the signature's validity without revealing the private key. Digital signatures are a basic requirement for trust over the internet.",[41,946,948],{"id":947},"d","D",[48,950,952],{"id":951},"dandelion","Dandelion",[34,954,955],{},"Dandelion is a transaction routing protocol that enhances privacy against network surveillance and deanonymization attacks.",[34,957,958],{},"It was proposed by Giulia Fanti et al. and is based on Bitcoin's BIP-156. Dandelion mitigates transaction source identification by transmitting transactions silently along a random path during a stem phase, before diffusing it to the wider network during the fluff phase.",[34,960,961],{},"Without Dandelion, transactions diffuse symmetrically from the source, allowing spy nodes to triangulate the source IP based on transaction propagation. Dandelion protects the anonymity of the entire network, rather than just individual users.",[48,963,965],{"id":964},"data-directory","Data Directory",[34,967,968],{},"The data directory is the disk location where Beam node and wallet data is stored, including:",[852,970,971,977,983],{},[59,972,973,974],{},"Mac: ",[611,975,976],{},"\u002FUsers\u002F{username}\u002FLibrary\u002FApplication Support\u002FBeam Wallet\u002F",[59,978,979,980],{},"Windows: ",[611,981,982],{},"\\Users\\{username}\\AppData\\Local\\Beam Wallet",[59,984,985,986],{},"Linux: ",[611,987,988],{},"\u002Fhome\u002F{username}\u002F.local\u002Fshare\u002FBeam Wallet",[34,990,991],{},"Upon starting a node, log files are created in the logs subfolder. The node will create a node.db file storing its internal state.",[34,993,994],{},"On first launch, the node syncs the full blockchain history in batch mode as a macroblock. After initial sync, it will continue syncing new blocks and transactions from the blockchain tip onwards.",[41,996,998],{"id":997},"e","E",[48,1000,1002],{"id":1001},"elliptic-curve-cryptography","Elliptic Curve Cryptography",[34,1004,1005],{},"Elliptic curve cryptography (ECC) is a modern approach to public-key cryptography based on the algebraic properties of elliptic curves.",[34,1007,1008],{},"An elliptic curve is the set of points satisfying the equation y^2 = x^3 + ax + b. Adding points on the curve yields a third point, allowing cryptographic operations.",[34,1010,1011],{},"Encrypting a message maps it to a point, which is then repeatedly added to itself k times. Without knowing k (the private key), decryption is infeasible.",[34,1013,1014],{},"ECC provides exponential security improvement over RSA with smaller keys. It is standardized by NIST and widely adopted in protocols like TLS.",[34,1016,1017],{},"Beam uses the secp256k1 curve, providing 128 bits of security. The large prime field size hinders brute force attacks.",[48,1019,1021],{"id":1020},"emission","Emission",[34,1023,1024],{},"Emission refers to the creation and distribution of new coins in a cryptocurrency system as a mining reward.",[34,1026,1027],{},"In Beam, emission is smooth and predictable based on a fixed block reward that halves periodically. This incentivizes mining while controlling inflation.",[34,1029,1030],{},"As the block reward decreases over time, transaction fees will become a larger portion of miner income, providing an incentive to keep securing the network.",[48,1032,1034],{"id":1033},"encryption","Encryption",[34,1036,1037],{},"Encryption encodes messages to prevent unauthorized access. Symmetric encryption uses a shared secret key. Asymmetric public key encryption uses public keys for encryption and private keys for decryption.",[34,1039,1040],{},"Public key cryptography enabled e-commerce by providing authentication without prior shared secrets. RSA is the most common algorithm. Elliptic curve cryptography (ECC) provides stronger security per bit.",[34,1042,1043],{},"Beam uses ECC due to its efficiency and high security margin against brute force attacks.",[48,1045,1047],{"id":1046},"equihash","Equihash",[34,1049,1050],{},"Equihash is a memory-hard proof-of-work mining algorithm developed by Alex Biryukov and Dmitry Khovratovich.",[34,1052,1053],{},"It is based on the generalized birthday problem of finding collisions between sets of random values. The algorithm parameters n and k determine the memory and bandwidth required.",[34,1055,1056],{},"Zcash implemented Equihash, but Bitmain produced an efficient ASIC miner for it. While ASIC resistance is ultimately futile, Beam will use Equihash parameters that give CPUs and GPUs a head start.",[34,1058,1059],{},"This allows widespread coin distribution while still transitioning to the security of ASICs later. Finding the right balance enables a democratic distribution without sacrificing decentralization.",[41,1061,1063],{"id":1062},"f","F",[48,1065,1067],{"id":1066},"financing","Financing",[34,1069,1070],{},"Financing provides funds for business activities through debt, equity, or token offerings.",[852,1072,1073,1076,1079],{},[59,1074,1075],{},"Debt - Loans that must be repaid with interest.",[59,1077,1078],{},"Equity - Ownership stakes given to investors.",[59,1080,1081],{},"Tokens - Blockchain-based assets sold to raise funds. Can represent utility, securities, or currencies.",[34,1083,1084],{},"Utility tokens leverage network value but are risky due to speculation. Regulated security tokens are emerging as a more stable model.",[34,1086,1087],{},"Beam's Confidential Assets allow private token issuance, preserving issuer and investor privacy.",[48,1089,1091],{"id":1090},"fomo","FOMO",[34,1093,1094],{},"FOMO stands for \"fear of missing out,\" describing anxiety over missing rewarding experiences or opportunities.",[34,1096,1097],{},"FOMO stems from anticipation of regret and social comparisons. Behavioral economics studies factors like FOMO that contradict rational decision theory.",[34,1099,1100],{},"FOMO is a form of reference dependence - evaluating outcomes based on comparisons rather than absolute values. It highlights the role of psychology and emotion in economic behaviors.",[48,1102,1104],{"id":1103},"fungibility","Fungibility",[34,1106,1107],{},"Fungibility is the property of assets being interchangeable with no loss of value. Fungible assets can be freely substituted for one another.",[34,1109,1110],{},"Currency is fungible - one dollar bill equals any other. Gold is fungible if of the same purity and weight. Diamonds are non-fungible since each one is unique.",[34,1112,1113],{},"Fungibility does not require liquidity. Diamonds are liquid but not fungible.",[34,1115,1116],{},"In cryptocurrencies, fungibility depends on transaction privacy. With a public ledger like Bitcoin, some coins can become \"tainted\" by their transaction history. This makes them less accepted, damaging fungibility.",[34,1118,1119],{},"Tainted coins can unknowingly spread, harming innocent holders' reputations. Privacy protections like Confidential Transactions are essential for cryptocurrency fungibility. When all coins are indistinguishable, they remain interchangeable without stigma.",[41,1121,1123],{"id":1122},"g","G",[48,1125,1127],{"id":1126},"groth","Groth",[34,1129,1130],{},"A Groth is the smallest denomination of Beam cryptocurrency recorded on the blockchain.",[34,1132,1133],{},"1 Groth = 0.00000001 BEAM (one hundred millionth of a Beam).",[34,1135,1136],{},"The unit is named after Jens Groth, Professor of Cryptology at University College London.",[34,1138,1139],{},"Prof. Groth's work on efficient cryptographic proofs and arguments is fundamental to Mimblewimble and other privacy-focused cryptocurrencies.",[34,1141,1142],{},"Naming the smallest unit after him honors his contributions to the development of private and scalable blockchain technology.",[41,1144,1146],{"id":1145},"h","H",[48,1148,1150],{"id":1149},"hash","Hash",[34,1152,1153],{},"A cryptographic hash function maps data into a fixed-size string or fingerprint. Ideal properties:",[852,1155,1156,1159,1162,1165,1168],{},[59,1157,1158],{},"Deterministic - same input gives same hash",[59,1160,1161],{},"Quick to compute",[59,1163,1164],{},"Infeasible to invert",[59,1166,1167],{},"Small changes to input alter output completely",[59,1169,1170],{},"Resistant to collisions",[34,1172,1173],{},"Common algorithms include MD5 (deprecated), SHA-1 (phased out), SHA-2, SHA-3, and BLAKE.",[34,1175,1176],{},"BLAKE is optimized for 64-bit CPUs and used in Beam's Equihash mining. Hash functions enable data integrity checks.",[48,1178,1180],{"id":1179},"hold","Hold",[34,1182,1183],{},"\"Hold\" refers to a long-term passive investment strategy of buying and retaining a cryptocurrency regardless of price fluctuations.",[34,1185,1186],{},"It originated from a 2013 bitcointalk post during high volatility. The rationale was inexperienced traders often lose money trading while seasoned investors hold through bear markets.",[34,1188,1189],{},"\"Hodl\" became a meme for believing in the long-term potential of a cryptocurrency as sound money rather than short-term gains.",[34,1191,1192],{},"However, hold advice around \"pump and dump\" schemes can be malicious, trapping naive investors. The aim of cryptocurrency is a store of value, not speculative investment.",[34,1194,1195],{},"True believers hope for fiat currency hyperinflation and the ultimate adoption of cryptocurrency for all transactions.",[41,1197,1199],{"id":1198},"l","L",[48,1201,1203],{"id":1202},"lambo","Lambo",[34,1205,1206],{},"\"Lambo\" is slang for Lamborghini, an Italian luxury sports car brand known for speed and expense.",[34,1208,1209],{},"The meme arose from cryptocurrency enthusiasts imagining buying Lamborghinis with their crypto gains. It represents hopes of rapidly accumulating life-changing wealth.",[34,1211,1212],{},"In 2010, the first Bitcoin pizza purchase valued BTC at a fraction of 1 cent. By 2017, 1 BTC was worth 1\u002F20th of a Lamborghini Aventador.",[34,1214,1215],{},"\"When Lambo?\" became shorthand for \"When will my crypto be worth enough for extravagant purchases?\" It is the speculative equivalent of \"To the moon!\"",[34,1217,1218],{},"However, realizing Lamborghini dreams requires responsible tax planning. Cryptocurrency windfalls invite regulatory scrutiny, particularly for those not reporting commensurate income.",[34,1220,1221],{},"While evocative, the Lambo meme underestimates literal challenges of moon buggy transport and the lack of a breathable atmosphere.",[48,1223,1225],{"id":1224},"lelantus","Lelantus",[34,1227,1228],{},"Beam utilizes a hybrid of Mimblewimble and Lelantus to enhance transaction graph privacy.",[34,1230,1231],{},"Lelantus is a protocol developed by the Zcoin team. It allows creating a shielded pool of anonymous UTXOs without trusted setup.",[34,1233,1234],{},"By combining Lelantus with Mimblewimble, Beam achieves a large anonymity set and breaks links between UTXOs. This makes transaction tracing virtually impossible.",[34,1236,1237],{},"Lelantus also enables one-sided payments in Beam, removing Mimblewimble's interactivity requirement for sending\u002Freceiving.",[34,1239,1240],{},"Overall, Lelantus-MW is a major advancement for transaction privacy in Beam, preventing the graph analysis possible in basic Mimblewimble.",[34,1242,1243,1244,181],{},"Read the full explanation on Lelantus ",[175,1245,1248],{"href":1246,"rel":1247},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FLelantus-MW",[179],"here",[41,1250,1252],{"id":1251},"m","M",[48,1254,1256],{"id":1255},"merkle-tree","Merkle Tree",[34,1258,1259],{},"A Merkle tree is a cryptographic data structure invented by Ralph Merkle in 1979. It allows efficient verification of large data sets.",[34,1261,1262],{},"Merkle trees produce a root hash from recursive hashing of paired data. This allows verifying membership in the tree with just a branch, not the full tree.",[34,1264,1265],{},"Merkle trees provide an efficient way to encode blockchain transaction data. Clients can verify transactions without downloading the entire chain.",[48,1267,1269],{"id":1268},"mimblewimble","Mimblewimble",[34,1271,1272,1273,1277],{},"Mimblewimble is a blockchain protocol designed for privacy and scalability. It was ",[175,1274,1276],{"href":1275},"\u002Fmimblewimble.txt","proposed anonymously by pseudonymous Tom Elvis Jedusor in 2016"," as a radical change to Bitcoin.",[34,1279,1280],{},"The name comes from a Harry Potter tongue-tying curse, reflecting its goal of preventing the blockchain from leaking user information.",[34,1282,1283],{},"Mimblewimble transactions are aggregated without interactivity via Confidential Transactions and CoinJoin.",[34,1285,1286],{},"Blocks contain input, output, and excess lists rather than complete transaction data. This provides privacy while allowing nodes to verify no coins were created.",[34,1288,1289],{},"By eliminating scripts, Mimblewimble increases scalability but loses functionality compared to Bitcoin. Beam implements extensions like scriptless scripts to regain expressiveness.",[48,1291,1293],{"id":1292},"mining","Mining",[34,1295,1296],{},"Mining is the process of adding transaction records to a cryptocurrency's blockchain through proof-of-work computation. It serves to:",[852,1298,1299,1302,1305,1308],{},[59,1300,1301],{},"Generate new coins via the block reward",[59,1303,1304],{},"Distribute coins into circulation",[59,1306,1307],{},"Confirm transaction history",[59,1309,1310],{},"Secure the network through economic incentives",[34,1312,1313],{},"Miners use hardware optimized for the proof-of-work algorithm:",[852,1315,1316,1319,1322,1325],{},[59,1317,1318],{},"CPUs - Earliest mining, now obsolete",[59,1320,1321],{},"GPUs - More parallelism than CPUs",[59,1323,1324],{},"FPGAs - Custom hardware, outpaced by ASICs",[59,1326,1327],{},"ASICs - Application-specific chips built for mining",[34,1329,1330],{},"To smooth reward variance, miners often join pools to share proceeds.",[34,1332,1333],{},"Algorithms like Beam's Equihash are memory-hard, resisting ASIC optimization over GPUs for a more decentralized distribution.",[48,1335,1337],{"id":1336},"moon","Moon",[34,1339,1340],{},"The Moon is Earth's only natural satellite and the first celestial body visited by humans. Its phases result from its 27-day orbit around Earth. The Moon causes ocean tides due to its gravity. Tidal forces also slowed the Moon's rotation, locking one face toward Earth.",[34,1342,1343],{},"The leading theory is that the Moon formed from debris after a collision between Earth and a Mars-sized body called Theia 4.5 billion years ago.",[34,1345,1346],{},"In cryptocurrency contexts, \"to the moon!\" refers to hopes for massive price increases, often fueled by coordinated pumping. Inexperienced traders use this phrase when trying to profit from speculative manias around low market cap \"shitcoins.\"",[34,1348,1349],{},"While evocative, the metaphor overlooks challenges like the Moon's lack of atmosphere and 238,000 mile distance from Earth. Responsible investing should be based on more than aspirational slogans.",[41,1351,1353],{"id":1352},"n","N",[48,1355,1357],{"id":1356},"node","Node",[34,1359,1360],{},"In graph theory, a node is a fundamental unit of a graph, connected to other nodes by edges.",[34,1362,1363],{},"In computing, a node refers to devices on a network or data points in a data structure. Nodes have identifiers like IP addresses.",[34,1365,1366],{},"In distributed systems like blockchains, nodes are peer computers that maintain shared state (the ledger) without a central clock.",[34,1368,1369],{},"A cryptocurrency node validates transactions and blocks, enforces consensus rules, and relays data. Nodes can join or leave the network at will.",[34,1371,1372],{},"Mining nodes create new blocks, while full nodes validate the entire blockchain. Lightweight nodes only validate their own transactions.",[34,1374,1375],{},"Consensus emerges through nodes independently verifying and extending the canonical chain. Nodes communicate on a best effort basis without centralized routes.",[41,1377,1379],{"id":1378},"o","O",[48,1381,1383],{"id":1382},"offline-transactions","Offline Transactions",[34,1385,1386],{},"Mimblewimble requires sender and receiver interactivity to construct transactions. Beam's Secure Bulletin Board System (SBBS) removes this limitation, enabling offline transactions.",[34,1388,1389],{},"With SBBS, nodes relay encrypted messages, facilitating transactions without direct connections. This provides a similar user experience to Bitcoin.",[34,1391,1392],{},"Messages are private when addressed to an individual public key. Public unencrypted channels are also possible. SBBS allows Mimblewimble scalability without sacrificing convenience.",[48,1394,1396],{"id":1395},"opt-in-auditability","Opt-in Auditability",[34,1398,1399],{},"Auditability is a Beam feature allowing businesses to prove transaction history to auditors while maintaining privacy.",[34,1401,1402],{},"Users can generate an auditing key pair. The wallet then includes additional info to classify transactions.",[34,1404,1405],{},"Auditors cannot initiate transactions or spend funds. But with the user's consent, they can retrieve full transaction details from the wallet and blockchain.",[34,1407,1408],{},"Auditability is strictly opt-in. If not explicitly enabled by a user, transaction details remain completely private. This balances compliance needs with user privacy.",[41,1410,1411],{"id":34},"P",[48,1413,1415],{"id":1414},"pedersen-commitment","Pedersen Commitment",[34,1417,1418],{},"A Pedersen commitment allows committing to a value without revealing it, while still enabling validation later.",[34,1420,1421],{},"Commitments are constructed by combining a blinding factor with the data and hashing them. This hides the data while binding to it.",[34,1423,1424],{},"Pedersen commitments have a useful additive property - the sum of commitments equals the commitment to the sum. This enables confidential transactions.",[34,1426,1427],{},"Commitments prevent external parties from inferring the hidden data. The blinding factor provides security even for small values. Pedersen commitments are fundamental to Confidential Transactions.",[48,1429,1431],{"id":1430},"privacy","Privacy",[34,1433,1434],{},"Privacy is preventing unauthorized extraction of information in communications. Encryption protects privacy just as locked doors prevent unwanted entry.",[34,1436,1437],{},"While not enumerated explicitly, privacy is assumed as a right in liberal democracies. Wiretaps and invasive surveillance require judicial approval.",[34,1439,1440],{},"Privacy is tied to fungibility in cryptocurrency. Public ledgers like Bitcoin risk \"tainting\" certain coin histories, damaging fungibility.",[34,1442,1443],{},"Unlike opt-in systems like Zcash, Beam provides default privacy for all transactions. This is essential for maintaining strong currency fungibility and ethical sound money.",[41,1445,1447],{"id":1446},"s","S",[48,1449,1451],{"id":1450},"secure-bulletin-board-system-sbbs","Secure Bulletin Board System (SBBS)",[34,1453,1454],{},"Mimblewimble requires sender-receiver interactivity to construct transactions. Beam's SBBS removes this limitation.",[34,1456,1457],{},"SBBS allows clients to exchange encrypted messages via relay nodes. This facilitates transactions without direct connections.",[34,1459,1460],{},"Messages are private when encrypted to a public key. Public unencrypted channels are also possible.",[34,1462,1463],{},"SBBS replicates old bulletin board systems where public key cryptography spread, enabling decentralized discussions.",[34,1465,1466],{},"By relaying encrypted data, SBBS provides Mimblewimble's scalability without sacrificing convenience or privacy. It matches the user experience of transparent blockchains.",[34,1468,1469,1470,1475,1476,1481],{},"See Beam's ",[175,1471,1474],{"href":1472,"rel":1473},"https:\u002F\u002Fgithub.com\u002FBeammW\u002Fbeam\u002Fwiki\u002FSecure-bulletin-board-system-(SBBS)",[179],"GitHub"," and ",[175,1477,1480],{"href":1478,"rel":1479},"https:\u002F\u002Fmedium.com\u002Fbeam-mw\u002Fthe-secure-bulletin-board-system-sbbs-implementation-in-beam-a01b91c0e919",[179],"Medium post"," for technical details.",[48,1483,1485],{"id":1484},"scriptless-scripts","Scriptless Scripts",[34,1487,1488],{},"Scriptless scripts enable advanced transaction types in Beam without a scripting language.",[34,1490,1491],{},"Techniques like Schnorr signatures and key aggregation allow features like:",[852,1493,1494,1497,1500,1503,1506],{},[59,1495,1496],{},"Atomic swaps - Trustless cryptocurrency exchange between parties.",[59,1498,1499],{},"Escrows - Holding funds until conditions are met, useful for OTC trades.",[59,1501,1502],{},"Timelocks - Transactions that only confirm after a certain time.",[59,1504,1505],{},"Multisig - Transactions requiring multiple signers.",[59,1507,1508],{},"Oracles - External data triggers contract conditions.",[34,1510,1511],{},"By innovating cryptography like threshold signatures, Beam gains functionality without the overhead of a scripting language like Bitcoin's.",[34,1513,1514],{},"Scriptless scripts provide expressiveness equivalent to Ethereum but with Mimblewimble privacy and scalability. This makes advanced transactions accessible to regular users.",[41,1516,1518],{"id":1517},"w","W",[48,1520,1522],{"id":1521},"wallet","Wallet",[34,1524,1525],{},"A cryptocurrency wallet manages the keys used to sign transactions on the blockchain.",[34,1527,1528],{},"Wallets store public\u002Fprivate key pairs. The private key signs transactions to prove the spender's identity.",[34,1530,1531],{},"The wallet itself does not hold coins - it is software that displays balances from blockchain data.",[34,1533,1534],{},"Wallets can be:",[852,1536,1537,1540],{},[59,1538,1539],{},"Nondeterministic - Randomly generated keys",[59,1541,1542],{},"Deterministic (HD) - Keys derived from a master seed",[34,1544,1545],{},"HD wallets use mnemonic phrases for usability and security.",[34,1547,1548],{},"Wallets allow users to securely interact with the blockchain, acting as a gateway to send, receive, and monitor funds.",[34,1550,1551],{},"Beam wallets store data in default user data folders based on the operating system:",[852,1553,1554,1558,1562],{},[59,1555,973,1556],{},[611,1557,976],{},[59,1559,979,1560],{},[611,1561,982],{},[59,1563,985,1564],{},[611,1565,988],{},[41,1567,1569],{"id":1568},"z","Z",[48,1571,1573],{"id":1572},"zero-knowledge-proof","Zero-Knowledge Proof",[34,1575,1576],{},"A zero-knowledge proof allows one party (the prover) to convince another (the verifier) that a statement is true without revealing any information beyond the validity of the statement.",[34,1578,1579],{},"Examples include proving knowledge of a password without disclosing it, or proving eligibility to vote without identifying personally.",[34,1581,1582],{},"Zero-knowledge proofs have three properties:",[852,1584,1585,1588,1591],{},[59,1586,1587],{},"Completeness - An honest prover convinces an honest verifier if the statement is true.",[59,1589,1590],{},"Soundness - No dishonest prover can convince an honest verifier of a false statement.",[59,1592,1593],{},"Zero-knowledge - The verifier learns nothing but the statement's validity.",[34,1595,1596],{},"This ability to validate facts privately is essential for blockchain privacy. Mimblewimble transactions utilize zero-knowledge proofs to ensure no new coins are created while hiding transaction details.",{"title":14,"searchDepth":15,"depth":15,"links":1598},[1599,1605,1611,1619,1623,1629,1634,1637,1641,1645,1651,1654,1658,1662,1666,1669],{"id":175,"depth":15,"text":697,"children":1600},[1601,1602,1603,1604],{"id":700,"depth":154,"text":701},{"id":738,"depth":154,"text":739},{"id":755,"depth":154,"text":756},{"id":768,"depth":154,"text":296},{"id":780,"depth":15,"text":781,"children":1606},[1607,1608,1609,1610],{"id":784,"depth":154,"text":785},{"id":797,"depth":154,"text":798},{"id":810,"depth":154,"text":811},{"id":823,"depth":154,"text":824},{"id":836,"depth":15,"text":837,"children":1612},[1613,1614,1615,1616,1617,1618],{"id":840,"depth":154,"text":841},{"id":877,"depth":154,"text":878},{"id":887,"depth":154,"text":888},{"id":900,"depth":154,"text":901},{"id":924,"depth":154,"text":925},{"id":937,"depth":154,"text":938},{"id":947,"depth":15,"text":948,"children":1620},[1621,1622],{"id":951,"depth":154,"text":952},{"id":964,"depth":154,"text":965},{"id":997,"depth":15,"text":998,"children":1624},[1625,1626,1627,1628],{"id":1001,"depth":154,"text":1002},{"id":1020,"depth":154,"text":1021},{"id":1033,"depth":154,"text":1034},{"id":1046,"depth":154,"text":1047},{"id":1062,"depth":15,"text":1063,"children":1630},[1631,1632,1633],{"id":1066,"depth":154,"text":1067},{"id":1090,"depth":154,"text":1091},{"id":1103,"depth":154,"text":1104},{"id":1122,"depth":15,"text":1123,"children":1635},[1636],{"id":1126,"depth":154,"text":1127},{"id":1145,"depth":15,"text":1146,"children":1638},[1639,1640],{"id":1149,"depth":154,"text":1150},{"id":1179,"depth":154,"text":1180},{"id":1198,"depth":15,"text":1199,"children":1642},[1643,1644],{"id":1202,"depth":154,"text":1203},{"id":1224,"depth":154,"text":1225},{"id":1251,"depth":15,"text":1252,"children":1646},[1647,1648,1649,1650],{"id":1255,"depth":154,"text":1256},{"id":1268,"depth":154,"text":1269},{"id":1292,"depth":154,"text":1293},{"id":1336,"depth":154,"text":1337},{"id":1352,"depth":15,"text":1353,"children":1652},[1653],{"id":1356,"depth":154,"text":1357},{"id":1378,"depth":15,"text":1379,"children":1655},[1656,1657],{"id":1382,"depth":154,"text":1383},{"id":1395,"depth":154,"text":1396},{"id":34,"depth":15,"text":1411,"children":1659},[1660,1661],{"id":1414,"depth":154,"text":1415},{"id":1430,"depth":154,"text":1431},{"id":1446,"depth":15,"text":1447,"children":1663},[1664,1665],{"id":1450,"depth":154,"text":1451},{"id":1484,"depth":154,"text":1485},{"id":1517,"depth":15,"text":1518,"children":1667},[1668],{"id":1521,"depth":154,"text":1522},{"id":1568,"depth":15,"text":1569,"children":1670},[1671],{"id":1572,"depth":154,"text":1573},{},"\u002Fdocs\u002Fbeampedia\u002Freadme",{"title":686,"description":694},"docs\u002Fbeampedia\u002FREADME","7wJ354kVOaStHoGQDWuKeviIq8STX9bzwHSBAJMU-Io",{"id":1678,"title":1679,"body":1680,"description":14,"extension":17,"image":18,"meta":1732,"navTitle":18,"navigation":20,"path":1734,"seo":1735,"stem":1736,"__hash__":1737},"docs\u002Fdocs\u002Fbridges\u002FREADME.md","The Beam Bridge",{"type":8,"value":1681,"toc":1728},[1682,1685,1689,1700,1704,1707,1725],[11,1683,1679],{"id":1684},"the-beam-bridge",[41,1686,1688],{"id":1687},"new-horizons-for-interoperability","New Horizons for Interoperability",[34,1690,1691,1692,1695,1696,1699],{},"Beam Bridge connects Beam’s ",[37,1693,1694],{},"Private DeFi (PriFi)"," to Ethereum’s vast DeFi ecosystem. ",[37,1697,1698],{},"Supported assets include ETH, DAI, WBTC, and USDT",". When bridging assets over from Ethereum, tokens are locked inside an Ethereum Smart contract and minted on the Beam blockchain as wrapped Confidential Assets (CAs).",[41,1701,1703],{"id":1702},"get-started-with-beam-bridge-step-by-step-tutorial","Get started with Beam Bridge: Step-by-Step Tutorial",[34,1705,1706],{},"Users will need the following:",[852,1708,1709,1717],{},[59,1710,1711],{},[175,1712,1714],{"href":426,"rel":1713},[179],[37,1715,1716],{},"MetaMask wallet",[59,1718,1719],{},[175,1720,1722],{"href":1721},"\u002Fdownloads",[37,1723,1724],{},"Beam Wallet",[34,1726,1727],{},"MetaMask is required for storing and transferring crypto assets on the Ethereum blockchain.\nBeam Wallet is required to store crypto assets on the Beam blockchain.",{"title":14,"searchDepth":15,"depth":15,"links":1729},[1730,1731],{"id":1687,"depth":15,"text":1688},{"id":1702,"depth":15,"text":1703},{"Description":1733},"The Beam Bridge is a non-custodial bridge between Beam and Ethereum blockchain that enables seamless cross-chain crypto asset transfers.","\u002Fdocs\u002Fbridges\u002Freadme",{"title":1679,"description":14},"docs\u002Fbridges\u002FREADME","rDSQvrjhKdV6ehXOLd26bGwXSgkbYUsiF46n86w1OcM",{"id":1739,"title":1740,"body":1741,"description":2196,"extension":17,"image":18,"meta":2197,"navTitle":18,"navigation":20,"path":2198,"seo":2199,"stem":2200,"__hash__":2201},"docs\u002Fdocs\u002Fbridges\u002Fcreating-cross-chain-transactions.md","Creating cross-chain Transactions",{"type":8,"value":1742,"toc":2171},[1743,1746,1753,1761,1767,1770,1835,1839,1843,1846,1855,1860,1867,1873,1876,1883,1887,1890,1897,1902,1909,1913,1916,1923,1929,1932,1939,1943,1946,1949,1952,1959,1963,1966,1973,1977,1984,1988,1991,1998,2002,2009,2015,2018,2060,2064,2068,2071,2078,2082,2085,2092,2096,2103,2106,2109,2116,2120,2123,2130,2134,2137,2144,2148,2151,2158,2162,2169],[11,1744,1740],{"id":1745},"creating-cross-chain-transactions",[34,1747,1748,1749,1752],{},"This article will cover how to utilize Beam Bridge to create cross-chain transactions between ",[37,1750,1751],{},"Ethereum to Beam",". This step-by-step tutorial provides a foundation for completing cross-chain transactions with all supported tokens including:",[852,1754,1755,1758],{},[59,1756,1757],{},"$ETH, $USDT, $DAI, $WBTC on Ethereum.",[59,1759,1760],{},"$bETH, $bUSDT, $bDAI, $bWTC on Beam.",[41,1762,1764],{"id":1763},"send-eth-from-ethereum-to-beam",[37,1765,1766],{},"Send $ETH from Ethereum to Beam",[34,1768,1769],{},"Once your MetaMask Wallet configuration is complete, it is time to bridge assets from Ethereum to Beam blockchain!",[56,1771,1772,1790,1795,1804,1817,1820,1826,1829,1832],{},[59,1773,1774,1775,98,1778,1781,98,1784,1787,181],{},"Launch the Bridges app from the DApp store in Beam Wallet ",[241,1776],{"src":1777,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002Fimage (2).png",[37,1779,1780],{},">>> DApp store",[241,1782],{"src":1783,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002Fimage (1).png",[37,1785,1786],{},">>> Bridges app",[241,1788],{"alt":14,"src":1789},".gitbook\u002Fassets\u002FScreen%20Shot%202022-10-22%20at%203.23.33%20PM.png",[59,1791,1792,1793,181],{},"Select ",[37,1794,1751],{},[59,1796,1792,1797,1800,1801],{},[37,1798,1799],{},"“bETH (id:36)” from the drop-down currency list and select “AUTOMATIC WAY”"," prompting a browser pop-up. ",[100,1802,1803],{},"(Always double-check a token's asset ID. Multiple tokens can have identical names, but their asset IDs always remain unique.)",[59,1805,1806,1807,1810,1813,1814,181],{},"In the browser, connect your ",[37,1808,1809],{},"MetaMask Wallet",[241,1811],{"src":1812,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2022-10-22 at 1.45.13 PM.png",". Select ",[37,1815,1816],{},"\"Ethereum to Beam\"",[59,1818,1819],{},"When bridging tokens other than ETH, users must \"approve token\" to enable them for cross-chain transfers to Beam (this process only needs to be done once).",[59,1821,1822,1823],{},"Enter the transfer amount. ",[37,1824,1825],{},"Click \"transfer\".",[59,1827,1828],{},"A pop-up will open up in your MetaMask Wallet to \"Confirm the transaction\". A transaction notification will appear in the browser.",[59,1830,1831],{},"When the transaction is complete (it might take a few minutes), your bETH can be withdrawn to your Beam Wallet.",[59,1833,1834],{},"Your new balance will also be reflected in your Beam wallet!",[41,1836,1838],{"id":1837},"how-it-looks-in-your-beam-wallet","How it looks in your Beam Wallet",[48,1840,1842],{"id":1841},"the-bridges-app-is-located-in-the-beam-wallet-dapp-store","The Bridges app is located in the Beam Wallet DApp store",[34,1844,1845],{},"Launch the DApp Store in Beam Wallet and select the \"Bridges app\".",[1847,1848,1849,1852],"figure",{},[241,1850],{"src":1851,"alt":14},".gitbook\u002Fassets\u002Fimage.png",[1853,1854],"figcaption",{},[48,1856,1858],{"id":1857},"ethereum-to-beam",[37,1859,1751],{},[1847,1861,1862,1865],{},[241,1863],{"src":1864,"alt":14},"https:\u002F\u002Flh6.googleusercontent.com\u002FhrDVtaVjBTAchhJiun9vaUkYTWdqPS4RHrVIIEI9JH5_lRBiB7A1ER0ZhB5GKf7V-4WghomOgV0b848l1PKafCIVvucLx-kmoP_yIIpDX9vMIFJ3HB3cbzTtnDiYwKHMpJuL6RcgsOPvhHkw3CH0OHIOFoGU-Wna7XyUgsGVsYoWIhE6cskMbtg6dg",[1853,1866],{},[48,1868,1870],{"id":1869},"ethereum-and-the-automatic-way",[37,1871,1872],{},"Ethereum and the AUTOMATIC WAY",[34,1874,1875],{},"Select Ethereum from the list of currencies in the dropdown menu.",[1847,1877,1878,1881],{},[241,1879],{"src":1880,"alt":14},".gitbook\u002Fassets\u002FToken selection v2.png",[1853,1882],{},[48,1884,1886],{"id":1885},"connect-metamask-and-establish-ethereum-to-beam-bridge","Connect MetaMask and establish Ethereum to Beam Bridge",[34,1888,1889],{},"A pop-up browser will appear, allowing users to connect their MetaMask wallets. Select \"Ethereum to Beam Bridge\".",[1847,1891,1892,1895],{},[241,1893],{"src":1894,"alt":14},"https:\u002F\u002Flh6.googleusercontent.com\u002F8ew1vOAODglmJ4NXZZqmP7rI2-HkjcFBnA9Cmbi8FxBGwj6NVpBgx2OstKgvLTd2g2EFy8tHLPsRzwFYfB4ogjMK0nem_d-jtOAoprWFwvit2L3Ra_jG2hpzIvL5i7wEAR0AwtQ88FdFfEdOGVg1gCYaDVfU41rzgqD5Ra_ROwx6ccejmeN-X6VO1A",[1853,1896],{},[1898,1899,1901],"h4",{"id":1900},"ethereum-to-beam-bridge","Ethereum to Beam Bridge",[1847,1903,1904,1907],{},[241,1905],{"src":1906,"alt":14},"https:\u002F\u002Flh3.googleusercontent.com\u002FziAkme6EyA_o72Hk11MQ2bS3GBzlEU95ii288DIsQ3uq0fftGhWJp4AeZmR3Ji6er7Ri4KH93-q2zRCL4_bOvEU4DIDSKMy_6EZPsyRGwAimAdkrYejhNRJQ78GgTeHGN4dJe8u9pgNO20fvGYZJRN1hTy7zBuexrFUG4TMMcAY0QeK3LkxK_3eYYQ",[1853,1908],{},[48,1910,1912],{"id":1911},"creating-a-transfer","Creating a Transfer",[34,1914,1915],{},"Select the amount of Ethereum you wish to transfer and then select \"Transfer\".",[1847,1917,1918,1921],{},[241,1919],{"src":1920,"alt":14},".gitbook\u002Fassets\u002FScreenshot 2566-09-06 at 15.51.19.png",[1853,1922],{},[48,1924,1926],{"id":1925},"confirm-transaction",[37,1927,1928],{},"Confirm Transaction",[34,1930,1931],{},"Confirm the transaction details that appear in the MetaMask pop-up.",[1847,1933,1934,1937],{},[241,1935],{"src":1936,"alt":14},".gitbook\u002Fassets\u002FScreenshot 2566-09-06 at 15.52.45.png",[1853,1938],{},[48,1940,1942],{"id":1941},"transaction-notification","Transaction Notification",[34,1944,1945],{},"After the transaction is confirmed, a transaction notification will appear in the browser window.",[34,1947,1948],{},"The transaction on the Ethereum side should take less than a minute depending on the network conditions. Click the activities tab in “MetaMask” to verify the completed transaction.",[34,1950,1951],{},"The transaction takes between 1 and 5 minutes to complete on Beam blockchain. Check your Beam Wallet for the completed transaction.",[1847,1953,1954,1957],{},[241,1955],{"src":1956,"alt":14},"https:\u002F\u002Flh6.googleusercontent.com\u002FTcaedkPFT9N82sisCb7JNb8hVhTXLZVh3vV7VfUVlPVoGxT073Xuj1uLtYTZUMs3hURAY4MvehyVnHBJuvqZFtt-nTw6pD_-_X7H5deIy84XRYYOkCHnkpNiTOr5M-0GmkqodTRVudNrOhszVv8JnprXQ0v44FKjEp9T9Amc2V78Jix3CauE4wIxMw",[1853,1958],{},[48,1960,1962],{"id":1961},"withdraw-beth-to-beam-wallet","Withdraw bETH to Beam wallet",[34,1964,1965],{},"Once the transfer is complete, the bETH will be available to withdraw from the Bridges app into your Beam wallet.",[1847,1967,1968,1971],{},[241,1969],{"src":1970,"alt":14},".gitbook\u002Fassets\u002FWithdraw beth.png",[1853,1972],{},[48,1974,1976],{"id":1975},"confirm-withdrawal","Confirm Withdrawal",[1847,1978,1979,1982],{},[241,1980],{"src":1981,"alt":14},".gitbook\u002Fassets\u002FWithdrawing v2.png",[1853,1983],{},[48,1985,1987],{"id":1986},"transaction-completion","Transaction Completion",[34,1989,1990],{},"After the transaction is complete, the new balance will be reflected directly in your Beam wallet.",[1847,1992,1993,1996],{},[241,1994],{"src":1995,"alt":14},".gitbook\u002Fassets\u002F14 Beam Wallet done v2.png",[1853,1997],{},[1898,1999,2001],{"id":2000},"transaction-details","Transaction Details",[1847,2003,2004,2007],{},[241,2005],{"src":2006,"alt":14},".gitbook\u002F15 Beam Wallet transaction details.png",[1853,2008],{},[41,2010,2012],{"id":2011},"sending-back-beth-from-beam-to-ethereum",[37,2013,2014],{},"Sending back $bETH from Beam to Ethereum",[34,2016,2017],{},"Now let's focus on conducting cross-chain transactions to send back bETH (id:36) from Beam to Ethereum!",[56,2019,2020,2031,2041,2044,2054],{},[59,2021,2022,2023,2025,2026,2028,2029,181],{},"Launch the Bridges app from the DApp Store in Beam Wallet ",[241,2024],{"src":1777,"alt":14,"dataSize":244}," >>> DApp store",[241,2027],{"src":1783,"alt":14,"dataSize":244}," >>> Bridges app",[241,2030],{"alt":14,"src":1789},[59,2032,1792,2033,2036,2037,2040],{},[37,2034,2035],{},"\"Beam to Ethereum\""," >>> click ",[37,2038,2039],{},"\"Ethereum side of the bridge”"," prompting a browser pop-up.",[59,2042,2043],{},"In the browser, connect your MetaMask wallet and then copy the Ethereum bridge address that is provided there.",[59,2045,2046,2047,2050,2051],{},"Return to Beam Wallet, ",[37,2048,2049],{},"paste your Ethereum Bridge address",", select the currency amount, and transfer amount, and verify gas fees. ",[37,2052,2053],{},"Select “Transfer”.",[59,2055,2056,2057,181],{},"Verify the transaction details. ",[37,2058,2059],{},"\"Confirm Transfer\"",[41,2061,2063],{"id":2062},"how-it-looks-in-beam-wallet","How it looks in Beam Wallet",[48,2065,2067],{"id":2066},"beam-dapp-store","Beam DApp Store",[34,2069,2070],{},"Launch the DApp in Beam Wallet and select the \"Bridges app\".",[1847,2072,2073,2076],{},[241,2074],{"src":2075,"alt":14},"https:\u002F\u002Flh6.googleusercontent.com\u002FSSF9ap9-YzYT2ZCg-vUNpYl3r_wKiQdckQKhOWt0INItGhevfVW1RzbwVGMXXwYFRr5NO8BzN7QDEwnpQqbxK-77M_WZCzqdtHL_h2GZA19jfFBpUuOmBvETlSBqiuJ0YP4oPTQ-IGAwyP04I1p6MB5YHLJ4QJLHf9E_ty_T-ZMVl74P0bT_DTIKsw",[1853,2077],{},[48,2079,2081],{"id":2080},"beam-to-ethereum","Beam to Ethereum",[34,2083,2084],{},"Click on \"Beam to Ethereum\" in the next window. Click \"Ethereum side of the bridge\", prompting a browser pop-up to appear in your browser.",[1847,2086,2087,2090],{},[241,2088],{"src":2089,"alt":14},"https:\u002F\u002Flh3.googleusercontent.com\u002FoYFSYb50FlTEAt2CWb1Dp4jmKczqjtWd-B6ko8PoTJau7QPoKWa8rE2Mw9NpmzK5-zwjYe6pjeywI2IBsYFuJc54BO0uo_XdvSO7GaWKYMMqq-dI9hdFstQc0SorqmKj-e3Gke72halqKPQrszK4q8mtIudXeOaXZwYSgm_flO1gWCCMkhQMubjghw",[1853,2091],{},[1898,2093,2095],{"id":2094},"ethereum-side-of-the-bridge","Ethereum side of the bridge",[1847,2097,2098,2101],{},[241,2099],{"src":2100,"alt":14},"https:\u002F\u002Flh5.googleusercontent.com\u002FngSHZj_3j-lfAmPhJkJ1L-p3n-T04ZWZJMjjPVzCRfX4JRiy--2up3ju6ALhtyYfYhub43SKaHBkutmVjEYK17QBAgwI0HdGJWcU-YJeTDFXlMYlCV2nyAyxUWrZRlTQoI8eosvjs6b9beNLaWhAbRQA-Vhr-Sn2PT2xf9mbLaIEYxWT_Q6O5byGkg",[1853,2102],{},[48,2104,1901],{"id":2105},"ethereum-to-beam-bridge-1",[34,2107,2108],{},"In the browser, connect the MetaMask wallet and copy the Ethereum Bridge address.",[1847,2110,2111,2114],{},[241,2112],{"src":2113,"alt":14},"https:\u002F\u002Flh5.googleusercontent.com\u002FY9ULUJng1sO7y4QRZdXnTIgrlIFjmTR4V1shZZYfhTQ31w2nfYfWYamg_RK7q3nACSGO-TlJVPcS5i4MLIxoXoqc7ENZFPU0ebYSOAKgZs-kY-34Glko1epBbTdtX11DadXPpMGojcKgD11Kd-kl27ABA6tdKCWAjH-7W8FVsPn6tqXpfzMceU8jFA",[1853,2115],{},[48,2117,2119],{"id":2118},"select-token-and-transfer-amount","Select Token and Transfer Amount",[34,2121,2122],{},"Enter the amount of bETH you wish to send. Verify all transaction details before completing the transfer.",[1847,2124,2125,2128],{},[241,2126],{"src":2127,"alt":14},"https:\u002F\u002Flh6.googleusercontent.com\u002Fn7elaiPvEFhN1POcl_dLtUBg9vu0PYK_BURHQbuv2XMJxwaSAUGd9rYxMbnMMzCKV1-Tqi7si0FmpfpA80pXM4Hp1h5sx9hM5D3PC_qTdo7DraKJmZZbvOprIwQMiYi4EDIh4dT1s4_0I_LfQX7XHFF7N1pa0V57ebA9M0gd2ZzbQzON5TdYgdhEpA",[1853,2129],{},[48,2131,2133],{"id":2132},"confirm-transaction-details","Confirm Transaction Details",[34,2135,2136],{},"Double-check all transaction details before completing any transaction.",[1847,2138,2139,2142],{},[241,2140],{"src":2141,"alt":14},".gitbook\u002F0.05confirmdeposit.png",[1853,2143],{},[48,2145,2147],{"id":2146},"transaction-complete","Transaction Complete",[34,2149,2150],{},"Successful Beam to Ethereum transactions will appear under \"Bridges App Transactions\".",[1847,2152,2153,2156],{},[241,2154],{"src":2155,"alt":14},".gitbook\u002F0.05transactioncomplete.png",[1853,2157],{},[1898,2159,2161],{"id":2160},"transaction-info","Transaction Info",[1847,2163,2164,2167],{},[241,2165],{"src":2166,"alt":14},".gitbook\u002F0.05transactioninfo.png",[1853,2168],{},[41,2170],{"id":14},{"title":14,"searchDepth":15,"depth":15,"links":2172},[2173,2174,2186,2187,2195],{"id":1763,"depth":15,"text":1766},{"id":1837,"depth":15,"text":1838,"children":2175},[2176,2177,2178,2179,2180,2181,2182,2183,2184,2185],{"id":1841,"depth":154,"text":1842},{"id":1857,"depth":154,"text":1751},{"id":1869,"depth":154,"text":1872},{"id":1885,"depth":154,"text":1886},{"id":1911,"depth":154,"text":1912},{"id":1925,"depth":154,"text":1928},{"id":1941,"depth":154,"text":1942},{"id":1961,"depth":154,"text":1962},{"id":1975,"depth":154,"text":1976},{"id":1986,"depth":154,"text":1987},{"id":2011,"depth":15,"text":2014},{"id":2062,"depth":15,"text":2063,"children":2188},[2189,2190,2191,2192,2193,2194],{"id":2066,"depth":154,"text":2067},{"id":2080,"depth":154,"text":2081},{"id":2105,"depth":154,"text":1901},{"id":2118,"depth":154,"text":2119},{"id":2132,"depth":154,"text":2133},{"id":2146,"depth":154,"text":2147},{"id":14,"depth":15,"text":14},"This article will cover how to utilize Beam Bridge to create cross-chain transactions between Ethereum to Beam. This step-by-step tutorial provides a foundation for completing cross-chain transactions with all supported tokens including:",{},"\u002Fdocs\u002Fbridges\u002Fcreating-cross-chain-transactions",{"title":1740,"description":2196},"docs\u002Fbridges\u002Fcreating-cross-chain-transactions","bGeIEShCidUInNVKJV4AzaYYC-8KchUUUj4pAbRd3_A",{"id":2203,"title":2204,"body":2205,"description":14,"extension":17,"image":18,"meta":2311,"navTitle":18,"navigation":20,"path":2312,"seo":2313,"stem":2314,"__hash__":2315},"docs\u002Fdocs\u002Fbridges\u002Fjoining-the-beam-community-and-next-steps.md","Joining the Beam community and Next Steps",{"type":8,"value":2206,"toc":2307},[2207,2210,2214,2217,2221],[11,2208,2204],{"id":2209},"joining-the-beam-community-and-next-steps",[41,2211,2213],{"id":2212},"whats-next","Whats next?",[34,2215,2216],{},"The Beam Team is rigorously testing the Beam Bridge on the Testnet before its upcoming Mainnet release. The Bridge brings much-needed cross-chain scalability and liquidity to Beam and can act as a privacy conduit for public blockchains. In the future, more tokens will be supported for cross-chain transfers, including the ability to move non-fungible tokens (NFTs) across blockchains. Stay Tuned!",[41,2218,2220],{"id":2219},"join-the-beam-community","Join the Beam Community!",[852,2222,2223,2242,2255,2264,2277,2284,2291,2299],{},[59,2224,2225,2226,2231,2232,2231,2237],{},"Download Beam Wallet for ",[175,2227,2230],{"href":2228,"rel":2229},"https:\u002F\u002Fwww.beam.mw\u002Fdownloads",[179],"desktop",", ",[175,2233,2236],{"href":2234,"rel":2235},"https:\u002F\u002Fitunes.apple.com\u002Fus\u002Fapp\u002Fbeam-privacy-wallet\u002Fid1459842353",[179],"iOS",[175,2238,2241],{"href":2239,"rel":2240},"https:\u002F\u002Fchrome.google.com\u002Fwebstore\u002Fdetail\u002Fbeam-web-wallet\u002Filhaljfiglknggcoegeknjghdgampffk?hl=en",[179],"Web",[59,2243,2244,2245,1475,2250],{},"Learn more about Beam on our ",[175,2246,2249],{"href":2247,"rel":2248},"http:\u002F\u002Fbeam.mw",[179],"website",[175,2251,2254],{"href":2252,"rel":2253},"https:\u002F\u002Fmedium.com\u002Fbeam-mw",[179],"blog",[59,2256,2257,2258,2263],{},"Subscribe to our ",[175,2259,2262],{"href":2260,"rel":2261},"https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCddqBnfSPWibf4f8OnEJm_w",[179],"YouTube"," channel",[59,2265,2266,2267,1475,2272],{},"Read about ",[175,2268,2271],{"href":2269,"rel":2270},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-Smart-Contracts",[179],"Shaders",[175,2273,2276],{"href":2274,"rel":2275},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBVM-functions-for-shaders",[179],"BVM",[59,2278,2279,2280],{},"Telegram: ",[175,2281,2283],{"href":177,"rel":2282},[179],"t.me\u002FBeamPrivacy",[59,2285,2286,2287],{},"QQ Beam 中国官方社区: ",[175,2288,2289],{"href":2289,"rel":2290},"https:\u002F\u002Fjq.qq.com\u002F?_wv=1027&k=5Mbs8N4",[179],[59,2292,2293,2294],{},"Reddit: ",[175,2295,2298],{"href":2296,"rel":2297},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002Fbeamprivacy\u002F",[179],"reddit.com\u002Fr\u002Fbeamprivacy\u002F",[59,2300,2301,2302],{},"Twitter: ",[175,2303,2306],{"href":2304,"rel":2305},"https:\u002F\u002Ftwitter.com\u002Fbeamprivacy",[179],"twitter.com\u002Fbeamprivacy",{"title":14,"searchDepth":15,"depth":15,"links":2308},[2309,2310],{"id":2212,"depth":15,"text":2213},{"id":2219,"depth":15,"text":2220},{},"\u002Fdocs\u002Fbridges\u002Fjoining-the-beam-community-and-next-steps",{"title":2204,"description":14},"docs\u002Fbridges\u002Fjoining-the-beam-community-and-next-steps","PqyoAKQBwTBqbj6vE7TEOH_wmzij8YUIt8tfQ9z6W4Q",{"id":2317,"title":2318,"body":2319,"description":2329,"extension":17,"image":18,"meta":2386,"navTitle":18,"navigation":20,"path":2387,"seo":2388,"stem":2389,"__hash__":2390},"docs\u002Fdocs\u002Fchangelog\u002F6.2.12491.md","Fierce Fermion 6.2.12491",{"type":8,"value":2320,"toc":2384},[2321,2324,2330,2334,2345,2349,2360,2364,2372,2376],[11,2322,2318],{"id":2323},"fierce-fermion-6212491",[34,2325,2326],{},[2327,2328,2329],"sub",{},"Thursday, December 16, 2021",[1898,2331,2333],{"id":2332},"tldr-release-highlights","TL;DR Release Highlights",[852,2335,2336],{},[59,2337,2338,2339,1475,2342,2344],{},"Numerous infrastructure improvements so that BEAM wallet (and Dapps in particular) work even more seamlessly and intuitively than before (30+ tasks in total - see in details ",[175,2340,1248],{"href":2341},"#",[175,2343,1248],{"href":2341},").",[1898,2346,2348],{"id":2347},"improvements","Improvements",[852,2350,2351,2354,2357],{},[59,2352,2353],{},"Dapps transaction notification shows a progress bar now.",[59,2355,2356],{},"Dapp transactions include information about the exact action you were paying or receiving the money for.",[59,2358,2359],{},"Dapps screen has fewer headers to utilize its real estate more effectively than before.",[1898,2361,2363],{"id":2362},"known-limitations","Known Limitations",[852,2365,2366,2369],{},[59,2367,2368],{},"When using active laser beam channels, the CLI wallet should not be offline for over 24 hours.",[59,2370,2371],{},"Once generated, do not offer the same offline address to multiple senders of payments.",[1898,2373,2375],{"id":2374},"points-to-mention","Points to Mention",[852,2377,2378,2381],{},[59,2379,2380],{},"Upon using Atomic Swaps with ETH, DAI, WBTC, and USDT, users will have to create an account on Infura.",[59,2382,2383],{},"The sender of funds to a receiver's Public Offline Address might be able to know that those funds are later being used by the receiver. Beam wallet and Beam explorer do not expose such functionality, but it's possible to derive this information by analyzing the Blockchain.",{"title":14,"searchDepth":15,"depth":15,"links":2385},[],{},"\u002Fdocs\u002Fchangelog\u002F6.2.12491",{"title":2318,"description":2329},"docs\u002Fchangelog\u002F6.2.12491","KMMGyD1dTS93USBpKbV3_ZkXqfo4JFFM8ePfqDoZjoU",{"id":2392,"title":2393,"body":2394,"description":2403,"extension":17,"image":18,"meta":2431,"navTitle":18,"navigation":20,"path":2432,"seo":2433,"stem":2434,"__hash__":2435},"docs\u002Fdocs\u002Fchangelog\u002F6.2.12495.md","Fierce Fermion 6.2.12495 (Hotfix)",{"type":8,"value":2395,"toc":2429},[2396,2399,2404,2408,2413,2415,2421,2423],[11,2397,2393],{"id":2398},"fierce-fermion-6212495-hotfix",[34,2400,2401],{},[2327,2402,2403],{},"Saturday, December 18, 2021",[1898,2405,2407],{"id":2406},"fixes","Fixes",[852,2409,2410],{},[59,2411,2412],{},"Fixed issue with Dandelion routing between old and new clients.",[1898,2414,2363],{"id":2362},[852,2416,2417,2419],{},[59,2418,2368],{},[59,2420,2371],{},[1898,2422,2375],{"id":2374},[852,2424,2425,2427],{},[59,2426,2380],{},[59,2428,2383],{},{"title":14,"searchDepth":15,"depth":15,"links":2430},[],{},"\u002Fdocs\u002Fchangelog\u002F6.2.12495",{"title":2393,"description":2403},"docs\u002Fchangelog\u002F6.2.12495","pdCF2Er2bdUpVoZwxyf41xYlXT9U8MXyyDbgLFnWo8A",{"id":2437,"title":2438,"body":2439,"description":2448,"extension":17,"image":18,"meta":2474,"navTitle":18,"navigation":20,"path":2475,"seo":2476,"stem":2477,"__hash__":2478},"docs\u002Fdocs\u002Fchangelog\u002F6.2.12508.md","Fierce Fermion 6.2.12508 (Hotfix)",{"type":8,"value":2440,"toc":2472},[2441,2444,2449,2451,2456,2458,2464,2466],[11,2442,2438],{"id":2443},"fierce-fermion-6212508-hotfix",[34,2445,2446],{},[2327,2447,2448],{},"Wednesday, December 22, 2021",[1898,2450,2407],{"id":2406},[852,2452,2453],{},[59,2454,2455],{},"Reworked transaction distribution in the stem phase of the Dandelion protocol.",[1898,2457,2363],{"id":2362},[852,2459,2460,2462],{},[59,2461,2368],{},[59,2463,2371],{},[1898,2465,2375],{"id":2374},[852,2467,2468,2470],{},[59,2469,2380],{},[59,2471,2383],{},{"title":14,"searchDepth":15,"depth":15,"links":2473},[],{},"\u002Fdocs\u002Fchangelog\u002F6.2.12508",{"title":2438,"description":2448},"docs\u002Fchangelog\u002F6.2.12508","RIaG3ryHvLdHVYPBDENK1-3Bd9_DI07W3CSdhmaJMio",{"id":2480,"title":2481,"body":2482,"description":2491,"extension":17,"image":18,"meta":2547,"navTitle":18,"navigation":20,"path":2548,"seo":2549,"stem":2550,"__hash__":2551},"docs\u002Fdocs\u002Fchangelog\u002F7.0.13064.md","Groovy Gluon 7.0.13064",{"type":8,"value":2483,"toc":2545},[2484,2487,2492,2494,2504,2506,2509,2529,2531,2537,2539],[11,2485,2481],{"id":2486},"groovy-gluon-7013064",[34,2488,2489],{},[2327,2490,2491],{},"Thursday, June 2, 2022",[1898,2493,2333],{"id":2332},[852,2495,2496,2499],{},[59,2497,2498],{},"The hard fork will take place at block 1,820,000. To continue using your funds, please upgrade your wallets prior to reaching the height!",[59,2500,2501,2502,2344],{},"Numerous infrastructure improvements so that BEAM wallet (and Dapps in particular) work even more seamlessly and intuitively than before (20+ tasks in total - see in details ",[175,2503,1248],{"href":2341},[1898,2505,2348],{"id":2347},[34,2507,2508],{},"Plentiful user-oriented improvements have been implemented, including:",[852,2510,2511,2514,2520,2523,2526],{},[59,2512,2513],{},"Clearer notifications\u002Ferrors\u002Fconfirmations for users, so you won't miss anything.",[59,2515,2516,2517,181],{},"Implemented IPFS integration. Support ",[175,2518,2519],{"href":2341},"Documentation",[59,2521,2522],{},"Added support of HFTx (High-frequency transactions).",[59,2524,2525],{},"Ability to recover a web wallet from a mobile recovery file.",[59,2527,2528],{},"Wallet API users can now sign user messages correctly.",[1898,2530,2363],{"id":2362},[852,2532,2533,2535],{},[59,2534,2368],{},[59,2536,2371],{},[1898,2538,2375],{"id":2374},[852,2540,2541,2543],{},[59,2542,2380],{},[59,2544,2383],{},{"title":14,"searchDepth":15,"depth":15,"links":2546},[],{},"\u002Fdocs\u002Fchangelog\u002F7.0.13064",{"title":2481,"description":2491},"docs\u002Fchangelog\u002F7.0.13064","2ZSuiZOdZyaOiDCszHSmMAiQmPU2AMFusmpeoJ2ANwM",{"id":2553,"title":2554,"body":2555,"description":2564,"extension":17,"image":18,"meta":2583,"navTitle":18,"navigation":20,"path":2584,"seo":2585,"stem":2586,"__hash__":2587},"docs\u002Fdocs\u002Fchangelog\u002F7.1.13105.md","Groovy Gluon 7.1.13105",{"type":8,"value":2556,"toc":2581},[2557,2560,2565,2567],[11,2558,2554],{"id":2559},"groovy-gluon-7113105",[34,2561,2562],{},[2327,2563,2564],{},"Tuesday, August 9, 2022",[1898,2566,2333],{"id":2332},[852,2568,2569,2572,2575,2578],{},[59,2570,2571],{},"The hard fork will take place at block 1,920,000. To continue using your funds, please upgrade your wallets prior to reaching the height!",[59,2573,2574],{},"After fork, confidential asset creation price changes to 10 BEAM.",[59,2576,2577],{},"Improved DApp support in wallets for BANS application.",[59,2579,2580],{},"Added Shader capabilities to verify fork heights (to support fork-dependent features).",{"title":14,"searchDepth":15,"depth":15,"links":2582},[],{},"\u002Fdocs\u002Fchangelog\u002F7.1.13105",{"title":2554,"description":2564},"docs\u002Fchangelog\u002F7.1.13105","JVTasnQdu1YwiJHDbpq64-Gj_lJ9NucTy7TnPeKcCB8",{"id":2589,"title":2590,"body":2591,"description":2600,"extension":17,"image":18,"meta":2642,"navTitle":18,"navigation":20,"path":2643,"seo":2644,"stem":2645,"__hash__":2646},"docs\u002Fdocs\u002Fchangelog\u002F7.2.13533.md","Groovy Gluon 7.2.13533",{"type":8,"value":2592,"toc":2640},[2593,2596,2601,2603,2613,2615,2620,2622,2631,2633],[11,2594,2590],{"id":2595},"groovy-gluon-7213533",[34,2597,2598],{},[2327,2599,2600],{},"Tuesday, October 25, 2022",[1898,2602,2333],{"id":2332},[852,2604,2605,2608],{},[59,2606,2607],{},"Asset Swaps feature was added in the desktop wallet, CLI, and API.",[59,2609,2610,2611,2344],{},"Numerous infrastructure improvements so that BEAM wallet works even more seamlessly and intuitively than before (30+ tasks in total - see in details ",[175,2612,1248],{"href":2341},[1898,2614,2348],{"id":2347},[852,2616,2617],{},[59,2618,2619],{},"Lots of minor interface improvements.",[1898,2621,2363],{"id":2362},[852,2623,2624,2626,2628],{},[59,2625,2368],{},[59,2627,2371],{},[59,2629,2630],{},"DApp Store - On Ubuntu 22+ apps list, icons may not load.",[1898,2632,2375],{"id":2374},[852,2634,2635,2637],{},[59,2636,2380],{},[59,2638,2639],{},"The sender of funds to a receiver's Public Offline Address might be able to know that those funds are later being used by the receiver.",{"title":14,"searchDepth":15,"depth":15,"links":2641},[],{},"\u002Fdocs\u002Fchangelog\u002F7.2.13533",{"title":2590,"description":2600},"docs\u002Fchangelog\u002F7.2.13533","6ukHHDOrwEACCswP3QYXcvoG-8QBnx12StOGGGnpeiU",{"id":2648,"title":2649,"body":2650,"description":2659,"extension":17,"image":18,"meta":2687,"navTitle":18,"navigation":20,"path":2688,"seo":2689,"stem":2690,"__hash__":2691},"docs\u002Fdocs\u002Fchangelog\u002F7.2.13538.md","Groovy Gluon 7.2.13538",{"type":8,"value":2651,"toc":2685},[2652,2655,2660,2662,2667,2669,2677,2679],[11,2653,2649],{"id":2654},"groovy-gluon-7213538",[34,2656,2657],{},[2327,2658,2659],{},"Wednesday, November 9, 2022",[1898,2661,2348],{"id":2347},[852,2663,2664],{},[59,2665,2666],{},"Added confidential asset's id to Asset Swaps.",[1898,2668,2363],{"id":2362},[852,2670,2671,2673,2675],{},[59,2672,2368],{},[59,2674,2371],{},[59,2676,2630],{},[1898,2678,2375],{"id":2374},[852,2680,2681,2683],{},[59,2682,2380],{},[59,2684,2639],{},{"title":14,"searchDepth":15,"depth":15,"links":2686},[],{},"\u002Fdocs\u002Fchangelog\u002F7.2.13538",{"title":2649,"description":2659},"docs\u002Fchangelog\u002F7.2.13538","aJVZvdZsFbUvKEnLWvQNBwm-hcrLIDQnQ5e2Sks4K6U",{"id":2693,"title":2694,"body":2695,"description":2704,"extension":17,"image":18,"meta":2735,"navTitle":18,"navigation":20,"path":2736,"seo":2737,"stem":2738,"__hash__":2739},"docs\u002Fdocs\u002Fchangelog\u002F7.2.13686.md","Groovy Gluon 7.2.13686",{"type":8,"value":2696,"toc":2733},[2697,2700,2705,2707,2715,2717,2725,2727],[11,2698,2694],{"id":2699},"groovy-gluon-7213686",[34,2701,2702],{},[2327,2703,2704],{},"Monday, December 12, 2022",[1898,2706,2348],{"id":2347},[852,2708,2709,2712],{},[59,2710,2711],{},"Settings to enable assets.",[59,2713,2714],{},"Fixes for running Beam Node in local testing mode.",[1898,2716,2363],{"id":2362},[852,2718,2719,2721,2723],{},[59,2720,2368],{},[59,2722,2371],{},[59,2724,2630],{},[1898,2726,2375],{"id":2374},[852,2728,2729,2731],{},[59,2730,2380],{},[59,2732,2639],{},{"title":14,"searchDepth":15,"depth":15,"links":2734},[],{},"\u002Fdocs\u002Fchangelog\u002F7.2.13686",{"title":2694,"description":2704},"docs\u002Fchangelog\u002F7.2.13686","-hZ6Laa4o39gq_fTRBFiXGatx6iC5TIa2oRJTQxrHh0",{"id":2741,"title":2742,"body":2743,"description":2752,"extension":17,"image":18,"meta":2791,"navTitle":18,"navigation":20,"path":2792,"seo":2793,"stem":2794,"__hash__":2795},"docs\u002Fdocs\u002Fchangelog\u002F7.3.md","Groovy Gluon 7.3",{"type":8,"value":2744,"toc":2789},[2745,2748,2753,2755,2758,2760,2768,2770,2775,2778,2783,2786],[11,2746,2742],{"id":2747},"groovy-gluon-73",[34,2749,2750],{},[2327,2751,2752],{},"Monday, June 12, 2023",[1898,2754,2333],{"id":2332},[34,2756,2757],{},"Added some user-friendly features such as asset id, updated the address generation process , providing an additional layer of security for users.",[1898,2759,2348],{"id":2347},[852,2761,2762,2765],{},[59,2763,2764],{},"Endpoint renamed to wallet Signature.",[59,2766,2767],{},"Added confidential asset's id",[1898,2769,2407],{"id":2406},[852,2771,2772],{},[59,2773,2774],{},"Fixed several bugs and issues that were affecting the performance and stability of the app.",[1898,2776,2777],{"id":2362},"Known limitations",[852,2779,2780],{},[59,2781,2782],{},"Once generated, do not offer the same offline address to multiple senders of payments",[1898,2784,2785],{"id":2374},"Points to mention:",[34,2787,2788],{},"When restoring your funds in automatic mode, verify that your most recent transaction (from any device) was completed at least 1 hour ago. Otherwise, your restored balance may be incorrect and an additional restore procedure will be required.",{"title":14,"searchDepth":15,"depth":15,"links":2790},[],{},"\u002Fdocs\u002Fchangelog\u002F7.3",{"title":2742,"description":2752},"docs\u002Fchangelog\u002F7.3","Qa5t60i0TkHlhjxEpUYwhfuJNDo8hHtzW2oIy6hb2t8",{"id":2797,"title":2798,"body":2799,"description":2808,"extension":17,"image":18,"meta":2859,"navTitle":18,"navigation":20,"path":2860,"seo":2861,"stem":2862,"__hash__":2863},"docs\u002Fdocs\u002Fchangelog\u002F7.3.14025.md","Groovy Gluon 7.3.14025",{"type":8,"value":2800,"toc":2857},[2801,2804,2809,2813,2821,2823,2831,2835,2839,2841,2849,2851],[11,2802,2798],{"id":2803},"groovy-gluon-7314025",[34,2805,2806],{},[2327,2807,2808],{},"Thursday, April 6, 2023",[1898,2810,2812],{"id":2811},"new-features","New Features",[852,2814,2815,2818],{},[59,2816,2817],{},"Added support for hardware wallets, allowing users to securely store their cryptocurrency offline.",[59,2819,2820],{},"Introduced an alpha version of Beam Messenger, enabling users to communicate securely and privately within the app.",[1898,2822,2348],{"id":2347},[852,2824,2825,2828],{},[59,2826,2827],{},"Improved the handling of high-frequency transactions, resulting in faster and more reliable processing of large volumes of transactions.",[59,2829,2830],{},"Updated the address generation process to support hardware wallets, providing an additional layer of security for users.",[1898,2832,2834],{"id":2833},"bug-fixes","Bug Fixes",[852,2836,2837],{},[59,2838,2774],{},[1898,2840,2363],{"id":2362},[852,2842,2843,2845,2847],{},[59,2844,2368],{},[59,2846,2371],{},[59,2848,2630],{},[1898,2850,2375],{"id":2374},[852,2852,2853,2855],{},[59,2854,2380],{},[59,2856,2639],{},{"title":14,"searchDepth":15,"depth":15,"links":2858},[],{},"\u002Fdocs\u002Fchangelog\u002F7.3.14025",{"title":2798,"description":2808},"docs\u002Fchangelog\u002F7.3.14025","TvZ2x9VsAns8_Ewt_DgjXSgBefZKGPqxpJ-I-oBzL-s",{"id":2865,"title":2866,"body":2867,"description":2876,"extension":17,"image":18,"meta":2916,"navTitle":18,"navigation":20,"path":2917,"seo":2918,"stem":2919,"__hash__":2920},"docs\u002Fdocs\u002Fchangelog\u002F7.3.14027.md","Groovy Gluon 7.3.14027",{"type":8,"value":2868,"toc":2914},[2869,2872,2877,2879,2886,2888,2896,2898,2906,2908],[11,2870,2866],{"id":2871},"groovy-gluon-7314027",[34,2873,2874],{},[2327,2875,2876],{},"Saturday, April 15, 2023",[1898,2878,2348],{"id":2347},[852,2880,2881,2884],{},[59,2882,2883],{},"SBBS address moved back to Address Details screen.",[59,2885,2764],{},[1898,2887,2834],{"id":2833},[852,2889,2890,2893],{},[59,2891,2892],{},"Fixed bug with wallet upgrade.",[59,2894,2895],{},"Fixed HTML handling in Beam Messenger.",[1898,2897,2363],{"id":2362},[852,2899,2900,2902,2904],{},[59,2901,2368],{},[59,2903,2371],{},[59,2905,2630],{},[1898,2907,2375],{"id":2374},[852,2909,2910,2912],{},[59,2911,2380],{},[59,2913,2639],{},{"title":14,"searchDepth":15,"depth":15,"links":2915},[],{},"\u002Fdocs\u002Fchangelog\u002F7.3.14027",{"title":2866,"description":2876},"docs\u002Fchangelog\u002F7.3.14027","_CmzG4Iv8Vw8JlthSiQE6lDAdFtUe6-aGIYFT4_SjTE",{"id":2922,"title":2923,"body":2924,"description":2933,"extension":17,"image":18,"meta":2964,"navTitle":18,"navigation":20,"path":2965,"seo":2966,"stem":2967,"__hash__":2968},"docs\u002Fdocs\u002Fchangelog\u002F7.3.14059.md","Groovy Gluon 7.3.14059 (Hotfix)",{"type":8,"value":2925,"toc":2962},[2926,2929,2934,2936,2944,2946,2954,2956],[11,2927,2923],{"id":2928},"groovy-gluon-7314059-hotfix",[34,2930,2931],{},[2327,2932,2933],{},"Saturday, May 8, 2023",[1898,2935,2834],{"id":2833},[852,2937,2938,2941],{},[59,2939,2940],{},"Fixed mined coin recognition issue when using external wallet",[59,2942,2943],{},"Added logs for investigating blocks getting stuck after mining",[1898,2945,2363],{"id":2362},[852,2947,2948,2950,2952],{},[59,2949,2368],{},[59,2951,2371],{},[59,2953,2630],{},[1898,2955,2375],{"id":2374},[852,2957,2958,2960],{},[59,2959,2380],{},[59,2961,2639],{},{"title":14,"searchDepth":15,"depth":15,"links":2963},[],{},"\u002Fdocs\u002Fchangelog\u002F7.3.14059",{"title":2923,"description":2933},"docs\u002Fchangelog\u002F7.3.14059","47glQY7R7lwSKw8vTSNzq7CJKgc4a6dcSyoERYe2fpk",{"id":2970,"title":2971,"body":2972,"description":2981,"extension":17,"image":18,"meta":3009,"navTitle":18,"navigation":20,"path":3010,"seo":3011,"stem":3012,"__hash__":3013},"docs\u002Fdocs\u002Fchangelog\u002F7.3.14073.md","Groovy Gluon 7.3.14073 (Hotfix)",{"type":8,"value":2973,"toc":3007},[2974,2977,2982,2984,2989,2991,2999,3001],[11,2975,2971],{"id":2976},"groovy-gluon-7314073-hotfix",[34,2978,2979],{},[2327,2980,2981],{},"Saturday, May 11, 2023",[1898,2983,2834],{"id":2833},[852,2985,2986],{},[59,2987,2988],{},"Fixed a bug that led to the creation of invalid blocks, resulting in a temporary halt in the generation of new blocks. Optimized block creation.",[1898,2990,2363],{"id":2362},[852,2992,2993,2995,2997],{},[59,2994,2368],{},[59,2996,2371],{},[59,2998,2630],{},[1898,3000,2375],{"id":2374},[852,3002,3003,3005],{},[59,3004,2380],{},[59,3006,2639],{},{"title":14,"searchDepth":15,"depth":15,"links":3008},[],{},"\u002Fdocs\u002Fchangelog\u002F7.3.14073",{"title":2971,"description":2981},"docs\u002Fchangelog\u002F7.3.14073","QqfhabbEoAwUW3BveM1AI3tVKzJFWrbCN0IpkgGfH-A",{"id":3015,"title":3016,"body":3017,"description":3026,"extension":17,"image":18,"meta":3065,"navTitle":18,"navigation":20,"path":3066,"seo":3067,"stem":3068,"__hash__":3069},"docs\u002Fdocs\u002Fchangelog\u002F7.4.13780.md","Groovy Gluon 7.4.13780",{"type":8,"value":3018,"toc":3063},[3019,3022,3027,3031,3045,3047,3055,3057],[11,3020,3016],{"id":3021},"groovy-gluon-7413780",[34,3023,3024],{},[2327,3025,3026],{},"Friday, Sempteber 22, 2023",[1898,3028,3030],{"id":3029},"new-features-improvements","New Features & Improvements:",[852,3032,3033,3036,3039,3042],{},[59,3034,3035],{},"Address Generation: Fixed the issue with generating addresses.",[59,3037,3038],{},"Translations: Added new translations to enhance user experience across different languages.",[59,3040,3041],{},"Network Configuration: Users can now make network changes through configuration files.",[59,3043,3044],{},"Code Base: Undertook internal code refactoring and resolved various bugs.",[1898,3046,2363],{"id":2362},[852,3048,3049,3051,3053],{},[59,3050,2368],{},[59,3052,2371],{},[59,3054,2630],{},[1898,3056,2375],{"id":2374},[852,3058,3059,3061],{},[59,3060,2380],{},[59,3062,2639],{},{"title":14,"searchDepth":15,"depth":15,"links":3064},[],{},"\u002Fdocs\u002Fchangelog\u002F7.4.13780",{"title":3016,"description":3026},"docs\u002Fchangelog\u002F7.4.13780","dsCncRhGXikufFW2PIp0ySt87-RuNjBOzheanZgysN4",{"id":3071,"title":3072,"body":3073,"description":3082,"extension":17,"image":18,"meta":3185,"navTitle":18,"navigation":20,"path":3186,"seo":3187,"stem":3188,"__hash__":3189},"docs\u002Fdocs\u002Fchangelog\u002F7.5.13840.md","Groovy Gluon 7.5.13840 (Hotfix)",{"type":8,"value":3074,"toc":3180},[3075,3078,3083,3087,3135,3138,3141,3161,3163,3166],[11,3076,3072],{"id":3077},"groovy-gluon-7513840-hotfix",[34,3079,3080],{},[2327,3081,3082],{},"Wednesday, January 3, 2024",[48,3084,3086],{"id":3085},"whats-new","What's New:",[56,3088,3089,3095,3101,3107,3113,3119,3125,3131],{},[59,3090,3091,3094],{},[37,3092,3093],{},"Updated User Experience:"," The user interface has been revamped to better reflect the current functionality of the Beam blockchain, providing a more intuitive and user-friendly experience.",[59,3096,3097,3100],{},[37,3098,3099],{},"Background Node Synchronization:"," Seamless transition from remote to local node has been implemented, ensuring uninterrupted synchronization and enhanced network performance.",[59,3102,3103,3106],{},[37,3104,3105],{},"Main Screen Features Decentralized Applications:"," The main screen now prominently features decentralized applications, making them more accessible and user-centric.",[59,3108,3109,3112],{},[37,3110,3111],{},"Multiple Network Support:"," Beam now supports multiple networks, including the mainnet and dappnet, allowing users to explore and interact with a broader range of applications and services.",[59,3114,3115,3118],{},[37,3116,3117],{},"Multiple Wallets Management:"," Users can now create and manage multiple wallets from different seeds, with the ability to switch between them without the need for resynchronization.",[59,3120,3121,3124],{},[37,3122,3123],{},"CEX Withdrawal Address (SBBS) on Receive Screen:"," A dedicated CEX withdrawal address feature has been added to the Receive screen for enhanced transaction convenience.",[59,3126,3127,3130],{},[37,3128,3129],{},"Decentralized dApp Store:"," The introduction of a fully decentralized dApp Store marks a significant step towards greater autonomy and user empowerment in the Beam ecosystem.",[59,3132,3133],{},[37,3134,2834],{},[3136,3137],"hr",{},[48,3139,3140],{"id":2362},"Known Limitations:",[852,3142,3143,3149,3155],{},[59,3144,3145,3148],{},[37,3146,3147],{},"CLI Wallet & Laser Beam Channels:"," Ensure the CLI wallet remains online when using active laser beam channels; it should not be offline for over 24 hours to avoid disruptions.",[59,3150,3151,3154],{},[37,3152,3153],{},"Offline Address Usage:"," Do not offer the same offline address to multiple senders of payments, as this can lead to complications and tracking issues.",[59,3156,3157,3160],{},[37,3158,3159],{},"DApp Store - Ubuntu 22+ Issue:"," Users on Ubuntu 22 and newer versions might experience issues with loading app icons in the DApp Store. This is under investigation.",[3136,3162],{},[48,3164,3165],{"id":2374},"Points to Mention:",[852,3167,3168,3174],{},[59,3169,3170,3173],{},[37,3171,3172],{},"Atomic Swaps Requirement:"," For users intending to execute Atomic Swaps with ETH, DAI, WBTC, and USDT, it is necessary to create an account on Infura.",[59,3175,3176,3179],{},[37,3177,3178],{},"Public Offline Address Transparency:"," Be aware that when sending funds to a receiver's Public Offline Address, the sender might deduce when those funds are subsequently used. This transparency aspect is crucial in understanding the privacy dynamics of Beam wallet transactions.",{"title":14,"searchDepth":15,"depth":15,"links":3181},[3182,3183,3184],{"id":3085,"depth":154,"text":3086},{"id":2362,"depth":154,"text":3140},{"id":2374,"depth":154,"text":3165},{},"\u002Fdocs\u002Fchangelog\u002F7.5.13840",{"title":3072,"description":3082},"docs\u002Fchangelog\u002F7.5.13840","Xj1LtHb4FvuWyH9LUUACGx5XAOQeqIGwajUn1wNKZjI",{"id":3191,"title":3192,"body":3193,"description":14,"extension":17,"image":18,"meta":3237,"navTitle":18,"navigation":20,"path":3238,"seo":3239,"stem":3240,"__hash__":3241},"docs\u002Fdocs\u002Fchangelog\u002F7.5.13882.md","Groovy Gluon 7.5.13882",{"type":8,"value":3194,"toc":3232},[3195,3198,3200,3205,3207,3209,3220,3222,3224],[11,3196,3192],{"id":3197},"groovy-gluon-7513882",[48,3199,3086],{"id":3085},[852,3201,3202],{},[59,3203,3204],{},"Fixed the delay in the node when interpreting blocks with large number of inputs",[3136,3206],{},[48,3208,3140],{"id":2362},[852,3210,3211,3214,3217],{},[59,3212,3213],{},"CLI Wallet & Laser Beam Channels: Ensure the CLI wallet remains online when using active laser beam channels; it should not be offline for over 24 hours to avoid disruptions.",[59,3215,3216],{},"Offline Address Usage: Do not offer the same offline address to multiple senders of payments, as this can lead to complications and tracking issues.",[59,3218,3219],{},"DApp Store - Ubuntu 22+ Issue: Users on Ubuntu 22 and newer versions might experience issues with loading app icons in the DApp Store. This is under investigation.",[3136,3221],{},[48,3223,3165],{"id":2374},[852,3225,3226,3229],{},[59,3227,3228],{},"Atomic Swaps Requirement: For users intending to execute Atomic Swaps with ETH, DAI, WBTC, and USDT, it is necessary to create an account on Infura.",[59,3230,3231],{},"Public Offline Address Transparency: Be aware that when sending funds to a receiver's Public Offline Address, the sender might deduce when those funds are subsequently used. This transparency aspect is crucial in understanding the privacy dynamics of Beam wallet transactions.",{"title":14,"searchDepth":15,"depth":15,"links":3233},[3234,3235,3236],{"id":3085,"depth":154,"text":3086},{"id":2362,"depth":154,"text":3140},{"id":2374,"depth":154,"text":3165},{},"\u002Fdocs\u002Fchangelog\u002F7.5.13882",{"title":3192,"description":14},"docs\u002Fchangelog\u002F7.5.13882","0mQVSDtLxzxnL_XWilb_nUogvicBaEb_S2eG_APHk9s",{"id":3243,"title":3244,"body":3245,"description":14,"extension":17,"image":18,"meta":3288,"navTitle":18,"navigation":20,"path":3289,"seo":3290,"stem":3291,"__hash__":3292},"docs\u002Fdocs\u002Fchangelog\u002F7.5.14493.md","Groovy Gluon 7.5.14493 (Hotfix)",{"type":8,"value":3246,"toc":3284},[3247,3250,3252,3260,3270,3272,3274],[11,3248,3244],{"id":3249},"groovy-gluon-7514493-hotfix",[48,3251,3086],{"id":3085},[852,3253,3254],{},[59,3255,3256,3259],{},[37,3257,3258],{},"Emergency Hard Fork (HF6)."," Beam completed an emergency hard fork to patch a subtle Bulletproofs rangeproof vulnerability that eluded multiple professional audits and AI reviews. Read the technical breakdown, our risk assessment, and the proposed lustration process for verifying supply integrity.",[34,3261,3262,98,3265],{},[37,3263,3264],{},"Full disclosure:",[175,3266,3269],{"href":3267,"rel":3268},"https:\u002F\u002Fbeam.mw\u002Fblog\u002Fnews\u002Fhardfork-six",[179],"beam.mw\u002Fblog\u002Fnews\u002Fhardfork-six",[3136,3271],{},[48,3273,3165],{"id":2374},[852,3275,3276],{},[59,3277,3278,3279,181],{},"All node and wallet operators should upgrade to this version. The latest builds can be downloaded from ",[175,3280,3283],{"href":3281,"rel":3282},"https:\u002F\u002Fbeam.mw\u002Fdownloads",[179],"beam.mw\u002Fdownloads",{"title":14,"searchDepth":15,"depth":15,"links":3285},[3286,3287],{"id":3085,"depth":154,"text":3086},{"id":2374,"depth":154,"text":3165},{},"\u002Fdocs\u002Fchangelog\u002F7.5.14493",{"title":3244,"description":14},"docs\u002Fchangelog\u002F7.5.14493","1MQV1o7LKsV8QiPNJcGzvNadnIGSbosd_ekZBeCNQfE",{"id":3294,"title":3295,"body":3296,"description":3380,"extension":17,"image":18,"meta":3381,"navTitle":18,"navigation":20,"path":3382,"seo":3383,"stem":3384,"__hash__":3385},"docs\u002Fdocs\u002Fchangelog\u002FREADME.md","Beam Release Notes",{"type":8,"value":3297,"toc":3378},[3298,3301,3312,3315,3375],[11,3299,3295],{"id":3300},"beam-release-notes",[34,3302,3303,3304,3307,3308,3311],{},"This page serves as a comprehensive overview of all the updates, improvements, bug fixes, and known limitations associated with each version of Beam. The most recent version, ",[37,3305,3306],{},"Groovy Gluon 7.5.14493",", was released on ",[100,3309,3310],{},"Wednesday, July 1, 2026"," as an emergency hard fork (HF6).",[34,3313,3314],{},"Explore the detailed changelogs for each version by clicking on the corresponding links below. This will help you better understand the history and evolution of this groundbreaking cryptocurrency:",[852,3316,3317,3322,3327,3332,3337,3341,3346,3351,3355,3359,3363,3367,3371],{},[59,3318,3319],{},[175,3320,3321],{"href":3289},"Groovy Gluon. 7.5.14493",[59,3323,3324],{},[175,3325,3326],{"href":3238},"Groovy Gluon. 7.5.13882",[59,3328,3329],{},[175,3330,3331],{"href":3186},"Groovy Gluon. 7.5.13840",[59,3333,3334],{},[175,3335,3336],{"href":3066},"Groovy Gluon. 7.4.13780",[59,3338,3339],{},[175,3340,2742],{"href":2792},[59,3342,3343],{},[175,3344,3345],{"href":3010},"Groovy Gluon 7.3.14073",[59,3347,3348],{},[175,3349,3350],{"href":2965},"Groovy Gluon 7.3.14059",[59,3352,3353],{},[175,3354,2866],{"href":2917},[59,3356,3357],{},[175,3358,2798],{"href":2860},[59,3360,3361],{},[175,3362,2694],{"href":2736},[59,3364,3365],{},[175,3366,2649],{"href":2688},[59,3368,3369],{},[175,3370,2590],{"href":2643},[59,3372,3373],{},[175,3374,2554],{"href":2584},[34,3376,3377],{},"We encourage you to keep an eye on this page to stay updated on future releases and improvements. Thank you for choosing Beam, and we hope our continuous efforts to enhance your experience meet your expectations!",{"title":14,"searchDepth":15,"depth":15,"links":3379},[],"This page serves as a comprehensive overview of all the updates, improvements, bug fixes, and known limitations associated with each version of Beam. The most recent version, Groovy Gluon 7.5.14493, was released on Wednesday, July 1, 2026 as an emergency hard fork (HF6).",{},"\u002Fdocs\u002Fchangelog\u002Freadme",{"title":3295,"description":3380},"docs\u002Fchangelog\u002FREADME","L48AzRfOfAV_AkWEOOYsgP78i4xn2z_hFkC-GmEGQfE",{"id":3387,"title":3388,"body":3389,"description":4362,"extension":17,"image":18,"meta":4363,"navTitle":18,"navigation":20,"path":4364,"seo":4365,"stem":4366,"__hash__":4367},"docs\u002Fdocs\u002Fcli\u002FREADME.md","Beam command line (CLI) guide",{"type":8,"value":3390,"toc":4307},[3391,3394,3397,3400,3403,3407,3418,3422,3425,3431,3438,3444,3451,3457,3463,3469,3475,3478,3481,3485,3494,3497,3503,3509,3515,3521,3527,3530,3536,3543,3549,3553,3557,3563,3569,3575,3578,3581,3587,3599,3603,3612,3621,3630,3636,3641,3643,3646,3652,3656,3659,3662,3667,3669,3671,3677,3681,3688,3694,3698,3705,3711,3715,3719,3722,3725,3731,3733,3735,3741,3744,3748,3751,3754,3757,3763,3767,3772,3784,3787,3793,3795,3801,3805,3808,3812,3818,3823,3827,3830,3840,3846,3850,3853,3857,3863,3868,3874,3880,3884,3887,3893,3897,3909,3913,3916,3922,3924,3927,3933,3937,3940,3946,3948,3951,3957,3961,3964,3967,3973,3975,3978,3984,3988,3991,3994,4000,4003,4005,4011,4015,4018,4024,4026,4032,4036,4039,4043,4046,4052,4056,4063,4067,4070,4090,4093,4099,4103,4109,4113,4118,4124,4128,4133,4139,4143,4150,4157,4161,4167,4172,4176,4180,4186,4188,4194,4198,4205,4208,4214,4218,4221,4227,4231,4238,4241,4248,4255,4258,4264,4268,4271,4277,4281,4287,4293,4297,4302],[11,3392,3388],{"id":3393},"beam-command-line-cli-guide",[34,3395,3396],{},"The command line is the most reliable method of using Beam wallets and certain features (Registering CAs, Lightning Payments, Beam Shaders) can only perform on the command line. Available for macOS, Windows, and Linux.",[34,3398,3399],{},"Due to Beam's LelantusMW protocols, the private keys of Beam wallets record the user's UTXO balance on the blockchain, while transaction histories, addresses, and other wallet metadata are stored locally on each device.",[34,3401,3402],{},"Beam allows users to run a full node and interact with it via the command line.",[41,3404,3406],{"id":3405},"getting-started","Getting started",[34,3408,3409,3410,3413,3414,3417],{},"This section uses Linux and macOS commands; Windows users, please substitute",[611,3411,3412],{},".\u002Fbeam-wallet","with ",[611,3415,3416],{},"beam-wallet.exe"," and Windows Command Prompts where necessary.",[41,3419,3421],{"id":3420},"creating-a-new-beam-wallet","Creating a new Beam wallet",[34,3423,3424],{},"To create a new wallet, enter the following command:",[616,3426,3429],{"className":3427,"code":3428,"language":621},[619],".\u002Fbeam-wallet init\n",[611,3430,3428],{"__ignoreMap":14},[34,3432,3433,3434,3437],{},"The",[611,3435,3436],{},"-wallet init"," command will ask users to create a wallet password:",[616,3439,3442],{"className":3440,"code":3441,"language":621},[619],"Enter password: ****************\n",[611,3443,3441],{"__ignoreMap":14},[34,3445,3446,3447,3450],{},"Create a strong wallet password and keep your password secret! Anyone who has your wallet password will have access to your funds! Wallet passwords protect your ",[611,3448,3449],{},"wallet.db"," files that store all your crucial wallet metadata.",[34,3452,3453,3454,3456],{},"After creating your wallet password, the",[611,3455,3436],{},"command output should resemble the following:",[616,3458,3461],{"className":3459,"code":3460,"language":621},[619],"$ .\u002Fbeam-wallet init\nI 2018-12-23.15:24:29.461 Rules signature: ddccf5d8d0f77bd2\nI 2018-12-23.15:24:29.462 starting a wallet...\nEnter password: ****************\nI 2018-12-23.15:24:32.524 Generating seed phrase...\n\nGenerated seed phrase:\n\n        despair;evoke;airport;seven;cricket;menu;current;ankle;require;monkey;maple;crawl;\n\n        IMPORTANT\n\n        Your seed phrase is the access key to all the cryptocurrencies in your wallet.\n        Print or write down the phrase to keep it in a safe or in a locked vault.\n        Without the phrase you will not be able to recover your money.\n\nI 2018-12-23.15:24:32.728 wallet successfully created...\nI 2018-12-23.15:24:32.750 New address generated:\n\n14a38140d8e66be9b8f1e8d770161fd33e35f7000053147b5a0f6a83178926b956\n\nI 2018-12-23.15:24:32.750 label = default\n",[611,3462,3460],{"__ignoreMap":14},[34,3464,3433,3465,3468],{},[611,3466,3467],{},"rules signature","is a hash of the current node configuration that determines compatibility between different versions of nodes and wallets.",[34,3470,3471,3474],{},[37,3472,3473],{},"Write down your seed phrase!"," Keep your seed phrase secret, and never share your seed phrase with anyone!",[34,3476,3477],{},"Your seed phrase is the only way you (or anybody) can access your funds. Your seed phrase is not linked to your email or phone number. If you forget your wallet password or lose your device, the only way to restore your wallet is through your seed phrase!",[34,3479,3480],{},"Please do not write your seed phrase down electronically, take a screenshot or store it anywhere vulnerable to cyber attacks. Pen and paper are unhackable and recommended. Make multiple copies of your seed phrase and store them somewhere safe.",[41,3482,3484],{"id":3483},"restoring-cli-wallet-from-seed-phrase","Restoring CLI wallet from seed phrase",[34,3486,3487,3488,181],{},"Restoring Beam coins from an old wallet seed phrase requires users to run their own node and ",[175,3489,3491],{"href":3490},".\u002F#exporting-owner-key",[611,3492,3493],{},"owner_key",[34,3495,3496],{},"To begin restoring your CLI wallet, first create a new wallet by entering the following command:",[616,3498,3501],{"className":3499,"code":3500,"language":621},[619],".\u002Fbeam-wallet restore --seed_phrase=\u003Csemicolon separated list of 12 seed phrase words>;\n",[611,3502,3500],{"__ignoreMap":14},[34,3504,3505,3506,3508],{},"Now export your ",[611,3507,3493],{}," from your Beam wallet. Enter the following command:",[616,3510,3513],{"className":3511,"code":3512,"language":621},[619],".\u002Fbeam-wallet export_owner_key\n",[611,3514,3512],{"__ignoreMap":14},[34,3516,3517,3518,3520],{},"Now that you have exported the ",[611,3519,3493],{},", you can run your own node by entering the following command:",[616,3522,3525],{"className":3523,"code":3524,"language":621},[619],".\u002Fbeam-node --peer=\u003Cip and port of peer node> --key_owner=\u003Cowner key exported from the wallet>\n",[611,3526,3524],{"__ignoreMap":14},[34,3528,3529],{},"Once the node has synchronized, connect your wallet to the node and update your wallet database by entering the following command:",[616,3531,3534],{"className":3532,"code":3533,"language":621},[619],".\u002Fbeam-wallet listen -n \u003Cip and port of your node, ex:127.0.0.1:10000>\n",[611,3535,3533],{"__ignoreMap":14},[34,3537,3538,3539,3542],{},"Once your wallet has synched with the Beam network, enter ",[611,3540,3541],{},"-wallet info"," command to check the wallet status:",[616,3544,3547],{"className":3545,"code":3546,"language":621},[619],".\u002Fbeam-wallet info\n",[611,3548,3546],{"__ignoreMap":14},[41,3550,3552],{"id":3551},"exporting-secret-keys","Exporting secret keys",[48,3554,3556],{"id":3555},"exporting-miner-key","Exporting miner key",[34,3558,3433,3559,3562],{},[611,3560,3561],{},"miner_key","is a secret key that miners can use to collect their miner rewards.",[34,3564,3565,3566,3568],{},"To export your",[611,3567,3561],{},", enter the following command:",[616,3570,3573],{"className":3571,"code":3572,"language":621},[619],".\u002Fbeam-wallet export_miner_key --subkey=\n",[611,3574,3572],{"__ignoreMap":14},[34,3576,3577],{},"Enter your wallet password.",[34,3579,3580],{},"The output should resemble the following:",[616,3582,3585],{"className":3583,"code":3584,"language":621},[619],"$ beam-wallet.exe  export_miner_key --subkey=1\nI 2018-12-23.16:36:04.306 Rules signature: ddccf5d8d0f77bd2\nI 2018-12-23.16:36:04.307 starting a wallet...\nEnter password: *******************\nSecret Subkey 1: OVBSdWQlOV3WuC6bLXRDJqyDfdxWSuzdA4jEGRAZ1zhy4gA3\u002FKcBTEdcmN5wNOv0vQrBWwOlTdIxqyPFzFDFdaVYZPUDoXjqgUE=\n",[611,3586,3584],{"__ignoreMap":14},[34,3588,3589,3595,3596,3598],{},[37,3590,3591,3592,3594],{},"Keep your",[611,3593,3561],{},"secret!"," Anyone with the",[611,3597,3561],{},"can retrieve the Miner Rewards associated with said keys.",[48,3600,3602],{"id":3601},"exporting-owner-key","Exporting owner key",[34,3604,3605,3606,3608,3609,3611],{},"An",[611,3607,3493],{},"connects all the nodes mining under that key and communicates with all the other nodes on the network of accumulated miner rewards. If a scenario occurs where a user has multiple mining nodes under one",[611,3610,3493],{},", the user would only need to connect to a single node to collect the miner rewards.",[34,3613,3614,3615,3618,3619,181],{},"Most cryptocurrencies allow users to connect mining nodes to a single address; however, the Mimblewimble protocol has no addresses. Unique blinding factors are deterministically derivative from the",[611,3616,3617],{},"master_key","code into the miner rewards tagged by a single",[611,3620,3493],{},[34,3622,3623,3624,3626,3627,3629],{},"While an",[611,3625,3493],{},"cannot access users' funds, it allows users to view all the coins mined by every mining node associated with said key. Keep your",[611,3628,3493],{},"secret.",[34,3631,3632,3633,3635],{},"To export",[611,3634,3493],{},"from your Beam wallet, enter the following command:",[616,3637,3639],{"className":3638,"code":3512,"language":621},[619],[611,3640,3512],{"__ignoreMap":14},[34,3642,3577],{},[34,3644,3645],{},"Sample output for this command should look like this:",[616,3647,3650],{"className":3648,"code":3649,"language":621},[619],"$ .\u002Fbeam-wallet export_owner_key\nI 2018-12-23.16:53:04.973 Rules signature: ddccf5d8d0f77bd2\nI 2018-12-23.16:53:04.974 starting a wallet...\nEnter password: *\nOwner Viewer key: dmVxtRCM3BH1VakviSB\u002FXY86DsCKuWDLKk51eLDlibgMeL2fZ317Zdqx3\n",[611,3651,3649],{"__ignoreMap":14},[41,3653,3655],{"id":3654},"printing-wallet-info","Printing wallet info",[34,3657,3658],{},"Printing your wallet info will give you a snapshot of your wallet, including wallet balance, block height, current state ID, available balance, total groth, and more.",[34,3660,3661],{},"To print the current status of your wallet, enter the following command:",[616,3663,3665],{"className":3664,"code":3546,"language":621},[619],[611,3666,3546],{"__ignoreMap":14},[34,3668,3577],{},[34,3670,3580],{},[616,3672,3675],{"className":3673,"code":3674,"language":621},[619],"I 2018-12-23.17:56:19.368 Rules signature: ddccf5d8d0f77bd2\nI 2018-12-23.17:56:19.369 starting a wallet...\nEnter password: *\nI 2018-12-23.17:56:21.144 wallet sucessfully opened...\n____Wallet summary____\n\nCurrent height............8353\nCurrent state ID..........72329a2efa2ddad4\n\nAvailable.................300 beams\nMaturing..................0 groth\nIn progress...............0 groth\nUnavailable...............0 groth\nAvailable coinbase .......0 groth\nTotal coinbase............0 groth\nAvaliable fee.............0 groth\nTotal fee.................0 groth\nTotal unspent.............300 beams\n\n                  id |          Beam |         Groth |        height |          maturity |                  status |    type\n    1545571472000001             300               0            8347                8351   [Available]                 norm\n",[611,3676,3674],{"__ignoreMap":14},[48,3678,3680],{"id":3679},"transaction-history","Transaction history",[34,3682,3683,3684,3687],{},"Users can view their transaction history with the",[611,3685,3686],{},"--tx_history"," tag:",[616,3689,3692],{"className":3690,"code":3691,"language":621},[619],".\u002Fbeam-wallet  info --tx_history\n",[611,3693,3691],{"__ignoreMap":14},[48,3695,3697],{"id":3696},"view-transaction-details","View transaction details",[34,3699,3700,3701,3704],{},"To view transaction details, add the",[611,3702,3703],{},"--tx_id","tag:",[616,3706,3709],{"className":3707,"code":3708,"language":621},[619],".\u002Fbeam-wallet tx_details --tx_id=\n",[611,3710,3708],{"__ignoreMap":14},[41,3712,3714],{"id":3713},"receiving-beam","Receiving Beam",[48,3716,3718],{"id":3717},"synching-with-a-specific-node","Synching with a specific node",[34,3720,3721],{},"Users must connect to a specific node before they can start receiving Beam coins.",[34,3723,3724],{},"To connect to a specific node, enter the following command:",[616,3726,3729],{"className":3727,"code":3728,"language":621},[619],".\u002Fbeam-wallet listen -n \n",[611,3730,3728],{"__ignoreMap":14},[34,3732,3577],{},[34,3734,3580],{},[616,3736,3739],{"className":3737,"code":3738,"language":621},[619],"I 2018-12-23.17:07:55.526 Rules signature: ddccf5d8d0f77bd2\nI 2018-12-23.17:07:55.527 starting a wallet...\nEnter password: ***************\nI 2018-12-23.17:07:58.076 wallet sucessfully opened...\nI 2018-12-23.17:07:58.078 WalletID 14a38140d8e66be9b8f1e8d770161fd33e35f7000053147b5a0f6a83178926b956 subscribes to BBS channel 20\nI 2018-12-23.17:07:59.297 Sync up to 8304-2dc4e5a393d6774b\nI 2018-12-23.17:07:59.318 Current state is 8304-2dc4e5a393d6774b\n",[611,3740,3738],{"__ignoreMap":14},[34,3742,3743],{},"Once your wallet syncs with the specific node, your wallet will automatically scan the network for incoming transactions via SBBS addresses.",[48,3745,3747],{"id":3746},"receiving-beam-coins","Receiving Beam coins",[34,3749,3750],{},"To Receive Beam coins, send your wallet address to the sender over a secure channel such as email or Telegram.",[34,3752,3753],{},"All incoming transactions will be viewable in your wallet logs and command terminal.",[34,3755,3756],{},"The output should be similar to the following:",[616,3758,3761],{"className":3759,"code":3760,"language":621},[619],"I 2018-12-23.17:55:08.556 [7997ecd5c59e4865a6d938dbf339567e] Receiving 300 beams  (fee: 10 groth )\nI 2018-12-23.17:55:08.608 [7997ecd5c59e4865a6d938dbf339567e] Invitation accepted\nD 2018-12-23.17:55:09.203 Received PeerSig:     596857beae016ebd\nI 2018-12-23.17:55:09.216 [7997ecd5c59e4865a6d938dbf339567e] Transaction kernel: 95a8e48587c452b3\nD 2018-12-23.17:55:09.346 [7997ecd5c59e4865a6d938dbf339567e] has registered\nD 2018-12-23.17:55:09.367 Received PeerSig:     596857beae016ebd\nI 2018-12-23.17:55:09.428 Get proof for kernel: 95a8e48587c452b3\n",[611,3762,3760],{"__ignoreMap":14},[41,3764,3766],{"id":3765},"sending-beam","Sending Beam",[34,3768,3769],{},[37,3770,3771],{},"Things to consider:",[56,3773,3774,3777],{},[59,3775,3776],{},"One Groth is equal to $$1e-8$$Beam.",[59,3778,3779,3780,3783],{},"You can split a large UTXO by creating a transaction and sending a portion of the UTXO to yourself. Use the",[611,3781,3782],{},"-wallet send","command to send the required amount to your own SBBS wallet address. A transaction fee will still be required.",[34,3785,3786],{},"To Send Beam coins, enter the following command:",[616,3788,3791],{"className":3789,"code":3790,"language":621},[619],".\u002Fbeam-wallet send -n  -r  -a  -f \n",[611,3792,3790],{"__ignoreMap":14},[34,3794,3580],{},[616,3796,3799],{"className":3797,"code":3798,"language":621},[619],"$ .\u002Fbeam-wallet send -n 172.104.249.212:8101 -r 14a38140d8e66be9b8f1e8d770161fd33e35f7000053147b5a0f6a83178926b956 -a 10\nI 2018-12-23.18:05:49.037 Rules signature: ddccf5d8d0f77bd2\nI 2018-12-23.18:05:49.038 starting a wallet...\nEnter password: *\nI 2018-12-23.18:05:50.725 wallet sucessfully opened...\nI 2018-12-23.18:05:50.726 WalletID 14a38140d8e66be9b8f1e8d770161fd33e35f7000053147b5a0f6a83178926b956 subscribes to BBS channel 20\nI 2018-12-23.18:05:50.775 [b21f08337dd94603bb038c82c1888eac] Sending 10 beams  (fee: 0 groth )\nI 2018-12-23.18:05:50.986 [b21f08337dd94603bb038c82c1888eac] Invitation accepted\nI 2018-12-23.18:05:51.053 [b21f08337dd94603bb038c82c1888eac] Transaction kernel: 71cf20c4c94f25ce\n",[611,3800,3798],{"__ignoreMap":14},[41,3802,3804],{"id":3803},"sending-a-specific-utxo","Sending a specific UTXO",[34,3806,3807],{},"For certain transactions, the user might consider sending a specific UTXO.",[48,3809,3811],{"id":3810},"print-wallet-info","Print wallet info",[34,3813,3814,3815,3817],{},"To find a specific UTXO,  enter the",[611,3816,3541],{},"command:",[616,3819,3821],{"className":3820,"code":3546,"language":621},[619],[611,3822,3546],{"__ignoreMap":14},[48,3824,3826],{"id":3825},"sending-utxo","Sending UTXO",[34,3828,3829],{},"Review and select the UTXO you wish to send.",[34,3831,3832,3833,3835,3836,3839],{},"Enter the ",[611,3834,3782],{},"command with a",[611,3837,3838],{},"--utxo","tag, (use a comma to separate multiple UTXO IDs):",[616,3841,3844],{"className":3842,"code":3843,"language":621},[619],".\u002Fbeam-wallet send -n  -r  -a  -f  --utxo=\n",[611,3845,3843],{"__ignoreMap":14},[41,3847,3849],{"id":3848},"cancel-and-delete-a-transaction","Cancel and delete a transaction",[34,3851,3852],{},"There might be an instance where it is necessary to cancel or delete an unsuccesful transaction.",[48,3854,3856],{"id":3855},"canceling-a-transaction","Canceling a transaction",[34,3858,3859,3860,3862],{},"First, print your wallets transaction history using ",[611,3861,3686],{}," command:",[616,3864,3866],{"className":3865,"code":3691,"language":621},[619],[611,3867,3691],{"__ignoreMap":14},[34,3869,3870,3871,3873],{},"After locating the",[611,3872,3703],{},"t you wish to cancel, enter the following command:",[616,3875,3878],{"className":3876,"code":3877,"language":621},[619],".\u002Fbeam-wallet cancel_tx --tx_id= -n \n",[611,3879,3877],{"__ignoreMap":14},[48,3881,3883],{"id":3882},"deleting-a-transaction","Deleting a transaction",[34,3885,3886],{},"To delete a canceled transaction, enter the following command:",[616,3888,3891],{"className":3889,"code":3890,"language":621},[619],".\u002Fbeam-wallet delete_tx --tx_id= -n \n",[611,3892,3890],{"__ignoreMap":14},[41,3894,3896],{"id":3895},"create-a-new-wallet-address","Create a new wallet address",[34,3898,3899,3900,3905,3906,181],{},"Due to Beam's ",[175,3901,3904],{"href":3902,"rel":3903},"https:\u002F\u002Fapp.gitbook.com\u002F@beamx\u002Fs\u002Fdeveloper-documentation\u002Fbeam-technology\u002Flelantusmw",[179],"LelantusMW protocol",", your wallet address will never record on the blockchain. Beam wallets automatically create a new wallet address for every transaction. Beam offers users three different wallet address types; read about the different address types ",[175,3907,1248],{"href":3908},"\u002Fdocs\u002Fecosystem#beam-addresses",[48,3910,3912],{"id":3911},"create-a-regular-address","Create a regular address",[34,3914,3915],{},"To create a regular address, enter the following command:",[616,3917,3920],{"className":3918,"code":3919,"language":621},[619],".\u002Fbeam-wallet get_address --expiration_time=never --comment=\"some comment\"\n",[611,3921,3919],{"__ignoreMap":14},[34,3923,3577],{},[34,3925,3926],{},"Sample output should be similar to the following:",[616,3928,3931],{"className":3929,"code":3930,"language":621},[619],"I 2021-05-27.22:25:46.490 Rules signature: 0-6bf65af9395e4f40, 30-5d3bc9e672f2b4fb, 30-690e516d8f3dc78c, 1500-b14773a6c55533e5\nEnter password: *\nI 2021-05-27.22:25:47.892 wallet successfully opened...\nI 2021-05-27.22:25:47.903 New WalletID (SBBS address) generated: 135ae78e4b06622c535614494c6feda7de02376f9eb86bef4cd0be8d41a1af3419f\nI 2021-05-27.22:25:47.904 Generated regular new style address:8NmCQLhTTk2P7XeFZrHe1SNv7CMEZVsZsKesnpu615wiotYpwDnTDE57pAGTTYM4yD8JThkeLpLLVeYoVuZMZxS5cp6GHaTn16eCBKpZfkK3jDMhPjUMPZpwBgmzpStvDQweLY9ALcXAh\nNew address: 8NmCQLhTTk2P7XeFZrHe1SNv7CMEZVsZsKesnpu615wiotYpwDnTDE57pAGTTYM4yD8JThkeLpLLVeYoVuZMZxS5cp6GHaTn16eCBKpZfkK3jDMhPjUMPZpwBgmzpStvDQweLY9ALcXAh\n",[611,3932,3930],{"__ignoreMap":14},[48,3934,3936],{"id":3935},"create-an-sbbs-address","Create an SBBS address",[34,3938,3939],{},"To create a new SBBS address, enter the following command:",[616,3941,3944],{"className":3942,"code":3943,"language":621},[619],".\u002Fbeam-wallet new_addr --expiration_time=auto|never|now --comment=\"some comment\"\n",[611,3945,3943],{"__ignoreMap":14},[34,3947,3577],{},[34,3949,3950],{},"Sample output should be similar to following:",[616,3952,3955],{"className":3953,"code":3954,"language":621},[619],"I 2018-12-23.18:16:44.112 Rules signature: ddccf5d8d0f77bd2\nI 2018-12-23.18:16:44.113 starting a wallet...\nEnter password: *\nI 2018-12-23.18:16:45.392 New address generated:\n\n646a773da4d4651f35fd75ca958b7859e89d8d8382b8155773bd396e2cc49cca\n",[611,3956,3954],{"__ignoreMap":14},[48,3958,3960],{"id":3959},"create-an-offline-address","Create an Offline address",[34,3962,3963],{},"It is essential to provide the number of payments (i.e., vouchers). If the payments reach zero, the Sender wallet will automatically request more payments to the Receiver wallet using SBBS. If the Receiver's wallet is online within 12 hours of the request (until the SBBS message expires), it will send 30 more offline payment vouchers to the Sender. Otherwise, the Sender will receive notification that there are no more vouchers and need to request another offline address via an external channel.",[34,3965,3966],{},"To create an Offline address, enter the following command:",[616,3968,3971],{"className":3969,"code":3970,"language":621},[619],".\u002Fbeam-wallet get_address --offline_count 1\n",[611,3972,3970],{"__ignoreMap":14},[34,3974,3577],{},[34,3976,3977],{},"The output should be similar to following:",[616,3979,3982],{"className":3980,"code":3981,"language":621},[619],"I 2021-05-27.22:26:24.206 Rules signature: 0-6bf65af9395e4f40, 30-5d3bc9e672f2b4fb, 30-690e516d8f3dc78c, 1500-b14773a6c55533e5\nEnter password: *\nI 2021-05-27.22:26:25.494 wallet successfully opened...\nI 2021-05-27.22:26:25.497 New WalletID (SBBS address) generated: 21735e5ecb29171be175d5d1714090412789b71e82dbe8d7aeedb38160c7349bd0b\nI 2021-05-27.22:26:25.500 Generated offline address: vn9cQCXgkE9UaCYbbtpwXdkmj9k7EycL8RHkcyCxkMij9rJduzUarm1w4jppqyoF29VxHviS8RhfY4vXfR5ntKv5aKeK4NsRW7xfZhPb9dVaLwKG26MoFAq4qD71kQ5ie1aN16UZw63QJ4N4Z6JydbevHG55t7T2k1HXbfgP5qgGxUAqWSHsQzMk9h1AmLwNXwENygE58idNoG6kcfX7NBcpspcik9m334ZCwb1Ura6UFF7XRhZpLmaReYkqBENzin6tDYfFPvZyGGpGMxyhCNtDTtKSfeif3zvfLmJJ3Qx3hxpyw8tL1R3hSXWS78hpA2ye3qiFpRdRM2RtR2bjoL8EvRdHToQoChLP9YGw1fQhqC8bBqtcNKKCFwQDycyuBQHWi6y9UiegzDKiFrCDSHABVLB7JBGNudcNQNk8x8tggqWjWWooRa3epM8SKQrbEeMRVEaHiK5Tco4wt4pqRyK, vouchers count 1\nNew address: vn9cQCXgkE9UaCYbbtpwXdkmj9k7EycL8RHkcyCxkMij9rJduzUarm1w4jppqyoF29VxHviS8RhfY4vXfR5ntKv5aKeK4NsRW7xfZhPb9dVaLwKG26MoFAq4qD71kQ5ie1aN16UZw63QJ4N4Z6JydbevHG55t7T2k1HXbfgP5qgGxUAqWSHsQzMk9h1AmLwNXwENygE58idNoG6kcfX7NBcpspcik9m334ZCwb1Ura6UFF7XRhZpLmaReYkqBENzin6tDYfFPvZyGGpGMxyhCNtDTtKSfeif3zvfLmJJ3Qx3hxpyw8tL1R3hSXWS78hpA2ye3qiFpRdRM2RtR2bjoL8EvRdHToQoChLP9YGw1fQhqC8bBqtcNKKCFwQDycyuBQHWi6y9UiegzDKiFrCDSHABVLB7JBGNudcNQNk8x8tggqWjWWooRa3epM8SKQrbEeMRVEaHiK5Tco4wt4pqRyK\n",[611,3983,3981],{"__ignoreMap":14},[48,3985,3987],{"id":3986},"locate-public-offline-address","Locate Public-Offline address",[34,3989,3990],{},"A Public-Offline address is unique address to your Beam wallet and never expires. Public Offline addresses are a little less secure in one aspect: the Sender can potentially see when the Receiver spends the funds sent to this address (though, of course, not to whom or how much). We recommend using this address for donations or a Receiver wallet that is rarely online.",[34,3992,3993],{},"To locate your Beam wallet's Public-Offline address, enter the following command:",[616,3995,3998],{"className":3996,"code":3997,"language":621},[619],".\u002Fbeam-wallet get_address --public_offline\n",[611,3999,3997],{"__ignoreMap":14},[34,4001,4002],{},"Enter your wallet password",[34,4004,3756],{},[616,4006,4009],{"className":4007,"code":4008,"language":621},[619],"I 2021-05-27.22:27:13.925 Rules signature: 0-6bf65af9395e4f40, 30-5d3bc9e672f2b4fb, 30-690e516d8f3dc78c, 1500-b14773a6c55533e5\nEnter password: *\nI 2021-05-27.22:27:14.837 wallet successfully opened...\nI 2021-05-27.22:27:14.841 New WalletID (SBBS address) generated: 276d2fecb6aa4f6b2766b37c4cf053e4b8c2b4dec2f37d2be2ae6cbfeb910a0aeb1\nI 2021-05-27.22:27:14.843 Generated public offline address: A4Y8nZvGgzE7hvGT5LezYpTJA5BqU1FX2ZSfEqsWcJU1dLh8Rpv8cKo7rcJpLcANFDYWv6ik82PoVGCjeoRu9JUccVCLU8t1HBdrT4jLik6vpZs2r1aDWmML3h4THG7LRWM58tJDjAkVEFgHiTePjmTX5QzLNKuT3MpcG2dXVcHU8dG9sBcf9iLx1b117qRwvb7Y19mqkVNb4qdcMPzmtEwV748ZqdXdMB9hZpdRuq1Qk5pBwfSYgtyG2kRdPmSnhggRYK3xvep5BVn6zuZ3LLpe2uo3krrXxhQ4MyQknV\nNew address: A4Y8nZvGgzE7hvGT5LezYpTJA5BqU1FX2ZSfEqsWcJU1dLh8Rpv8cKo7rcJpLcANFDYWv6ik82PoVGCjeoRu9JUccVCLU8t1HBdrT4jLik6vpZs2r1aDWmML3h4THG7LRWM58tJDjAkVEFgHiTePjmTX5QzLNKuT3MpcG2dXVcHU8dG9sBcf9iLx1b117qRwvb7Y19mqkVNb4qdcMPzmtEwV748ZqdXdMB9hZpdRuq1Qk5pBwfSYgtyG2kRdPmSnhggRYK3xvep5BVn6zuZ3LLpe2uo3krrXxhQ4MyQknV\n",[611,4010,4008],{"__ignoreMap":14},[41,4012,4014],{"id":4013},"print-address-list","Print address list",[34,4016,4017],{},"To print your Beam wallet address list, enter the following command:",[616,4019,4022],{"className":4020,"code":4021,"language":621},[619],".\u002Fbeam-wallet address_list\n",[611,4023,4021],{"__ignoreMap":14},[34,4025,3756],{},[616,4027,4030],{"className":4028,"code":4029,"language":621},[619],"I 2021-05-27.22:29:03.109 Rules signature: 0-6bf65af9395e4f40, 30-5d3bc9e672f2b4fb, 30-690e516d8f3dc78c, 1500-b14773a6c55533e5\nEnter password: *\nI 2021-05-27.22:29:04.807 wallet successfully opened...\n\nType: public offline\nComment:\nAddress: A4Y8nZvGgzE7hvGT5LezYpTJA5BqU1FX2ZSfEqsWcJU1dLh8Rpv8cKo7rcJpLcANFDYWv6ik82PoVGCjeoRu9JUccVCLU8t1HBdrT4jLik6vpZs2r1aDWmML3h4THG7LRWM58tJDjAkVEFgHiTePjmTX5QzLNKuT3MpcG2dXVcHU8dG9sBcf9iLx1b117qRwvb7Y19mqkVNb4qdcMPzmtEwV748ZqdXdMB9hZpdRuq1Qk5pBwfSYgtyG2kRdPmSnhggRYK3xvep5BVn6zuZ3LLpe2uo3krrXxhQ4MyQknV\nWallet ID: 276d2fecb6aa4f6b2766b37c4cf053e4b8c2b4dec2f37d2be2ae6cbfeb910a0aeb1\nIdentity: 3e5ca67ca3466595be5a13f722247a888fa5bfb4b84022c155f2cf29c0afb088\nActive: true\nExpires: 2021.05.28 22:27:14\nCreated: 2021.05.27 22:27:14\n\nType: offline\nComment:\nAddress: vn9cQCXgkE9UaCYbbtpwXdkmj9k7EycL8RHkcyCxkMij9rJduzUarm1w4jppqyoF29VxHviS8RhfY4vXfR5ntKv5aKeK4NsRW7xfZhPb9dVaLwKG26MoFAq4qD71kQ5ie1aN16UZw63QJ4N4Z6JydbevHG55t7T2k1HXbfgP5qgGxUAqWSHsQzMk9h1AmLwNXwENygE58idNoG6kcfX7NBcpspcik9m334ZCwb1Ura6UFF7XRhZpLmaReYkqBENzin6tDYfFPvZyGGpGMxyhCNtDTtKSfeif3zvfLmJJ3Qx3hxpyw8tL1R3hSXWS78hpA2ye3qiFpRdRM2RtR2bjoL8EvRdHToQoChLP9YGw1fQhqC8bBqtcNKKCFwQDycyuBQHWi6y9UiegzDKiFrCDSHABVLB7JBGNudcNQNk8x8tggqWjWWooRa3epM8SKQrbEeMRVEaHiK5Tco4wt4pqRyK\nWallet ID: 21735e5ecb29171be175d5d1714090412789b71e82dbe8d7aeedb38160c7349bd0b\nIdentity: fa1224adb9cfabc0c062fb14adc17befd1a4a621e01d596952e39aa5b62dfc99\nActive: true\nExpires: 2021.05.28 22:26:25\nCreated: 2021.05.27 22:26:25\n\nType: regular new style\nComment:\nAddress: 8NmCQLhTTk2P7XeFZrHe1SNv7CMEZVsZsKesnpu615wiotYpwDnTDE57pAGTTYM4yD8JThkeLpLLVeYoVuZMZxS5cp6GHaTn16eCBKpZfkK3jDMhPjUMPZpwBgmzpStvDQweLY9ALcXAh\nWallet ID: 135ae78e4b06622c535614494c6feda7de02376f9eb86bef4cd0be8d41a1af3419f\nIdentity: 988d4a755bf73bab7da13bf7aeed2d5b3a1f2a767e4d2267daeae61179f1107b\nActive: true\nExpires: 2021.05.28 22:25:47\nCreated: 2021.05.27 22:25:47\n\nType: regular old style\nComment:\nAddress: f6b11ccea8d22248f6eadbf94bd5741708ff3afbb727a47be9c2da509891047891\nWallet ID: f6b11ccea8d22248f6eadbf94bd5741708ff3afbb727a47be9c2da509891047891\nIdentity: ce3a1fac23e791642fe93d9f0f38a0644d549cf031f19a7cdbc5138a334f0e44\nActive: true\nExpires: 2021.07.27 22:24:42\nCreated: 2021.05.27 22:24:42\n\n",[611,4031,4029],{"__ignoreMap":14},[41,4033,4035],{"id":4034},"change-address-expiry-date","Change address expiry date",[34,4037,4038],{},"Beam wallets create a new wallet address for every transaction, It is possible however, to extend the expiration (24 hours) for an old address.",[48,4040,4042],{"id":4041},"extending-the-expiration-date-for-a-single-wallet-address","Extending the expiration date for a single wallet address",[34,4044,4045],{},"To extend your wallet address expiration date, enter the following command:",[616,4047,4050],{"className":4048,"code":4049,"language":621},[619],".\u002Fbeam-wallet change_address_expiration --address=14e191aaebace13b14e3ab41382280baff288faa312545eadd1a1bcfa3adaeac6ff\n",[611,4051,4049],{"__ignoreMap":14},[48,4053,4055],{"id":4054},"extending-the-expiration-for-all-addresses-in-your-beam-wallet","Extending the expiration for all addresses in your Beam wallet",[34,4057,4058,4059,4062],{},"To extend your wallets existing addresses, use the previous command, omitting the ",[611,4060,4061],{},"--address","tag.",[48,4064,4066],{"id":4065},"choosing-an-expiration-date","Choosing an expiration date",[34,4068,4069],{},"Wallet addresses provided users with three different expiration date options:",[852,4071,4072,4078,4084],{},[59,4073,4074,4077],{},[37,4075,4076],{},"Never",": address expiration date will never expire.",[59,4079,4080,4083],{},[37,4081,4082],{},"Auto",": wallet address expiration date will extend for an additional 24 hours before expiring.",[59,4085,4086,4089],{},[37,4087,4088],{},"Now",": the wallet address will be expire immediately and will no longer be usable.",[34,4091,4092],{},"Enter the following command:",[616,4094,4097],{"className":4095,"code":4096,"language":621},[619],".\u002Fbeam-wallet change_address_expiration --address=\u003Csbbs address> --expiration_time=(never|now|auto)\n",[611,4098,4096],{"__ignoreMap":14},[41,4100,4102],{"id":4101},"export-and-import-wallet-metadata","Export and import wallet metadata",[34,4104,4105,4106,4108],{},"If you have previously created a Beam wallet, you can recover your funds by restoring your wallet from your 12-word seed phrase. However, your wallet data (transaction history, contacts, addresses) is always stored locally onto your",[611,4107,3449],{},"file.",[48,4110,4112],{"id":4111},"exporting-wallet-metadata","Exporting wallet metadata",[34,4114,3565,4115,4117],{},[611,4116,3449],{},"file, enter the following command:",[616,4119,4122],{"className":4120,"code":4121,"language":621},[619],".\u002Fbeam-wallet export_data --file_location=\u003Cfull path to addresses file, for example: C:\\Users\\user\\addresses.dat>\n",[611,4123,4121],{"__ignoreMap":14},[48,4125,4127],{"id":4126},"importing-wallet-metada","Importing wallet metada",[34,4129,4130,4131,4117],{},"To import your",[611,4132,3449],{},[616,4134,4137],{"className":4135,"code":4136,"language":621},[619],".\u002Fbeam-wallet import_data --file_location=\u003Cfull path to addresses file, for example: C:\\Users\\user\\addresses.dat>\n",[611,4138,4136],{"__ignoreMap":14},[41,4140,4142],{"id":4141},"proof-of-transaction","Proof of transaction",[34,4144,4145,4146,4149],{},"Since",[611,4147,4148],{},"Beam 1.1.4194",", the Receiver wallet has automatically signed proof of received transaction before sending it to the Sender. Upon request, the sender can generate proof of transaction.",[34,4151,4152,4153,4156],{},"When Sending Beam coins, adding the",[611,4154,4155],{},"–payment_proof_required=1","tag will require the Receiver to send the payment proof to Sender.",[48,4158,4160],{"id":4159},"print-transactions-list","Print transactions list",[34,4162,4163,4164,4166],{},"Locate the",[611,4165,3703],{},". Enter the following command:",[616,4168,4170],{"className":4169,"code":3691,"language":621},[619],[611,4171,3691],{"__ignoreMap":14},[48,4173,4175],{"id":4174},"get-payment-proof","Get payment proof",[34,4177,3870,4178,3568],{},[611,4179,3703],{},[616,4181,4184],{"className":4182,"code":4183,"language":621},[619],".\u002Fbeam-wallet payment_proof_export --tx_id=\u003Ctxid>\n",[611,4185,4183],{"__ignoreMap":14},[34,4187,3580],{},[616,4189,4192],{"className":4190,"code":4191,"language":621},[619],"I 2019-01-14.14:40:37.464 Payment tx details:\nSender: 4bd0ca080bd8c3ec4b3061bf5916aa34266f0649a7c151c6777ffe492f15e09768\nReceiver: ebb27b5501213c84eb212ea276e8ced74f540fbcceb0f4c1c2da2c5108188651a1\nAmount: 6 groth\nKernelID: 4ac2f195ce9056c171fd0cd41e8a02dc9c0bb72861b2e03fbbbb5942e5e63d1a\n\nI 2019-01-14.14:40:37.465 Sender address own ID: 1547460707000004\nI 2019-01-14.14:40:37.465 Exported form: 000000000000004bd0ca080bd8c3ec4b3061bf5\n916aa34266f0649a7c151c6777ffe492f15e0976800000000000000ebb27b5501213c84eb212ea27\n6e8ced74f540fbcceb0f4c1c2da2c5108188651a1864ac2f195ce9056c171fd0cd41e8a02dc9c0bb\n72861b2e03fbbbb5942e5e63d1a7728a2954a10d3bfb9938f0c17509a6a0e870c6bb22ff2d1297f3\ndae7f54592b00e84c6b3c9ea3e3ad9bc43661b6dcf7dbd818ccc92707d1d75b429697e8492653\n",[611,4193,4191],{"__ignoreMap":14},[48,4195,4197],{"id":4196},"send-payment-proof","Send payment proof",[34,4199,4200,4201,4204],{},"Copy, paste and send the payment proof (",[611,4202,4203],{},"exported form",") to the Receiver.",[34,4206,4207],{},"The payment proof (from the above example) should resemble the following:",[616,4209,4212],{"className":4210,"code":4211,"language":621},[619],"I 2019-01-14.14:40:37.465 Exported form: 000000000000004bd0ca080bd8c3ec4b3061bf5\n916aa34266f0649a7c151c6777ffe492f15e0976800000000000000ebb27b5501213c84eb212ea27\n6e8ced74f540fbcceb0f4c1c2da2c5108188651a1864ac2f195ce9056c171fd0cd41e8a02dc9c0bb\n72861b2e03fbbbb5942e5e63d1a7728a2954a10d3bfb9938f0c17509a6a0e870c6bb22ff2d1297f3\ndae7f54592b00e84c6b3c9ea3e3ad9bc43661b6dcf7dbd818ccc92707d1d75b429697e8492653\n",[611,4213,4211],{"__ignoreMap":14},[48,4215,4217],{"id":4216},"verifying-the-payment-proof","Verifying the payment proof",[34,4219,4220],{},"The Receiver can verify the payment proof by entering the following command:",[616,4222,4225],{"className":4223,"code":4224,"language":621},[619],".\u002Fbeam-wallet payment_proof_verify --payment_proof=\u003Cproof>\n",[611,4226,4224],{"__ignoreMap":14},[41,4228,4230],{"id":4229},"rescan-wallet","Rescan wallet",[34,4232,4233,4234,4237],{},"Beam wallets regularly monitor the blockchain and sync new information with the wallet. If you suspect your balance, transaction, or UTXO status is not updated, the ",[611,4235,4236],{},"-wallet rescan"," command will sych your wallet with the blockchain's latest state.",[34,4239,4240],{},"In order to rescan the CLI wallet please follow the steps below:",[48,4242,4244,4245],{"id":4243},"run-the-node-with-your-owner-key","Run the node with your ",[37,4246,4247],{},"owner key",[34,4249,4250,4251,4254],{},"Running a node with your ",[175,4252,4247],{"href":4253},"broken-reference"," will verify if your wallet is synchornized with the network.",[34,4256,4257],{},"To run node with owner key, enter the following command:",[616,4259,4262],{"className":4260,"code":4261,"language":621},[619],".\u002Fbeam-node --peer=\u003Cip or url of the peer> --owner_key=\u003Cyour owner key>\n",[611,4263,4261],{"__ignoreMap":14},[48,4265,4267],{"id":4266},"rescan-the-blockchain","Rescan the blockchain",[34,4269,4270],{},"To rescan the blockchain, enter following command:",[616,4272,4275],{"className":4273,"code":4274,"language":621},[619],".\u002Fbeam-wallet rescan -n \u003Cip:port of the node with the owner key>\n",[611,4276,4274],{"__ignoreMap":14},[48,4278,4280],{"id":4279},"listen-for-updates","Listen for updates",[34,4282,4283,4284,3817],{},"To listen for any updates to the node, enter the",[611,4285,4286],{},"-wallet listen",[616,4288,4291],{"className":4289,"code":4290,"language":621},[619],".\u002Fbeam-wallet listen -n \u003Cip:port of the node with the owner key>\n",[611,4292,4290],{"__ignoreMap":14},[48,4294,4296],{"id":4295},"wait-for-synchronization","Wait for synchronization",[34,4298,4299,4300,3817],{},"After your wallet and node have syncronized, recheck your wallet balance, transaction histories by entering the",[611,4301,3541],{},[616,4303,4305],{"className":4304,"code":3546,"language":621},[619],[611,4306,3546],{"__ignoreMap":14},{"title":14,"searchDepth":15,"depth":15,"links":4308},[4309,4310,4311,4312,4316,4320,4324,4325,4329,4333,4339,4340,4345,4349,4355],{"id":3405,"depth":15,"text":3406},{"id":3420,"depth":15,"text":3421},{"id":3483,"depth":15,"text":3484},{"id":3551,"depth":15,"text":3552,"children":4313},[4314,4315],{"id":3555,"depth":154,"text":3556},{"id":3601,"depth":154,"text":3602},{"id":3654,"depth":15,"text":3655,"children":4317},[4318,4319],{"id":3679,"depth":154,"text":3680},{"id":3696,"depth":154,"text":3697},{"id":3713,"depth":15,"text":3714,"children":4321},[4322,4323],{"id":3717,"depth":154,"text":3718},{"id":3746,"depth":154,"text":3747},{"id":3765,"depth":15,"text":3766},{"id":3803,"depth":15,"text":3804,"children":4326},[4327,4328],{"id":3810,"depth":154,"text":3811},{"id":3825,"depth":154,"text":3826},{"id":3848,"depth":15,"text":3849,"children":4330},[4331,4332],{"id":3855,"depth":154,"text":3856},{"id":3882,"depth":154,"text":3883},{"id":3895,"depth":15,"text":3896,"children":4334},[4335,4336,4337,4338],{"id":3911,"depth":154,"text":3912},{"id":3935,"depth":154,"text":3936},{"id":3959,"depth":154,"text":3960},{"id":3986,"depth":154,"text":3987},{"id":4013,"depth":15,"text":4014},{"id":4034,"depth":15,"text":4035,"children":4341},[4342,4343,4344],{"id":4041,"depth":154,"text":4042},{"id":4054,"depth":154,"text":4055},{"id":4065,"depth":154,"text":4066},{"id":4101,"depth":15,"text":4102,"children":4346},[4347,4348],{"id":4111,"depth":154,"text":4112},{"id":4126,"depth":154,"text":4127},{"id":4141,"depth":15,"text":4142,"children":4350},[4351,4352,4353,4354],{"id":4159,"depth":154,"text":4160},{"id":4174,"depth":154,"text":4175},{"id":4196,"depth":154,"text":4197},{"id":4216,"depth":154,"text":4217},{"id":4229,"depth":15,"text":4230,"children":4356},[4357,4359,4360,4361],{"id":4243,"depth":154,"text":4358},"Run the node with your owner key",{"id":4266,"depth":154,"text":4267},{"id":4279,"depth":154,"text":4280},{"id":4295,"depth":154,"text":4296},"The official Beam command line reference guide!",{},"\u002Fdocs\u002Fcli\u002Freadme",{"title":3388,"description":4362},"docs\u002Fcli\u002FREADME","bRE8I42CEKCNQN39bsm_RC4UHC-TZPB6AIVwsoAu9iI",{"id":4369,"title":4370,"body":4371,"description":4881,"extension":17,"image":18,"meta":4882,"navTitle":18,"navigation":20,"path":4883,"seo":4884,"stem":4885,"__hash__":4886},"docs\u002Fdocs\u002Fcli\u002Fatomic-swaps-cli-user-guide.md","Atomic Swaps CLI User Guide",{"type":8,"value":4372,"toc":4865},[4373,4376,4379,4384,4389,4393,4409,4425,4429,4432,4436,4449,4452,4458,4462,4468,4472,4478,4482,4486,4495,4498,4504,4508,4514,4518,4524,4528,4531,4537,4542,4549,4559,4563,4569,4573,4579,4583,4586,4592,4599,4602,4608,4614,4620,4623,4629,4633,4636,4642,4660,4663,4666,4669,4673,4676,4680,4688,4691,4695,4701,4705,4711,4714,4717,4722,4725,4729,4735,4739,4745,4748,4750,4756,4760,4764,4773,4776,4782,4785,4791,4795,4797,4803,4808,4810,4816,4820,4825,4827,4833,4836,4839,4843,4857,4859,4862],[11,4374,4370],{"id":4375},"atomic-swaps-cli-user-guide",[34,4377,4378],{},"Atomic Swaps are a peer-to-peer marketplace built directly into your Beam wallet that allows users to swap Beam for another cryptocurrency. Trade your Beam for Bitcoin, Ehtereum, LiteCoin, DOGE, and more!",[34,4380,4381],{},[37,4382,4383],{},"Atomic Swaps is in beta.",[34,4385,4386],{},[37,4387,4388],{},"DO NOT USE THIS HIGHLY ADVANCED FEATURE FOR LARGE SUMS OF MONEY",[34,4390,4391],{},[37,4392,39],{},[34,4394,4395,4398,4407],{},[37,4396,4397],{},"For Bitcoin use version",[175,4399,4402],{"href":4400,"rel":4401},"https:\u002F\u002Fbitcoin.org\u002Fen\u002Fdownload",[179],[37,4403,4404],{},[611,4405,4406],{},"Bitcoin_core_v0.17.1",[37,4408,181],{},[34,4410,4411,4414,4423],{},[37,4412,4413],{},"For Litecoin use version",[175,4415,4418],{"href":4416,"rel":4417},"https:\u002F\u002Flitecoin.org\u002F#download",[179],[37,4419,4420],{},[611,4421,4422],{},"Litecoin_v0.17.1",[37,4424,181],{},[41,4426,4428],{"id":4427},"perform-an-atomic-swap-with-litecoin","Perform an Atomic Swap with LiteCoin",[34,4430,4431],{},"Using Alice and Bob as an example, we will go over how to perform an Atomic Swap of Alice's Beam for Bob's LiteCoin (LTC).",[48,4433,4435],{"id":4434},"run-a-full-ltc-node","Run a full LTC node",[34,4437,4438,4439,4442,4443,4448],{},"Bob and Alice must configure their LTC node to allow RPC access either through the command line or edit their",[611,4440,4441],{},"config","file according to the ",[175,4444,4447],{"href":4445,"rel":4446},"https:\u002F\u002Flitecoin.info\u002Findex.php\u002FLitecoin.conf",[179],"LTC documentation"," (for this example, we will use standard node and RPC ports).",[34,4450,4451],{},"Alice and Bob can run a full LTC node by entering the following command:",[616,4453,4456],{"className":4454,"code":4455,"language":621},[619]," .\u002Flitecoind -server -datadir=\"path_to_litecoin_wallet_data\" -rpcuser= -rpcpassword= -printtoconsole\n",[611,4457,4455],{"__ignoreMap":14},[1898,4459,4461],{"id":4460},"alices-ltc-node","Alice's LTC node",[616,4463,4466],{"className":4464,"code":4465,"language":621},[619],".\u002Flitecoind -server -datadir=\"Alice\u002Fpath_to_litecoin_wallet_data\" -rpcuser=Alice -rpcpassword=123 -printtoconsole\n",[611,4467,4465],{"__ignoreMap":14},[1898,4469,4471],{"id":4470},"bobs-ltc-node","Bob's LTC node",[616,4473,4476],{"className":4474,"code":4475,"language":621},[619]," .\u002Flitecoind -server -datadir=\"Bob\u002Fpath_to_litecoin_wallet_data\" -rpcuser=Bob -rpcpassword=123 -printtoconsole\n",[611,4477,4475],{"__ignoreMap":14},[1898,4479,4481],{"id":4480},"the-nodes-must-be-synced-to-the-current-blockchain-height-before-an-atomic-swap-can-occur","The nodes must be synced to the current blockchain height before an Atomic Swap can occur.",[48,4483,4485],{"id":4484},"run-a-full-beam-node","Run a full Beam node",[34,4487,4488,4489,4494],{},"Please refer to this ",[175,4490,4493],{"href":4491,"rel":4492},"https:\u002F\u002Fbeamx.gitbook.io\u002Fcli-guide\u002F#synching-with-a-specific-node",[179],"guide"," for setting up a full Beam node.",[34,4496,4497],{},"Users can check their LTC balance by entering the following command:",[616,4499,4502],{"className":4500,"code":4501,"language":621},[619],".\u002Flitecoin-cli -rpcuser= -rpcpassword= getbalance\n",[611,4503,4501],{"__ignoreMap":14},[1898,4505,4507],{"id":4506},"alices-ltc-balance","Alice's LTC balance",[616,4509,4512],{"className":4510,"code":4511,"language":621},[619]," .\u002Flitecoin-cli -rpcuser=Alice -rpcpassword=123 getbalance\n",[611,4513,4511],{"__ignoreMap":14},[1898,4515,4517],{"id":4516},"bobs-ltc-balance","Bob's LTC balance",[616,4519,4522],{"className":4520,"code":4521,"language":621},[619]," .\u002Flitecoin-cli -rpcuser=Bob -rpcpassword=123 getbalance\n",[611,4523,4521],{"__ignoreMap":14},[48,4525,4527],{"id":4526},"initialize-atomic-swap-settings","Initialize Atomic Swap settings",[34,4529,4530],{},"To configure the Atomic Swap settings, enter the following command:",[616,4532,4535],{"className":4533,"code":4534,"language":621},[619]," .\u002Fbeam-wallet set_swap_settings --swap_coin=ltc --swap_wallet_addr= --swap_wallet_user= --swap_wallet_pass= --swap_feerate=\u003CLitecoin fee rate(Photons\u002FKb)> --active_connection=core\n",[611,4536,4534],{"__ignoreMap":14},[34,4538,4539,181],{},[37,4540,4541],{},"Each cryptocurrency has its own transaction fees",[34,4543,4544,4545,4548],{},"Avoid transaction jamming or failure by double-checking the",[611,4546,4547],{},"--swap_feerate","for each currency before initiating an Atomic Swap.",[34,4550,4551,4552,4554,4555,4558],{},"LTC, for example, has a",[611,4553,4547],{},"per 1KB of transaction size. LiteCoin's",[611,4556,4557],{},"--swap_amount","is denominated in \"photons.\" 1 LTC = 1000000 photons, which is denominated in Beams while also offering fixed fee rates, regardless of transaction size.",[1898,4560,4562],{"id":4561},"configuring-swap-settings-for-alice","Configuring swap settings for Alice",[616,4564,4567],{"className":4565,"code":4566,"language":621},[619]," .\u002Fbeam-wallet set_swap_settings --swap_coin=ltc --swap_wallet_addr=127.0.0.1:13300 --swap_wallet_user=Alice --swap_wallet_pass=123 --swap_feerate=90000 --active_connection=core\n",[611,4568,4566],{"__ignoreMap":14},[1898,4570,4572],{"id":4571},"configuring-swap-settings-for-bob","Configuring swap settings for Bob",[616,4574,4577],{"className":4575,"code":4576,"language":621},[619]," .\u002Fbeam-wallet set_swap_settings --swap_coin=ltc --swap_wallet_addr=127.0.0.1:13400 --swap_wallet_user=Bob --swap_wallet_pass=123 --swap_feerate=90000 --active_connection=core\n",[611,4578,4576],{"__ignoreMap":14},[48,4580,4582],{"id":4581},"swapping-ltc-for-beam","Swapping LTC for Beam",[34,4584,4585],{},"Both parties can initiate the Atomic Swap by entering the following command:",[616,4587,4590],{"className":4588,"code":4589,"language":621},[619]," .\u002Fbeam-wallet swap_init -n  --amount= --swap_coin=ltc --swap_amount= --swap_beam_side\n",[611,4591,4589],{"__ignoreMap":14},[34,4593,4594,4595,4598],{},"The parameter",[611,4596,4597],{},"--swap_beam_side"," is used when the other party (Alice) swaps Beam for a different cryptocurrency.",[34,4600,4601],{},"Bob enters the following command:",[616,4603,4606],{"className":4604,"code":4605,"language":621},[619]," -.\u002Fbeam-wallet swap_init -n \"eu-node01.mainnet.beam.mw:8100\" --amount=10 --swap_coin=ltc --swap_amount=2000000000\n",[611,4607,4605],{"__ignoreMap":14},[34,4609,4610,4611,3817],{},"Bob must copy the swap token and forward it to Alice. After, Bob can enter the",[611,4612,4613],{},"--wallet_listen",[616,4615,4618],{"className":4616,"code":4617,"language":621},[619],".\u002Fbeam-wallet listen -n \"eu-node01.mainnet.beam.mw:8100\"\n",[611,4619,4617],{"__ignoreMap":14},[34,4621,4622],{},"Alice can accept the swap by entering the following command:",[616,4624,4627],{"className":4625,"code":4626,"language":621},[619]," .\u002Fbeam-wallet swap_accept -n \"eu-node01.mainnet.beam.mw:8100\" --swap_token=316sveQtJrhxzuBy2zJHTp8aHfPgdz2FycrR8n9fs5CbXqoq1Be4Z9qEPnz5HjxuBZgmQpxWd8Dy9icQYKVn1e23cP7x5FHcteyEXk11QQ6CQLQJ3ERk653xgzXnBNfiiX8Pw8acyuNqCHPsF699oiDkxgEAXtV5mrKmYWh1zW\n",[611,4628,4626],{"__ignoreMap":14},[48,4630,4632],{"id":4631},"accepting-swap-offer","Accepting swap offer",[34,4634,4635],{},"If Alice accepts the swap, it will create a swap transaction, and the LTC and Beam will lock on Bob's blockchain.",[34,4637,4638,4641],{},[37,4639,4640],{},"Each blockchain has its own block generation time",". Average block generation times (roughly):",[852,4643,4644,4650,4655],{},[59,4645,4646,4649],{},[37,4647,4648],{},"LiteCoin",": two and a half (2.5) minutes.",[59,4651,4652,4654],{},[37,4653,785],{},": one minute.",[59,4656,4657,4659],{},[37,4658,97],{},": ten minutes.",[34,4661,4662],{},"After six blocks, Bob will redeem Alice's Beam coins, revealing a secret transaction code and completing Bob's portion of the Atomic Swap. ‌",[34,4664,4665],{},"Alice will redeem Bob's LTCs using the secret transaction code revealed to her, completing the Atomic Swap.",[34,4667,4668],{},"Bob and Alice can return to their respective Beam and LTC wallets to confirm the details of the Atomic Swap.",[41,4670,4672],{"id":4671},"perform-an-atomic-swap-with-bitcoin","Perform an Atomic Swap with Bitcoin",[34,4674,4675],{},"Using Alice and Bob as an example, we will go over how to perform an Atomic Swap of Alice's Beam coins for Bob's Bitcoin (BTC).",[48,4677,4679],{"id":4678},"run-a-full-btc-node","Run a full BTC node",[34,4681,4682,4683,4448],{},"Bob and Alice must configure their BTC node to allow RPC access either through the command line or edit their config files according to the ",[175,4684,4687],{"href":4685,"rel":4686},"https:\u002F\u002Fen.bitcoin.it\u002Fwiki\u002FRunning_Bitcoin",[179],"BTC documentation",[34,4689,4690],{},"Alice and Bob can run a full BTC node by entering the following command:",[1898,4692,4694],{"id":4693},"alices-btc-node","Alice's BTC node",[616,4696,4699],{"className":4697,"code":4698,"language":621},[619],".\u002Fbitcoind -server -datadir=\"Alice\u002Fpath_to_litecoin_wallet_data\" -rpcuser=Alice -rpcpassword=123 -printtoconsole\n",[611,4700,4698],{"__ignoreMap":14},[1898,4702,4704],{"id":4703},"bobs-btc-node","Bob's BTC node",[616,4706,4709],{"className":4707,"code":4708,"language":621},[619],".\u002Fbitcoind -server -datadir=\"Bob\u002Fpath_to_litecoin_wallet_data\" -rpcuser=Bob -rpcpassword=123 -printtoconsole\n",[611,4710,4708],{"__ignoreMap":14},[1898,4712,4481],{"id":4713},"the-nodes-must-be-synced-to-the-current-blockchain-height-before-an-atomic-swap-can-occur-1",[48,4715,4485],{"id":4716},"run-a-full-beam-node-1",[34,4718,4488,4719,4494],{},[175,4720,4493],{"href":4491,"rel":4721},[179],[34,4723,4724],{},"Alice and Bob can check their BTC balance by entering the following command",[1898,4726,4728],{"id":4727},"alices-btc-balance","Alice's BTC balance",[616,4730,4733],{"className":4731,"code":4732,"language":621},[619],".\u002Fbitcoin-cli -rpcuser=Alice -rpcpassword=123 getbalance\n",[611,4734,4732],{"__ignoreMap":14},[1898,4736,4738],{"id":4737},"bobs-btc-balance","Bob's BTC balance",[616,4740,4743],{"className":4741,"code":4742,"language":621},[619],".\u002Fbitcoin-cli -rpcuser=Bob -rpcpassword=123 getbalance\n",[611,4744,4742],{"__ignoreMap":14},[48,4746,4527],{"id":4747},"initialize-atomic-swap-settings-1",[34,4749,4530],{},[616,4751,4754],{"className":4752,"code":4753,"language":621},[619],".\u002Fbeam-wallet set_swap_settings --swap_coin=btc --swap_wallet_addr= --swap_wallet_user= --swap_wallet_pass= --swap_feerate=\u003CBitcoin fee rate(Satoshs\u002FKb)> --active_connection=core\n",[611,4755,4753],{"__ignoreMap":14},[34,4757,4758,181],{},[37,4759,4541],{},[34,4761,4544,4762,4548],{},[611,4763,4547],{},[34,4765,4766,4767,4769,4770,4772],{},"BTC, for example, has a",[611,4768,4547],{},"per 1KB of transaction size. Bitcoin's",[611,4771,4557],{},"is denominated in \"satoshis.\" 1 BTC = 1000000 satoshis, compared to Beam, which is denominated in Beams while also offering fixed fee rates, regardless of transaction size.",[1898,4774,4562],{"id":4775},"configuring-swap-settings-for-alice-1",[616,4777,4780],{"className":4778,"code":4779,"language":621},[619],".\u002Fbeam-wallet set_swap_settings --swap_coin=btc --swap_wallet_addr=127.0.0.1:13300 --swap_wallet_user=Alice --swap_wallet_pass=123 --swap_feerate=90000 --active_connection=core\n",[611,4781,4779],{"__ignoreMap":14},[1898,4783,4572],{"id":4784},"configuring-swap-settings-for-bob-1",[616,4786,4789],{"className":4787,"code":4788,"language":621},[619],".\u002Fbeam-wallet set_swap_settings --swap_coin=ltc --swap_wallet_addr=127.0.0.1:13400 --swap_wallet_user=Bob --swap_wallet_pass=123 --swap_feerate=90000 --active_connection=core\n",[611,4790,4788],{"__ignoreMap":14},[48,4792,4794],{"id":4793},"swapping-btc-for-beam","Swapping BTC for Beam",[34,4796,4585],{},[616,4798,4801],{"className":4799,"code":4800,"language":621},[619],".\u002Fbeam-wallet swap_init -n  --amount= --swap_coin=btc --swap_amount= --swap_beam_side\n",[611,4802,4800],{"__ignoreMap":14},[34,4804,4594,4805,4807],{},[611,4806,4597],{},"is used when the other party (Alice) swaps Beam for a different cryptocurrency.",[34,4809,4601],{},[616,4811,4814],{"className":4812,"code":4813,"language":621},[619],".\u002Fbeam-wallet swap_init -n \"eu-node01.mainnet.beam.mw:8100\" --amount=10 --swap_coin=btc --swap_amount=100000000\n",[611,4815,4813],{"__ignoreMap":14},[34,4817,4610,4818,3817],{},[611,4819,4613],{},[616,4821,4823],{"className":4822,"code":4617,"language":621},[619],[611,4824,4617],{"__ignoreMap":14},[34,4826,4622],{},[616,4828,4831],{"className":4829,"code":4830,"language":621},[619]," .\u002Fbeam-wallet swap_accept -n \"eu-node01.mainnet.beam.mw:8100\" --swap_token=316w4oB5hCz2qeVNrtteAEZXhxxx2HBX8v1Ped1FhveJor5JbChz2xXGfi2LkKqVLu8kU4vEoZCV3UbmwoBZX2ABJzmbxLPxpCTVZr1oefwsJDzYU2BUXXDTf4VjtBJfsP3yrozPT4bz1ZTdDTzRS2yU3VYvnamuSRSfEPatha\n",[611,4832,4830],{"__ignoreMap":14},[48,4834,4632],{"id":4835},"accepting-swap-offer-1",[34,4837,4838],{},"If Alice accepts the swap, it will create a swap transaction, and the BTC and Beam will lock on Bob's blockchain.",[34,4840,4841,4641],{},[37,4842,4640],{},[852,4844,4845,4849,4853],{},[59,4846,4847,4649],{},[37,4848,4648],{},[59,4850,4851,4654],{},[37,4852,785],{},[59,4854,4855,4659],{},[37,4856,97],{},[34,4858,4662],{},[34,4860,4861],{},"Alice will redeem Bob's BTCs using the secret transaction code revealed to her, completing the Atomic Swap.",[34,4863,4864],{},"Bob and Alice can return to their respective Beam and BTC wallets to confirm the details of the Atomic Swap.",{"title":14,"searchDepth":15,"depth":15,"links":4866},[4867,4874],{"id":4427,"depth":15,"text":4428,"children":4868},[4869,4870,4871,4872,4873],{"id":4434,"depth":154,"text":4435},{"id":4484,"depth":154,"text":4485},{"id":4526,"depth":154,"text":4527},{"id":4581,"depth":154,"text":4582},{"id":4631,"depth":154,"text":4632},{"id":4671,"depth":15,"text":4672,"children":4875},[4876,4877,4878,4879,4880],{"id":4678,"depth":154,"text":4679},{"id":4716,"depth":154,"text":4485},{"id":4747,"depth":154,"text":4527},{"id":4793,"depth":154,"text":4794},{"id":4835,"depth":154,"text":4632},"The command line guide for Atomic Swaps, i.e., exchanging two different cryptocurrencies from separate blockchains in a trust-less and decentralized manner.",{},"\u002Fdocs\u002Fcli\u002Fatomic-swaps-cli-user-guide",{"title":4370,"description":4881},"docs\u002Fcli\u002Fatomic-swaps-cli-user-guide","zUuYCpquLSpHsRUS56T1Vv6KfnU9ph7H9MsTSjXGV3E",{"id":4888,"title":4889,"body":4890,"description":14,"extension":17,"image":18,"meta":4902,"navTitle":18,"navigation":20,"path":4903,"seo":4904,"stem":4905,"__hash__":4906},"docs\u002Fdocs\u002Fcli\u002Fbeam-wallet-cli-guide-over-tor-network.md","Beam Wallet CLI Guide Over TOR Network",{"type":8,"value":4891,"toc":4899},[4892,4895],[11,4893,4889],{"id":4894},"beam-wallet-cli-guide-over-tor-network",[41,4896,4898],{"id":4897},"coming-soon","Coming Soon...",{"title":14,"searchDepth":15,"depth":15,"links":4900},[4901],{"id":4897,"depth":15,"text":4898},{},"\u002Fdocs\u002Fcli\u002Fbeam-wallet-cli-guide-over-tor-network",{"title":4889,"description":14},"docs\u002Fcli\u002Fbeam-wallet-cli-guide-over-tor-network","dXw2vxN_4NjolPwSHfcUj6LGOQoa1x5ph8-kC4NJaks",{"id":4908,"title":4909,"body":4910,"description":14,"extension":17,"image":18,"meta":4920,"navTitle":18,"navigation":20,"path":4921,"seo":4922,"stem":4923,"__hash__":4924},"docs\u002Fdocs\u002Fcli\u002Fcli-logs.md","CLI Logs",{"type":8,"value":4911,"toc":4917},[4912,4915],[11,4913,4909],{"id":4914},"cli-logs",[41,4916,4898],{"id":4897},{"title":14,"searchDepth":15,"depth":15,"links":4918},[4919],{"id":4897,"depth":15,"text":4898},{},"\u002Fdocs\u002Fcli\u002Fcli-logs",{"title":4909,"description":14},"docs\u002Fcli\u002Fcli-logs","7ThmuipfBVHL-fQO6WhZpHEGlQ4zBmNDNnOiLpsS8fc",{"id":4926,"title":878,"body":4927,"description":4933,"extension":17,"image":18,"meta":5523,"navTitle":18,"navigation":20,"path":5524,"seo":5525,"stem":5526,"__hash__":5527},"docs\u002Fdocs\u002Fcli\u002Fconfidential-assets.md",{"type":8,"value":4928,"toc":5495},[4929,4931,4934,4937,4942,4989,4993,4997,5048,5051,5057,5060,5066,5070,5073,5079,5083,5086,5089,5095,5103,5109,5113,5120,5126,5132,5135,5141,5145,5148,5151,5154,5160,5165,5171,5174,5180,5186,5192,5195,5201,5205,5208,5211,5217,5221,5227,5230,5235,5241,5247,5250,5256,5260,5269,5272,5278,5281,5287,5290,5293,5299,5303,5306,5310,5316,5319,5325,5327,5333,5336,5338,5344,5348,5354,5357,5363,5365,5371,5374,5376,5382,5386,5389,5392,5398,5403,5409,5413,5419,5423,5429,5433,5439,5445,5448,5454,5457,5463,5466,5472,5476,5482,5486],[11,4930,878],{"id":877},[34,4932,4933],{},"Confidential Assets (known as \"Tokens\" in the Beam ecosystem) are new assets created on the Beam blockchain with native support via Beam nodes, wallets, and DAPPS. New tokens created on the Beam blockchain offer the same privacy and security as Beam coins",[34,4935,4936],{},"Use the command line to register a Confidential Asset.",[34,4938,4939],{},[37,4940,4941],{},"Warning",[56,4943,4944,4956,4981],{},[59,4945,4946,98,4949,98,4952,4955],{},[37,4947,4948],{},"Lock period",[37,4950,4951],{},"will limit several asset operations for 1440 blocks (24 hours).",[4953,4954],"br",{},"\nAn asset will \"lock\" when its total emission reaches or leaves 0. Lock periods prevent an asset owner from altering an asset during rollback, guaranteeing that a Receiver will receive the expected asset.",[59,4957,4958,181,4965,4967,4968,1475,4971,4976,4977,4980],{},[37,4959,4960,4961,4964],{},"All incoming asset transactions will return an",[611,4962,4963],{},"assetsDisabled (43)","error code if CA is not enabled",[4953,4966],{},"In the ",[175,4969,4970],{"href":4253},"CLI",[175,4972,4975],{"href":4973,"rel":4974},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API#assets-support",[179],"API",", specify the",[611,4978,4979],{},"--enable_assets","flag to perform any CA transactions.",[59,4982,4983,181,4986,4988],{},[37,4984,4985],{},"The fixed fee for asset registration is 3000 Beam",[4953,4987],{},"\nUsers must register all CAs on-chain Before before usage.",[41,4990,4992],{"id":4991},"register-a-confidential-asset","Register a Confidential Asset",[1898,4994,4996],{"id":4995},"mandatory-asset-meta-keys","Mandatory asset meta keys:",[4998,4999,5000,5013],"table",{},[5001,5002,5003],"thead",{},[5004,5005,5006,5010],"tr",{},[5007,5008,5009],"th",{},"Meta key",[5007,5011,5012],{},"Description",[5014,5015,5016,5024,5032,5040],"tbody",{},[5004,5017,5018,5021],{},[5019,5020,1353],"td",{},[5019,5022,5023],{},"Human-readable asset name.",[5004,5025,5026,5029],{},[5019,5027,5028],{},"SN",[5019,5030,5031],{},"Human-readable short name (asset code).",[5004,5033,5034,5037],{},[5019,5035,5036],{},"UN",[5019,5038,5039],{},"Human-readable asset unit name.",[5004,5041,5042,5045],{},[5019,5043,5044],{},"NTHUN",[5019,5046,5047],{},"Human-readable smallest asset unit name ($$nth-unit$$name).",[34,5049,5050],{},"To register a new asset, enter the following command:",[616,5052,5055],{"className":5053,"code":5054,"language":621},[619],".\u002Fbeam-wallet asset_reg -n \u003Cnode address and port> --asset_meta \u003Cmeta keys> –f \u003Cfee in Groth> --enable_assets \u003Cflag for assets>\n",[611,5056,5054],{"__ignoreMap":14},[34,5058,5059],{},"Enter the meta keys:",[616,5061,5064],{"className":5062,"code":5063,"language":621},[619],".\u002Fbeam-wallet asset_reg -n 127.0.0.1:10000 --asset_meta \"STD:N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth\" -f 100 --enable_assets\n",[611,5065,5063],{"__ignoreMap":14},[48,5067,5069],{"id":5068},"how-it-will-look-in-your-wallet-logs","How it will look in your wallet logs",[34,5071,5072],{},"The wallet log should resemble the following:",[616,5074,5077],{"className":5075,"code":5076,"language":621},[619],"  I 2020-06-05.11:43:19.757 [f1495c421611491d8432ccd03787e332] Asset with the owner ID 0bcb88af18ebec53 successfully registered\n  I 2020-06-05.11:43:19.758 [f1495c421611491d8432ccd03787e332][1] Get proof for asset with the owner ID: 0bcb88af18ebec53\n  I 2020-06-05.11:43:19.760 [f1495c421611491d8432ccd03787e332][1] Received proof for Asset with ID 8\n  I 2020-06-05.11:43:19.761 [f1495c421611491d8432ccd03787e332][1] Asset ID: 1\n  I 2020-06-05.11:43:19.761 [f1495c421611491d8432ccd03787e332][1] Owner ID: 0bcb88af18ebec53\n  I 2020-06-05.11:43:19.762 [f1495c421611491d8432ccd03787e332][1] Issued amount: 0 agroth\n  I 2020-06-05.11:43:19.762 [f1495c421611491d8432ccd03787e332][1] Lock Height: 41453\n  I 2020-06-05.11:43:19.763 [f1495c421611491d8432ccd03787e332][1] Refresh height: 41453\n  I 2020-06-05.11:43:19.763 [f1495c421611491d8432ccd03787e332][1] Metadata size: 70 bytes\n  I 2020-06-05.11:43:19.765 [f1495c421611491d8432ccd03787e332][1]  N=Beam Coin\n  I 2020-06-05.11:43:19.766 [f1495c421611491d8432ccd03787e332][1]  NTHUN=Groth\n  I 2020-06-05.11:43:19.767 [f1495c421611491d8432ccd03787e332][1]  SN=BEAM\n  I 2020-06-05.11:43:19.767 [f1495c421611491d8432ccd03787e332][1]  UN=Beam\n  I 2020-06-05.11:43:19.768 [f1495c421611491d8432ccd03787e332][1] You own this asset\n  D 2020-06-05.11:43:19.769 Async update started!\n  I 2020-06-05.11:43:19.770 [f1495c421611491d8432ccd03787e332] Transaction completed\n",[611,5078,5076],{"__ignoreMap":14},[41,5080,5082],{"id":5081},"unregister-an-asset","Unregister an Asset",[34,5084,5085],{},"The owner of a Confidential Asset can unregister the asset from the blockchain. Asset emission must be zero and not in a lock period. The owner will pay a regular transaction fee and receive their initial asset registration fee of 3000 Beam.",[34,5087,5088],{},"To unregister an asset, enter the following command:",[616,5090,5093],{"className":5091,"code":5092,"language":621},[619],".\u002Fbeam-wallet asset_unreg --asset_id \u003Cyour asset id> -n \u003Cnode address and port> –f \u003Cfee in Groth> --enable_assets \u003Cflag for assets>\n",[611,5094,5092],{"__ignoreMap":14},[34,5096,5097,5098,5102],{},"Enter your asset ",[175,5099,5101],{"href":5100},"confidential-assets#mandatory-asset-meta-keys","meta keys",":",[616,5104,5107],{"className":5105,"code":5106,"language":621},[619],".\u002Fbeam-wallet asset_unreg --asset_meta \u003Cmeta keys> -n \u003Cnode address and port> –f \u003Cfee in Groth>  --enable_assets \u003Cflag for assets>\n",[611,5108,5106],{"__ignoreMap":14},[48,5110,5112],{"id":5111},"how-it-looks-in-your-wallet-logs","How it looks in your wallet logs",[34,5114,5115,5116,5119],{},"Entering the",[611,5117,5118],{},"unreg --asset","command meta keys should resemble the following:",[616,5121,5124],{"className":5122,"code":5123,"language":621},[619],".\u002Fbeam-wallet asset_unreg --asset_id 1 -n 127.0.0.1:10000 –f 100 --enable_assets\n",[611,5125,5123],{"__ignoreMap":14},[616,5127,5130],{"className":5128,"code":5129,"language":621},[619],".\u002Fbeam-wallet asset_unreg --asset_meta \"STD:N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth\" -n 127.0.0.1:10000 –f 100 --enable_assets\n",[611,5131,5129],{"__ignoreMap":14},[34,5133,5134],{},"The wallet log output should be similar to following:",[616,5136,5139],{"className":5137,"code":5138,"language":621},[619],"  I 2020-06-05.11:41:44.289 [95baa65a1f7e4432a29d6cfc61f9e2ca] Unregistering asset with the owner id a04e59ab3bbd2f7a. Refund amount is 1000 beams saving 100 groth transaction fee\n  I 2020-06-05.11:41:44.290 [95baa65a1f7e4432a29d6cfc61f9e2ca][1] Get proof for asset with the owner ID: a04e59ab3bbd2f7a\n  I 2020-06-05.11:41:44.300 [95baa65a1f7e4432a29d6cfc61f9e2ca][1] Received proof for Asset with ID 8\n  I 2020-06-05.11:41:44.300 [95baa65a1f7e4432a29d6cfc61f9e2ca][1] Asset ID: 1\n  I 2020-06-05.11:41:44.301 [95baa65a1f7e4432a29d6cfc61f9e2ca][1] Owner ID: a04e59ab3bbd2f7a\n  I 2020-06-05.11:41:44.301 [95baa65a1f7e4432a29d6cfc61f9e2ca][1] Issued amount: 0 agroth\n  I 2020-06-05.11:41:44.302 [95baa65a1f7e4432a29d6cfc61f9e2ca][1] Lock Height: 41440\n  I 2020-06-05.11:41:44.302 [95baa65a1f7e4432a29d6cfc61f9e2ca][1] Refresh height: 41449\n  I 2020-06-05.11:41:44.302 [95baa65a1f7e4432a29d6cfc61f9e2ca][1] Metadata size: 29 bytes\n  I 2020-06-05.11:41:44.303 [95baa65a1f7e4432a29d6cfc61f9e2ca][1]  N=BEAM\n  I 2020-06-05.11:41:44.304 [95baa65a1f7e4432a29d6cfc61f9e2ca][1]  NTHUN=M\n  I 2020-06-05.11:41:44.304 [95baa65a1f7e4432a29d6cfc61f9e2ca][1]  SN=B\n  I 2020-06-05.11:41:44.304 [95baa65a1f7e4432a29d6cfc61f9e2ca][1]  UN=E\n  I 2020-06-05.11:41:44.305 [95baa65a1f7e4432a29d6cfc61f9e2ca][1] You own this asset\n  I 2020-06-05.11:41:44.309 [95baa65a1f7e4432a29d6cfc61f9e2ca] Creating BEAM coin:999 beams 99999900 groth, id fccf8897c24edd726e6f726d01000000000000174876e79c\n  I 2020-06-05.11:41:44.338 [95baa65a1f7e4432a29d6cfc61f9e2ca][1] Transaction created. Kernel: 5c670069f696afe8fc01109b7a31b262ca44135740246b81b120da5d6519f8b3, min height: 41449, max height: 41569\n  D 2020-06-05.11:41:44.344 [95baa65a1f7e4432a29d6cfc61f9e2ca][1] sending tx for registration\n  D 2020-06-05.11:41:44.346 Async update finished!\n  D 2020-06-05.11:41:44.354 [95baa65a1f7e4432a29d6cfc61f9e2ca][1] register status 1\n  D 2020-06-05.11:41:44.355 Async update started!\n  I 2020-06-05.11:41:44.356 [95baa65a1f7e4432a29d6cfc61f9e2ca][1] Get proof for kernel: 5c670069f696afe8\n  I 2020-06-05.11:42:43.531 CoinID: Key=norm-1:0:18216929203118333298, Value=99999999900 Maturity=41451 Confirmed, Height=41451\n  I 2020-06-05.11:42:43.536 [95baa65a1f7e4432a29d6cfc61f9e2ca] Transaction completed\n",[611,5140,5138],{"__ignoreMap":14},[41,5142,5144],{"id":5143},"issue-assets","Issue Assets",[34,5146,5147],{},"Maximum Asset emission is 2128-1 asset$$nth$$units. Maximum amount for a single issue transaction is 264-1 asset$$nth$$units.",[34,5149,5150],{},"New asset registration starts the total emission at zero. The owner must issue asset coins before performing transactions. Asset emissions are free, and the asset owner can mints coins as they deem necessary.",[34,5152,5153],{},"To issue an asset, enter following command:",[616,5155,5158],{"className":5156,"code":5157,"language":621},[619],".\u002Fbeam-wallet issue --asset_id \u003Cyour asset id> -n \u003Cnode address and port> -a \u003Camount in Beams> -f \u003Cfee in Groth> --enable_assets \u003Cflag for assets>\n",[611,5159,5157],{"__ignoreMap":14},[34,5161,5162,5163,5102],{},"Enter asset ",[175,5164,5101],{"href":5100},[616,5166,5169],{"className":5167,"code":5168,"language":621},[619],".\u002Fbeam-wallet issue --asset_meta \u003Cmeta keys> -n \u003Cnode address and port> -a \u003Camount in Beams> –f \u003Cfee in Groth> --enable_assets \u003Cflag for assets>\n",[611,5170,5168],{"__ignoreMap":14},[48,5172,5112],{"id":5173},"how-it-looks-in-your-wallet-logs-1",[34,5175,5115,5176,5179],{},[611,5177,5178],{},"issue --asset"," command and meta keys should resemble the following:",[616,5181,5184],{"className":5182,"code":5183,"language":621},[619],".\u002Fbeam-wallet issue --asset_id 1 -n 127.0.0.1:10000 -a 10 --fee 100 --enable_assets\n",[611,5185,5183],{"__ignoreMap":14},[616,5187,5190],{"className":5188,"code":5189,"language":621},[619],".\u002Fbeam-wallet issue --asset_meta \"STD:N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth\" -n 127.0.0.1:10000 -a 10 --f 100 --enable_assets\n",[611,5191,5189],{"__ignoreMap":14},[34,5193,5194],{},"The wallet log output should resemble the following:",[616,5196,5199],{"className":5197,"code":5198,"language":621},[619],"  I 2020-06-05.12:51:36.090 [c4ef8f97a8b54c29af48164f49a826f2] Generating asset with owner id 0bcb88af18ebec53. Amount: 10 ASSET\n  I 2020-06-05.12:51:36.092 [c4ef8f97a8b54c29af48164f49a826f2] Creating BEAM coin (change):98450 groth, id 576672717e6f73cd63686e67010000000000000000018092\n  I 2020-06-05.12:51:36.092 [c4ef8f97a8b54c29af48164f49a826f2] Creating ASSET coin:10 assets, asset id 8, id 0000000838c000f12e27ca8a6e6f726d01000000000000003b9aca00\n  I 2020-06-05.12:51:36.160 [c4ef8f97a8b54c29af48164f49a826f2][1] Transaction created. Kernel: b551842338c73a3184b7c15e335716b15cbc933ae7754e649e50087fc6b04f62, min height: 41523, max height: 41643\n  D 2020-06-05.12:51:36.176 [c4ef8f97a8b54c29af48164f49a826f2][1] sending tx for registration\n  I 2020-06-05.12:51:36.179 [176aab9fcb3843719adfaf834a5d8c58] Generating asset with owner id 0bcb88af18ebec53. Amount: 10 ASSET\n  I 2020-06-05.12:51:36.180 [176aab9fcb3843719adfaf834a5d8c58] Creating BEAM coin (change):186100 groth, id 30dd898c857eb7fa63686e6701000000000000000002d6f4\n  I 2020-06-05.12:51:36.181 [176aab9fcb3843719adfaf834a5d8c58] Creating ASSET coin:10 assets, asset id 8, id 00000008732454300f0c4ae66e6f726d01000000000000003b9aca00\n  I 2020-06-05.12:51:36.250 [176aab9fcb3843719adfaf834a5d8c58][1] Transaction created. Kernel: 2f1e6ba4c25d88405077e0d86d6feef9862bc052dec69d1141479107f76a3e93, min height: 41523, max height: 41643\n  D 2020-06-05.12:51:36.265 [176aab9fcb3843719adfaf834a5d8c58][1] sending tx for registration\n  D 2020-06-05.12:51:36.266 Async update finished!\n  D 2020-06-05.12:51:36.273 [c4ef8f97a8b54c29af48164f49a826f2][1] register status 1\n  D 2020-06-05.12:51:36.275 Async update started!\n  I 2020-06-05.12:51:36.276 [c4ef8f97a8b54c29af48164f49a826f2][1] Get proof for kernel: b551842338c73a31\n  D 2020-06-05.12:51:36.277 Async update finished!\n  D 2020-06-05.12:51:36.281 [176aab9fcb3843719adfaf834a5d8c58][1] register status 1\n",[611,5200,5198],{"__ignoreMap":14},[41,5202,5204],{"id":5203},"consume-assets","Consume Assets",[34,5206,5207],{},"The asset owner can consume (burn) asset coins but only if they also own the UTXOs in question.",[34,5209,5210],{},"To consume assets, etner the following command:",[616,5212,5215],{"className":5213,"code":5214,"language":621},[619],".\u002Fbeam-wallet consume --asset_id \u003Cyour asset id> -n \u003Cnode address and port> -a \u003Camount in Beams> -f \u003Cfee in Groth> --enable_assets \u003Cflag for assets>\n",[611,5216,5214],{"__ignoreMap":14},[34,5218,5162,5219,5102],{},[175,5220,5101],{"href":5100},[616,5222,5225],{"className":5223,"code":5224,"language":621},[619],".\u002Fbeam-wallet consume --asset_meta \u003Cmeta keys> -n \u003Cnode address and port> -a \u003Camount in Beams> –f \u003Cfee in Groth> --enable_assets \u003Cflag for assets>\n",[611,5226,5224],{"__ignoreMap":14},[48,5228,5112],{"id":5229},"how-it-looks-in-your-wallet-logs-2",[34,5231,5115,5232,5119],{},[611,5233,5234],{},"consume --asset",[616,5236,5239],{"className":5237,"code":5238,"language":621},[619],".\u002Fbeam-wallet consume --asset_id 1 -n 127.0.0.1:10000 -a 10 -f 100 --enable_assets\n",[611,5240,5238],{"__ignoreMap":14},[616,5242,5245],{"className":5243,"code":5244,"language":621},[619],".\u002Fbeam-wallet consume --asset_meta \"STD:N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth\" -n 127.0.0.1:10000 -a 10 -f 100 --enable_assets\n",[611,5246,5244],{"__ignoreMap":14},[34,5248,5249],{},"The wallet log should look similar to something like:",[616,5251,5254],{"className":5252,"code":5253,"language":621},[619],"[fa4a9b389df3452e8c00a2d81a283e3c] Consuming asset with owner id 0bcb88af18ebec53. Amount: 10 ASSET\n  I 2020-06-05.15:02:24.636 [fa4a9b389df3452e8c00a2d81a283e3c] Creating BEAM coin (change):98250 groth, id 268a699b3a2e1b4463686e67010000000000000000017fca\n  I 2020-06-05.15:02:24.667 [fa4a9b389df3452e8c00a2d81a283e3c][1] Transaction created. Kernel: 04d4127153f20d63c45ca2c0adb0e444f425068846e307e2e93ac34f645ef0fc, min height: 41663, max height: 41783\n  D 2020-06-05.15:02:24.673 [fa4a9b389df3452e8c00a2d81a283e3c][1] sending tx for registration\n  D 2020-06-05.15:02:24.674 Async update finished!\n  D 2020-06-05.15:02:24.685 [fa4a9b389df3452e8c00a2d81a283e3c][1] register status 1\n  D 2020-06-05.15:02:24.686 Async update started!\n  I 2020-06-05.15:04:11.825 [40a4bb961f1842fc8c013c766c3982c2] Transaction completed\n  I 2020-06-05.15:02:24.688 [fa4a9b389df3452e8c00a2d81a283e3c][1] Get proof for kernel: 04d4127153f20d63\n",[611,5255,5253],{"__ignoreMap":14},[41,5257,5259],{"id":5258},"send-an-asset","Send an Asset",[34,5261,5262,5263,1475,5266,5268],{},"To send a Confidential Asset, include the",[611,5264,5265],{},"--asset_id",[611,5267,4979],{}," flag.",[34,5270,5271],{},"To send an asset, enter the following command:",[616,5273,5276],{"className":5274,"code":5275,"language":621},[619],".\u002Fbeam-wallet -n \u003Cnode address and port> send -r \u003Caddress or token> --a \u003Camount> --asset_id \u003Cyour asset id or an existing asset>  –f \u003Cfee in Groth>  --enable_assets \u003Cflag for assets>\n",[611,5277,5275],{"__ignoreMap":14},[34,5279,5280],{},"The command with all necessary parameters should resemble the following:",[616,5282,5285],{"className":5283,"code":5284,"language":621},[619],".\u002Fbeam-wallet -n 127.0.0.1:10000 send -r 3a4ba5bab0a834cafa4201e74b44cbf6959794c9139e118bf7c70ab8e65f62886df -a 10 --asset_id 1 –f 100 --enable_assets\n",[611,5286,5284],{"__ignoreMap":14},[48,5288,5112],{"id":5289},"how-it-looks-in-your-wallet-logs-3",[34,5291,5292],{},"The wallet log output should be similar to the following:",[616,5294,5297],{"className":5295,"code":5296,"language":621},[619],"  I 2020-06-05.13:04:58.720 [60b40deb3f4e4792896f520f3eaa69bf] Sending 10 assets (fee: 100 groth), asset ID: 8\n  I 2020-06-05.13:04:58.720 [60b40deb3f4e4792896f520f3eaa69bf] Max height for response: 42257\n  4 [60b40deb3f4e4792896f520f3eaa69bf][1] Received PeerSig:       492b6ca53d539e17\n  D 2020-06-05.13:05:01.286 Async update finished!\n  D 2020-06-05.13:05:01.287 Async update started!\n  D 2020-06-05.13:05:01.287 [60b40deb3f4e4792896f520f3eaa69bf][1] Received PeerSig:       492b6ca53d539e17\n  I 2020-06-05.13:05:01.288 [60b40deb3f4e4792896f520f3eaa69bf][1] Transaction created. Kernel: ecc3b9fb2f44a6f6e76a4938a5f6e488e907c50ae5020e2919f4968887203359, min height: 41537, max height: 41657\n  D 2020-06-05.13:05:01.304 [60b40deb3f4e4792896f520f3eaa69bf][1] sending tx for registration\n  D 2020-06-05.13:05:01.305 Async update finished!\n  D 2020-06-05.13:05:01.315 [60b40deb3f4e4792896f520f3eaa69bf][1] register status 1\n  D 2020-06-05.13:05:01.316 Async update started!\n  I 2020-06-05.13:05:01.317 [60b40deb3f4e4792896f520f3eaa69bf][1] Get proof for kernel: ecc3b9fb2f44a6f6\n  I 2020-06-05.13:10:18.274 CoinID: Key=norm-1:0:4089269497513888394, Value=1000000000, AssetID=8 Maturity=41524 Spent, Height=41540\n  I 2020-06-05.13:10:18.275 CoinID: Key=chng-1:0:6297846960702321613, Value=98450 Maturity=41524 Spent, Height=41540\n  I 2020-06-05.13:10:18.277 CoinID: Key=chng-1:0:485144351240496243, Value=98350 Maturity=41540 Confirmed, Height=41540\n  I 2020-06-05.13:10:18.278 Synchronizing with node: 50% (1\u002F2)\n  I 2020-06-05.13:10:18.278 Synchronizing with node: 100% (2\u002F2)\n  I 2020-06-05.13:10:18.279 Current state is 41540-b61ecf2e24003159\n  D 2020-06-05.13:10:18.280 Async update started!\n  I 2020-06-05.13:10:18.281 [60b40deb3f4e4792896f520f3eaa69bf][1] Get proof for kernel: ecc3b9fb2f44a6f6\n  D 2020-06-05.13:10:18.282 Async update finished!\n  D 2020-06-05.13:10:18.283 Async update started!\n  I 2020-06-05.13:10:18.284 [60b40deb3f4e4792896f520f3eaa69bf] Transaction completed\n",[611,5298,5296],{"__ignoreMap":14},[34,5300,5301],{},[37,5302,4941],{},[34,5304,5305],{},"Maximum amount for a single send transaction is 264-1 asset nth units.",[41,5307,5309],{"id":5308},"receive-an-asset","Receive an Asset",[34,5311,5312,5313,5315],{},"To recieve an a Confidential Asset, include the",[611,5314,4979],{},"flag.",[34,5317,5318],{},"To receive an asset, enter the following command:",[616,5320,5323],{"className":5321,"code":5322,"language":621},[619],".\u002Fbeam-wallet listen -n \u003Cnode address and port>  --enable_assets \u003Cflag for assets>\n",[611,5324,5322],{"__ignoreMap":14},[34,5326,5280],{},[616,5328,5331],{"className":5329,"code":5330,"language":621},[619],".\u002Fbeam-wallet listen -n 127.0.0.1:10000 --enable_assets\n",[611,5332,5330],{"__ignoreMap":14},[48,5334,5112],{"id":5335},"how-it-looks-in-your-wallet-logs-4",[34,5337,5292],{},[616,5339,5342],{"className":5340,"code":5341,"language":621},[619],"  I 2020-06-05.13:05:00.544 [60b40deb3f4e4792896f520f3eaa69bf] Receiving 10 assets (fee: 100 groth), asset ID: 8\n  I 2020-06-05.13:05:00.585 [60b40deb3f4e4792896f520f3eaa69bf][1] Get proof for asset with id: 8\n  D 2020-06-05.13:05:00.586 Async update finished!\n  I 2020-06-05.13:05:00.587 [60b40deb3f4e4792896f520f3eaa69bf][1] Received proof for Asset with ID 8\n  I 2020-06-05.13:05:00.587 [60b40deb3f4e4792896f520f3eaa69bf][1] Asset ID: 1\n  I 2020-06-05.13:05:00.588 [60b40deb3f4e4792896f520f3eaa69bf][1] Owner ID: 0bcb88af18ebec53\n  I 2020-06-05.13:05:00.588 [60b40deb3f4e4792896f520f3eaa69bf][1] Issued amount: 20 assets\n  I 2020-06-05.13:05:00.588 [60b40deb3f4e4792896f520f3eaa69bf][1] Lock Height: 41524\n  I 2020-06-05.13:05:00.589 [60b40deb3f4e4792896f520f3eaa69bf][1] Refresh height: 41537\n  I 2020-06-05.13:05:00.589 [60b40deb3f4e4792896f520f3eaa69bf][1] Metadata size: 70 bytes\n  I 2020-06-05.13:05:00.592 [60b40deb3f4e4792896f520f3eaa69bf][1]  N=Beam Coin\n  I 2020-06-05.13:05:00.593 [60b40deb3f4e4792896f520f3eaa69bf][1]  NTHUN=Groth\n  I 2020-06-05.13:05:00.593 [60b40deb3f4e4792896f520f3eaa69bf][1]  SN=BEAM\n  I 2020-06-05.13:05:00.594 [60b40deb3f4e4792896f520f3eaa69bf][1]  UN=Beam\n  D 2020-06-05.13:05:00.594 Async update started!\n  I 2020-06-05.13:05:00.595 [60b40deb3f4e4792896f520f3eaa69bf] Transaction accepted. Kernel: ecc3b9fb2f44a6f6e76a4938a5f6e488e907c50ae5020e2919f4968887203359\n  I 2020-06-05.13:05:00.599 [60b40deb3f4e4792896f520f3eaa69bf][1] Get proof for kernel: ecc3b9fb2f44a6f6\n  D 2020-06-05.13:10:18.276 Async update started!\n  I 2020-06-05.13:10:18.277 [60b40deb3f4e4792896f520f3eaa69bf][1] Get proof for kernel: ecc3b9fb2f44a6f6\n  D 2020-06-05.13:10:18.278 Async update finished!\n  D 2020-06-05.13:10:18.279 Async update started!\n  I 2020-06-05.13:10:18.280 [60b40deb3f4e4792896f520f3eaa69bf] Transaction completed\n",[611,5343,5341],{"__ignoreMap":14},[41,5345,5347],{"id":5346},"asset-info","Asset info",[34,5349,3433,5350,5353],{},[611,5351,5352],{},"asset_info","command has no required fees.",[34,5355,5356],{},"To view information on an on-chain registered asset, enter the following command:",[616,5358,5361],{"className":5359,"code":5360,"language":621},[619],".\u002Fbeam-wallet asset_info -n \u003Cnode address and port> --asset_id \u003Cany asset registered>--enable_assets \u003Cflag  for assets>\n",[611,5362,5360],{"__ignoreMap":14},[34,5364,5280],{},[616,5366,5369],{"className":5367,"code":5368,"language":621},[619],".\u002Fbeam-wallet asset_info -n 127.0.0.1:10000 --asset_id 3 --enable_assets\n",[611,5370,5368],{"__ignoreMap":14},[48,5372,5112],{"id":5373},"how-it-looks-in-your-wallet-logs-5",[34,5375,5134],{},[616,5377,5380],{"className":5378,"code":5379,"language":621},[619],"  I 2020-06-05.13:48:55.144 [07c80437b7e54edb91ba6240c36759a4][1] Get proof for asset with id: 3\n  D 2020-06-05.13:48:55.144 Async update finished!\n  I 2020-06-05.13:48:55.152 Sync up to 41590-693edc94cd712258\n  I 2020-06-05.13:48:55.153 Synchronizing with node: 0% (0\u002F1)\n  I 2020-06-05.13:48:55.155 [07c80437b7e54edb91ba6240c36759a4][1] Received proof for Asset with ID 3\n  I 2020-06-05.13:48:55.156 [07c80437b7e54edb91ba6240c36759a4][1] Asset ID: 3\n  I 2020-06-05.13:48:55.156 [07c80437b7e54edb91ba6240c36759a4][1] Owner ID: 32de0a8f388d1243\n  I 2020-06-05.13:48:55.157 [07c80437b7e54edb91ba6240c36759a4][1] Issued amount: 1 assets 20000000 agroth\n  I 2020-06-05.13:48:55.158 [07c80437b7e54edb91ba6240c36759a4][1] Lock Height: 8714\n  I 2020-06-05.13:48:55.158 [07c80437b7e54edb91ba6240c36759a4][1] Refresh height: 41589\n  I 2020-06-05.13:48:55.159 [07c80437b7e54edb91ba6240c36759a4][1] Metadata size: 45 bytes\n  I 2020-06-05.13:48:55.160 [07c80437b7e54edb91ba6240c36759a4][1]  N=Assets-Beam\n  I 2020-06-05.13:48:55.160 [07c80437b7e54edb91ba6240c36759a4][1]  NTHUN=Groth\n  I 2020-06-05.13:48:55.161 [07c80437b7e54edb91ba6240c36759a4][1]  SN=ASB\n  I 2020-06-05.13:48:55.162 [07c80437b7e54edb91ba6240c36759a4][1]  UN=Beam\n",[611,5381,5379],{"__ignoreMap":14},[41,5383,5385],{"id":5384},"display-assets","Display Assets",[34,5387,5388],{},"By default, the CLI wallet doesn't display any information about assets you own or have.",[34,5390,5391],{},"To view assets info, assets UTXOs & assets transactions use the following commands:",[48,5393,5395],{"id":5394},"view-all-assets",[37,5396,5397],{},"View all assets",[1898,5399,5401],{"id":5400},"asset-info-1",[37,5402,5347],{},[616,5404,5407],{"className":5405,"code":5406,"language":621},[619],".\u002Fbeam-wallet info –assets\n",[611,5408,5406],{"__ignoreMap":14},[1898,5410,5412],{"id":5411},"asset-transaction-history","Asset transaction history",[616,5414,5417],{"className":5415,"code":5416,"language":621},[619],".\u002Fbeam-wallet info –assets –tx_history\n",[611,5418,5416],{"__ignoreMap":14},[1898,5420,5422],{"id":5421},"shielded-utxo-lelantus-asset-info","Shielded UTXO (Lelantus) asset info",[616,5424,5427],{"className":5425,"code":5426,"language":621},[619],".\u002Fbeam-wallet info –assets –shielded_utxos\n",[611,5428,5426],{"__ignoreMap":14},[1898,5430,5432],{"id":5431},"shielded-utxos-transaction-history","Shielded UTXOs transaction history",[616,5434,5437],{"className":5435,"code":5436,"language":621},[619],".\u002Fbeam-wallet info –assets –shielded_tx_history\n",[611,5438,5436],{"__ignoreMap":14},[48,5440,5442],{"id":5441},"view-a-specific-asset",[37,5443,5444],{},"View a specific asset",[1898,5446,5347],{"id":5447},"asset-info-2",[616,5449,5452],{"className":5450,"code":5451,"language":621},[619],".\u002Fbeam-wallet info –asset_id 1\n",[611,5453,5451],{"__ignoreMap":14},[1898,5455,5412],{"id":5456},"asset-transaction-history-1",[616,5458,5461],{"className":5459,"code":5460,"language":621},[619],".\u002Fbeam-wallet info –asset_id 1 –tx_history\n",[611,5462,5460],{"__ignoreMap":14},[1898,5464,5422],{"id":5465},"shielded-utxo-lelantus-asset-info-1",[616,5467,5470],{"className":5468,"code":5469,"language":621},[619],".\u002Fbeam-wallet info –asset_id 1 –shielded_utxos\n",[611,5471,5469],{"__ignoreMap":14},[1898,5473,5475],{"id":5474},"shielded-utxo-transaction-history","Shielded UTXO transaction history",[616,5477,5480],{"className":5478,"code":5479,"language":621},[619],".\u002Fbeam-wallet info –-asset_id 1 –shielded_tx_history\n",[611,5481,5479],{"__ignoreMap":14},[41,5483,5485],{"id":5484},"one-sides-payments-lelantus","One-sides payments (Lelantus)",[34,5487,5488,5489,5491,5492,5494],{},"LelantusMW shielded pool transactions fully support Confidential Assets. To insert or extract assets from the shielded pool, include the",[611,5490,5265],{},"and",[611,5493,4979],{},"flag when creating a transaction.",{"title":14,"searchDepth":15,"depth":15,"links":5496},[5497,5500,5503,5506,5509,5512,5515,5518,5522],{"id":4991,"depth":15,"text":4992,"children":5498},[5499],{"id":5068,"depth":154,"text":5069},{"id":5081,"depth":15,"text":5082,"children":5501},[5502],{"id":5111,"depth":154,"text":5112},{"id":5143,"depth":15,"text":5144,"children":5504},[5505],{"id":5173,"depth":154,"text":5112},{"id":5203,"depth":15,"text":5204,"children":5507},[5508],{"id":5229,"depth":154,"text":5112},{"id":5258,"depth":15,"text":5259,"children":5510},[5511],{"id":5289,"depth":154,"text":5112},{"id":5308,"depth":15,"text":5309,"children":5513},[5514],{"id":5335,"depth":154,"text":5112},{"id":5346,"depth":15,"text":5347,"children":5516},[5517],{"id":5373,"depth":154,"text":5112},{"id":5384,"depth":15,"text":5385,"children":5519},[5520,5521],{"id":5394,"depth":154,"text":5397},{"id":5441,"depth":154,"text":5444},{"id":5484,"depth":15,"text":5485},{},"\u002Fdocs\u002Fcli\u002Fconfidential-assets",{"title":878,"description":4933},"docs\u002Fcli\u002Fconfidential-assets","_qqz2Sy47gjQyFBl56ngle201b6O0GGJLAIm1qdUg_s",{"id":5529,"title":5530,"body":5531,"description":5863,"extension":17,"image":18,"meta":5864,"navTitle":18,"navigation":20,"path":5865,"seo":5866,"stem":5867,"__hash__":5868},"docs\u002Fdocs\u002Fcli\u002Flaser-beam-cli-user-guide.md","Laser Beam CLI User Guide",{"type":8,"value":5532,"toc":5844},[5533,5536,5539,5543,5551,5558,5562,5565,5568,5574,5577,5583,5590,5596,5603,5607,5613,5617,5623,5627,5633,5636,5642,5644,5647,5651,5658,5664,5668,5671,5677,5680,5683,5687,5693,5697,5703,5706,5710,5716,5720,5725,5729,5732,5738,5741,5747,5751,5754,5757,5761,5767,5773,5776,5782,5786,5789,5792,5798,5809,5814,5819,5823,5826,5832,5838],[11,5534,5530],{"id":5535},"laser-beam-cli-user-guide",[34,5537,5538],{},"To perform an instant transaction, both parties must submit Beam coins to an open Laser Channel. The coins will remain locked while the channel is open, only committing the channel's last state to the blockchain when Laser Channel is closed, thus, completing the payment.",[41,5540,5542],{"id":5541},"create-a-laser-channel","Create a Laser Channel",[34,5544,5545],{},[37,5546,3433,5547,5550],{},[611,5548,5549],{},"laser_fee","for both parties is 100 Groth's.",[34,5552,5553,5554,5557],{},"Both the Sender and Receiver must agree on the",[611,5555,5556],{},"locked_amount","to perform an instant payment.",[48,5559,5561],{"id":5560},"opening-a-laser-channel-between-two-wallets","Opening a Laser Channel between two wallets",[34,5563,5564],{},"Using Alice and Bob as an example, let's go over setting up a direct channel between two wallets.",[34,5566,5567],{},"To create a channel, Alice enters the following command:",[616,5569,5572],{"className":5570,"code":5571,"language":621},[619],"$ .\u002Fbeam-wallet laser --laser_receive --laser_my_locked_amount \u003Camount in beam> --laser_remote_locked_amount \u003Camount in beam> --laser_fee \u003Camount in groth>\n",[611,5573,5571],{"__ignoreMap":14},[34,5575,5576],{},"The output will generate a channel address that Alice can send to Bob, it should be similar to the following:",[616,5578,5581],{"className":5579,"code":5580,"language":621},[619],"I 2020-06-04.13:23:35.342 Beam Wallet\nI 2020-06-04.13:23:35.343 Rules signature: 0-5547a592195f4cd4, 10-2fdbbbb74ac57c55, 20-67131c58aa9a6b85\nEnter password: *\nI 2020-06-04.13:23:36.039 wallet sucessfully opened...\nI 2020-06-04.13:23:36.260 New address generated:\n\n333133cddf316e40f3352e9dae6bae568e97052c1b73531b263a695170658cd13e6\n",[611,5582,5580],{"__ignoreMap":14},[34,5584,5585,5586,5589],{},"Using the channel address he received from Alice, Bob will insert the channel address right after ",[611,5587,5588],{},"laser_address",", entering the following command:",[616,5591,5594],{"className":5592,"code":5593,"language":621},[619],"$ .\u002Fbeam-wallet laser --laser_open --laser_address \u003Caddress> --laser_my_locked_amount \u003Camount in beam> --laser_remote_locked_amount \u003Camount in beam> --laser_fee \u003Camount in groth>\n",[611,5595,5593],{"__ignoreMap":14},[34,5597,5598,5599,5602],{},"If Bob incorrectly entered the values previous command, then Alice will receive an “",[100,5600,5601],{},"Incoming connection with incorrect…","” message on her wallet.",[48,5604,5606],{"id":5605},"how-it-will-look-in-alices-wallet","How it will look in Alice's wallet",[616,5608,5611],{"className":5609,"code":5610,"language":621},[619],"$ .\u002Fbeam-wallet-masternet.exe laser --laser_receive --laser_my_locked_amount 1 --laser_remote_locked_amount 2 --laser_fee 100 -n 127.0.0.1:1000\n",[611,5612,5610],{"__ignoreMap":14},[1898,5614,5616],{"id":5615},"open-laser-channel","Open Laser Channel",[616,5618,5621],{"className":5619,"code":5620,"language":621},[619],"Laser Channels:\nchannel Id                        |aMy    |aTrg     |state     |fee       |valid till\n7a0f1a491fe95f3fe453a298dd62ba12  |1      |2        |Open      |0.000001  |55966\n",[611,5622,5620],{"__ignoreMap":14},[48,5624,5626],{"id":5625},"how-it-will-look-in-bobs-wallet","How it will look in Bob's wallet",[616,5628,5631],{"className":5629,"code":5630,"language":621},[619],"$ .\u002Fbeam-wallet laser --laser_open --laser_address 333133cddf316e40f3352e9dae6bae568e97052c1b73531b263a695170658cd13e6 --laser_my_locked_amount 2 --laser_remote_locked_amount 1 --laser_fee 100 -n 127.0.0.1:1000\n",[611,5632,5630],{"__ignoreMap":14},[1898,5634,5616],{"id":5635},"open-laser-channel-1",[616,5637,5640],{"className":5638,"code":5639,"language":621},[619],"Laser Channels:\nchannel Id                        |aMy    |aTrg     |state     |fee       |valid till\n7a0f1a491fe95f3fe453a298dd62ba12  |2      |1        |Open      |0.000001  |55966\n",[611,5641,5639],{"__ignoreMap":14},[41,5643,3766],{"id":3765},[34,5645,5646],{},"Now that Alice and Bob have established a Laser Channel between their wallets, they can send direct payments",[48,5648,5650],{"id":5649},"establish-laser-channel-connection","Establish Laser Channel connection",[34,5652,5653,5654,5657],{},"Using ",[611,5655,5656],{},"laser_listen",", Bob will confirm that the channel ID is open by entering the following command:",[616,5659,5662],{"className":5660,"code":5661,"language":621},[619],"$ .\u002Fbeam-wallet laser --laser_listen [channel id 1,channel id 2, ... channel id N]\n",[611,5663,5661],{"__ignoreMap":14},[48,5665,5667],{"id":5666},"send-a-direct-payment","Send a direct payment",[34,5669,5670],{},"To send her Beam coins to Bob, Alice will enter the following command:",[616,5672,5675],{"className":5673,"code":5674,"language":621},[619],"$ .\u002Fbeam-wallet-masternet laser --laser_send \u003Camount in beam> --laser_channel \u003Cchannel id>\n",[611,5676,5674],{"__ignoreMap":14},[34,5678,5679],{},"After sending the payment, Alice will receive a message about changing her channel balance.",[48,5681,5606],{"id":5682},"how-it-will-look-in-alices-wallet-1",[1898,5684,5686],{"id":5685},"sending-bob-beam-coins","Sending Bob Beam coins",[616,5688,5691],{"className":5689,"code":5690,"language":621},[619],"$ .\u002Fbeam-wallet laser --laser_send 0.2 --laser_channel 7a0f1a491fe95f3fe453a298dd62ba12 -n 127.0.0.1:1000\n",[611,5692,5690],{"__ignoreMap":14},[1898,5694,5696],{"id":5695},"payment-sent-and-changing-channel-balance","Payment Sent and changing channel balance",[616,5698,5701],{"className":5699,"code":5700,"language":621},[619],"D 2020-06-04.14:19:35.166 ### Bbs mesage out ###\nD 2020-06-04.14:19:35.166 Channel:7a0f1a491fe95f3fe453a298dd62ba12 state Open. Last Revision: 2. My balance: 220000000 \u002F Total balance: 300000000\nD 2020-06-04.14:19:35.167 Save channel: 7a0f1a491fe95f3fe453a298dd62ba12\nI 2020-06-04.14:19:35.200 Update finished: 7a0f1a491fe95f3fe453a298dd62ba12\nD 2020-06-04.14:19:35.487 OnMined() diff: 0\nD 2020-06-04.14:19:35.488 Receiver::OnComplete\n",[611,5702,5700],{"__ignoreMap":14},[48,5704,5626],{"id":5705},"how-it-will-look-in-bobs-wallet-1",[1898,5707,5709],{"id":5708},"verifying-channel-id","Verifying Channel ID",[616,5711,5714],{"className":5712,"code":5713,"language":621},[619],"$ .\u002Fbeam-wallet laser --laser_listen 7a0f1a491fe95f3fe453a298dd62ba12 -n 127.0.0.1:1000»\n",[611,5715,5713],{"__ignoreMap":14},[1898,5717,5719],{"id":5718},"payment-received","Payment received",[616,5721,5723],{"className":5722,"code":5700,"language":621},[619],[611,5724,5700],{"__ignoreMap":14},[41,5726,5728],{"id":5727},"view-open-laser-channels","View open Laser Channels",[34,5730,5731],{},"To print out a list of all open Laser Channels and channel details, enter the following command:",[616,5733,5736],{"className":5734,"code":5735,"language":621},[619],".\u002Fbeam-wallet laser --laser_channels_list \n",[611,5737,5735],{"__ignoreMap":14},[34,5739,5740],{},"The ouput should be similar to following:",[616,5742,5745],{"className":5743,"code":5744,"language":621},[619],"Laser Channels:\n\nchannel Id                        |aMy       |aT        |state     |fee       |valid till\n7a0f1a491fe95f3fe453a298dd62ba12  |2.2       |0.8       |Open      |0.000001  |57464\nb9236abe78ab5747ca955189df079d2b  |1.0000005 |1.0000005 |Closed    |0.000001  |0\n",[611,5746,5744],{"__ignoreMap":14},[41,5748,5750],{"id":5749},"closing-and-deleting-a-channel","Closing and deleting a Channel",[34,5752,5753],{},"While both users must be online when first creating a Laser Channel, users have multiple options for closing an open channel.",[34,5755,5756],{},"Continuing with our examples of Bob and Alice, we will go over closing a Laser Beam Channel.",[48,5758,5760],{"id":5759},"closing-a-channel-when-both-parties-online","Closing a channel when both parties online",[34,5762,5763,5764,5766],{},"Using",[611,5765,5656],{}," Bob will check the channel ID's current state. Bob enters the following command:",[616,5768,5771],{"className":5769,"code":5770,"language":621},[619],"$ .\u002Fbeam-wallet laser --laser_listen 7a0f1a491fe95f3fe453a298dd62ba12 -n 127.0.0.1:1000\n",[611,5772,5770],{"__ignoreMap":14},[34,5774,5775],{},"To close the channel, Alice will enter the following command:",[616,5777,5780],{"className":5778,"code":5779,"language":621},[619],"$ .\u002Fbeam-wallet laser --laser_close 7a0f1a491fe95f3fe453a298dd62ba12 -n 127.0.0.1:1000\n",[611,5781,5779],{"__ignoreMap":14},[48,5783,5785],{"id":5784},"closing-a-channel-when-only-one-party-is-online","Closing a channel when only one party is online",[34,5787,5788],{},"Bob and Alice have agreed to close the open Laser Beam Channel but Bob's internet connection can be unreliable, and is often offline fordays at a time.",[34,5790,5791],{},"Alice can close the open channel without Bob by entering following command:",[616,5793,5796],{"className":5794,"code":5795,"language":621},[619],"$ .\u002Fbeam-wallet laser --laser_drop 7a0f1a491fe95f3fe453a298dd62ba12 -n 127.0.0.1:1000\n",[611,5797,5795],{"__ignoreMap":14},[34,5799,5800],{},[37,5801,5802,5491,5805,5808],{},[611,5803,5804],{},"laser_close",[611,5806,5807],{},"laser_drop","commands only closes the connection between the two Beam wallets.",[34,5810,5811],{},[37,5812,5813],{},"Laser Beam Channels with \"Closed\" status are deletable after 24 hours or 1440 blocks.",[34,5815,5816,5102],{},[37,5817,5818],{},"Channels with \"Waiting\" or \"OpenFailed\" status are ready for immediate deletion. To delete the Laser Beam Channel, follow the steps below",[48,5820,5822],{"id":5821},"delete-closed-laser-beam-channel","Delete closed Laser Beam Channel",[34,5824,5825],{},"To delete a channel from your wallet database, enter the following command:",[616,5827,5830],{"className":5828,"code":5829,"language":621},[619]," .\u002Fbeam-wallet-masternet laser --laser_delete \u003Cchannel id 1,channel id 2, ... channel id N\n",[611,5831,5829],{"__ignoreMap":14},[34,5833,5834,5835,5837],{},"Alice deletes the Laser Beam Channel from her",[611,5836,3449],{},"file by entering:",[616,5839,5842],{"className":5840,"code":5841,"language":621},[619],"$ .\u002Fbeam-wallet laser --laser_delete 7a0f1a491fe95f3fe453a298dd62ba12 -n 127.0.0.1:1000\n",[611,5843,5841],{"__ignoreMap":14},{"title":14,"searchDepth":15,"depth":15,"links":5845},[5846,5851,5857,5858],{"id":5541,"depth":15,"text":5542,"children":5847},[5848,5849,5850],{"id":5560,"depth":154,"text":5561},{"id":5605,"depth":154,"text":5606},{"id":5625,"depth":154,"text":5626},{"id":3765,"depth":15,"text":3766,"children":5852},[5853,5854,5855,5856],{"id":5649,"depth":154,"text":5650},{"id":5666,"depth":154,"text":5667},{"id":5682,"depth":154,"text":5606},{"id":5705,"depth":154,"text":5626},{"id":5727,"depth":15,"text":5728},{"id":5749,"depth":15,"text":5750,"children":5859},[5860,5861,5862],{"id":5759,"depth":154,"text":5760},{"id":5784,"depth":154,"text":5785},{"id":5821,"depth":154,"text":5822},"Laser Beam is a direct link (or \"channel\") between two Beam wallets that allows instant payments. Laser Beam is not available on Desktop or Mobile wallets.",{},"\u002Fdocs\u002Fcli\u002Flaser-beam-cli-user-guide",{"title":5530,"description":5863},"docs\u002Fcli\u002Flaser-beam-cli-user-guide","eysBdK-FnvPcawqNgXQRF_b3_SxKm8pQWjaAM1IwbdE",{"id":5870,"title":5871,"body":5872,"description":14,"extension":17,"image":18,"meta":5882,"navTitle":18,"navigation":20,"path":5883,"seo":5884,"stem":5885,"__hash__":5886},"docs\u002Fdocs\u002Fcli\u002Frunning-beam-shaders-using-cli-wallet.md","Running Beam Shaders Using CLI Wallet",{"type":8,"value":5873,"toc":5879},[5874,5877],[11,5875,5871],{"id":5876},"running-beam-shaders-using-cli-wallet",[41,5878,4898],{"id":4897},{"title":14,"searchDepth":15,"depth":15,"links":5880},[5881],{"id":4897,"depth":15,"text":4898},{},"\u002Fdocs\u002Fcli\u002Frunning-beam-shaders-using-cli-wallet",{"title":5871,"description":14},"docs\u002Fcli\u002Frunning-beam-shaders-using-cli-wallet","s8D9oE8UhN9_GSjhB1rH8KaHTnHCEBZ1SpFj-zlAbzg",{"id":5888,"title":5889,"body":5890,"description":5970,"extension":17,"image":18,"meta":5971,"navTitle":18,"navigation":20,"path":5972,"seo":5973,"stem":5974,"__hash__":5975},"docs\u002Fdocs\u002Fcli\u002Ftroubleshooting-cli.md","Troubleshooting CLI",{"type":8,"value":5891,"toc":5962},[5892,5895,5899,5921,5926,5929,5935,5944,5949,5951,5957],[11,5893,5889],{"id":5894},"troubleshooting-cli",[41,5896,5898],{"id":5897},"topics","Topics",[852,5900,5901,5911],{},[59,5902,5903,181],{},[175,5904,5906,5907,5910],{"href":5905},"troubleshooting-cli#i-am-gettingerror-code-26-file-is-not-a-databaseerror-message-when-starting-the-command-line-wallet","I am getting",[611,5908,5909],{},"error code=26, file is not a database","error message when starting the command line wallet",[59,5912,5913,181],{},[175,5914,5916,5917,5920],{"href":5915},"troubleshooting-cli#i-am-getting-thefailed-no-inputsexception-when-starting-the-command-line-wallet","I am getting the",[611,5918,5919],{},"Failed. No inputs","exception when starting the command line wallet",[48,5922,5906,5924,5910],{"id":5923},"i-am-gettingerror-code26-file-is-not-a-databaseerror-message-when-starting-the-command-line-wallet",[611,5925,5909],{},[34,5927,5928],{},"Refer to your computer terminal:",[616,5930,5933],{"className":5931,"code":5932,"language":621},[619],"I 2018-12-23.17:32:34.619 Rules signature: ddccf5d8d0f77bd2\nI 2018-12-23.17:32:34.620 starting a wallet...\nEnter password: ***\nD 2018-12-23.17:32:36.664 sqlite error code=26, file is not a database\nE 2018-12-23.17:32:36.665 Wallet data unreadable, restore wallet.db from latest backup or delete it and reinitialize the wallet\n",[611,5934,5932],{"__ignoreMap":14},[34,5936,5937,5940,5941,181],{},[37,5938,5939],{},"Diagnosis",": You have submitted an incorrect password. The wallet can not decrypt the database file, which is why it reports that data is unreadable. ",[37,5942,5943],{},"If you are certain you are using the correct wallet password, delete the wallet database and perform a wallet restoration from your seed phrase",[48,5945,5916,5947,5920],{"id":5946},"i-am-getting-thefailed-no-inputsexception-when-starting-the-command-line-wallet",[611,5948,5919],{},[34,5950,5928],{},[616,5952,5955],{"className":5953,"code":5954,"language":621},[619],"I 2018-12-23.17:45:12.529 Rules signature: ddccf5d8d0f77bd2\nI 2018-12-23.17:45:12.530 starting a wallet...\nEnter password: *\nI 2018-12-23.17:45:13.226 wallet sucessfully opened...\nI 2018-12-23.17:45:13.228 WalletID 14a38140d8e66be9b8f1e8d770161fd33e35f7000053147b5a0f6a83178926b956 subscribes to BBS channel 20\nI 2018-12-23.17:45:13.271 [9edc454f2752461eb682f21c4efbd33e] Sending 10 beams  (fee: 0 groth )\nE 2018-12-23.17:45:13.272 You only have 0 groth\nE 2018-12-23.17:45:13.273 [9edc454f2752461eb682f21c4efbd33e] exception msg:\nE 2018-12-23.17:45:13.273 [9edc454f2752461eb682f21c4efbd33e] Failed. No inputs\nI 2018-12-23.17:45:13.293 [9edc454f2752461eb682f21c4efbd33e] Transaction failed. Rollback...\n",[611,5956,5954],{"__ignoreMap":14},[34,5958,5959,5961],{},[37,5960,5939],{},": This error most commonly occurs when sending a transaction with insufficient funds. You can not send an amount of Beam that is greater than the total balance in your wallet.",{"title":14,"searchDepth":15,"depth":15,"links":5963},[5964],{"id":5897,"depth":15,"text":5898,"children":5965},[5966,5968],{"id":5923,"depth":154,"text":5967},"I am gettingerror code=26, file is not a databaseerror message when starting the command line wallet",{"id":5946,"depth":154,"text":5969},"I am getting theFailed. No inputsexception when starting the command line wallet","The command line troubleshooting guide.",{},"\u002Fdocs\u002Fcli\u002Ftroubleshooting-cli",{"title":5889,"description":5970},"docs\u002Fcli\u002Ftroubleshooting-cli","m0YMfeGRl0SQpoxyL21t1TzeeF2FKkZbhwC4R5LRVI4",{"id":5977,"title":5978,"body":5979,"description":14,"extension":17,"image":18,"meta":6808,"navTitle":18,"navigation":20,"path":6809,"seo":6810,"stem":6811,"__hash__":6812},"docs\u002Fdocs\u002Fcli\u002Fusing-beamx-faucet-contract-with-cli-wallet.md","Using Beam smart contracts with CLI Wallet",{"type":8,"value":5980,"toc":6782},[5981,5984,5987,5995,6003,6006,6009,6013,6024,6032,6035,6040,6051,6056,6077,6080,6097,6103,6109,6116,6119,6125,6131,6135,6156,6163,6169,6173,6180,6206,6219,6223,6229,6235,6249,6258,6261,6281,6284,6288,6291,6297,6303,6306,6312,6318,6324,6330,6336,6348,6352,6355,6364,6367,6373,6379,6388,6392,6395,6398,6401,6404,6412,6415,6421,6427,6430,6436,6459,6496,6500,6505,6508,6514,6517,6523,6527,6533,6539,6545,6551,6605,6609,6619,6622,6628,6634,6638,6641,6647,6653,6659,6680,6686,6692,6698,6704,6706,6712,6715,6721,6727,6730],[11,5982,5978],{"id":5983},"using-beam-smart-contracts-with-cli-wallet",[41,5985,5986],{"id":3405},"Getting Started",[34,5988,5989,5990,5994],{},"Beam compatible binaries are available for ",[175,5991,5993],{"href":5992},"\u002Fdownloads\u002Fmainnet-mac","all platforms"," on our main website.",[34,5996,5997,5998,6002],{},"Advanced users that wish to build Beam directly from our source code can see this ",[175,5999,4493],{"href":6000,"rel":6001},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FHow-to-build",[179]," for a more detailed run down.",[34,6004,6005],{},"We strongly recommend for all users, casual and hardcore, that you download the node, CLI wallet in addition to the Desktop wallet. The application for smart contracts is in its infancy, with many unique and helpful smart contracts lacking a graphical interface, meaning they are only available through the Command-Line.",[34,6007,6008],{},"Building out your node and operating the CLI wallet will keep you at the forefront of all the latest and coolest features that Beam has to offer. It is a simple process that only takes a minute.",[41,6010,6012],{"id":6011},"getting-the-shaders","Getting the Shaders",[34,6014,6015,6016,6019,6020,6023],{},"Beam Smart Contracts deploy via an application called ",[37,6017,6018],{},"Beam Shaders",". Beam Shaders are small (or not so small) programs compatible with several different programming languages before being compiled as a ",[611,6021,6022],{},".wasm"," file since Beam Virtual Machine (BVM) runs on WebAssembly.",[34,6025,6026,6027,181],{},"No coding experience is necessary; several Beam Shader applications are ready and available to ",[175,6028,6031],{"href":6029,"rel":6030},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmainnet\u002Fbvm\u002FShaders",[179],"download",[34,6033,6034],{},"Select from the list of Beam Shader apps and get into some 'shady business!'",[34,6036,6037],{},[241,6038],{"alt":14,"src":6039},".gitbook\u002Fassets\u002FScreen%20Shot%202021-10-26%20at%2012.43.27%20PM.png",[34,6041,6042,6043,6046,6047,6050],{},"As seen from the above example, there are several app folders, i.e., '",[611,6044,6045],{},"Faucet",",' '",[611,6048,6049],{},"Dao-core",",' and inside each folder will be a list of files that will resemble the following:",[34,6052,6053],{},[241,6054],{"alt":14,"src":6055},".gitbook\u002Fassets\u002FScreen%20Shot%202021-10-26%20at%2012.39.50%20PM.png",[34,6057,6058,6059,6062,6063,6066,6067,6070,6071,6073,6074,181],{},"The reason for that is that each application comes in two parts. The first is the contract deployed to the blockchain (",[611,6060,6061],{},"contract.wasm",") and the second allows the wallet to interact with the contract (",[611,6064,6065],{},"app.wasm","). We suggest creating a ",[611,6068,6069],{},"shaders"," folder inside the ",[611,6072,784],{}," folder with the subfolder with specific apps like ",[611,6075,6076],{},"faucet",[34,6078,6079],{},"Now let's see how we can run some apps!",[852,6081,6082,6089],{},[59,6083,6084],{},[175,6085,6087],{"href":6086},"using-beamx-faucet-contract-with-cli-wallet#faucet-contract",[611,6088,6045],{},[59,6090,6091],{},[175,6092,6094],{"href":6093},"using-beamx-faucet-contract-with-cli-wallet#beamx-dao-contract",[611,6095,6096],{},"BeamX DAO",[41,6098,6100,6102],{"id":6099},"faucet-contract",[611,6101,6045],{}," contract",[34,6104,6105,6106,6108],{},"The Beam ",[611,6107,6045],{}," contract allows users to withdraw or deposit small amounts of Beam coins.",[48,6110,6112,6113,6115],{"id":6111},"all-faucet-contract-commands","All ",[611,6114,6045],{}," contract commands",[34,6117,6118],{},"To view all the available contract commands, enter this command:",[616,6120,6123],{"className":6121,"code":6122,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file shaders\u002Ffaucet\u002Fapp.wasm -n 127.0.0.1:8501\n",[611,6124,6122],{"__ignoreMap":14},[616,6126,6129],{"className":6127,"code":6128,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file shaders\u002Ffaucet\u002Fapp.wasm -n 127.0.0.1:8501\n\nI 2021-10-19.16:16:18.853 Beam Wallet 6.1.12023 (mainnet)\nI 2021-10-19.16:16:18.854 Rules signature: 0-ed91a717313c6eb0, 321321-6d622e615cfd29d0, 777777-1ce8f721bf0c9fa7, 1280000-3eaab6ab65b65f94\nI 2021-10-19.16:16:18.854 starting a wallet...\nI 2021-10-19.16:16:19.093 wallet successfully opened...\nExecuting shader...\nShader output: {\"roles\": {\"manager\": \n{\"create\": {\"backlogPeriod\": \"Height\",\"withdrawLimit\": \"Amount\"},\n\"destroy\": {\"cid\": \"ContractID\"},\"view\": {},\"view_params\": {\"cid\": \"ContractID\"},\n\"view_funds\": {\"cid\": \"ContractID\"},\"view_accounts\": {\"cid\": \"ContractID\"},\n\"view_account\": {\"cid\": \"ContractID\",\"pubKey\": \"PubKey\"}},\n\"my_account\": {\"view\": {\"cid\": \"ContractID\"},\n\"deposit\": {\"cid\": \"ContractID\",\"amount\": \"Amount\",\"aid\": \"AssetID\"},\n\"withdraw\": {\"cid\": \"ContractID\",\"amount\": \"Amount\",\"aid\": \"AssetID\"}}}}\n",[611,6130,6128],{"__ignoreMap":14},[48,6132,6134],{"id":6133},"view-contract","View contract",[34,6136,6137,6138,6144,6145,6147,6148,6150,6151,1475,6153,6155],{},"Be sure you have the latest version of ",[175,6139,6142],{"href":6140,"rel":6141},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmainnet\u002Fbvm\u002FShaders\u002Ffaucet",[179],[611,6143,6045],{}," inside your ",[611,6146,6069],{}," folder as instructed. The ",[611,6149,6065],{}," file uses ",[611,6152,6045],{},[611,6154,6061],{}," interacts with the blockchain.",[34,6157,6158,6159,6162],{},"We will use the Beam Faucet contract to retrieve the contract",[611,6160,6161],{},"CID","from the blockchain for this example.",[34,6164,6165,6166,6168],{},"The Command Line instructions for",[611,6167,6045],{},"are compatible with macOS (Terminal Window), Linux (Shell), and Windows (Command Prompt) but for the example below, we will use Terminal Window commands.",[1898,6170,6172],{"id":6171},"retrieving-the-faucet-contract","Retrieving the Faucet contract",[34,6174,6175,6176,6179],{},"We assume that your node is running on a local machine at ",[611,6177,6178],{},"port 8501",". If your parameters differ from any of the instructions, please adjust them accordingly.",[56,6181,6182,6191],{},[59,6183,6184,6185],{},"Launch a Terminal Window and change the directory to your Beam CLI wallet by entering the following command:",[616,6186,6189],{"className":6187,"code":6188,"language":621},[619],"cd \u002Fwallet_folder\n",[611,6190,6188],{"__ignoreMap":14},[59,6192,6193,6194,6200],{},"Assuming you followed the proper subfolder hierarchy for Faucet, enter the following command:",[616,6195,6198],{"className":6196,"code":6197,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file shaders\u002Ffaucet\u002Fapp.wasm -n 127.0.0.1:8501 --shader_args=\"role=manager,action=view\"\n",[611,6199,6197],{"__ignoreMap":14},[616,6201,6204],{"className":6202,"code":6203,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file shaders\u002Ffaucet\u002Fapp.wasm -n 127.0.0.1:8501 --shader_args=\"role=manager,action=view\"\n\nI 2021-10-19.16:16:18.853 Beam Wallet 6.1.12023 (mainnet)\nI 2021-10-19.16:16:18.854 Rules signature: 0-ed91a717313c6eb0, 321321-6d622e615cfd29d0, 777777-1ce8f721bf0c9fa7, 1280000-3eaab6ab65b65f94\nI 2021-10-19.16:16:18.854 starting a wallet...\nI 2021-10-19.16:16:19.093 wallet successfully opened...\nExecuting shader...\nI 2021-10-19.16:34:07.670 Tip has not been changed\nI 2021-10-19.16:34:07.674 Current state is 1463705-3c732eee8cdb116f\nShader output: {\"contracts\": \n[{\"cid\": \"3fdd4171972875e0ac8f0131b3da047e8323cc9c2c8d53327be427c455d2a716\",\n\"Height\": 1280003}]}\n",[611,6205,6203],{"__ignoreMap":14},[34,6207,6208,6209,6212,6213,6215,6216,6218],{},"This command will result in a list of Contract ",[611,6210,6211],{},"IDs"," from shaders of faucet types currently deployed on the network. It is possible for more than one shader because the Application Shader (",[611,6214,6065],{},") can interact with several different Contract Shaders (",[611,6217,6061],{},") of the same type.",[48,6220,6222],{"id":6221},"withdraw-beams-from-contract","Withdraw Beams from contract",[34,6224,6225,6226,6228],{},"To withdraw 0.05 Beams from the",[611,6227,6045],{},"contract, enter the following command:",[616,6230,6233],{"className":6231,"code":6232,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file shaders\\faucet\\app.wasm --shader_args=\"role=my_account,action=withdraw,cid=3fdd4171972875e0ac8f0131b3da047e8323cc9c2c8d53327be427c455d2a716,amount=6100000\" -n 127.0.0.1:8501\n",[611,6234,6232],{"__ignoreMap":14},[34,6236,6237,6238,6240,6241,6244,6245,181],{},"You can replace the",[611,6239,6161],{},"parameter with a different contract ",[611,6242,6243],{},"ID"," that you received in the previous ",[175,6246,6248],{"href":6247},"using-beamx-faucet-contract-with-cli-wallet#view-contract","steps",[34,6250,6251,6257],{},[37,6252,6253,6254,6256],{},"A transaction fee of 0.011 Beams automatically subtracts from the",[611,6255,6045],{},"contract withdrawal",". In total, the action draws 0.061 Beams + the transaction fee, leaving the user with 0.05 Beams.",[34,6259,6260],{},"This operation can result in several different outcomes:",[852,6262,6263,6269,6276],{},[59,6264,6265,6266,6268],{},"Each contract",[611,6267,6045],{},"limits the amount of Beam coins you can withdraw within a given timeframe. These 'constructor parameters' of the shader specify that you should receive the Beams you have requested when you are under that limit.",[59,6270,6271,6272,6275],{},"If you exceed this limit, you will receive nothing or a",[611,6273,6274],{},"Magical Error 17",", depending on the contract implementation.",[59,6277,6278,6280],{},[611,6279,6274],{},"can also appear for a different glitch within the contract.",[34,6282,6283],{},"But how do I know what are the contract parameters?",[48,6285,6287],{"id":6286},"contract-parameters","Contract parameters",[34,6289,6290],{},"To view all available contract parameters, enter the following:",[616,6292,6295],{"className":6293,"code":6294,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file shaders\\faucet\\app.wasm --shader_args=\"role=manager,action=view_params,cid=3fdd4171972875e0ac8f0131b3da047e8323cc9c2c8d53327be427c455d2a716\" -n 127.0.0.1:8501\n",[611,6296,6294],{"__ignoreMap":14},[616,6298,6301],{"className":6299,"code":6300,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file shaders\\faucet\\app.wasm --shader_args=\"role=manager,action=view_params,cid=3fdd4171972875e0ac8f0131b3da047e8323cc9c2c8d53327be427c455d2a716\" -n 127.0.0.1:8501\nI 2021-10-19.17:06:35.384 Beam Wallet 6.1.12023 (mainnet)\nI 2021-10-19.17:06:35.385 Rules signature: 0-ed91a717313c6eb0, 321321-6d622e615cfd29d0, 777777-1ce8f721bf0c9fa7, 1280000-3eaab6ab65b65f94\nI 2021-10-19.17:06:35.386 starting a wallet...\nI 2021-10-19.17:06:35.744 wallet successfully opened...\nExecuting shader...\nShader output: {\"params\": {\"backlogPeriod\": 1440,\"withdrawLimit\": 6100000}}\n",[611,6302,6300],{"__ignoreMap":14},[34,6304,6305],{},"The shader output should resemble the following:",[616,6307,6310],{"className":6308,"code":6309,"language":621},[619],"\"\": {\"params\": {\"backlogPeriod\": 1440,\"withdrawLimit\": 6100000}}\n",[611,6311,6309],{"__ignoreMap":14},[34,6313,6314,6315,181],{},"The above output means you can extract up to 0.061 Beam every 1440 blocks from this ",[611,6316,6317],{},"Facuet",[48,6319,6321,6322],{"id":6320},"deposit-beams-tofaucet","Deposit Beams to",[611,6323,6045],{},[34,6325,6326,6327,6329],{},"To deposit the 0.05 Beam to the ",[611,6328,6045],{}," , enter the following:",[616,6331,6334],{"className":6332,"code":6333,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file shaders\\faucet\\app.wasm --shader_args=\"role=my_account,action=deposit,cid=3fdd4171972875e0ac8f0131b3da047e8323cc9c2c8d53327be427c455d2a716,amount=5000000\" -n 127.0.0.1:8501\n",[611,6335,6333],{"__ignoreMap":14},[34,6337,6237,6338,6340,6341,6343,6344,6347],{},[611,6339,6161],{},"parameter with any contract ",[611,6342,6243],{}," received from the ",[175,6345,6346],{"href":6247},"view contract"," step.",[48,6349,6351],{"id":6350},"create-your-faucet","Create your Faucet",[34,6353,6354],{},"Since the Faucet is not an 'ownable' contract, creating a different faucet contract with the same parameters is impossible. The solution is to create your own parameters.",[34,6356,6357,6358,6360,6361,6363],{},"Be sure you have to ",[611,6359,6061],{}," file (located in ",[611,6362,6065],{}," folder) file to properly deploy the new contract to the blockchain.",[34,6365,6366],{},"With that out of the way, enter the following command:",[616,6368,6371],{"className":6369,"code":6370,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file shaders\u002Ffaucet\u002Fapp.wasm -n 127.0.0.1:8501 --shader_args=\"role=manager,action=create,backlogPeriod=13,withdrawLimit=520000000\" --shader_contract_file shaders\u002Ffaucet\u002Fcontract.wasm\n",[611,6372,6370],{"__ignoreMap":14},[34,6374,6375,6376,6378],{},"Assuming a ",[611,6377,6045],{}," contract has not run within the last 13 blocks, the contract deployment will be successful, and a new contract will issue the return value.",[34,6380,6381,6382,6384,6385,6387],{},"The final step is to deposit funds into the",[611,6383,6045],{},"contract and share the contract ",[611,6386,6243],{}," with another user!",[41,6389,6391],{"id":6390},"beamx-dao-contract","BeamX DAO contract",[34,6393,6394],{},"The founding mission behind Beam was to make the Beam ecosystem as decentralized as possible. The introduction of the BeamX DAO is another step towards realizing that founding mission. The BeamX DAO empowers BeamX stakeholders with total control over the governance protocol.",[34,6396,6397],{},"Stakeholders have voting power on every aspect of the ecosystem through the BeamX token.",[34,6399,6400],{},"BeamX stakeholders are encouraged to vote with the personal voting selection, identity, and financial holdings will all remain private.",[34,6402,6403],{},"BeamX has a 100M total supply with a 4-year emission schedule. Earn BeamX tokens by staking your Beam coins.",[48,6405,6407,6408,6411],{"id":6406},"view-all-commands-for-beamxdaocontract","View all commands for BeamX",[611,6409,6410],{},"DAO","contract",[34,6413,6414],{},"To view all DAO contract commands, enter the following:",[616,6416,6419],{"className":6417,"code":6418,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file Shaders\\dao-core\\app.wasm -n 127.0.0.1:8501\n",[611,6420,6418],{"__ignoreMap":14},[616,6422,6425],{"className":6423,"code":6424,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file Shaders\\dao-core\\app.wasm -n 127.0.0.1:8501\nI 2021-10-21.12:12:37.014 Beam Wallet 6.1.12023 (mainnet)\nI 2021-10-21.12:12:37.015 Rules signature: 0-ed91a717313c6eb0, 321321-6d622e615cfd29d0, 777777-1ce8f721bf0c9fa7, 1280000-3eaab6ab65b65f94\nI 2021-10-21.12:12:37.015 starting a wallet...\nI 2021-10-21.12:12:37.229 wallet successfully opened...\nExecuting shader...\nShader output: {\"roles\": {\"manager\": {\"view\": {},\"explicit_upgrade\": {\"cid\": \"ContractID\"},\n\"view_params\": {\"cid\": \"ContractID\"},\"my_xid\": {},\n\"my_admin_key\": {},\"prealloc_totals\": {\"cid\": \"ContractID\"},\n\"prealloc_view\": {\"cid\": \"ContractID\"},\n\"prealloc_withdraw\": {\"cid\": \"ContractID\",\"amount\": \"Amount\"},\n\"farm_view\": {\"cid\": \"ContractID\"},\n\"farm_get_yield\": {\"cid\": \"ContractID\",\"amount\": \"Amount\",\"hPeriod\": \"Height\"},\n\"farm_totals\": {\"cid\": \"ContractID\"},\n\"farm_update\": {\"cid\": \"ContractID\",\"amountBeamX\": \"Amount\",\"amountBeam\": \"Amount\",\"bLockOrUnlock\": \"uint32_t\"}}}}\n",[611,6426,6424],{"__ignoreMap":14},[48,6428,6134],{"id":6429},"view-contract-1",[1898,6431,6433,6434,6411],{"id":6432},"retrieve-thedaocontract","Retrieve the",[611,6435,6410],{},[34,6437,6438,6439,6442,6443,6446,6447,6449,6450,6452,6453,6455,6456,6458],{},"Be sure the latest version of the",[611,6440,6441],{},"dao-core","contract folder is within the",[611,6444,6445],{},"shaders_folder"," hierarchy as previously instructed. Both ",[611,6448,6065],{},"(",[611,6451,6045],{},") and",[611,6454,6061],{},"to deploy your ",[611,6457,6410],{},"contract.",[56,6460,6461,6468],{},[59,6462,6184,6463],{},[616,6464,6466],{"className":6465,"code":6188,"language":621},[619],[611,6467,6188],{"__ignoreMap":14},[59,6469,4092,6470,6476,6482,6484,6485,3433,6487,6489,6490],{},[616,6471,6474],{"className":6472,"code":6473,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file shaders\u002Fdao-core\u002Fapp.wasm -n 127.0.0.1:8501 --shader_args=\"role=manager,action=view\"\n",[611,6475,6473],{"__ignoreMap":14},[616,6477,6480],{"className":6478,"code":6479,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file shaders\u002Fdao-core\u002Fapp.wasm -n 127.0.0.1:8501 --shader_args=\"role=manager,action=view\"\nI 2021-10-19.16:16:18.853 Beam Wallet 6.1.12023 (mainnet)\nI 2021-10-19.16:16:18.854 Rules signature: 0-ed91a717313c6eb0, 321321-6d622e615cfd29d0, 777777-1ce8f721bf0c9fa7, 1280000-3eaab6ab65b65f94\nI 2021-10-19.16:16:18.854 starting a wallet...\nI 2021-10-19.16:16:19.093 wallet successfully opened...\nExecuting shader...\nShader output: {\"versions\": [{\"Number\": 0,\"Height\": 1464845,\"cid\": \"3db292122e26df7b216ae89ae7504c9068b87273f149059915c6f4abbf72ee2d\"}],\n\"contracts\": [{\"cid\": \"3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b\",\"Height\": 1464852,\"min_upgrade_delay\": 10000,\n\"min_approvers\": 1,\n\"admins\": [{\"id\": 0,\"pk\": \"cbf7c381febb71d61457cc51d52f5b1ce53b45eee92734d2bdb293d82a25355000\"}],\n\"current_version\": 0}]}\n",[611,6481,6479],{"__ignoreMap":14},[4953,6483],{},"The result will display the contract registered to the Beam blockchain.",[4953,6486],{},[611,6488,6161],{},"contract output should resemble the following:",[616,6491,6494],{"className":6492,"code":6493,"language":621},[619],"\"contracts\": [{\"cid\": \"3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b\"\n",[611,6495,6493],{"__ignoreMap":14},[48,6497,6499],{"id":6498},"staking-beam","Staking Beam",[34,6501,6502],{},[37,6503,6504],{},"The minimum amount of Beam coins users must stake in order to receive BeamX rewards is 16 Beams!",[34,6506,6507],{},"To receive BeamX tokens, users must first stake their Beam coins by issuing a contract and claiming their BeamX tokens as rewards. To stake their Beam coins, enter the following command:",[616,6509,6512],{"className":6510,"code":6511,"language":621},[619],".\u002Fbeam-wallet  shader --shader_app_file Shaders\u002Fdao-core-masternet\u002Fapp.wasm --shader_args role=manager,action=farm_update,cid=3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b,amountBeam=1600000000,bLockOrUnlock=1 -n 127.0.0.1:8501\n",[611,6513,6511],{"__ignoreMap":14},[34,6515,6516],{},"For this example, we will use the minimum 16 Beam coins required to fulfill the staking requirements of this contract.",[616,6518,6521],{"className":6519,"code":6520,"language":621},[619],".\u002Fbeam-wallet  shader --shader_app_file Shaders\u002Fdao-core-masternet\u002Fapp.wasm --shader_args role=manager,action=farm_update,cid=3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b,amountBeam=1600000000,bLockOrUnlock=1 -n 127.0.0.1:8501\nI 2021-10-21.19:42:42.354 Beam Wallet 6.1.12023 (mainnet)\nI 2021-10-21.19:42:42.354 Rules signature: 0-ed91a717313c6eb0, 321321-6d622e615cfd29d0, 777777-1ce8f721bf0c9fa7, 1280000-3eaab6ab65b65f94\nI 2021-10-21.19:42:42.355 starting a wallet...\nI 2021-10-21.19:42:42.607 wallet successfully opened...\nExecuting shader...\nI 2021-10-21.19:42:42.667 Tip has not been changed\nI 2021-10-21.19:42:42.670 Current state is 1466765-f25f1929fb7fff03\nShader output: {}\nCreating new contract invocation tx on behalf of the shader\n        Comment: Lock\u002FUnlock and get farmed beamX tokens        Send 16 BEAM\n        Total fee: 1100000 GROTH\nI 2021-10-21.19:42:51.192 [784c1ac2d03d4832aa5136d2f3762eb2][1] Get proof for kernel: d973ed7374e571f8\nI 2021-10-21.19:42:51.206 [784c1ac2d03d4832aa5136d2f3762eb2] Transaction completed        \n",[611,6522,6520],{"__ignoreMap":14},[48,6524,6526],{"id":6525},"view-total-beamx-farmed","View total BeamX farmed",[34,6528,6529,6530,3862],{},"To view the total amount of BeamX earned or 'farmed,' enter the",[611,6531,6532],{},"farm_view",[616,6534,6537],{"className":6535,"code":6536,"language":621},[619],".\u002Fbeam-wallet  shader --shader_app_file Shaders\u002Fdao-core-masternet\u002Fapp.wasm --shader_args role=manager,action=farm_view,cid=3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b -n 127.0.0.1:8501\n",[611,6538,6536],{"__ignoreMap":14},[616,6540,6543],{"className":6541,"code":6542,"language":621},[619],".\u002Fbeam-wallet  shader --shader_app_file Shaders\u002Fdao-core-masternet\u002Fapp.wasm --shader_args role=manager,action=farm_view,cid=3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b -n 127.0.0.1:8501\nI 2021-10-21.19:48:56.753 Beam Wallet 6.1.12023 (mainnet)\nI 2021-10-21.19:48:56.754 Rules signature: 0-ed91a717313c6eb0, 321321-6d622e615cfd29d0, 777777-1ce8f721bf0c9fa7, 1280000-3eaab6ab65b65f94\nI 2021-10-21.19:48:56.755 starting a wallet...\nI 2021-10-21.19:48:57.005 wallet successfully opened...\nExecuting shader...\nI 2021-10-21.19:48:57.069 Sync up to 1466769-c8c91bf474915cfe\nI 2021-10-21.19:48:57.069 Synchronizing with node: 0% (0\u002F1)\nI 2021-10-21.19:48:57.081 Synchronizing with node: 100% (1\u002F1)\nI 2021-10-21.19:48:57.081 Current state is 1466769-c8c91bf474915cfe\nShader output: {\"farming\": {\"duation\": 268,\"emission\": 203957381876,\"h\": 1466769,\"h0\": 252840},\n\"user\": {\"beams_locked\": 1600000000,\"beamX_old\": 569592,\"beamX_recent\": 65919,\"beamX\": 635511}}\n",[611,6544,6542],{"__ignoreMap":14},[34,6546,6547,6548,6550],{},"The ",[611,6549,6441],{}," contract parameters are as follows:",[4998,6552,6553,6563],{},[5001,6554,6555],{},[5004,6556,6557,6560],{},[5007,6558,6559],{},"Parameter",[5007,6561,6562],{},"Definition",[5014,6564,6565,6575,6585,6595],{},[5004,6566,6567,6572],{},[5019,6568,6569],{},[611,6570,6571],{},"beams_locked",[5019,6573,6574],{},"The total number of Beams staked.",[5004,6576,6577,6582],{},[5019,6578,6579],{},[611,6580,6581],{},"beamX_old",[5019,6583,6584],{},"The number of BeamX tokens credited to your account.",[5004,6586,6587,6592],{},[5019,6588,6589],{},[611,6590,6591],{},"beamX_recent",[5019,6593,6594],{},"BeamX rewards forecast.",[5004,6596,6597,6602],{},[5019,6598,6599],{},[611,6600,6601],{},"beamX",[5019,6603,6604],{},"The total amount of BeamX tokens available for withdrawing from staking.",[48,6606,6608],{"id":6607},"withdraw-beamx","Withdraw BeamX",[34,6610,6611,6612,6618],{},"To view the amount of BeamX available in your wallet with the ",[175,6613,1062,6615],{"href":6614},"using-beamx-faucet-contract-with-cli-wallet#farm-view",[611,6616,6617],{},"arm_view"," command.",[34,6620,6621],{},"To withdraw BeamX, enter the following command:",[616,6623,6626],{"className":6624,"code":6625,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file Shaders\u002Fdao-core-masternet\u002Fapp.wasm --shader_args role=manager,action=farm_update,cid=3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b,amountBeamX=635511 -n 127.0.0.1:8501\n",[611,6627,6625],{"__ignoreMap":14},[616,6629,6632],{"className":6630,"code":6631,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file Shaders\u002Fdao-core-masternet\u002Fapp.wasm --shader_args role=manager,action=farm_update,cid=3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b,amountBeamX=635511 -n 127.0.0.1:8501\nI 2021-10-21.21:34:07.371 Beam Wallet 6.1.12023 (mainnet)\nI 2021-10-21.21:34:07.371 Rules signature: 0-ed91a717313c6eb0, 321321-6d622e615cfd29d0, 777777-1ce8f721bf0c9fa7, 1280000-3eaab6ab65b65f94\nI 2021-10-21.21:34:07.371 starting a wallet...\nI 2021-10-21.21:34:07.620 wallet successfully opened...\nExecuting shader...\nI 2021-10-21.21:34:07.682 Tip has not been changed\nI 2021-10-21.21:34:07.685 Current state is 1466870-f3aa6e59a16e3c3c\nShader output: {}\nCreating new contract invocation tx on behalf of the shader\n        Comment: Lock\u002FUnlock and get farmed beamX tokens        Recv 635511 ASSET-7-GROTH\n        Total fee: 1100000 GROTH\nI 2021-10-21.21:35:06.460 [1a2ca260c4a74a7ca4261c812ba68ed2][1] Get proof for kernel: 7c87ecc149b7c77a\nI 2021-10-21.21:35:06.475 [1a2ca260c4a74a7ca4261c812ba68ed2] Transaction completed\n",[611,6633,6631],{"__ignoreMap":14},[48,6635,6637],{"id":6636},"stake-and-withdraw-with-one-transaction","Stake and withdraw with one transaction",[34,6639,6640],{},"To stake additional Beam coins while withdrawing BeamX tokens, enter the following command:",[616,6642,6645],{"className":6643,"code":6644,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file Shaders\u002Fdao-core-masternet\u002Fapp.wasm --shader_args role=manager,action=farm_update,cid=3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b,amountBeamX=635511,amountBeam=10000000,bLockOrUnlock=1 -n 127.0.0.1:8501\n",[611,6646,6644],{"__ignoreMap":14},[616,6648,6651],{"className":6649,"code":6650,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file Shaders\u002Fdao-core-masternet\u002Fapp.wasm --shader_args role=manager,action=farm_update,cid=3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b,amountBeamX=635511,amountBeam=10000000,bLockOrUnlock=1 -n 127.0.0.1:8501\nI 2021-10-21.21:39:17.636 Beam Wallet 6.1.12023 (mainnet)\nI 2021-10-21.21:39:17.637 Rules signature: 0-ed91a717313c6eb0, 321321-6d622e615cfd29d0, 777777-1ce8f721bf0c9fa7, 1280000-3eaab6ab65b65f94\nI 2021-10-21.21:39:17.637 starting a wallet...\nI 2021-10-21.21:39:17.886 wallet successfully opened...\nExecuting shader...\nI 2021-10-21.21:39:19.075 Sync up to 1466878-4ee8a74a8f1e1175\nI 2021-10-21.21:39:19.075 Synchronizing with node: 0% (0\u002F1)\nI 2021-10-21.21:39:19.076 Synchronizing with node: 100% (1\u002F1)\nI 2021-10-21.21:39:19.077 Current state is 1466878-4ee8a74a8f1e1175\nShader output: {}\nCreating new contract invocation tx on behalf of the shader\n        Comment: Lock\u002FUnlock and get farmed beamX tokens        Send 10000000 GROTH\n        Recv 635511 ASSET-7-GROTH\n        Total fee: 1100000 GROTH\n",[611,6652,6650],{"__ignoreMap":14},[34,6654,6655,6656],{},"To withdraw Beam and BeamX with one transaction, specify ",[611,6657,6658],{},"\"bLockOrUnlock= \"in shader_args where : 0 - withdraw Beam , 1 - send Beam",[34,6660,6661,6664,6671,6674],{},[611,6662,6663],{},"--shader_args role=manager,action=farm_update,cid=3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b,amountBeamX=635511,amountBeam=10000000,",[6665,6666,6668],"mark",{"style":6667},"color:blue;",[611,6669,6670],{},"bLockOrUnlock",[611,6672,6673],{},"=",[6665,6675,6677],{"style":6676},"color:red;",[611,6678,6679],{},"1",[48,6681,6683,6685],{"id":6682},"dao-core-contract-parameters",[611,6684,6049],{}," contract parameters",[34,6687,6688,6689,6691],{},"To view the ",[611,6690,6441],{}," contract parameters, enter the following command:",[616,6693,6696],{"className":6694,"code":6695,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file Shaders\u002Fdao-core-masternet\u002Fapp.wasm --shader_args role=manager,action=view_params,cid=3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b -n 127.0.0.1:8501\n",[611,6697,6695],{"__ignoreMap":14},[616,6699,6702],{"className":6700,"code":6701,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file Shaders\u002Fdao-core-masternet\u002Fapp.wasm --shader_args role=manager,action=view_params,cid=3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b -n 127.0.0.1:8501\nI 2021-10-21.22:15:32.925 Beam Wallet 6.1.12023 (mainnet)\nI 2021-10-21.22:15:32.926 Rules signature: 0-ed91a717313c6eb0, 321321-6d622e615cfd29d0, 777777-1ce8f721bf0c9fa7, 1280000-3eaab6ab65b65f94\nI 2021-10-21.22:15:32.927 starting a wallet...\nI 2021-10-21.22:15:33.176 wallet successfully opened...\nExecuting shader...\nI 2021-10-21.22:15:33.238 Tip has not been changed\nI 2021-10-21.22:15:33.240 Current state is 1466907-15c917e6c0cdaa1b\nShader output: {\"params\": {\"aid\": 7,\"locked_beamX\": 9999983410129195,\"locked_beams\": 1126598099627933}}\n",[611,6703,6701],{"__ignoreMap":14},[34,6705,3580],{},[616,6707,6710],{"className":6708,"code":6709,"language":621},[619],"Shader output: \"{\"params\": {\"aid\": 7,\"locked_beamX\": 9999983410129195,\"locked_beams\": 1126598099627933}}\nWhere : \naid = 7 is asset number\nlocked_beamX = BeamX that are still available \nlocked_beams = Total amount in the contract\n",[611,6711,6709],{"__ignoreMap":14},[34,6713,6714],{},"To view more details such as the number of users staking Beam coins, enter the following command:",[616,6716,6719],{"className":6717,"code":6718,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file Shaders\u002Fdao-core-masternet\u002Fapp.wasm --shader_args role=manager,action=view_farm,cid=3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b -n 127.0.0.1:8501\n",[611,6720,6718],{"__ignoreMap":14},[616,6722,6725],{"className":6723,"code":6724,"language":621},[619],".\u002Fbeam-wallet shader --shader_app_file Shaders\u002Fdao-core-masternet\u002Fapp.wasm --shader_args role=manager,action=view_farm,cid=3f3d32e38cb27ac7b5b67343f81cf2f8bc53217eb995cc6c5d78ddc5e7b0642b -n 127.0.0.1:8501\nI 2021-10-21.22:55:47.434 Beam Wallet 6.1.12023 (mainnet)\nI 2021-10-21.22:55:47.435 Rules signature: 0-ed91a717313c6eb0, 321321-6d622e615cfd29d0, 777777-1ce8f721bf0c9fa7, 1280000-3eaab6ab65b65f94\nI 2021-10-21.22:55:47.435 starting a wallet...\nI 2021-10-21.22:55:48.634 wallet successfully opened...\nExecuting shader...\nI 2021-10-21.22:55:48.695 Tip has not been changed\nI 2021-10-21.22:55:48.697 Current state is 1466935-6d5753dbb8b989d0\nShader output: {\"duation\": 435,\n\"total\": 100000000000000,\n\"total_users\": 1056,\n\"avail\": 331050228045,\n\"received\": 12621458260,\n\"beam_locked\": 1152179812748426}\n",[611,6726,6724],{"__ignoreMap":14},[34,6728,6729],{},"Command paramters from the above output:",[4998,6731,6732,6740],{},[5001,6733,6734],{},[5004,6735,6736,6738],{},[5007,6737,6559],{},[5007,6739,6562],{},[5014,6741,6742,6752,6762,6772],{},[5004,6743,6744,6749],{},[5019,6745,6746],{},[611,6747,6748],{},"total_users",[5019,6750,6751],{},"The total numer of Beams currently staked.",[5004,6753,6754,6759],{},[5019,6755,6756],{},[611,6757,6758],{},"avail",[5019,6760,6761],{},"The total remaining BeamX coins not yet distributed.",[5004,6763,6764,6769],{},[5019,6765,6766],{},[611,6767,6768],{},"received",[5019,6770,6771],{},"The total amount of BeamX coins distributed.",[5004,6773,6774,6779],{},[5019,6775,6776],{},[611,6777,6778],{},"beam_locked",[5019,6780,6781],{},"The total Beam coins currently being staked.",{"title":14,"searchDepth":15,"depth":15,"links":6783},[6784,6785,6786,6797],{"id":3405,"depth":15,"text":5986},{"id":6011,"depth":15,"text":6012},{"id":6099,"depth":15,"text":6787,"children":6788},"Faucet contract",[6789,6791,6792,6793,6794,6796],{"id":6111,"depth":154,"text":6790},"All Faucet contract commands",{"id":6133,"depth":154,"text":6134},{"id":6221,"depth":154,"text":6222},{"id":6286,"depth":154,"text":6287},{"id":6320,"depth":154,"text":6795},"Deposit Beams toFaucet",{"id":6350,"depth":154,"text":6351},{"id":6390,"depth":15,"text":6391,"children":6798},[6799,6801,6802,6803,6804,6805,6806],{"id":6406,"depth":154,"text":6800},"View all commands for BeamXDAOcontract",{"id":6429,"depth":154,"text":6134},{"id":6498,"depth":154,"text":6499},{"id":6525,"depth":154,"text":6526},{"id":6607,"depth":154,"text":6608},{"id":6636,"depth":154,"text":6637},{"id":6682,"depth":154,"text":6807},"Dao-core contract parameters",{},"\u002Fdocs\u002Fcli\u002Fusing-beamx-faucet-contract-with-cli-wallet",{"title":5978,"description":14},"docs\u002Fcli\u002Fusing-beamx-faucet-contract-with-cli-wallet","PRL6iC2nNC6lqjyU4ny1i-h_AovAl1ws5s3qT6Pawtg",{"id":6814,"title":6815,"body":6816,"description":6820,"extension":17,"image":18,"meta":6842,"navTitle":18,"navigation":20,"path":6843,"seo":6844,"stem":6845,"__hash__":6846},"docs\u002Fdocs\u002Fcore-tech\u002FAVX.md","AVX",{"type":8,"value":6817,"toc":6840},[6818,6821,6824,6832],[34,6819,6820],{},"Advanced Vector Extensions (AVX, also known as Sandy Bridge New Extensions) are extensions to the x86 instruction set architecture for microprocessors from Intel and AMD proposed by Intel in March 2008 and first supported by Intel with the Sandy Bridge processor shipping in Q1 2011 and later on by AMD with the Bulldozer processor shipping in Q3 2011. AVX provides new features, new instructions and a new coding scheme.",[34,6822,6823],{},"For now we separate our builds in two categories:",[852,6825,6826,6829],{},[59,6827,6828],{},"with AVX instructions set",[59,6830,6831],{},"without AVX instructions set",[34,6833,6834,6835],{},"If you are not sure is the AVX support at your PC please check description of your processor.\n",[175,6836,6839],{"href":6837,"rel":6838},"https:\u002F\u002Fprntscr.com\u002Fllj7mj",[179],"Example",{"title":14,"searchDepth":15,"depth":15,"links":6841},[],{},"\u002Fdocs\u002Fcore-tech\u002Favx",{"description":6820},"docs\u002Fcore-tech\u002FAVX","2e4ARLnD9TSTzmIyRStYwfUiopciZB__ubsNITEH_gk",{"id":6848,"title":6849,"body":6850,"description":14,"extension":17,"image":18,"meta":8701,"navTitle":18,"navigation":20,"path":8702,"seo":8703,"stem":8704,"__hash__":8705},"docs\u002Fdocs\u002Fcore-tech\u002FAdding-support-for-Beam-Confidential-Asset.md","Adding support for Beam Confidential Asset",{"type":8,"value":6851,"toc":8695},[6852,6855,6859,6941,6943,6950,6954,8691],[11,6853,6849],{"id":6854},"adding-support-for-beam-confidential-asset",[41,6856,6858],{"id":6857},"tldr","TLDR;",[56,6860,6861,6864,6871,6878,6891,6911],{},[59,6862,6863],{},"In version 6.0 Beam supports Confidential Assets",[59,6865,6866,6867,6870],{},"Each asset has an ",[611,6868,6869],{},"asset_id",", 0 is for Beam and 1,2,3... for new Assets.",[59,6872,6873,6874],{},"A complete list of existing assets is ",[175,6875,1248],{"href":6876,"rel":6877},"https:\u002F\u002Fexplorer.beam.mw\u002Fassets",[179],[59,6879,6880,6881,6884,6885],{},"To enable assets add the following line to the ",[611,6882,6883],{},"wallet-api"," config file",[616,6886,6889],{"className":6887,"code":6888,"language":621},[619],"enable_assets=true\n",[611,6890,6888],{"__ignoreMap":14},[59,6892,6893,6894],{},"The following API calls have been updated to support assets:",[852,6895,6896,6901,6906],{},[59,6897,6898],{},[611,6899,6900],{},"wallet_status",[59,6902,6903],{},[611,6904,6905],{},"tx_send",[59,6907,6908],{},[611,6909,6910],{},"tx_split",[59,6912,6913,6914],{},"New API methods have been added",[852,6915,6916,6921,6926,6931,6936],{},[59,6917,6918],{},[611,6919,6920],{},"tx_asset_issue",[59,6922,6923],{},[611,6924,6925],{},"tx_asset_consume",[59,6927,6928],{},[611,6929,6930],{},"tx_asset_info",[59,6932,6933],{},[611,6934,6935],{},"get_asset_info",[59,6937,6938],{},[611,6939,6940],{},"calc_change",[41,6942,878],{"id":877},[34,6944,6945,6946,6949],{},"Confidential Assets (CA) are tokens mint on the Beam blockchain. Beam supports Confidential Assets since hard fork 2, but this feature had limited ability to be used in real life applications. Starting from the version 6.0 Beam Wallet adds ability to create smart contracts which make CA more usable and very important feature in Beam infrastructure. We already have ",[175,6947,4975],{"href":4973,"rel":6948},[179]," to work with CA, but it was disabled by default. If you wish to accept and create transactions with CA you should enable this feature in the wallet API and update your codebase to handle CA correctly.",[48,6951,6953],{"id":6952},"enable-ca-support","Enable CA support",[852,6955,6956,6976,7473,7620,7758,8046,8224,8396],{},[59,6957,6958,6959,6961,6962,6968,6970,6971],{},"run new binary with ",[611,6960,4979],{},". With this flag your wallet starts to accept transactions with Confidential Assets",[616,6963,6966],{"className":6964,"code":6965,"language":621},[619],".\u002Fwallet-api --enable_assets -n \u003Cnode address>\n",[611,6967,6965],{"__ignoreMap":14},[4953,6969],{},"or specify it in config file",[616,6972,6974],{"className":6973,"code":6888,"language":621},[619],[611,6975,6888],{"__ignoreMap":14},[59,6977,6978,6979,6981,6982,6984,6987,7048,7050,7053],{},"to retrieve info about assets use ",[611,6980,6900],{}," method, it will return an array of the info about assets in the wallet, including BEAM",[4953,6983],{},[611,6985,6986],{},"-->",[616,6988,6992],{"className":6989,"code":6990,"language":6991,"meta":14,"style":14},"language-json shiki shiki-themes github-dark","{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"method\":\"wallet_status\"\n}\n","json",[611,6993,6994,7002,7017,7031,7042],{"__ignoreMap":14},[6995,6996,6998],"span",{"class":244,"line":6997},1,[6995,6999,7001],{"class":7000},"s95oV","{\n",[6995,7003,7004,7008,7010,7014],{"class":244,"line":15},[6995,7005,7007],{"class":7006},"sDLfK","    \"jsonrpc\"",[6995,7009,5102],{"class":7000},[6995,7011,7013],{"class":7012},"sU2Wk","\"2.0\"",[6995,7015,7016],{"class":7000},", \n",[6995,7018,7019,7022,7025,7028],{"class":244,"line":154},[6995,7020,7021],{"class":7006},"    \"id\"",[6995,7023,7024],{"class":7000},": ",[6995,7026,7027],{"class":7006},"6",[6995,7029,7030],{"class":7000},",\n",[6995,7032,7034,7037,7039],{"class":244,"line":7033},4,[6995,7035,7036],{"class":7006},"    \"method\"",[6995,7038,5102],{"class":7000},[6995,7040,7041],{"class":7012},"\"wallet_status\"\n",[6995,7043,7045],{"class":244,"line":7044},5,[6995,7046,7047],{"class":7000},"}\n",[4953,7049],{},[611,7051,7052],{},"\u003C--",[616,7054,7056],{"className":6989,"code":7055,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 112,\n    \"current_state_hash\": \"b9e8b868de60f28e553a1499a569f481991e4cff9fe2191d09d71a03c7708296\",\n    \"difficulty\": 378.36236572265625,\n    \"prev_state_hash\": \"3f84da0b0390deaca908603b6061867def987575a1af9311248ffb01503a0f02\",\n    \"available\": 303000000000,\n    \"receiving\": 123,\n    \"sending\": 0,\n    \"maturing\": 8000000000,\n    \"locked\": 30,\n    \"totals\": [\n      {\n        \"asset_id\": 0,\n        \"available\": 303000000000,\n        \"available_str\": \"303000000000\",\n        \"maturing\": 8000000000,\n        \"maturing_str\": \"8000000000\",\n        \"receiving\": 123,\n        \"receiving_str\": \"123\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      },\n      {\n        \"asset_id\": 1,                    \u002F\u002F \u003C--------------- this could be used to send\u002Fsplit CA or to retrieve extended info\n        \"available\": 2000000000,\n        \"available_str\": \"2000000000\",\n        \"maturing\": 0,\n        \"maturing_str\": \"0\",\n        \"receiving\": 0,\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      }\n    ]\n  }\n}\n",[611,7057,7058,7062,7074,7085,7093,7105,7118,7131,7144,7157,7170,7183,7196,7209,7218,7224,7236,7248,7261,7273,7286,7298,7311,7323,7334,7340,7345,7361,7373,7385,7396,7408,7419,7430,7441,7450,7456,7462,7468],{"__ignoreMap":14},[6995,7059,7060],{"class":244,"line":6997},[6995,7061,7001],{"class":7000},[6995,7063,7064,7067,7069,7072],{"class":244,"line":15},[6995,7065,7066],{"class":7006},"  \"id\"",[6995,7068,7024],{"class":7000},[6995,7070,7071],{"class":7006},"1236",[6995,7073,7030],{"class":7000},[6995,7075,7076,7079,7081,7083],{"class":244,"line":154},[6995,7077,7078],{"class":7006},"  \"jsonrpc\"",[6995,7080,7024],{"class":7000},[6995,7082,7013],{"class":7012},[6995,7084,7030],{"class":7000},[6995,7086,7087,7090],{"class":244,"line":7033},[6995,7088,7089],{"class":7006},"  \"result\"",[6995,7091,7092],{"class":7000},": {\n",[6995,7094,7095,7098,7100,7103],{"class":244,"line":7044},[6995,7096,7097],{"class":7006},"    \"current_height\"",[6995,7099,7024],{"class":7000},[6995,7101,7102],{"class":7006},"112",[6995,7104,7030],{"class":7000},[6995,7106,7108,7111,7113,7116],{"class":244,"line":7107},6,[6995,7109,7110],{"class":7006},"    \"current_state_hash\"",[6995,7112,7024],{"class":7000},[6995,7114,7115],{"class":7012},"\"b9e8b868de60f28e553a1499a569f481991e4cff9fe2191d09d71a03c7708296\"",[6995,7117,7030],{"class":7000},[6995,7119,7121,7124,7126,7129],{"class":244,"line":7120},7,[6995,7122,7123],{"class":7006},"    \"difficulty\"",[6995,7125,7024],{"class":7000},[6995,7127,7128],{"class":7006},"378.36236572265625",[6995,7130,7030],{"class":7000},[6995,7132,7134,7137,7139,7142],{"class":244,"line":7133},8,[6995,7135,7136],{"class":7006},"    \"prev_state_hash\"",[6995,7138,7024],{"class":7000},[6995,7140,7141],{"class":7012},"\"3f84da0b0390deaca908603b6061867def987575a1af9311248ffb01503a0f02\"",[6995,7143,7030],{"class":7000},[6995,7145,7147,7150,7152,7155],{"class":244,"line":7146},9,[6995,7148,7149],{"class":7006},"    \"available\"",[6995,7151,7024],{"class":7000},[6995,7153,7154],{"class":7006},"303000000000",[6995,7156,7030],{"class":7000},[6995,7158,7160,7163,7165,7168],{"class":244,"line":7159},10,[6995,7161,7162],{"class":7006},"    \"receiving\"",[6995,7164,7024],{"class":7000},[6995,7166,7167],{"class":7006},"123",[6995,7169,7030],{"class":7000},[6995,7171,7173,7176,7178,7181],{"class":244,"line":7172},11,[6995,7174,7175],{"class":7006},"    \"sending\"",[6995,7177,7024],{"class":7000},[6995,7179,7180],{"class":7006},"0",[6995,7182,7030],{"class":7000},[6995,7184,7186,7189,7191,7194],{"class":244,"line":7185},12,[6995,7187,7188],{"class":7006},"    \"maturing\"",[6995,7190,7024],{"class":7000},[6995,7192,7193],{"class":7006},"8000000000",[6995,7195,7030],{"class":7000},[6995,7197,7199,7202,7204,7207],{"class":244,"line":7198},13,[6995,7200,7201],{"class":7006},"    \"locked\"",[6995,7203,7024],{"class":7000},[6995,7205,7206],{"class":7006},"30",[6995,7208,7030],{"class":7000},[6995,7210,7212,7215],{"class":244,"line":7211},14,[6995,7213,7214],{"class":7006},"    \"totals\"",[6995,7216,7217],{"class":7000},": [\n",[6995,7219,7221],{"class":244,"line":7220},15,[6995,7222,7223],{"class":7000},"      {\n",[6995,7225,7227,7230,7232,7234],{"class":244,"line":7226},16,[6995,7228,7229],{"class":7006},"        \"asset_id\"",[6995,7231,7024],{"class":7000},[6995,7233,7180],{"class":7006},[6995,7235,7030],{"class":7000},[6995,7237,7239,7242,7244,7246],{"class":244,"line":7238},17,[6995,7240,7241],{"class":7006},"        \"available\"",[6995,7243,7024],{"class":7000},[6995,7245,7154],{"class":7006},[6995,7247,7030],{"class":7000},[6995,7249,7251,7254,7256,7259],{"class":244,"line":7250},18,[6995,7252,7253],{"class":7006},"        \"available_str\"",[6995,7255,7024],{"class":7000},[6995,7257,7258],{"class":7012},"\"303000000000\"",[6995,7260,7030],{"class":7000},[6995,7262,7264,7267,7269,7271],{"class":244,"line":7263},19,[6995,7265,7266],{"class":7006},"        \"maturing\"",[6995,7268,7024],{"class":7000},[6995,7270,7193],{"class":7006},[6995,7272,7030],{"class":7000},[6995,7274,7276,7279,7281,7284],{"class":244,"line":7275},20,[6995,7277,7278],{"class":7006},"        \"maturing_str\"",[6995,7280,7024],{"class":7000},[6995,7282,7283],{"class":7012},"\"8000000000\"",[6995,7285,7030],{"class":7000},[6995,7287,7289,7292,7294,7296],{"class":244,"line":7288},21,[6995,7290,7291],{"class":7006},"        \"receiving\"",[6995,7293,7024],{"class":7000},[6995,7295,7167],{"class":7006},[6995,7297,7030],{"class":7000},[6995,7299,7301,7304,7306,7309],{"class":244,"line":7300},22,[6995,7302,7303],{"class":7006},"        \"receiving_str\"",[6995,7305,7024],{"class":7000},[6995,7307,7308],{"class":7012},"\"123\"",[6995,7310,7030],{"class":7000},[6995,7312,7314,7317,7319,7321],{"class":244,"line":7313},23,[6995,7315,7316],{"class":7006},"        \"sending\"",[6995,7318,7024],{"class":7000},[6995,7320,7180],{"class":7006},[6995,7322,7030],{"class":7000},[6995,7324,7326,7329,7331],{"class":244,"line":7325},24,[6995,7327,7328],{"class":7006},"        \"sending_str\"",[6995,7330,7024],{"class":7000},[6995,7332,7333],{"class":7012},"\"0\"\n",[6995,7335,7337],{"class":244,"line":7336},25,[6995,7338,7339],{"class":7000},"      },\n",[6995,7341,7343],{"class":244,"line":7342},26,[6995,7344,7223],{"class":7000},[6995,7346,7348,7350,7352,7354,7357],{"class":244,"line":7347},27,[6995,7349,7229],{"class":7006},[6995,7351,7024],{"class":7000},[6995,7353,6679],{"class":7006},[6995,7355,7356],{"class":7000},",                    ",[6995,7358,7360],{"class":7359},"sAwPA","\u002F\u002F \u003C--------------- this could be used to send\u002Fsplit CA or to retrieve extended info\n",[6995,7362,7364,7366,7368,7371],{"class":244,"line":7363},28,[6995,7365,7241],{"class":7006},[6995,7367,7024],{"class":7000},[6995,7369,7370],{"class":7006},"2000000000",[6995,7372,7030],{"class":7000},[6995,7374,7376,7378,7380,7383],{"class":244,"line":7375},29,[6995,7377,7253],{"class":7006},[6995,7379,7024],{"class":7000},[6995,7381,7382],{"class":7012},"\"2000000000\"",[6995,7384,7030],{"class":7000},[6995,7386,7388,7390,7392,7394],{"class":244,"line":7387},30,[6995,7389,7266],{"class":7006},[6995,7391,7024],{"class":7000},[6995,7393,7180],{"class":7006},[6995,7395,7030],{"class":7000},[6995,7397,7399,7401,7403,7406],{"class":244,"line":7398},31,[6995,7400,7278],{"class":7006},[6995,7402,7024],{"class":7000},[6995,7404,7405],{"class":7012},"\"0\"",[6995,7407,7030],{"class":7000},[6995,7409,7411,7413,7415,7417],{"class":244,"line":7410},32,[6995,7412,7291],{"class":7006},[6995,7414,7024],{"class":7000},[6995,7416,7180],{"class":7006},[6995,7418,7030],{"class":7000},[6995,7420,7422,7424,7426,7428],{"class":244,"line":7421},33,[6995,7423,7303],{"class":7006},[6995,7425,7024],{"class":7000},[6995,7427,7405],{"class":7012},[6995,7429,7030],{"class":7000},[6995,7431,7433,7435,7437,7439],{"class":244,"line":7432},34,[6995,7434,7316],{"class":7006},[6995,7436,7024],{"class":7000},[6995,7438,7180],{"class":7006},[6995,7440,7030],{"class":7000},[6995,7442,7444,7446,7448],{"class":244,"line":7443},35,[6995,7445,7328],{"class":7006},[6995,7447,7024],{"class":7000},[6995,7449,7333],{"class":7012},[6995,7451,7453],{"class":244,"line":7452},36,[6995,7454,7455],{"class":7000},"      }\n",[6995,7457,7459],{"class":244,"line":7458},37,[6995,7460,7461],{"class":7000},"    ]\n",[6995,7463,7465],{"class":244,"line":7464},38,[6995,7466,7467],{"class":7000},"  }\n",[6995,7469,7471],{"class":244,"line":7470},39,[6995,7472,7047],{"class":7000},[59,7474,7475,7476,7479,7480,7482,7484],{},"if you want to send or split CA you should specify ",[611,7477,7478],{},"\"asset_id\""," in parameters",[4953,7481],{},[611,7483,6986],{},[616,7485,7487],{"className":6989,"code":7486,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"method\":\"tx_send\", \n    \"params\":\n    {\n        \"value\": 12342342,\n        \"fee\": 2,\n        \"from\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"address\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"comment\": \"thank you!\",\n        \"asset_id\": 1                   \u003C------------------ NEW\n    }\n}\n",[611,7488,7489,7493,7503,7514,7525,7533,7538,7550,7561,7573,7584,7596,7611,7616],{"__ignoreMap":14},[6995,7490,7491],{"class":244,"line":6997},[6995,7492,7001],{"class":7000},[6995,7494,7495,7497,7499,7501],{"class":244,"line":15},[6995,7496,7007],{"class":7006},[6995,7498,5102],{"class":7000},[6995,7500,7013],{"class":7012},[6995,7502,7016],{"class":7000},[6995,7504,7505,7507,7509,7512],{"class":244,"line":154},[6995,7506,7021],{"class":7006},[6995,7508,7024],{"class":7000},[6995,7510,7511],{"class":7006},"2",[6995,7513,7030],{"class":7000},[6995,7515,7516,7518,7520,7523],{"class":244,"line":7033},[6995,7517,7036],{"class":7006},[6995,7519,5102],{"class":7000},[6995,7521,7522],{"class":7012},"\"tx_send\"",[6995,7524,7016],{"class":7000},[6995,7526,7527,7530],{"class":244,"line":7044},[6995,7528,7529],{"class":7006},"    \"params\"",[6995,7531,7532],{"class":7000},":\n",[6995,7534,7535],{"class":244,"line":7107},[6995,7536,7537],{"class":7000},"    {\n",[6995,7539,7540,7543,7545,7548],{"class":244,"line":7120},[6995,7541,7542],{"class":7006},"        \"value\"",[6995,7544,7024],{"class":7000},[6995,7546,7547],{"class":7006},"12342342",[6995,7549,7030],{"class":7000},[6995,7551,7552,7555,7557,7559],{"class":244,"line":7133},[6995,7553,7554],{"class":7006},"        \"fee\"",[6995,7556,7024],{"class":7000},[6995,7558,7511],{"class":7006},[6995,7560,7030],{"class":7000},[6995,7562,7563,7566,7568,7571],{"class":244,"line":7146},[6995,7564,7565],{"class":7006},"        \"from\"",[6995,7567,7024],{"class":7000},[6995,7569,7570],{"class":7012},"\"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\"",[6995,7572,7030],{"class":7000},[6995,7574,7575,7578,7580,7582],{"class":244,"line":7159},[6995,7576,7577],{"class":7006},"        \"address\"",[6995,7579,7024],{"class":7000},[6995,7581,7570],{"class":7012},[6995,7583,7030],{"class":7000},[6995,7585,7586,7589,7591,7594],{"class":244,"line":7172},[6995,7587,7588],{"class":7006},"        \"comment\"",[6995,7590,7024],{"class":7000},[6995,7592,7593],{"class":7012},"\"thank you!\"",[6995,7595,7030],{"class":7000},[6995,7597,7598,7600,7602,7604,7608],{"class":244,"line":7185},[6995,7599,7229],{"class":7006},[6995,7601,7024],{"class":7000},[6995,7603,6679],{"class":7006},[6995,7605,7607],{"class":7606},"s6RL2","                   \u003C------------------",[6995,7609,7610],{"class":7606}," NEW\n",[6995,7612,7613],{"class":244,"line":7198},[6995,7614,7615],{"class":7000},"    }\n",[6995,7617,7618],{"class":244,"line":7211},[6995,7619,7047],{"class":7000},[59,7621,7622,7623,7625,7627,7695,7697,7699],{},"if you want to get info about CA use",[4953,7624],{},[611,7626,6986],{},[616,7628,7630],{"className":6989,"code":7629,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"method\": \"tx_asset_info\",\n    \"params\": \n    {\n        \"asset_id\": 1\n    }\n}\n",[611,7631,7632,7636,7646,7656,7667,7674,7678,7687,7691],{"__ignoreMap":14},[6995,7633,7634],{"class":244,"line":6997},[6995,7635,7001],{"class":7000},[6995,7637,7638,7640,7642,7644],{"class":244,"line":15},[6995,7639,7007],{"class":7006},[6995,7641,5102],{"class":7000},[6995,7643,7013],{"class":7012},[6995,7645,7016],{"class":7000},[6995,7647,7648,7650,7652,7654],{"class":244,"line":154},[6995,7649,7021],{"class":7006},[6995,7651,7024],{"class":7000},[6995,7653,7511],{"class":7006},[6995,7655,7030],{"class":7000},[6995,7657,7658,7660,7662,7665],{"class":244,"line":7033},[6995,7659,7036],{"class":7006},[6995,7661,7024],{"class":7000},[6995,7663,7664],{"class":7012},"\"tx_asset_info\"",[6995,7666,7030],{"class":7000},[6995,7668,7669,7671],{"class":244,"line":7044},[6995,7670,7529],{"class":7006},[6995,7672,7673],{"class":7000},": \n",[6995,7675,7676],{"class":244,"line":7107},[6995,7677,7537],{"class":7000},[6995,7679,7680,7682,7684],{"class":244,"line":7120},[6995,7681,7229],{"class":7006},[6995,7683,7024],{"class":7000},[6995,7685,7686],{"class":7006},"1\n",[6995,7688,7689],{"class":244,"line":7133},[6995,7690,7615],{"class":7000},[6995,7692,7693],{"class":244,"line":7146},[6995,7694,7047],{"class":7000},[4953,7696],{},[611,7698,7052],{},[616,7700,7702],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"result\":\n    {\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\"\n    }\n}\n",[611,7703,7704,7708,7718,7728,7735,7739,7750,7754],{"__ignoreMap":14},[6995,7705,7706],{"class":244,"line":6997},[6995,7707,7001],{"class":7000},[6995,7709,7710,7712,7714,7716],{"class":244,"line":15},[6995,7711,7007],{"class":7006},[6995,7713,5102],{"class":7000},[6995,7715,7013],{"class":7012},[6995,7717,7016],{"class":7000},[6995,7719,7720,7722,7724,7726],{"class":244,"line":154},[6995,7721,7021],{"class":7006},[6995,7723,7024],{"class":7000},[6995,7725,7511],{"class":7006},[6995,7727,7030],{"class":7000},[6995,7729,7730,7733],{"class":244,"line":7033},[6995,7731,7732],{"class":7006},"    \"result\"",[6995,7734,7532],{"class":7000},[6995,7736,7737],{"class":244,"line":7044},[6995,7738,7537],{"class":7000},[6995,7740,7741,7744,7747],{"class":244,"line":7107},[6995,7742,7743],{"class":7006},"        \"txId\"",[6995,7745,7746],{"class":7000}," : ",[6995,7748,7749],{"class":7012},"\"10c4b760c842433cb58339a0fafef3db\"\n",[6995,7751,7752],{"class":244,"line":7120},[6995,7753,7615],{"class":7000},[6995,7755,7756],{"class":244,"line":7133},[6995,7757,7047],{"class":7000},[59,7759,7760,7761,7763,7765,7832,7839,7841,7843,7979,7981,7982,181,7986],{},"after this transaction become completed, you can read CA info from the local database",[4953,7762],{},[611,7764,6986],{},[616,7766,7768],{"className":6989,"code":7767,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"method\": \"get_asset_info\",\n    \"params\" :\n    {\n        \"asset_id\": 1\n    }\n}\n",[611,7769,7770,7774,7784,7794,7805,7812,7816,7824,7828],{"__ignoreMap":14},[6995,7771,7772],{"class":244,"line":6997},[6995,7773,7001],{"class":7000},[6995,7775,7776,7778,7780,7782],{"class":244,"line":15},[6995,7777,7007],{"class":7006},[6995,7779,5102],{"class":7000},[6995,7781,7013],{"class":7012},[6995,7783,7016],{"class":7000},[6995,7785,7786,7788,7790,7792],{"class":244,"line":154},[6995,7787,7021],{"class":7006},[6995,7789,7024],{"class":7000},[6995,7791,7027],{"class":7006},[6995,7793,7030],{"class":7000},[6995,7795,7796,7798,7800,7803],{"class":244,"line":7033},[6995,7797,7036],{"class":7006},[6995,7799,7024],{"class":7000},[6995,7801,7802],{"class":7012},"\"get_asset_info\"",[6995,7804,7030],{"class":7000},[6995,7806,7807,7809],{"class":244,"line":7044},[6995,7808,7529],{"class":7006},[6995,7810,7811],{"class":7000}," :\n",[6995,7813,7814],{"class":244,"line":7107},[6995,7815,7537],{"class":7000},[6995,7817,7818,7820,7822],{"class":244,"line":7120},[6995,7819,7229],{"class":7006},[6995,7821,7024],{"class":7000},[6995,7823,7686],{"class":7006},[6995,7825,7826],{"class":244,"line":7133},[6995,7827,7615],{"class":7000},[6995,7829,7830],{"class":244,"line":7146},[6995,7831,7047],{"class":7000},[852,7833,7834],{},[59,7835,7836,7838],{},[611,7837,6869],{}," asset id to retrieve info about. Can be used for any asset even if you don't own it.",[4953,7840],{},[611,7842,7052],{},[616,7844,7846],{"className":6989,"code":7845,"language":6991,"meta":14,"style":14},"{\n    \"id\": 1236,\n    \"jsonrpc\": \"2.0\",\n    \"result\": \n    {\n        \"asset_id\": 1,\n        \"emission\": 2000000000,\n        \"emission_str\": \"2000000000\",\n        \"isOwned\": 1,\n        \"lockHeight\": 39,\n        \"metadata\": \"STD:N=NAME;SN=SNM;UN=UNIT;NTHUN=NTHUNIT\",\n        \"ownerId\": \"0ae08a49e018e98177774294107dc033790b87538e54a20e99c6b98f1dbd39ce\",\n        \"refreshHeight\": 927\n    }\n}\n",[611,7847,7848,7852,7862,7872,7878,7882,7892,7903,7914,7925,7937,7949,7961,7971,7975],{"__ignoreMap":14},[6995,7849,7850],{"class":244,"line":6997},[6995,7851,7001],{"class":7000},[6995,7853,7854,7856,7858,7860],{"class":244,"line":15},[6995,7855,7021],{"class":7006},[6995,7857,7024],{"class":7000},[6995,7859,7071],{"class":7006},[6995,7861,7030],{"class":7000},[6995,7863,7864,7866,7868,7870],{"class":244,"line":154},[6995,7865,7007],{"class":7006},[6995,7867,7024],{"class":7000},[6995,7869,7013],{"class":7012},[6995,7871,7030],{"class":7000},[6995,7873,7874,7876],{"class":244,"line":7033},[6995,7875,7732],{"class":7006},[6995,7877,7673],{"class":7000},[6995,7879,7880],{"class":244,"line":7044},[6995,7881,7537],{"class":7000},[6995,7883,7884,7886,7888,7890],{"class":244,"line":7107},[6995,7885,7229],{"class":7006},[6995,7887,7024],{"class":7000},[6995,7889,6679],{"class":7006},[6995,7891,7030],{"class":7000},[6995,7893,7894,7897,7899,7901],{"class":244,"line":7120},[6995,7895,7896],{"class":7006},"        \"emission\"",[6995,7898,7024],{"class":7000},[6995,7900,7370],{"class":7006},[6995,7902,7030],{"class":7000},[6995,7904,7905,7908,7910,7912],{"class":244,"line":7133},[6995,7906,7907],{"class":7006},"        \"emission_str\"",[6995,7909,7024],{"class":7000},[6995,7911,7382],{"class":7012},[6995,7913,7030],{"class":7000},[6995,7915,7916,7919,7921,7923],{"class":244,"line":7146},[6995,7917,7918],{"class":7006},"        \"isOwned\"",[6995,7920,7024],{"class":7000},[6995,7922,6679],{"class":7006},[6995,7924,7030],{"class":7000},[6995,7926,7927,7930,7932,7935],{"class":244,"line":7159},[6995,7928,7929],{"class":7006},"        \"lockHeight\"",[6995,7931,7024],{"class":7000},[6995,7933,7934],{"class":7006},"39",[6995,7936,7030],{"class":7000},[6995,7938,7939,7942,7944,7947],{"class":244,"line":7172},[6995,7940,7941],{"class":7006},"        \"metadata\"",[6995,7943,7024],{"class":7000},[6995,7945,7946],{"class":7012},"\"STD:N=NAME;SN=SNM;UN=UNIT;NTHUN=NTHUNIT\"",[6995,7948,7030],{"class":7000},[6995,7950,7951,7954,7956,7959],{"class":244,"line":7185},[6995,7952,7953],{"class":7006},"        \"ownerId\"",[6995,7955,7024],{"class":7000},[6995,7957,7958],{"class":7012},"\"0ae08a49e018e98177774294107dc033790b87538e54a20e99c6b98f1dbd39ce\"",[6995,7960,7030],{"class":7000},[6995,7962,7963,7966,7968],{"class":244,"line":7198},[6995,7964,7965],{"class":7006},"        \"refreshHeight\"",[6995,7967,7024],{"class":7000},[6995,7969,7970],{"class":7006},"927\n",[6995,7972,7973],{"class":244,"line":7211},[6995,7974,7615],{"class":7000},[6995,7976,7977],{"class":244,"line":7220},[6995,7978,7047],{"class":7000},[4953,7980],{},"Returns full asset info or ",[175,7983,7985],{"href":7984},"#Errors","error code",[852,7987,7988,7993,7999,8024,8030,8036],{},[59,7989,7990,7992],{},[611,7991,6869],{}," asset id",[59,7994,7995,7998],{},[611,7996,7997],{},"metadata"," asset metadata",[59,8000,8001,8003,8004,8007,8008,8012,8013,8016,8017,8020,8021,8023],{},[611,8002,1020],{}," & ",[611,8005,8006],{},"emission_str"," total asset emission. Maximum asset emission is 2",[8009,8010,8011],"sup",{},"128","-1. To ensure compatibility with JavaScript raw number returned only if it is less than or equal to ",[611,8014,8015],{},"Number.MAX_SAFE_INTEGER"," (2",[8009,8018,8019],{},"53","-1). If asset emission is greater than ",[611,8022,8015],{}," only corresponding string representation is returned.",[59,8025,8026,8029],{},[611,8027,8028],{},"isOwned"," is 1 if you own this asset",[59,8031,8032,8035],{},[611,8033,8034],{},"lockHeight"," last block when asset emission turned to\u002Ffrom 0.",[59,8037,8038,8041,8042,8045],{},[611,8039,8040],{},"refreshHeight"," block at which asset information has been received. Please note, that all returned fields are valid only for this and previous blocks. In next blocks emission might change, asset become unregistered &c. Use ",[175,8043,6930],{"href":8044},"#tx_asset_info"," to retrieve the most recent info.",[59,8047,8048,8049,8051,8052,8054,8055,8057,8059,8135,8160,8162,8164,8219,8221,8222,181],{},"For minting new asset coins use ",[611,8050,6920],{},". You must own the asset and info about the asset should be in a local database. ",[611,8053,6930],{}," to retrieve the latest asset info if necessary. Asset minting is free. You need to pay only regular transaction fee.",[4953,8056],{},[611,8058,6986],{},[616,8060,8062],{"className":6989,"code":8061,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 2,\n    \"method\": \"tx_asset_issue\", \n    \"params\":\n    {\n        \"value\": 6,\n        \"asset_id\": 1\n    }\n}\n",[611,8063,8064,8068,8078,8088,8099,8105,8109,8119,8127,8131],{"__ignoreMap":14},[6995,8065,8066],{"class":244,"line":6997},[6995,8067,7001],{"class":7000},[6995,8069,8070,8072,8074,8076],{"class":244,"line":15},[6995,8071,7007],{"class":7006},[6995,8073,7024],{"class":7000},[6995,8075,7013],{"class":7012},[6995,8077,7016],{"class":7000},[6995,8079,8080,8082,8084,8086],{"class":244,"line":154},[6995,8081,7021],{"class":7006},[6995,8083,7024],{"class":7000},[6995,8085,7511],{"class":7006},[6995,8087,7030],{"class":7000},[6995,8089,8090,8092,8094,8097],{"class":244,"line":7033},[6995,8091,7036],{"class":7006},[6995,8093,7024],{"class":7000},[6995,8095,8096],{"class":7012},"\"tx_asset_issue\"",[6995,8098,7016],{"class":7000},[6995,8100,8101,8103],{"class":244,"line":7044},[6995,8102,7529],{"class":7006},[6995,8104,7532],{"class":7000},[6995,8106,8107],{"class":244,"line":7107},[6995,8108,7537],{"class":7000},[6995,8110,8111,8113,8115,8117],{"class":244,"line":7120},[6995,8112,7542],{"class":7006},[6995,8114,7024],{"class":7000},[6995,8116,7027],{"class":7006},[6995,8118,7030],{"class":7000},[6995,8120,8121,8123,8125],{"class":244,"line":7133},[6995,8122,7229],{"class":7006},[6995,8124,7024],{"class":7000},[6995,8126,7686],{"class":7006},[6995,8128,8129],{"class":244,"line":7146},[6995,8130,7615],{"class":7000},[6995,8132,8133],{"class":244,"line":7159},[6995,8134,7047],{"class":7000},[852,8136,8137,8143,8149,8154],{},[59,8138,8139,8142],{},[611,8140,8141],{},"value"," how much asset to mint, in asset groth.",[59,8144,8145,8148],{},[611,8146,8147],{},"fee"," transaction fee in BEAM groth. Omit to use default fee.",[59,8150,8151,8153],{},[611,8152,6869],{}," asset id of the asset to mint.",[59,8155,8156,8159],{},[611,8157,8158],{},"txId"," optional,  provide your own transaction ID.",[4953,8161],{},[611,8163,7052],{},[616,8165,8167],{"className":6989,"code":8166,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 2,\n    \"result\":\n    {\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\"\n    }\n}\n",[611,8168,8169,8173,8183,8193,8199,8203,8211,8215],{"__ignoreMap":14},[6995,8170,8171],{"class":244,"line":6997},[6995,8172,7001],{"class":7000},[6995,8174,8175,8177,8179,8181],{"class":244,"line":15},[6995,8176,7007],{"class":7006},[6995,8178,7024],{"class":7000},[6995,8180,7013],{"class":7012},[6995,8182,7016],{"class":7000},[6995,8184,8185,8187,8189,8191],{"class":244,"line":154},[6995,8186,7021],{"class":7006},[6995,8188,7024],{"class":7000},[6995,8190,7511],{"class":7006},[6995,8192,7030],{"class":7000},[6995,8194,8195,8197],{"class":244,"line":7033},[6995,8196,7732],{"class":7006},[6995,8198,7532],{"class":7000},[6995,8200,8201],{"class":244,"line":7044},[6995,8202,7537],{"class":7000},[6995,8204,8205,8207,8209],{"class":244,"line":7107},[6995,8206,7743],{"class":7006},[6995,8208,7746],{"class":7000},[6995,8210,7749],{"class":7012},[6995,8212,8213],{"class":244,"line":7120},[6995,8214,7615],{"class":7000},[6995,8216,8217],{"class":244,"line":7133},[6995,8218,7047],{"class":7000},[4953,8220],{},"Returns transaction id or ",[175,8223,7985],{"href":7984},[59,8225,8226,8227,8229,8230,8232,8234,8310,8332,8334,8336,8390],{},"to burn existing asset coins use ",[611,8228,6925],{},". You must own the asset itself as well as asset coins to burn them. You cannot burn asset coins that belong to another wallet. Info about the asset should be in a local database.",[4953,8231],{},[611,8233,6986],{},[616,8235,8237],{"className":6989,"code":8236,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"method\":\"tx_asset_consume\", \n    \"params\":\n    {\n        \"value\": 6,\n        \"asset_id\": 1\n    }\n}\n",[611,8238,8239,8243,8253,8263,8274,8280,8284,8294,8302,8306],{"__ignoreMap":14},[6995,8240,8241],{"class":244,"line":6997},[6995,8242,7001],{"class":7000},[6995,8244,8245,8247,8249,8251],{"class":244,"line":15},[6995,8246,7007],{"class":7006},[6995,8248,5102],{"class":7000},[6995,8250,7013],{"class":7012},[6995,8252,7016],{"class":7000},[6995,8254,8255,8257,8259,8261],{"class":244,"line":154},[6995,8256,7021],{"class":7006},[6995,8258,7024],{"class":7000},[6995,8260,7511],{"class":7006},[6995,8262,7030],{"class":7000},[6995,8264,8265,8267,8269,8272],{"class":244,"line":7033},[6995,8266,7036],{"class":7006},[6995,8268,5102],{"class":7000},[6995,8270,8271],{"class":7012},"\"tx_asset_consume\"",[6995,8273,7016],{"class":7000},[6995,8275,8276,8278],{"class":244,"line":7044},[6995,8277,7529],{"class":7006},[6995,8279,7532],{"class":7000},[6995,8281,8282],{"class":244,"line":7107},[6995,8283,7537],{"class":7000},[6995,8285,8286,8288,8290,8292],{"class":244,"line":7120},[6995,8287,7542],{"class":7006},[6995,8289,7024],{"class":7000},[6995,8291,7027],{"class":7006},[6995,8293,7030],{"class":7000},[6995,8295,8296,8298,8300],{"class":244,"line":7133},[6995,8297,7229],{"class":7006},[6995,8299,7024],{"class":7000},[6995,8301,7686],{"class":7006},[6995,8303,8304],{"class":244,"line":7146},[6995,8305,7615],{"class":7000},[6995,8307,8308],{"class":244,"line":7159},[6995,8309,7047],{"class":7000},[852,8311,8312,8317,8322,8327],{},[59,8313,8314,8316],{},[611,8315,8141],{}," how much asset to burn, in asset groth.",[59,8318,8319,8321],{},[611,8320,8147],{}," transaction fee in BEAM groth, omit for a default fee.",[59,8323,8324,8326],{},[611,8325,6869],{}," id of the asset to consume.",[59,8328,8329,8331],{},[611,8330,8158],{}," optional, provide your own transaction ID",[4953,8333],{},[611,8335,7052],{},[616,8337,8338],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,8339,8340,8344,8354,8364,8370,8374,8382,8386],{"__ignoreMap":14},[6995,8341,8342],{"class":244,"line":6997},[6995,8343,7001],{"class":7000},[6995,8345,8346,8348,8350,8352],{"class":244,"line":15},[6995,8347,7007],{"class":7006},[6995,8349,5102],{"class":7000},[6995,8351,7013],{"class":7012},[6995,8353,7016],{"class":7000},[6995,8355,8356,8358,8360,8362],{"class":244,"line":154},[6995,8357,7021],{"class":7006},[6995,8359,7024],{"class":7000},[6995,8361,7511],{"class":7006},[6995,8363,7030],{"class":7000},[6995,8365,8366,8368],{"class":244,"line":7033},[6995,8367,7732],{"class":7006},[6995,8369,7532],{"class":7000},[6995,8371,8372],{"class":244,"line":7044},[6995,8373,7537],{"class":7000},[6995,8375,8376,8378,8380],{"class":244,"line":7107},[6995,8377,7743],{"class":7006},[6995,8379,7746],{"class":7000},[6995,8381,7749],{"class":7012},[6995,8383,8384],{"class":244,"line":7120},[6995,8385,7615],{"class":7000},[6995,8387,8388],{"class":244,"line":7133},[6995,8389,7047],{"class":7000},[616,8391,8394],{"className":8392,"code":8393,"language":621},[619],"  Returns transaction id or [error code](#Errors). \n",[611,8395,8393],{"__ignoreMap":14},[59,8397,8398,8399,8401,8402,8405,8406,8408,8410,8412,8514,8516,8518,8633,8635,8636],{},"if yoiu want to calculate the change amount for transaction use ",[611,8400,6940],{},", it calculates the change value for given ",[611,8403,8404],{},"amount"," in for given ",[611,8407,6869],{},[4953,8409],{},[611,8411,6986],{},[616,8413,8415],{"className":6989,"code":8414,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\":\"calc_change\", \n    \"params\":\n    {\n        \"amount\" : 1234,\n        \"asset_id\": 2,\n        \"fee\": 10000,\n        \"is_push_transaction\": true\n    }\n}\n",[611,8416,8417,8421,8431,8442,8453,8459,8463,8475,8485,8496,8506,8510],{"__ignoreMap":14},[6995,8418,8419],{"class":244,"line":6997},[6995,8420,7001],{"class":7000},[6995,8422,8423,8425,8427,8429],{"class":244,"line":15},[6995,8424,7007],{"class":7006},[6995,8426,5102],{"class":7000},[6995,8428,7013],{"class":7012},[6995,8430,7016],{"class":7000},[6995,8432,8433,8435,8437,8440],{"class":244,"line":154},[6995,8434,7021],{"class":7006},[6995,8436,7024],{"class":7000},[6995,8438,8439],{"class":7006},"4",[6995,8441,7030],{"class":7000},[6995,8443,8444,8446,8448,8451],{"class":244,"line":7033},[6995,8445,7036],{"class":7006},[6995,8447,5102],{"class":7000},[6995,8449,8450],{"class":7012},"\"calc_change\"",[6995,8452,7016],{"class":7000},[6995,8454,8455,8457],{"class":244,"line":7044},[6995,8456,7529],{"class":7006},[6995,8458,7532],{"class":7000},[6995,8460,8461],{"class":244,"line":7107},[6995,8462,7537],{"class":7000},[6995,8464,8465,8468,8470,8473],{"class":244,"line":7120},[6995,8466,8467],{"class":7006},"        \"amount\"",[6995,8469,7746],{"class":7000},[6995,8471,8472],{"class":7006},"1234",[6995,8474,7030],{"class":7000},[6995,8476,8477,8479,8481,8483],{"class":244,"line":7133},[6995,8478,7229],{"class":7006},[6995,8480,7024],{"class":7000},[6995,8482,7511],{"class":7006},[6995,8484,7030],{"class":7000},[6995,8486,8487,8489,8491,8494],{"class":244,"line":7146},[6995,8488,7554],{"class":7006},[6995,8490,7024],{"class":7000},[6995,8492,8493],{"class":7006},"10000",[6995,8495,7030],{"class":7000},[6995,8497,8498,8501,8503],{"class":244,"line":7159},[6995,8499,8500],{"class":7006},"        \"is_push_transaction\"",[6995,8502,7024],{"class":7000},[6995,8504,8505],{"class":7006},"true\n",[6995,8507,8508],{"class":244,"line":7172},[6995,8509,7615],{"class":7000},[6995,8511,8512],{"class":244,"line":7185},[6995,8513,7047],{"class":7000},[4953,8515],{},[611,8517,7052],{},[616,8519,8521],{"className":6989,"code":8520,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"result\":\n    {\n        \"asset_change\": 12,\n        \"asset_change_str\": \"12\",\n        \"change\": 12,\n        \"change_str\": \"12\",\n        \"explicit_fee\": 1100000,\n        \"explicit_fee_str\": \"1100000\"\n    }\n}\n",[611,8522,8523,8527,8537,8547,8553,8557,8569,8581,8592,8603,8615,8625,8629],{"__ignoreMap":14},[6995,8524,8525],{"class":244,"line":6997},[6995,8526,7001],{"class":7000},[6995,8528,8529,8531,8533,8535],{"class":244,"line":15},[6995,8530,7007],{"class":7006},[6995,8532,5102],{"class":7000},[6995,8534,7013],{"class":7012},[6995,8536,7016],{"class":7000},[6995,8538,8539,8541,8543,8545],{"class":244,"line":154},[6995,8540,7021],{"class":7006},[6995,8542,7024],{"class":7000},[6995,8544,8439],{"class":7006},[6995,8546,7030],{"class":7000},[6995,8548,8549,8551],{"class":244,"line":7033},[6995,8550,7732],{"class":7006},[6995,8552,7532],{"class":7000},[6995,8554,8555],{"class":244,"line":7044},[6995,8556,7537],{"class":7000},[6995,8558,8559,8562,8564,8567],{"class":244,"line":7107},[6995,8560,8561],{"class":7006},"        \"asset_change\"",[6995,8563,7024],{"class":7000},[6995,8565,8566],{"class":7006},"12",[6995,8568,7030],{"class":7000},[6995,8570,8571,8574,8576,8579],{"class":244,"line":7120},[6995,8572,8573],{"class":7006},"        \"asset_change_str\"",[6995,8575,7024],{"class":7000},[6995,8577,8578],{"class":7012},"\"12\"",[6995,8580,7030],{"class":7000},[6995,8582,8583,8586,8588,8590],{"class":244,"line":7133},[6995,8584,8585],{"class":7006},"        \"change\"",[6995,8587,7024],{"class":7000},[6995,8589,8566],{"class":7006},[6995,8591,7030],{"class":7000},[6995,8593,8594,8597,8599,8601],{"class":244,"line":7146},[6995,8595,8596],{"class":7006},"        \"change_str\"",[6995,8598,7024],{"class":7000},[6995,8600,8578],{"class":7012},[6995,8602,7030],{"class":7000},[6995,8604,8605,8608,8610,8613],{"class":244,"line":7159},[6995,8606,8607],{"class":7006},"        \"explicit_fee\"",[6995,8609,7024],{"class":7000},[6995,8611,8612],{"class":7006},"1100000",[6995,8614,7030],{"class":7000},[6995,8616,8617,8620,8622],{"class":244,"line":7172},[6995,8618,8619],{"class":7006},"        \"explicit_fee_str\"",[6995,8621,7024],{"class":7000},[6995,8623,8624],{"class":7012},"\"1100000\"\n",[6995,8626,8627],{"class":244,"line":7185},[6995,8628,7615],{"class":7000},[6995,8630,8631],{"class":244,"line":7198},[6995,8632,7047],{"class":7000},[4953,8634],{},"where",[852,8637,8638,8643,8648,8653,8661,8676,8682],{},[59,8639,8640,8642],{},[611,8641,8404],{}," is a requested amount we are going to send",[59,8644,8645,8647],{},[611,8646,6869],{}," asset id of the requested amount",[59,8649,8650,8652],{},[611,8651,8147],{}," explicit fee in GROTHs chosen by the user",[59,8654,8655,8658,8659],{},[611,8656,8657],{},"asset_change"," change amount for requested ",[611,8660,6869],{},[59,8662,8663,8666,8667,1475,8669,8671,8672,8675],{},[611,8664,8665],{},"change"," change in for BEAM. ",[611,8668,8657],{},[611,8670,8665],{}," are equal if ",[611,8673,8674],{},"asset_id == 0",", i.e. BEAM",[59,8677,8678,8681],{},[611,8679,8680],{},"explicit_fee"," the fee which should be used",[59,8683,8684,98,8687,8690],{},[611,8685,8686],{},"is_push_transaction",[611,8688,8689],{},"true"," if we are going to push transaction output into the shielded pool.",[8692,8693,8694],"style",{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .s6RL2, html code.shiki .s6RL2{--shiki-default:#FDAEB7;--shiki-default-font-style:italic}",{"title":14,"searchDepth":15,"depth":15,"links":8696},[8697,8698],{"id":6857,"depth":15,"text":6858},{"id":877,"depth":15,"text":878,"children":8699},[8700],{"id":6952,"depth":154,"text":6953},{},"\u002Fdocs\u002Fcore-tech\u002Fadding-support-for-beam-confidential-asset",{"title":6849,"description":14},"docs\u002Fcore-tech\u002FAdding-support-for-Beam-Confidential-Asset","ksg2lWG6YL-C9Pu9il3gpSelrsjZmw8tAQLjE8zKS6I",{"id":8707,"title":8708,"body":8709,"description":14,"extension":17,"image":18,"meta":9467,"navTitle":18,"navigation":20,"path":9468,"seo":9469,"stem":9470,"__hash__":9471},"docs\u002Fdocs\u002Fcore-tech\u002FAddresses-in-Beam.md","Addresses In Beam",{"type":8,"value":8710,"toc":9450},[8711,8717,8720,8734,8737,8770,8773,8777,8780,8784,8786,8789,8797,8800,8803,8807,8818,8821,8841,8845,8848,8851,8858,8861,8891,8895,8902,8905,8908,8911,8914,8917,8924,8929,8946,8955,8959,8968,8974,8980,8983,8986,8989,8997,9001,9014,9017,9023,9027,9030,9033,9045,9053,9060,9063,9077,9080,9088,9091,9095,9107,9110,9113,9123,9132,9136,9143,9171,9177,9180,9183,9186,9192,9194,9198,9201,9204,9207,9209,9213,9215,9218,9228,9245,9249,9252,9255,9260,9269,9273,9276,9282,9285,9294,9298,9301,9304,9363,9367,9370,9376,9382,9386,9391,9400,9408,9411,9414,9417],[34,8712,8713],{},[241,8714],{"alt":8715,"src":8716},"image","https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F110d645f-944f-43ea-a9e5-d51f7159da09",[34,8718,8719],{},"There're (too) many different kinds of addresses in Beam:",[852,8721,8722,8725,8728,8731],{},[59,8723,8724],{},"Regular (a.k.a. new-style)",[59,8726,8727],{},"Legacy (BBS-only, a.k.a. old-style)",[59,8729,8730],{},"Offline",[59,8732,8733],{},"Max-privacy",[34,8735,8736],{},"In addition to those kinds of addresses, there's more terminology:",[852,8738,8739,8746,8751,8765],{},[59,8740,8741,8742,8745],{},"Payment ",[100,8743,8744],{},"Tokens",", that consist of an address with the requested payment amount",[59,8747,8748],{},[100,8749,8750],{},"Vouchers",[59,8752,8753,8756,8757,8760,8761,8764],{},[100,8754,8755],{},"Endpoints"," (alternatively called as ",[100,8758,8759],{},"Signature",", or ",[100,8762,8763],{},"Identity",")",[59,8766,8767],{},[100,8768,8769],{},"Payment proof",[34,8771,8772],{},"Some of the above things are permanent, some expire, and some are intended for single usage.\nIn addition to that, when the wallet is restored, the addresses are not preserved (new wallet instance generates new addresses).\nAll this is very confusing. Here we'll explain in details how things work, why historically so many kinds of addresses were implemented, and what is relevant today.",[11,8774,8776],{"id":8775},"what-are-beam-addresses","What are Beam addresses?",[34,8778,8779],{},"First and foremost:",[48,8781,8783],{"id":8782},"there-are-no-addresses-on-the-beam-blockchain-per-se","there are no addresses on the Beam blockchain per se.",[3136,8785],{},[34,8787,8788],{},"Beam is based on UTXO model (set of coins, in simple words). There're 2 types of UTXOs:",[852,8790,8791,8794],{},[59,8792,8793],{},"MW (MimbleWimble) UTXOs.",[59,8795,8796],{},"Shielded TXOs. Those are created and spent using in Lelantus-MW txs.",[34,8798,8799],{},"Both kinds of UTXOs are opaque, and look like random data. No addresses that expose who owns them, and the value is concealed.",[34,8801,8802],{},"Each UTXO has its secret key, which is needed to build a valid tx that spends it. Means whoever knows that secret key - actually owns the coin.",[41,8804,8806],{"id":8805},"how-the-wallet-manages-its-coins","How the wallet manages its coins",[34,8808,8809,8810,8813,8814,8817],{},"Each wallet has the ",[100,8811,8812],{},"Master Key"," (initialized from the secret seed phrase). It is used to derive all the coin keys. When the coins are generated by the wallet, they're encoded such that they can re recognized by the corresponding ",[100,8815,8816],{},"Owner Key"," (also derived from the Master Key).",[34,8819,8820],{},"This means the following:",[852,8822,8823,8831,8838],{},[59,8824,8825,8826,8828,8829,181],{},"All the coins belong to the wallet that generated it. They can be recognized by its ",[100,8827,8816],{},", and then spent in the future txs using its ",[100,8830,8812],{},[59,8832,8833,8834,8837],{},"Coins do ",[37,8835,8836],{},"NOT"," belong to addresses.",[59,8839,8840],{},"Addresses are only used between the wallets to communicate and build txs (more about this later). After the tx is included in a block - addresses don't matter.",[11,8842,8844],{"id":8843},"mw-txs-and-old-style-addresses","MW txs and old-style addresses",[34,8846,8847],{},"Beam is based on MW, where transactions are built interactively. Means users must communicate to build a transaction.",[34,8849,8850],{},"For this we developed an SBBS system, that allows wallets to exchange encrypted messages anonymously. Wallets can generate public\u002Fprivate key pairs, where the public key is used to encrypt messages, and private key can decrypt them.",[34,8852,8853,8854,8857],{},"That's how ",[37,8855,8856],{},"addresses"," were born on Beam. Address in fact meant SBBS address, a public key to encode messages, that can only be decoded by the appropriate private key.",[34,8859,8860],{},"Here're some notes regarding the SBBS encryption:",[852,8862,8863,8866,8869,8877,8880,8883],{},[59,8864,8865],{},"All encrypted messages are opaque (look like random data), the sender\u002Freceiver of the message is also opaque, and the message is protected against tampering (using HMAC scheme).",[59,8867,8868],{},"Using the SBBS address one can only encrypt messages, not decrypt.",[59,8870,8871,8872],{},"There's no feasible way to realize that a specific SBBS message was encoded by a given SBBS address.\n",[852,8873,8874],{},[59,8875,8876],{},"Means you can share your SBBS address to different users, they won't be able to see when you communicate with others.",[59,8878,8879],{},"Users can generate as many SBBS addresses as they want.",[59,8881,8882],{},"In order to receive the SBBS message, one tries to decrypt all the incoming SBBS traffic. Only the intended messages would be successfully decrypted and pass HMAC verification.",[59,8884,8885,8886],{},"If you listen to several active SBBS addresses - the wallet will try to decrypt each message by each address private key.\n",[852,8887,8888],{},[59,8889,8890],{},"The more active SBBS addresses - the harder the wallet works to receive the messages.",[41,8892,8894],{"id":8893},"address-generation-and-expiration","Address generation and expiration",[34,8896,8897,8898,8901],{},"As we said, a wallet may generate multiple SBBS addreses. It may also ",[100,8899,8900],{},"deactivate"," a specific address, which means it'd stop trying to decrypt incoming SBBS messages by its private key.",[34,8903,8904],{},"Theoretically there was no good reason to have more than 1 SBBS address. User could just live fine with only a single SBBS address, and share it freely. As we've said, all the messages are completely opaque, and the communication is anonymous.",[34,8906,8907],{},"There's only limited scenarios where a user may need more than 1 address. If the user wishes to provide several addresses that look like of different users (for example, have several accounts at an exchange, with different SBBS addresses for funds withdrawal).",[34,8909,8910],{},"However, due to user habits and some misconceptions, users insisted on changing addresses regularly. That's why we implemented automatic SBBS address generation and expiration",[11,8912,8769],{"id":8913},"payment-proof",[34,8915,8916],{},"Unlike other blockchain designs, in Beam there're no addresses on the blockchain per se.\nAs a result, if Alice sends funds to Bob, there's no way to prove it later from the blockchain data (Bob has plausible deniability).",[34,8918,8919,8920,8923],{},"To address this, we implemented a ",[100,8921,8922],{},"Payment Proof",". It's a signature, signed by the recipient of the funds, that it indeed accepts the specific amount from the specific sender. It is signed by the receiver and verified by the sender during the transaction negotiation stage (all this happens off-chain).",[34,8925,6547,8926,8928],{},[100,8927,8922],{}," signature signed the following:",[852,8930,8931,8934,8937,8940],{},[59,8932,8933],{},"Identity (pubkey) of the sender",[59,8935,8936],{},"Identity (pubkey) of the receiver (the signature is signed by the corresponding private key).",[59,8938,8939],{},"Amount and asset type being-received",[59,8941,8942,8943,8945],{},"Transaction Kernel ID. If the tx was negotiated but not broadcasted and accepted in a block - the ",[100,8944,8922],{}," is considered invalid (i.e. there was an intention of the tx, but it didn't take place actually).",[34,8947,8948,8951,8952,181],{},[100,8949,8950],{},"Identities"," of both sender\u002Freceiver were in fact their SBBS addresses. That is, ",[37,8953,8954],{},"the same key was used both for SBBS messages encryption, and to identify the owner of the funds",[11,8956,8958],{"id":8957},"hardware-wallet-and-new-style-addresses-aka-regular-addresses","Hardware Wallet, and new-style addresses (a.k.a. Regular addresses)",[34,8960,8961,8962,8964,8965,8967],{},"With the hardware wallet the things work differently. The ",[100,8963,8812],{}," and all the coin keys are managed entirely in the HW wallet. The software wallet gets the ",[100,8966,8816],{}," that can recognize coins (but not spend them), and handles all the communication and blockchain state change logic.",[34,8969,8970,8971,8973],{},"The SBBS address must be managed by the software wallet, it's too complex for the HW wallet to decrypt all the SBBS traffic. On the other hand, when the ",[100,8972,8922],{}," is signed\u002Fverified - it must be done with the key that is managed by the HW wallet.",[34,8975,8976,8977,8979],{},"This is where we decided to split the SBBS address and the user identity. The SBBS address is the address you're communicating with, and the ",[100,8978,8763],{}," is the public key of the final receiver\u002Fsender of the funds. For standard wallets both are managed by the wallet, but with the HW wallet they're managed in different places.",[34,8981,8982],{},"To support this, we defined a new-style address (now called a Regular address).",[34,8984,8985],{},"First, the address format was changed. The older SBBS address was just a hex-encoded pubkey. We decided to change it into an encoded collection of arbitrary number of parameters (to support possible future parameters for various address\u002Ftoken types).",[34,8987,8988],{},"The Regular address consists of the following fields:",[852,8990,8991,8994],{},[59,8992,8993],{},"SBBS address",[59,8995,8996],{},"User Identity",[41,8998,9000],{"id":8999},"endpoint","Endpoint",[34,9002,9003,9004,2231,9006,2231,9009,9011,9012,181],{},"Historically we had several names for the above user identity: ",[100,9005,8763],{},[100,9007,9008],{},"HW Identity",[100,9010,8759],{},", and etc. All that lead to confuses, so we decided to give a distinctive name to this: the ",[100,9013,9000],{},[34,9015,9016],{},"The rationale behind this name is the following. Suppose Alice sends funds to Bob, both use HW wallet. Conceptually you may treat this situation as this: Alice's HW wallet is the ultimate sender of the funds, Bob's HW wallet is the ultimate receiver. And they negotiate the transaction with each other.\nThe software wallets of Alice and Bob are just intermediate entities, they're not part of the transaction negotiation.",[34,9018,9019,9020,9022],{},"In other words, the ",[100,9021,9000],{}," is the final source\u002Fdestination of the funds.",[11,9024,9026],{"id":9025},"lelantus-mw","Lelantus-MW",[34,9028,9029],{},"To address the inherent MW linkability problem, we extended Beam with the Lelantus-MW protocol. It's our proprietary modification of the Lelantus protocol, adjusted to fit and complement the MW.",[34,9031,9032],{},"With it we added 2 new transaction elements:",[852,9034,9035,9038],{},[59,9036,9037],{},"Shielded Output - add an opaque coin into the shielded pool",[59,9039,9040,9041,9044],{},"Shielded Input - spend ",[100,9042,9043],{},"some"," coin from the shielded pool.",[34,9046,9047,9048,9050,9051,181],{},"In MW transactions are interactive, when Bob receives funds from Alice, he creates his UTXO to accept the funds in advance (during negotiation stage) . And since Bob himself created his UTXO, he can recognize it using his ",[100,9049,8816],{},", and spend using his ",[100,9052,8812],{},[34,9054,9055,9056,9059],{},"In contrast to MW txs, Lelantus-MW txs are non-interactive. Means Alice creates the ",[100,9057,9058],{},"Shielded Output"," tx element, without Bob being-involved. Yet she creates it in such a way that Bob will be able to recognize and spend it later.",[34,9061,9062],{},"This means that Bob should give Alice an additional data, to allow her to send funds to Bob using Lelantus-MW.",[34,9064,9065,9066,9068,9069,9072,9073,9076],{},"Technically each ",[100,9067,9058],{}," comes with a ",[100,9070,9071],{},"Ticket",". It's an opaque data object, but encoded such that it can be recognized by the funds recipient (Bob). Moreover, ",[100,9074,9075],{},"Tickets"," must be unique, it's impossible to use the same ticket twice (this is related to double-spend prevention).",[34,9078,9079],{},"So, basically there're 2 options here:",[56,9081,9082,9085],{},[59,9083,9084],{},"Bob gives Alice a source data, using which Alice may generate arbitrary number of Bob's tickets.",[59,9086,9087],{},"Bob generates arbitrary number of tickets, and gives them to Alice.",[34,9089,9090],{},"Both methods have their pros and cons. And both are supported in terms of different address types.",[41,9092,9094],{"id":9093},"offline-address","Offline address",[34,9096,9097,9098,9100,9101,9103,9104,9106],{},"This corresponds to the 1st method. The ",[100,9099,9094],{}," in essence is a ticket generator. It also comes with the Bob's ",[100,9102,9000],{},", and is also signed by ",[100,9105,9000],{},"'s signature (if Alice needs to prove that she sent funds to Bob - she can show that the corresponding ticket was generated by the generator signed by Bob).",[34,9108,9109],{},"Once Alice has it, she can send arbitrary number of Lelantus-MW txs to Bob, which is a good thing.",[34,9111,9112],{},"There's however a drawback. Alice knows the internal parameters of the ticket (since she actually generated it). One of them later will be used by Bob, when he'll spend this shielded coin.",[34,9114,9115,9116,9119,9120,9122],{},"Means that the ",[37,9117,9118],{},"sender will notice when the receiver will spend the shielded coin",". For the 3rd-party observers the shielded transactions are anonymous, but this specific kind is not anonymous w.r.t. the sender. Hence we call it ",[100,9121,8730],{},", but not truly private.",[34,9124,9125,9128,9129,9131],{},[37,9126,9127],{},"Note:"," despite the above drawback, the above is perfectly fine if you receive shielded funds from a trusted sender. For instance, you may have several wallets (with different seed phrases). You may use ",[100,9130,8730],{}," address to transfer funds in a private way. As we've said, 3rd-party observers will see no link between the Shielded Output and the corresponding Shielded Input.",[41,9133,9135],{"id":9134},"max-privacy-address","Max Privacy address",[34,9137,9138,9139,9142],{},"This corresponds to the 2nd option. The ",[100,9140,9141],{},"Max Privacy"," address consists of the following:",[852,9144,9145,9150,9168],{},[59,9146,9147,9148],{},"Receiver ",[100,9149,9000],{},[59,9151,9152,9153,9155,9156],{},"Arbitrary number of ",[100,9154,8750],{},".\n",[852,9157,9158],{},[59,9159,9160,9161,9164,9165,9167],{},"Each ",[100,9162,9163],{},"Voucher"," is actually a ticket, signed by Bob ",[100,9166,9000],{}," signature (to prove later that Bob is the receiver of the funds).",[59,9169,9170],{},"Optional SBBS address to ask for more vouchers.",[34,9172,9173,9174,9176],{},"This method doesn't have the drawback of the ",[100,9175,8730],{}," address. Alice may send funds to Bob, Bob later may spend those funds anonymously w.r.t. Alice.",[34,9178,9179],{},"The obvious drawback is that there's a limited number of Vouchers\u002FTickets. Once they're all consumed - there's no way to send more txs.\nThis is where the SBBS address can be used. Once Alice runs out of Bob's vouchers (or getting low on them) - her wallet may request for more Bob's vouchers via SBBS. If\u002Fwhen Bob will be online - his wallet will respond, and provide Alice with more vouchers automatically.",[11,9181,8744],{"id":9182},"tokens",[34,9184,9185],{},"As we've said, all the address types, except the \"old-style\", are represented as a collection of parameters. In addition to the address itself (whatever kind it is), it's possible to include more fields.",[34,9187,9188,9189,9191],{},"Using this we've introduced a so-called payment ",[100,9190,8744],{},", which are a way to request a specific payment. They consist of the address (any kind), and the requested Amount and asset type.",[3136,9193],{},[11,9195,9197],{"id":9196},"ideas-for-improvements","Ideas for improvements",[34,9199,9200],{},"So we've described what Beam addresses are, why it's not a big deal to loose them (i.e. coins don't belong to addresses, you don't loose coins).\nWe also explained why there're different kinds of addresses, and why they are necessary. The old-style address is actually obsolete, and even incompatible with the HW wallet (i.e. you can't even generate it with the HW wallet). But, unfortunately, we can't get rid of it completely, because some existing exchanges won't accept different addresses (they do a sort of a regular-expression check on the address). So they're still here.",[34,9202,9203],{},"However, many things can and should be improved, mostly regarding user experience and the UX.",[34,9205,9206],{},"The most important change can be expressed as this:",[3136,9208],{},[48,9210,9212],{"id":9211},"its-all-about-endpoints","It's all about Endpoints",[3136,9214],{},[34,9216,9217],{},"In simple words, each address consists of two things:",[852,9219,9220,9225],{},[59,9221,9222,9223,181],{},"Who does it belong to, i.e. who is the supposed receiver of the funds. This is the ",[100,9224,9000],{},[59,9226,9227],{},"What kind of tx would that be, and how to negotiate and build it.",[34,9229,9230,9232,9233,9236,9237,9240,9241,9244],{},[100,9231,9000],{},", i.e. the identity of the sender\u002Freceiver - is the most important thing. It should be visible wherever applicable, and play a crucial role in the address book.\n",[100,9234,9235],{},"Who"," am I paying, and ",[100,9238,9239],{},"who"," payed me. This is arguably more important than ",[100,9242,9243],{},"how"," is the payment done.",[41,9246,9248],{"id":9247},"address-format","Address format",[34,9250,9251],{},"Currently all address types (except legacy) are displayed as a Base58-encoded strings of a \u003Ckey, value> pairs, where key is an 1-byte identifier of the parameter.\nAs a result, the user has no way to see either the embedded arguments, or even the address type. A better option would be encoding the arguments in a human-readable way.",[34,9253,9254],{},"For example, a Regular (online) address could be displayed as:",[34,9256,9257],{},[611,9258,9259],{},"beam_Bk1azc8VtaYU1f6t7jiRGkxJDiAVui6Y5WvohjoU1yFA_bbs274b78587e1c9643e7472e221be1634b8efe06f747175d3d8c98ce1ef665b056d4a",[34,9261,9262,9263,9265,9266,9268],{},"It begins with ",[611,9264,784],{}," (a common practice in some networks), then followed by a human-readable ",[100,9267,9000],{},", and then followed by the bbs address.",[48,9270,9272],{"id":9271},"what-if-users-tampermodify-address-manually","What if users tamper\u002Fmodify address manually?",[34,9274,9275],{},"The good news is that Beam addresses are generally resistant to tampering. If one modifies the address (either intentionally or not) - there is no risk of loss of funds.",[34,9277,9278,9279,9281],{},"If one modifies the SBBS address, the communication with the receiver will fail. And if the ",[100,9280,9000],{}," is modified, the negotiation with the receiver will fail.",[34,9283,9284],{},"Same applies to Max Privacy and Offline addresses. They contain pre-signed receiver signatures (that would be a part of the future payment proof). If one modifies some address fields - the address would become invalid.",[34,9286,9287,9288,9290,9291,9293],{},"And, again, this all boils down to the ",[100,9289,9000],{}," of the address, i.e. ",[37,9292,9239],{}," is the supposed recipient of the funds. If the sender verifies it and is confident that it's the intended one - there's no risk of funds loss, or the payment going into wrong hands.",[41,9295,9297],{"id":9296},"address-book-refactor","Address book refactor",[34,9299,9300],{},"Address book consists of several tabs. (My active addresses, My expired addresses, Contacts).\nFor the \"Contacts\" tab there is a list of all known addresses of other users.",[34,9302,9303],{},"A more sane address book should look like this",[852,9305,9306,9312,9334],{},[59,9307,9308,9309,9311],{},"There should be a list of known ",[100,9310,8755],{},", not addresses\u002Ftokens. Those are actually different contacts. Each can be annotated by a name.",[59,9313,9314,9315,9317,9318],{},"For each ",[100,9316,9000],{}," we can show the following information:",[852,9319,9320,9323,9326],{},[59,9321,9322],{},"Its SBBS address (if known)",[59,9324,9325],{},"Do we have its Offline address (yes\u002Fno)?",[59,9327,9328,9329],{},"How many vouchers are left for Max Privacy txs?\n",[852,9330,9331],{},[59,9332,9333],{},"Optionally - a button to request more vouchers manually",[59,9335,9336,9337,9339,9340],{},"For owned (my) ",[100,9338,8755],{}," the following information should be presented",[852,9341,9342,9348,9357],{},[59,9343,9344,9345,9347],{},"Internal number. That is, all the keys are generated using ",[100,9346,8812],{},", from the provided key number. Normally they're picked at random, and not shown to the user. But we can show them. By such users will be able to re-generate the same addresses after the wallet is restored.",[59,9349,9350,9351,181],{},"Option to generate an address\u002Ftoken of any kind ",[9352,9353,9354,9355],"u",{},"for this specific ",[100,9356,9000],{},[59,9358,9359,9360,9362],{},"HW wallets: option to verify the ",[100,9361,9000],{}," on the HW wallet",[41,9364,9366],{"id":9365},"send-screen-to","Send screen - To",[34,9368,9369],{},"Currently in the \"To\" field the user puts an address. The wallet parses the address, recognizes its type, and acts accordingly. For some addresses the wallet gives an option to modify the transaction type (Online, Offline, Max Privacy) if that token has enough information.",[34,9371,9372,9373,9375],{},"Instead the wallet should recognize the ",[100,9374,9000],{}," from the given address, check if it's already in the address book, and realize all the possible ways of sending from what it already knows about it. Not only from the parameters of the provided address.",[34,9377,9378,9379,9381],{},"Moreover, it should be possible to specify \"To\" the ",[100,9380,9000],{}," only. Or just the name that the user annotated to it in the address book.\nThe wallet should automatically find it in the address book, and allow tx types according to what is known about it.",[41,9383,9385],{"id":9384},"send-screen-from","Send screen - From",[34,9387,9388,9389,181],{},"Currently this doesn't exist at all. When funds are sent - the sending wallet always identifies itself as a random user with an ephemeral ",[100,9390,9000],{},[34,9392,9393,9394,98,9397,9399],{},"There should be an option to specify an ",[37,9395,9396],{},"existing",[100,9398,9000],{},". By such the sender may make the receiver know who sent the funds.",[34,9401,9402,9403,9405,9406,181],{},"In the \"From\" field there should be a choice of the currently existing ",[100,9404,8755],{}," (i.e. active addresses), as well as previously used (perhaps no more active), or an \"Anonymous\", which means what it is today - a random ",[100,9407,9000],{},[41,9409,9410],{"id":2000},"Transaction details",[34,9412,9413],{},"The transaction details are loaded with lots of technical parameters (SBBS address of sender\u002Freceiver, signatures, etc.). They are mostly meaningless to the user.",[34,9415,9416],{},"There should be the following parameters:",[852,9418,9419,9437],{},[59,9420,9421,9422],{},"For funds transfer transactions:\n",[852,9423,9424,9429,9432,9435],{},[59,9425,9426,9428],{},[100,9427,9000],{}," of the sender\u002Freceiver. If they exist in the address book - this should be mentioned.",[59,9430,9431],{},"Type of tx (Online, Offline, Max Privacy)",[59,9433,9434],{},"Amount transferred and asset type",[59,9436,8769],{},[59,9438,9439,9440],{},"For other txs (coinswap, contract calls)\n",[852,9441,9442,9447],{},[59,9443,9444,9446],{},[100,9445,8755],{}," and Payment proof are irrelevant. Don't show them.",[59,9448,9449],{},"List of sent\u002Freceived asset types and amounts",{"title":14,"searchDepth":15,"depth":15,"links":9451},[9452,9453,9454,9455,9456,9457,9460,9463,9464,9465,9466],{"id":8782,"depth":154,"text":8783},{"id":8805,"depth":15,"text":8806},{"id":8893,"depth":15,"text":8894},{"id":8999,"depth":15,"text":9000},{"id":9093,"depth":15,"text":9094},{"id":9134,"depth":15,"text":9135,"children":9458},[9459],{"id":9211,"depth":154,"text":9212},{"id":9247,"depth":15,"text":9248,"children":9461},[9462],{"id":9271,"depth":154,"text":9272},{"id":9296,"depth":15,"text":9297},{"id":9365,"depth":15,"text":9366},{"id":9384,"depth":15,"text":9385},{"id":2000,"depth":15,"text":9410},{},"\u002Fdocs\u002Fcore-tech\u002Faddresses-in-beam",{"description":14},"docs\u002Fcore-tech\u002FAddresses-in-Beam","ppUlVi9zEOCqmCY18tKujLGcDJBmY4o1L5LwVpD5CsU",{"id":9473,"title":9474,"body":9475,"description":9650,"extension":17,"image":18,"meta":9651,"navTitle":18,"navigation":20,"path":9652,"seo":9653,"stem":9654,"__hash__":9655},"docs\u002Fdocs\u002Fcore-tech\u002FAsset-Descriptor-v1.0.md","Abstract",{"type":8,"value":9476,"toc":9646},[9477,9480,9487,9490,9494,9497,9527,9531,9539,9545,9549,9583,9587,9599,9602],[11,9478,9474],{"id":9479},"abstract",[34,9481,9482,9483],{},"The assets are described ",[175,9484,1248],{"href":9485,"rel":9486},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FConfidential-assets",[179],[34,9488,9489],{},"This document's purpose is to specify the asset metadata, to enable 3rd party tools to consume and display the subset of asset-related information in a simple and well-standardized manner.",[41,9491,9493],{"id":9492},"general-notes","General notes",[34,9495,9496],{},"Asset meta is a byte buffer associated with the asset and stored on chain.",[852,9498,9499,9502,9508,9521,9524],{},[59,9500,9501],{},"Asset metadata should be an UTF-8 string",[59,9503,9504,9505],{},"Asset metadata should be serialized as a simple name=value set of pairs, delimited with ",[611,9506,9507],{},";",[59,9509,6547,9510,9513,9514,9517,9518,9520],{},[611,9511,9512],{},"keyN=valueN;"," sequence must be preceded with ",[611,9515,9516],{},"STD:"," prefix, there is no need for ",[611,9519,9507],{}," at the sequence end",[59,9522,9523],{},"The total size of the metadata cannot exceed 16 Kbytes (16,384 bytes)",[59,9525,9526],{},"Every description should be in English",[41,9528,9530],{"id":9529},"asset-metadata-has-2-groups-of-properties","Asset metadata has 2 groups of properties:",[852,9532,9533,9536],{},[59,9534,9535],{},"Standard properties",[59,9537,9538],{},"Optional properties",[34,9540,9541,9544],{},[100,9542,9543],{},"WARNING:"," Both types of properties are immutable and can't be changed after the asset is created. Therefore it is strongly recommended to double-check the values before starting the asset registration.",[11,9546,9548],{"id":9547},"standard-properties-mandatory","Standard properties, mandatory",[852,9550,9551,9559,9565,9571,9577],{},[59,9552,9553,9556,9557],{},[611,9554,9555],{},"SCH_VER="," metadata schema version, currently must be ",[611,9558,6679],{},[59,9560,9561,9564],{},[611,9562,9563],{},"N="," human-readable asset name, for example Beam Coin",[59,9566,9567,9570],{},[611,9568,9569],{},"SN="," human-readable short name\u002Fasset code, for example BEAM. Length should not exceed 6 characters.",[59,9572,9573,9576],{},[611,9574,9575],{},"UN="," human-readable asset unit name, for example Beam",[59,9578,9579,9582],{},[611,9580,9581],{},"NTHUN="," human-readable smallest asset unit name (nth-unit name), for example Groth",[11,9584,9586],{"id":9585},"standard-properties-non-mandatory","Standard properties, non-mandatory",[852,9588,9589],{},[59,9590,9591,9594,9595,9598],{},[611,9592,9593],{},"NTH_RATIO="," integer that represents the ratio of the smallest asset unit to regular unit. If omitted default value of ",[611,9596,9597],{},"100000000"," is used",[11,9600,9538],{"id":9601},"optional-properties",[852,9603,9604,9610,9616,9622,9628,9634,9640],{},[59,9605,9606,9609],{},[611,9607,9608],{},"OPT_SHORT_DESC="," an one-liner, should not exceed 128 characters",[59,9611,9612,9615],{},[611,9613,9614],{},"OPT_LONG_DESC="," a paragraph, should not exceed 1024 characters",[59,9617,9618,9621],{},[611,9619,9620],{},"OPT_SITE_URL="," URL of the asset website",[59,9623,9624,9627],{},[611,9625,9626],{},"OPT_PDF_URL="," URL for the description paper",[59,9629,9630,9633],{},[611,9631,9632],{},"OPT_FAVICON_URL="," URL of the favicon",[59,9635,9636,9639],{},[611,9637,9638],{},"OPT_LOGO_URL="," URL of the logo in SVG vector format",[59,9641,9642,9645],{},[611,9643,9644],{},"OPT_COLOR="," color in the hex format (#FF00FF for example) to be used by the UI to display this asset. If not specified default color would be generated. Currently default colors are based on the asset id",{"title":14,"searchDepth":15,"depth":15,"links":9647},[9648,9649],{"id":9492,"depth":15,"text":9493},{"id":9529,"depth":15,"text":9530},"The assets are described here",{},"\u002Fdocs\u002Fcore-tech\u002Fasset-descriptor-v1.0",{"title":9474,"description":9650},"docs\u002Fcore-tech\u002FAsset-Descriptor-v1.0","IGjO9UMtXySYPzhfzp76Impn4ilgtv6nOGNUgo1BUU0",{"id":9657,"title":9658,"body":9659,"description":9663,"extension":17,"image":18,"meta":10390,"navTitle":18,"navigation":20,"path":10391,"seo":10392,"stem":10393,"__hash__":10394},"docs\u002Fdocs\u002Fcore-tech\u002FAtomic-swap.md","Atomic Swap",{"type":8,"value":9660,"toc":10382},[9661,9664,9667,9671,9674,9686,9689,9740,9756,9760,9766,9772,9778,9781,9784,9792,9796,9801,9816,9820,9832,9879,9883,9902,9959,9964,9983,9987,9991,10198,10202,10372,10376],[34,9662,9663],{},"Atomic swap is performed between Beam and other cryptocurrency. Denote it BTC, but actually it can denote other network that supports the needed functionality.",[34,9665,9666],{},"The swap is performed in a single transaction, which effectively transfers the ownership of the Beam UTXO in exchange for some secret, which is needed to claim the being-exchanged coin on the BTC network.",[11,9668,9670],{"id":9669},"high-level-design","High-level design",[34,9672,9673],{},"There are two parties:",[852,9675,9676,9681],{},[59,9677,9678,9680],{},[37,9679,697],{},"lice. Owns the Beam, interested to trade it for the BTC",[59,9682,9683,9685],{},[37,9684,781],{},"ob. Owns the BTC, interested to trade it for the Beam.",[34,9687,9688],{},"There are 3 major phases of the atomic swap",[56,9690,9691,9702,9729],{},[59,9692,9693,9694],{},"Prerequesites\n",[852,9695,9696,9699],{},[59,9697,9698],{},"The being-exchanged UTXOs are locked on both networks for a specific time period (in terms of blocks).",[59,9700,9701],{},"Parties monitor both networks to ensure the source UTXOs are indeed locked.",[59,9703,9704,9705],{},"Exchange\n",[852,9706,9707,9713,9718,9724],{},[59,9708,9709,9710,9712],{},"Parties collaborate to create a transaction that transfers the locked Beam to ",[37,9711,781],{}," in exchange for the secret.",[59,9714,9715,9717],{},[37,9716,781],{}," substitutes the secret to the transaction and finally broadcasts it to the network.",[59,9719,9720,9721,9723],{},"Once transaction is visible - ",[37,9722,697],{}," learns the secret.",[59,9725,9726,9728],{},[37,9727,697],{}," creates a BTC transaction to claim the BTC UTXO, and broadcasts it to the BTC network.",[59,9730,9731,9732],{},"Rollback. In case the swap didn't take place (for whatever reason)\n",[852,9733,9734,9737],{},[59,9735,9736],{},"Locked UTXOs on both network should remain intact until their lock timeout expires.",[59,9738,9739],{},"After the timeout expiration parties broadcast transactions that transfers the locked UTXOs back to them.",[34,9741,9742,9743,9745,9746,9749,9750,9752,9753,9755],{},"Note that ",[37,9744,697],{}," actually claims the BTC UTXO ",[9352,9747,9748],{},"after"," sending the Beam UTXO. This means that the lock timeout of the BTC UTXO must be significantly bigger than that of the Beam UTXO, because ",[37,9751,781],{}," may broadcast the Beam transaction just before the timeout expires, the ",[37,9754,697],{}," should still have enough time to build and broadcast the BTC transaction.",[11,9757,9759],{"id":9758},"technical-design","Technical design",[34,9761,6547,9762,9765],{},[100,9763,9764],{},"unlock secret"," is the SHA-256 hash preimage (i.e. a 256-bit value which, after hashing, should be equal to a known 256-bit value). Supported on Beam, BTC, and, probably, many other networks.",[34,9767,9768,9771],{},[37,9769,9770],{},"Note",": The drawback of this scheme is a considerable privacy compromise. As we'll see, it's possible for the attacker to detect such an atomic swap, by looking for the matching hash preimages in both networks.",[34,9773,9774,9775,9777],{},"There is a better option, where the ",[100,9776,9764],{}," is an EC scalar, i.e. private key. It's based on the so-called aggregate signatures. It's less generic, since it assumes both networks use the same EC equation and the Generator.",[34,9779,9780],{},"So we'll review the scheme with the Hash-lock, but keep in mind that it can easily be modified to the one with the aggregate signature, and the rest of the argument, and the general flow are exactly the same.",[34,9782,9783],{},"There are no scripts in Beam blockchain. However the following is supported in the transaction kernel:",[852,9785,9786,9789],{},[59,9787,9788],{},"Timelock - minimum blockchain height for the kernel to be valid",[59,9790,9791],{},"HashPreimage",[41,9793,9795],{"id":9794},"utxo-lock-on-btc-network","UTXO lock on BTC network",[34,9797,9798,9800],{},[37,9799,781],{}," broadcasts a BTC transaction, which creates an UTXO which can be spent under the following conditions:",[56,9802,9803,9808],{},[59,9804,9805,9806],{},"Timeout + secret key chosen by ",[37,9807,781],{},[59,9809,9810,9811,9813,9814],{},"Hash preimage chosen by ",[37,9812,781],{}," + secret key chosen by ",[37,9815,697],{},[41,9817,9819],{"id":9818},"utxo-lock-on-beam-network","UTXO lock on Beam network",[34,9821,9822,9823,1475,9825,9827,9828,9831],{},"This part is somewhat more complex, since there are no scripts in Beam. ",[37,9824,697],{},[37,9826,781],{}," collaborate to create a ",[100,9829,9830],{},"shared"," UTXO, whose blinding factor is shared between them.",[56,9833,9834,9841,9861,9876],{},[59,9835,9836,1475,9838,9840],{},[37,9837,697],{},[37,9839,781],{}," randomly choose their parts of the blinding factor for the shared UTXO",[59,9842,9843,1475,9845,9847,9848,9850,9851],{},[37,9844,697],{},[37,9846,781],{}," first create the \"rollback\" transaction, which would transfer the shared UTXO back to ",[37,9849,697],{}," if the exchange didn't take place.\n",[852,9852,9853,9856],{},[59,9854,9855],{},"This transaction kernel is Time-locked, i.e. transaction can only be broadcasted starting from specific blockchain height.",[59,9857,9858,9860],{},[37,9859,697],{}," saves this transaction, but doesn't broadcast yet.",[59,9862,9863,1475,9865,9867,9868,9870,9871],{},[37,9864,697],{},[37,9866,781],{}," create the transaction that spends ",[37,9869,697],{},"'s UTXO and creates the shared one.\n",[852,9872,9873],{},[59,9874,9875],{},"The tricky part is creating the Bulletproof for the shared UTXO. Takes 3 iterations.",[59,9877,9878],{},"They broadcast this transaction to the Beam network, to create the shared UTXO.",[41,9880,9882],{"id":9881},"exchange-transaction","Exchange transaction",[34,9884,9885,9886,9888,9889,9892,9893,9895,9896,9899,9900,181],{},"At this point both Beam and BTC UTXOs are locked, both parties get confirmations for this. In addition ",[37,9887,697],{}," knows the ",[100,9890,9891],{},"Image"," of the locked BTC UTXO. Now they collaborate to build a Beam transaction that transfers the shared (locked) Beam UTXO to ",[37,9894,781],{}," in exchange for revealing the ",[100,9897,9898],{},"Hash Preimage",", which, after hashing, equals to the known ",[100,9901,9891],{},[852,9903,9904,9909,9919,9926,9931,9939,9954],{},[59,9905,9906,9908],{},[37,9907,781],{}," randomly chooses the blinding factor for the new UTXO",[59,9910,9911,9913,9914,9916,9917,181],{},[37,9912,697],{}," creates the Transaction Kernel, which is supposed to contain the ",[100,9915,9898],{}," (but doesn't contain yet), which corresponds to the knwo ",[100,9918,9891],{},[59,9920,9921,9923,9924,181],{},[37,9922,697],{}," puts her part of the kernel multisig, which assumes the correct ",[100,9925,9891],{},[59,9927,9928,9929,181],{},"Incomplete transaction is passed to ",[37,9930,781],{},[59,9932,9933,9935,9936,9938],{},[37,9934,781],{}," puts his part of the kernel multisig, which assumes the correct ",[100,9937,9891],{}," (same as Alice).",[59,9940,9941,9949],{},[9352,9942,9943,9945,9946,9948],{},[37,9944,781],{}," substitutes the correct ",[100,9947,9898],{}," to make the transaction kernel valid.",[852,9950,9951],{},[59,9952,9953],{},"This is where the atomic swap actually occurs!",[59,9955,9956,9958],{},[37,9957,781],{}," broadcasts the transaction to the Beam network.",[34,9960,9961,9963],{},[37,9962,697],{}," monitors the Beam network. Once the exchange transaction kernel is visible:",[852,9965,9966,9971,9978],{},[59,9967,9968,9970],{},[37,9969,697],{}," realized that the exchange occurred.",[59,9972,9973,9975,9976,181],{},[37,9974,697],{}," learns the ",[100,9977,9898],{},[59,9979,9980,9982],{},[37,9981,697],{}," creates and broadcasts the BTC transaction to claim her BTC UTXO.",[11,9984,9986],{"id":9985},"in-depth-flow-diagram","In-depth flow diagram",[41,9988,9990],{"id":9989},"bob","Bob",[852,9992,9993,10055,10116,10121,10185],{},[59,9994,9995,9996],{},"Collaborate to lock the BTC UTXO\n",[852,9997,9998,10011,10020,10028,10049],{},[59,9999,10000,10001,10004,10005,10007,10008,181],{},"Get ",[611,10002,10003],{},"Pka"," from ",[37,10006,697],{}," - her generated pubkey for some secret key ",[611,10009,10010],{},"ska",[59,10012,10013,10014,10017,10018,181],{},"Generate the ",[611,10015,10016],{},"hpi"," - the ",[100,10019,9898],{},[59,10021,10022,10017,10025,181],{},[611,10023,10024],{},"hi = Hash(hpi)",[100,10026,10027],{},"Hash Image",[59,10029,10030,10031],{},"Generate and broadcast the transaction that creates a locked BTC UTXO.\n",[852,10032,10033,10041],{},[59,10034,10035,10036,1475,10038,10040],{},"The created UTXO can be spent iff both ",[611,10037,10016],{},[611,10039,10010],{}," are known.",[59,10042,10043,1475,10046,10048],{},[611,10044,10045],{},"hi",[611,10047,10003],{}," are revealed.",[59,10050,10051,10052,10054],{},"Send ",[37,10053,697],{}," this transaction (so she'll be able to identify it in the BTC network).",[59,10056,10057,10058],{},"Collaborate to lock the Beam UTXO\n",[852,10059,10060,10067,10076,10095,10105],{},[59,10061,10062,10063,10066],{},"Generate ",[611,10064,10065],{},"sfb"," - the part of the blinding factor of the shared UTXO.",[59,10068,10000,10069,10072,10073,10075],{},[611,10070,10071],{},"Pfa"," - ",[37,10074,697],{},"'s part of the public blinding factor (of the shared UTXO).",[59,10077,10078,10079,10081],{},"Collaborate to sign the kernel for the transaction that transfers the shared (non-existing yet) UTXO back to ",[37,10080,697],{},[852,10082,10083,10088],{},[59,10084,10085],{},[9352,10086,10087],{},"The kernel must be time-locked",[59,10089,10090,10092,10093,181],{},[37,10091,781],{},"'s part of the signature accounts for the ",[611,10094,10065],{},[59,10096,10097,10098],{},"Collaborate to create the Bulletproof of the shared UTXO.\n",[852,10099,10100],{},[59,10101,10102,10103],{},"requires 3 iteration cycles with ",[37,10104,697],{},[59,10106,10107,10108],{},"Collaborate to sign the kernel for the transaction that creates the shared UTXO\n",[852,10109,10110],{},[59,10111,10112,10092,10114,181],{},[37,10113,781],{},[611,10115,10065],{},[59,10117,10118],{},[9352,10119,10120],{},"Wait until the mutual UTXO becomes visible",[59,10122,10123,10124],{},"Collaborate to build the exchange transaction\n",[852,10125,10126,10143,10146,10152,10158,10166,10182],{},[59,10127,10128,10129,9155,10131],{},"Transaction kernel is supposed to (but doesn't yet) contain the ",[611,10130,10016],{},[852,10132,10133],{},[59,10134,10135,10136,10139,10140,10142],{},"Means - its signature signs the kernel contents, including ",[611,10137,10138],{},"Hash(hpi) == hi",", whereas ",[611,10141,10045],{}," is known to both parties.",[59,10144,10145],{},"Generate the new UTXO",[59,10147,10148,10149,10151],{},"Pass it to ",[37,10150,697],{}," so that she creates such a kernel, and substitutes her part of the signature.",[59,10153,10154,10155,10157],{},"Get the half-signed kernel from ",[37,10156,697],{},", and verify it.",[59,10159,10160],{},[9352,10161,10162,10165],{},[37,10163,10164],{},"Important:"," Ensure there is enough time left until the timelock of the shared UTXO expires!",[59,10167,10168,10169],{},"Finish the kernel signature.\n",[852,10170,10171,10179],{},[59,10172,10173,10174,10176,10177,181],{},"Substitute the ",[611,10175,10016],{}," as the ",[100,10178,9898],{},[59,10180,10181],{},"Complete the signature.",[59,10183,10184],{},"Broadcast the transaction to the Beam network.",[59,10186,10187,10190],{},[9352,10188,10189],{},"Wait until the exchange transaction becomes visible, or until the BTC UTXO timelock expires.",[852,10191,10192,10195],{},[59,10193,10194],{},"If the transaction is visible (and enough new blocks are generated above) - Congratulations! It's done.",[59,10196,10197],{},"If the BTC UTXO timelock expired and it's still unspent - take it back (create and broadcast another BTC transaction).",[41,10199,10201],{"id":10200},"alice","Alice",[852,10203,10204,10245,10293,10298,10303,10337],{},[59,10205,9995,10206],{},[852,10207,10208,10213,10221],{},[59,10209,10062,10210,10212],{},[611,10211,10010],{}," - private key on the BTC network.",[59,10214,10051,10215,10218,10219,181],{},[611,10216,10217],{},"Pka = G * ska"," to ",[37,10220,781],{},[59,10222,10223,10224,10226,10227],{},"Receive the BTC transaction details from ",[37,10225,781],{},", and verify it\n",[852,10228,10229,10232],{},[59,10230,10231],{},"Correct amount is locked.",[59,10233,10234,10235,10237,10238,10241,10242,10244],{},"Can be spent using ",[611,10236,10010],{},", and a ",[100,10239,10240],{},"Preimage"," of ",[611,10243,10045],{}," (the preimage is not known yet).",[59,10246,10057,10247],{},[852,10248,10249,10252,10257,10264,10290],{},[59,10250,10251],{},"Select input(s) to build the transaction that creates the shared UTXO",[59,10253,10062,10254,10066],{},[611,10255,10256],{},"sfa",[59,10258,10000,10259,10072,10262,10075],{},[611,10260,10261],{},"Pfb",[37,10263,781],{},[59,10265,10266,10267,10269,10270],{},"Collaborate with ",[37,10268,781],{}," to build:\n",[852,10271,10272,10284,10287],{},[59,10273,10274,10275,9155,10277],{},"A time-locked rollback transaction that transfers the shared (non-existing yet) UTXO back to ",[37,10276,697],{},[852,10278,10279],{},[59,10280,10281],{},[9352,10282,10283],{},"It must be created before the shared UTXO is actually created.",[59,10285,10286],{},"Bulletproof for the shared UTXO",[59,10288,10289],{},"Transaction that spends the selected inputs and creates the shared UTXO",[59,10291,10292],{},"Send the transaction to create the shared UTXO to the network",[59,10294,10295],{},[9352,10296,10297],{},"Wait until the locked BTC UTXO becomes visible in the BTC network",[59,10299,10300],{},[9352,10301,10302],{},"Ensure the BTC timelock is significantly bigger than the Beam timelock",[59,10304,10123,10305],{},[852,10306,10307,10311,10332],{},[59,10308,10128,10309,181],{},[611,10310,10016],{},[59,10312,10313,10315,10316],{},[37,10314,697],{}," creates such a kernel, puts her part of the signature, which\n",[852,10317,10318,10323],{},[59,10319,10320,10321,2344],{},"Corresponds to her part of the shared UTXO (compensates for ",[611,10322,10010],{},[59,10324,10325,10326,10328,10329,10331],{},"Would become valid only when the correct ",[100,10327,9898],{}," (",[611,10330,10016],{},") will be substituted.",[59,10333,10334,10335],{},"Half-signed transaction is passed to ",[37,10336,781],{},[59,10338,10339,10342],{},[9352,10340,10341],{},"Wait until the exchange transaction becomes visible, or until the Beam UTXO timelock expires.",[852,10343,10344,10361,10369],{},[59,10345,10346,10347],{},"Once the transaction is visible:\n",[852,10348,10349,10356],{},[59,10350,10351,9975,10353,10355],{},[37,10352,697],{},[611,10354,10016],{}," from the visible transaction kernel",[59,10357,10358,10360],{},[37,10359,697],{}," Creates and broadcasts the BTC transaction to claim the BTC UTXO",[59,10362,10363,10364],{},"If the Beam UTXO timelock expired and it's still unspent\n",[852,10365,10366],{},[59,10367,10368],{},"Broadcast the rollback transaction to the network",[59,10370,10371],{},"Wait until the transaction (either post-exchange or the rollback) becomes visible.",[41,10373,10375],{"id":10374},"swap-diagram","Swap diagram",[34,10377,10378],{},[241,10379],{"alt":10380,"src":10381},"Atomic Swap Diagram","https:\u002F\u002Fuser-images.githubusercontent.com\u002F2501619\u002F60335463-abf39900-99a6-11e9-83ae-9494ea9e3577.png",{"title":14,"searchDepth":15,"depth":15,"links":10383},[10384,10385,10386,10387,10388,10389],{"id":9794,"depth":15,"text":9795},{"id":9818,"depth":15,"text":9819},{"id":9881,"depth":15,"text":9882},{"id":9989,"depth":15,"text":9990},{"id":10200,"depth":15,"text":10201},{"id":10374,"depth":15,"text":10375},{},"\u002Fdocs\u002Fcore-tech\u002Fatomic-swap",{"description":9663},"docs\u002Fcore-tech\u002FAtomic-swap","BWZXO4MBfJS3u_Ih-McwqLbURCV2QG5WTJg4y-0jeqg",{"id":10396,"title":10397,"body":10398,"description":14,"extension":17,"image":18,"meta":10482,"navTitle":18,"navigation":20,"path":10483,"seo":10484,"stem":10485,"__hash__":10486},"docs\u002Fdocs\u002Fcore-tech\u002FAtomic-swap-token.md","Atomic swap token",{"type":8,"value":10399,"toc":10474},[10400,10403,10407,10410,10413,10416,10421,10426,10431,10434,10437,10441,10444,10449,10452,10457,10461],[11,10401,10397],{"id":10402},"atomic-swap-token",[41,10404,10406],{"id":10405},"overview","Overview",[34,10408,10409],{},"Swap token is intended to allow users to exchange info about transactions(swap) via any side channels.\nIn general, token is serialized list of transaction parameters, presented as a base58 encoded byte buffer.",[41,10411,5012],{"id":10412},"description",[34,10414,10415],{},"Token has the following fields:",[34,10417,10418],{},[611,10419,10420],{},"- flags              \u002F\u002F 1 byte",[34,10422,10423],{},[611,10424,10425],{},"- optional TxID      \u002F\u002F 1 or 17 bytes",[34,10427,10428],{},[611,10429,10430],{},"- list of parameters \u002F\u002F not less than 34 byte since transaction should have at least one address parameter",[48,10432,10433],{"id":10433},"flags",[34,10435,10436],{},"Flags is a 1-byte field where only the highest bit is defined the others are reserved.\n0x80 means that this is a token.",[48,10438,10440],{"id":10439},"tx-id","tx ID",[34,10442,10443],{},"This is an optional transaction ID. All swap transaction should have this value. It is optional for the cases if we will use the token structure for other types of transaction.\nThere are two possible values:",[34,10445,10446],{},[611,10447,10448],{},"|0x01| 16 byte UUID|",[34,10450,10451],{},"or",[34,10453,10454],{},[611,10455,10456],{},"|0x00| ",[48,10458,10460],{"id":10459},"transaction-parameters","Transaction parameters",[34,10462,10463,10464,10467,10468,10473],{},"Transaction parameter is a pair of the parameter key and value.\nThe key is 1 byte value and its meaning is defined by ",[611,10465,10466],{},"TxParameterID ","enum from ",[175,10469,10472],{"href":10470,"rel":10471},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fwallet\u002Fcommon.h",[179],"wallet\u002Fcommon.h","\nThe values are arrays of bytes and contain serialized values.\nThe value type and size is defined by the key meaning. All integer types are big-endian.",{"title":14,"searchDepth":15,"depth":15,"links":10475},[10476,10477],{"id":10405,"depth":15,"text":10406},{"id":10412,"depth":15,"text":5012,"children":10478},[10479,10480,10481],{"id":10433,"depth":154,"text":10433},{"id":10439,"depth":154,"text":10440},{"id":10459,"depth":154,"text":10460},{},"\u002Fdocs\u002Fcore-tech\u002Fatomic-swap-token",{"title":10397,"description":14},"docs\u002Fcore-tech\u002FAtomic-swap-token","zXTwdQ81NRpALueOEdl4jSYTum-9v0fEeRwSCy2FwvQ",{"id":10488,"title":10489,"body":10490,"description":10911,"extension":17,"image":18,"meta":10912,"navTitle":18,"navigation":20,"path":10913,"seo":10914,"stem":10915,"__hash__":10916},"docs\u002Fdocs\u002Fcore-tech\u002FAuthorization-control-and-signatures-in-contracts.md","Authorization Control And Signatures In Contracts",{"type":8,"value":10491,"toc":10904},[10492,10506,10509,10520,10523,10526,10543,10553,10556,10563,10566,10589,10593,10596,10599,10606,10609,10642,10645,10649,10655,10658,10665,10675,10678,10681,10688,10705,10708,10712,10721,10724,10767,10770,10773,10776,10820,10823,10844,10848,10855,10894,10898,10901],[34,10493,10494,10495,10498,10499,10502,10503,181],{},"In the most common cases the contract method calls ",[611,10496,10497],{},"Env::AddSig()"," for each needed public key, and the app shader includes the key material for each key within the ",[611,10500,10501],{},"SigRequest"," structure, when it calls ",[611,10504,10505],{},"Env::GenerateKernel()",[34,10507,10508],{},"This is a preferred method to design a contract and its application, as it has the following advantages:",[852,10510,10511,10514,10517],{},[59,10512,10513],{},"Performance: native signature is both compact and fast.",[59,10515,10516],{},"Security: apps have no access to secret keys, they can only derive public keys.",[59,10518,10519],{},"Simplicity.",[34,10521,10522],{},"However there are more complex situations, where either several users are required to authorize a method call, or a custom signature scheme is required (such as m-out-of-n signature).",[34,10524,10525],{},"Those may include:",[56,10527,10528,10534,10537,10540],{},[59,10529,10530,10531,10533],{},"Explicit multisignatures. Several keys are verified (mutliple calls to ",[611,10532,10497],{},"), belonging to different users.",[59,10535,10536],{},"Seemless multisignatures. There is a single key, but it is a sum (or any linear combination) of several keys, belonging to different users.",[59,10538,10539],{},"Non-standard signature is needed (ring signatures and etc.).",[59,10541,10542],{},"Any combination of the above",[34,10544,10545,10546,10548,10549,10552],{},"On the contract side those are supported. In addition to ",[611,10547,10497],{}," (which can be invoked arbitrary number of times) the contract has access to ",[37,10550,10551],{},"Secp"," primitives, using which it can implement custom cryptographic scheme verification.",[34,10554,10555],{},"For apps, however, the default functionality is not enough. Creating a multisigned transaction that is supposed to invoke such a contract assumes that different wallets should cooperate and communicate on behalf of the apps.",[34,10557,10558,10559,10562],{},"So we extended the BVM functionality to support all the variety of possible signature schemes. Though apps still don't get direct access to secret keys with the added functions, the risk is somewhat greater (more about this later), hence to use those extra functions the app needs an ",[9352,10560,10561],{},"elevated privilege level"," (OFF by default).",[34,10564,10565],{},"Technically those functions are:",[852,10567,10568,10571,10577,10580,10583],{},[59,10569,10570],{},"Nonce Slots management functions",[59,10572,10573,10574,10576],{},"getting an image of a key or a slot, with either standard (",[37,10575,1123],{},") or any custom generator",[59,10578,10579],{},"getting a blinded key",[59,10581,10582],{},"Communication support (via SBBS system)",[59,10584,10585,10588],{},[611,10586,10587],{},"Env::GenerateKernelAdvanced()"," - with more specific signature control",[41,10590,10592],{"id":10591},"nonce-slots-and-blinded-keys","Nonce slots and blinded keys",[34,10594,10595],{},"(the idea of nonce slots is the same as in our HW wallet design)",[34,10597,10598],{},"Generally our supported signatures follow this ritual: first a unique nonce is generated and its image is exposed (in some manner). Then, during the signing, a pseudo-random challenge is derived, and the prover should reveal a linear combination of the secret key and the nonce, a.k.a. blinded key.",[34,10600,10601,10602,10605],{},"This scheme is applicable to Schnorr's signature, Ring signature, Groth's 1-out-of-many, and probably many others.\nIt's ",[37,10603,10604],{},"critically"," important to make sure the nonce is unique, i.e. not reused for the same secret key in different signatures.",[34,10607,10608],{},"So we decided to add appropriate support functions for the apps: generate unique nonces, get their images, and get blinded keys:",[852,10610,10611,10622,10625],{},[59,10612,10613,10614],{},"Generate unique nonce.\n",[852,10615,10616,10619],{},[59,10617,10618],{},"BVM generates a nonce using system random and state mutation.",[59,10620,10621],{},"optionally app can specify extra seed data to strengthen the nonce (i.e. less dependency on system random).",[59,10623,10624],{},"Get nonce image (arbitrary number of times, with arbitrary generators).",[59,10626,10627,10628],{},"Get blinded key.\n",[852,10629,10630,10639],{},[59,10631,10632,10633,2231,10636,10638],{},"The app supplies the needed key material (a.k.a. ",[611,10634,10635],{},"KeyID",[611,10637,10501],{},"), arbitrary challenge (scalar) and the nonce slot number.",[59,10640,10641],{},"Once the nonce is used - it's immediately wiped.",[34,10643,10644],{},"By such apps are given opportunity to build complex signature schemes, without either direct access to the secret keys, or the feasible opportunity to extract them.",[11,10646,10648],{"id":10647},"building-a-custom-signature-scheme","Building a custom signature scheme",[34,10650,10651,10652,10654],{},"As we mentioned, an app can create a custom signature (such as Ring signature), include it in the contract method invocation arguments, then the contract shader may verify it by implementing the needed verification scheme (in terms of ",[37,10653,10551],{}," primitives).",[34,10656,10657],{},"Apps can generate such signatures by the provided functionality: obtaining nonce images, and getting blinded keys for the needed challenges.",[48,10659,10661,10662],{"id":10660},"risk-of-signature-hijacking","Risk of signature ",[100,10663,10664],{},"hijacking",[34,10666,10667,10668,10670,10671,10674],{},"When using native signature (",[611,10669,10501],{},"\u002F",[611,10672,10673],{},"AddSig()","), it's included in the kernel multi-signature, which also includes its blinding factor. Other users can't take it as-is and use in their transactions (it's not feasible to build a transaction with unknown blinding factor).",[34,10676,10677],{},"In contrast, the custom signature is not automatically bound to the kernel blinding factor. Hence any other user that monitors transactions can build its own transaction that invokes the same method with exactly the same arguments.",[34,10679,10680],{},"To mitigate this threat we recommend the following scheme:",[34,10682,10683,10684,10687],{},"Normally challenges for signatures are derived using ",[100,10685,10686],{},"Random Oracle Model",", which is initialized with the message being-signed, this binds the signature for this specific message.",[34,10689,10690,10691,10694,10695,10698,10699,10702,10703,2344],{},"So we recommend deriving an arbitrary ephemeral (unique) key. Its image (pubKey) should be included in the method arguments, and initialize the ",[100,10692,10693],{},"Oracle"," (challenges derivation), ",[37,10696,10697],{},"AND"," it also should be included in the ",[9352,10700,10701],{},"native"," kernel signature (i.e. ",[611,10704,10497],{},[34,10706,10707],{},"So we recommend using a hybrid of a custom and native signatures. Instead of binding the signature to a message, we recommend binding it to an ephemeral key, whose signature in turn is bound to the kernel blidning factor. By such it's no more feasible to hijack the signature.",[11,10709,10711],{"id":10710},"building-a-mutli-signed-transaction-using-native-signature","Building a mutli-signed transaction using native signature",[34,10713,10714,10715,10717,10718,10720],{},"In simple scenario the app calls ",[611,10716,10505],{},", and supplies the info about how it should be signed (gives array of ",[611,10719,10501],{},"), the signing itself is deferred until a later stage. Hence some kernel parameters may still vary: min\u002Fmax height, fee.",[34,10722,10723],{},"For multi-signed transactions this is different. All the kernel parameters must be decided in advance, so that all the challenges can be derived.\nThose include:",[852,10725,10726,10733,10736,10739,10742,10753],{},[59,10727,10728,10729,10732],{},"Standard parameters: ",[37,10730,10731],{},"contractID",", method number, args",[59,10734,10735],{},"min\u002Fmax heights",[59,10737,10738],{},"kernel fee",[59,10740,10741],{},"Funds balance",[59,10743,10744,10745],{},"Kernel blinding factor image\n",[852,10746,10747],{},[59,10748,10749,10750],{},"together with Funds balance is used to derive kernel ",[611,10751,10752],{},"Commitment",[59,10754,10755,10756],{},"Total nonce image, which includes\n",[852,10757,10758,10761,10764],{},[59,10759,10760],{},"internal BVM nonce for the kernel blinding factor",[59,10762,10763],{},"all the nonces the app uses for the keys used in the signature",[59,10765,10766],{},"all the nonces the apps running in different wallets use for their keys",[34,10768,10769],{},"From all this the challenges are derived.",[34,10771,10772],{},"Then it's the apps's task to calculate the signature: the sum of all the needed blinded keys (its own, as well as of other users).",[34,10774,10775],{},"Technically the flow goes like this:",[852,10777,10778,10781,10784,10787,10795,10798,10801,10804,10814,10817],{},[59,10779,10780],{},"Decide auxiliary kernel parameters (heights, fee)",[59,10782,10783],{},"get nonce images",[59,10785,10786],{},"get the image of additional nonce, which would be used by the BVM to blind the kernel blinding factor",[59,10788,10789,10790],{},"for all the co-signers:\n",[852,10791,10792],{},[59,10793,10794],{},"co-signers send their (cumulative) nonces for their keys",[59,10796,10797],{},"sum all the nonces",[59,10799,10800],{},"Call Env::GenerateKernelAdvanced() for the 1st time to derive the challenges",[59,10802,10803],{},"Extract the blinded keys, using the appropriate nonces and derived challenges",[59,10805,10789,10806],{},[852,10807,10808,10811],{},[59,10809,10810],{},"Signer sends them the total nonce and the kernel blidning factor, so that they cal also derive the challenges",[59,10812,10813],{},"co-Signers reply with the sum of their blinded keys",[59,10815,10816],{},"sum those blinded keys to get a multi-signature",[59,10818,10819],{},"Invoke Env::GenerateKernelAdvanced() for the 2nd time, to finally build the transaction.",[34,10821,10822],{},"Some examples of this flow:",[852,10824,10825,10835,10841],{},[59,10826,10827,10830,10831,10834],{},[37,10828,10829],{},"vault"," app: example of a seamless multisignature, where a vault ",[611,10832,10833],{},"PubKey"," is actually a sum of the keys of 2 users. The contract code is unmodified (i.e. doesn't care if this is a multi-owned account).",[59,10836,10837,10840],{},[37,10838,10839],{},"upgradable2"," contract and app: example of an explicit multisignature, where the contract demands authorization by multiple keys.",[59,10842,10843],{},"more examples to come, to demonstrate custom signature schemes",[11,10845,10847],{"id":10846},"security-considerations","Security considerations",[34,10849,10850,10851,10854],{},"When app is invoked in the wallet, it's possible to define its ",[100,10852,10853],{},"privilege level",", which may restrict its access to potentially dangerous functionality.",[852,10856,10857,10860,10871,10886],{},[59,10858,10859],{},"Level 0: apps have no access to any user-specific info, and no permission to create transactions. They can only interpret and display the blockchain status information. This is considered safe (though of course the info that app displays may be misleading).",[59,10861,10862,10863],{},"Level 1 (default): Apps have an access to user's public keys (only those related to contracts), and can ask to create transactions. For the transactions the user sees the resulting balance (funds in\u002Fout), and they need user approval. There are 2 risks to consider:",[852,10864,10865,10868],{},[59,10866,10867],{},"There is no reliable way to know it the funds are spent as supposed. A malicious app can steal those funds by sending them such that they won't be accessible by the user in the future.",[59,10869,10870],{},"App may try to deanonymize the user. It may derive multiple public keys, which are normally intended for different contracts, and expose them in some transaction in a seamless way (a disguised parameter to some contract, recognized by the attacker).",[59,10872,10873,10874],{},"Level 2: Apps have access to blinded keys.",[852,10875,10876,10883],{},[59,10877,10878,10879,10882],{},"A malicious app can sign ",[37,10880,10881],{},"arbitrary"," transaction to steal the user funds.",[59,10884,10885],{},"Although such a risk already exists at privilege level 1, here it's somewhat greater, because the leaked signature may be used later, not necessarily during the app invocation.",[59,10887,10888,10889],{},"Level 3: Apps have access to inter-wallet communication.",[852,10890,10891],{},[59,10892,10893],{},"This somewhat increases the risk of disguised signature leakage: Rather than hiding the leaked signature for the attacker on-chain in the explicit tx, a malicious app can now communicate it directly to the attacker.",[41,10895,10897],{"id":10896},"conclusion","Conclusion",[34,10899,10900],{},"At any privilege level above 0 there is a risk of deanonymization and funds theft. So we strongly suggest using only trusted apps: either reviewed and built by the user, or signed by trusted 3rd-party developers.",[34,10902,10903],{},"Anyway the deanonymization and theft risks are bounded by the contracts. Apps have no access to other wallet keys (UTXOs, shielded outputs, onwer key, and etc.",{"title":14,"searchDepth":15,"depth":15,"links":10905},[10906,10910],{"id":10591,"depth":15,"text":10592,"children":10907},[10908],{"id":10660,"depth":154,"text":10909},"Risk of signature hijacking",{"id":10896,"depth":15,"text":10897},"In the most common cases the contract method calls Env::AddSig() for each needed public key, and the app shader includes the key material for each key within the SigRequest structure, when it calls Env::GenerateKernel().",{},"\u002Fdocs\u002Fcore-tech\u002Fauthorization-control-and-signatures-in-contracts",{"description":10911},"docs\u002Fcore-tech\u002FAuthorization-control-and-signatures-in-contracts","C-OnMjHP9ioQ-Iv7oOk74ckIsD9GWGGoidVOXAywBMU",{"id":10918,"title":10919,"body":10920,"description":10926,"extension":17,"image":18,"meta":11419,"navTitle":18,"navigation":20,"path":11420,"seo":11421,"stem":11422,"__hash__":11423},"docs\u002Fdocs\u002Fcore-tech\u002FBEAM-IPFS-Support.md","BEAM IPFS Support",{"type":8,"value":10921,"toc":11410},[10922,10927,10936,10951,10955,10974,11206,11220,11224,11227,11241,11261,11265,11269,11280,11331,11346,11351,11367,11372,11388,11392,11395,11401,11407],[34,10923,10924],{},[37,10925,10926],{},"THIS DOCUMENT DESCRIBES UPCOMING AND NOT YET RELEASED v6.3 IPFS SUPPORT. Subject to change without prior notice.",[34,10928,10929,10930,10935],{},"As of v6.3 BEAM adds IPFS support and IPFS can be accessed via API. Refer ",[175,10931,10934],{"href":10932,"rel":10933},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.3",[179],"version 6.3 API"," docs for details on supported IPFS calls.",[852,10937,10938,10941,10948],{},[59,10939,10940],{},"in Desktop UI client IPFS is enabled by default. IPFS node is started when user launches any DApp granting full IPFS support to DApps. After IPFS node is started it continues to run until desktop client is closed.",[59,10942,10943,10944,10947],{},"in wallet-api IPFS support is disabled by default, ",[611,10945,10946],{},"--enable_ipfs=true"," option should be specified to start IPFS node granting full IPFS support",[59,10949,10950],{},"in Mobile clients & WASM client limited IPFS support is enabled. No local IPFS node is started, write-only methods like ipfs_add\u002Fipfs_pin would fail. Read-only methods like ipfs_get are enabled via HTTP calls to BEAM managed IPFS nodes.",[41,10952,10954],{"id":10953},"beam-ipfs-config","BEAM IPFS Config",[34,10956,10957,10958,10961,10962,10965,10966,10969,10970,10973],{},"BEAM IPFS repository is located in the ",[611,10959,10960],{},"[wallet data folder]\u002Fipfs-repo"," until ",[611,10963,10964],{},"--ipfs_repo=[path]"," option is specified for API CLI or ",[611,10967,10968],{},"[ipfsnode] ipfs_repo=[path]"," in Desktop ",[611,10971,10972],{},"settings.ini"," file. When there is no initialized IPFS repository in the given path it would be automatically initialized with the default 'server' IPFS profile for API CLI and with the default (client) profile for Desktop Client except the following custom BEAM settings:",[852,10975,10976,10994,11009,11022,11038,11051,11064,11077,11089,11101,11107,11120,11131,11143,11160,11175,11185,11194,11197,11200,11203],{},[59,10977,10978,10981,10982,10985,10986,10989,10990,10993],{},[611,10979,10980],{},"Swarm.ConnMgr.LowWater"," - is set to ",[611,10983,10984],{},"100",". Can be changed using ",[611,10987,10988],{},"--ipfs_low_water"," option in API CLI and using ",[611,10991,10992],{},"[ipfsnode] ipfs_low_water="," in Desktop client 'settings.ini' file.",[59,10995,10996,10072,10999,11002,11003,2231,11006],{},[611,10997,10998],{},"Swarm.ConnMgr.HighWater",[611,11000,11001],{},"200"," \u002F ",[611,11004,11005],{},"--ipfs_high_water",[611,11007,11008],{},"settings.ini -> [ipfsnode] ipfs_high_water=",[59,11010,11011,11012,11002,11015,2231,11018,11021],{},"Swarm.ConnMgr.GracePeriod - ",[611,11013,11014],{},"20s",[611,11016,11017],{},"--ipfs_grace_period",[611,11019,11020],{},"settings.ini -> [ipfsnode] ipfs_grace_period="," as uint32 seconds",[59,11023,11024,11025,11028,11029,11034,11035],{},"Bootstrap - default BEAM bootstrap node(s) \u002F ",[611,11026,11027],{},"--ipfs_bootstrap"," (space separated ",[175,11030,11033],{"href":11031,"rel":11032},"https:\u002F\u002Fgithub.com\u002Fmultiformats\u002Fmultiaddr",[179],"multiaddr"," list), ",[611,11036,11037],{},"settings.ini -> [ipfsnode] ipfs_bootstrap=",[59,11039,11040,11041,11044,11045,2231,11048],{},"Addresses.Swarm - custom ",[611,11042,11043],{},"10100"," listening port \u002F ",[611,11046,11047],{},"--ipfs_swarm_port",[611,11049,11050],{},"settings.ini -> [ipfsnode] ipfs_swarm_port=",[59,11052,11053,11054,11057,11058,2231,11061],{},"Addresses.API - custom ",[611,11055,11056],{},"\u002Fip4\u002F127.0.0.1\u002Ftcp\u002F6100"," listening address for API \u002F empty (API disabled) on Desktop \u002F ",[611,11059,11060],{},"--ipfs_api_addr",[611,11062,11063],{},"settings.ini -> [ipfsnode] ipfs_api_addr=",[59,11065,11066,11067,11070,11071,2231,11074],{},"Addresses.Gateway - custom ",[611,11068,11069],{},"\u002Fip4\u002F127.0.0.1\u002Ftcp\u002F6200"," listening address in API \u002F empty (Gateway disabled) on Desktop \u002F ",[611,11072,11073],{},"--ipfs_gateway_addr",[611,11075,11076],{},"settings.ini -> [ipfsnode] ipfs_gateway_addr=",[59,11078,11079,11080,11082,11083,2231,11086],{},"Swarm.EnableAutoRelay - false in API \u002F ",[611,11081,8689],{}," on Desktop \u002F ",[611,11084,11085],{},"--ipfs_auto_relay",[611,11087,11088],{},"settings.ini -> [ipfsnode] ipfs_auto_relay=",[59,11090,11091,11092,11002,11095,2231,11098],{},"Swarm.EnableRelayHop - ",[611,11093,11094],{},"false",[611,11096,11097],{},"--ipfs_relay_hop",[611,11099,11100],{},"settings.ini -> [ipfsnode] ipfs_relay_hop=",[59,11102,11103,11104,11106],{},"Swarm.Transports.Network.Relay - forced to ",[611,11105,8689],{}," everywhere. Not adjustable at the moment.",[59,11108,11109,11110,11002,11113,2231,11116,11119],{},"AutoNAT.ServiceMode - ",[611,11111,11112],{},"enabled",[611,11114,11115],{},"--ipfs_autonat",[611,11117,11118],{},"settings.ini -> [ipfsnode] ipfs_autonat="," as bool",[59,11121,11122,11123,11002,11125,2231,11128],{},"AutoNAT.Throttle.GlobalLimit - ",[611,11124,7206],{},[611,11126,11127],{},"--ipfs_autonat_limit",[611,11129,11130],{},"settings.ini -> [ipfsnode] ipfs_autonat_limit=",[59,11132,11133,11134,11002,11137,2231,11140],{},"AutoNAT.Throttle.PeerLimit - ",[611,11135,11136],{},"3",[611,11138,11139],{},"--ipfs_autonat_peer_limit",[611,11141,11142],{},"settings.ini -> [ipfsnode] ipfs_autonat_peer_limit=",[59,11144,11145,11146,11149,11150,11153,11154,2231,11157],{},"Datastore.StorageMax - ",[611,11147,11148],{},"20GB"," in API CLI \u002F ",[611,11151,11152],{},"2GB"," in Desktop client \u002F ",[611,11155,11156],{},"--ipfs_storage_max",[611,11158,11159],{},"settings.ini -> [ipfsnode] ipfs_storage_max=",[59,11161,11162,11163,11149,11166,11153,11169,2231,11172],{},"Routing.Type - ",[611,11164,11165],{},"dhtserver",[611,11167,11168],{},"dht",[611,11170,11171],{},"--ipfs_routing_type",[611,11173,11174],{},"settings.ini -> [ipfsnode] ipfs_routing_type=",[59,11176,11177,11178,2231,11181,11184],{},"swarm.key file is created to ensure connection to the BEAM private IPFS network \u002F ",[611,11179,11180],{},"--ipfs_swarm_key",[611,11182,11183],{},"settings.ini -> [ipfsnode] ipfs_swarm_key="," as string",[59,11186,11187,11188,2231,11191,11119],{},"IPFS periodic GC is disabled in API CLI \u002F launched in Desktop Client \u002F ",[611,11189,11190],{},"--ipfs_run_gc",[611,11192,11193],{},"settings.ini -> [ipfsnode] ipfs_run_gc=",[59,11195,11196],{},"sockets-based activation for \"io.ipfs.api\" and \"io.ipfs.gateway\" is disabled at the moment and is not planned in the future. Contact us if you need this feature.",[59,11198,11199],{},"WebUI is not supported and disabled, will be supported in the future",[59,11201,11202],{},"fuse mounts for \"\u002Fipfs\" and \"\u002Fipfs\" are not supported and disabled, will be supported in the future",[59,11204,11205],{},"remote pinning for MFS roots is not supported and disabled, will be supported in the future",[34,11207,11208,11209,11212,11213,10670,11216,11219],{},"There are no changes in default IPFS repo layout, all default config and data files are and you are able to manage the IPFS repo via default IPFS cli tool paired with the ",[611,11210,11211],{},"IPFS_PATH"," environment variable. Ensure that BEAM client that uses the repo is not launched when accessing it using IPFS cli. In case of Desktop client's IPFS repo ",[611,11214,11215],{},"ipfs_node_api_port",[611,11217,11218],{},"Addresses.API"," setting should be specified  before running daemon or it would crash. go-ipfs is unable to launch without API support.",[48,11221,11223],{"id":11222},"ipfs-repoconfiglock-file","ipfs-repo\u002Fconfig.lock file",[34,11225,11226],{},"This section describes BEAM extension to IPFS repo & config handling.",[34,11228,11229,11230,11233,11234,11236,11237,11240],{},"On every start BEAM would force and overwrite the aforementioned BEAM custom settings in the ",[611,11231,11232],{},"ipfs-repo\u002Fconfig"," file. If you want to cancel this behavior, edit the ",[611,11235,11232],{}," file manually or via cli and preserve your custom changes ",[611,11238,11239],{},"ipfs-repo\u002Fconfig.lock"," file should be created.",[34,11242,11243,11244,11246,11247,11249,11250,11253,11254,11257,11258,11260],{},"If ",[611,11245,11239],{}," is present BEAM would not make any changes to the ",[611,11248,11232],{}," file. All BEAM ways to change IPFS settings are immediately blocked and ignored including ",[611,11251,11252],{},"--ipfs-xxx"," CLI options, any IPFS options set in ",[611,11255,11256],{},"wallet_api.cfg"," file, any IPFS options set via desktop UI and any IPFS options set in desktop UI ",[611,11259,10972],{}," file.",[41,11262,11264],{"id":11263},"useful-stuff","Useful stuff",[48,11266,11268],{"id":11267},"access-beam-ipfs-node-using-standard-ipfs-cli-tool","Access BEAM IPFS node using standard IPFS cli tool",[56,11270,11271,11274,11277],{},[59,11272,11273],{},"Start wallet api",[59,11275,11276],{},"Install go-ipfs",[59,11278,11279],{},"Create beam-ipfs bash script (do not forget to change your paths)",[616,11281,11285],{"className":11282,"code":11283,"language":11284,"meta":14,"style":14},"language-bash shiki shiki-themes github-dark","#\u002Fbin\u002Fbash\nexport IPFS_PATH=\u002Fhome\u002Fubuntu\u002Fbeam-api\u002Fipfs-repo\u002F\n# uncomment the following line if you're using private IPFS network\n# export LIBP2P_FORCE_PNET=1\n\u002Fhome\u002Fubuntu\u002Fgo-ipfs-node\u002Fipfs \"$@\"\n","bash",[611,11286,11287,11292,11306,11311,11316],{"__ignoreMap":14},[6995,11288,11289],{"class":244,"line":6997},[6995,11290,11291],{"class":7359},"#\u002Fbin\u002Fbash\n",[6995,11293,11294,11298,11301,11303],{"class":244,"line":15},[6995,11295,11297],{"class":11296},"snl16","export",[6995,11299,11300],{"class":7000}," IPFS_PATH",[6995,11302,6673],{"class":11296},[6995,11304,11305],{"class":7000},"\u002Fhome\u002Fubuntu\u002Fbeam-api\u002Fipfs-repo\u002F\n",[6995,11307,11308],{"class":244,"line":154},[6995,11309,11310],{"class":7359},"# uncomment the following line if you're using private IPFS network\n",[6995,11312,11313],{"class":244,"line":7033},[6995,11314,11315],{"class":7359},"# export LIBP2P_FORCE_PNET=1\n",[6995,11317,11318,11322,11325,11328],{"class":244,"line":7044},[6995,11319,11321],{"class":11320},"svObZ","\u002Fhome\u002Fubuntu\u002Fgo-ipfs-node\u002Fipfs",[6995,11323,11324],{"class":7012}," \"",[6995,11326,11327],{"class":7006},"$@",[6995,11329,11330],{"class":7012},"\"\n",[34,11332,11333,11334,11336,11337,11339,11340,11342,11343,11345],{},"In desktop client IPFS node API is disabled by default. ",[611,11335,11215],{}," should be set in ",[611,11338,10972],{}," or ",[611,11341,11218],{}," in ",[611,11344,11232],{}," to access IPFS node API.",[56,11347,11348],{"start":7033},[59,11349,11350],{},"Make it executable",[616,11352,11354],{"className":11282,"code":11353,"language":11284,"meta":14,"style":14},"chmod  +x .\u002Fbeam_ipfs\n",[611,11355,11356],{"__ignoreMap":14},[6995,11357,11358,11361,11364],{"class":244,"line":6997},[6995,11359,11360],{"class":11320},"chmod",[6995,11362,11363],{"class":7012},"  +x",[6995,11365,11366],{"class":7012}," .\u002Fbeam_ipfs\n",[56,11368,11369],{"start":7044},[59,11370,11371],{},"Execute usual ipfs commands via the script",[616,11373,11375],{"className":11282,"code":11374,"language":11284,"meta":14,"style":14},".\u002Fbeam-ipfs swarm peers\n",[611,11376,11377],{"__ignoreMap":14},[6995,11378,11379,11382,11385],{"class":244,"line":6997},[6995,11380,11381],{"class":11320},".\u002Fbeam-ipfs",[6995,11383,11384],{"class":7012}," swarm",[6995,11386,11387],{"class":7012}," peers\n",[48,11389,11391],{"id":11390},"systemd-ipfs-unit-file","SystemD IPFS unit file",[34,11393,11394],{},"Example below if given for a standard go-ipfs binary. You can also use the same settings for running wallet API",[616,11396,11399],{"className":11397,"code":11398,"language":621},[619],"\u002Fetc\u002Fsystemd\u002Fsystem\u002Fipfs.service\n",[611,11400,11398],{"__ignoreMap":14},[616,11402,11405],{"className":11403,"code":11404,"language":621},[619],"[Unit]\nDescription=GO IPFS Node\nAfter=network.target\n\n[Service]\nType=exec\nRestart=on-failure\nEnvironment=\"IPFS_PATH=\u002Fhome\u002Fubuntu\u002Fgo-ipfs-node\u002Frepo\"\n# uncomment if private IPFS network\n# Environment=\"LIBP2P_FORCE_PNET=1\"\nWorkingDirectory=\u002Fhome\u002Fubuntu\u002Fgo-ipfs-node\nExecStart=\u002Fhome\u002Fubuntu\u002Fgo-ipfs-node\u002Fipfs daemon\n\n[Install]\nWantedBy=multi-user.target\n",[611,11406,11404],{"__ignoreMap":14},[8692,11408,11409],{},"html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":14,"searchDepth":15,"depth":15,"links":11411},[11412,11415],{"id":10953,"depth":15,"text":10954,"children":11413},[11414],{"id":11222,"depth":154,"text":11223},{"id":11263,"depth":15,"text":11264,"children":11416},[11417,11418],{"id":11267,"depth":154,"text":11268},{"id":11390,"depth":154,"text":11391},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-ipfs-support",{"description":10926},"docs\u002Fcore-tech\u002FBEAM-IPFS-Support","kuMWwdDKkHaaO3oP7MCk0Fy1pm8__F73lmVdOKuY0_E",{"id":11425,"title":11426,"body":11427,"description":11431,"extension":17,"image":18,"meta":11588,"navTitle":18,"navigation":20,"path":11589,"seo":11590,"stem":11591,"__hash__":11592},"docs\u002Fdocs\u002Fcore-tech\u002FBEAM-Mining.md","BEAM Mining",{"type":8,"value":11428,"toc":11580},[11429,11432,11438,11441,11444,11447,11451,11459,11469,11477,11484,11488,11491,11495,11499,11502,11506,11509,11512,11515,11518,11529,11533,11536,11540,11544,11548,11561,11565],[34,11430,11431],{},"This page contains general information. For Step By Step guides on how to start Mining Beam please refer to:",[34,11433,11434],{},[175,11435,11436],{"href":11436,"rel":11437},"https:\u002F\u002Fbeam-docs.readthedocs.io\u002Fen\u002Flatest\u002Frtd_pages\u002Fuser_mining_beam.html",[179],[34,11439,11440],{},"Alike most cryptocurrencies, Beam relies on miners to add transactions to the blockchain. While all nodes in the Beam network confirm the validity of transactions, Beam counts on miners to take on the massive heavy lifting to guard the network.",[34,11442,11443],{},"Beam is a Mimblewimble implementation. We use classic Proof-of-Work (PoW) consensus.",[34,11445,11446],{},"We welcome everyone to join our mining community to support the network and earn Beam coins.",[11,11448,11450],{"id":11449},"mining-algorithm","Mining Algorithm",[34,11452,11453,11454,11458],{},"To secure the network, Beam uses the ",[175,11455,1047],{"href":11456,"rel":11457},"https:\u002F\u002Fwww.cryptolux.org\u002Findex.php\u002FEquihash",[179]," proof-of-work mining algorithm). Miners compete against each other using their computing power produce a new block on the chain. The first miner that gets to complete the precise computation for each block is granted with a network standard block reward and any fees for transactions added to that block.",[34,11460,11461,11462,2231,11465,11468],{},"At Mainnet launch, we will use the following Equihash parameters: ",[37,11463,11464],{},"n=150",[37,11466,11467],{},"k=5",". In addition, we will introduce a small change to the datapath to further reduce the chance of zero-day ASICs.",[34,11470,11471,11472,2231,11475],{},"Note: in Testnet 3 we are still using ",[37,11473,11474],{},"n=144",[37,11476,11467],{},[34,11478,11479,11480,181],{},"The minimal memory requirement for the GPU will be 4 GB. The most up-to-date list of supported GPUs will be available ",[175,11481,1248],{"href":11482,"rel":11483},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FSupported-GPU-cards-for-mining-(NVIDIA)",[179],[11,11485,11487],{"id":11486},"block-size-and-time","Block Size and Time",[34,11489,11490],{},"A Beam block will be generated approximately every minute and contain about 1000 transactions. Block size will be roughly 1MB.",[11,11492,11494],{"id":11493},"miner-rewards","Miner Rewards",[41,11496,11498],{"id":11497},"block-rewards","Block Rewards",[34,11500,11501],{},"During the first year of Beam existence, miner reward will be 80 coins per block. In years 2-5 the reward will be 40 coins per block. In year 6 the reward will be to 25 coins, and then halving will occur every 4 years until year 129. After year 133, Beam emission will stop.",[41,11503,11505],{"id":11504},"treasury","Treasury",[34,11507,11508],{},"In the first five years of existence, additional coins will be issued to Beam Treasury with each newly mined Beam block.",[34,11510,11511],{},"In the first year, the Treasury will receive additional 20 Beams per  block, and in the years 2-5 the Treasury will receive 10 coins per block.",[34,11513,11514],{},"The Treasury will be used to repay Beam investors, Incentivize the Core Team and to support the Beam Foundation (largest single beneficiary of the Treasury).",[34,11516,11517],{},"The distribution of the Treasury Coins is performed on a quarterly basis in the following proportion:",[852,11519,11520,11523,11526],{},[59,11521,11522],{},"Investors: 35%",[59,11524,11525],{},"Core Team and Advisors: 40%",[59,11527,11528],{},"Beam Foundation: 20% (Biggest single beneficiary)",[41,11530,11532],{"id":11531},"asic-resistance","ASIC Resistance",[34,11534,11535],{},"To ensure better decentralization, Beam plans to stay ASIC resistance in the first 12-18 months. To achieve this, we plan to perform one or two hard forks – first after approximately 6 months of existence and another one after approximately 12 months. Each hard fork will change the mining algorithm. The exact modifications will be revealed several weeks before the actual hard fork.",[41,11537,11539],{"id":11538},"how-to-mine-beam","How to Mine Beam",[48,11541,11543],{"id":11542},"mining-with-standalone-node","Mining with Standalone Node",[1898,11545,11547],{"id":11546},"using-external-miner","Using External Miner",[34,11549,11550,11551,11554,11555,181],{},"For more complex configurations, one or more external miners can be connected to a Beam Node instance.\nThe external miner software is available for download ",[175,11552,1248],{"href":2228,"rel":11553},[179],", and the detailed instructions for running it are (here)",[6995,11556,11557],{},[175,11558,11559],{"href":11559,"rel":11560},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FInstructions-for-Command-Line-GPU-Miner",[179],[11,11562,11564],{"id":11563},"how-can-you-help","How can you help?",[852,11566,11567,11575],{},[59,11568,11569,11570,11574],{},"Want to help developing Beam mining infrastructure? Have GPU development skills or experience with mining pools? Write to us at ",[175,11571,11573],{"href":11572},"mailto:mining@beam.mw","mining@beam.mw",". Fair compensation will be offered to qualified developers.",[59,11576,11577,11578,181],{},"Own a mining farm and want to mine Beam at launch? Join Beam Mining community on Telegram or contact us at ",[175,11579,11573],{"href":11572},{"title":14,"searchDepth":15,"depth":15,"links":11581},[11582,11583,11584,11585],{"id":11497,"depth":15,"text":11498},{"id":11504,"depth":15,"text":11505},{"id":11531,"depth":15,"text":11532},{"id":11538,"depth":15,"text":11539,"children":11586},[11587],{"id":11542,"depth":154,"text":11543},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-mining",{"description":11431},"docs\u002Fcore-tech\u002FBEAM-Mining","CLi9y14gmmF4Rxjo3u0a09PYD9GJhnuNWZaLv5q71So",{"id":11594,"title":11595,"body":11596,"description":11603,"extension":17,"image":18,"meta":11660,"navTitle":18,"navigation":20,"path":11661,"seo":11662,"stem":11663,"__hash__":11664},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Eager-Electron-5.0-Upgrade-Guide-for-pools-and-exchanges.md","Beam Eager Electron 5.0 Upgrade Guide for pools and exchanges",{"type":8,"value":11597,"toc":11656},[11598,11601,11604,11608,11611,11616,11619,11623],[11,11599,11595],{"id":11600},"beam-eager-electron-50-upgrade-guide-for-pools-and-exchanges",[34,11602,11603],{},"Beam Eager Electron 5.0 includes breaking Hard Fork that will be activated on height 777,777 (around 28th of June 2020). It is important to complete all upgrade before that date.",[41,11605,11607],{"id":11606},"mining-algorithm-update","Mining algorithm update",[34,11609,11610],{},"Eager Electron 5.0 includes change in the mining algorithm. Please make sure your miners are updated to support Beam Hash III algorithm and auto switch at the hard fork block height.",[34,11612,11613],{},[37,11614,11615],{},"IMPORTANT",[34,11617,11618],{},"Before starting the upgrade procedure it is highly recommended to stop the wallets and back up the wallet.db files.",[41,11620,11622],{"id":11621},"upgrading-the-node-and-the-wallet","Upgrading the node and the wallet",[56,11624,11625,11637,11640,11649],{},[59,11626,11627,11628,11631,11632],{},"Download the new binaries from ",[175,11629,11630],{"href":1721},"Beam Website"," or build from ",[175,11633,11636],{"href":11634,"rel":11635},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmainnet",[179],"source",[59,11638,11639],{},"When you first run the new wallet and node binaries on the old databases, the database structure will be upgraded to a new version. This can take a lot of time and it is normal.",[59,11641,11642,11643,11645,11646,11648],{},"In order to guarantee network connectivity, we recommend to use the following parameters in your node configuration:",[4953,11644],{},"peers_persistent=1",[4953,11647],{},"peer=ap-nodes.mainnet.beam.mw:8100, eu-nodes.mainnet.beam.mw:8100, us-nodes.mainnet.beam.mw:8100, ap-hk-nodes.mainnet.beam.mw:8100",[59,11650,11651,11652,11655],{},"Eager Electron 5.0 introduces support for Confidential Assets. This means that there could be additional coins and tokens traded on the Beam network. By default the wallet support for these assets is ",[37,11653,11654],{},"DISABLED",". The pools should keep this option disabled. If you are an exchange and wish to enable support for Confidential Assets in the 5.0 please contact Beam Team directly for guidance.",{"title":14,"searchDepth":15,"depth":15,"links":11657},[11658,11659],{"id":11606,"depth":15,"text":11607},{"id":11621,"depth":15,"text":11622},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-eager-electron-5.0-upgrade-guide-for-pools-and-exchanges",{"title":11595,"description":11603},"docs\u002Fcore-tech\u002FBeam-Eager-Electron-5.0-Upgrade-Guide-for-pools-and-exchanges","Rf11laZRR-lffx1loFQabFs-IPIfbwJUv6hQJ3AJkiw",{"id":11666,"title":11667,"body":11668,"description":14,"extension":17,"image":18,"meta":11716,"navTitle":18,"navigation":20,"path":11717,"seo":11718,"stem":11719,"__hash__":11720},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Equihash-specification.md","Beam Equihash specification",{"type":8,"value":11669,"toc":11711},[11670,11673,11677,11685,11689,11700,11704],[11,11671,11667],{"id":11672},"beam-equihash-specification",[41,11674,11676],{"id":11675},"chosen-parameters","Chosen parameters",[34,11678,11679,11682],{},[611,11680,11681],{},"N = 150",[611,11683,11684],{},"K = 5",[41,11686,11688],{"id":11687},"hash-generation-convention","Hash generation convention",[34,11690,11691,11692,11695,11696,11699],{},"Since 150 in not a multiple of 8 we pick 19 full bytes and clear lower 2 bits of 18th byte.\nWe can get only 3 hashes from 512-bit ",[37,11693,11694],{},"blake2"," output.\nExpected blake2 hash output size is ",[611,11697,11698],{},"3 * 19 = 57"," bytes",[41,11701,11703],{"id":11702},"implementation-for-cpu","Implementation for CPU",[34,11705,11706,11707],{},"Beam’s Equihash implementation for CPU is based on zcash’s version.\n",[175,11708,11709],{"href":11709,"rel":11710},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002F3rdparty\u002Fcrypto\u002Fequihash_impl.cpp",[179],{"title":14,"searchDepth":15,"depth":15,"links":11712},[11713,11714,11715],{"id":11675,"depth":15,"text":11676},{"id":11687,"depth":15,"text":11688},{"id":11702,"depth":15,"text":11703},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-equihash-specification",{"title":11667,"description":14},"docs\u002Fcore-tech\u002FBeam-Equihash-specification","0VM99xAuOpNE7WVrNt05MGLGtck8xjg3d5u9XpqNOT0",{"id":11722,"title":11723,"body":11724,"description":11731,"extension":17,"image":18,"meta":12337,"navTitle":18,"navigation":20,"path":12338,"seo":12339,"stem":12340,"__hash__":12341},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Fierce-Fermion-6.0-Upgrade-Guide-for-pools-and-exchanges.md","Beam Fierce Fermion 6.0 Upgrade Guide for pools and exchanges",{"type":8,"value":11725,"toc":12333},[11726,11729,11732,11736,11815,11817,11822,11831,12330],[11,11727,11723],{"id":11728},"beam-fierce-fermion-60-upgrade-guide-for-pools-and-exchanges",[34,11730,11731],{},"Beam Fierce Fermion 6.0 includes breaking Hard Fork that will be activated on height 1,280,000 (around 15:30 UTC, 13th of June 2021). It is important to complete all upgrade before that date.",[41,11733,11735],{"id":11734},"what-new-in-version-60","What new in version 6.0",[56,11737,11738,11741,11748,11765,11784,11793],{},[59,11739,11740],{},"Smart contracts.",[59,11742,11743,11744],{},"Confidential Assets support in wallet API. Read more ",[175,11745,1248],{"href":11746,"rel":11747},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FAdding-support-for-Beam-Confidential-Asset",[179],[59,11749,11750,11751,11759,11761,11762,11764],{},"New types of transaction are available in the wallet API:",[852,11752,11753,11756],{},[59,11754,11755],{},"Maximum privacy transaction",[59,11757,11758],{},"Offline transaction",[4953,11760],{},"In order to receive these transactions, there are no need to make any changes in code, but your wallet should be connected to the node with ",[611,11763,3493],{},". If you want to send them you have to explicitly enable them in the wallet, and distinguish new address types.",[59,11766,11767,11768],{},"New address types in wallet API. We highly recommend to use these new addresses, this should bring better user experience both for sending and receiving. For backward compatibility, we preserved old address type.\nThe difference between new addresses and old are the following",[852,11769,11770,11781],{},[59,11771,11772,11773,11776,11777,11780],{},"new addresses are ",[611,11774,11775],{},"base58"," encoded and have relatively long, old addresses are ",[611,11778,11779],{},"hex"," encoded and have length 64-67 characters",[59,11782,11783],{},"new addresses can hold additional data for transaction, this allows us to make new type of transactions mentioned before and add more when it will be needed",[59,11785,11786,11787],{},"Starting from 6.0 Beam address should be validated using the following regular expression:",[616,11788,11791],{"className":11789,"code":11790,"language":621},[619],"\u002F[0-9a-zA-Z]{64,500}\u002F\n",[611,11792,11790],{"__ignoreMap":14},[59,11794,11795,11796],{},"Minimal fee has changed",[852,11797,11798,11805],{},[59,11799,11800,11801,11804],{},"For the ",[100,11802,11803],{},"regular"," transaction has been increased up to 100,000 Groth",[59,11806,11807,11808,1475,11811,11814],{},"For ",[100,11809,11810],{},"offline",[100,11812,11813],{},"max privacy"," transaction it became 1,100,000 Groth (+1,000,000 Groth for each shielded output)",[41,11816,11622],{"id":11621},[11818,11819,11820],"blockquote",{},[34,11821,11615],{},[34,11823,11824,11825,1475,11827,11830],{},"Before starting the upgrade procedure it is highly recommended to stop the wallets and back up the ",[100,11826,3449],{},[100,11828,11829],{},"node.db"," files.",[56,11832,11833,11840,11847,12174,12185,12305],{},[59,11834,11627,11835,11631,11837],{},[175,11836,11630],{"href":1721},[175,11838,11636],{"href":11634,"rel":11839},[179],[59,11841,11842,11846],{},[175,11843,11845],{"href":11746,"rel":11844},[179],"Enable"," CA support if needed",[59,11848,11849,11850,11853,11854,11856,11858,11956,12023,12025,12026,12028,12029,12031,12032,12034,12035,12037,12038,12041],{},"Update address verification. Now, ",[611,11851,11852],{},"validate_address"," method returns additional info about address:",[4953,11855],{},[611,11857,7052],{},[616,11859,11861],{"className":6989,"code":11860,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"is_valid\" : true,\n        \"is_mine\" : false,\n        \"type\": \"offline\",  \u002F\u002F \u003C---------- NEW\n        \"payments\": 3       \u002F\u002F \u003C---------- NEW\n    }\n}\n",[611,11862,11863,11867,11877,11887,11894,11898,11909,11920,11936,11948,11952],{"__ignoreMap":14},[6995,11864,11865],{"class":244,"line":6997},[6995,11866,7001],{"class":7000},[6995,11868,11869,11871,11873,11875],{"class":244,"line":15},[6995,11870,7007],{"class":7006},[6995,11872,5102],{"class":7000},[6995,11874,7013],{"class":7012},[6995,11876,7016],{"class":7000},[6995,11878,11879,11881,11883,11885],{"class":244,"line":154},[6995,11880,7021],{"class":7006},[6995,11882,7024],{"class":7000},[6995,11884,6679],{"class":7006},[6995,11886,7030],{"class":7000},[6995,11888,11889,11891],{"class":244,"line":7033},[6995,11890,7732],{"class":7006},[6995,11892,11893],{"class":7000}," : \n",[6995,11895,11896],{"class":244,"line":7044},[6995,11897,7537],{"class":7000},[6995,11899,11900,11903,11905,11907],{"class":244,"line":7107},[6995,11901,11902],{"class":7006},"        \"is_valid\"",[6995,11904,7746],{"class":7000},[6995,11906,8689],{"class":7006},[6995,11908,7030],{"class":7000},[6995,11910,11911,11914,11916,11918],{"class":244,"line":7120},[6995,11912,11913],{"class":7006},"        \"is_mine\"",[6995,11915,7746],{"class":7000},[6995,11917,11094],{"class":7006},[6995,11919,7030],{"class":7000},[6995,11921,11922,11925,11927,11930,11933],{"class":244,"line":7133},[6995,11923,11924],{"class":7006},"        \"type\"",[6995,11926,7024],{"class":7000},[6995,11928,11929],{"class":7012},"\"offline\"",[6995,11931,11932],{"class":7000},",  ",[6995,11934,11935],{"class":7359},"\u002F\u002F \u003C---------- NEW\n",[6995,11937,11938,11941,11943,11945],{"class":244,"line":7146},[6995,11939,11940],{"class":7006},"        \"payments\"",[6995,11942,7024],{"class":7000},[6995,11944,11136],{"class":7006},[6995,11946,11947],{"class":7359},"       \u002F\u002F \u003C---------- NEW\n",[6995,11949,11950],{"class":244,"line":7159},[6995,11951,7615],{"class":7000},[6995,11953,11954],{"class":244,"line":7172},[6995,11955,7047],{"class":7000},[852,11957,11958,12014],{},[59,11959,11960,11963,11964],{},[611,11961,11962],{},"type"," the type of address, possible values are",[852,11965,11966,11974,11985,11996,12006],{},[59,11967,11968,11970,11971,11973],{},[611,11969,11803],{}," - regular old-style ",[611,11972,11779],{}," encoded address, default",[59,11975,11976,11978,11979,11981,11982,11984],{},[611,11977,11810],{}," - new-style ",[611,11980,11775],{}," encoded address for ",[100,11983,11810],{}," transaction, could be used several times, it has no strong guaranties for privacy",[59,11986,11987,11978,11990,11981,11992,11995],{},[611,11988,11989],{},"max_privacy",[611,11991,11775],{},[100,11993,11994],{},"maximum privacy"," transaction, could be used once",[59,11997,11998,11978,12001,11981,12003,12005],{},[611,11999,12000],{},"public_offline",[611,12002,11775],{},[100,12004,11810],{}," transaction, it's constant, it provided less privacy, you could publish it, designed for donations",[59,12007,12008,11978,12011,12013],{},[611,12009,12010],{},"regular_new",[611,12012,11775],{}," encoded address for regular mimblewimble transaction",[59,12015,12016,12019,12020,12022],{},[611,12017,12018],{},"payments"," - the number of payments left in case of ",[611,12021,11810],{}," address",[4953,12024],{},"If you don't want to support newer type of transactions you could simply allow ",[611,12027,11803],{}," addresses.",[4953,12030],{},"NOTE: ",[611,12033,11810],{}," address has all the data to make ",[100,12036,11803],{}," online transaction using MimbleWimble protocol. You can make both type of transaction using this type of address. If you want to send regular online transaction you should pass ",[611,12039,12040],{},"offline: false",[616,12042,12044],{"className":6989,"code":12043,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"method\":\"tx_send\", \n    \"params\":\n    {\n        \"value\": 12342342,\n        \"fee\": 2,\n        \"from\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"address\": \"2DWjfstQoaLMYYgvc4NBTTGqRdyM3nvWxP9bDHN....\",  \u002F\u002F \u003C-- offline address \n        \"comment\": \"thank you!\",\n        \"asset_id\": 1,\n        \"offline\": false   \u002F\u002F \u003C-- make regular online payment\n    }\n}\n\n",[611,12045,12046,12050,12060,12070,12080,12086,12090,12100,12110,12120,12134,12144,12154,12166,12170],{"__ignoreMap":14},[6995,12047,12048],{"class":244,"line":6997},[6995,12049,7001],{"class":7000},[6995,12051,12052,12054,12056,12058],{"class":244,"line":15},[6995,12053,7007],{"class":7006},[6995,12055,5102],{"class":7000},[6995,12057,7013],{"class":7012},[6995,12059,7016],{"class":7000},[6995,12061,12062,12064,12066,12068],{"class":244,"line":154},[6995,12063,7021],{"class":7006},[6995,12065,7024],{"class":7000},[6995,12067,7511],{"class":7006},[6995,12069,7030],{"class":7000},[6995,12071,12072,12074,12076,12078],{"class":244,"line":7033},[6995,12073,7036],{"class":7006},[6995,12075,5102],{"class":7000},[6995,12077,7522],{"class":7012},[6995,12079,7016],{"class":7000},[6995,12081,12082,12084],{"class":244,"line":7044},[6995,12083,7529],{"class":7006},[6995,12085,7532],{"class":7000},[6995,12087,12088],{"class":244,"line":7107},[6995,12089,7537],{"class":7000},[6995,12091,12092,12094,12096,12098],{"class":244,"line":7120},[6995,12093,7542],{"class":7006},[6995,12095,7024],{"class":7000},[6995,12097,7547],{"class":7006},[6995,12099,7030],{"class":7000},[6995,12101,12102,12104,12106,12108],{"class":244,"line":7133},[6995,12103,7554],{"class":7006},[6995,12105,7024],{"class":7000},[6995,12107,7511],{"class":7006},[6995,12109,7030],{"class":7000},[6995,12111,12112,12114,12116,12118],{"class":244,"line":7146},[6995,12113,7565],{"class":7006},[6995,12115,7024],{"class":7000},[6995,12117,7570],{"class":7012},[6995,12119,7030],{"class":7000},[6995,12121,12122,12124,12126,12129,12131],{"class":244,"line":7159},[6995,12123,7577],{"class":7006},[6995,12125,7024],{"class":7000},[6995,12127,12128],{"class":7012},"\"2DWjfstQoaLMYYgvc4NBTTGqRdyM3nvWxP9bDHN....\"",[6995,12130,11932],{"class":7000},[6995,12132,12133],{"class":7359},"\u002F\u002F \u003C-- offline address \n",[6995,12135,12136,12138,12140,12142],{"class":244,"line":7172},[6995,12137,7588],{"class":7006},[6995,12139,7024],{"class":7000},[6995,12141,7593],{"class":7012},[6995,12143,7030],{"class":7000},[6995,12145,12146,12148,12150,12152],{"class":244,"line":7185},[6995,12147,7229],{"class":7006},[6995,12149,7024],{"class":7000},[6995,12151,6679],{"class":7006},[6995,12153,7030],{"class":7000},[6995,12155,12156,12159,12161,12163],{"class":244,"line":7198},[6995,12157,12158],{"class":7006},"        \"offline\"",[6995,12160,7024],{"class":7000},[6995,12162,11094],{"class":7006},[6995,12164,12165],{"class":7359},"   \u002F\u002F \u003C-- make regular online payment\n",[6995,12167,12168],{"class":244,"line":7211},[6995,12169,7615],{"class":7000},[6995,12171,12172],{"class":244,"line":7220},[6995,12173,7047],{"class":7000},[59,12175,12176,12177,12182,12184],{},"regex for the newer address is:",[616,12178,12180],{"className":12179,"code":11790,"language":621},[619],[611,12181,11790],{"__ignoreMap":14},[4953,12183],{},"it allows both old-style and new-style addresses.",[59,12186,12187,12188,12191,12192,12195,12196,12198,12200,12293,12295,12296,12298,12299,98,12301,12304],{},"in order to generate new-style address pass ",[611,12189,12190],{},"\"type\""," parameter to ",[611,12193,12194],{},"create_address"," method",[4953,12197],{},[611,12199,6986],{},[616,12201,12203],{"className":6989,"code":12202,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\" : \"2.0\", \n    \"id\" : 1,\n    \"method\" : \"create_address\", \n    \"params\" :\n    {\n        \"type\": \"max_privacy\",  \u002F\u002F \u003C----- NEW\n        \"expiration\" : \"auto\",\n        \"comment\" : \"John Smith\"\n    }\n}\n",[611,12204,12205,12209,12219,12229,12240,12246,12250,12264,12276,12285,12289],{"__ignoreMap":14},[6995,12206,12207],{"class":244,"line":6997},[6995,12208,7001],{"class":7000},[6995,12210,12211,12213,12215,12217],{"class":244,"line":15},[6995,12212,7007],{"class":7006},[6995,12214,7746],{"class":7000},[6995,12216,7013],{"class":7012},[6995,12218,7016],{"class":7000},[6995,12220,12221,12223,12225,12227],{"class":244,"line":154},[6995,12222,7021],{"class":7006},[6995,12224,7746],{"class":7000},[6995,12226,6679],{"class":7006},[6995,12228,7030],{"class":7000},[6995,12230,12231,12233,12235,12238],{"class":244,"line":7033},[6995,12232,7036],{"class":7006},[6995,12234,7746],{"class":7000},[6995,12236,12237],{"class":7012},"\"create_address\"",[6995,12239,7016],{"class":7000},[6995,12241,12242,12244],{"class":244,"line":7044},[6995,12243,7529],{"class":7006},[6995,12245,7811],{"class":7000},[6995,12247,12248],{"class":244,"line":7107},[6995,12249,7537],{"class":7000},[6995,12251,12252,12254,12256,12259,12261],{"class":244,"line":7120},[6995,12253,11924],{"class":7006},[6995,12255,7024],{"class":7000},[6995,12257,12258],{"class":7012},"\"max_privacy\"",[6995,12260,11932],{"class":7000},[6995,12262,12263],{"class":7359},"\u002F\u002F \u003C----- NEW\n",[6995,12265,12266,12269,12271,12274],{"class":244,"line":7133},[6995,12267,12268],{"class":7006},"        \"expiration\"",[6995,12270,7746],{"class":7000},[6995,12272,12273],{"class":7012},"\"auto\"",[6995,12275,7030],{"class":7000},[6995,12277,12278,12280,12282],{"class":244,"line":7146},[6995,12279,7588],{"class":7006},[6995,12281,7746],{"class":7000},[6995,12283,12284],{"class":7012},"\"John Smith\"\n",[6995,12286,12287],{"class":244,"line":7159},[6995,12288,7615],{"class":7000},[6995,12290,12291],{"class":244,"line":7172},[6995,12292,7047],{"class":7000},[4953,12294],{},"The values for ",[611,12297,12190],{}," parameter are the same as described earlier. If you don't specify ",[611,12300,12190],{},[611,12302,12303],{},"\"regular\""," is used by default to keep backward compatibility.",[59,12306,12307,12308,1475,12310,12312,12313,181,12316,12322,6970,12324],{},"If you want to send to ",[100,12309,11810],{},[100,12311,11813],{}," addresses run API with ",[611,12314,12315],{},"--enable_lelantus",[616,12317,12320],{"className":12318,"code":12319,"language":621},[619],".\u002Fwallet-api --enable_lelantus -n \u003Cnode address>\n",[611,12321,12319],{"__ignoreMap":14},[4953,12323],{},[616,12325,12328],{"className":12326,"code":12327,"language":621},[619],"enable_lelantus=true\n",[611,12329,12327],{"__ignoreMap":14},[8692,12331,12332],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":14,"searchDepth":15,"depth":15,"links":12334},[12335,12336],{"id":11734,"depth":15,"text":11735},{"id":11621,"depth":15,"text":11622},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-fierce-fermion-6.0-upgrade-guide-for-pools-and-exchanges",{"title":11723,"description":11731},"docs\u002Fcore-tech\u002FBeam-Fierce-Fermion-6.0-Upgrade-Guide-for-pools-and-exchanges","GZubr9f0QKXlPuPG0ugeM4rxgaINIWvEyWCNGUnLpEk",{"id":12343,"title":12344,"body":12345,"description":12352,"extension":17,"image":18,"meta":14053,"navTitle":18,"navigation":20,"path":14054,"seo":14055,"stem":14056,"__hash__":14057},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Node-Explorer-API.md","Beam Node Explorer API",{"type":8,"value":12346,"toc":14043},[12347,12350,12353,12357,12368,12374,12383,12386,12389,12394,12399,12404,12511,12513,12515,12535,12548,12552,12825,12827,12830,12835,12844,12848,13672,13674,13678,13683,13688,13692,13795,13797,13801,13806,13811,13815,14038,14040],[11,12348,12344],{"id":12349},"beam-node-explorer-api",[34,12351,12352],{},"The Node Explorer provides information about current chain state and blocks.",[41,12354,12356],{"id":12355},"how-to-use","How to use",[34,12358,12359,12360,12363,12364,12367],{},"Find ",[611,12361,12362],{},"explorer-node"," binary in the ",[611,12365,12366],{},"explorer"," subdirectory and run with the following arguments:",[616,12369,12372],{"className":12370,"code":12371,"language":621},[619],"Node explorer options:\n  -h [ --help ]                      list of all options\n  --peer arg (=172.104.249.212:8101) peer address\n  --port arg (=10000)                port to start the local node on\n  --api_port arg (=8888)             port to start the local api server on\n",[611,12373,12371],{"__ignoreMap":14},[34,12375,12376,12379,12380,12382],{},[611,12377,12378],{},".\u002Fexplorer-node.exe --peer eu-node01.mainnet.beam.mw:8100 --api_port=8080"," for example.",[4953,12381],{},"\nIt may take some time (a few hours) on the first start to load all the info from chain.",[41,12384,4975],{"id":12385},"api",[48,12387,12388],{"id":12388},"status",[34,12390,12391],{},[611,12392,12393],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fstatus",[34,12395,12396,12398],{},[100,12397,5012],{},": Gets current blockchain status.",[34,12400,12401,5102],{},[100,12402,12403],{},"Response",[616,12405,12407],{"className":6989,"code":12406,"language":6991,"meta":14,"style":14},"{\n  \"chainwork\": \"0x38594101d0a0\",\n  \"hash\": \"7353b5e4ad29a2ffa5f7952749d1eb04acedd82215b1f4f01d75107165f4622b\",\n  \"height\": 20531,\n  \"low_horizon\": 19090,\n  \"timestamp\": 1550158283,\n  \"shielded_outputs_per_24h\": 14,\n  \"shielded_outputs_total\": 16919,\n  \"shielded_possible_ready_in_hours\": 120\n}\n",[611,12408,12409,12413,12425,12437,12449,12461,12473,12485,12497,12507],{"__ignoreMap":14},[6995,12410,12411],{"class":244,"line":6997},[6995,12412,7001],{"class":7000},[6995,12414,12415,12418,12420,12423],{"class":244,"line":15},[6995,12416,12417],{"class":7006},"  \"chainwork\"",[6995,12419,7024],{"class":7000},[6995,12421,12422],{"class":7012},"\"0x38594101d0a0\"",[6995,12424,7030],{"class":7000},[6995,12426,12427,12430,12432,12435],{"class":244,"line":154},[6995,12428,12429],{"class":7006},"  \"hash\"",[6995,12431,7024],{"class":7000},[6995,12433,12434],{"class":7012},"\"7353b5e4ad29a2ffa5f7952749d1eb04acedd82215b1f4f01d75107165f4622b\"",[6995,12436,7030],{"class":7000},[6995,12438,12439,12442,12444,12447],{"class":244,"line":7033},[6995,12440,12441],{"class":7006},"  \"height\"",[6995,12443,7024],{"class":7000},[6995,12445,12446],{"class":7006},"20531",[6995,12448,7030],{"class":7000},[6995,12450,12451,12454,12456,12459],{"class":244,"line":7044},[6995,12452,12453],{"class":7006},"  \"low_horizon\"",[6995,12455,7024],{"class":7000},[6995,12457,12458],{"class":7006},"19090",[6995,12460,7030],{"class":7000},[6995,12462,12463,12466,12468,12471],{"class":244,"line":7107},[6995,12464,12465],{"class":7006},"  \"timestamp\"",[6995,12467,7024],{"class":7000},[6995,12469,12470],{"class":7006},"1550158283",[6995,12472,7030],{"class":7000},[6995,12474,12475,12478,12480,12483],{"class":244,"line":7120},[6995,12476,12477],{"class":7006},"  \"shielded_outputs_per_24h\"",[6995,12479,7024],{"class":7000},[6995,12481,12482],{"class":7006},"14",[6995,12484,7030],{"class":7000},[6995,12486,12487,12490,12492,12495],{"class":244,"line":7133},[6995,12488,12489],{"class":7006},"  \"shielded_outputs_total\"",[6995,12491,7024],{"class":7000},[6995,12493,12494],{"class":7006},"16919",[6995,12496,7030],{"class":7000},[6995,12498,12499,12502,12504],{"class":244,"line":7146},[6995,12500,12501],{"class":7006},"  \"shielded_possible_ready_in_hours\"",[6995,12503,7024],{"class":7000},[6995,12505,12506],{"class":7006},"120\n",[6995,12508,12509],{"class":244,"line":7159},[6995,12510,7047],{"class":7000},[3136,12512],{},[48,12514,797],{"id":797},[34,12516,12517,12520,12522,12523,12525,12528,12522,12530,12532],{},[611,12518,12519],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fblock?height={height}",[4953,12521],{},"\nor",[4953,12524],{},[611,12526,12527],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fblock?hash={hash}",[4953,12529],{},[4953,12531],{},[611,12533,12534],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fblock?kernel={kernel}",[34,12536,12537,12539,12540,2231,12543,11339,12545,181],{},[100,12538,5012],{},": Gets block info for specified ",[611,12541,12542],{},"height",[611,12544,1149],{},[611,12546,12547],{},"kernel",[34,12549,12550,5102],{},[100,12551,12403],{},[616,12553,12555],{"className":6989,"code":12554,"language":6991,"meta":14,"style":14},"{\n  \"chainwork\": \"0x384fdc718a20\",\n  \"difficulty\": 157.9972152709961,\n  \"found\": true,\n  \"hash\": \"c2a7315b63b1de6106a185c1c79219001ef5e3a07c217db227b079bbb9dd9b64\",\n  \"height\": 20516,\n  \"inputs\": [],\n  \"kernels\": [\n    {\n      \"excess\": \"0x60413b5a09858312403190721938463ca22d7d87981a024873ddfa204a399eec\",\n      \"fee\": 0,\n      \"id\": \"d72684dba6255b2fe8631be9df764ee3c984cb0c9f386a8cf71f566acebd197d\",\n      \"maxHeight\": 18446744073709552000,\n      \"minHeight\": 20516\n    }\n  ],\n  \"outputs\": [\n    {\n      \"coinbase\": true,\n      \"commitment\": \"0x75329071d041e7828a57cbf2f63fb8db21543f35c1c2291d5c26c20d9b11465a\",\n      \"incubation\": 0,\n      \"maturity\": 20756\n    }\n  ],\n  \"prev\": \"4b9e35b467b416e0d307dd94bd2fdce6e720b6b3a029dca822ccab3ac57c6d22\",\n  \"subsidy\": 8000000000,\n  \"rate_btc\": \"0.00001551\",\n  \"rate_usd\": \"0.231282\",\n  \"timestamp\": 1550157362\n}\n",[611,12556,12557,12561,12572,12584,12595,12606,12617,12625,12632,12636,12648,12659,12671,12683,12693,12697,12702,12709,12713,12724,12736,12747,12757,12761,12765,12777,12788,12800,12812,12821],{"__ignoreMap":14},[6995,12558,12559],{"class":244,"line":6997},[6995,12560,7001],{"class":7000},[6995,12562,12563,12565,12567,12570],{"class":244,"line":15},[6995,12564,12417],{"class":7006},[6995,12566,7024],{"class":7000},[6995,12568,12569],{"class":7012},"\"0x384fdc718a20\"",[6995,12571,7030],{"class":7000},[6995,12573,12574,12577,12579,12582],{"class":244,"line":154},[6995,12575,12576],{"class":7006},"  \"difficulty\"",[6995,12578,7024],{"class":7000},[6995,12580,12581],{"class":7006},"157.9972152709961",[6995,12583,7030],{"class":7000},[6995,12585,12586,12589,12591,12593],{"class":244,"line":7033},[6995,12587,12588],{"class":7006},"  \"found\"",[6995,12590,7024],{"class":7000},[6995,12592,8689],{"class":7006},[6995,12594,7030],{"class":7000},[6995,12596,12597,12599,12601,12604],{"class":244,"line":7044},[6995,12598,12429],{"class":7006},[6995,12600,7024],{"class":7000},[6995,12602,12603],{"class":7012},"\"c2a7315b63b1de6106a185c1c79219001ef5e3a07c217db227b079bbb9dd9b64\"",[6995,12605,7030],{"class":7000},[6995,12607,12608,12610,12612,12615],{"class":244,"line":7107},[6995,12609,12441],{"class":7006},[6995,12611,7024],{"class":7000},[6995,12613,12614],{"class":7006},"20516",[6995,12616,7030],{"class":7000},[6995,12618,12619,12622],{"class":244,"line":7120},[6995,12620,12621],{"class":7006},"  \"inputs\"",[6995,12623,12624],{"class":7000},": [],\n",[6995,12626,12627,12630],{"class":244,"line":7133},[6995,12628,12629],{"class":7006},"  \"kernels\"",[6995,12631,7217],{"class":7000},[6995,12633,12634],{"class":244,"line":7146},[6995,12635,7537],{"class":7000},[6995,12637,12638,12641,12643,12646],{"class":244,"line":7159},[6995,12639,12640],{"class":7006},"      \"excess\"",[6995,12642,7024],{"class":7000},[6995,12644,12645],{"class":7012},"\"0x60413b5a09858312403190721938463ca22d7d87981a024873ddfa204a399eec\"",[6995,12647,7030],{"class":7000},[6995,12649,12650,12653,12655,12657],{"class":244,"line":7172},[6995,12651,12652],{"class":7006},"      \"fee\"",[6995,12654,7024],{"class":7000},[6995,12656,7180],{"class":7006},[6995,12658,7030],{"class":7000},[6995,12660,12661,12664,12666,12669],{"class":244,"line":7185},[6995,12662,12663],{"class":7006},"      \"id\"",[6995,12665,7024],{"class":7000},[6995,12667,12668],{"class":7012},"\"d72684dba6255b2fe8631be9df764ee3c984cb0c9f386a8cf71f566acebd197d\"",[6995,12670,7030],{"class":7000},[6995,12672,12673,12676,12678,12681],{"class":244,"line":7198},[6995,12674,12675],{"class":7006},"      \"maxHeight\"",[6995,12677,7024],{"class":7000},[6995,12679,12680],{"class":7006},"18446744073709552000",[6995,12682,7030],{"class":7000},[6995,12684,12685,12688,12690],{"class":244,"line":7211},[6995,12686,12687],{"class":7006},"      \"minHeight\"",[6995,12689,7024],{"class":7000},[6995,12691,12692],{"class":7006},"20516\n",[6995,12694,12695],{"class":244,"line":7220},[6995,12696,7615],{"class":7000},[6995,12698,12699],{"class":244,"line":7226},[6995,12700,12701],{"class":7000},"  ],\n",[6995,12703,12704,12707],{"class":244,"line":7238},[6995,12705,12706],{"class":7006},"  \"outputs\"",[6995,12708,7217],{"class":7000},[6995,12710,12711],{"class":244,"line":7250},[6995,12712,7537],{"class":7000},[6995,12714,12715,12718,12720,12722],{"class":244,"line":7263},[6995,12716,12717],{"class":7006},"      \"coinbase\"",[6995,12719,7024],{"class":7000},[6995,12721,8689],{"class":7006},[6995,12723,7030],{"class":7000},[6995,12725,12726,12729,12731,12734],{"class":244,"line":7275},[6995,12727,12728],{"class":7006},"      \"commitment\"",[6995,12730,7024],{"class":7000},[6995,12732,12733],{"class":7012},"\"0x75329071d041e7828a57cbf2f63fb8db21543f35c1c2291d5c26c20d9b11465a\"",[6995,12735,7030],{"class":7000},[6995,12737,12738,12741,12743,12745],{"class":244,"line":7288},[6995,12739,12740],{"class":7006},"      \"incubation\"",[6995,12742,7024],{"class":7000},[6995,12744,7180],{"class":7006},[6995,12746,7030],{"class":7000},[6995,12748,12749,12752,12754],{"class":244,"line":7300},[6995,12750,12751],{"class":7006},"      \"maturity\"",[6995,12753,7024],{"class":7000},[6995,12755,12756],{"class":7006},"20756\n",[6995,12758,12759],{"class":244,"line":7313},[6995,12760,7615],{"class":7000},[6995,12762,12763],{"class":244,"line":7325},[6995,12764,12701],{"class":7000},[6995,12766,12767,12770,12772,12775],{"class":244,"line":7336},[6995,12768,12769],{"class":7006},"  \"prev\"",[6995,12771,7024],{"class":7000},[6995,12773,12774],{"class":7012},"\"4b9e35b467b416e0d307dd94bd2fdce6e720b6b3a029dca822ccab3ac57c6d22\"",[6995,12776,7030],{"class":7000},[6995,12778,12779,12782,12784,12786],{"class":244,"line":7342},[6995,12780,12781],{"class":7006},"  \"subsidy\"",[6995,12783,7024],{"class":7000},[6995,12785,7193],{"class":7006},[6995,12787,7030],{"class":7000},[6995,12789,12790,12793,12795,12798],{"class":244,"line":7347},[6995,12791,12792],{"class":7006},"  \"rate_btc\"",[6995,12794,7024],{"class":7000},[6995,12796,12797],{"class":7012},"\"0.00001551\"",[6995,12799,7030],{"class":7000},[6995,12801,12802,12805,12807,12810],{"class":244,"line":7363},[6995,12803,12804],{"class":7006},"  \"rate_usd\"",[6995,12806,7024],{"class":7000},[6995,12808,12809],{"class":7012},"\"0.231282\"",[6995,12811,7030],{"class":7000},[6995,12813,12814,12816,12818],{"class":244,"line":7375},[6995,12815,12465],{"class":7006},[6995,12817,7024],{"class":7000},[6995,12819,12820],{"class":7006},"1550157362\n",[6995,12822,12823],{"class":244,"line":7387},[6995,12824,7047],{"class":7000},[3136,12826],{},[48,12828,12829],{"id":12829},"blocks",[34,12831,12832],{},[611,12833,12834],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fblocks?height={start}&n={count}",[34,12836,12837,12839,12840,12843],{},[100,12838,5012],{},": Gets blocks info for specified range, where ",[611,12841,12842],{},"count"," should be \u003C= 1500.",[34,12845,12846,5102],{},[100,12847,12403],{},[616,12849,12851],{"className":6989,"code":12850,"language":6991,"meta":14,"style":14},"[\n  {\n    \"chainwork\": \"0x380b69b2d420\",\n    \"difficulty\": 161.94402313232422,\n    \"found\": true,\n    \"hash\": \"2107b173f174972c8ec7543ab731bf1905d24d101f45b42d5f0cd64853e4c38e\",\n    \"height\": 20402,\n    \"inputs\": [],\n    \"kernels\": [\n      {\n        \"excess\": \"0x3829270cf74d473af83015501a83747b5b8c75c0d13303569a352bfe53b4ef4b\",\n        \"fee\": 0,\n        \"id\": \"3d0bed1e452c911f830351c671696f51e4a6a9086aeb7a059fc027a0db9c84a0\",\n        \"maxHeight\": 18446744073709552000,\n        \"minHeight\": 20402\n      }\n    ],\n    \"outputs\": [\n      {\n        \"coinbase\": true,\n        \"commitment\": \"0xb4261a4a7fabe181f6dd7e766410cf1aba8892fd2f41d3a7ff9378a4811521ff\",\n        \"incubation\": 0,\n        \"maturity\": 20642\n      }\n    ],\n    \"prev\": \"09cf95acda1e9c3e8b1a45873fd9ef1d744d6645d16bd6b8c5e9ae8dfe2d0b1a\",\n    \"subsidy\": 8000000000,\n    \"rate_btc\": \"0.00001551\",\n    \"rate_usd\": \"0.231282\",\n    \"timestamp\": 1550150788\n  },\n  {\n    \"chainwork\": \"0x380ac7c128a0\",\n    \"difficulty\": 162.0944366455078,\n    \"found\": true,\n    \"hash\": \"09cf95acda1e9c3e8b1a45873fd9ef1d744d6645d16bd6b8c5e9ae8dfe2d0b1a\",\n    \"height\": 20401,\n    \"inputs\": [],\n    \"kernels\": [\n      {\n        \"excess\": \"0x554a6ef457d33abddcb98169fcd7fe68a7aa94bc2145a40f39d07ace7b43c0de\",\n        \"fee\": 0,\n        \"id\": \"c68cddd64a07974a1d5ea73eb4333a9b732a5b9ac705546217fa66d2ba5e8dd8\",\n        \"maxHeight\": 18446744073709552000,\n        \"minHeight\": 20401\n      }\n    ],\n    \"outputs\": [\n      {\n        \"coinbase\": true,\n        \"commitment\": \"0x6fd9e1124f91a744c7043f2873716094e1a6cc3a8ae9ca5278a1a421a7622301\",\n        \"incubation\": 0,\n        \"maturity\": 20641\n      }\n    ],\n    \"prev\": \"9a8053f05ed7b6575770e002100025fa58452e307cf73d3594cbcd861fa5035a\",\n    \"subsidy\": 8000000000,\n    \"rate_btc\": \"0.00001551\",\n    \"rate_usd\": \"0.231282\",\n    \"timestamp\": 1550150719\n  },\n  {\n    \"chainwork\": \"0x380a25a8fba0\",\n    \"difficulty\": 161.4037857055664,\n    \"found\": true,\n    \"hash\": \"9a8053f05ed7b6575770e002100025fa58452e307cf73d3594cbcd861fa5035a\",\n    \"height\": 20400,\n    \"inputs\": [],\n    \"kernels\": [\n      {\n        \"excess\": \"0x7eef6fa3449e87dde801fec11cd6cec8b448a87f7bd1231cff668904ee6045d5\",\n        \"fee\": 0,\n        \"id\": \"bee59b34ea59a95e9fb415d34de3cc34416debcc1e14fd993f749b2aaee9b14d\",\n        \"maxHeight\": 18446744073709552000,\n        \"minHeight\": 20400\n      }\n    ],\n    \"outputs\": [\n      {\n        \"coinbase\": true,\n        \"commitment\": \"0x3b8a5d665b08119b8b8ee98c831089e0f7b3219ee92b3cf9d749777349ffd285\",\n        \"incubation\": 0,\n        \"maturity\": 20640\n      }\n    ],\n    \"prev\": \"34ce853ef5d9b6878bb694b5eec0620217d2b5f68f36cfdfc9c3bd4f1ae67107\",\n    \"subsidy\": 8000000000,\n    \"rate_btc\": \"0.00001551\",\n    \"rate_usd\": \"0.231282\",\n    \"timestamp\": 1550150667\n  }\n]\n",[611,12852,12853,12858,12863,12875,12886,12897,12909,12921,12928,12935,12939,12951,12961,12973,12984,12994,12998,13003,13010,13014,13025,13037,13048,13058,13062,13066,13078,13089,13100,13111,13121,13126,13130,13141,13152,13162,13172,13183,13189,13195,13200,13212,13223,13235,13246,13256,13261,13266,13273,13278,13289,13301,13312,13322,13327,13332,13344,13355,13366,13377,13387,13392,13397,13409,13421,13432,13443,13455,13462,13469,13474,13486,13497,13509,13520,13530,13535,13540,13547,13552,13563,13575,13586,13596,13601,13606,13618,13629,13640,13651,13661,13666],{"__ignoreMap":14},[6995,12854,12855],{"class":244,"line":6997},[6995,12856,12857],{"class":7000},"[\n",[6995,12859,12860],{"class":244,"line":15},[6995,12861,12862],{"class":7000},"  {\n",[6995,12864,12865,12868,12870,12873],{"class":244,"line":154},[6995,12866,12867],{"class":7006},"    \"chainwork\"",[6995,12869,7024],{"class":7000},[6995,12871,12872],{"class":7012},"\"0x380b69b2d420\"",[6995,12874,7030],{"class":7000},[6995,12876,12877,12879,12881,12884],{"class":244,"line":7033},[6995,12878,7123],{"class":7006},[6995,12880,7024],{"class":7000},[6995,12882,12883],{"class":7006},"161.94402313232422",[6995,12885,7030],{"class":7000},[6995,12887,12888,12891,12893,12895],{"class":244,"line":7044},[6995,12889,12890],{"class":7006},"    \"found\"",[6995,12892,7024],{"class":7000},[6995,12894,8689],{"class":7006},[6995,12896,7030],{"class":7000},[6995,12898,12899,12902,12904,12907],{"class":244,"line":7107},[6995,12900,12901],{"class":7006},"    \"hash\"",[6995,12903,7024],{"class":7000},[6995,12905,12906],{"class":7012},"\"2107b173f174972c8ec7543ab731bf1905d24d101f45b42d5f0cd64853e4c38e\"",[6995,12908,7030],{"class":7000},[6995,12910,12911,12914,12916,12919],{"class":244,"line":7120},[6995,12912,12913],{"class":7006},"    \"height\"",[6995,12915,7024],{"class":7000},[6995,12917,12918],{"class":7006},"20402",[6995,12920,7030],{"class":7000},[6995,12922,12923,12926],{"class":244,"line":7133},[6995,12924,12925],{"class":7006},"    \"inputs\"",[6995,12927,12624],{"class":7000},[6995,12929,12930,12933],{"class":244,"line":7146},[6995,12931,12932],{"class":7006},"    \"kernels\"",[6995,12934,7217],{"class":7000},[6995,12936,12937],{"class":244,"line":7159},[6995,12938,7223],{"class":7000},[6995,12940,12941,12944,12946,12949],{"class":244,"line":7172},[6995,12942,12943],{"class":7006},"        \"excess\"",[6995,12945,7024],{"class":7000},[6995,12947,12948],{"class":7012},"\"0x3829270cf74d473af83015501a83747b5b8c75c0d13303569a352bfe53b4ef4b\"",[6995,12950,7030],{"class":7000},[6995,12952,12953,12955,12957,12959],{"class":244,"line":7185},[6995,12954,7554],{"class":7006},[6995,12956,7024],{"class":7000},[6995,12958,7180],{"class":7006},[6995,12960,7030],{"class":7000},[6995,12962,12963,12966,12968,12971],{"class":244,"line":7198},[6995,12964,12965],{"class":7006},"        \"id\"",[6995,12967,7024],{"class":7000},[6995,12969,12970],{"class":7012},"\"3d0bed1e452c911f830351c671696f51e4a6a9086aeb7a059fc027a0db9c84a0\"",[6995,12972,7030],{"class":7000},[6995,12974,12975,12978,12980,12982],{"class":244,"line":7211},[6995,12976,12977],{"class":7006},"        \"maxHeight\"",[6995,12979,7024],{"class":7000},[6995,12981,12680],{"class":7006},[6995,12983,7030],{"class":7000},[6995,12985,12986,12989,12991],{"class":244,"line":7220},[6995,12987,12988],{"class":7006},"        \"minHeight\"",[6995,12990,7024],{"class":7000},[6995,12992,12993],{"class":7006},"20402\n",[6995,12995,12996],{"class":244,"line":7226},[6995,12997,7455],{"class":7000},[6995,12999,13000],{"class":244,"line":7238},[6995,13001,13002],{"class":7000},"    ],\n",[6995,13004,13005,13008],{"class":244,"line":7250},[6995,13006,13007],{"class":7006},"    \"outputs\"",[6995,13009,7217],{"class":7000},[6995,13011,13012],{"class":244,"line":7263},[6995,13013,7223],{"class":7000},[6995,13015,13016,13019,13021,13023],{"class":244,"line":7275},[6995,13017,13018],{"class":7006},"        \"coinbase\"",[6995,13020,7024],{"class":7000},[6995,13022,8689],{"class":7006},[6995,13024,7030],{"class":7000},[6995,13026,13027,13030,13032,13035],{"class":244,"line":7288},[6995,13028,13029],{"class":7006},"        \"commitment\"",[6995,13031,7024],{"class":7000},[6995,13033,13034],{"class":7012},"\"0xb4261a4a7fabe181f6dd7e766410cf1aba8892fd2f41d3a7ff9378a4811521ff\"",[6995,13036,7030],{"class":7000},[6995,13038,13039,13042,13044,13046],{"class":244,"line":7300},[6995,13040,13041],{"class":7006},"        \"incubation\"",[6995,13043,7024],{"class":7000},[6995,13045,7180],{"class":7006},[6995,13047,7030],{"class":7000},[6995,13049,13050,13053,13055],{"class":244,"line":7313},[6995,13051,13052],{"class":7006},"        \"maturity\"",[6995,13054,7024],{"class":7000},[6995,13056,13057],{"class":7006},"20642\n",[6995,13059,13060],{"class":244,"line":7325},[6995,13061,7455],{"class":7000},[6995,13063,13064],{"class":244,"line":7336},[6995,13065,13002],{"class":7000},[6995,13067,13068,13071,13073,13076],{"class":244,"line":7342},[6995,13069,13070],{"class":7006},"    \"prev\"",[6995,13072,7024],{"class":7000},[6995,13074,13075],{"class":7012},"\"09cf95acda1e9c3e8b1a45873fd9ef1d744d6645d16bd6b8c5e9ae8dfe2d0b1a\"",[6995,13077,7030],{"class":7000},[6995,13079,13080,13083,13085,13087],{"class":244,"line":7347},[6995,13081,13082],{"class":7006},"    \"subsidy\"",[6995,13084,7024],{"class":7000},[6995,13086,7193],{"class":7006},[6995,13088,7030],{"class":7000},[6995,13090,13091,13094,13096,13098],{"class":244,"line":7363},[6995,13092,13093],{"class":7006},"    \"rate_btc\"",[6995,13095,7024],{"class":7000},[6995,13097,12797],{"class":7012},[6995,13099,7030],{"class":7000},[6995,13101,13102,13105,13107,13109],{"class":244,"line":7375},[6995,13103,13104],{"class":7006},"    \"rate_usd\"",[6995,13106,7024],{"class":7000},[6995,13108,12809],{"class":7012},[6995,13110,7030],{"class":7000},[6995,13112,13113,13116,13118],{"class":244,"line":7387},[6995,13114,13115],{"class":7006},"    \"timestamp\"",[6995,13117,7024],{"class":7000},[6995,13119,13120],{"class":7006},"1550150788\n",[6995,13122,13123],{"class":244,"line":7398},[6995,13124,13125],{"class":7000},"  },\n",[6995,13127,13128],{"class":244,"line":7410},[6995,13129,12862],{"class":7000},[6995,13131,13132,13134,13136,13139],{"class":244,"line":7421},[6995,13133,12867],{"class":7006},[6995,13135,7024],{"class":7000},[6995,13137,13138],{"class":7012},"\"0x380ac7c128a0\"",[6995,13140,7030],{"class":7000},[6995,13142,13143,13145,13147,13150],{"class":244,"line":7432},[6995,13144,7123],{"class":7006},[6995,13146,7024],{"class":7000},[6995,13148,13149],{"class":7006},"162.0944366455078",[6995,13151,7030],{"class":7000},[6995,13153,13154,13156,13158,13160],{"class":244,"line":7443},[6995,13155,12890],{"class":7006},[6995,13157,7024],{"class":7000},[6995,13159,8689],{"class":7006},[6995,13161,7030],{"class":7000},[6995,13163,13164,13166,13168,13170],{"class":244,"line":7452},[6995,13165,12901],{"class":7006},[6995,13167,7024],{"class":7000},[6995,13169,13075],{"class":7012},[6995,13171,7030],{"class":7000},[6995,13173,13174,13176,13178,13181],{"class":244,"line":7458},[6995,13175,12913],{"class":7006},[6995,13177,7024],{"class":7000},[6995,13179,13180],{"class":7006},"20401",[6995,13182,7030],{"class":7000},[6995,13184,13185,13187],{"class":244,"line":7464},[6995,13186,12925],{"class":7006},[6995,13188,12624],{"class":7000},[6995,13190,13191,13193],{"class":244,"line":7470},[6995,13192,12932],{"class":7006},[6995,13194,7217],{"class":7000},[6995,13196,13198],{"class":244,"line":13197},40,[6995,13199,7223],{"class":7000},[6995,13201,13203,13205,13207,13210],{"class":244,"line":13202},41,[6995,13204,12943],{"class":7006},[6995,13206,7024],{"class":7000},[6995,13208,13209],{"class":7012},"\"0x554a6ef457d33abddcb98169fcd7fe68a7aa94bc2145a40f39d07ace7b43c0de\"",[6995,13211,7030],{"class":7000},[6995,13213,13215,13217,13219,13221],{"class":244,"line":13214},42,[6995,13216,7554],{"class":7006},[6995,13218,7024],{"class":7000},[6995,13220,7180],{"class":7006},[6995,13222,7030],{"class":7000},[6995,13224,13226,13228,13230,13233],{"class":244,"line":13225},43,[6995,13227,12965],{"class":7006},[6995,13229,7024],{"class":7000},[6995,13231,13232],{"class":7012},"\"c68cddd64a07974a1d5ea73eb4333a9b732a5b9ac705546217fa66d2ba5e8dd8\"",[6995,13234,7030],{"class":7000},[6995,13236,13238,13240,13242,13244],{"class":244,"line":13237},44,[6995,13239,12977],{"class":7006},[6995,13241,7024],{"class":7000},[6995,13243,12680],{"class":7006},[6995,13245,7030],{"class":7000},[6995,13247,13249,13251,13253],{"class":244,"line":13248},45,[6995,13250,12988],{"class":7006},[6995,13252,7024],{"class":7000},[6995,13254,13255],{"class":7006},"20401\n",[6995,13257,13259],{"class":244,"line":13258},46,[6995,13260,7455],{"class":7000},[6995,13262,13264],{"class":244,"line":13263},47,[6995,13265,13002],{"class":7000},[6995,13267,13269,13271],{"class":244,"line":13268},48,[6995,13270,13007],{"class":7006},[6995,13272,7217],{"class":7000},[6995,13274,13276],{"class":244,"line":13275},49,[6995,13277,7223],{"class":7000},[6995,13279,13281,13283,13285,13287],{"class":244,"line":13280},50,[6995,13282,13018],{"class":7006},[6995,13284,7024],{"class":7000},[6995,13286,8689],{"class":7006},[6995,13288,7030],{"class":7000},[6995,13290,13292,13294,13296,13299],{"class":244,"line":13291},51,[6995,13293,13029],{"class":7006},[6995,13295,7024],{"class":7000},[6995,13297,13298],{"class":7012},"\"0x6fd9e1124f91a744c7043f2873716094e1a6cc3a8ae9ca5278a1a421a7622301\"",[6995,13300,7030],{"class":7000},[6995,13302,13304,13306,13308,13310],{"class":244,"line":13303},52,[6995,13305,13041],{"class":7006},[6995,13307,7024],{"class":7000},[6995,13309,7180],{"class":7006},[6995,13311,7030],{"class":7000},[6995,13313,13315,13317,13319],{"class":244,"line":13314},53,[6995,13316,13052],{"class":7006},[6995,13318,7024],{"class":7000},[6995,13320,13321],{"class":7006},"20641\n",[6995,13323,13325],{"class":244,"line":13324},54,[6995,13326,7455],{"class":7000},[6995,13328,13330],{"class":244,"line":13329},55,[6995,13331,13002],{"class":7000},[6995,13333,13335,13337,13339,13342],{"class":244,"line":13334},56,[6995,13336,13070],{"class":7006},[6995,13338,7024],{"class":7000},[6995,13340,13341],{"class":7012},"\"9a8053f05ed7b6575770e002100025fa58452e307cf73d3594cbcd861fa5035a\"",[6995,13343,7030],{"class":7000},[6995,13345,13347,13349,13351,13353],{"class":244,"line":13346},57,[6995,13348,13082],{"class":7006},[6995,13350,7024],{"class":7000},[6995,13352,7193],{"class":7006},[6995,13354,7030],{"class":7000},[6995,13356,13358,13360,13362,13364],{"class":244,"line":13357},58,[6995,13359,13093],{"class":7006},[6995,13361,7024],{"class":7000},[6995,13363,12797],{"class":7012},[6995,13365,7030],{"class":7000},[6995,13367,13369,13371,13373,13375],{"class":244,"line":13368},59,[6995,13370,13104],{"class":7006},[6995,13372,7024],{"class":7000},[6995,13374,12809],{"class":7012},[6995,13376,7030],{"class":7000},[6995,13378,13380,13382,13384],{"class":244,"line":13379},60,[6995,13381,13115],{"class":7006},[6995,13383,7024],{"class":7000},[6995,13385,13386],{"class":7006},"1550150719\n",[6995,13388,13390],{"class":244,"line":13389},61,[6995,13391,13125],{"class":7000},[6995,13393,13395],{"class":244,"line":13394},62,[6995,13396,12862],{"class":7000},[6995,13398,13400,13402,13404,13407],{"class":244,"line":13399},63,[6995,13401,12867],{"class":7006},[6995,13403,7024],{"class":7000},[6995,13405,13406],{"class":7012},"\"0x380a25a8fba0\"",[6995,13408,7030],{"class":7000},[6995,13410,13412,13414,13416,13419],{"class":244,"line":13411},64,[6995,13413,7123],{"class":7006},[6995,13415,7024],{"class":7000},[6995,13417,13418],{"class":7006},"161.4037857055664",[6995,13420,7030],{"class":7000},[6995,13422,13424,13426,13428,13430],{"class":244,"line":13423},65,[6995,13425,12890],{"class":7006},[6995,13427,7024],{"class":7000},[6995,13429,8689],{"class":7006},[6995,13431,7030],{"class":7000},[6995,13433,13435,13437,13439,13441],{"class":244,"line":13434},66,[6995,13436,12901],{"class":7006},[6995,13438,7024],{"class":7000},[6995,13440,13341],{"class":7012},[6995,13442,7030],{"class":7000},[6995,13444,13446,13448,13450,13453],{"class":244,"line":13445},67,[6995,13447,12913],{"class":7006},[6995,13449,7024],{"class":7000},[6995,13451,13452],{"class":7006},"20400",[6995,13454,7030],{"class":7000},[6995,13456,13458,13460],{"class":244,"line":13457},68,[6995,13459,12925],{"class":7006},[6995,13461,12624],{"class":7000},[6995,13463,13465,13467],{"class":244,"line":13464},69,[6995,13466,12932],{"class":7006},[6995,13468,7217],{"class":7000},[6995,13470,13472],{"class":244,"line":13471},70,[6995,13473,7223],{"class":7000},[6995,13475,13477,13479,13481,13484],{"class":244,"line":13476},71,[6995,13478,12943],{"class":7006},[6995,13480,7024],{"class":7000},[6995,13482,13483],{"class":7012},"\"0x7eef6fa3449e87dde801fec11cd6cec8b448a87f7bd1231cff668904ee6045d5\"",[6995,13485,7030],{"class":7000},[6995,13487,13489,13491,13493,13495],{"class":244,"line":13488},72,[6995,13490,7554],{"class":7006},[6995,13492,7024],{"class":7000},[6995,13494,7180],{"class":7006},[6995,13496,7030],{"class":7000},[6995,13498,13500,13502,13504,13507],{"class":244,"line":13499},73,[6995,13501,12965],{"class":7006},[6995,13503,7024],{"class":7000},[6995,13505,13506],{"class":7012},"\"bee59b34ea59a95e9fb415d34de3cc34416debcc1e14fd993f749b2aaee9b14d\"",[6995,13508,7030],{"class":7000},[6995,13510,13512,13514,13516,13518],{"class":244,"line":13511},74,[6995,13513,12977],{"class":7006},[6995,13515,7024],{"class":7000},[6995,13517,12680],{"class":7006},[6995,13519,7030],{"class":7000},[6995,13521,13523,13525,13527],{"class":244,"line":13522},75,[6995,13524,12988],{"class":7006},[6995,13526,7024],{"class":7000},[6995,13528,13529],{"class":7006},"20400\n",[6995,13531,13533],{"class":244,"line":13532},76,[6995,13534,7455],{"class":7000},[6995,13536,13538],{"class":244,"line":13537},77,[6995,13539,13002],{"class":7000},[6995,13541,13543,13545],{"class":244,"line":13542},78,[6995,13544,13007],{"class":7006},[6995,13546,7217],{"class":7000},[6995,13548,13550],{"class":244,"line":13549},79,[6995,13551,7223],{"class":7000},[6995,13553,13555,13557,13559,13561],{"class":244,"line":13554},80,[6995,13556,13018],{"class":7006},[6995,13558,7024],{"class":7000},[6995,13560,8689],{"class":7006},[6995,13562,7030],{"class":7000},[6995,13564,13566,13568,13570,13573],{"class":244,"line":13565},81,[6995,13567,13029],{"class":7006},[6995,13569,7024],{"class":7000},[6995,13571,13572],{"class":7012},"\"0x3b8a5d665b08119b8b8ee98c831089e0f7b3219ee92b3cf9d749777349ffd285\"",[6995,13574,7030],{"class":7000},[6995,13576,13578,13580,13582,13584],{"class":244,"line":13577},82,[6995,13579,13041],{"class":7006},[6995,13581,7024],{"class":7000},[6995,13583,7180],{"class":7006},[6995,13585,7030],{"class":7000},[6995,13587,13589,13591,13593],{"class":244,"line":13588},83,[6995,13590,13052],{"class":7006},[6995,13592,7024],{"class":7000},[6995,13594,13595],{"class":7006},"20640\n",[6995,13597,13599],{"class":244,"line":13598},84,[6995,13600,7455],{"class":7000},[6995,13602,13604],{"class":244,"line":13603},85,[6995,13605,13002],{"class":7000},[6995,13607,13609,13611,13613,13616],{"class":244,"line":13608},86,[6995,13610,13070],{"class":7006},[6995,13612,7024],{"class":7000},[6995,13614,13615],{"class":7012},"\"34ce853ef5d9b6878bb694b5eec0620217d2b5f68f36cfdfc9c3bd4f1ae67107\"",[6995,13617,7030],{"class":7000},[6995,13619,13621,13623,13625,13627],{"class":244,"line":13620},87,[6995,13622,13082],{"class":7006},[6995,13624,7024],{"class":7000},[6995,13626,7193],{"class":7006},[6995,13628,7030],{"class":7000},[6995,13630,13632,13634,13636,13638],{"class":244,"line":13631},88,[6995,13633,13093],{"class":7006},[6995,13635,7024],{"class":7000},[6995,13637,12797],{"class":7012},[6995,13639,7030],{"class":7000},[6995,13641,13643,13645,13647,13649],{"class":244,"line":13642},89,[6995,13644,13104],{"class":7006},[6995,13646,7024],{"class":7000},[6995,13648,12809],{"class":7012},[6995,13650,7030],{"class":7000},[6995,13652,13654,13656,13658],{"class":244,"line":13653},90,[6995,13655,13115],{"class":7006},[6995,13657,7024],{"class":7000},[6995,13659,13660],{"class":7006},"1550150667\n",[6995,13662,13664],{"class":244,"line":13663},91,[6995,13665,7467],{"class":7000},[6995,13667,13669],{"class":244,"line":13668},92,[6995,13670,13671],{"class":7000},"]\n",[3136,13673],{},[48,13675,13677],{"id":13676},"swap-totals","swap totals",[34,13679,13680],{},[611,13681,13682],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fswap_totals",[34,13684,13685,13687],{},[100,13686,5012],{},": Return total amounts for all swap offers.",[34,13689,13690,5102],{},[100,13691,12403],{},[616,13693,13695],{"className":6989,"code":13694,"language":6991,"meta":14,"style":14},"{\n  \"beams_offered\": \"15\",\n  \"bicoin_cash_offered\": \"3\",\n  \"bitcoin_offered\": \"0\",\n  \"dash_offered\": \"0\",\n  \"dogecoin_offered\": \"0\",\n  \"litecoin_offered\": \"10\",\n  \"qtum_offered\": \"0\",\n  \"total_swaps_count\": 2\n}\n",[611,13696,13697,13701,13713,13725,13736,13747,13758,13770,13781,13791],{"__ignoreMap":14},[6995,13698,13699],{"class":244,"line":6997},[6995,13700,7001],{"class":7000},[6995,13702,13703,13706,13708,13711],{"class":244,"line":15},[6995,13704,13705],{"class":7006},"  \"beams_offered\"",[6995,13707,7024],{"class":7000},[6995,13709,13710],{"class":7012},"\"15\"",[6995,13712,7030],{"class":7000},[6995,13714,13715,13718,13720,13723],{"class":244,"line":154},[6995,13716,13717],{"class":7006},"  \"bicoin_cash_offered\"",[6995,13719,7024],{"class":7000},[6995,13721,13722],{"class":7012},"\"3\"",[6995,13724,7030],{"class":7000},[6995,13726,13727,13730,13732,13734],{"class":244,"line":7033},[6995,13728,13729],{"class":7006},"  \"bitcoin_offered\"",[6995,13731,7024],{"class":7000},[6995,13733,7405],{"class":7012},[6995,13735,7030],{"class":7000},[6995,13737,13738,13741,13743,13745],{"class":244,"line":7044},[6995,13739,13740],{"class":7006},"  \"dash_offered\"",[6995,13742,7024],{"class":7000},[6995,13744,7405],{"class":7012},[6995,13746,7030],{"class":7000},[6995,13748,13749,13752,13754,13756],{"class":244,"line":7107},[6995,13750,13751],{"class":7006},"  \"dogecoin_offered\"",[6995,13753,7024],{"class":7000},[6995,13755,7405],{"class":7012},[6995,13757,7030],{"class":7000},[6995,13759,13760,13763,13765,13768],{"class":244,"line":7120},[6995,13761,13762],{"class":7006},"  \"litecoin_offered\"",[6995,13764,7024],{"class":7000},[6995,13766,13767],{"class":7012},"\"10\"",[6995,13769,7030],{"class":7000},[6995,13771,13772,13775,13777,13779],{"class":244,"line":7133},[6995,13773,13774],{"class":7006},"  \"qtum_offered\"",[6995,13776,7024],{"class":7000},[6995,13778,7405],{"class":7012},[6995,13780,7030],{"class":7000},[6995,13782,13783,13786,13788],{"class":244,"line":7146},[6995,13784,13785],{"class":7006},"  \"total_swaps_count\"",[6995,13787,7024],{"class":7000},[6995,13789,13790],{"class":7006},"2\n",[6995,13792,13793],{"class":244,"line":7159},[6995,13794,7047],{"class":7000},[3136,13796],{},[48,13798,13800],{"id":13799},"swap-offers","swap offers",[34,13802,13803],{},[611,13804,13805],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fswap_offers",[34,13807,13808,13810],{},[100,13809,5012],{},": Return swap offers from offer board.",[34,13812,13813,5102],{},[100,13814,12403],{},[616,13816,13818],{"className":6989,"code":13817,"language":6991,"meta":14,"style":14},"[\n  {\n    \"beam_amount\": \"3\",\n    \"height_expired\": 253126,\n    \"min_height\": 252406,\n    \"status\": 0,\n    \"status_string\": \"pending\",\n    \"swap_amount\": \"3\",\n    \"swap_currency\": \"BCH\",\n    \"time_created\": \"2020.11.06 18:31:54\",\n    \"txId\": \"1b726d0adffe45c993b801c8bb46184e\"\n  },\n  {\n    \"beam_amount\": \"12\",\n    \"height_expired\": 253126,\n    \"min_height\": 252406,\n    \"status\": 0,\n    \"status_string\": \"pending\",\n    \"swap_amount\": \"10\",\n    \"swap_currency\": \"LTC\",\n    \"time_created\": \"2020.11.06 18:31:39\",\n    \"txId\": \"1b837edae2904b658f95a7b5e84c7731\"\n  }\n]\n",[611,13819,13820,13824,13828,13839,13851,13863,13874,13886,13897,13909,13921,13931,13935,13939,13949,13959,13969,13979,13989,13999,14010,14021,14030,14034],{"__ignoreMap":14},[6995,13821,13822],{"class":244,"line":6997},[6995,13823,12857],{"class":7000},[6995,13825,13826],{"class":244,"line":15},[6995,13827,12862],{"class":7000},[6995,13829,13830,13833,13835,13837],{"class":244,"line":154},[6995,13831,13832],{"class":7006},"    \"beam_amount\"",[6995,13834,7024],{"class":7000},[6995,13836,13722],{"class":7012},[6995,13838,7030],{"class":7000},[6995,13840,13841,13844,13846,13849],{"class":244,"line":7033},[6995,13842,13843],{"class":7006},"    \"height_expired\"",[6995,13845,7024],{"class":7000},[6995,13847,13848],{"class":7006},"253126",[6995,13850,7030],{"class":7000},[6995,13852,13853,13856,13858,13861],{"class":244,"line":7044},[6995,13854,13855],{"class":7006},"    \"min_height\"",[6995,13857,7024],{"class":7000},[6995,13859,13860],{"class":7006},"252406",[6995,13862,7030],{"class":7000},[6995,13864,13865,13868,13870,13872],{"class":244,"line":7107},[6995,13866,13867],{"class":7006},"    \"status\"",[6995,13869,7024],{"class":7000},[6995,13871,7180],{"class":7006},[6995,13873,7030],{"class":7000},[6995,13875,13876,13879,13881,13884],{"class":244,"line":7120},[6995,13877,13878],{"class":7006},"    \"status_string\"",[6995,13880,7024],{"class":7000},[6995,13882,13883],{"class":7012},"\"pending\"",[6995,13885,7030],{"class":7000},[6995,13887,13888,13891,13893,13895],{"class":244,"line":7133},[6995,13889,13890],{"class":7006},"    \"swap_amount\"",[6995,13892,7024],{"class":7000},[6995,13894,13722],{"class":7012},[6995,13896,7030],{"class":7000},[6995,13898,13899,13902,13904,13907],{"class":244,"line":7146},[6995,13900,13901],{"class":7006},"    \"swap_currency\"",[6995,13903,7024],{"class":7000},[6995,13905,13906],{"class":7012},"\"BCH\"",[6995,13908,7030],{"class":7000},[6995,13910,13911,13914,13916,13919],{"class":244,"line":7159},[6995,13912,13913],{"class":7006},"    \"time_created\"",[6995,13915,7024],{"class":7000},[6995,13917,13918],{"class":7012},"\"2020.11.06 18:31:54\"",[6995,13920,7030],{"class":7000},[6995,13922,13923,13926,13928],{"class":244,"line":7172},[6995,13924,13925],{"class":7006},"    \"txId\"",[6995,13927,7024],{"class":7000},[6995,13929,13930],{"class":7012},"\"1b726d0adffe45c993b801c8bb46184e\"\n",[6995,13932,13933],{"class":244,"line":7185},[6995,13934,13125],{"class":7000},[6995,13936,13937],{"class":244,"line":7198},[6995,13938,12862],{"class":7000},[6995,13940,13941,13943,13945,13947],{"class":244,"line":7211},[6995,13942,13832],{"class":7006},[6995,13944,7024],{"class":7000},[6995,13946,8578],{"class":7012},[6995,13948,7030],{"class":7000},[6995,13950,13951,13953,13955,13957],{"class":244,"line":7220},[6995,13952,13843],{"class":7006},[6995,13954,7024],{"class":7000},[6995,13956,13848],{"class":7006},[6995,13958,7030],{"class":7000},[6995,13960,13961,13963,13965,13967],{"class":244,"line":7226},[6995,13962,13855],{"class":7006},[6995,13964,7024],{"class":7000},[6995,13966,13860],{"class":7006},[6995,13968,7030],{"class":7000},[6995,13970,13971,13973,13975,13977],{"class":244,"line":7238},[6995,13972,13867],{"class":7006},[6995,13974,7024],{"class":7000},[6995,13976,7180],{"class":7006},[6995,13978,7030],{"class":7000},[6995,13980,13981,13983,13985,13987],{"class":244,"line":7250},[6995,13982,13878],{"class":7006},[6995,13984,7024],{"class":7000},[6995,13986,13883],{"class":7012},[6995,13988,7030],{"class":7000},[6995,13990,13991,13993,13995,13997],{"class":244,"line":7263},[6995,13992,13890],{"class":7006},[6995,13994,7024],{"class":7000},[6995,13996,13767],{"class":7012},[6995,13998,7030],{"class":7000},[6995,14000,14001,14003,14005,14008],{"class":244,"line":7275},[6995,14002,13901],{"class":7006},[6995,14004,7024],{"class":7000},[6995,14006,14007],{"class":7012},"\"LTC\"",[6995,14009,7030],{"class":7000},[6995,14011,14012,14014,14016,14019],{"class":244,"line":7288},[6995,14013,13913],{"class":7006},[6995,14015,7024],{"class":7000},[6995,14017,14018],{"class":7012},"\"2020.11.06 18:31:39\"",[6995,14020,7030],{"class":7000},[6995,14022,14023,14025,14027],{"class":244,"line":7300},[6995,14024,13925],{"class":7006},[6995,14026,7024],{"class":7000},[6995,14028,14029],{"class":7012},"\"1b837edae2904b658f95a7b5e84c7731\"\n",[6995,14031,14032],{"class":244,"line":7313},[6995,14033,7467],{"class":7000},[6995,14035,14036],{"class":244,"line":7325},[6995,14037,13671],{"class":7000},[3136,14039],{},[8692,14041,14042],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":14,"searchDepth":15,"depth":15,"links":14044},[14045,14046],{"id":12355,"depth":15,"text":12356},{"id":12385,"depth":15,"text":4975,"children":14047},[14048,14049,14050,14051,14052],{"id":12388,"depth":154,"text":12388},{"id":797,"depth":154,"text":797},{"id":12829,"depth":154,"text":12829},{"id":13676,"depth":154,"text":13677},{"id":13799,"depth":154,"text":13800},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-node-explorer-api",{"title":12344,"description":12352},"docs\u002Fcore-tech\u002FBeam-Node-Explorer-API","r9Y-OcMY7wPnu3XxKYMMATp6w36i1ckPQG2I3Vp2oME",{"id":14059,"title":14060,"body":14061,"description":14065,"extension":17,"image":18,"meta":14165,"navTitle":18,"navigation":20,"path":14166,"seo":14167,"stem":14168,"__hash__":14169},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Position-Paper.md","Beam Position Paper",{"type":8,"value":14062,"toc":14163},[14063,14066,14069,14075,14078,14084,14105,14108,14114,14117,14123],[34,14064,14065],{},"June 16, 2018 ( rev 0.2)\nBEAM\nThe Scalable Confidential Cryptocurrency",[34,14067,14068],{},"What is BEAM?\nBEAM is a next generation confidential cryptocurrency based on an elegant and innovative Mimblewimble protocol.\nThings\nthat make BEAM special include:\n● Users have complete control over privacy - a user decides which information will be available and to which parties, having complete control over his personal data in accordance to his will and applicable laws.\n● Confidentiality without penalty - in BEAM confidential transactions do not cause bloating of the blockchain, avoiding excessive computational overhead or penalty on performance or scalability while completely concealing the transaction value.\n● No trusted setup required\n● Blocks are mined using Equihash Proof-of-Work algorithm\n● Limited emission using periodic halving with total amount of coins ~250 million1\n● No addresses are stored in the blockchain - no information whatsoever about either the\nsender or the receiver of a transaction is stored in the blockchain.\n● Superior scalability through compact blockchain size - using the “cut-through” feature of\nMimblewimble makes the BEAM blockchain orders of magnitude smaller than any other\nblockchain implementation.2\n● BEAM supports many transaction types such as escrow transactions, time locked\ntransactions, atomic swaps and more.\n● No premine. No ICO. Backed by a treasury, emitted from every block during the first five\nyears.\n● Implemented from scratch in C++ by a team of professional developers.\n1 Exact coin schedule is not finalized yet and will be published at a later date\n2 See more detailed explanation on Mimblewimble below to understand how this can be achieved without compromising blockchain security.",[34,14070,14071,14072,14074],{},"Introduction\nSince Bitcoin, which was the first implementation of the idea of a peer to peer electronic cash system proposed by Satoshi Nakamoto back in 2008 ",[6995,14073,6679],{},", the field of crypto currencies and blockchain based systems has exploded producing thousands of different projects, technologies and research papers. Today one can find such projects ranging from distributed computing to Enterprise solutions and applied to all fields from medicine to automotive industries.",[34,14076,14077],{},"However, the basic need for people to store their money and transact in a secure way without relying on a centralized authority is still the main use case and the most important, which is one of the reasons why Bitcoin is still the top cryptocurrency and is as influential today as it was almost ten years ago.\nIn Bitcoin, as in most crypto currencies since, your balance is represented by a series of transactions which can be traced back to the very beginning of a blockchain. In order to trust the system we need to make sure that each transaction in a chain is valid, and to do so without relying on a centralized entity, which is the main purpose of Bitcoin nodes and miners. All participants in the system must agree, or using more professional terms \"reach consensus\", on an official version of the transaction history and be able to do so without trusting each other or anyone else. The ability of the system to do so is the true strength of the Bitcoin idea.",[34,14079,14080,14081,14083],{},"Failure of Anonymity and The Need for Confidentiality\nInitially, transactions in the Bitcoin network were believed to be anonymous. By generating random private and public key pairs, and using the public part to form an address that could be used to receive and control transactions, many Bitcoin users assumed that nothing in that process could link to their real identity.\nThey turned out to be wrong. Using blockchain analysis, research has shown that there are always data leaks ",[6995,14082,7511],{},". These can come from exchanges, merchants, OTC deals or even by collecting and clustering the blockchain data. It is then possible to deanonymize users, and since all data, including transaction amounts, is open and permanently stored in a public ledger, once users identity is known all their transactions past and future as well as their balance, become directly linked to them as a person.\nThis situation is far from ideal. Both individuals and organizations would prefer that their transactions and balance remain confidential and could only be seen only by parties specifically authorized by them to do so. This would require limiting the visibility of transaction details, including transferred amounts and identities of the participants and keeping as little information as possible about the transactions in the public record to prevent future analysis and a potential disclosure.",[34,14085,14086,14087,14089,14090,14092,14093,14096,14097,14100,14101],{},"Introducing Mimblewimble\nIn August 2016 a new protocol was published by an anonymous author, suggesting an elegant approach to the topic of efficient confidential blockchain. It is called Mimblewimble3, a reference to a spell from Harry Potter books, and it builds upon two concepts originally proposed by Greg Maxwell, namely Confidential Transactions ",[6995,14088,11136],{}," and Transaction Cut - Through ",[6995,14091,8439],{},". The following is a high level explanation of the key principles of Mimblewimble. For more detailed explanation please read the original whitepaper ",[6995,14094,14095],{},"5",".\nConfidential transactions are implemented by using cryptographic commitment scheme which has two basic properties: hiding and binding. It is similar to giving someone a closed safe box with some message inside that only you know the combination for. When the time comes you can reveal the key and the person can make sure that your commitment is valid (binding) while he can not know what is was before the key is received (hiding)\nMimblewimble utilizes a well known commitment scheme called Pedersen Commitment that achieves this using Elliptic Curve Cryptography and is of the form\nC=r",[100,14098,14099],{},"G+v","H\nWhere ​r​ is a blinding factor, a secret key hiding the real value ​v a​ nd G and H are generator point on a specific elliptic curve.\n3 Read full whitepaper here: ",[175,14102,14103],{"href":14103,"rel":14104},"https:\u002F\u002Fdownload.wpsoftware.net\u002Fbitcoin\u002Fwizardry\u002Fmimblewimble.txt",[179],[34,14106,14107],{},"Each input and output of a transaction is thus a linear combination of two factors: an actual value of the transaction and a blinding factor. In order to transfer ownership of a UTXO (Unspent Transaction Output) a sender needs to reveal its value and blinding factor to the receiver, which in turn needs to create a new output commitment using a different blinding factor, known only to him. Due to the linearity property of Pedersen Commitments, if we have two identical transactions: from A to B, and then from B to C, we can cut through the intermediate transaction, resulting in a merged transaction from A to C, which is a valid transaction in the system.\nSince block is just a list of transactions, each with its list of inputs and outputs, a block can be seen as one large transaction as well, allowing us to “cut through” i.e merge all intermediate outputs both within a single block as well as across multiple blocks in the blockchain. Extending this approach to the entire chain, we get a system that only needs to store the current UTXO state, instead of entire transaction history. Validity of the history that brought us to this state can be confirmed by storing only the headers of the previous blocks which hold the proof of validity of previous states (using a structure called a Merkle tree) and Proof of Work that allows to reach consensus on which of the header chains should be considered the correct one (in case of blockchain branching).\nSince all that is needed to prove ownership of the UTXO is the value and the unique blinding factor, there is no need to store any addresses in the blockchain. After creating the transaction between two wallets, either online or using any other secure mechanism, only the commitment",[34,14109,14110,14111,14113],{},"is recorded in the blockchain. This means that no matter the resources of the attacker, no personal information can be extracted from the blockchain.\nIn addition to Inputs, Outputs, Proofs and fees, each Mimblewimble transaction includes, the transaction kernel, which in its most basic form contains the difference between blinding factors of sender and receiver. Each transaction should also contain a non interactive zero knowledge range proof to ensure that transaction value is positive without revealing the actual value. It is important since allowing the user to create transactions with negative value would result in ability to arbitrarily create new coins which should be prohibited by the system. For this purpose we use Bulletproofs ",[6995,14112,7027],{},", a compact and highly computation efficient implementation of zero knowledge range proofs that are attached to every transaction and checked by the system during transaction validation.",[34,14115,14116],{},"Q&A:\nQuestion​: Why is BEAM using Equihash mining?\nAnswer​: Equihash PoW mining algorithm is well adopted by miners globally. Equihash is based on solving a Generalized Birthday Problem. It is IO bound, meaning that it requires quite a large amount of memory as opposed to Bitcoin's SHA256 that requires a lot of processing power. Equihash is built in a way that does not allow easy tradeoff between processing power and memory thus making it difficult to use with ASIC miners that existed at the time of its creation. Today there are dedicated ASIC miners that can mine Equihash ten times more efficiently than average CPU.\nQuestion​: How does compact blockchain work? Is data actually deleted from the blockchain? Answer​: No data is ever deleted from the blockchain, since a blockchain is append only by definition. What a compact blockchain means is that information needed to validate the entire blockchain is much smaller than the complete list of transactions. The user wallet, a new node connected to the system, or an existing one that does not want to store all the information can only download block headers and current state to verify the entire blockchain.\nQuestion​: What is the performance of BEAM in terms of number of transactions per second? Answer​: We do not have exact numbers yet. However it is safe to say that it will be slightly better than bitcoin and existing privacy coins. Having said that it is important to emphasize that the performance will not be high enough for BEAM to be used as “means of exchange”. Which is why we believe that BEAM will be primarily used as “store of value”. In the future it might be",[34,14118,14119,14120],{},"possible to improve performance using second layer out of chain solutions such as Lightning network or Thunderella.\nQuestion​: Does BEAM have a UI Wallet?\nAnswer​: Yes, at launch BEAM will release a desktop wallet application for Mac, Windows and Linux.\nPlease submit additional questions to our Community group on Telegram: @BeamPrivacy | ​",[175,14121,177],{"href":177,"rel":14122},[179],[34,14124,14125,14126,14128,14129,14133,14135,14136,14140,14135,14142,14146,14135,14148,14152,14135,14154,98,14157,14135,14159],{},"References:\n",[6995,14127,6679],{},"​ ​",[175,14130,14131],{"href":14131,"rel":14132},"https:\u002F\u002Fbitcoin.org\u002Fbitcoin.pdf",[179],[6995,14134,7511],{}," ​",[175,14137,14138],{"href":14138,"rel":14139},"https:\u002F\u002Farxiv.org\u002Fabs\u002F1708.04748",[179],[6995,14141,11136],{},[175,14143,14144],{"href":14144,"rel":14145},"https:\u002F\u002Fpeople.xiph.org\u002F~greg\u002Fconfidential_values.txt",[179],[6995,14147,8439],{},[175,14149,14150],{"href":14150,"rel":14151},"https:\u002F\u002Fbitcointalk.org\u002Findex.php?topic=281848.0",[179],[6995,14153,14095],{},[175,14155,14103],{"href":14103,"rel":14156},[179],[6995,14158,7027],{},[175,14160,14161],{"href":14161,"rel":14162},"https:\u002F\u002Feprint.iacr.org\u002F2017\u002F1066.pdf",[179],{"title":14,"searchDepth":15,"depth":15,"links":14164},[],{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-position-paper",{"description":14065},"docs\u002Fcore-tech\u002FBeam-Position-Paper","jzaHQGnw9B25xHR4n2ZoeoK-vv0EiJ1C79gzL9dw3vs",{"id":14171,"title":14172,"body":14173,"description":14177,"extension":17,"image":18,"meta":14251,"navTitle":18,"navigation":20,"path":14252,"seo":14253,"stem":14254,"__hash__":14255},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Technical-Specifications.md","Beam Technical Specifications",{"type":8,"value":14174,"toc":14249},[14175,14178],[34,14176,14177],{},"BEAM implements the MW protocol (with some extensions), which is based on elliptic curve cryptography (ECC).",[852,14179,14180,14187,14203,14210,14217,14224,14236,14243],{},[59,14181,14182],{},[175,14183,14186],{"href":14184,"rel":14185},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FCryptographic-primitives",[179],"Cryptographic primitives",[59,14188,14189,14194],{},[175,14190,14193],{"href":14191,"rel":14192},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FMerkle-trees",[179],"Merkle trees",[852,14195,14196],{},[59,14197,14198],{},[175,14199,14202],{"href":14200,"rel":14201},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FDMMR-internal-layout",[179],"DMMR layout",[59,14204,14205],{},[175,14206,14209],{"href":14207,"rel":14208},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FCore-transaction-elements",[179],"Core transaction elements",[59,14211,14212],{},[175,14213,14216],{"href":14214,"rel":14215},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FSystem-state,-header,-block",[179],"Blocks, headers, System States: concept, relevant structures and values",[59,14218,14219],{},[175,14220,14223],{"href":14221,"rel":14222},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FSystem-state-in-depth",[179],"System State in-depth",[59,14225,14226,14227],{},"Node\n",[852,14228,14229],{},[59,14230,14231],{},[175,14232,14235],{"href":14233,"rel":14234},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FNode-initial-synchronization",[179],"Initial synchronization",[59,14237,14238],{},[175,14239,14242],{"href":14240,"rel":14241},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FSecure-bulletin-board-system-(SBBS)",[179],"Secure bulletin board system (SBBS)",[59,14244,14245],{},[175,14246,11667],{"href":14247,"rel":14248},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-Equihash-specification",[179],{"title":14,"searchDepth":15,"depth":15,"links":14250},[],{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-technical-specifications",{"description":14177},"docs\u002Fcore-tech\u002FBeam-Technical-Specifications","_oqKO0PVVKHiswT8hdFzyWoo-a5FzCsxnCvbrrOvz8w",{"id":14257,"title":14258,"body":14259,"description":14,"extension":17,"image":18,"meta":14306,"navTitle":18,"navigation":20,"path":14307,"seo":14308,"stem":14309,"__hash__":14310},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-URI-scheme.md","Beam URI scheme",{"type":8,"value":14260,"toc":14302},[14261,14264,14268,14273,14278,14283,14288,14293,14297],[11,14262,14258],{"id":14263},"beam-uri-scheme",[41,14265,14267],{"id":14266},"ebnf-syntax","EBNF syntax",[34,14269,14270],{},[611,14271,14272],{}," beam_urn     = \"beam:\" hex_address [\"?\" params]",[34,14274,14275],{},[611,14276,14277],{},"hex_address  = base16+",[34,14279,14280],{},[611,14281,14282],{},"params       = param [\"&\" params]",[34,14284,14285],{},[611,14286,14287],{},"param        = amount_param",[34,14289,14290],{},[611,14291,14292],{},"amount_param = \"amount=\" digit+ [ \".\" digit* ]",[41,14294,14296],{"id":14295},"simplified-syntax","Simplified syntax",[34,14298,14299],{},[611,14300,14301],{},"beam: \u003Caddress> [?amount=\u003Camount>]",{"title":14,"searchDepth":15,"depth":15,"links":14303},[14304,14305],{"id":14266,"depth":15,"text":14267},{"id":14295,"depth":15,"text":14296},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-uri-scheme",{"title":14258,"description":14},"docs\u002Fcore-tech\u002FBeam-URI-scheme","NSbdOUbwhKQTZYwEqooCf4cOFhd8aozm6L1k6GjXLBY",{"id":14312,"title":14313,"body":14314,"description":14318,"extension":17,"image":18,"meta":14735,"navTitle":18,"navigation":20,"path":14736,"seo":14737,"stem":14738,"__hash__":14739},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Wallet-Database.md","Beam Wallet Database",{"type":8,"value":14315,"toc":14731},[14316,14319,14322,14336,14345,14348,14351,14360,14593,14597,14608,14713,14717,14728],[34,14317,14318],{},"Since in Mimblewimble only UTXO related information is available on chain, most of the Wallet state should be maintained locally and store in the Wallet Database, which is described in this chapter.",[34,14320,14321],{},"Beam Wallet stores and tracks information about four key entities:",[56,14323,14324,14327,14330,14333],{},[59,14325,14326],{},"Coins",[59,14328,14329],{},"Addresses",[59,14331,14332],{},"Transactions",[59,14334,14335],{},"Blockchain State",[34,14337,14338,14339,14344],{},"The interface for the database is specified in the ",[175,14340,14343],{"href":14341,"rel":14342},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002F56e9cdd7be211649a576fa15d3f0a97922ae2acd\u002Fwallet\u002Fwallet_db.h#L164",[179],"wallet_db.h"," file",[34,14346,14347],{},"Beam currently uses sqlite relational database in the implementation",[11,14349,14326],{"id":14350},"coins",[34,14352,14353,14354,14359],{},"We will start with the ",[175,14355,14358],{"href":14356,"rel":14357},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002F56e9cdd7be211649a576fa15d3f0a97922ae2acd\u002Fwallet\u002Fwallet_db.h#L41",[179],"definition"," of a Coin structure, which represents a UTXO as it is seen by the wallet.",[616,14361,14365],{"className":14362,"code":14363,"language":14364,"meta":14,"style":14},"language-c++ shiki shiki-themes github-dark","\n    \u002F\u002F Describes a UTXO in the context of the Wallet\n    struct Coin\n    {\n        \u002F\u002F Status is not stored in the database but can be\n        \u002F\u002F deduced from the current blockchain state\n        enum Status\n        {\n            Unavailable, \u002F\u002F initial status of a new UTXO\n            Available,   \u002F\u002F UTXO is currently present in the chain and can be spent\n            Maturing,    \u002F\u002F UTXO is present in the chain has maturity higher than current height (i.e coinbase or treasury)\n            Outgoing,    \u002F\u002F Available and participates in outgoing transaction\n            Incoming,    \u002F\u002F Outputs of incoming transaction, currently unavailable\n            ChangeV0,    \u002F\u002F deprecated.\n            Spent,       \u002F\u002F UTXO that was spent. Stored in wallet database until reset or restore\n\n            count\n        };\n\n        Coin(Amount amount = 0, Key::Type keyType = Key::Type::Regular);\n        bool operator==(const Coin&) const;\n        bool operator!=(const Coin&) const;\n        bool isReward() const;\n        std::string toStringID() const;\n        Amount getAmount() const;\n\n        typedef Key::IDV ID; \u002F\u002F unique identifier for the coin (including value), can be used to create blinding factor \n        ID m_ID;\n\n        Status m_status;        \u002F\u002F current status of the coin\n        Height m_maturity;      \u002F\u002F coin can be spent only when chain is >= this value. Valid for confirmed coins (Available, Outgoing, Incoming, Change, Spent, Maturing).\n\n                                \u002F\u002F The following fields are used to derive the status of the transaction\n        Height m_confirmHeight; \u002F\u002F height at which the coin was confirmed (appeared in the chain)\n        Height m_spentHeight;   \u002F\u002F height at which the coin was spent\n\n        boost::optional\u003CTxID> m_createTxId;  \u002F\u002F id of the transaction which created the UTXO\n        boost::optional\u003CTxID> m_spentTxId;   \u002F\u002F id of the transaction which spernt the UTXO\n        \n        uint64_t m_sessionId;   \u002F\u002F Used in the API to lock coins for specific session (see https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API#tx_split)\n\n        bool IsMaturityValid() const; \u002F\u002F is\u002Fwas the UTXO confirmed?\n        Height get_Maturity() const; \u002F\u002F would return MaxHeight unless the UTXO was confirmed\n        \n        std::string getStatusString() const;\n        static boost::optional\u003CCoin::ID> FromString(const std::string& str);\n    };\n","c++",[611,14366,14367,14372,14377,14382,14386,14391,14396,14401,14406,14411,14416,14421,14426,14431,14436,14441,14445,14450,14455,14459,14464,14469,14474,14479,14484,14489,14493,14498,14503,14507,14512,14517,14521,14526,14531,14536,14540,14545,14550,14555,14560,14564,14569,14574,14578,14583,14588],{"__ignoreMap":14},[6995,14368,14369],{"class":244,"line":6997},[6995,14370,14371],{"emptyLinePlaceholder":20},"\n",[6995,14373,14374],{"class":244,"line":15},[6995,14375,14376],{},"    \u002F\u002F Describes a UTXO in the context of the Wallet\n",[6995,14378,14379],{"class":244,"line":154},[6995,14380,14381],{},"    struct Coin\n",[6995,14383,14384],{"class":244,"line":7033},[6995,14385,7537],{},[6995,14387,14388],{"class":244,"line":7044},[6995,14389,14390],{},"        \u002F\u002F Status is not stored in the database but can be\n",[6995,14392,14393],{"class":244,"line":7107},[6995,14394,14395],{},"        \u002F\u002F deduced from the current blockchain state\n",[6995,14397,14398],{"class":244,"line":7120},[6995,14399,14400],{},"        enum Status\n",[6995,14402,14403],{"class":244,"line":7133},[6995,14404,14405],{},"        {\n",[6995,14407,14408],{"class":244,"line":7146},[6995,14409,14410],{},"            Unavailable, \u002F\u002F initial status of a new UTXO\n",[6995,14412,14413],{"class":244,"line":7159},[6995,14414,14415],{},"            Available,   \u002F\u002F UTXO is currently present in the chain and can be spent\n",[6995,14417,14418],{"class":244,"line":7172},[6995,14419,14420],{},"            Maturing,    \u002F\u002F UTXO is present in the chain has maturity higher than current height (i.e coinbase or treasury)\n",[6995,14422,14423],{"class":244,"line":7185},[6995,14424,14425],{},"            Outgoing,    \u002F\u002F Available and participates in outgoing transaction\n",[6995,14427,14428],{"class":244,"line":7198},[6995,14429,14430],{},"            Incoming,    \u002F\u002F Outputs of incoming transaction, currently unavailable\n",[6995,14432,14433],{"class":244,"line":7211},[6995,14434,14435],{},"            ChangeV0,    \u002F\u002F deprecated.\n",[6995,14437,14438],{"class":244,"line":7220},[6995,14439,14440],{},"            Spent,       \u002F\u002F UTXO that was spent. Stored in wallet database until reset or restore\n",[6995,14442,14443],{"class":244,"line":7226},[6995,14444,14371],{"emptyLinePlaceholder":20},[6995,14446,14447],{"class":244,"line":7238},[6995,14448,14449],{},"            count\n",[6995,14451,14452],{"class":244,"line":7250},[6995,14453,14454],{},"        };\n",[6995,14456,14457],{"class":244,"line":7263},[6995,14458,14371],{"emptyLinePlaceholder":20},[6995,14460,14461],{"class":244,"line":7275},[6995,14462,14463],{},"        Coin(Amount amount = 0, Key::Type keyType = Key::Type::Regular);\n",[6995,14465,14466],{"class":244,"line":7288},[6995,14467,14468],{},"        bool operator==(const Coin&) const;\n",[6995,14470,14471],{"class":244,"line":7300},[6995,14472,14473],{},"        bool operator!=(const Coin&) const;\n",[6995,14475,14476],{"class":244,"line":7313},[6995,14477,14478],{},"        bool isReward() const;\n",[6995,14480,14481],{"class":244,"line":7325},[6995,14482,14483],{},"        std::string toStringID() const;\n",[6995,14485,14486],{"class":244,"line":7336},[6995,14487,14488],{},"        Amount getAmount() const;\n",[6995,14490,14491],{"class":244,"line":7342},[6995,14492,14371],{"emptyLinePlaceholder":20},[6995,14494,14495],{"class":244,"line":7347},[6995,14496,14497],{},"        typedef Key::IDV ID; \u002F\u002F unique identifier for the coin (including value), can be used to create blinding factor \n",[6995,14499,14500],{"class":244,"line":7363},[6995,14501,14502],{},"        ID m_ID;\n",[6995,14504,14505],{"class":244,"line":7375},[6995,14506,14371],{"emptyLinePlaceholder":20},[6995,14508,14509],{"class":244,"line":7387},[6995,14510,14511],{},"        Status m_status;        \u002F\u002F current status of the coin\n",[6995,14513,14514],{"class":244,"line":7398},[6995,14515,14516],{},"        Height m_maturity;      \u002F\u002F coin can be spent only when chain is >= this value. Valid for confirmed coins (Available, Outgoing, Incoming, Change, Spent, Maturing).\n",[6995,14518,14519],{"class":244,"line":7410},[6995,14520,14371],{"emptyLinePlaceholder":20},[6995,14522,14523],{"class":244,"line":7421},[6995,14524,14525],{},"                                \u002F\u002F The following fields are used to derive the status of the transaction\n",[6995,14527,14528],{"class":244,"line":7432},[6995,14529,14530],{},"        Height m_confirmHeight; \u002F\u002F height at which the coin was confirmed (appeared in the chain)\n",[6995,14532,14533],{"class":244,"line":7443},[6995,14534,14535],{},"        Height m_spentHeight;   \u002F\u002F height at which the coin was spent\n",[6995,14537,14538],{"class":244,"line":7452},[6995,14539,14371],{"emptyLinePlaceholder":20},[6995,14541,14542],{"class":244,"line":7458},[6995,14543,14544],{},"        boost::optional\u003CTxID> m_createTxId;  \u002F\u002F id of the transaction which created the UTXO\n",[6995,14546,14547],{"class":244,"line":7464},[6995,14548,14549],{},"        boost::optional\u003CTxID> m_spentTxId;   \u002F\u002F id of the transaction which spernt the UTXO\n",[6995,14551,14552],{"class":244,"line":7470},[6995,14553,14554],{},"        \n",[6995,14556,14557],{"class":244,"line":13197},[6995,14558,14559],{},"        uint64_t m_sessionId;   \u002F\u002F Used in the API to lock coins for specific session (see https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API#tx_split)\n",[6995,14561,14562],{"class":244,"line":13202},[6995,14563,14371],{"emptyLinePlaceholder":20},[6995,14565,14566],{"class":244,"line":13214},[6995,14567,14568],{},"        bool IsMaturityValid() const; \u002F\u002F is\u002Fwas the UTXO confirmed?\n",[6995,14570,14571],{"class":244,"line":13225},[6995,14572,14573],{},"        Height get_Maturity() const; \u002F\u002F would return MaxHeight unless the UTXO was confirmed\n",[6995,14575,14576],{"class":244,"line":13237},[6995,14577,14554],{},[6995,14579,14580],{"class":244,"line":13248},[6995,14581,14582],{},"        std::string getStatusString() const;\n",[6995,14584,14585],{"class":244,"line":13258},[6995,14586,14587],{},"        static boost::optional\u003CCoin::ID> FromString(const std::string& str);\n",[6995,14589,14590],{"class":244,"line":13263},[6995,14591,14592],{},"    };\n",[41,14594,14596],{"id":14595},"deducing-coin-status","Deducing Coin Status",[34,14598,14599,14600,14603,14604,14607],{},"By monitoring the state of the blockchain, the wallet can always deduce the current status of each coin by tracking the m_confirmHeight height and m_spentHeight. This is done in the ",[611,14601,14602],{},"void DeduceStatus(const IWalletDB&, Coin&, Height hTop);"," method which calls the ",[611,14605,14606],{},"Coin::Status GetCoinStatus(const IWalletDB&, const Coin&, Height hTop);"," method that in turn returns the current status of the coin.",[616,14609,14611],{"className":14362,"code":14610,"language":14364,"meta":14,"style":14},"\nCoin::Status GetCoinStatus(const IWalletDB& walletDB, const Coin& c, Height hTop)\n{\n    if (c.m_spentHeight != MaxHeight)\n        return Coin::Status::Spent;\n\n    if (c.m_confirmHeight != MaxHeight)\n    {\n        if (c.m_maturity > hTop)\n            return Coin::Status::Maturing;\n\n        if (IsOngoingTx(walletDB, c.m_spentTxId))\n            return Coin::Status::Outgoing;\n\n        return Coin::Status::Available;\n    }\n\n    if (IsOngoingTx(walletDB, c.m_createTxId))\n        return Coin::Status::Incoming;\n\n    return Coin::Status::Unavailable;\n}\n",[611,14612,14613,14617,14622,14626,14631,14636,14640,14645,14649,14654,14659,14663,14668,14673,14677,14682,14686,14690,14695,14700,14704,14709],{"__ignoreMap":14},[6995,14614,14615],{"class":244,"line":6997},[6995,14616,14371],{"emptyLinePlaceholder":20},[6995,14618,14619],{"class":244,"line":15},[6995,14620,14621],{},"Coin::Status GetCoinStatus(const IWalletDB& walletDB, const Coin& c, Height hTop)\n",[6995,14623,14624],{"class":244,"line":154},[6995,14625,7001],{},[6995,14627,14628],{"class":244,"line":7033},[6995,14629,14630],{},"    if (c.m_spentHeight != MaxHeight)\n",[6995,14632,14633],{"class":244,"line":7044},[6995,14634,14635],{},"        return Coin::Status::Spent;\n",[6995,14637,14638],{"class":244,"line":7107},[6995,14639,14371],{"emptyLinePlaceholder":20},[6995,14641,14642],{"class":244,"line":7120},[6995,14643,14644],{},"    if (c.m_confirmHeight != MaxHeight)\n",[6995,14646,14647],{"class":244,"line":7133},[6995,14648,7537],{},[6995,14650,14651],{"class":244,"line":7146},[6995,14652,14653],{},"        if (c.m_maturity > hTop)\n",[6995,14655,14656],{"class":244,"line":7159},[6995,14657,14658],{},"            return Coin::Status::Maturing;\n",[6995,14660,14661],{"class":244,"line":7172},[6995,14662,14371],{"emptyLinePlaceholder":20},[6995,14664,14665],{"class":244,"line":7185},[6995,14666,14667],{},"        if (IsOngoingTx(walletDB, c.m_spentTxId))\n",[6995,14669,14670],{"class":244,"line":7198},[6995,14671,14672],{},"            return Coin::Status::Outgoing;\n",[6995,14674,14675],{"class":244,"line":7211},[6995,14676,14371],{"emptyLinePlaceholder":20},[6995,14678,14679],{"class":244,"line":7220},[6995,14680,14681],{},"        return Coin::Status::Available;\n",[6995,14683,14684],{"class":244,"line":7226},[6995,14685,7615],{},[6995,14687,14688],{"class":244,"line":7238},[6995,14689,14371],{"emptyLinePlaceholder":20},[6995,14691,14692],{"class":244,"line":7250},[6995,14693,14694],{},"    if (IsOngoingTx(walletDB, c.m_createTxId))\n",[6995,14696,14697],{"class":244,"line":7263},[6995,14698,14699],{},"        return Coin::Status::Incoming;\n",[6995,14701,14702],{"class":244,"line":7275},[6995,14703,14371],{"emptyLinePlaceholder":20},[6995,14705,14706],{"class":244,"line":7288},[6995,14707,14708],{},"    return Coin::Status::Unavailable;\n",[6995,14710,14711],{"class":244,"line":7300},[6995,14712,7047],{},[41,14714,14716],{"id":14715},"selecting-coins-for-a-specified-amount","Selecting coins for a specified amount",[34,14718,14719,14720,14723,14724,14727],{},"Implemented in the ",[611,14721,14722],{},"std::vector\u003CCoin> selectCoins(Amount amount) override;"," method. The purpose of the function is to select Coins matching a specific amount (for example in sending scenario). Selection method should minimize number of Coins and the change outputs and hence use greedy strategy with some additional heuristics. Specific strategies for coin selection are implemented in the ",[611,14725,14726],{},"struct CoinSelector3"," in honor of three attempts to write an effective selector for large amount of coins.",[8692,14729,14730],{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":14,"searchDepth":15,"depth":15,"links":14732},[14733,14734],{"id":14595,"depth":15,"text":14596},{"id":14715,"depth":15,"text":14716},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-database",{"description":14318},"docs\u002Fcore-tech\u002FBeam-Wallet-Database","NlujWYZpS2jqu09pGsVuBuy1TLnSEHHRseTedqin3DY",{"id":14741,"title":14742,"body":14743,"description":14754,"extension":17,"image":18,"meta":16079,"navTitle":18,"navigation":20,"path":16080,"seo":16081,"stem":16082,"__hash__":16083},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Web-Wallet-Starter-Kit.md","Beam Web Wallet Starter Kit working draft",{"type":8,"value":14744,"toc":16070},[14745,14752,14755,14759,14762,14765,14769,14777,14789,14793,14799,14916,14923,14927,14933,15096,15099,15103,15348,15352,15366,15454,15457,15973,15982,15986,15989,16067],[11,14746,14748,14749],{"id":14747},"beam-web-wallet-starter-kit-working-draft","Beam Web Wallet Starter Kit ",[6995,14750,14751],{},"working draft",[34,14753,14754],{},"Web wallet starter allows you easily integrate Beam with your service, create a bunch of wallets and manage them... (TODO)",[41,14756,14758],{"id":14757},"web-wallet-scheme","Web wallet scheme",[34,14760,14761],{},"Browser + Key Keeper \u003C==> Web Service\n(TODO: here will be detailed scheme).",[34,14763,14764],{},"Let's do a simple integration step by step with the examples.",[41,14766,14768],{"id":14767},"obtain-binaries","Obtain binaries",[34,14770,14771,14772,14776],{},"You can download prebuild binaries from our server with nightly builds ",[175,14773,14774],{"href":14774,"rel":14775},"https:\u002F\u002Fbuilds.beam-mw.com\u002Fmaster\u002F",[179]," or you can build all the parts yourself, here are build instructions (TODO)",[34,14778,14779,14780,2231,14783,1475,14786],{},"At the end, you need ",[611,14781,14782],{},"wallet-service-masternet",[611,14784,14785],{},"wasm-key-keeper.js",[611,14787,14788],{},"wasm-key-keeper.wasm",[41,14790,14792],{"id":14791},"load-key-keeper-to-the-client","Load Key Keeper to the client",[34,14794,14795,14796,14798],{},"Put the code near ",[611,14797,14785],{}," and start any static server.",[616,14800,14804],{"className":14801,"code":14802,"language":14803,"meta":14,"style":14},"language-html shiki shiki-themes github-dark","\u003C!DOCTYPE html>\n\u003Chtml>\n\u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n\u003Cscript type=\"text\u002Fjavascript\">\n    Module().then(() => console.log(`Key Keeper module successfully loaded.`))\n\u003C\u002Fscript>\n\u003C\u002Fhtml>\n","html",[611,14805,14806,14821,14830,14852,14868,14899,14908],{"__ignoreMap":14},[6995,14807,14808,14811,14815,14818],{"class":244,"line":6997},[6995,14809,14810],{"class":7000},"\u003C!",[6995,14812,14814],{"class":14813},"s4JwU","DOCTYPE",[6995,14816,14817],{"class":11320}," html",[6995,14819,14820],{"class":7000},">\n",[6995,14822,14823,14826,14828],{"class":244,"line":15},[6995,14824,14825],{"class":7000},"\u003C",[6995,14827,14803],{"class":14813},[6995,14829,14820],{"class":7000},[6995,14831,14832,14834,14837,14840,14842,14845,14848,14850],{"class":244,"line":154},[6995,14833,14825],{"class":7000},[6995,14835,14836],{"class":14813},"script",[6995,14838,14839],{"class":11320}," src",[6995,14841,6673],{"class":7000},[6995,14843,14844],{"class":7012},"'wasm-key-keeper.js'",[6995,14846,14847],{"class":7000},">\u003C\u002F",[6995,14849,14836],{"class":14813},[6995,14851,14820],{"class":7000},[6995,14853,14854,14856,14858,14861,14863,14866],{"class":244,"line":7033},[6995,14855,14825],{"class":7000},[6995,14857,14836],{"class":14813},[6995,14859,14860],{"class":11320}," type",[6995,14862,6673],{"class":7000},[6995,14864,14865],{"class":7012},"\"text\u002Fjavascript\"",[6995,14867,14820],{"class":7000},[6995,14869,14870,14873,14876,14879,14882,14885,14888,14891,14893,14896],{"class":244,"line":7044},[6995,14871,14872],{"class":11320},"    Module",[6995,14874,14875],{"class":7000},"().",[6995,14877,14878],{"class":11320},"then",[6995,14880,14881],{"class":7000},"(() ",[6995,14883,14884],{"class":11296},"=>",[6995,14886,14887],{"class":7000}," console.",[6995,14889,14890],{"class":11320},"log",[6995,14892,6449],{"class":7000},[6995,14894,14895],{"class":7012},"`Key Keeper module successfully loaded.`",[6995,14897,14898],{"class":7000},"))\n",[6995,14900,14901,14904,14906],{"class":244,"line":7107},[6995,14902,14903],{"class":7000},"\u003C\u002F",[6995,14905,14836],{"class":14813},[6995,14907,14820],{"class":7000},[6995,14909,14910,14912,14914],{"class":244,"line":7120},[6995,14911,14903],{"class":7000},[6995,14913,14803],{"class":14813},[6995,14915,14820],{"class":7000},[34,14917,14918,14919,14922],{},"If all is OK you will see ",[611,14920,14921],{},"Key Keeper module successfully loaded."," message in the browser console.",[41,14924,14926],{"id":14925},"connect-to-the-wallet-service","Connect to the Wallet Service",[34,14928,14929,14930,181],{},"Run the service with the following parameters ",[611,14931,14932],{},"wallet-service-masternet -n eu-node04.masternet.beam.mw:8100 --port 8080",[616,14934,14936],{"className":14801,"code":14935,"language":14803,"meta":14,"style":14},"\u003C!DOCTYPE html>\n\u003Chtml>\n\u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n\u003Cscript type=\"text\u002Fjavascript\">\n    Module().then(() => \n    {\n        console.log(`Key Keeper module successfully loaded.`)\n        \n        let connection = new WebSocket('ws:\u002F\u002F127.0.0.1:8080')\n        connection.onopen = () => console.log(`Connected to the Wallet Servce.`)\n    })\n\u003C\u002Fscript>\n\u003C\u002Fhtml>\n",[611,14937,14938,14948,14956,14974,14988,15003,15007,15021,15025,15048,15075,15080,15088],{"__ignoreMap":14},[6995,14939,14940,14942,14944,14946],{"class":244,"line":6997},[6995,14941,14810],{"class":7000},[6995,14943,14814],{"class":14813},[6995,14945,14817],{"class":11320},[6995,14947,14820],{"class":7000},[6995,14949,14950,14952,14954],{"class":244,"line":15},[6995,14951,14825],{"class":7000},[6995,14953,14803],{"class":14813},[6995,14955,14820],{"class":7000},[6995,14957,14958,14960,14962,14964,14966,14968,14970,14972],{"class":244,"line":154},[6995,14959,14825],{"class":7000},[6995,14961,14836],{"class":14813},[6995,14963,14839],{"class":11320},[6995,14965,6673],{"class":7000},[6995,14967,14844],{"class":7012},[6995,14969,14847],{"class":7000},[6995,14971,14836],{"class":14813},[6995,14973,14820],{"class":7000},[6995,14975,14976,14978,14980,14982,14984,14986],{"class":244,"line":7033},[6995,14977,14825],{"class":7000},[6995,14979,14836],{"class":14813},[6995,14981,14860],{"class":11320},[6995,14983,6673],{"class":7000},[6995,14985,14865],{"class":7012},[6995,14987,14820],{"class":7000},[6995,14989,14990,14992,14994,14996,14998,15000],{"class":244,"line":7044},[6995,14991,14872],{"class":11320},[6995,14993,14875],{"class":7000},[6995,14995,14878],{"class":11320},[6995,14997,14881],{"class":7000},[6995,14999,14884],{"class":11296},[6995,15001,15002],{"class":7000}," \n",[6995,15004,15005],{"class":244,"line":7107},[6995,15006,7537],{"class":7000},[6995,15008,15009,15012,15014,15016,15018],{"class":244,"line":7120},[6995,15010,15011],{"class":7000},"        console.",[6995,15013,14890],{"class":11320},[6995,15015,6449],{"class":7000},[6995,15017,14895],{"class":7012},[6995,15019,15020],{"class":7000},")\n",[6995,15022,15023],{"class":244,"line":7133},[6995,15024,14554],{"class":7000},[6995,15026,15027,15030,15033,15035,15038,15041,15043,15046],{"class":244,"line":7146},[6995,15028,15029],{"class":11296},"        let",[6995,15031,15032],{"class":7000}," connection ",[6995,15034,6673],{"class":11296},[6995,15036,15037],{"class":11296}," new",[6995,15039,15040],{"class":11320}," WebSocket",[6995,15042,6449],{"class":7000},[6995,15044,15045],{"class":7012},"'ws:\u002F\u002F127.0.0.1:8080'",[6995,15047,15020],{"class":7000},[6995,15049,15050,15053,15056,15059,15062,15064,15066,15068,15070,15073],{"class":244,"line":7159},[6995,15051,15052],{"class":7000},"        connection.",[6995,15054,15055],{"class":11320},"onopen",[6995,15057,15058],{"class":11296}," =",[6995,15060,15061],{"class":7000}," () ",[6995,15063,14884],{"class":11296},[6995,15065,14887],{"class":7000},[6995,15067,14890],{"class":11320},[6995,15069,6449],{"class":7000},[6995,15071,15072],{"class":7012},"`Connected to the Wallet Servce.`",[6995,15074,15020],{"class":7000},[6995,15076,15077],{"class":244,"line":7172},[6995,15078,15079],{"class":7000},"    })\n",[6995,15081,15082,15084,15086],{"class":244,"line":7185},[6995,15083,14903],{"class":7000},[6995,15085,14836],{"class":14813},[6995,15087,14820],{"class":7000},[6995,15089,15090,15092,15094],{"class":244,"line":7198},[6995,15091,14903],{"class":7000},[6995,15093,14803],{"class":14813},[6995,15095,14820],{"class":7000},[34,15097,15098],{},"We are using WebSockets here, because we need two-way communication with the service and service can request any keykeeper method, to sign transaction for example.",[41,15100,15102],{"id":15101},"init-key-keeper-with-a-seed-phase","Init Key Keeper with a seed phase",[616,15104,15106],{"className":14801,"code":15105,"language":14803,"meta":14,"style":14},"\u003C!DOCTYPE html>\n\u003Chtml>\n\u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n\u003Cscript type=\"text\u002Fjavascript\">\n    Module().then(Module => \n    {\n        console.log(`Key Keeper module successfully loaded.`)\n        \n        let connection = new WebSocket('ws:\u002F\u002F127.0.0.1:8080')\n        connection.onopen = () => \n        {\n            console.log(`Connected to the Wallet Service.`)\n\n            \u002F\u002F generate seed phrase\n            let seed = Module.KeyKeeper.GeneratePhrase()\n            console.log(`New Seed: ${seed}`)\n\n            \u002F\u002F init Key Keeper with the seed phrase\n            let keykeeper = new Module.KeyKeeper(seed)\n        }\n    })\n\u003C\u002Fscript>\n\u003C\u002Fhtml>\n",[611,15107,15108,15118,15126,15144,15158,15177,15181,15193,15197,15215,15229,15233,15247,15251,15256,15275,15294,15298,15303,15323,15328,15332,15340],{"__ignoreMap":14},[6995,15109,15110,15112,15114,15116],{"class":244,"line":6997},[6995,15111,14810],{"class":7000},[6995,15113,14814],{"class":14813},[6995,15115,14817],{"class":11320},[6995,15117,14820],{"class":7000},[6995,15119,15120,15122,15124],{"class":244,"line":15},[6995,15121,14825],{"class":7000},[6995,15123,14803],{"class":14813},[6995,15125,14820],{"class":7000},[6995,15127,15128,15130,15132,15134,15136,15138,15140,15142],{"class":244,"line":154},[6995,15129,14825],{"class":7000},[6995,15131,14836],{"class":14813},[6995,15133,14839],{"class":11320},[6995,15135,6673],{"class":7000},[6995,15137,14844],{"class":7012},[6995,15139,14847],{"class":7000},[6995,15141,14836],{"class":14813},[6995,15143,14820],{"class":7000},[6995,15145,15146,15148,15150,15152,15154,15156],{"class":244,"line":7033},[6995,15147,14825],{"class":7000},[6995,15149,14836],{"class":14813},[6995,15151,14860],{"class":11320},[6995,15153,6673],{"class":7000},[6995,15155,14865],{"class":7012},[6995,15157,14820],{"class":7000},[6995,15159,15160,15162,15164,15166,15168,15172,15175],{"class":244,"line":7044},[6995,15161,14872],{"class":11320},[6995,15163,14875],{"class":7000},[6995,15165,14878],{"class":11320},[6995,15167,6449],{"class":7000},[6995,15169,15171],{"class":15170},"s9osk","Module",[6995,15173,15174],{"class":11296}," =>",[6995,15176,15002],{"class":7000},[6995,15178,15179],{"class":244,"line":7107},[6995,15180,7537],{"class":7000},[6995,15182,15183,15185,15187,15189,15191],{"class":244,"line":7120},[6995,15184,15011],{"class":7000},[6995,15186,14890],{"class":11320},[6995,15188,6449],{"class":7000},[6995,15190,14895],{"class":7012},[6995,15192,15020],{"class":7000},[6995,15194,15195],{"class":244,"line":7133},[6995,15196,14554],{"class":7000},[6995,15198,15199,15201,15203,15205,15207,15209,15211,15213],{"class":244,"line":7146},[6995,15200,15029],{"class":11296},[6995,15202,15032],{"class":7000},[6995,15204,6673],{"class":11296},[6995,15206,15037],{"class":11296},[6995,15208,15040],{"class":11320},[6995,15210,6449],{"class":7000},[6995,15212,15045],{"class":7012},[6995,15214,15020],{"class":7000},[6995,15216,15217,15219,15221,15223,15225,15227],{"class":244,"line":7159},[6995,15218,15052],{"class":7000},[6995,15220,15055],{"class":11320},[6995,15222,15058],{"class":11296},[6995,15224,15061],{"class":7000},[6995,15226,14884],{"class":11296},[6995,15228,15002],{"class":7000},[6995,15230,15231],{"class":244,"line":7172},[6995,15232,14405],{"class":7000},[6995,15234,15235,15238,15240,15242,15245],{"class":244,"line":7185},[6995,15236,15237],{"class":7000},"            console.",[6995,15239,14890],{"class":11320},[6995,15241,6449],{"class":7000},[6995,15243,15244],{"class":7012},"`Connected to the Wallet Service.`",[6995,15246,15020],{"class":7000},[6995,15248,15249],{"class":244,"line":7198},[6995,15250,14371],{"emptyLinePlaceholder":20},[6995,15252,15253],{"class":244,"line":7211},[6995,15254,15255],{"class":7359},"            \u002F\u002F generate seed phrase\n",[6995,15257,15258,15261,15264,15266,15269,15272],{"class":244,"line":7220},[6995,15259,15260],{"class":11296},"            let",[6995,15262,15263],{"class":7000}," seed ",[6995,15265,6673],{"class":11296},[6995,15267,15268],{"class":7000}," Module.KeyKeeper.",[6995,15270,15271],{"class":11320},"GeneratePhrase",[6995,15273,15274],{"class":7000},"()\n",[6995,15276,15277,15279,15281,15283,15286,15289,15292],{"class":244,"line":7226},[6995,15278,15237],{"class":7000},[6995,15280,14890],{"class":11320},[6995,15282,6449],{"class":7000},[6995,15284,15285],{"class":7012},"`New Seed: ${",[6995,15287,15288],{"class":7000},"seed",[6995,15290,15291],{"class":7012},"}`",[6995,15293,15020],{"class":7000},[6995,15295,15296],{"class":244,"line":7238},[6995,15297,14371],{"emptyLinePlaceholder":20},[6995,15299,15300],{"class":244,"line":7250},[6995,15301,15302],{"class":7359},"            \u002F\u002F init Key Keeper with the seed phrase\n",[6995,15304,15305,15307,15310,15312,15314,15317,15320],{"class":244,"line":7263},[6995,15306,15260],{"class":11296},[6995,15308,15309],{"class":7000}," keykeeper ",[6995,15311,6673],{"class":11296},[6995,15313,15037],{"class":11296},[6995,15315,15316],{"class":7000}," Module.",[6995,15318,15319],{"class":11320},"KeyKeeper",[6995,15321,15322],{"class":7000},"(seed)\n",[6995,15324,15325],{"class":244,"line":7275},[6995,15326,15327],{"class":7000},"        }\n",[6995,15329,15330],{"class":244,"line":7288},[6995,15331,15079],{"class":7000},[6995,15333,15334,15336,15338],{"class":244,"line":7300},[6995,15335,14903],{"class":7000},[6995,15337,14836],{"class":14813},[6995,15339,14820],{"class":7000},[6995,15341,15342,15344,15346],{"class":244,"line":7313},[6995,15343,14903],{"class":7000},[6995,15345,14803],{"class":14813},[6995,15347,14820],{"class":7000},[41,15349,15351],{"id":15350},"create-wallet","Create wallet",[34,15353,15354,15355,15358,15359,1475,15362,15365],{},"To create wallet you have to call ",[611,15356,15357],{},"create_wallet"," jsonrpc api method with ",[611,15360,15361],{},"pass",[611,15363,15364],{},"ownerkey"," parameters.",[616,15367,15371],{"className":15368,"code":15369,"language":15370,"meta":14,"style":14},"language-js shiki shiki-themes github-dark","{\n    jsonrpc:'2.0',\n    id:'\u003Crequest ID>',\n    method:'create_wallet',\n    params:\n    {\n        pass:'\u003Cwallet password>'\n        ownerkey:'\u003Cowner key>',\n    }\n}\n","js",[611,15372,15373,15377,15389,15401,15413,15420,15424,15434,15446,15450],{"__ignoreMap":14},[6995,15374,15375],{"class":244,"line":6997},[6995,15376,7001],{"class":7000},[6995,15378,15379,15382,15384,15387],{"class":244,"line":15},[6995,15380,15381],{"class":11320},"    jsonrpc",[6995,15383,5102],{"class":7000},[6995,15385,15386],{"class":7012},"'2.0'",[6995,15388,7030],{"class":7000},[6995,15390,15391,15394,15396,15399],{"class":244,"line":154},[6995,15392,15393],{"class":11320},"    id",[6995,15395,5102],{"class":7000},[6995,15397,15398],{"class":7012},"'\u003Crequest ID>'",[6995,15400,7030],{"class":7000},[6995,15402,15403,15406,15408,15411],{"class":244,"line":7033},[6995,15404,15405],{"class":11320},"    method",[6995,15407,5102],{"class":7000},[6995,15409,15410],{"class":7012},"'create_wallet'",[6995,15412,7030],{"class":7000},[6995,15414,15415,15418],{"class":244,"line":7044},[6995,15416,15417],{"class":11320},"    params",[6995,15419,7532],{"class":7000},[6995,15421,15422],{"class":244,"line":7107},[6995,15423,7537],{"class":7000},[6995,15425,15426,15429,15431],{"class":244,"line":7120},[6995,15427,15428],{"class":11320},"        pass",[6995,15430,5102],{"class":7000},[6995,15432,15433],{"class":7012},"'\u003Cwallet password>'\n",[6995,15435,15436,15439,15441,15444],{"class":244,"line":7133},[6995,15437,15438],{"class":11320},"        ownerkey",[6995,15440,5102],{"class":7000},[6995,15442,15443],{"class":7012},"'\u003Cowner key>'",[6995,15445,7030],{"class":7000},[6995,15447,15448],{"class":244,"line":7146},[6995,15449,7615],{"class":7000},[6995,15451,15452],{"class":244,"line":7159},[6995,15453,7047],{"class":7000},[34,15455,15456],{},"Here is an example:",[616,15458,15460],{"className":14801,"code":15459,"language":14803,"meta":14,"style":14},"\u003C!DOCTYPE html>\n\u003Chtml>\n\u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n\u003Cscript type=\"text\u002Fjavascript\">\n    Module().then(Module => \n    {\n        console.log(`Key Keeper module successfully loaded.`)\n        \n        let connection = new WebSocket('ws:\u002F\u002F127.0.0.1:8080')\n        connection.onopen = () => \n        {\n            console.log(`Connected to the Wallet Service.`)\n\n            \u002F\u002F generate seed phrase\n            let seed = Module.KeyKeeper.GeneratePhrase()\n            console.log(`New Seed: ${seed}`)\n\n            \u002F\u002F init Key Keeper with the seed phrase\n            let keykeeper = new Module.KeyKeeper(seed)\n\n            connection.onmessage = e => \n            {\n\n                let data = JSON.parse(e.data)\n\n                if(data.result)     console.log(`Wallet is successfully created, your ID: ${data.result}`)\n                else if(data.error) console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if(data.method) connection.send(keykeeper.invokeServiceMethod(e.data))\n            }\n\n            let walletPassword = '12345678'\n            let ownerKey = keykeeper.getOwnerKey(walletPassword)\n            console.log(`Owner Key: ${ownerKey}`)\n\n            \u002F\u002F create a wallet request\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 0,\n                method: 'create_wallet',\n                params:\n                {\n                    pass: walletPassword,\n                    ownerkey: ownerKey\n                }\n            }))\n        }\n    })\n\u003C\u002Fscript>\n\u003C\u002Fhtml>\n",[611,15461,15462,15472,15480,15498,15512,15528,15532,15544,15548,15566,15580,15584,15596,15600,15604,15618,15634,15638,15642,15658,15662,15679,15684,15688,15709,15713,15740,15786,15807,15812,15816,15828,15846,15864,15868,15873,15892,15901,15910,15919,15924,15929,15934,15939,15944,15949,15953,15957,15965],{"__ignoreMap":14},[6995,15463,15464,15466,15468,15470],{"class":244,"line":6997},[6995,15465,14810],{"class":7000},[6995,15467,14814],{"class":14813},[6995,15469,14817],{"class":11320},[6995,15471,14820],{"class":7000},[6995,15473,15474,15476,15478],{"class":244,"line":15},[6995,15475,14825],{"class":7000},[6995,15477,14803],{"class":14813},[6995,15479,14820],{"class":7000},[6995,15481,15482,15484,15486,15488,15490,15492,15494,15496],{"class":244,"line":154},[6995,15483,14825],{"class":7000},[6995,15485,14836],{"class":14813},[6995,15487,14839],{"class":11320},[6995,15489,6673],{"class":7000},[6995,15491,14844],{"class":7012},[6995,15493,14847],{"class":7000},[6995,15495,14836],{"class":14813},[6995,15497,14820],{"class":7000},[6995,15499,15500,15502,15504,15506,15508,15510],{"class":244,"line":7033},[6995,15501,14825],{"class":7000},[6995,15503,14836],{"class":14813},[6995,15505,14860],{"class":11320},[6995,15507,6673],{"class":7000},[6995,15509,14865],{"class":7012},[6995,15511,14820],{"class":7000},[6995,15513,15514,15516,15518,15520,15522,15524,15526],{"class":244,"line":7044},[6995,15515,14872],{"class":11320},[6995,15517,14875],{"class":7000},[6995,15519,14878],{"class":11320},[6995,15521,6449],{"class":7000},[6995,15523,15171],{"class":15170},[6995,15525,15174],{"class":11296},[6995,15527,15002],{"class":7000},[6995,15529,15530],{"class":244,"line":7107},[6995,15531,7537],{"class":7000},[6995,15533,15534,15536,15538,15540,15542],{"class":244,"line":7120},[6995,15535,15011],{"class":7000},[6995,15537,14890],{"class":11320},[6995,15539,6449],{"class":7000},[6995,15541,14895],{"class":7012},[6995,15543,15020],{"class":7000},[6995,15545,15546],{"class":244,"line":7133},[6995,15547,14554],{"class":7000},[6995,15549,15550,15552,15554,15556,15558,15560,15562,15564],{"class":244,"line":7146},[6995,15551,15029],{"class":11296},[6995,15553,15032],{"class":7000},[6995,15555,6673],{"class":11296},[6995,15557,15037],{"class":11296},[6995,15559,15040],{"class":11320},[6995,15561,6449],{"class":7000},[6995,15563,15045],{"class":7012},[6995,15565,15020],{"class":7000},[6995,15567,15568,15570,15572,15574,15576,15578],{"class":244,"line":7159},[6995,15569,15052],{"class":7000},[6995,15571,15055],{"class":11320},[6995,15573,15058],{"class":11296},[6995,15575,15061],{"class":7000},[6995,15577,14884],{"class":11296},[6995,15579,15002],{"class":7000},[6995,15581,15582],{"class":244,"line":7172},[6995,15583,14405],{"class":7000},[6995,15585,15586,15588,15590,15592,15594],{"class":244,"line":7185},[6995,15587,15237],{"class":7000},[6995,15589,14890],{"class":11320},[6995,15591,6449],{"class":7000},[6995,15593,15244],{"class":7012},[6995,15595,15020],{"class":7000},[6995,15597,15598],{"class":244,"line":7198},[6995,15599,14371],{"emptyLinePlaceholder":20},[6995,15601,15602],{"class":244,"line":7211},[6995,15603,15255],{"class":7359},[6995,15605,15606,15608,15610,15612,15614,15616],{"class":244,"line":7220},[6995,15607,15260],{"class":11296},[6995,15609,15263],{"class":7000},[6995,15611,6673],{"class":11296},[6995,15613,15268],{"class":7000},[6995,15615,15271],{"class":11320},[6995,15617,15274],{"class":7000},[6995,15619,15620,15622,15624,15626,15628,15630,15632],{"class":244,"line":7226},[6995,15621,15237],{"class":7000},[6995,15623,14890],{"class":11320},[6995,15625,6449],{"class":7000},[6995,15627,15285],{"class":7012},[6995,15629,15288],{"class":7000},[6995,15631,15291],{"class":7012},[6995,15633,15020],{"class":7000},[6995,15635,15636],{"class":244,"line":7238},[6995,15637,14371],{"emptyLinePlaceholder":20},[6995,15639,15640],{"class":244,"line":7250},[6995,15641,15302],{"class":7359},[6995,15643,15644,15646,15648,15650,15652,15654,15656],{"class":244,"line":7263},[6995,15645,15260],{"class":11296},[6995,15647,15309],{"class":7000},[6995,15649,6673],{"class":11296},[6995,15651,15037],{"class":11296},[6995,15653,15316],{"class":7000},[6995,15655,15319],{"class":11320},[6995,15657,15322],{"class":7000},[6995,15659,15660],{"class":244,"line":7275},[6995,15661,14371],{"emptyLinePlaceholder":20},[6995,15663,15664,15667,15670,15672,15675,15677],{"class":244,"line":7288},[6995,15665,15666],{"class":7000},"            connection.",[6995,15668,15669],{"class":11320},"onmessage",[6995,15671,15058],{"class":11296},[6995,15673,15674],{"class":15170}," e",[6995,15676,15174],{"class":11296},[6995,15678,15002],{"class":7000},[6995,15680,15681],{"class":244,"line":7300},[6995,15682,15683],{"class":7000},"            {\n",[6995,15685,15686],{"class":244,"line":7313},[6995,15687,14371],{"emptyLinePlaceholder":20},[6995,15689,15690,15693,15696,15698,15701,15703,15706],{"class":244,"line":7325},[6995,15691,15692],{"class":11296},"                let",[6995,15694,15695],{"class":7000}," data ",[6995,15697,6673],{"class":11296},[6995,15699,15700],{"class":7006}," JSON",[6995,15702,181],{"class":7000},[6995,15704,15705],{"class":11320},"parse",[6995,15707,15708],{"class":7000},"(e.data)\n",[6995,15710,15711],{"class":244,"line":7336},[6995,15712,14371],{"emptyLinePlaceholder":20},[6995,15714,15715,15718,15721,15723,15725,15728,15731,15733,15736,15738],{"class":244,"line":7342},[6995,15716,15717],{"class":11296},"                if",[6995,15719,15720],{"class":7000},"(data.result)     console.",[6995,15722,14890],{"class":11320},[6995,15724,6449],{"class":7000},[6995,15726,15727],{"class":7012},"`Wallet is successfully created, your ID: ${",[6995,15729,15730],{"class":7000},"data",[6995,15732,181],{"class":7012},[6995,15734,15735],{"class":7000},"result",[6995,15737,15291],{"class":7012},[6995,15739,15020],{"class":7000},[6995,15741,15742,15745,15748,15751,15753,15755,15758,15760,15762,15765,15767,15769,15772,15774,15776,15778,15780,15782,15784],{"class":244,"line":7347},[6995,15743,15744],{"class":11296},"                else",[6995,15746,15747],{"class":11296}," if",[6995,15749,15750],{"class":7000},"(data.error) console.",[6995,15752,14890],{"class":11320},[6995,15754,6449],{"class":7000},[6995,15756,15757],{"class":7012},"`error occured, code:${",[6995,15759,15730],{"class":7000},[6995,15761,181],{"class":7012},[6995,15763,15764],{"class":7000},"error",[6995,15766,181],{"class":7012},[6995,15768,611],{"class":7000},[6995,15770,15771],{"class":7012},"} text:${",[6995,15773,15730],{"class":7000},[6995,15775,181],{"class":7012},[6995,15777,15764],{"class":7000},[6995,15779,181],{"class":7012},[6995,15781,15730],{"class":7000},[6995,15783,15291],{"class":7012},[6995,15785,15020],{"class":7000},[6995,15787,15788,15790,15792,15795,15798,15801,15804],{"class":244,"line":7363},[6995,15789,15744],{"class":11296},[6995,15791,15747],{"class":11296},[6995,15793,15794],{"class":7000},"(data.method) connection.",[6995,15796,15797],{"class":11320},"send",[6995,15799,15800],{"class":7000},"(keykeeper.",[6995,15802,15803],{"class":11320},"invokeServiceMethod",[6995,15805,15806],{"class":7000},"(e.data))\n",[6995,15808,15809],{"class":244,"line":7375},[6995,15810,15811],{"class":7000},"            }\n",[6995,15813,15814],{"class":244,"line":7387},[6995,15815,14371],{"emptyLinePlaceholder":20},[6995,15817,15818,15820,15823,15825],{"class":244,"line":7398},[6995,15819,15260],{"class":11296},[6995,15821,15822],{"class":7000}," walletPassword ",[6995,15824,6673],{"class":11296},[6995,15826,15827],{"class":7012}," '12345678'\n",[6995,15829,15830,15832,15835,15837,15840,15843],{"class":244,"line":7410},[6995,15831,15260],{"class":11296},[6995,15833,15834],{"class":7000}," ownerKey ",[6995,15836,6673],{"class":11296},[6995,15838,15839],{"class":7000}," keykeeper.",[6995,15841,15842],{"class":11320},"getOwnerKey",[6995,15844,15845],{"class":7000},"(walletPassword)\n",[6995,15847,15848,15850,15852,15854,15857,15860,15862],{"class":244,"line":7421},[6995,15849,15237],{"class":7000},[6995,15851,14890],{"class":11320},[6995,15853,6449],{"class":7000},[6995,15855,15856],{"class":7012},"`Owner Key: ${",[6995,15858,15859],{"class":7000},"ownerKey",[6995,15861,15291],{"class":7012},[6995,15863,15020],{"class":7000},[6995,15865,15866],{"class":244,"line":7432},[6995,15867,14371],{"emptyLinePlaceholder":20},[6995,15869,15870],{"class":244,"line":7443},[6995,15871,15872],{"class":7359},"            \u002F\u002F create a wallet request\n",[6995,15874,15875,15877,15879,15881,15884,15886,15889],{"class":244,"line":7452},[6995,15876,15666],{"class":7000},[6995,15878,15797],{"class":11320},[6995,15880,6449],{"class":7000},[6995,15882,15883],{"class":7006},"JSON",[6995,15885,181],{"class":7000},[6995,15887,15888],{"class":11320},"stringify",[6995,15890,15891],{"class":7000},"({\n",[6995,15893,15894,15897,15899],{"class":244,"line":7458},[6995,15895,15896],{"class":7000},"                jsonrpc: ",[6995,15898,15386],{"class":7012},[6995,15900,7030],{"class":7000},[6995,15902,15903,15906,15908],{"class":244,"line":7464},[6995,15904,15905],{"class":7000},"                id: ",[6995,15907,7180],{"class":7006},[6995,15909,7030],{"class":7000},[6995,15911,15912,15915,15917],{"class":244,"line":7470},[6995,15913,15914],{"class":7000},"                method: ",[6995,15916,15410],{"class":7012},[6995,15918,7030],{"class":7000},[6995,15920,15921],{"class":244,"line":13197},[6995,15922,15923],{"class":7000},"                params:\n",[6995,15925,15926],{"class":244,"line":13202},[6995,15927,15928],{"class":7000},"                {\n",[6995,15930,15931],{"class":244,"line":13214},[6995,15932,15933],{"class":7000},"                    pass: walletPassword,\n",[6995,15935,15936],{"class":244,"line":13225},[6995,15937,15938],{"class":7000},"                    ownerkey: ownerKey\n",[6995,15940,15941],{"class":244,"line":13237},[6995,15942,15943],{"class":7000},"                }\n",[6995,15945,15946],{"class":244,"line":13248},[6995,15947,15948],{"class":7000},"            }))\n",[6995,15950,15951],{"class":244,"line":13258},[6995,15952,15327],{"class":7000},[6995,15954,15955],{"class":244,"line":13263},[6995,15956,15079],{"class":7000},[6995,15958,15959,15961,15963],{"class":244,"line":13268},[6995,15960,14903],{"class":7000},[6995,15962,14836],{"class":14813},[6995,15964,14820],{"class":7000},[6995,15966,15967,15969,15971],{"class":244,"line":13275},[6995,15968,14903],{"class":7000},[6995,15970,14803],{"class":14813},[6995,15972,14820],{"class":7000},[34,15974,15975,15976,15981],{},"Now, when you got your wallet ID, you can call any ",[175,15977,15980],{"href":15978,"rel":15979},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API#api",[179],"Wallet API"," method, like check status, create an address or do a transaction.",[41,15983,15985],{"id":15984},"open-wallet","Open wallet",[34,15987,15988],{},"Open wallet with given ID and password.",[616,15990,15992],{"className":15368,"code":15991,"language":15370,"meta":14,"style":14},"{\n    jsonrpc:'2.0',\n    id:'\u003Crequest ID>',\n    method:'open_wallet',\n    params:\n    {\n        id:'\u003Cwallet ID>',\n        pass:'\u003Cwallet password>'\n    }\n}\n",[611,15993,15994,15998,16008,16018,16029,16035,16039,16051,16059,16063],{"__ignoreMap":14},[6995,15995,15996],{"class":244,"line":6997},[6995,15997,7001],{"class":7000},[6995,15999,16000,16002,16004,16006],{"class":244,"line":15},[6995,16001,15381],{"class":11320},[6995,16003,5102],{"class":7000},[6995,16005,15386],{"class":7012},[6995,16007,7030],{"class":7000},[6995,16009,16010,16012,16014,16016],{"class":244,"line":154},[6995,16011,15393],{"class":11320},[6995,16013,5102],{"class":7000},[6995,16015,15398],{"class":7012},[6995,16017,7030],{"class":7000},[6995,16019,16020,16022,16024,16027],{"class":244,"line":7033},[6995,16021,15405],{"class":11320},[6995,16023,5102],{"class":7000},[6995,16025,16026],{"class":7012},"'open_wallet'",[6995,16028,7030],{"class":7000},[6995,16030,16031,16033],{"class":244,"line":7044},[6995,16032,15417],{"class":11320},[6995,16034,7532],{"class":7000},[6995,16036,16037],{"class":244,"line":7107},[6995,16038,7537],{"class":7000},[6995,16040,16041,16044,16046,16049],{"class":244,"line":7120},[6995,16042,16043],{"class":11320},"        id",[6995,16045,5102],{"class":7000},[6995,16047,16048],{"class":7012},"'\u003Cwallet ID>'",[6995,16050,7030],{"class":7000},[6995,16052,16053,16055,16057],{"class":244,"line":7133},[6995,16054,15428],{"class":11320},[6995,16056,5102],{"class":7000},[6995,16058,15433],{"class":7012},[6995,16060,16061],{"class":244,"line":7146},[6995,16062,7615],{"class":7000},[6995,16064,16065],{"class":244,"line":7159},[6995,16066,7047],{"class":7000},[8692,16068,16069],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .s4JwU, html code.shiki .s4JwU{--shiki-default:#85E89D}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}",{"title":14,"searchDepth":15,"depth":15,"links":16071},[16072,16073,16074,16075,16076,16077,16078],{"id":14757,"depth":15,"text":14758},{"id":14767,"depth":15,"text":14768},{"id":14791,"depth":15,"text":14792},{"id":14925,"depth":15,"text":14926},{"id":15101,"depth":15,"text":15102},{"id":15350,"depth":15,"text":15351},{"id":15984,"depth":15,"text":15985},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-web-wallet-starter-kit",{"title":14742,"description":14754},"docs\u002Fcore-tech\u002FBeam-Web-Wallet-Starter-Kit","_aAZvc4_sMzpDrVhl8lEBD0HDbw6le-Yf5BsIfXb7xI",{"id":16085,"title":16086,"body":16087,"description":16627,"extension":17,"image":18,"meta":16628,"navTitle":18,"navigation":20,"path":16629,"seo":16630,"stem":16631,"__hash__":16632},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-mining-protocol-API-(Stratum).md","Beam mining protocol API (draft)",{"type":8,"value":16088,"toc":16616},[16089,16092,16105,16109,16112,16120,16123,16126,16132,16138,16142,16146,16149,16155,16211,16215,16218,16224,16233,16303,16307,16311,16314,16320,16332,16337,16404,16408,16411,16415,16457,16460,16468,16471,16537,16540,16602,16605,16611,16614],[11,16090,16086],{"id":16091},"beam-mining-protocol-api-draft",[34,16093,16094,16095,16098,16099,1475,16102,16104],{},"The protocol is based on JSON RPC and uses ",[100,16096,16097],{},"Long Polling"," to have a conversation between ",[100,16100,16101],{},"Miner",[100,16103,1357],{},". It describes only mining behavior without payouts at the moment.",[11,16106,16108],{"id":16107},"regulating-miner-jobs-generation","Regulating miner jobs generation",[34,16110,16111],{},"The Node would generate a new miner job when a block is received (i.e. blockchain state changes), and in addition each time a new transaction appears in the transaction pool (in fluff phase). Generating miner jobs too often has negative impact on the miner (mostly due to increased traffic). To mitigate this impact, we have the following Node configuration parameter:",[852,16113,16114],{},[59,16115,16116,16119],{},[611,16117,16118],{},"miner_job_latency"," - the minimum latency (in milliseconds) for miner job regeneration. Default is 1000 (1 second).",[34,16121,16122],{},"This parameter regulates max frequency for miner job regeneration due to incoming transactions. The bigger the latency is - the less often would the Node generate miner jobs. It has no effect on a situation when a block is received, in this case the new job is created immediately.",[34,16124,16125],{},"In the past we observed a situation where mining pools diluted the miner jobs artificially, by just ignoring some of the jobs generated by the Node. It was probably done to save network traffic, considering the fees collected from the new transactions are negligible.",[34,16127,16128,16129,16131],{},"We encourage miners to stop doing this. To regulate the miner jobs generation frequency it's better to use the ",[611,16130,16118],{}," parameter. This way more packed blocks are mined, giving miners an edge in fees, and less confirmation time for the users.\nIn addition this is essential for the new High-Frequency transaction infrastructure, which gives significant fees for the miners, as well as ultimate user experience.",[34,16133,16134,16135,16137],{},"Note also that switching miner jobs often has no effect on hashpower (i.e. it's not wasted). The switch is performed when it has no cost on the mining.\nSo, the only reason to reduce the miner job frequency is the traffic consideration, and the best way to tune it is via ",[611,16136,16118],{}," parameter. Either way, the job generated by the Node should not be discarded.",[41,16139,16141],{"id":16140},"miner-to-node","Miner to Node",[48,16143,16145],{"id":16144},"login","Login",[34,16147,16148],{},"Miner subscribes to the node to receive jobs.",[34,16150,16151,16154],{},[611,16152,16153],{},"api_key"," - miner registration key.",[616,16156,16158],{"className":6989,"code":16157,"language":6991,"meta":14,"style":14},"{\n    \"method\" : \"login\", \n    \"api_key\": \"skjdb7343636gucgjdjgd\",\n    \"id\":\"login\",\n    \"jsonrpc\":\"2.0\" \n}\n",[611,16159,16160,16164,16175,16187,16197,16207],{"__ignoreMap":14},[6995,16161,16162],{"class":244,"line":6997},[6995,16163,7001],{"class":7000},[6995,16165,16166,16168,16170,16173],{"class":244,"line":15},[6995,16167,7036],{"class":7006},[6995,16169,7746],{"class":7000},[6995,16171,16172],{"class":7012},"\"login\"",[6995,16174,7016],{"class":7000},[6995,16176,16177,16180,16182,16185],{"class":244,"line":154},[6995,16178,16179],{"class":7006},"    \"api_key\"",[6995,16181,7024],{"class":7000},[6995,16183,16184],{"class":7012},"\"skjdb7343636gucgjdjgd\"",[6995,16186,7030],{"class":7000},[6995,16188,16189,16191,16193,16195],{"class":244,"line":7033},[6995,16190,7021],{"class":7006},[6995,16192,5102],{"class":7000},[6995,16194,16172],{"class":7012},[6995,16196,7030],{"class":7000},[6995,16198,16199,16201,16203,16205],{"class":244,"line":7044},[6995,16200,7007],{"class":7006},[6995,16202,5102],{"class":7000},[6995,16204,7013],{"class":7012},[6995,16206,15002],{"class":7000},[6995,16208,16209],{"class":244,"line":7107},[6995,16210,7047],{"class":7000},[48,16212,16214],{"id":16213},"solution","Solution",[34,16216,16217],{},"Miner sends a solution to the node.",[34,16219,16220,16223],{},[611,16221,16222],{},"nonce"," - matched nonce for given solution.",[34,16225,16226,10072,16229,16232],{},[611,16227,16228],{},"output",[100,16230,16231],{},"Equhash"," solition for current difficulty.",[616,16234,16236],{"className":6989,"code":16235,"language":6991,"meta":14,"style":14},"{\n\"id\":\"212\",\n\"jsonrpc\":\"2.0\",\n\"method\":\"solution\",\n\"nonce\":\"0bb11009afc29dbe\",\n\"output\":\"a32a1e04ca447f895cfdd8fd1f96fe2ebdd8cd8f77e9c3010ca7231d5da5d0b0cee7ee857981389070eec196bfb4bd15439ef27dd370c4c763bdbad66d066f7cb2f06318e1a0c68c9f5aa8fe8112c479d9a227759d0f864136f265e9ffd3b276b9ba2243\"\n}\n",[611,16237,16238,16242,16254,16265,16277,16289,16299],{"__ignoreMap":14},[6995,16239,16240],{"class":244,"line":6997},[6995,16241,7001],{"class":7000},[6995,16243,16244,16247,16249,16252],{"class":244,"line":15},[6995,16245,16246],{"class":7006},"\"id\"",[6995,16248,5102],{"class":7000},[6995,16250,16251],{"class":7012},"\"212\"",[6995,16253,7030],{"class":7000},[6995,16255,16256,16259,16261,16263],{"class":244,"line":154},[6995,16257,16258],{"class":7006},"\"jsonrpc\"",[6995,16260,5102],{"class":7000},[6995,16262,7013],{"class":7012},[6995,16264,7030],{"class":7000},[6995,16266,16267,16270,16272,16275],{"class":244,"line":7033},[6995,16268,16269],{"class":7006},"\"method\"",[6995,16271,5102],{"class":7000},[6995,16273,16274],{"class":7012},"\"solution\"",[6995,16276,7030],{"class":7000},[6995,16278,16279,16282,16284,16287],{"class":244,"line":7044},[6995,16280,16281],{"class":7006},"\"nonce\"",[6995,16283,5102],{"class":7000},[6995,16285,16286],{"class":7012},"\"0bb11009afc29dbe\"",[6995,16288,7030],{"class":7000},[6995,16290,16291,16294,16296],{"class":244,"line":7107},[6995,16292,16293],{"class":7006},"\"output\"",[6995,16295,5102],{"class":7000},[6995,16297,16298],{"class":7012},"\"a32a1e04ca447f895cfdd8fd1f96fe2ebdd8cd8f77e9c3010ca7231d5da5d0b0cee7ee857981389070eec196bfb4bd15439ef27dd370c4c763bdbad66d066f7cb2f06318e1a0c68c9f5aa8fe8112c479d9a227759d0f864136f265e9ffd3b276b9ba2243\"\n",[6995,16300,16301],{"class":244,"line":7120},[6995,16302,7047],{"class":7000},[41,16304,16306],{"id":16305},"node-to-miner","Node to Miner",[48,16308,16310],{"id":16309},"job","Job",[34,16312,16313],{},"Miner will send new job automatically to connected miners.",[34,16315,16316,16319],{},[611,16317,16318],{},"id"," - is a job index",[34,16321,16322,16325,16326,16329,16330,181],{},[611,16323,16324],{},"input"," - block header data hash (with current ",[100,16327,16328],{},"difficulty",") as an input parameter for ",[100,16331,1047],{},[34,16333,16334,16336],{},[611,16335,16328],{}," - current chain difficulty.",[616,16338,16340],{"className":6989,"code":16339,"language":6991,"meta":14,"style":14},"{ \n\"difficulty\":3441671469,\n\"id\":\"212\",\n\"input\":\"636b90cc38bc7a347f074d9ca97c3a2158330f6844f8f52075a38a15ab483223\",\n\"jsonrpc\":\"2.0\",\n\"method\":\"job\"\n}\n",[611,16341,16342,16347,16359,16369,16381,16391,16400],{"__ignoreMap":14},[6995,16343,16344],{"class":244,"line":6997},[6995,16345,16346],{"class":7000},"{ \n",[6995,16348,16349,16352,16354,16357],{"class":244,"line":15},[6995,16350,16351],{"class":7006},"\"difficulty\"",[6995,16353,5102],{"class":7000},[6995,16355,16356],{"class":7006},"3441671469",[6995,16358,7030],{"class":7000},[6995,16360,16361,16363,16365,16367],{"class":244,"line":154},[6995,16362,16246],{"class":7006},[6995,16364,5102],{"class":7000},[6995,16366,16251],{"class":7012},[6995,16368,7030],{"class":7000},[6995,16370,16371,16374,16376,16379],{"class":244,"line":7033},[6995,16372,16373],{"class":7006},"\"input\"",[6995,16375,5102],{"class":7000},[6995,16377,16378],{"class":7012},"\"636b90cc38bc7a347f074d9ca97c3a2158330f6844f8f52075a38a15ab483223\"",[6995,16380,7030],{"class":7000},[6995,16382,16383,16385,16387,16389],{"class":244,"line":7044},[6995,16384,16258],{"class":7006},[6995,16386,5102],{"class":7000},[6995,16388,7013],{"class":7012},[6995,16390,7030],{"class":7000},[6995,16392,16393,16395,16397],{"class":244,"line":7107},[6995,16394,16269],{"class":7006},[6995,16396,5102],{"class":7000},[6995,16398,16399],{"class":7012},"\"job\"\n",[6995,16401,16402],{"class":244,"line":7120},[6995,16403,7047],{"class":7000},[48,16405,16407],{"id":16406},"cancel","Cancel",[34,16409,16410],{},"Miner will send a notification to cancel job with a given id",[34,16412,16413,16319],{},[611,16414,16318],{},[616,16416,16418],{"className":6989,"code":16417,"language":6991,"meta":14,"style":14},"{ \n\"id\":\"212\",\n\"jsonrpc\":\"2.0\",\n\"method\":\"cancel\"\n}\n",[611,16419,16420,16424,16434,16444,16453],{"__ignoreMap":14},[6995,16421,16422],{"class":244,"line":6997},[6995,16423,16346],{"class":7000},[6995,16425,16426,16428,16430,16432],{"class":244,"line":15},[6995,16427,16246],{"class":7006},[6995,16429,5102],{"class":7000},[6995,16431,16251],{"class":7012},[6995,16433,7030],{"class":7000},[6995,16435,16436,16438,16440,16442],{"class":244,"line":154},[6995,16437,16258],{"class":7006},[6995,16439,5102],{"class":7000},[6995,16441,7013],{"class":7012},[6995,16443,7030],{"class":7000},[6995,16445,16446,16448,16450],{"class":244,"line":7033},[6995,16447,16269],{"class":7006},[6995,16449,5102],{"class":7000},[6995,16451,16452],{"class":7012},"\"cancel\"\n",[6995,16454,16455],{"class":244,"line":7044},[6995,16456,7047],{"class":7000},[48,16458,16459],{"id":15735},"Result",[34,16461,16462,16463,11339,16465,16467],{},"This is what server will return to ",[611,16464,16144],{},[611,16466,16213],{}," requests, identified by id string of message has been sent from the miner to the node.",[34,16469,16470],{},"Example 1 (login failed):",[616,16472,16474],{"className":6989,"code":16473,"language":6991,"meta":14,"style":14},"{\n    \"code\":-32003,\n    \"description\":\"Login failed\",\n    \"id\":\"login\",\n    \"jsonrpc\":\"2.0\",\n    \"method\":\"result\"\n}\n",[611,16475,16476,16480,16492,16504,16514,16524,16533],{"__ignoreMap":14},[6995,16477,16478],{"class":244,"line":6997},[6995,16479,7001],{"class":7000},[6995,16481,16482,16485,16487,16490],{"class":244,"line":15},[6995,16483,16484],{"class":7006},"    \"code\"",[6995,16486,5102],{"class":7000},[6995,16488,16489],{"class":7006},"-32003",[6995,16491,7030],{"class":7000},[6995,16493,16494,16497,16499,16502],{"class":244,"line":154},[6995,16495,16496],{"class":7006},"    \"description\"",[6995,16498,5102],{"class":7000},[6995,16500,16501],{"class":7012},"\"Login failed\"",[6995,16503,7030],{"class":7000},[6995,16505,16506,16508,16510,16512],{"class":244,"line":7033},[6995,16507,7021],{"class":7006},[6995,16509,5102],{"class":7000},[6995,16511,16172],{"class":7012},[6995,16513,7030],{"class":7000},[6995,16515,16516,16518,16520,16522],{"class":244,"line":7044},[6995,16517,7007],{"class":7006},[6995,16519,5102],{"class":7000},[6995,16521,7013],{"class":7012},[6995,16523,7030],{"class":7000},[6995,16525,16526,16528,16530],{"class":244,"line":7107},[6995,16527,7036],{"class":7006},[6995,16529,5102],{"class":7000},[6995,16531,16532],{"class":7012},"\"result\"\n",[6995,16534,16535],{"class":244,"line":7120},[6995,16536,7047],{"class":7000},[34,16538,16539],{},"Example 2 (solution accepted):",[616,16541,16543],{"className":6989,"code":16542,"language":6991,"meta":14,"style":14},"{\n    \"code\":1,\n    \"description\":\"accepted\",\n    \"id\":\"212\",\n    \"jsonrpc\":\"2.0\",\n    \"method\":\"result\"\n}\n",[611,16544,16545,16549,16559,16570,16580,16590,16598],{"__ignoreMap":14},[6995,16546,16547],{"class":244,"line":6997},[6995,16548,7001],{"class":7000},[6995,16550,16551,16553,16555,16557],{"class":244,"line":15},[6995,16552,16484],{"class":7006},[6995,16554,5102],{"class":7000},[6995,16556,6679],{"class":7006},[6995,16558,7030],{"class":7000},[6995,16560,16561,16563,16565,16568],{"class":244,"line":154},[6995,16562,16496],{"class":7006},[6995,16564,5102],{"class":7000},[6995,16566,16567],{"class":7012},"\"accepted\"",[6995,16569,7030],{"class":7000},[6995,16571,16572,16574,16576,16578],{"class":244,"line":7033},[6995,16573,7021],{"class":7006},[6995,16575,5102],{"class":7000},[6995,16577,16251],{"class":7012},[6995,16579,7030],{"class":7000},[6995,16581,16582,16584,16586,16588],{"class":244,"line":7044},[6995,16583,7007],{"class":7006},[6995,16585,5102],{"class":7000},[6995,16587,7013],{"class":7012},[6995,16589,7030],{"class":7000},[6995,16591,16592,16594,16596],{"class":244,"line":7107},[6995,16593,7036],{"class":7006},[6995,16595,5102],{"class":7000},[6995,16597,16532],{"class":7012},[6995,16599,16600],{"class":244,"line":7120},[6995,16601,7047],{"class":7000},[34,16603,16604],{},"Example 3: (reply with nonce prefix)",[616,16606,16609],{"className":16607,"code":16608,"language":621},[619],"{\n    \"code\":0,\n    \"description\":\"Login successful\",\n    \"id\":\"login\",\n    \"jsonrpc\":\"2.0\",\n    \"nonceprefix\":\"ab4e3a\",\n    \"method\":\"result\"\n}\n",[611,16610,16608],{"__ignoreMap":14},[34,16612,16613],{},"Note: \"nonceprefix\" is an optional component.\nIf \"nonceprefix\" is given the first bytes of the used nonce must match the given pattern. Allowed is a prefix from 0 to 6 bytes. If \"nonceprefix\" is not given the miner may use the full nonce range.",[8692,16615,14042],{},{"title":14,"searchDepth":15,"depth":15,"links":16617},[16618,16622],{"id":16140,"depth":15,"text":16141,"children":16619},[16620,16621],{"id":16144,"depth":154,"text":16145},{"id":16213,"depth":154,"text":16214},{"id":16305,"depth":15,"text":16306,"children":16623},[16624,16625,16626],{"id":16309,"depth":154,"text":16310},{"id":16406,"depth":154,"text":16407},{"id":15735,"depth":154,"text":16459},"The protocol is based on JSON RPC and uses Long Polling to have a conversation between Miner and Node. It describes only mining behavior without payouts at the moment.",{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-mining-protocol-api-(stratum)",{"title":16086,"description":16627},"docs\u002Fcore-tech\u002FBeam-mining-protocol-API-(Stratum)","aIXKjURfa3TXSZzJO-YFzjV0_Pz75qGMOEZ3ZGe1CF0",{"id":16634,"title":16635,"body":16636,"description":16640,"extension":17,"image":18,"meta":16827,"navTitle":18,"navigation":20,"path":16828,"seo":16829,"stem":16830,"__hash__":16831},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-news-channels.md","Beam News Channels",{"type":8,"value":16637,"toc":16819},[16638,16641,16645,16648,16652,16658,16664,16670,16679,16683,16686,16690,16696,16702,16714,16722,16725,16729,16732,16737,16742,16751,16757,16765,16770,16775,16781,16787,16793,16802,16811],[34,16639,16640],{},"Beam able to provide actual news and exchange rates to wallet users.\nThis implemented using signed messages of different types transmitted over the Bulletin Board System (BBS).\nSuch messages make possible for instance to notify wallet user with popup on new wallet application version release.\nEach message is broadcasted over the network to wallet applications.\nBroadcasted messages has to be signed with apropriate key to verify publisher. Wallet applications have publisher key to check if messages are valid.",[41,16642,16644],{"id":16643},"broadcaster-utility","Broadcaster utility",[34,16646,16647],{},"The utility is used for news message dispatching.\nAlso utility has ability to generate new random publisher key pair. Private key should be keept in secret and used to sign broadcasted messages. Public key has to be embedded to the wallet application and can be shared to anyone who want to listen broadcast messages.",[41,16649,16651],{"id":16650},"commands","Commands",[34,16653,16654,16657],{},[611,16655,16656],{},"--command"," - option used to specify command:",[34,16659,16660,16663],{},[611,16661,16662],{},"generate_keys"," - used to generate new random publisher key pair",[34,16665,16666,16669],{},[611,16667,16668],{},"transmit"," - used to send broadcast message",[34,16671,16672,16673,16675,16676,16678],{},"Option ",[611,16674,16656],{}," can be omitted. In such case ",[611,16677,16668],{}," is considered as default action.",[41,16680,16682],{"id":16681},"transmit-command","Transmit command",[34,16684,16685],{},"The utility needs the address of a node (to serve as an entry point for the message) and the publisher private key specified in hex-format (to sign the message) always to be specified.",[48,16687,16689],{"id":16688},"mandatory-options","Mandatory options",[34,16691,16692,16695],{},[611,16693,16694],{},"-n"," - address of node",[34,16697,16698,16701],{},[611,16699,16700],{},"--key"," - 64 characters long private key in HEX format",[34,16703,16704,16707,16708,2231,16711,8764],{},[611,16705,16706],{},"--msg_type"," - message type (",[611,16709,16710],{},"'update'",[611,16712,16713],{},"'exchange'",[34,16715,16716,98,16719],{},[100,16717,16718],{},"Example:",[611,16720,16721],{},"-n \"eu-node02.masternet.beam.mw:8100\" --key \"f70c36f2d8342b66e3081ea4d87543566d6ad242c6e61dbf926d57ff42de0c59\" --msg_type 'exchange'",[34,16723,16724],{},"Only messages signed with valid publisher keys are processed by wallet applications.",[48,16726,16728],{"id":16727},"options-for-specific-message-types","Options for specific message types",[34,16730,16731],{},"Specific options have to be passed for each message type.",[34,16733,16734],{},[37,16735,16736],{},"In case of the message notifying about new wallet application release:",[34,16738,16739],{},[611,16740,16741],{},"--msg_type 'update'",[34,16743,16744,16747,16748],{},[611,16745,16746],{},"--upd_ver"," - new application version in format ",[6995,16749,16750],{},"x.y.z",[34,16752,16753,16756],{},[611,16754,16755],{},"--upd_type"," - released application type ('desktop', 'android' or 'ios')",[34,16758,16759,98,16761,16764],{},[100,16760,16718],{},[611,16762,16763],{},"--msg_type 'update' --upd_ver '1.8.9' --upd_type 'desktop'"," will say new desktop wallet release v1.8.9 is available",[34,16766,16767],{},[37,16768,16769],{},"In case of message distributing some currency exchange rate:",[34,16771,16772],{},[611,16773,16774],{},"--msg_type 'exchange'",[34,16776,16777,16780],{},[611,16778,16779],{},"--exch_curr"," - currency name ('beam', 'btc', 'ltc', 'qtum')",[34,16782,16783,16786],{},[611,16784,16785],{},"--exch_rate"," - exchange rate value in fixed point format (100,000,000 = 1 unit)",[34,16788,16789,16792],{},[611,16790,16791],{},"--exch_unit"," - second currency name which states unit of exchange rate value ('btc', 'usd' - default)",[34,16794,16795,98,16798,16801],{},[100,16796,16797],{},"Example 1:",[611,16799,16800],{},"--msg_type 'exchange' --exch_curr 'beam' --exch_rate '789654123'"," will say 1 Beam = 7.89654123 USD",[34,16803,16804,98,16807,16810],{},[100,16805,16806],{},"Example 2:",[611,16808,16809],{},"--msg_type 'exchange' --exch_curr 'beam' --exch_rate '123456789' --exch_unit 'btc'"," will say 1 Beam = 1.23456789 BTC",[34,16812,16813,16816],{},[100,16814,16815],{},"Common example:",[611,16817,16818],{},".\u002Fbroadcaster.exe -n \"eu-node02.masternet.beam.mw:8100\" --key \"f70c36f2d8342b66e3081ea4d87543566d6ad242c6e61dbf926d57ff42de0c59\" --msg_type 'update' --upd_ver '1.8.9' --upd_type 'desktop'",{"title":14,"searchDepth":15,"depth":15,"links":16820},[16821,16822,16823],{"id":16643,"depth":15,"text":16644},{"id":16650,"depth":15,"text":16651},{"id":16681,"depth":15,"text":16682,"children":16824},[16825,16826],{"id":16688,"depth":154,"text":16689},{"id":16727,"depth":154,"text":16728},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-news-channels",{"description":16640},"docs\u002Fcore-tech\u002FBeam-news-channels","owgwxCshd9M2gi5iu6Ufyn8oFgTjkAzN-IOa5bB12Pk",{"id":16833,"title":16834,"body":16835,"description":14,"extension":17,"image":18,"meta":17227,"navTitle":18,"navigation":20,"path":17228,"seo":17229,"stem":17230,"__hash__":17231},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-signature-schemes.md","Beam Signature Schemes",{"type":8,"value":16836,"toc":17214},[16837,16841,16844,16850,16854,16863,16866,16884,16887,16891,16898,16901,16909,16912,16929,16933,16936,16940,16950,16964,16970,16990,16994,16997,17000,17003,17007,17010,17012,17041,17044,17077,17081,17124,17128,17146,17160,17166,17169],[41,16838,16840],{"id":16839},"oracles","Oracles",[34,16842,16843],{},"Oracles are objects used to generate challenges needed to construct\u002Fverify non-interactive proofs. They interpret exposed transcript data in a standard way, and produce the challenges in a deterministic way.",[616,16845,16848],{"className":16846,"code":16847,"language":621},[619],"oracle \u003C-- exposed_data_1\noracle --> challenge_1\noracle --> challenge_2\noracle \u003C-- exposed_data_2\noracle --> challenge_3\noracle --> challenge_4\n\u002F\u002F ...\n",[611,16849,16847],{"__ignoreMap":14},[41,16851,16853],{"id":16852},"schnorrs-signature","Schnorr's signature",[34,16855,16856,16857,10139,16860,16862],{},"We use Schnorr's signatures throughout the code. We prefer the form ",[611,16858,16859],{},"[N, k]",[611,16861,1353],{}," is the \"public nonce\", because it's batch-verifications compatible.",[34,16864,16865],{},"In addition to the standard Schnorr's signature we use the following variations:",[56,16867,16868,16871,16874],{},[59,16869,16870],{},"Signatures within a specific context (transcript). Instead of signing a specific message the signature operates on the given Oracle, which means it signs a specific transcript.",[59,16872,16873],{},"Generalized Schnorr's signatures, i.e. argument of knowledge of the commitment opening in terms of several generators.",[59,16875,16876,16877,16880,16881,16883],{},"Schnorr's multi-signatures. For a number of signatures in terms of the same set of generators we use a scheme of the form ",[611,16878,16879],{},"[N, k1, k2, ..., kn]",". That is, only a single ",[611,16882,1353],{},". For the verification n challenges are derived. The soundness of such a signature can be shown by the same \"extractor\" technique used for standard Schnorr's signature for each secret key in reverse order.",[34,16885,16886],{},"Worth to note: we also use the (3) in the context of a more complex transcript, where a complex proof proves, among other things, knowledge of various secret keys (such as Lelantus spend proof).",[11,16888,16890],{"id":16889},"biased-sigma-protocol","Biased Sigma protocol.",[34,16892,16893,16894,16897],{},"prove the knowledge of opening of 1-out-of-N, after a ",[100,16895,16896],{},"Bias"," is subtracted (methodically) from all the elements.",[34,16899,16900],{},"Inputs:",[852,16902,16903,16906],{},[59,16904,16905],{},"Bias (EC point)",[59,16907,16908],{},"Set of N elements (EC points).",[34,16910,16911],{},"The proof is similar to the standard Sigma protocol, as described by Jens Groth. The differences are the following:",[56,16913,16914,16917,16926],{},[59,16915,16916],{},"It operates on Oracle. Means - it's a part of a specific transcript, and it's not possible to separate it or tamper with it.",[59,16918,16919,16920,16922,16923,16925],{},"For performance reasons the ",[100,16921,16896],{}," is not technically subtracted from the set. Instead its cumulative coefficient (multiplier) is calculated, so that the ",[100,16924,16896],{}," is added later to the equation.",[59,16927,16928],{},"Since because of (2) the set is not actually modified - the whole proof is very batch-friendly. So in a similar way the coefficients of the elements in the set are updated after each individual proof, but their multi-exponentiation is deferred.",[48,16930,16932],{"id":16931},"padding","Padding",[34,16934,16935],{},"If there are not enough elements in the set we use zeroes (points at infinity). For original Sigma protocol that'd be insecure (opening of point at infinity is trivial), however for all our use-cases it's fine because of the Bias, since all our proofs are about validation\tof the Bias, showing that it's a legit commitment of G (blinding factor) and something else. Using the Bias that consists of blinding factor only makes no sense for the attacker.",[41,16937,16939],{"id":16938},"asset-proof","Asset proof",[34,16941,16942,16943,16946,16947,16949],{},"Proves that a given blinded generator H' satisfies H' = k•G + H",[2327,16944,16945],{},"i",", whereas H",[2327,16948,16945],{}," is a legit generator defined as:",[852,16951,16952,16958],{},[59,16953,16954,16955,16957],{},"i > 0: H",[2327,16956,16945],{}," = CreateGenerator(\"B.Asset.Gen.V1 | i);",[59,16959,16960,16961,16963],{},"i = 0: H",[2327,16962,16945],{}," = H (standard H-generator used for Beams)",[34,16965,16966,16967,16969],{},"The proof is based on the biased Sigma proof described above. The prover chooses the window containing its generator by specifying the window first element. The window size is fixed in the consensus rules. Padding is not applicable, since H",[2327,16968,16945],{}," is assumed to be infinite series.",[852,16971,16972,16978,16981],{},[59,16973,16974,16975,16977],{},"The Sigma protocol's proof is in terms of ",[611,16976,1123],{},"-generator only",[59,16979,16980],{},"Bias := H'",[59,16982,16983,16984,2231,16986,16989],{},"Witness data: ",[611,16985,16945],{},[611,16987,16988],{},"k"," (the blinding factor of the generator)",[48,16991,16993],{"id":16992},"question","Question",[34,16995,16996],{},"the H' currently is NOT exposed to the Oracle used in Biased Sigma protocol. Means - an attacker can theoretically craft a false Sigma proof, and then substitute an appropriate H' that would fit the needed equation and make the proof valid.",[34,16998,16999],{},"However I can't see how the attacker can use such an H' generator. Since it comes-out as a random EC point, it has no direct relation to any other generator, and can't be used to conceal negative values, serial number or etc.",[34,17001,17002],{},"Should we expose H' to the oracle? Is it \"nice-to-have\", or essential?",[41,17004,17006],{"id":17005},"lelantus-spend-proof","Lelantus spend proof",[34,17008,17009],{},"Proves that a legit element is withdrawn from the shielded pool.",[34,17011,16900],{},[852,17013,17014,17023,17033,17038],{},[59,17015,17016,17019,17020,17022],{},[611,17017,17018],{},"SpendPk"," - spend public key, from which the serial number ",[611,17021,1446],{}," is derived in a deterministic way.",[59,17024,17025,17026,1475,17029,17032],{},"Optional: blinded Asset generator ",[611,17027,17028],{},"H'",[100,17030,17031],{},"Asset Proof",", which proves its validity.",[59,17034,17035,17037],{},[611,17036,10752],{}," - commitment to the element being-withdrawn.",[59,17039,17040],{},"Shielded pool window - the list of commitments (EC points).",[34,17042,17043],{},"Proves the following:",[852,17045,17046,17051,17060,17069],{},[59,17047,17048,17049,181],{},"The spend is signed by the secret key, the pre-image of ",[611,17050,17018],{},[59,17052,17053,17055,17056,17059],{},[611,17054,10752],{}," is a commitment of the form k•G + H'•v. The validity of ",[611,17057,17058],{},"v"," (i.e. rangeproof) is not necessary.",[59,17061,17062,17063,17065,17066,17068],{},"Serial number ",[611,17064,1446],{}," (derived from ",[611,17067,17018],{},") corresponds to an element in the specified window.",[59,17070,17071,17073,17074,17076],{},[611,17072,10752],{}," commits to the same value and asset type (H",[2327,17075,16945],{},", v).",[48,17078,17080],{"id":17079},"methodically","Methodically",[852,17082,17083,17091,17097,17104],{},[59,17084,17085,17087,17088,17090],{},[100,17086,17031],{}," is verified if specified. Otherwise the asset generator is assumed ",[611,17089,1146],{}," (used for Beams).",[59,17092,17093,17094,17096],{},"Generalized Schnorr's signature proves ",[611,17095,10752],{}," is indeed of the form k•G + H'•v.",[59,17098,17062,17099,17101,17102],{},[611,17100,1446],{}," is derived from ",[611,17103,17018],{},[59,17105,17106,17107],{},"Biased Sigma protocol is used for the rest:\n",[852,17108,17109,17115,17121],{},[59,17110,17111,17112],{},"The Bias is: ",[611,17113,17114],{},"Commitment + s•J",[59,17116,17117,17118,17120],{},"The proof is in terms of ",[611,17119,1123],{},"-generator only.",[59,17122,17123],{},"Witness data is the blinding factor difference.",[48,17125,17127],{"id":17126},"technically","Technically",[34,17129,17130,17131,17133,17134,17136,17137,1475,17139,17141,17142,1475,17144,181],{},"Technically there are 2 Schnorr's proofs here: validity of ",[611,17132,10752],{},", and knowledge of pre-image of ",[611,17135,17018],{},". They are compressed into a single generalized multi-signature, i.e. the prover knows the opening of both ",[611,17138,10752],{},[611,17140,17018],{}," in terms of ",[611,17143,1123],{},[611,17145,17028],{},[34,17147,17148,17150,17151,17153,17154,17156,17157,17159],{},[9352,17149,9127],{}," Normally the ",[611,17152,17018],{}," must be of the form k•G, and in our scheme we weaken this by allowing additional generator ",[611,17155,17028],{},". But there seems to be no problem here if someone decides to used ",[611,17158,17018],{}," that contains also the asset generator used for this element.",[34,17161,17162,17163,17165],{},"In addition the ",[611,17164,10752],{}," is used twice in the protocol: in the generalized Schnorr's signature, and as a part of the Bias for the Sigma protocol. So instead of using it twice we aggregate its coefficient, and is it once in the equation.",[34,17167,17168],{},"Finally the transcript is the following:",[852,17170,17171,17179,17182,17185,17188,17193,17196,17205,17208,17211],{},[59,17172,17173,17174,17176,17177,8764],{},"oracle \u003C-- Sigma parameters (",[611,17175,1352],{},",",[611,17178,1252],{},[59,17180,17181],{},"oracle \u003C-- `Commitment'",[59,17183,17184],{},"oracle \u003C-- `SpendPk'",[59,17186,17187],{},"oracle \u003C-- `N' (public nonce of the Schnorr's multi-signature)",[59,17189,17190,17191],{},"oracle --> Challenge for ",[611,17192,10752],{},[59,17194,17195],{},"oracle --> Challenge for `SpendPk",[59,17197,17198,17199,2231,17202],{},"\u003C-- Schnorr's multi-signature: ",[611,17200,17201],{},"kG",[611,17203,17204],{},"kH",[59,17206,17207],{},"oracle \u003C-- Sigma protocol part 1 (A, B, C, D, G-vector)",[59,17209,17210],{},"oracle --> Challenge for Sigma protocol",[59,17212,17213],{},"\u003C-- Sigma protocol part 2 (a, c, r, f-vector)",{"title":14,"searchDepth":15,"depth":15,"links":17215},[17216,17217,17220,17223],{"id":16839,"depth":15,"text":16840},{"id":16852,"depth":15,"text":16853,"children":17218},[17219],{"id":16931,"depth":154,"text":16932},{"id":16938,"depth":15,"text":16939,"children":17221},[17222],{"id":16992,"depth":154,"text":16993},{"id":17005,"depth":15,"text":17006,"children":17224},[17225,17226],{"id":17079,"depth":154,"text":17080},{"id":17126,"depth":154,"text":17127},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-signature-schemes",{"description":14},"docs\u002Fcore-tech\u002FBeam-signature-schemes","ju7Bu4lPfAGYTlQfrun5z1g0h5VqsIfGY2b8vQ0uclo",{"id":17233,"title":17234,"body":17235,"description":18063,"extension":17,"image":18,"meta":18064,"navTitle":18,"navigation":20,"path":18065,"seo":18066,"stem":18067,"__hash__":18068},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API.md","Beam Wallet Protocol API",{"type":8,"value":17236,"toc":18046},[17237,17244,17295,17298,17302,17313,17317,17355,17359,17365,17369,17383,17389,17393,17396,17401,17405,17408,17780,17784,17787,17792,17795,17799,17805,17811,17815,17829,17837,17851,17855,17861,17865,17876,17882,17889,17895,17902,17956,17960,17963,17969,17971,17989,17992,17996,17999,18007,18016,18022,18026,18029,18043],[34,17238,17239,17240,17243],{},"Starting with v6.0 BEAM wallet supports API versioning using the ",[611,17241,17242],{},"--api_version"," option. Please choose the corresponding API version in the list below to get the description of the available methods.",[852,17245,17246,17253,17260,17267,17274,17281,17288],{},[59,17247,17248],{},[175,17249,17252],{"href":17250,"rel":17251},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.0",[179],"version 6.0",[59,17254,17255],{},[175,17256,17259],{"href":17257,"rel":17258},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1",[179],"version 6.1",[59,17261,17262],{},[175,17263,17266],{"href":17264,"rel":17265},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.2",[179],"version 6.2",[59,17268,17269],{},[175,17270,17273],{"href":17271,"rel":17272},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v7.0",[179],"version 7.0",[59,17275,17276],{},[175,17277,17280],{"href":17278,"rel":17279},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v7.1",[179],"version 7.1",[59,17282,17283],{},[175,17284,17287],{"href":17285,"rel":17286},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v7.2",[179],"version 7.2",[59,17289,17290],{},[175,17291,17294],{"href":17292,"rel":17293},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v7.3",[179],"version 7.3",[34,17296,17297],{},"The sections below apply to the API versions starting with 6.0 if the other is not explicitly stated.",[41,17299,17301],{"id":17300},"general","General",[34,17303,17304,17305,17308,17309,17312],{},"Wallet API has the same structure as Node Stratum API protocol (JSON RPC 2.0 over TCP connection) and should have an online connection to the node. However, it can work over HTTP using the ",[611,17306,17307],{},"--use_http=1"," option. Send POST requests to ",[611,17310,17311],{},"http:\u002F\u002Fx.x.x.x:port\u002Fapi\u002Fwallet"," in this case.",[41,17314,17316],{"id":17315},"running-wallet-api","Running Wallet API",[34,17318,17319,17320,17322,17323,17325,17326,17328,17329,17332,17333,17335,17336,17339,17340,17343,17344,17346,17347,17350,17351,17354],{},"Place ",[611,17321,6883],{}," binary located in the ",[611,17324,1521],{}," folder near your ",[611,17327,3449],{}," and run it. You can specify options in CLI or using ",[611,17330,17331],{},"wallet-api.cfg"," file. Minimal options required are your ",[611,17334,3449],{}," password (",[611,17337,17338],{},"--pass",") and node (",[611,17341,17342],{},"-n=",") to connect to. Please notice that ",[611,17345,11829],{}," by default is expected to be located in the current working directory (",[611,17348,17349],{},"$PWD","). You can change this using the ",[611,17352,17353],{},"--wallet_path="," option.",[48,17356,17358],{"id":17357},"wallet-api-general-options","Wallet API general options",[616,17360,17363],{"className":17361,"code":17362,"language":621},[619],"  -h [ --help ]                         list of all options\n  -p [ --port ] arg (=10000)            port to start server on\n  -n [ --node_addr ] arg                address of node\n  --wallet_path arg (=wallet.db)        path to the wallet file\n  --pass arg                            password for the wallet\n  --use_http arg (=0)                   use JSON RPC over HTTP\n  --ip_whitelist arg                    IP whitelist\n  --log_cleanup_days arg (=5)           old logfiles cleanup period(days)\n  --node_poll_period arg (=0)           Node poll period in milliseconds. Set\n                                        to 0 to keep a connection. Anyway poll\n                                        period would be no less than the\n                                        expected rate of blocks if it is less\n                                        then it will be rounded up to block\n                                        rate value.\n  --enable_assets                       enable confidential assets transactions\n  --enable_lelantus                     enable Lelantus MW transactions\n  --api_version                         specify API version. Available since v6.0. Acceptable values: current, 6.0, 6.1 &c.\n\nUser authorization options:\n  --use_acl arg (=0)                use Access Control List (ACL)\n  --acl_path arg (=wallet_api.acl)  path to ACL file\n\nTLS protocol options:\n  --use_tls arg (=0)                use TLS protocol\n  --tls_cert arg (=wallet_api.crt)  path to TLS certificate\n  --tls_key arg (=wallet_api.key)   path to TLS private key\n  --tls_request_cert (=false)       request client's certificate for verification for client authentication\n  --tls_reject_unauthorized (=true) server will reject any connection which is not authorized with the list of supplied CAs\n",[611,17364,17362],{"__ignoreMap":14},[48,17366,17368],{"id":17367},"wallet-apicfg-file","wallet-api.cfg file",[34,17370,6547,17371,17373,17374,17376,17377,17379,17380,17382],{},[611,17372,17331],{}," file is another way to supply options for the API server. All the options listed above are supported. The ",[611,17375,17331],{}," file is expected to be located in the current working directory (",[611,17378,17349],{},"). Here is an example of the ",[611,17381,17331],{}," file:",[616,17384,17387],{"className":17385,"code":17386,"language":621},[619],"# password for the wallet\npass=1\n\n# address of node\nnode_addr=127.0.0.1:8888\n\n# port to start server on\nport=10000\n\n# path to wallet file\nwallet_path=\u002Fhome\u002Fuser\u002Fwallet.db\n\n# use JSON RPC over HTTP\nuse_http=1\n",[611,17388,17386],{"__ignoreMap":14},[41,17390,17392],{"id":17391},"running-api-server-in-tcp-mode","Running API Server in TCP mode",[34,17394,17395],{},"By default API launches in TCP mode. For example:",[34,17397,17398],{},[611,17399,17400],{},".\u002Fwallet-api --node_addr=172.104.249.212:8101 --pass=123",[41,17402,17404],{"id":17403},"accessing-api-server-via-tcp","Accessing API Server via TCP",[34,17406,17407],{},"Here is an example NodeJS code to get all UTXOs from the Wallet API server that is running in TCP mode",[616,17409,17411],{"className":15368,"code":17410,"language":15370,"meta":14,"style":14},"var net = require('net');\n\nvar client = new net.Socket();\nclient.connect(10000, '127.0.0.1', function() {\n    console.log('Connected');\n    client.write(JSON.stringify(\n        {\n            jsonrpc: '2.0',\n            id: 123,\n            method: 'get_utxo',\n            params: {}\n        }) + '\\n');\n});\n\nvar acc = '';\n\nclient.on('data', function(data) {\n    acc += data;\n\n    \u002F\u002F searching for \\n symbol to find end of response\n    if(data.indexOf('\\n') != -1)\n    {\n        var res = JSON.parse(acc);\n\n        console.log('Received:', res);\n\n        client.destroy(); \u002F\u002F kill client after server's response\n    }\n});\n\nclient.on('close', function() {\n    console.log('Connection closed');\n});\n",[611,17412,17413,17434,17438,17458,17483,17497,17516,17520,17529,17538,17548,17553,17572,17577,17581,17596,17600,17623,17634,17638,17643,17675,17679,17698,17702,17716,17720,17734,17738,17742,17746,17763,17776],{"__ignoreMap":14},[6995,17414,17415,17418,17421,17423,17426,17428,17431],{"class":244,"line":6997},[6995,17416,17417],{"class":11296},"var",[6995,17419,17420],{"class":7000}," net ",[6995,17422,6673],{"class":11296},[6995,17424,17425],{"class":11320}," require",[6995,17427,6449],{"class":7000},[6995,17429,17430],{"class":7012},"'net'",[6995,17432,17433],{"class":7000},");\n",[6995,17435,17436],{"class":244,"line":15},[6995,17437,14371],{"emptyLinePlaceholder":20},[6995,17439,17440,17442,17445,17447,17449,17452,17455],{"class":244,"line":154},[6995,17441,17417],{"class":11296},[6995,17443,17444],{"class":7000}," client ",[6995,17446,6673],{"class":11296},[6995,17448,15037],{"class":11296},[6995,17450,17451],{"class":7000}," net.",[6995,17453,17454],{"class":11320},"Socket",[6995,17456,17457],{"class":7000},"();\n",[6995,17459,17460,17463,17466,17468,17470,17472,17475,17477,17480],{"class":244,"line":7033},[6995,17461,17462],{"class":7000},"client.",[6995,17464,17465],{"class":11320},"connect",[6995,17467,6449],{"class":7000},[6995,17469,8493],{"class":7006},[6995,17471,2231],{"class":7000},[6995,17473,17474],{"class":7012},"'127.0.0.1'",[6995,17476,2231],{"class":7000},[6995,17478,17479],{"class":11296},"function",[6995,17481,17482],{"class":7000},"() {\n",[6995,17484,17485,17488,17490,17492,17495],{"class":244,"line":7044},[6995,17486,17487],{"class":7000},"    console.",[6995,17489,14890],{"class":11320},[6995,17491,6449],{"class":7000},[6995,17493,17494],{"class":7012},"'Connected'",[6995,17496,17433],{"class":7000},[6995,17498,17499,17502,17505,17507,17509,17511,17513],{"class":244,"line":7107},[6995,17500,17501],{"class":7000},"    client.",[6995,17503,17504],{"class":11320},"write",[6995,17506,6449],{"class":7000},[6995,17508,15883],{"class":7006},[6995,17510,181],{"class":7000},[6995,17512,15888],{"class":11320},[6995,17514,17515],{"class":7000},"(\n",[6995,17517,17518],{"class":244,"line":7120},[6995,17519,14405],{"class":7000},[6995,17521,17522,17525,17527],{"class":244,"line":7133},[6995,17523,17524],{"class":7000},"            jsonrpc: ",[6995,17526,15386],{"class":7012},[6995,17528,7030],{"class":7000},[6995,17530,17531,17534,17536],{"class":244,"line":7146},[6995,17532,17533],{"class":7000},"            id: ",[6995,17535,7167],{"class":7006},[6995,17537,7030],{"class":7000},[6995,17539,17540,17543,17546],{"class":244,"line":7159},[6995,17541,17542],{"class":7000},"            method: ",[6995,17544,17545],{"class":7012},"'get_utxo'",[6995,17547,7030],{"class":7000},[6995,17549,17550],{"class":244,"line":7172},[6995,17551,17552],{"class":7000},"            params: {}\n",[6995,17554,17555,17558,17561,17564,17567,17570],{"class":244,"line":7185},[6995,17556,17557],{"class":7000},"        }) ",[6995,17559,17560],{"class":11296},"+",[6995,17562,17563],{"class":7012}," '",[6995,17565,17566],{"class":7006},"\\n",[6995,17568,17569],{"class":7012},"'",[6995,17571,17433],{"class":7000},[6995,17573,17574],{"class":244,"line":7198},[6995,17575,17576],{"class":7000},"});\n",[6995,17578,17579],{"class":244,"line":7211},[6995,17580,14371],{"emptyLinePlaceholder":20},[6995,17582,17583,17585,17588,17590,17593],{"class":244,"line":7220},[6995,17584,17417],{"class":11296},[6995,17586,17587],{"class":7000}," acc ",[6995,17589,6673],{"class":11296},[6995,17591,17592],{"class":7012}," ''",[6995,17594,17595],{"class":7000},";\n",[6995,17597,17598],{"class":244,"line":7226},[6995,17599,14371],{"emptyLinePlaceholder":20},[6995,17601,17602,17604,17607,17609,17612,17614,17616,17618,17620],{"class":244,"line":7238},[6995,17603,17462],{"class":7000},[6995,17605,17606],{"class":11320},"on",[6995,17608,6449],{"class":7000},[6995,17610,17611],{"class":7012},"'data'",[6995,17613,2231],{"class":7000},[6995,17615,17479],{"class":11296},[6995,17617,6449],{"class":7000},[6995,17619,15730],{"class":15170},[6995,17621,17622],{"class":7000},") {\n",[6995,17624,17625,17628,17631],{"class":244,"line":7250},[6995,17626,17627],{"class":7000},"    acc ",[6995,17629,17630],{"class":11296},"+=",[6995,17632,17633],{"class":7000}," data;\n",[6995,17635,17636],{"class":244,"line":7263},[6995,17637,14371],{"emptyLinePlaceholder":20},[6995,17639,17640],{"class":244,"line":7275},[6995,17641,17642],{"class":7359},"    \u002F\u002F searching for \\n symbol to find end of response\n",[6995,17644,17645,17648,17651,17654,17656,17658,17660,17662,17665,17668,17671,17673],{"class":244,"line":7288},[6995,17646,17647],{"class":11296},"    if",[6995,17649,17650],{"class":7000},"(data.",[6995,17652,17653],{"class":11320},"indexOf",[6995,17655,6449],{"class":7000},[6995,17657,17569],{"class":7012},[6995,17659,17566],{"class":7006},[6995,17661,17569],{"class":7012},[6995,17663,17664],{"class":7000},") ",[6995,17666,17667],{"class":11296},"!=",[6995,17669,17670],{"class":11296}," -",[6995,17672,6679],{"class":7006},[6995,17674,15020],{"class":7000},[6995,17676,17677],{"class":244,"line":7300},[6995,17678,7537],{"class":7000},[6995,17680,17681,17684,17687,17689,17691,17693,17695],{"class":244,"line":7313},[6995,17682,17683],{"class":11296},"        var",[6995,17685,17686],{"class":7000}," res ",[6995,17688,6673],{"class":11296},[6995,17690,15700],{"class":7006},[6995,17692,181],{"class":7000},[6995,17694,15705],{"class":11320},[6995,17696,17697],{"class":7000},"(acc);\n",[6995,17699,17700],{"class":244,"line":7325},[6995,17701,14371],{"emptyLinePlaceholder":20},[6995,17703,17704,17706,17708,17710,17713],{"class":244,"line":7336},[6995,17705,15011],{"class":7000},[6995,17707,14890],{"class":11320},[6995,17709,6449],{"class":7000},[6995,17711,17712],{"class":7012},"'Received:'",[6995,17714,17715],{"class":7000},", res);\n",[6995,17717,17718],{"class":244,"line":7342},[6995,17719,14371],{"emptyLinePlaceholder":20},[6995,17721,17722,17725,17728,17731],{"class":244,"line":7347},[6995,17723,17724],{"class":7000},"        client.",[6995,17726,17727],{"class":11320},"destroy",[6995,17729,17730],{"class":7000},"(); ",[6995,17732,17733],{"class":7359},"\u002F\u002F kill client after server's response\n",[6995,17735,17736],{"class":244,"line":7363},[6995,17737,7615],{"class":7000},[6995,17739,17740],{"class":244,"line":7375},[6995,17741,17576],{"class":7000},[6995,17743,17744],{"class":244,"line":7387},[6995,17745,14371],{"emptyLinePlaceholder":20},[6995,17747,17748,17750,17752,17754,17757,17759,17761],{"class":244,"line":7398},[6995,17749,17462],{"class":7000},[6995,17751,17606],{"class":11320},[6995,17753,6449],{"class":7000},[6995,17755,17756],{"class":7012},"'close'",[6995,17758,2231],{"class":7000},[6995,17760,17479],{"class":11296},[6995,17762,17482],{"class":7000},[6995,17764,17765,17767,17769,17771,17774],{"class":244,"line":7410},[6995,17766,17487],{"class":7000},[6995,17768,14890],{"class":11320},[6995,17770,6449],{"class":7000},[6995,17772,17773],{"class":7012},"'Connection closed'",[6995,17775,17433],{"class":7000},[6995,17777,17778],{"class":244,"line":7421},[6995,17779,17576],{"class":7000},[41,17781,17783],{"id":17782},"running-api-server-in-http-mode","Running API Server in HTTP mode",[34,17785,17786],{},"Run via cli with '--use_http=1':",[34,17788,17789],{},[611,17790,17791],{},".\u002Fwallet-api --node_addr=172.104.249.212:8101 --pass=123 --use_http=1",[34,17793,17794],{},"Or add 'use_http=1' to the wallet-api.cfg to enable HTTP mode.",[41,17796,17798],{"id":17797},"accessing-api-server-via-http","Accessing API Server via HTTP",[34,17800,17801,17802,181],{},"You can perform POST requests using CURL. Here is an example to get the current ",[100,17803,17804],{},"wallet status",[616,17806,17809],{"className":17807,"code":17808,"language":621},[619],"curl -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"wallet_status\"}' \n     -H \"Content-Type: application\u002Fjson\" \n     -X POST http:\u002F\u002Fx.x.x.x:port\u002Fapi\u002Fwallet\n",[611,17810,17808],{"__ignoreMap":14},[41,17812,17814],{"id":17813},"tls-encryption","TLS encryption",[34,17816,17817,17818,17821,17822,1475,17825,17828],{},"Add ",[611,17819,17820],{},"--use_tls=1"," to enable TLS encryption. You have supply the valid 3rd-party certificate or create a self signed certificate. Pass them to the API server using ",[611,17823,17824],{},"--tls_cert",[611,17826,17827],{},"--tls_key"," options.",[34,17830,17831,17832,17836],{},"For testing you can download the sample certificate and key files from ",[175,17833,1248],{"href":17834,"rel":17835},"https:\u002F\u002Fbeamx.gitbook.io\u002Fbeam-node-user-guide\u002Fmining-mode\u002Fmining-using-external-miner#certificate-and-keys",[179],"  or clicking the links below:",[34,17838,17839,17844,17846],{},[175,17840,17843],{"href":17841,"rel":17842},"https:\u002F\u002Ffirebasestorage.googleapis.com\u002Fv0\u002Fb\u002Fgitbook-28427.appspot.com\u002Fo\u002Fassets%2F-MahNa0IaGxTr8GkB5rz%2F-Mb6iKWRWPQD7ljMB61A%2F-Mb6q79H8fH8zbfxJrei%2Fstratum.crt?alt=media&token=29cad8ec-2911-446e-b1d4-991401e19d0d",[179],"Certificate  File",[4953,17845],{},[175,17847,17850],{"href":17848,"rel":17849},"https:\u002F\u002Ffirebasestorage.googleapis.com\u002Fv0\u002Fb\u002Fgitbook-28427.appspot.com\u002Fo\u002Fassets%2F-MahNa0IaGxTr8GkB5rz%2F-Mb6iKWRWPQD7ljMB61A%2F-Mb6qjg8lMk1JOdjnnpG%2Fstratum.key?alt=media&token=4c1d1228-fa6d-4f50-a7d0-020966529204",[179],"Certificate  Private Key  File",[41,17852,17854],{"id":17853},"ip-whitelisting","IP whitelisting",[34,17856,17817,17857,17860],{},[611,17858,17859],{},"--ip_whitelist=192.168.0.1,192.168.0.2"," parameter to restrict access to the API server to certain IP addresses. Connections from other IP address would be rejected.",[41,17862,17864],{"id":17863},"users-authorization","Users authorization",[34,17866,17867,17868,17871,17872,17875],{},"API methods can have access rights control if you enable ",[100,17869,17870],{},"Access Control List"," (ACL) using ",[611,17873,17874],{},"--use_acl=1"," option. Below is the list of all API methods with the access rights required to call the respective method:",[616,17877,17880],{"className":17878,"code":17879,"language":621},[619],"create_address       - write access\nvalidate_address     - read access\naddr_list            - read access\ndelete_address       - write access\nedit_address         - write access\ntx_send              - write access\ntx_status            - read access\ntx_split             - write access\ntx_asset_issue       - write access\ntx_asset_consume     - write access\ntx_asset_info        - write access\ntx_cancel            - write access\nget_utxo             - read access\ntx_list              - read access\nwallet_status        - read access\nget_asset_info       - read access\ngenerate_tx_id       - read access\nexport_payment_proof - read access\nverify_payment_proof - read access\ncalc_change          - read access\ninvoke_contract      - write access\nprocess_invoke_data  - write access\nblock_details        - read access\n",[611,17881,17879],{"__ignoreMap":14},[34,17883,17884,17885,17888],{},"ACL file should look like a list with the access keys and ",[611,17886,17887],{},"read\u002Fwrite"," rights:",[616,17890,17893],{"className":17891,"code":17892,"language":621},[619],"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67 : write\nbd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2 : read\nf287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2 : read\n",[611,17894,17892],{"__ignoreMap":14},[34,17896,17897,17898,17901],{},"Don't forget to send user ",[611,17899,17900],{},"key"," in every JSONRPC request to the API if access control is enabled:",[616,17903,17905],{"className":6989,"code":17904,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1,\n    \"method\": \"wallet_status\",\n    \"key\": \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\"\n}\n",[611,17906,17907,17911,17921,17931,17942,17952],{"__ignoreMap":14},[6995,17908,17909],{"class":244,"line":6997},[6995,17910,7001],{"class":7000},[6995,17912,17913,17915,17917,17919],{"class":244,"line":15},[6995,17914,7007],{"class":7006},[6995,17916,7024],{"class":7000},[6995,17918,7013],{"class":7012},[6995,17920,7030],{"class":7000},[6995,17922,17923,17925,17927,17929],{"class":244,"line":154},[6995,17924,7021],{"class":7006},[6995,17926,7024],{"class":7000},[6995,17928,6679],{"class":7006},[6995,17930,7030],{"class":7000},[6995,17932,17933,17935,17937,17940],{"class":244,"line":7033},[6995,17934,7036],{"class":7006},[6995,17936,7024],{"class":7000},[6995,17938,17939],{"class":7012},"\"wallet_status\"",[6995,17941,7030],{"class":7000},[6995,17943,17944,17947,17949],{"class":244,"line":7044},[6995,17945,17946],{"class":7006},"    \"key\"",[6995,17948,7024],{"class":7000},[6995,17950,17951],{"class":7012},"\"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\"\n",[6995,17953,17954],{"class":244,"line":7107},[6995,17955,7047],{"class":7000},[41,17957,17959],{"id":17958},"api-errors-handling","API Errors Handling",[34,17961,17962],{},"Errors are returned as:",[616,17964,17967],{"className":17965,"code":17966,"language":621},[619],"  error: {\n    code: -32003,\n    data: \"It's not your own address.\",\n    message: 'Invalid address.'\n  }\n",[611,17968,17966],{"__ignoreMap":14},[34,17970,8635],{},[852,17972,17973,17978,17984],{},[59,17974,17975,17977],{},[611,17976,611],{}," is a unique identifier of the error",[59,17979,17980,17983],{},[611,17981,17982],{},"message"," textual description of the error",[59,17985,17986,17988],{},[611,17987,15730],{}," is the contextual data for the error, usually a more detailed description for general error codes",[34,17990,17991],{},"To get the list of the possible error codes check the respective API version.",[41,17993,17995],{"id":17994},"assets-support","Assets Support",[34,17997,17998],{},"v6.0+ API implements confidential assets support. To ensure backward compatibility by default API does not return asset entities (coins, balances, txs &c). Asset operations (send, receive, issue, consume &c.) are disabled as well and if requested for an asset would fail. Also, all incoming transactions that involve assets would be rejected by the Wallet API as well. If you do not enable assets support your old code should be able to use the new API without any changes.",[34,18000,18001],{},[37,18002,18003,18004,18006],{},"To enable assets start your API server with the ",[611,18005,4979],{}," option or set this flag to true in the config file.",[34,18008,18009,18010,11339,18012,18015],{},"Methods that can return asset entities (for example ",[611,18011,6900],{},[611,18013,18014],{},"get_utxo",") might have different return formats if assets are enabled. Please check the respective methods' documentation for details.",[34,18017,18018,18019,18021],{},"In most method responses an additional ",[611,18020,6869],{}," field is returned by default even if assets support is not enabled. It is always 0 for BEAM and can be safely ignored.",[41,18023,18025],{"id":18024},"ipfs-support","IPFS Support",[34,18027,18028],{},"String with v6.3 BEAM comes with built-in IPFS support. Please refer to the following pages for more details",[852,18030,18031,18037],{},[59,18032,18033],{},[175,18034,10919],{"href":18035,"rel":18036},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBEAM-IPFS-Support",[179],[59,18038,18039],{},[175,18040,18042],{"href":10932,"rel":18041},[179],"v6.3 API",[8692,18044,18045],{},"html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":14,"searchDepth":15,"depth":15,"links":18047},[18048,18049,18053,18054,18055,18056,18057,18058,18059,18060,18061,18062],{"id":17300,"depth":15,"text":17301},{"id":17315,"depth":15,"text":17316,"children":18050},[18051,18052],{"id":17357,"depth":154,"text":17358},{"id":17367,"depth":154,"text":17368},{"id":17391,"depth":15,"text":17392},{"id":17403,"depth":15,"text":17404},{"id":17782,"depth":15,"text":17783},{"id":17797,"depth":15,"text":17798},{"id":17813,"depth":15,"text":17814},{"id":17853,"depth":15,"text":17854},{"id":17863,"depth":15,"text":17864},{"id":17958,"depth":15,"text":17959},{"id":17994,"depth":15,"text":17995},{"id":18024,"depth":15,"text":18025},"Starting with v6.0 BEAM wallet supports API versioning using the --api_version option. Please choose the corresponding API version in the list below to get the description of the available methods.",{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api",{"description":18063},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API","gM-wsykk8iK2gZGsbKfu_lpp5-tLCo8Ap8YfKSW93Bg",{"id":18070,"title":18071,"body":18072,"description":14,"extension":17,"image":18,"meta":25442,"navTitle":18,"navigation":20,"path":25443,"seo":25444,"stem":25445,"__hash__":25446},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v6.0.md","Beam Wallet Protocol API V60",{"type":8,"value":18073,"toc":25399},[18074,18078,18081,18122,18139,18164,18217,18221,18224,18418,18422,18437,18439,18442,18446,18543,18664,18693,18697,18739,18741,18748,18752,18818,18822,18908,18925,18927,18930,18934,19002,19016,19020,19203,19257,19259,19272,19274,19277,19281,19347,19351,19393,19395,19407,19411,19498,19502,19542,19544,19547,19551,19677,19740,19750,19754,19808,19813,19815,19818,19825,19829,19933,19937,19992,20018,20020,20025,20030,20034,20108,20132,20140,20144,20198,20202,20204,20208,20214,20218,20292,20315,20323,20327,20381,20385,20387,20391,20397,20401,20465,20479,20482,20486,20540,20544,20546,20549,20553,20620,20627,20631,20672,20681,20683,20686,20690,20756,20763,20767,20807,20814,20816,20822,20826,20895,20899,21146,21148,21151,21155,21273,21298,21303,21314,21318,21882,21953,21957,21961,22037,22041,22070,22076,22078,22081,22085,22125,22129,22275,22304,22309,22313,22353,22357,22684,22698,22705,22721,22725,22733,22735,22738,22742,22854,22880,22884,23025,23039,23043,23126,23130,23280,23336,23338,23344,23348,23412,23422,23426,23550,23554,23592,23594,23597,23601,23643,23647,23688,23690,23695,23699,23765,23769,23826,23837,23842,23844,23849,23853,23919,23923,24033,24068,24073,24075,24078,24081,24085,24173,24176,24180,24257,24294,24301,24305,24454,24474,24478,24481,24485,24488,24492,24503,24507,24580,24584,24653,24655,24658,24662,24735,24745,24749,24802,24809,24811,24816,24820,24914,24918,25022,25024,25065,25067,25070,25074,25141,25148,25152,25326,25391,25394,25397],[41,18075,18077],{"id":18076},"api-error-codes","API Error codes",[34,18079,18080],{},"List of the possible error codes (with messages):",[852,18082,18083,18086,18089,18092,18095,18098,18101,18104],{},[59,18084,18085],{},"-32600 InvalidJsonRpc (\"Invalid JSON-RPC.\")",[59,18087,18088],{},"-32601 NotFoundJsonRpc (\"Procedure not found.\")",[59,18090,18091],{},"-32602 InvalidParamsJsonRpc (\"Invalid parameters.\")",[59,18093,18094],{},"-32603 InternalErrorJsonRpc (\"Internal JSON-RPC error.\")",[59,18096,18097],{},"-32001 InvalidTxStatus (\"Invalid TX status.\")",[59,18099,18100],{},"-32002 UnknownApiKey (\"Unknown API key.\")",[59,18102,18103],{},"-32003 InvalidAddress (\"Invalid address.\")",[59,18105,18106,18107,18110,18111],{},"-32004 InvalidTxId (\"Invalid transaction ID.\")* ",[611,18108,18109],{},"totals"," is an array of totals per asset. Assets that are included in this array by default:\n",[852,18112,18113,18116,18119],{},[59,18114,18115],{},"BEAM (asset id 0)",[59,18117,18118],{},"All assets which have UTXOs.",[59,18120,18121],{},"All owned assets, even if there is no UTXOs for the given asset.",[34,18123,18124,18125,18127,18128,18130,18131,18134,18135,18138],{},"Asset is included in the ",[611,18126,18109],{}," array even if all UTXOs are spent or if there are no UTXOs but asset is owned (issued by the wallet). In case when all the UTXOs are spent totals' fields except ",[611,18129,6869],{}," would be 0 (zero balance). To avoid getting assets with zero balance specify ",[611,18132,18133],{},"\"params\": {\"nz_totals\": true}",". BEAM is always included, even if balance is 0 and ",[611,18136,18137],{},"nz_totals"," is true.",[34,18140,18141,18142,18144,18145,2231,18148,18151,18152,8016,18154,18156,18157,18159,18160,18163],{},"Maximum asset emission is 2",[8009,18143,8011],{},"-1. To ensure compatibility with JavaScript raw number (",[611,18146,18147],{},"available",[611,18149,18150],{},"maturing"," &c.) returned only if it is less than or equal to ",[611,18153,8015],{},[8009,18155,8019],{},"-1). If total's value is greater than ",[611,18158,8015],{}," only corresponding string representation (",[611,18161,18162],{},"xxxx_str",") is returned.",[852,18165,18166,18169,18172,18175,18178,18181,18184,18187,18190,18193,18196,18199,18202,18205,18208,18211,18214],{},[59,18167,18168],{},"-32005 NotSupported (\"Feature is not supported\")",[59,18170,18171],{},"-32006 InvalidPaymentProof (\"Invalid payment proof provided\")",[59,18173,18174],{},"-32007 PaymentProofExportError (\"Cannot export payment proof\")",[59,18176,18177],{},"-32008 SwapFailToParseToken (\"Invalid swap token.\")",[59,18179,18180],{},"-32009 SwapFailToAcceptOwn (\"Can't accept own swap offer.\")",[59,18182,18183],{},"-32010 SwapNotEnoughtBeams (\"Not enought beams.\")",[59,18185,18186],{},"-32011 SwapFailToConnect (\"Doesn't have active connection.\")",[59,18188,18189],{},"-32012 DatabaseError (\"Database error\")",[59,18191,18192],{},"-32013 DatabaseNotFound (\"Database not found\")",[59,18194,18195],{},"-32014 ThrottleError (\"Requests limit exceeded\")",[59,18197,18198],{},"-32015 NotOpenedError (\"Wallet not opened\")",[59,18200,18201],{},"-32016 NoSwapsError (\"Swaps are not enabled\")",[59,18203,18204],{},"-32017 UnexpectedError (\"Unexpected call\")",[59,18206,18207],{},"-32018 ContractCompileError (\"Failed to compile contract\")",[59,18209,18210],{},"-32019 ContractError (\"Contract call failed\")",[59,18212,18213],{},"-32020 NotAllowedError (\"Call is not allowed\")",[59,18215,18216],{},"-32021 UserRejected (\"Call is rejected by user\")",[41,18218,18220],{"id":18219},"api-methods","API Methods",[34,18222,18223],{},"API has the following methods:",[852,18225,18226,18234,18242,18250,18258,18265,18272,18277,18282,18288,18296,18301,18309,18317,18322,18330,18335,18343,18351,18359,18366,18372,18380,18391,18401,18411],{},[59,18227,18228,98,18231],{},[175,18229,12194],{"href":18230},"#create_address",[241,18232],{"alt":14,"src":18233},"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-DAPPs%20allowed-green",[59,18235,18236,98,18240],{},[175,18237,18239],{"href":18238},"#delete_address","delete_address",[241,18241],{"alt":14,"src":18233},[59,18243,18244,98,18248],{},[175,18245,18247],{"href":18246},"#edit_address","edit_address",[241,18249],{"alt":14,"src":18233},[59,18251,18252,98,18256],{},[175,18253,18255],{"href":18254},"#addr_list","addr_list",[241,18257],{"alt":14,"src":18233},[59,18259,18260,98,18263],{},[175,18261,11852],{"href":18262},"#validate_address",[241,18264],{"alt":14,"src":18233},[59,18266,18267,98,18270],{},[175,18268,6905],{"href":18269},"#tx_send",[241,18271],{"alt":14,"src":18233},[59,18273,18274],{},[175,18275,6920],{"href":18276},"#tx_asset_issue",[59,18278,18279],{},[175,18280,6925],{"href":18281},"#tx_asset_consume",[59,18283,18284,98,18286],{},[175,18285,6930],{"href":8044},[241,18287],{"alt":14,"src":18233},[59,18289,18290,98,18294],{},[175,18291,18293],{"href":18292},"#tx_status","tx_status",[241,18295],{"alt":14,"src":18233},[59,18297,18298],{},[175,18299,6910],{"href":18300},"#tx_split",[59,18302,18303,98,18307],{},[175,18304,18306],{"href":18305},"#tx_cancel","tx_cancel",[241,18308],{"alt":14,"src":18233},[59,18310,18311,98,18315],{},[175,18312,18314],{"href":18313},"#tx_delete","tx_delete",[241,18316],{"alt":14,"src":18233},[59,18318,18319],{},[175,18320,18014],{"href":18321},"#get_utxo",[59,18323,18324,98,18328],{},[175,18325,18327],{"href":18326},"#tx_list","tx_list",[241,18329],{"alt":14,"src":18233},[59,18331,18332],{},[175,18333,6900],{"href":18334},"#wallet_status",[59,18336,18337,98,18341],{},[175,18338,18340],{"href":18339},"#generate_tx_id","generate_tx_id",[241,18342],{"alt":14,"src":18233},[59,18344,18345,98,18349],{},[175,18346,18348],{"href":18347},"#export_payment_proof","export_payment_proof",[241,18350],{"alt":14,"src":18233},[59,18352,18353,98,18357],{},[175,18354,18356],{"href":18355},"#verify_payment_proof","verify_payment_proof",[241,18358],{"alt":14,"src":18233},[59,18360,18361,98,18364],{},[175,18362,6935],{"href":18363},"#get_asset_info",[241,18365],{"alt":14,"src":18233},[59,18367,18368],{},[175,18369,18371],{"href":18370},"#set_confirmations_count","set_confirmations_count",[59,18373,18374,98,18378],{},[175,18375,18377],{"href":18376},"#get_confirmations_count","get_confirmations_count",[241,18379],{"alt":14,"src":18233},[59,18381,18382,98,18386,18388],{},[175,18383,18385],{"href":18384},"#invoke_contract","invoke_contract",[241,18387],{"alt":14,"src":18233},[241,18389],{"alt":14,"src":18390},"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-aysnc-orange",[59,18392,18393,98,18397,18399],{},[175,18394,18396],{"href":18395},"#process_invoke_data","process_invoke_data",[241,18398],{"alt":14,"src":18233},[241,18400],{"alt":14,"src":18390},[59,18402,18403,98,18407,18409],{},[175,18404,18406],{"href":18405},"#block_details","block_details",[241,18408],{"alt":14,"src":18233},[241,18410],{"alt":14,"src":18390},[59,18412,18413,98,18416],{},[175,18414,6940],{"href":18415},"#calc_change",[241,18417],{"alt":14,"src":18233},[41,18419,18421],{"id":18420},"swap-api-methods","SWAP API Methods",[34,18423,18424,18425,18427,18428,18431,18432,181],{},"If you build ",[611,18426,6883],{}," with ",[611,18429,18430],{},"BEAM_ATOMIC_SWAP_SUPPORT"," then you can use additional ",[175,18433,18436],{"href":18434,"rel":18435},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-SWAP-API-(BETA)",[179],"SWAP API methods",[41,18438,12194],{"id":12194},[34,18440,18441],{},"Creates new receiver address.",[34,18443,18444],{},[611,18445,6986],{},[616,18447,18449],{"className":6989,"code":18448,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 1,\n    \"method\": \"create_address\", \n    \"params\":\n    {\n        \"type\": \"regular\",\n        \"expiration\": \"auto\",\n        \"comment\": \"John Smith\",\n        \"new_style_regular\" : true\n    }\n}\n",[611,18450,18451,18455,18465,18475,18485,18491,18495,18505,18515,18526,18535,18539],{"__ignoreMap":14},[6995,18452,18453],{"class":244,"line":6997},[6995,18454,7001],{"class":7000},[6995,18456,18457,18459,18461,18463],{"class":244,"line":15},[6995,18458,7007],{"class":7006},[6995,18460,7024],{"class":7000},[6995,18462,7013],{"class":7012},[6995,18464,7016],{"class":7000},[6995,18466,18467,18469,18471,18473],{"class":244,"line":154},[6995,18468,7021],{"class":7006},[6995,18470,7024],{"class":7000},[6995,18472,6679],{"class":7006},[6995,18474,7030],{"class":7000},[6995,18476,18477,18479,18481,18483],{"class":244,"line":7033},[6995,18478,7036],{"class":7006},[6995,18480,7024],{"class":7000},[6995,18482,12237],{"class":7012},[6995,18484,7016],{"class":7000},[6995,18486,18487,18489],{"class":244,"line":7044},[6995,18488,7529],{"class":7006},[6995,18490,7532],{"class":7000},[6995,18492,18493],{"class":244,"line":7107},[6995,18494,7537],{"class":7000},[6995,18496,18497,18499,18501,18503],{"class":244,"line":7120},[6995,18498,11924],{"class":7006},[6995,18500,7024],{"class":7000},[6995,18502,12303],{"class":7012},[6995,18504,7030],{"class":7000},[6995,18506,18507,18509,18511,18513],{"class":244,"line":7133},[6995,18508,12268],{"class":7006},[6995,18510,7024],{"class":7000},[6995,18512,12273],{"class":7012},[6995,18514,7030],{"class":7000},[6995,18516,18517,18519,18521,18524],{"class":244,"line":7146},[6995,18518,7588],{"class":7006},[6995,18520,7024],{"class":7000},[6995,18522,18523],{"class":7012},"\"John Smith\"",[6995,18525,7030],{"class":7000},[6995,18527,18528,18531,18533],{"class":244,"line":7159},[6995,18529,18530],{"class":7006},"        \"new_style_regular\"",[6995,18532,7746],{"class":7000},[6995,18534,8505],{"class":7006},[6995,18536,18537],{"class":244,"line":7172},[6995,18538,7615],{"class":7000},[6995,18540,18541],{"class":244,"line":7185},[6995,18542,7047],{"class":7000},[852,18544,18545,18591,18620,18626,18649],{},[59,18546,18547,11963,18549,18576,18578,18579,18584,18585,18587,18588],{},[611,18548,11962],{},[852,18550,18551,18556,18561,18566,18571],{},[59,18552,18553,18555],{},[611,18554,11803],{}," - regular old-style address, default",[59,18557,18558,18560],{},[611,18559,11810],{}," - address offline transaction using Lelantus MW shielded pool, could be used more than once, there are no guaranties for extended privacy",[59,18562,18563,18565],{},[611,18564,11989],{}," - address for guarantied maximum privacy transaction. Could be used only once.",[59,18567,18568,18570],{},[611,18569,12000],{}," - address for donation, could be used as many times as you wish",[59,18572,18573,18575],{},[611,18574,12010],{}," - since v6.0, regular new-style address (base58), this address has SBBS internally",[4953,18577],{},"Details of some address types are described ",[175,18580,18583],{"href":18581,"rel":18582},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FLelantus-CLI",[179],"in this document",". Since v6.0, UI gives the sender an opportunity to choose between regular and offline send operation and the default address type provided via the \"receive\" UI dialog is an ",[611,18586,11810],{}," address with ",[611,18589,18590],{},"offline_payments=1",[59,18592,18593,18596,18610,18612,18613,18616,18617,18619],{},[611,18594,18595],{},"expiration",[852,18597,18598,18604],{},[59,18599,18600,18601,181],{},"before v6.0 can be ",[611,18602,18603],{},"expired\u002Fnever\u002F24h",[59,18605,18606,18607,181],{},"since  v6.0 can be ",[611,18608,18609],{},"expired\u002Fnever\u002F24h\u002Fauto",[4953,18611],{},"Optional, by default address expires in 24 hours. ",[611,18614,18615],{},"auto"," expiration means that address expires in 61 days (roughly 2 months). ",[611,18618,18615],{}," addresses are renewed for another 2 months when any transaction is received with this address.",[59,18621,18622,18625],{},[611,18623,18624],{},"comment"," - any string, optional.",[59,18627,18628,18631,18632,18634,18635,18637,18638,18641,18642,18645,18646,181],{},[611,18629,18630],{},"new_style_regular"," - if this flag is ",[611,18633,8689],{}," new style base58 address will be returned otherwise hexadecimal string will be returned, this option is ignored for the types different ",[611,18636,11803],{},". ",[611,18639,18640],{},"type=regular"," + ",[611,18643,18644],{},"new_style_regular=true"," = ",[611,18647,18648],{},"type=regular_new",[59,18650,18651,18654,18655,18657,18658,18660,18661,181],{},[611,18652,18653],{},"offline_payments"," - number of offline payments embedded into an ",[611,18656,11810],{}," address, default value is ",[611,18659,6679],{},". Valid only for the ",[611,18662,18663],{},"type=offline",[34,18665,18666,18667,18669,18670,18672,18673,18675,18676,18678,18679,2231,18681,1475,18683,18685,18686,10670,18688,10670,18690,18692],{},"All these address types could be passed as ",[611,18668,738],{}," parameter of the ",[175,18671,15797],{"href":18269}," method and\u002For used with the cli\u002FUI. ",[611,18674,12315],{}," should be used in the command line of the ",[611,18677,6883],{}," to enable sending\u002Freceiving using ",[611,18680,11810],{},[611,18682,11989],{},[611,18684,12000],{}," transactions. To generate ",[611,18687,11810],{},[611,18689,11989],{},[611,18691,12000],{}," addresses API must be connected to the own node (node with the wallet's viewer key).",[34,18694,18695],{},[611,18696,7052],{},[616,18698,18700],{"className":6989,"code":18699,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\" : \"2.0\", \n    \"id\" : 1,\n    \"result\" : \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\"\n}\n",[611,18701,18702,18706,18716,18726,18735],{"__ignoreMap":14},[6995,18703,18704],{"class":244,"line":6997},[6995,18705,7001],{"class":7000},[6995,18707,18708,18710,18712,18714],{"class":244,"line":15},[6995,18709,7007],{"class":7006},[6995,18711,7746],{"class":7000},[6995,18713,7013],{"class":7012},[6995,18715,7016],{"class":7000},[6995,18717,18718,18720,18722,18724],{"class":244,"line":154},[6995,18719,7021],{"class":7006},[6995,18721,7746],{"class":7000},[6995,18723,6679],{"class":7006},[6995,18725,7030],{"class":7000},[6995,18727,18728,18730,18732],{"class":244,"line":7033},[6995,18729,7732],{"class":7006},[6995,18731,7746],{"class":7000},[6995,18733,18734],{"class":7012},"\"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\"\n",[6995,18736,18737],{"class":244,"line":7044},[6995,18738,7047],{"class":7000},[41,18740,11852],{"id":11852},[34,18742,18743,18744,18747],{},"Just a simple validations, checks if the address isn't garbage and belongs to our elliptic curve. Also returns ",[611,18745,18746],{},"is_mine == true"," if address is found in the local wallet DB.",[34,18749,18750],{},[611,18751,6986],{},[616,18753,18755],{"className":6989,"code":18754,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"validate_address\", \n    \"params\":\n    {\n        \"address\" : \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\"\n    }\n}\n",[611,18756,18757,18761,18771,18781,18792,18798,18802,18810,18814],{"__ignoreMap":14},[6995,18758,18759],{"class":244,"line":6997},[6995,18760,7001],{"class":7000},[6995,18762,18763,18765,18767,18769],{"class":244,"line":15},[6995,18764,7007],{"class":7006},[6995,18766,5102],{"class":7000},[6995,18768,7013],{"class":7012},[6995,18770,7016],{"class":7000},[6995,18772,18773,18775,18777,18779],{"class":244,"line":154},[6995,18774,7021],{"class":7006},[6995,18776,7024],{"class":7000},[6995,18778,6679],{"class":7006},[6995,18780,7030],{"class":7000},[6995,18782,18783,18785,18787,18790],{"class":244,"line":7033},[6995,18784,7036],{"class":7006},[6995,18786,7024],{"class":7000},[6995,18788,18789],{"class":7012},"\"validate_address\"",[6995,18791,7016],{"class":7000},[6995,18793,18794,18796],{"class":244,"line":7044},[6995,18795,7529],{"class":7006},[6995,18797,7532],{"class":7000},[6995,18799,18800],{"class":244,"line":7107},[6995,18801,7537],{"class":7000},[6995,18803,18804,18806,18808],{"class":244,"line":7120},[6995,18805,7577],{"class":7006},[6995,18807,7746],{"class":7000},[6995,18809,18734],{"class":7012},[6995,18811,18812],{"class":244,"line":7133},[6995,18813,7615],{"class":7000},[6995,18815,18816],{"class":244,"line":7146},[6995,18817,7047],{"class":7000},[34,18819,18820],{},[611,18821,7052],{},[616,18823,18825],{"className":6989,"code":18824,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"is_valid\" : true,\n        \"is_mine\" : false,\n        \"type\": \"offline\", \n        \"payments\": 3\n    }\n}\n",[611,18826,18827,18831,18841,18851,18857,18861,18871,18881,18891,18900,18904],{"__ignoreMap":14},[6995,18828,18829],{"class":244,"line":6997},[6995,18830,7001],{"class":7000},[6995,18832,18833,18835,18837,18839],{"class":244,"line":15},[6995,18834,7007],{"class":7006},[6995,18836,5102],{"class":7000},[6995,18838,7013],{"class":7012},[6995,18840,7016],{"class":7000},[6995,18842,18843,18845,18847,18849],{"class":244,"line":154},[6995,18844,7021],{"class":7006},[6995,18846,7024],{"class":7000},[6995,18848,6679],{"class":7006},[6995,18850,7030],{"class":7000},[6995,18852,18853,18855],{"class":244,"line":7033},[6995,18854,7732],{"class":7006},[6995,18856,11893],{"class":7000},[6995,18858,18859],{"class":244,"line":7044},[6995,18860,7537],{"class":7000},[6995,18862,18863,18865,18867,18869],{"class":244,"line":7107},[6995,18864,11902],{"class":7006},[6995,18866,7746],{"class":7000},[6995,18868,8689],{"class":7006},[6995,18870,7030],{"class":7000},[6995,18872,18873,18875,18877,18879],{"class":244,"line":7120},[6995,18874,11913],{"class":7006},[6995,18876,7746],{"class":7000},[6995,18878,11094],{"class":7006},[6995,18880,7030],{"class":7000},[6995,18882,18883,18885,18887,18889],{"class":244,"line":7133},[6995,18884,11924],{"class":7006},[6995,18886,7024],{"class":7000},[6995,18888,11929],{"class":7012},[6995,18890,7016],{"class":7000},[6995,18892,18893,18895,18897],{"class":244,"line":7146},[6995,18894,11940],{"class":7006},[6995,18896,7024],{"class":7000},[6995,18898,18899],{"class":7006},"3\n",[6995,18901,18902],{"class":244,"line":7159},[6995,18903,7615],{"class":7000},[6995,18905,18906],{"class":244,"line":7172},[6995,18907,7047],{"class":7000},[852,18909,18910,18918],{},[59,18911,18912,18914,18915,18917],{},[611,18913,11962],{}," type of address. Check ",[175,18916,12194],{"href":18230}," for details",[59,18919,18920,18922,18923,12022],{},[611,18921,12018],{}," number of offline payments left for the ",[611,18924,11810],{},[41,18926,18255],{"id":18255},[34,18928,18929],{},"Get addresses stored in the wallet database.",[34,18931,18932],{},[611,18933,6986],{},[616,18935,18937],{"className":6989,"code":18936,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"method\":\"addr_list\",\n    \"params\":\n    {\n        \"own\" : true\n    }\n}\n",[611,18938,18939,18943,18953,18964,18975,18981,18985,18994,18998],{"__ignoreMap":14},[6995,18940,18941],{"class":244,"line":6997},[6995,18942,7001],{"class":7000},[6995,18944,18945,18947,18949,18951],{"class":244,"line":15},[6995,18946,7007],{"class":7006},[6995,18948,5102],{"class":7000},[6995,18950,7013],{"class":7012},[6995,18952,7016],{"class":7000},[6995,18954,18955,18957,18959,18962],{"class":244,"line":154},[6995,18956,7021],{"class":7006},[6995,18958,7024],{"class":7000},[6995,18960,18961],{"class":7006},"8",[6995,18963,7030],{"class":7000},[6995,18965,18966,18968,18970,18973],{"class":244,"line":7033},[6995,18967,7036],{"class":7006},[6995,18969,5102],{"class":7000},[6995,18971,18972],{"class":7012},"\"addr_list\"",[6995,18974,7030],{"class":7000},[6995,18976,18977,18979],{"class":244,"line":7044},[6995,18978,7529],{"class":7006},[6995,18980,7532],{"class":7000},[6995,18982,18983],{"class":244,"line":7107},[6995,18984,7537],{"class":7000},[6995,18986,18987,18990,18992],{"class":244,"line":7120},[6995,18988,18989],{"class":7006},"        \"own\"",[6995,18991,7746],{"class":7000},[6995,18993,8505],{"class":7006},[6995,18995,18996],{"class":244,"line":7133},[6995,18997,7615],{"class":7000},[6995,18999,19000],{"class":244,"line":7146},[6995,19001,7047],{"class":7000},[852,19003,19004],{},[59,19005,19006,19009,19010,19012,19013,19015],{},[611,19007,19008],{},"own",", optional bool. If ",[611,19011,8689],{}," returns only own addresses, if ",[611,19014,11094],{}," returns only peer addresses. By default is false.",[34,19017,19018],{},[611,19019,7052],{},[616,19021,19023],{"className":6989,"code":19022,"language":6991,"meta":14,"style":14},"{\n    \"id\": 8,\n    \"jsonrpc\": \"2.0\",\n    \"result\":\n    [{\n        \"address\": \"29510b33fac0cb20695fd3b836d835451e600c4224d8fb335dc1a68271deb9b6b5b\",\n        \"category\": \"\",\n        \"create_time\": 1553174321,\n        \"duration\": 1520,\n        \"expired\": true,\n        \"comment\": \"\",\n        \"own\": true,\n        \"own_id\": 16730903,\n        \"own_id_str\": \"16730903\",\n        \"identity\": \"2d8738b0424ad50631e902fab655e7e1795fbb8d92d47c4c8df7336870fcadf5\",\n        \"type\": \"regular\",\n        \"wallet_id\": \"29510b33fac0cb20695fd3b836d835451e600c4224d8fb335dc1a68271deb9b6b5b\"\n    }] \n}\n",[611,19024,19025,19029,19039,19049,19055,19060,19071,19083,19095,19107,19118,19128,19138,19150,19162,19174,19184,19194,19199],{"__ignoreMap":14},[6995,19026,19027],{"class":244,"line":6997},[6995,19028,7001],{"class":7000},[6995,19030,19031,19033,19035,19037],{"class":244,"line":15},[6995,19032,7021],{"class":7006},[6995,19034,7024],{"class":7000},[6995,19036,18961],{"class":7006},[6995,19038,7030],{"class":7000},[6995,19040,19041,19043,19045,19047],{"class":244,"line":154},[6995,19042,7007],{"class":7006},[6995,19044,7024],{"class":7000},[6995,19046,7013],{"class":7012},[6995,19048,7030],{"class":7000},[6995,19050,19051,19053],{"class":244,"line":7033},[6995,19052,7732],{"class":7006},[6995,19054,7532],{"class":7000},[6995,19056,19057],{"class":244,"line":7044},[6995,19058,19059],{"class":7000},"    [{\n",[6995,19061,19062,19064,19066,19069],{"class":244,"line":7107},[6995,19063,7577],{"class":7006},[6995,19065,7024],{"class":7000},[6995,19067,19068],{"class":7012},"\"29510b33fac0cb20695fd3b836d835451e600c4224d8fb335dc1a68271deb9b6b5b\"",[6995,19070,7030],{"class":7000},[6995,19072,19073,19076,19078,19081],{"class":244,"line":7120},[6995,19074,19075],{"class":7006},"        \"category\"",[6995,19077,7024],{"class":7000},[6995,19079,19080],{"class":7012},"\"\"",[6995,19082,7030],{"class":7000},[6995,19084,19085,19088,19090,19093],{"class":244,"line":7133},[6995,19086,19087],{"class":7006},"        \"create_time\"",[6995,19089,7024],{"class":7000},[6995,19091,19092],{"class":7006},"1553174321",[6995,19094,7030],{"class":7000},[6995,19096,19097,19100,19102,19105],{"class":244,"line":7146},[6995,19098,19099],{"class":7006},"        \"duration\"",[6995,19101,7024],{"class":7000},[6995,19103,19104],{"class":7006},"1520",[6995,19106,7030],{"class":7000},[6995,19108,19109,19112,19114,19116],{"class":244,"line":7159},[6995,19110,19111],{"class":7006},"        \"expired\"",[6995,19113,7024],{"class":7000},[6995,19115,8689],{"class":7006},[6995,19117,7030],{"class":7000},[6995,19119,19120,19122,19124,19126],{"class":244,"line":7172},[6995,19121,7588],{"class":7006},[6995,19123,7024],{"class":7000},[6995,19125,19080],{"class":7012},[6995,19127,7030],{"class":7000},[6995,19129,19130,19132,19134,19136],{"class":244,"line":7185},[6995,19131,18989],{"class":7006},[6995,19133,7024],{"class":7000},[6995,19135,8689],{"class":7006},[6995,19137,7030],{"class":7000},[6995,19139,19140,19143,19145,19148],{"class":244,"line":7198},[6995,19141,19142],{"class":7006},"        \"own_id\"",[6995,19144,7024],{"class":7000},[6995,19146,19147],{"class":7006},"16730903",[6995,19149,7030],{"class":7000},[6995,19151,19152,19155,19157,19160],{"class":244,"line":7211},[6995,19153,19154],{"class":7006},"        \"own_id_str\"",[6995,19156,7024],{"class":7000},[6995,19158,19159],{"class":7012},"\"16730903\"",[6995,19161,7030],{"class":7000},[6995,19163,19164,19167,19169,19172],{"class":244,"line":7220},[6995,19165,19166],{"class":7006},"        \"identity\"",[6995,19168,7024],{"class":7000},[6995,19170,19171],{"class":7012},"\"2d8738b0424ad50631e902fab655e7e1795fbb8d92d47c4c8df7336870fcadf5\"",[6995,19173,7030],{"class":7000},[6995,19175,19176,19178,19180,19182],{"class":244,"line":7226},[6995,19177,11924],{"class":7006},[6995,19179,7024],{"class":7000},[6995,19181,12303],{"class":7012},[6995,19183,7030],{"class":7000},[6995,19185,19186,19189,19191],{"class":244,"line":7238},[6995,19187,19188],{"class":7006},"        \"wallet_id\"",[6995,19190,7024],{"class":7000},[6995,19192,19193],{"class":7012},"\"29510b33fac0cb20695fd3b836d835451e600c4224d8fb335dc1a68271deb9b6b5b\"\n",[6995,19195,19196],{"class":244,"line":7250},[6995,19197,19198],{"class":7000},"    }] \n",[6995,19200,19201],{"class":244,"line":7263},[6995,19202,7047],{"class":7000},[852,19204,19205,19210,19216,19222,19228,19236],{},[59,19206,19207,19209],{},[611,19208,738],{}," address that should be distributed among users and used to send funds to",[59,19211,19212,19215],{},[611,19213,19214],{},"own_id"," unsigned 64 bit index used to generate given address",[59,19217,19218,19221],{},[611,19219,19220],{},"own_id_str"," string representation of index used to generate given address (for JavaScript)",[59,19223,19224,19227],{},[611,19225,19226],{},"identity"," identity linked to the given address.",[59,19229,19230,19232,19233,19235],{},[611,19231,11962],{}," address type. Consult ",[175,19234,12194],{"href":18230}," method for detailed description",[59,19237,19238,19241,19242,19244,19245,19247,19248,19250,19251,2231,19253,1475,19255,12028],{},[611,19239,19240],{},"wallet_id"," - Wallet ID (SBBS address) associated with the given address. This is the same as an SBBS address in CLI\u002FUI. Note that not all address types have an associated SBBS address. For example non-own ",[611,19243,11989],{}," addresses do not have ",[611,19246,19240],{},". While own ",[611,19249,11989],{}," ones do it is recommended not to publish it. SBBS address can be safely published for ",[611,19252,11803],{},[611,19254,12010],{},[611,19256,11810],{},[48,19258,8763],{"id":19226},[34,19260,19261,19262,19264,19265,19267,19268,19271],{},"Starting from version 4.2 we introduce an additional entity in order to make transfer more reliable. It is called ",[611,19263,19226],{},". The main goal of ",[611,19266,19226],{}," is to proof and ensure that transaction performs between claimed participants also it could be done using untrusted 3rd parties. The main scenario is ",[100,19269,19270],{},"hardware wallet"," when host machine could be compromised, since it has ability to generate SBBS addresses, it can sign payment proof or accept transaction without need to ask hardware wallet about any secret, but if we give our identity to the other side (in addition to SBBS address), and this identity can be generated using hardware wallet only, then only hardware wallet can sign or approve transaction.",[41,19273,18239],{"id":18239},[34,19275,19276],{},"Delete specific address from the wallet.",[34,19278,19279],{},[611,19280,6986],{},[616,19282,19284],{"className":6989,"code":19283,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"method\":\"delete_address\",\n    \"params\":\n    {\n        \"address\" : \"29510b33fac0cb20695fd3b836d835451e600c4224d8fb335dc1a68271deb9b6b5b\"\n    }\n}\n",[611,19285,19286,19290,19300,19310,19321,19327,19331,19339,19343],{"__ignoreMap":14},[6995,19287,19288],{"class":244,"line":6997},[6995,19289,7001],{"class":7000},[6995,19291,19292,19294,19296,19298],{"class":244,"line":15},[6995,19293,7007],{"class":7006},[6995,19295,5102],{"class":7000},[6995,19297,7013],{"class":7012},[6995,19299,7016],{"class":7000},[6995,19301,19302,19304,19306,19308],{"class":244,"line":154},[6995,19303,7021],{"class":7006},[6995,19305,7024],{"class":7000},[6995,19307,18961],{"class":7006},[6995,19309,7030],{"class":7000},[6995,19311,19312,19314,19316,19319],{"class":244,"line":7033},[6995,19313,7036],{"class":7006},[6995,19315,5102],{"class":7000},[6995,19317,19318],{"class":7012},"\"delete_address\"",[6995,19320,7030],{"class":7000},[6995,19322,19323,19325],{"class":244,"line":7044},[6995,19324,7529],{"class":7006},[6995,19326,7532],{"class":7000},[6995,19328,19329],{"class":244,"line":7107},[6995,19330,7537],{"class":7000},[6995,19332,19333,19335,19337],{"class":244,"line":7120},[6995,19334,7577],{"class":7006},[6995,19336,7746],{"class":7000},[6995,19338,19193],{"class":7012},[6995,19340,19341],{"class":244,"line":7133},[6995,19342,7615],{"class":7000},[6995,19344,19345],{"class":244,"line":7146},[6995,19346,7047],{"class":7000},[34,19348,19349],{},[611,19350,7052],{},[616,19352,19354],{"className":6989,"code":19353,"language":6991,"meta":14,"style":14},"{\n    \"id\": 8,\n    \"jsonrpc\": \"2.0\",\n    \"result\": \"done\"\n}\n",[611,19355,19356,19360,19370,19380,19389],{"__ignoreMap":14},[6995,19357,19358],{"class":244,"line":6997},[6995,19359,7001],{"class":7000},[6995,19361,19362,19364,19366,19368],{"class":244,"line":15},[6995,19363,7021],{"class":7006},[6995,19365,7024],{"class":7000},[6995,19367,18961],{"class":7006},[6995,19369,7030],{"class":7000},[6995,19371,19372,19374,19376,19378],{"class":244,"line":154},[6995,19373,7007],{"class":7006},[6995,19375,7024],{"class":7000},[6995,19377,7013],{"class":7012},[6995,19379,7030],{"class":7000},[6995,19381,19382,19384,19386],{"class":244,"line":7033},[6995,19383,7732],{"class":7006},[6995,19385,7024],{"class":7000},[6995,19387,19388],{"class":7012},"\"done\"\n",[6995,19390,19391],{"class":244,"line":7044},[6995,19392,7047],{"class":7000},[41,19394,18247],{"id":18247},[34,19396,19397,19398,19400,19401,19403,19404,19406],{},"Edit specific address. You can change the ",[611,19399,18624],{}," and\u002For ",[611,19402,18595],{},". Consult ",[175,19405,12194],{"href":18230}," for more details on acceptable values.",[34,19408,19409],{},[611,19410,6986],{},[616,19412,19414],{"className":6989,"code":19413,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"method\":\"edit_address\",\n    \"params\":\n    {\n        \"address\" : \"29510b33fac0cb20695fd3b836d835451e600c4224d8fb335dc1a68271deb9b6b5b\",\n        \"comment\" : \"John Smith\",\n        \"expiration\" : \"expired\"\n    }\n}\n",[611,19415,19416,19420,19430,19440,19451,19457,19461,19471,19481,19490,19494],{"__ignoreMap":14},[6995,19417,19418],{"class":244,"line":6997},[6995,19419,7001],{"class":7000},[6995,19421,19422,19424,19426,19428],{"class":244,"line":15},[6995,19423,7007],{"class":7006},[6995,19425,5102],{"class":7000},[6995,19427,7013],{"class":7012},[6995,19429,7016],{"class":7000},[6995,19431,19432,19434,19436,19438],{"class":244,"line":154},[6995,19433,7021],{"class":7006},[6995,19435,7024],{"class":7000},[6995,19437,18961],{"class":7006},[6995,19439,7030],{"class":7000},[6995,19441,19442,19444,19446,19449],{"class":244,"line":7033},[6995,19443,7036],{"class":7006},[6995,19445,5102],{"class":7000},[6995,19447,19448],{"class":7012},"\"edit_address\"",[6995,19450,7030],{"class":7000},[6995,19452,19453,19455],{"class":244,"line":7044},[6995,19454,7529],{"class":7006},[6995,19456,7532],{"class":7000},[6995,19458,19459],{"class":244,"line":7107},[6995,19460,7537],{"class":7000},[6995,19462,19463,19465,19467,19469],{"class":244,"line":7120},[6995,19464,7577],{"class":7006},[6995,19466,7746],{"class":7000},[6995,19468,19068],{"class":7012},[6995,19470,7030],{"class":7000},[6995,19472,19473,19475,19477,19479],{"class":244,"line":7133},[6995,19474,7588],{"class":7006},[6995,19476,7746],{"class":7000},[6995,19478,18523],{"class":7012},[6995,19480,7030],{"class":7000},[6995,19482,19483,19485,19487],{"class":244,"line":7146},[6995,19484,12268],{"class":7006},[6995,19486,7746],{"class":7000},[6995,19488,19489],{"class":7012},"\"expired\"\n",[6995,19491,19492],{"class":244,"line":7159},[6995,19493,7615],{"class":7000},[6995,19495,19496],{"class":244,"line":7172},[6995,19497,7047],{"class":7000},[34,19499,19500],{},[611,19501,7052],{},[616,19503,19504],{"className":6989,"code":19353,"language":6991,"meta":14,"style":14},[611,19505,19506,19510,19520,19530,19538],{"__ignoreMap":14},[6995,19507,19508],{"class":244,"line":6997},[6995,19509,7001],{"class":7000},[6995,19511,19512,19514,19516,19518],{"class":244,"line":15},[6995,19513,7021],{"class":7006},[6995,19515,7024],{"class":7000},[6995,19517,18961],{"class":7006},[6995,19519,7030],{"class":7000},[6995,19521,19522,19524,19526,19528],{"class":244,"line":154},[6995,19523,7007],{"class":7006},[6995,19525,7024],{"class":7000},[6995,19527,7013],{"class":7012},[6995,19529,7030],{"class":7000},[6995,19531,19532,19534,19536],{"class":244,"line":7033},[6995,19533,7732],{"class":7006},[6995,19535,7024],{"class":7000},[6995,19537,19388],{"class":7012},[6995,19539,19540],{"class":244,"line":7044},[6995,19541,7047],{"class":7000},[41,19543,6905],{"id":6905},[34,19545,19546],{},"Send BEAM or asset to a given address.",[34,19548,19549],{},[611,19550,6986],{},[616,19552,19554],{"className":6989,"code":19553,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"method\":\"tx_send\", \n    \"params\":\n    {\n        \"value\": 12342342,\n        \"fee\": 2,\n        \"from\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"address\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"comment\": \"thank you!\",\n        \"asset_id\": 1,\n        \"offline\": false\n    }\n}\n",[611,19555,19556,19560,19570,19580,19590,19596,19600,19610,19620,19630,19640,19650,19660,19669,19673],{"__ignoreMap":14},[6995,19557,19558],{"class":244,"line":6997},[6995,19559,7001],{"class":7000},[6995,19561,19562,19564,19566,19568],{"class":244,"line":15},[6995,19563,7007],{"class":7006},[6995,19565,5102],{"class":7000},[6995,19567,7013],{"class":7012},[6995,19569,7016],{"class":7000},[6995,19571,19572,19574,19576,19578],{"class":244,"line":154},[6995,19573,7021],{"class":7006},[6995,19575,7024],{"class":7000},[6995,19577,7511],{"class":7006},[6995,19579,7030],{"class":7000},[6995,19581,19582,19584,19586,19588],{"class":244,"line":7033},[6995,19583,7036],{"class":7006},[6995,19585,5102],{"class":7000},[6995,19587,7522],{"class":7012},[6995,19589,7016],{"class":7000},[6995,19591,19592,19594],{"class":244,"line":7044},[6995,19593,7529],{"class":7006},[6995,19595,7532],{"class":7000},[6995,19597,19598],{"class":244,"line":7107},[6995,19599,7537],{"class":7000},[6995,19601,19602,19604,19606,19608],{"class":244,"line":7120},[6995,19603,7542],{"class":7006},[6995,19605,7024],{"class":7000},[6995,19607,7547],{"class":7006},[6995,19609,7030],{"class":7000},[6995,19611,19612,19614,19616,19618],{"class":244,"line":7133},[6995,19613,7554],{"class":7006},[6995,19615,7024],{"class":7000},[6995,19617,7511],{"class":7006},[6995,19619,7030],{"class":7000},[6995,19621,19622,19624,19626,19628],{"class":244,"line":7146},[6995,19623,7565],{"class":7006},[6995,19625,7024],{"class":7000},[6995,19627,7570],{"class":7012},[6995,19629,7030],{"class":7000},[6995,19631,19632,19634,19636,19638],{"class":244,"line":7159},[6995,19633,7577],{"class":7006},[6995,19635,7024],{"class":7000},[6995,19637,7570],{"class":7012},[6995,19639,7030],{"class":7000},[6995,19641,19642,19644,19646,19648],{"class":244,"line":7172},[6995,19643,7588],{"class":7006},[6995,19645,7024],{"class":7000},[6995,19647,7593],{"class":7012},[6995,19649,7030],{"class":7000},[6995,19651,19652,19654,19656,19658],{"class":244,"line":7185},[6995,19653,7229],{"class":7006},[6995,19655,7024],{"class":7000},[6995,19657,6679],{"class":7006},[6995,19659,7030],{"class":7000},[6995,19661,19662,19664,19666],{"class":244,"line":7198},[6995,19663,12158],{"class":7006},[6995,19665,7024],{"class":7000},[6995,19667,19668],{"class":7006},"false\n",[6995,19670,19671],{"class":244,"line":7211},[6995,19672,7615],{"class":7000},[6995,19674,19675],{"class":244,"line":7220},[6995,19676,7047],{"class":7000},[852,19678,19679,19684,19689,19695,19707,19712,19717,19728],{},[59,19680,19681,19683],{},[611,19682,8141],{}," how much BEAM or asset to send in groth or asset groth.",[59,19685,19686,19688],{},[611,19687,8147],{}," always in BEAM groth, optional. Omit for default fee.",[59,19690,19691,19694],{},[611,19692,19693],{},"from"," own address, optional. If omitted new own address is generated and registered.",[59,19696,19697,19699,19700,19702,19703,1475,19705,181],{},[611,19698,738],{}," receiver's SBBS address or token. Token is an extension of SBBS address. It is a ",[100,19701,11775],{}," encoded byte buffer which contains serialized parameters of a transaction. At least it contains SBBS ",[611,19704,738],{},[611,19706,19226],{},[59,19708,19709,19711],{},[611,19710,18624],{}," transaction comment, optional.",[59,19713,19714,19716],{},[611,19715,8158],{}," optional, you can provide your own transaction ID.",[59,19718,19719,19721,19722,19724,19725,19727],{},[611,19720,6869],{}," asset id to send, optional. Present starting from v5.0 and can be used only after Fork 2. Omit or set to 0 for BEAM transaction. If ",[611,19723,6869],{}," is non-zero assets must be enabled (",[611,19726,4979],{},") or method would fail.",[59,19729,19730,19732,19733,19736,19737,19739],{},[611,19731,11810],{}," - since v6.0 offline addresses by default start the regular online transaction. Specify ",[611,19734,19735],{},"\"offline\":true\""," to start an offline transaction. Applied only for ",[611,19738,11810],{}," addresses and ignored for all other address types.",[34,19741,19742,19743,19745,19746,19749],{},"You can preselect specific UTXOs for a transaction and fee via optional ",[611,19744,14350],{}," array parameter like ",[611,19747,19748],{},"\"coins\" : [\"00057e8eca5673476e6f726d000000000000015d3ef79800\", \"00057e8eca1233476e6f726d000000000000015d3ef79800\"]",". In case of asset transaction you can specify both asset coins (to send) and non-asset coins (to pay fee).",[34,19751,19752],{},[611,19753,7052],{},[616,19755,19756],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,19757,19758,19762,19772,19782,19788,19792,19800,19804],{"__ignoreMap":14},[6995,19759,19760],{"class":244,"line":6997},[6995,19761,7001],{"class":7000},[6995,19763,19764,19766,19768,19770],{"class":244,"line":15},[6995,19765,7007],{"class":7006},[6995,19767,5102],{"class":7000},[6995,19769,7013],{"class":7012},[6995,19771,7016],{"class":7000},[6995,19773,19774,19776,19778,19780],{"class":244,"line":154},[6995,19775,7021],{"class":7006},[6995,19777,7024],{"class":7000},[6995,19779,7511],{"class":7006},[6995,19781,7030],{"class":7000},[6995,19783,19784,19786],{"class":244,"line":7033},[6995,19785,7732],{"class":7006},[6995,19787,7532],{"class":7000},[6995,19789,19790],{"class":244,"line":7044},[6995,19791,7537],{"class":7000},[6995,19793,19794,19796,19798],{"class":244,"line":7107},[6995,19795,7743],{"class":7006},[6995,19797,7746],{"class":7000},[6995,19799,7749],{"class":7012},[6995,19801,19802],{"class":244,"line":7120},[6995,19803,7615],{"class":7000},[6995,19805,19806],{"class":244,"line":7133},[6995,19807,7047],{"class":7000},[34,19809,8221,19810,181],{},[175,19811,7985],{"href":19812},"#api-error-codes",[41,19814,6910],{"id":6910},[34,19816,19817],{},"Creates a specific set of outputs with given values.",[34,19819,19820,19821,19824],{},"NOTE: The ",[611,19822,19823],{},"session"," parameter is not IMPLEMENTED and was removed!",[34,19826,19827],{},[611,19828,6986],{},[616,19830,19832],{"className":6989,"code":19831,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 5,\n    \"method\":\"tx_split\", \n    \"params\":\n    {\n        \"coins\" : [11, 12, 13, 50000000],\n        \"fee\" : 100,\n        \"asset_id\": 1\n    }\n}\n",[611,19833,19834,19838,19848,19858,19869,19875,19879,19907,19917,19925,19929],{"__ignoreMap":14},[6995,19835,19836],{"class":244,"line":6997},[6995,19837,7001],{"class":7000},[6995,19839,19840,19842,19844,19846],{"class":244,"line":15},[6995,19841,7007],{"class":7006},[6995,19843,5102],{"class":7000},[6995,19845,7013],{"class":7012},[6995,19847,7016],{"class":7000},[6995,19849,19850,19852,19854,19856],{"class":244,"line":154},[6995,19851,7021],{"class":7006},[6995,19853,7024],{"class":7000},[6995,19855,14095],{"class":7006},[6995,19857,7030],{"class":7000},[6995,19859,19860,19862,19864,19867],{"class":244,"line":7033},[6995,19861,7036],{"class":7006},[6995,19863,5102],{"class":7000},[6995,19865,19866],{"class":7012},"\"tx_split\"",[6995,19868,7016],{"class":7000},[6995,19870,19871,19873],{"class":244,"line":7044},[6995,19872,7529],{"class":7006},[6995,19874,7532],{"class":7000},[6995,19876,19877],{"class":244,"line":7107},[6995,19878,7537],{"class":7000},[6995,19880,19881,19884,19887,19890,19892,19894,19896,19899,19901,19904],{"class":244,"line":7120},[6995,19882,19883],{"class":7006},"        \"coins\"",[6995,19885,19886],{"class":7000}," : [",[6995,19888,19889],{"class":7006},"11",[6995,19891,2231],{"class":7000},[6995,19893,8566],{"class":7006},[6995,19895,2231],{"class":7000},[6995,19897,19898],{"class":7006},"13",[6995,19900,2231],{"class":7000},[6995,19902,19903],{"class":7006},"50000000",[6995,19905,19906],{"class":7000},"],\n",[6995,19908,19909,19911,19913,19915],{"class":244,"line":7133},[6995,19910,7554],{"class":7006},[6995,19912,7746],{"class":7000},[6995,19914,10984],{"class":7006},[6995,19916,7030],{"class":7000},[6995,19918,19919,19921,19923],{"class":244,"line":7146},[6995,19920,7229],{"class":7006},[6995,19922,7024],{"class":7000},[6995,19924,7686],{"class":7006},[6995,19926,19927],{"class":244,"line":7159},[6995,19928,7615],{"class":7000},[6995,19930,19931],{"class":244,"line":7172},[6995,19932,7047],{"class":7000},[34,19934,19935],{},[611,19936,7052],{},[616,19938,19940],{"className":6989,"code":19939,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 5,\n    \"result\":\n    {\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\"\n    }\n}\n",[611,19941,19942,19946,19956,19966,19972,19976,19984,19988],{"__ignoreMap":14},[6995,19943,19944],{"class":244,"line":6997},[6995,19945,7001],{"class":7000},[6995,19947,19948,19950,19952,19954],{"class":244,"line":15},[6995,19949,7007],{"class":7006},[6995,19951,5102],{"class":7000},[6995,19953,7013],{"class":7012},[6995,19955,7016],{"class":7000},[6995,19957,19958,19960,19962,19964],{"class":244,"line":154},[6995,19959,7021],{"class":7006},[6995,19961,7024],{"class":7000},[6995,19963,14095],{"class":7006},[6995,19965,7030],{"class":7000},[6995,19967,19968,19970],{"class":244,"line":7033},[6995,19969,7732],{"class":7006},[6995,19971,7532],{"class":7000},[6995,19973,19974],{"class":244,"line":7044},[6995,19975,7537],{"class":7000},[6995,19977,19978,19980,19982],{"class":244,"line":7107},[6995,19979,7743],{"class":7006},[6995,19981,7746],{"class":7000},[6995,19983,7749],{"class":7012},[6995,19985,19986],{"class":244,"line":7120},[6995,19987,7615],{"class":7000},[6995,19989,19990],{"class":244,"line":7133},[6995,19991,7047],{"class":7000},[852,19993,19994,19999,20004,20009],{},[59,19995,19996,19998],{},[611,19997,8147],{}," is always in BEAM groth. Omit for default fee.",[59,20000,20001,20003],{},[611,20002,14350],{}," amounts of coins your want to have after split.",[59,20005,20006,20008],{},[611,20007,8158],{}," optional, provide your own transaction ID.",[59,20010,20011,20013,20014,19724,20016,19727],{},[611,20012,6869],{}," asset id to split, optional. Omit or set to 0 to split BEAM coins. Present starting from v5.0 and can be used only after Fork 2. If ",[611,20015,6869],{},[611,20017,4979],{},[41,20019,6920],{"id":6920},[34,20021,20022,20023,19727],{},"Available from v5.0, can be used after Fork2. Assets must be enabled (",[611,20024,4979],{},[34,20026,20027,20028,8054],{},"Mints new asset coins. You must own the asset and info about the asset should be in a local database. Use ",[175,20029,6930],{"href":8044},[34,20031,20032],{},[611,20033,6986],{},[616,20035,20036],{"className":6989,"code":8061,"language":6991,"meta":14,"style":14},[611,20037,20038,20042,20052,20062,20072,20078,20082,20092,20100,20104],{"__ignoreMap":14},[6995,20039,20040],{"class":244,"line":6997},[6995,20041,7001],{"class":7000},[6995,20043,20044,20046,20048,20050],{"class":244,"line":15},[6995,20045,7007],{"class":7006},[6995,20047,7024],{"class":7000},[6995,20049,7013],{"class":7012},[6995,20051,7016],{"class":7000},[6995,20053,20054,20056,20058,20060],{"class":244,"line":154},[6995,20055,7021],{"class":7006},[6995,20057,7024],{"class":7000},[6995,20059,7511],{"class":7006},[6995,20061,7030],{"class":7000},[6995,20063,20064,20066,20068,20070],{"class":244,"line":7033},[6995,20065,7036],{"class":7006},[6995,20067,7024],{"class":7000},[6995,20069,8096],{"class":7012},[6995,20071,7016],{"class":7000},[6995,20073,20074,20076],{"class":244,"line":7044},[6995,20075,7529],{"class":7006},[6995,20077,7532],{"class":7000},[6995,20079,20080],{"class":244,"line":7107},[6995,20081,7537],{"class":7000},[6995,20083,20084,20086,20088,20090],{"class":244,"line":7120},[6995,20085,7542],{"class":7006},[6995,20087,7024],{"class":7000},[6995,20089,7027],{"class":7006},[6995,20091,7030],{"class":7000},[6995,20093,20094,20096,20098],{"class":244,"line":7133},[6995,20095,7229],{"class":7006},[6995,20097,7024],{"class":7000},[6995,20099,7686],{"class":7006},[6995,20101,20102],{"class":244,"line":7146},[6995,20103,7615],{"class":7000},[6995,20105,20106],{"class":244,"line":7159},[6995,20107,7047],{"class":7000},[852,20109,20110,20114,20118,20122,20126],{},[59,20111,20112,8142],{},[611,20113,8141],{},[59,20115,20116,8148],{},[611,20117,8147],{},[59,20119,20120,8153],{},[611,20121,6869],{},[59,20123,20124,8159],{},[611,20125,8158],{},[59,20127,20128,20131],{},[611,20129,20130],{},"asset_meta"," obsolete and removed in v6.0.",[34,20133,20134,20135,20137,20138],{},"You can preselect specific BEAM UTXOs for a transaction fee by adding ",[611,20136,14350],{}," array parameter, like ",[611,20139,19748],{},[34,20141,20142],{},[611,20143,7052],{},[616,20145,20146],{"className":6989,"code":8166,"language":6991,"meta":14,"style":14},[611,20147,20148,20152,20162,20172,20178,20182,20190,20194],{"__ignoreMap":14},[6995,20149,20150],{"class":244,"line":6997},[6995,20151,7001],{"class":7000},[6995,20153,20154,20156,20158,20160],{"class":244,"line":15},[6995,20155,7007],{"class":7006},[6995,20157,7024],{"class":7000},[6995,20159,7013],{"class":7012},[6995,20161,7016],{"class":7000},[6995,20163,20164,20166,20168,20170],{"class":244,"line":154},[6995,20165,7021],{"class":7006},[6995,20167,7024],{"class":7000},[6995,20169,7511],{"class":7006},[6995,20171,7030],{"class":7000},[6995,20173,20174,20176],{"class":244,"line":7033},[6995,20175,7732],{"class":7006},[6995,20177,7532],{"class":7000},[6995,20179,20180],{"class":244,"line":7044},[6995,20181,7537],{"class":7000},[6995,20183,20184,20186,20188],{"class":244,"line":7107},[6995,20185,7743],{"class":7006},[6995,20187,7746],{"class":7000},[6995,20189,7749],{"class":7012},[6995,20191,20192],{"class":244,"line":7120},[6995,20193,7615],{"class":7000},[6995,20195,20196],{"class":244,"line":7133},[6995,20197,7047],{"class":7000},[34,20199,8221,20200,181],{},[175,20201,7985],{"href":19812},[41,20203,6925],{"id":6925},[34,20205,20022,20206,19727],{},[611,20207,4979],{},[34,20209,20210,20211,20213],{},"Burns existing asset coins. You must own the asset itself as well as asset coins to burn them. You cannot burn asset coins that belong to another wallet. Info about the asset should be in a local database. Use ",[175,20212,6930],{"href":8044}," to retrieve the latest asset info if necessary. Asset coins burning is absolutely free. You need to pay only regular transaction fee.",[34,20215,20216],{},[611,20217,6986],{},[616,20219,20220],{"className":6989,"code":8236,"language":6991,"meta":14,"style":14},[611,20221,20222,20226,20236,20246,20256,20262,20266,20276,20284,20288],{"__ignoreMap":14},[6995,20223,20224],{"class":244,"line":6997},[6995,20225,7001],{"class":7000},[6995,20227,20228,20230,20232,20234],{"class":244,"line":15},[6995,20229,7007],{"class":7006},[6995,20231,5102],{"class":7000},[6995,20233,7013],{"class":7012},[6995,20235,7016],{"class":7000},[6995,20237,20238,20240,20242,20244],{"class":244,"line":154},[6995,20239,7021],{"class":7006},[6995,20241,7024],{"class":7000},[6995,20243,7511],{"class":7006},[6995,20245,7030],{"class":7000},[6995,20247,20248,20250,20252,20254],{"class":244,"line":7033},[6995,20249,7036],{"class":7006},[6995,20251,5102],{"class":7000},[6995,20253,8271],{"class":7012},[6995,20255,7016],{"class":7000},[6995,20257,20258,20260],{"class":244,"line":7044},[6995,20259,7529],{"class":7006},[6995,20261,7532],{"class":7000},[6995,20263,20264],{"class":244,"line":7107},[6995,20265,7537],{"class":7000},[6995,20267,20268,20270,20272,20274],{"class":244,"line":7120},[6995,20269,7542],{"class":7006},[6995,20271,7024],{"class":7000},[6995,20273,7027],{"class":7006},[6995,20275,7030],{"class":7000},[6995,20277,20278,20280,20282],{"class":244,"line":7133},[6995,20279,7229],{"class":7006},[6995,20281,7024],{"class":7000},[6995,20283,7686],{"class":7006},[6995,20285,20286],{"class":244,"line":7146},[6995,20287,7615],{"class":7000},[6995,20289,20290],{"class":244,"line":7159},[6995,20291,7047],{"class":7000},[852,20293,20294,20298,20302,20306,20310],{},[59,20295,20296,8316],{},[611,20297,8141],{},[59,20299,20300,8321],{},[611,20301,8147],{},[59,20303,20304,8326],{},[611,20305,6869],{},[59,20307,20308,8331],{},[611,20309,8158],{},[59,20311,20312,20314],{},[611,20313,20130],{}," obsolete and removed since v6.0",[34,20316,20317,20318,20137,20320,20322],{},"You can preselect specific UTXOs to burn and to pay fee by adding ",[611,20319,14350],{},[611,20321,19748],{},". Both asset coins (to burn) and BEAM coins (to pay fee) can be in this array.",[34,20324,20325],{},[611,20326,7052],{},[616,20328,20329],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,20330,20331,20335,20345,20355,20361,20365,20373,20377],{"__ignoreMap":14},[6995,20332,20333],{"class":244,"line":6997},[6995,20334,7001],{"class":7000},[6995,20336,20337,20339,20341,20343],{"class":244,"line":15},[6995,20338,7007],{"class":7006},[6995,20340,5102],{"class":7000},[6995,20342,7013],{"class":7012},[6995,20344,7016],{"class":7000},[6995,20346,20347,20349,20351,20353],{"class":244,"line":154},[6995,20348,7021],{"class":7006},[6995,20350,7024],{"class":7000},[6995,20352,7511],{"class":7006},[6995,20354,7030],{"class":7000},[6995,20356,20357,20359],{"class":244,"line":7033},[6995,20358,7732],{"class":7006},[6995,20360,7532],{"class":7000},[6995,20362,20363],{"class":244,"line":7044},[6995,20364,7537],{"class":7000},[6995,20366,20367,20369,20371],{"class":244,"line":7107},[6995,20368,7743],{"class":7006},[6995,20370,7746],{"class":7000},[6995,20372,7749],{"class":7012},[6995,20374,20375],{"class":244,"line":7120},[6995,20376,7615],{"class":7000},[6995,20378,20379],{"class":244,"line":7133},[6995,20380,7047],{"class":7000},[34,20382,8221,20383,181],{},[175,20384,7985],{"href":19812},[41,20386,6930],{"id":6930},[34,20388,20022,20389,19727],{},[611,20390,4979],{},[34,20392,20393,20394,20396],{},"Retrieve full info about any registered asset and save in a local database. If asset has been unregistered or has been never registered transaction would fail. After transaction is completed you can use ",[175,20395,6935],{"href":18363}," to read\u002Fget asset info from the local database.",[34,20398,20399],{},[611,20400,6986],{},[616,20402,20403],{"className":6989,"code":7629,"language":6991,"meta":14,"style":14},[611,20404,20405,20409,20419,20429,20439,20445,20449,20457,20461],{"__ignoreMap":14},[6995,20406,20407],{"class":244,"line":6997},[6995,20408,7001],{"class":7000},[6995,20410,20411,20413,20415,20417],{"class":244,"line":15},[6995,20412,7007],{"class":7006},[6995,20414,5102],{"class":7000},[6995,20416,7013],{"class":7012},[6995,20418,7016],{"class":7000},[6995,20420,20421,20423,20425,20427],{"class":244,"line":154},[6995,20422,7021],{"class":7006},[6995,20424,7024],{"class":7000},[6995,20426,7511],{"class":7006},[6995,20428,7030],{"class":7000},[6995,20430,20431,20433,20435,20437],{"class":244,"line":7033},[6995,20432,7036],{"class":7006},[6995,20434,7024],{"class":7000},[6995,20436,7664],{"class":7012},[6995,20438,7030],{"class":7000},[6995,20440,20441,20443],{"class":244,"line":7044},[6995,20442,7529],{"class":7006},[6995,20444,7673],{"class":7000},[6995,20446,20447],{"class":244,"line":7107},[6995,20448,7537],{"class":7000},[6995,20450,20451,20453,20455],{"class":244,"line":7120},[6995,20452,7229],{"class":7006},[6995,20454,7024],{"class":7000},[6995,20456,7686],{"class":7006},[6995,20458,20459],{"class":244,"line":7133},[6995,20460,7615],{"class":7000},[6995,20462,20463],{"class":244,"line":7146},[6995,20464,7047],{"class":7000},[852,20466,20467,20471,20475],{},[59,20468,20469,7838],{},[611,20470,6869],{},[59,20472,20473,8331],{},[611,20474,8158],{},[59,20476,20477,20314],{},[611,20478,20130],{},[34,20480,20481],{},"Asset info transaction is free, i.e. doesn't incur any fees.",[34,20483,20484],{},[611,20485,7052],{},[616,20487,20488],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,20489,20490,20494,20504,20514,20520,20524,20532,20536],{"__ignoreMap":14},[6995,20491,20492],{"class":244,"line":6997},[6995,20493,7001],{"class":7000},[6995,20495,20496,20498,20500,20502],{"class":244,"line":15},[6995,20497,7007],{"class":7006},[6995,20499,5102],{"class":7000},[6995,20501,7013],{"class":7012},[6995,20503,7016],{"class":7000},[6995,20505,20506,20508,20510,20512],{"class":244,"line":154},[6995,20507,7021],{"class":7006},[6995,20509,7024],{"class":7000},[6995,20511,7511],{"class":7006},[6995,20513,7030],{"class":7000},[6995,20515,20516,20518],{"class":244,"line":7033},[6995,20517,7732],{"class":7006},[6995,20519,7532],{"class":7000},[6995,20521,20522],{"class":244,"line":7044},[6995,20523,7537],{"class":7000},[6995,20525,20526,20528,20530],{"class":244,"line":7107},[6995,20527,7743],{"class":7006},[6995,20529,7746],{"class":7000},[6995,20531,7749],{"class":7012},[6995,20533,20534],{"class":244,"line":7120},[6995,20535,7615],{"class":7000},[6995,20537,20538],{"class":244,"line":7133},[6995,20539,7047],{"class":7000},[34,20541,8221,20542,181],{},[175,20543,7985],{"href":19812},[41,20545,18306],{"id":18306},[34,20547,20548],{},"Cancels running transaction",[34,20550,20551],{},[611,20552,6986],{},[616,20554,20556],{"className":6989,"code":20555,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\":\"tx_cancel\", \n    \"params\":\n    {\n        \"txId\" : \"a13525181c0d45b0a4c5c1a697c8a7b8\"\n    }\n}\n",[611,20557,20558,20562,20572,20582,20593,20599,20603,20612,20616],{"__ignoreMap":14},[6995,20559,20560],{"class":244,"line":6997},[6995,20561,7001],{"class":7000},[6995,20563,20564,20566,20568,20570],{"class":244,"line":15},[6995,20565,7007],{"class":7006},[6995,20567,5102],{"class":7000},[6995,20569,7013],{"class":7012},[6995,20571,7016],{"class":7000},[6995,20573,20574,20576,20578,20580],{"class":244,"line":154},[6995,20575,7021],{"class":7006},[6995,20577,7024],{"class":7000},[6995,20579,8439],{"class":7006},[6995,20581,7030],{"class":7000},[6995,20583,20584,20586,20588,20591],{"class":244,"line":7033},[6995,20585,7036],{"class":7006},[6995,20587,5102],{"class":7000},[6995,20589,20590],{"class":7012},"\"tx_cancel\"",[6995,20592,7016],{"class":7000},[6995,20594,20595,20597],{"class":244,"line":7044},[6995,20596,7529],{"class":7006},[6995,20598,7532],{"class":7000},[6995,20600,20601],{"class":244,"line":7107},[6995,20602,7537],{"class":7000},[6995,20604,20605,20607,20609],{"class":244,"line":7120},[6995,20606,7743],{"class":7006},[6995,20608,7746],{"class":7000},[6995,20610,20611],{"class":7012},"\"a13525181c0d45b0a4c5c1a697c8a7b8\"\n",[6995,20613,20614],{"class":244,"line":7133},[6995,20615,7615],{"class":7000},[6995,20617,20618],{"class":244,"line":7146},[6995,20619,7047],{"class":7000},[852,20621,20622],{},[59,20623,20624,20626],{},[611,20625,8158],{}," transaction id to cancel.",[34,20628,20629],{},[611,20630,7052],{},[616,20632,20634],{"className":6989,"code":20633,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"result\": true\n}\n",[611,20635,20636,20640,20650,20660,20668],{"__ignoreMap":14},[6995,20637,20638],{"class":244,"line":6997},[6995,20639,7001],{"class":7000},[6995,20641,20642,20644,20646,20648],{"class":244,"line":15},[6995,20643,7007],{"class":7006},[6995,20645,5102],{"class":7000},[6995,20647,7013],{"class":7012},[6995,20649,7016],{"class":7000},[6995,20651,20652,20654,20656,20658],{"class":244,"line":154},[6995,20653,7021],{"class":7006},[6995,20655,7024],{"class":7000},[6995,20657,8439],{"class":7006},[6995,20659,7030],{"class":7000},[6995,20661,20662,20664,20666],{"class":244,"line":7033},[6995,20663,7732],{"class":7006},[6995,20665,7024],{"class":7000},[6995,20667,8505],{"class":7006},[6995,20669,20670],{"class":244,"line":7044},[6995,20671,7047],{"class":7000},[34,20673,20674,20675,20677,20678,20680],{},"Returns ",[611,20676,8689],{}," if successfully canceled or ",[175,20679,7985],{"href":19812}," with the reason.",[41,20682,18314],{"id":18314},[34,20684,20685],{},"Removes transaction from the local history. Cannot remove running transaction",[34,20687,20688],{},[611,20689,6986],{},[616,20691,20693],{"className":6989,"code":20692,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\":\"tx_delete\", \n    \"params\":\n    {\n        \"txId\" : \"a13525181c0d45b0a4c5c1a697c8a7b8\"\n    }\n}\n",[611,20694,20695,20699,20709,20719,20730,20736,20740,20748,20752],{"__ignoreMap":14},[6995,20696,20697],{"class":244,"line":6997},[6995,20698,7001],{"class":7000},[6995,20700,20701,20703,20705,20707],{"class":244,"line":15},[6995,20702,7007],{"class":7006},[6995,20704,5102],{"class":7000},[6995,20706,7013],{"class":7012},[6995,20708,7016],{"class":7000},[6995,20710,20711,20713,20715,20717],{"class":244,"line":154},[6995,20712,7021],{"class":7006},[6995,20714,7024],{"class":7000},[6995,20716,8439],{"class":7006},[6995,20718,7030],{"class":7000},[6995,20720,20721,20723,20725,20728],{"class":244,"line":7033},[6995,20722,7036],{"class":7006},[6995,20724,5102],{"class":7000},[6995,20726,20727],{"class":7012},"\"tx_delete\"",[6995,20729,7016],{"class":7000},[6995,20731,20732,20734],{"class":244,"line":7044},[6995,20733,7529],{"class":7006},[6995,20735,7532],{"class":7000},[6995,20737,20738],{"class":244,"line":7107},[6995,20739,7537],{"class":7000},[6995,20741,20742,20744,20746],{"class":244,"line":7120},[6995,20743,7743],{"class":7006},[6995,20745,7746],{"class":7000},[6995,20747,20611],{"class":7012},[6995,20749,20750],{"class":244,"line":7133},[6995,20751,7615],{"class":7000},[6995,20753,20754],{"class":244,"line":7146},[6995,20755,7047],{"class":7000},[852,20757,20758],{},[59,20759,20760,20762],{},[611,20761,8158],{}," transaction id to be deleted.",[34,20764,20765],{},[611,20766,7052],{},[616,20768,20769],{"className":6989,"code":20633,"language":6991,"meta":14,"style":14},[611,20770,20771,20775,20785,20795,20803],{"__ignoreMap":14},[6995,20772,20773],{"class":244,"line":6997},[6995,20774,7001],{"class":7000},[6995,20776,20777,20779,20781,20783],{"class":244,"line":15},[6995,20778,7007],{"class":7006},[6995,20780,5102],{"class":7000},[6995,20782,7013],{"class":7012},[6995,20784,7016],{"class":7000},[6995,20786,20787,20789,20791,20793],{"class":244,"line":154},[6995,20788,7021],{"class":7006},[6995,20790,7024],{"class":7000},[6995,20792,8439],{"class":7006},[6995,20794,7030],{"class":7000},[6995,20796,20797,20799,20801],{"class":244,"line":7033},[6995,20798,7732],{"class":7006},[6995,20800,7024],{"class":7000},[6995,20802,8505],{"class":7006},[6995,20804,20805],{"class":244,"line":7044},[6995,20806,7047],{"class":7000},[34,20808,20674,20809,20811,20812,20680],{},[611,20810,8689],{}," if the transaction was successfully deleted or ",[175,20813,7985],{"href":19812},[41,20815,18293],{"id":18293},[34,20817,20818,20819,20821],{},"Get status & extended information about a single transaction by its transaction id. The example below is given for a simple transaction. Different transaction types have different status records. Consult ",[175,20820,18327],{"href":18326}," method description for details. This method can be called for previously started asset-involving transactions even if assets are not enabled in the current session.",[34,20823,20824],{},[611,20825,6986],{},[616,20827,20829],{"className":6989,"code":20828,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\":\"tx_status\", \n    \"params\":\n    {\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\" \n    }\n}\n",[611,20830,20831,20835,20845,20855,20866,20872,20876,20887,20891],{"__ignoreMap":14},[6995,20832,20833],{"class":244,"line":6997},[6995,20834,7001],{"class":7000},[6995,20836,20837,20839,20841,20843],{"class":244,"line":15},[6995,20838,7007],{"class":7006},[6995,20840,5102],{"class":7000},[6995,20842,7013],{"class":7012},[6995,20844,7016],{"class":7000},[6995,20846,20847,20849,20851,20853],{"class":244,"line":154},[6995,20848,7021],{"class":7006},[6995,20850,7024],{"class":7000},[6995,20852,8439],{"class":7006},[6995,20854,7030],{"class":7000},[6995,20856,20857,20859,20861,20864],{"class":244,"line":7033},[6995,20858,7036],{"class":7006},[6995,20860,5102],{"class":7000},[6995,20862,20863],{"class":7012},"\"tx_status\"",[6995,20865,7016],{"class":7000},[6995,20867,20868,20870],{"class":244,"line":7044},[6995,20869,7529],{"class":7006},[6995,20871,7532],{"class":7000},[6995,20873,20874],{"class":244,"line":7107},[6995,20875,7537],{"class":7000},[6995,20877,20878,20880,20882,20885],{"class":244,"line":7120},[6995,20879,7743],{"class":7006},[6995,20881,7746],{"class":7000},[6995,20883,20884],{"class":7012},"\"10c4b760c842433cb58339a0fafef3db\"",[6995,20886,15002],{"class":7000},[6995,20888,20889],{"class":244,"line":7133},[6995,20890,7615],{"class":7000},[6995,20892,20893],{"class":244,"line":7146},[6995,20894,7047],{"class":7000},[34,20896,20897],{},[611,20898,7052],{},[616,20900,20902],{"className":6989,"code":20901,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"result\":\n    { \n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\",\n        \"asset_id\": 0,\n        \"comment\": \"\",\n        \"fee\": 100,\n        \"kernel\": \"0000000000000000000000000000000000000000000000000000000000000000\",\n        \"receiver\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"sender\": \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n        \"status\": 4,\n        \"status_string\" : \"Failed\",\n        \"tx_type\": 0,\n        \"tx_type_string\": \"simple\",\n        \"failure_reason\" : \"No inputs\",\n        \"value\": 12342342,\n        \"create_time\" : 1551100217,\n        \"income\" : false,\n        \"sender_identity\": \"a0a1ebbfeed5c312b309e32715c159e6b4548a6c6c3af25d0dbc16f37a1e9dd6\",\n        \"receiver_identity\": \"2d8738b0424ad50631e902fab655e7e1795fbb8d92d47c4c8df7336870fcadf5\",\n        \"token\": \"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\"\n    } \n}\n",[611,20903,20904,20908,20918,20928,20934,20939,20949,20959,20969,20979,20991,21002,21014,21025,21037,21048,21060,21072,21082,21093,21104,21116,21127,21137,21142],{"__ignoreMap":14},[6995,20905,20906],{"class":244,"line":6997},[6995,20907,7001],{"class":7000},[6995,20909,20910,20912,20914,20916],{"class":244,"line":15},[6995,20911,7007],{"class":7006},[6995,20913,5102],{"class":7000},[6995,20915,7013],{"class":7012},[6995,20917,7016],{"class":7000},[6995,20919,20920,20922,20924,20926],{"class":244,"line":154},[6995,20921,7021],{"class":7006},[6995,20923,7024],{"class":7000},[6995,20925,8439],{"class":7006},[6995,20927,7030],{"class":7000},[6995,20929,20930,20932],{"class":244,"line":7033},[6995,20931,7732],{"class":7006},[6995,20933,7532],{"class":7000},[6995,20935,20936],{"class":244,"line":7044},[6995,20937,20938],{"class":7000},"    { \n",[6995,20940,20941,20943,20945,20947],{"class":244,"line":7107},[6995,20942,7743],{"class":7006},[6995,20944,7746],{"class":7000},[6995,20946,20884],{"class":7012},[6995,20948,7030],{"class":7000},[6995,20950,20951,20953,20955,20957],{"class":244,"line":7120},[6995,20952,7229],{"class":7006},[6995,20954,7024],{"class":7000},[6995,20956,7180],{"class":7006},[6995,20958,7030],{"class":7000},[6995,20960,20961,20963,20965,20967],{"class":244,"line":7133},[6995,20962,7588],{"class":7006},[6995,20964,7024],{"class":7000},[6995,20966,19080],{"class":7012},[6995,20968,7030],{"class":7000},[6995,20970,20971,20973,20975,20977],{"class":244,"line":7146},[6995,20972,7554],{"class":7006},[6995,20974,7024],{"class":7000},[6995,20976,10984],{"class":7006},[6995,20978,7030],{"class":7000},[6995,20980,20981,20984,20986,20989],{"class":244,"line":7159},[6995,20982,20983],{"class":7006},"        \"kernel\"",[6995,20985,7024],{"class":7000},[6995,20987,20988],{"class":7012},"\"0000000000000000000000000000000000000000000000000000000000000000\"",[6995,20990,7030],{"class":7000},[6995,20992,20993,20996,20998,21000],{"class":244,"line":7172},[6995,20994,20995],{"class":7006},"        \"receiver\"",[6995,20997,7024],{"class":7000},[6995,20999,7570],{"class":7012},[6995,21001,7030],{"class":7000},[6995,21003,21004,21007,21009,21012],{"class":244,"line":7185},[6995,21005,21006],{"class":7006},"        \"sender\"",[6995,21008,7024],{"class":7000},[6995,21010,21011],{"class":7012},"\"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\"",[6995,21013,7030],{"class":7000},[6995,21015,21016,21019,21021,21023],{"class":244,"line":7198},[6995,21017,21018],{"class":7006},"        \"status\"",[6995,21020,7024],{"class":7000},[6995,21022,8439],{"class":7006},[6995,21024,7030],{"class":7000},[6995,21026,21027,21030,21032,21035],{"class":244,"line":7211},[6995,21028,21029],{"class":7006},"        \"status_string\"",[6995,21031,7746],{"class":7000},[6995,21033,21034],{"class":7012},"\"Failed\"",[6995,21036,7030],{"class":7000},[6995,21038,21039,21042,21044,21046],{"class":244,"line":7220},[6995,21040,21041],{"class":7006},"        \"tx_type\"",[6995,21043,7024],{"class":7000},[6995,21045,7180],{"class":7006},[6995,21047,7030],{"class":7000},[6995,21049,21050,21053,21055,21058],{"class":244,"line":7226},[6995,21051,21052],{"class":7006},"        \"tx_type_string\"",[6995,21054,7024],{"class":7000},[6995,21056,21057],{"class":7012},"\"simple\"",[6995,21059,7030],{"class":7000},[6995,21061,21062,21065,21067,21070],{"class":244,"line":7238},[6995,21063,21064],{"class":7006},"        \"failure_reason\"",[6995,21066,7746],{"class":7000},[6995,21068,21069],{"class":7012},"\"No inputs\"",[6995,21071,7030],{"class":7000},[6995,21073,21074,21076,21078,21080],{"class":244,"line":7250},[6995,21075,7542],{"class":7006},[6995,21077,7024],{"class":7000},[6995,21079,7547],{"class":7006},[6995,21081,7030],{"class":7000},[6995,21083,21084,21086,21088,21091],{"class":244,"line":7263},[6995,21085,19087],{"class":7006},[6995,21087,7746],{"class":7000},[6995,21089,21090],{"class":7006},"1551100217",[6995,21092,7030],{"class":7000},[6995,21094,21095,21098,21100,21102],{"class":244,"line":7275},[6995,21096,21097],{"class":7006},"        \"income\"",[6995,21099,7746],{"class":7000},[6995,21101,11094],{"class":7006},[6995,21103,7030],{"class":7000},[6995,21105,21106,21109,21111,21114],{"class":244,"line":7288},[6995,21107,21108],{"class":7006},"        \"sender_identity\"",[6995,21110,7024],{"class":7000},[6995,21112,21113],{"class":7012},"\"a0a1ebbfeed5c312b309e32715c159e6b4548a6c6c3af25d0dbc16f37a1e9dd6\"",[6995,21115,7030],{"class":7000},[6995,21117,21118,21121,21123,21125],{"class":244,"line":7300},[6995,21119,21120],{"class":7006},"        \"receiver_identity\"",[6995,21122,7024],{"class":7000},[6995,21124,19171],{"class":7012},[6995,21126,7030],{"class":7000},[6995,21128,21129,21132,21134],{"class":244,"line":7313},[6995,21130,21131],{"class":7006},"        \"token\"",[6995,21133,7024],{"class":7000},[6995,21135,21136],{"class":7012},"\"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\"\n",[6995,21138,21139],{"class":244,"line":7325},[6995,21140,21141],{"class":7000},"    } \n",[6995,21143,21144],{"class":244,"line":7336},[6995,21145,7047],{"class":7000},[41,21147,18327],{"id":18327},[34,21149,21150],{},"Get the transactions list.",[34,21152,21153],{},[611,21154,6986],{},[616,21156,21158],{"className":6989,"code":21157,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"method\":\"tx_list\",\n    \"params\":\n    {\n        \"filter\" : \n        {\n            \"status\":4,\n            \"height\":1055,\n        },\n        \"skip\" : 0,\n        \"count\" : 10\n    }\n}\n",[611,21159,21160,21164,21174,21184,21195,21201,21205,21212,21216,21227,21239,21244,21255,21265,21269],{"__ignoreMap":14},[6995,21161,21162],{"class":244,"line":6997},[6995,21163,7001],{"class":7000},[6995,21165,21166,21168,21170,21172],{"class":244,"line":15},[6995,21167,7007],{"class":7006},[6995,21169,5102],{"class":7000},[6995,21171,7013],{"class":7012},[6995,21173,7016],{"class":7000},[6995,21175,21176,21178,21180,21182],{"class":244,"line":154},[6995,21177,7021],{"class":7006},[6995,21179,7024],{"class":7000},[6995,21181,18961],{"class":7006},[6995,21183,7030],{"class":7000},[6995,21185,21186,21188,21190,21193],{"class":244,"line":7033},[6995,21187,7036],{"class":7006},[6995,21189,5102],{"class":7000},[6995,21191,21192],{"class":7012},"\"tx_list\"",[6995,21194,7030],{"class":7000},[6995,21196,21197,21199],{"class":244,"line":7044},[6995,21198,7529],{"class":7006},[6995,21200,7532],{"class":7000},[6995,21202,21203],{"class":244,"line":7107},[6995,21204,7537],{"class":7000},[6995,21206,21207,21210],{"class":244,"line":7120},[6995,21208,21209],{"class":7006},"        \"filter\"",[6995,21211,11893],{"class":7000},[6995,21213,21214],{"class":244,"line":7133},[6995,21215,14405],{"class":7000},[6995,21217,21218,21221,21223,21225],{"class":244,"line":7146},[6995,21219,21220],{"class":7006},"            \"status\"",[6995,21222,5102],{"class":7000},[6995,21224,8439],{"class":7006},[6995,21226,7030],{"class":7000},[6995,21228,21229,21232,21234,21237],{"class":244,"line":7159},[6995,21230,21231],{"class":7006},"            \"height\"",[6995,21233,5102],{"class":7000},[6995,21235,21236],{"class":7006},"1055",[6995,21238,7030],{"class":7000},[6995,21240,21241],{"class":244,"line":7172},[6995,21242,21243],{"class":7000},"        },\n",[6995,21245,21246,21249,21251,21253],{"class":244,"line":7185},[6995,21247,21248],{"class":7006},"        \"skip\"",[6995,21250,7746],{"class":7000},[6995,21252,7180],{"class":7006},[6995,21254,7030],{"class":7000},[6995,21256,21257,21260,21262],{"class":244,"line":7198},[6995,21258,21259],{"class":7006},"        \"count\"",[6995,21261,7746],{"class":7000},[6995,21263,21264],{"class":7006},"10\n",[6995,21266,21267],{"class":244,"line":7211},[6995,21268,7615],{"class":7000},[6995,21270,21271],{"class":244,"line":7220},[6995,21272,7047],{"class":7000},[852,21274,21275,21281,21287,21292],{},[59,21276,21277,21280],{},[611,21278,21279],{},"filter.status"," optional, filter transactions by status",[59,21282,21283,21286],{},[611,21284,21285],{},"filter.height"," optional, filter transactions by height. For simple, asset issue and asset consume transactions denotes height when the transaction was registered in the chain. For asset info transaction means height at which asset confirmation was received. Works only for transactions with status Completed(3).",[59,21288,21289,21291],{},[611,21290,12842],{}," optional, number of transactions to get. By default, all transactions are returned.",[59,21293,21294,21297],{},[611,21295,21296],{},"skip"," number of transactions to skip, 0 by default.",[34,21299,21300,21301,2344],{},"If assets are not enabled, the method returns only BEAM transactions. To get asset transactions you should enable assets (",[611,21302,4979],{},[852,21304,21305],{},[59,21306,21307,21310,21311,21313],{},[611,21308,21309],{},"filter.asset_id"," return only asset transactions with given asset id. Present starting from v5.0. If assets are not enabled and ",[611,21312,21309],{}," is non-zero nothing would be returned.",[34,21315,21316],{},[611,21317,7052],{},[616,21319,21321],{"className":6989,"code":21320,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"result\":\n    [{ \n        \"asset_id\": 0,\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\",\n        \"comment\": \"\",\n        \"fee\": 0,\n        \"kernel\": \"0000000000000000000000000000000000000000000000000000000000000000\",\n        \"receiver\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"sender\": \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n        \"status\": 4,\n        \"status_string\" : \"Failed\",\n        \"failure_reason\" : \"No inputs\",\n        \"value\": 12342342,\n        \"create_time\" : 1551100217,\n        \"income\" : false,\n        \"token\": \"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\"\n    },\n    {\n      \"asset_id\": 1,\n      \"asset_meta\": \"STD:N=Coin;SN=CN;UN=Cgro;NTHUN=Cgroth\",\n      \"comment\": \"\",\n      \"confirmations\": 102,\n      \"create_time\": 1586995332,\n      \"fee\": 0,\n      \"height\": 1908,\n      \"income\": false,\n      \"receiver\": \"0\",\n      \"sender\": \"0\",\n      \"status\": 3,\n      \"status_string\": \"asset confirmed\",\n      \"txId\": \"d9f94306127a4ef894733f984b5512cf\",\n      \"tx_type\": 6,\n      \"tx_type_string\": \"asset info\",\n      \"value\": 0\n    },\n    {\n        \"asset_id\": 1,\n        \"asset_meta\": \"STD:N=Coin;SN=CN;UN=Cgro;NTHUN=Cgroth\",\n        \"comment\": \"\",\n        \"confirmations\": 1985,\n        \"height\": 25,\n        \"create_time\": 1586966478,\n        \"fee\": 100,\n        \"income\": false,\n        \"kernel\": \"1c9e4a9a61df1dda00db10ab4477f88355e13d4ed06c0db36c39b22a2a66f642\",\n        \"receiver\": \"0\",\n        \"sender\": \"0\",\n        \"status\": 3,\n        \"status_string\": \"asset issued\",\n        \"txId\": \"77008a76aa4b4da697587040b2d21f1e\",\n        \"tx_type\": 2,\n        \"tx_type_string\": \"asset issue\",\n        \"value\": 500000000\n    }]\n}\n",[611,21322,21323,21327,21337,21347,21353,21358,21368,21378,21388,21398,21408,21418,21428,21438,21448,21458,21468,21478,21488,21496,21501,21505,21516,21528,21539,21551,21563,21573,21585,21596,21607,21618,21629,21641,21653,21664,21676,21686,21690,21694,21704,21715,21725,21737,21749,21760,21770,21780,21791,21801,21811,21821,21832,21843,21853,21864,21873,21878],{"__ignoreMap":14},[6995,21324,21325],{"class":244,"line":6997},[6995,21326,7001],{"class":7000},[6995,21328,21329,21331,21333,21335],{"class":244,"line":15},[6995,21330,7007],{"class":7006},[6995,21332,5102],{"class":7000},[6995,21334,7013],{"class":7012},[6995,21336,7016],{"class":7000},[6995,21338,21339,21341,21343,21345],{"class":244,"line":154},[6995,21340,7021],{"class":7006},[6995,21342,7024],{"class":7000},[6995,21344,18961],{"class":7006},[6995,21346,7030],{"class":7000},[6995,21348,21349,21351],{"class":244,"line":7033},[6995,21350,7732],{"class":7006},[6995,21352,7532],{"class":7000},[6995,21354,21355],{"class":244,"line":7044},[6995,21356,21357],{"class":7000},"    [{ \n",[6995,21359,21360,21362,21364,21366],{"class":244,"line":7107},[6995,21361,7229],{"class":7006},[6995,21363,7024],{"class":7000},[6995,21365,7180],{"class":7006},[6995,21367,7030],{"class":7000},[6995,21369,21370,21372,21374,21376],{"class":244,"line":7120},[6995,21371,7743],{"class":7006},[6995,21373,7746],{"class":7000},[6995,21375,20884],{"class":7012},[6995,21377,7030],{"class":7000},[6995,21379,21380,21382,21384,21386],{"class":244,"line":7133},[6995,21381,7588],{"class":7006},[6995,21383,7024],{"class":7000},[6995,21385,19080],{"class":7012},[6995,21387,7030],{"class":7000},[6995,21389,21390,21392,21394,21396],{"class":244,"line":7146},[6995,21391,7554],{"class":7006},[6995,21393,7024],{"class":7000},[6995,21395,7180],{"class":7006},[6995,21397,7030],{"class":7000},[6995,21399,21400,21402,21404,21406],{"class":244,"line":7159},[6995,21401,20983],{"class":7006},[6995,21403,7024],{"class":7000},[6995,21405,20988],{"class":7012},[6995,21407,7030],{"class":7000},[6995,21409,21410,21412,21414,21416],{"class":244,"line":7172},[6995,21411,20995],{"class":7006},[6995,21413,7024],{"class":7000},[6995,21415,7570],{"class":7012},[6995,21417,7030],{"class":7000},[6995,21419,21420,21422,21424,21426],{"class":244,"line":7185},[6995,21421,21006],{"class":7006},[6995,21423,7024],{"class":7000},[6995,21425,21011],{"class":7012},[6995,21427,7030],{"class":7000},[6995,21429,21430,21432,21434,21436],{"class":244,"line":7198},[6995,21431,21018],{"class":7006},[6995,21433,7024],{"class":7000},[6995,21435,8439],{"class":7006},[6995,21437,7030],{"class":7000},[6995,21439,21440,21442,21444,21446],{"class":244,"line":7211},[6995,21441,21029],{"class":7006},[6995,21443,7746],{"class":7000},[6995,21445,21034],{"class":7012},[6995,21447,7030],{"class":7000},[6995,21449,21450,21452,21454,21456],{"class":244,"line":7220},[6995,21451,21064],{"class":7006},[6995,21453,7746],{"class":7000},[6995,21455,21069],{"class":7012},[6995,21457,7030],{"class":7000},[6995,21459,21460,21462,21464,21466],{"class":244,"line":7226},[6995,21461,7542],{"class":7006},[6995,21463,7024],{"class":7000},[6995,21465,7547],{"class":7006},[6995,21467,7030],{"class":7000},[6995,21469,21470,21472,21474,21476],{"class":244,"line":7238},[6995,21471,19087],{"class":7006},[6995,21473,7746],{"class":7000},[6995,21475,21090],{"class":7006},[6995,21477,7030],{"class":7000},[6995,21479,21480,21482,21484,21486],{"class":244,"line":7250},[6995,21481,21097],{"class":7006},[6995,21483,7746],{"class":7000},[6995,21485,11094],{"class":7006},[6995,21487,7030],{"class":7000},[6995,21489,21490,21492,21494],{"class":244,"line":7263},[6995,21491,21131],{"class":7006},[6995,21493,7024],{"class":7000},[6995,21495,21136],{"class":7012},[6995,21497,21498],{"class":244,"line":7275},[6995,21499,21500],{"class":7000},"    },\n",[6995,21502,21503],{"class":244,"line":7288},[6995,21504,7537],{"class":7000},[6995,21506,21507,21510,21512,21514],{"class":244,"line":7300},[6995,21508,21509],{"class":7006},"      \"asset_id\"",[6995,21511,7024],{"class":7000},[6995,21513,6679],{"class":7006},[6995,21515,7030],{"class":7000},[6995,21517,21518,21521,21523,21526],{"class":244,"line":7313},[6995,21519,21520],{"class":7006},"      \"asset_meta\"",[6995,21522,7024],{"class":7000},[6995,21524,21525],{"class":7012},"\"STD:N=Coin;SN=CN;UN=Cgro;NTHUN=Cgroth\"",[6995,21527,7030],{"class":7000},[6995,21529,21530,21533,21535,21537],{"class":244,"line":7325},[6995,21531,21532],{"class":7006},"      \"comment\"",[6995,21534,7024],{"class":7000},[6995,21536,19080],{"class":7012},[6995,21538,7030],{"class":7000},[6995,21540,21541,21544,21546,21549],{"class":244,"line":7336},[6995,21542,21543],{"class":7006},"      \"confirmations\"",[6995,21545,7024],{"class":7000},[6995,21547,21548],{"class":7006},"102",[6995,21550,7030],{"class":7000},[6995,21552,21553,21556,21558,21561],{"class":244,"line":7342},[6995,21554,21555],{"class":7006},"      \"create_time\"",[6995,21557,7024],{"class":7000},[6995,21559,21560],{"class":7006},"1586995332",[6995,21562,7030],{"class":7000},[6995,21564,21565,21567,21569,21571],{"class":244,"line":7347},[6995,21566,12652],{"class":7006},[6995,21568,7024],{"class":7000},[6995,21570,7180],{"class":7006},[6995,21572,7030],{"class":7000},[6995,21574,21575,21578,21580,21583],{"class":244,"line":7363},[6995,21576,21577],{"class":7006},"      \"height\"",[6995,21579,7024],{"class":7000},[6995,21581,21582],{"class":7006},"1908",[6995,21584,7030],{"class":7000},[6995,21586,21587,21590,21592,21594],{"class":244,"line":7375},[6995,21588,21589],{"class":7006},"      \"income\"",[6995,21591,7024],{"class":7000},[6995,21593,11094],{"class":7006},[6995,21595,7030],{"class":7000},[6995,21597,21598,21601,21603,21605],{"class":244,"line":7387},[6995,21599,21600],{"class":7006},"      \"receiver\"",[6995,21602,7024],{"class":7000},[6995,21604,7405],{"class":7012},[6995,21606,7030],{"class":7000},[6995,21608,21609,21612,21614,21616],{"class":244,"line":7398},[6995,21610,21611],{"class":7006},"      \"sender\"",[6995,21613,7024],{"class":7000},[6995,21615,7405],{"class":7012},[6995,21617,7030],{"class":7000},[6995,21619,21620,21623,21625,21627],{"class":244,"line":7410},[6995,21621,21622],{"class":7006},"      \"status\"",[6995,21624,7024],{"class":7000},[6995,21626,11136],{"class":7006},[6995,21628,7030],{"class":7000},[6995,21630,21631,21634,21636,21639],{"class":244,"line":7421},[6995,21632,21633],{"class":7006},"      \"status_string\"",[6995,21635,7024],{"class":7000},[6995,21637,21638],{"class":7012},"\"asset confirmed\"",[6995,21640,7030],{"class":7000},[6995,21642,21643,21646,21648,21651],{"class":244,"line":7432},[6995,21644,21645],{"class":7006},"      \"txId\"",[6995,21647,7024],{"class":7000},[6995,21649,21650],{"class":7012},"\"d9f94306127a4ef894733f984b5512cf\"",[6995,21652,7030],{"class":7000},[6995,21654,21655,21658,21660,21662],{"class":244,"line":7443},[6995,21656,21657],{"class":7006},"      \"tx_type\"",[6995,21659,7024],{"class":7000},[6995,21661,7027],{"class":7006},[6995,21663,7030],{"class":7000},[6995,21665,21666,21669,21671,21674],{"class":244,"line":7452},[6995,21667,21668],{"class":7006},"      \"tx_type_string\"",[6995,21670,7024],{"class":7000},[6995,21672,21673],{"class":7012},"\"asset info\"",[6995,21675,7030],{"class":7000},[6995,21677,21678,21681,21683],{"class":244,"line":7458},[6995,21679,21680],{"class":7006},"      \"value\"",[6995,21682,7024],{"class":7000},[6995,21684,21685],{"class":7006},"0\n",[6995,21687,21688],{"class":244,"line":7464},[6995,21689,21500],{"class":7000},[6995,21691,21692],{"class":244,"line":7470},[6995,21693,7537],{"class":7000},[6995,21695,21696,21698,21700,21702],{"class":244,"line":13197},[6995,21697,7229],{"class":7006},[6995,21699,7024],{"class":7000},[6995,21701,6679],{"class":7006},[6995,21703,7030],{"class":7000},[6995,21705,21706,21709,21711,21713],{"class":244,"line":13202},[6995,21707,21708],{"class":7006},"        \"asset_meta\"",[6995,21710,7024],{"class":7000},[6995,21712,21525],{"class":7012},[6995,21714,7030],{"class":7000},[6995,21716,21717,21719,21721,21723],{"class":244,"line":13214},[6995,21718,7588],{"class":7006},[6995,21720,7024],{"class":7000},[6995,21722,19080],{"class":7012},[6995,21724,7030],{"class":7000},[6995,21726,21727,21730,21732,21735],{"class":244,"line":13225},[6995,21728,21729],{"class":7006},"        \"confirmations\"",[6995,21731,7024],{"class":7000},[6995,21733,21734],{"class":7006},"1985",[6995,21736,7030],{"class":7000},[6995,21738,21739,21742,21744,21747],{"class":244,"line":13237},[6995,21740,21741],{"class":7006},"        \"height\"",[6995,21743,7024],{"class":7000},[6995,21745,21746],{"class":7006},"25",[6995,21748,7030],{"class":7000},[6995,21750,21751,21753,21755,21758],{"class":244,"line":13248},[6995,21752,19087],{"class":7006},[6995,21754,7024],{"class":7000},[6995,21756,21757],{"class":7006},"1586966478",[6995,21759,7030],{"class":7000},[6995,21761,21762,21764,21766,21768],{"class":244,"line":13258},[6995,21763,7554],{"class":7006},[6995,21765,7024],{"class":7000},[6995,21767,10984],{"class":7006},[6995,21769,7030],{"class":7000},[6995,21771,21772,21774,21776,21778],{"class":244,"line":13263},[6995,21773,21097],{"class":7006},[6995,21775,7024],{"class":7000},[6995,21777,11094],{"class":7006},[6995,21779,7030],{"class":7000},[6995,21781,21782,21784,21786,21789],{"class":244,"line":13268},[6995,21783,20983],{"class":7006},[6995,21785,7024],{"class":7000},[6995,21787,21788],{"class":7012},"\"1c9e4a9a61df1dda00db10ab4477f88355e13d4ed06c0db36c39b22a2a66f642\"",[6995,21790,7030],{"class":7000},[6995,21792,21793,21795,21797,21799],{"class":244,"line":13275},[6995,21794,20995],{"class":7006},[6995,21796,7024],{"class":7000},[6995,21798,7405],{"class":7012},[6995,21800,7030],{"class":7000},[6995,21802,21803,21805,21807,21809],{"class":244,"line":13280},[6995,21804,21006],{"class":7006},[6995,21806,7024],{"class":7000},[6995,21808,7405],{"class":7012},[6995,21810,7030],{"class":7000},[6995,21812,21813,21815,21817,21819],{"class":244,"line":13291},[6995,21814,21018],{"class":7006},[6995,21816,7024],{"class":7000},[6995,21818,11136],{"class":7006},[6995,21820,7030],{"class":7000},[6995,21822,21823,21825,21827,21830],{"class":244,"line":13303},[6995,21824,21029],{"class":7006},[6995,21826,7024],{"class":7000},[6995,21828,21829],{"class":7012},"\"asset issued\"",[6995,21831,7030],{"class":7000},[6995,21833,21834,21836,21838,21841],{"class":244,"line":13314},[6995,21835,7743],{"class":7006},[6995,21837,7024],{"class":7000},[6995,21839,21840],{"class":7012},"\"77008a76aa4b4da697587040b2d21f1e\"",[6995,21842,7030],{"class":7000},[6995,21844,21845,21847,21849,21851],{"class":244,"line":13324},[6995,21846,21041],{"class":7006},[6995,21848,7024],{"class":7000},[6995,21850,7511],{"class":7006},[6995,21852,7030],{"class":7000},[6995,21854,21855,21857,21859,21862],{"class":244,"line":13329},[6995,21856,21052],{"class":7006},[6995,21858,7024],{"class":7000},[6995,21860,21861],{"class":7012},"\"asset issue\"",[6995,21863,7030],{"class":7000},[6995,21865,21866,21868,21870],{"class":244,"line":13334},[6995,21867,7542],{"class":7006},[6995,21869,7024],{"class":7000},[6995,21871,21872],{"class":7006},"500000000\n",[6995,21874,21875],{"class":244,"line":13346},[6995,21876,21877],{"class":7000},"    }]\n",[6995,21879,21880],{"class":244,"line":13357},[6995,21881,7047],{"class":7000},[852,21883,21884,21890,21898,21903,21912,21921,21926,21932,21938,21943,21948],{},[59,21885,21886,21889],{},[611,21887,21888],{},"token"," retuned only in case if the transaction was started with a token.",[59,21891,21892,1475,21894,21897],{},[611,21893,12542],{},[611,21895,21896],{},"confirmations"," will be absent if the transaction isn't in the chain for simple, asset issue & asset consume transactions, or if asset confirmation is not received for asset info transaction.",[59,21899,21900,21902],{},[611,21901,21896],{}," the number of blocks which confirm the presence of the transaction.",[59,21904,21905,1475,21908,21911],{},[611,21906,21907],{},"sender_identity",[611,21909,21910],{},"receiver_identity"," are present if both participants provided these.",[59,21913,21914,21917,21918,21920],{},[611,21915,21916],{},"status_string"," is a string representation of ",[611,21919,12388],{}," parameter.",[59,21922,21923,21925],{},[611,21924,20130],{}," is an asset metadata string. Present from v5.0.",[59,21927,21928,21931],{},[611,21929,21930],{},"tx_type"," is present starting from v5.0.",[59,21933,21934,21937],{},[611,21935,21936],{},"tx_type_string"," is a string representation of tx_type parameter. Present starting from v5.0.",[59,21939,21940,21942],{},[611,21941,6869],{}," is returned starting from v5.0. For BEAM transactions it is always 0, for transactions that involve assets (including send\u002Freceive) it is an asset id. Can be 0 for asset info transaction if the transaction was started with asset_meta and the asset has been not found.",[59,21944,21945,21947],{},[611,21946,20130],{}," is an asset metadata string. Returned starting from v5.0. Always present for asset issue &  consume transactions. Can be empty for asset info transaction if it was started with asset_id and the asset has been not found.",[59,21949,21950,21952],{},[611,21951,12547],{}," is not returned for asset info transactions. These transactions do not have any kernel and only query node for information.",[48,21954,21956],{"id":21955},"important-the-recommended-number-of-confirmations-for-beam-transfers-is-80-blocks","IMPORTANT: The recommended number of confirmations for Beam transfers is 80 blocks.",[48,21958,21960],{"id":21959},"tx-statuses","TX statuses",[852,21962,21963,21970,21986,21993,22013,22023],{},[59,21964,21965,21966,21969],{},"pending (0)     - ",[611,21967,21968],{},"pending"," initial state, the transaction is created, but not sent yet",[59,21971,21972,21973,10670,21976,10670,21979,10670,21982,21985],{},"in progress (1) - ",[611,21974,21975],{},"self sending",[611,21977,21978],{},"waiting for sender",[611,21980,21981],{},"waiting for receiver",[611,21983,21984],{},"in progress",". For simple transactions indicates that the sender or receiver should come online to initiate the transaction. For asset issue\u002Fconsume\u002Finfo transactions indicates that transaction is being assembled. For asset info transaction means waiting for node response.",[59,21987,21988,21989,21992],{},"canceled (2)    - ",[611,21990,21991],{},"cancelled"," by sender or due to rollback",[59,21994,21995,21996,10670,21999,10670,22001,10670,22004,10670,22007,10670,22010],{},"completed (3)   - transaction is ",[611,21997,21998],{},"completed",[611,22000,6768],{},[611,22002,22003],{},"sent",[611,22005,22006],{},"asset issued",[611,22008,22009],{},"asset consumed",[611,22011,22012],{},"asset confirmed",[59,22014,22015,22016,22019,22020],{},"failed (4)      - ",[611,22017,22018],{},"failed"," for some reason or ",[611,22021,22022],{},"expired",[59,22024,22025,22026,10670,22028,10670,22031,10670,22034,22036],{},"registering (5) - ",[611,22027,21975],{},[611,22029,22030],{},"receiving",[611,22032,22033],{},"sending",[611,22035,21984],{}," transaction is taken care by the blockchain, miners needs to PoW and to add it to a block, then block should be added to the blockchain.",[48,22038,22040],{"id":22039},"tx-types","TX types",[852,22042,22043,22046,22049,22052,22055,22058,22061,22064,22067],{},[59,22044,22045],{},"simple (0) - simple transaction, send\u002Freceive BEAM or asset",[59,22047,22048],{},"reserved (1) - currently not returned",[59,22050,22051],{},"asset issue (2) - issue new asset units",[59,22053,22054],{},"asset consume (3) - consume asset units",[59,22056,22057],{},"reserved (4) - currently not returned",[59,22059,22060],{},"reserved (5) - currently not returned",[59,22062,22063],{},"asset info (6) - asset info transaction, receive full asset information from blockchain",[59,22065,22066],{},"push transaction (7) - lelantus push transaction, is used for offline\u002Fmax privacy payments",[59,22068,22069],{},"contract (12) - starting with v6.0, transaction created by contract request, or to fund or execute node-base contract invocation",[34,22071,22072,22075],{},[37,22073,22074],{},"N.B."," tx_list does not return swap, asset register & asset unregister transactions. Transactions are sorted by height in a descending order.",[41,22077,6900],{"id":6900},[34,22079,22080],{},"Get current wallet status.",[34,22082,22083],{},[611,22084,6986],{},[616,22086,22087],{"className":6989,"code":6990,"language":6991,"meta":14,"style":14},[611,22088,22089,22093,22103,22113,22121],{"__ignoreMap":14},[6995,22090,22091],{"class":244,"line":6997},[6995,22092,7001],{"class":7000},[6995,22094,22095,22097,22099,22101],{"class":244,"line":15},[6995,22096,7007],{"class":7006},[6995,22098,5102],{"class":7000},[6995,22100,7013],{"class":7012},[6995,22102,7016],{"class":7000},[6995,22104,22105,22107,22109,22111],{"class":244,"line":154},[6995,22106,7021],{"class":7006},[6995,22108,7024],{"class":7000},[6995,22110,7027],{"class":7006},[6995,22112,7030],{"class":7000},[6995,22114,22115,22117,22119],{"class":244,"line":7033},[6995,22116,7036],{"class":7006},[6995,22118,5102],{"class":7000},[6995,22120,7041],{"class":7012},[6995,22122,22123],{"class":244,"line":7044},[6995,22124,7047],{"class":7000},[34,22126,22127],{},[611,22128,7052],{},[616,22130,22132],{"className":6989,"code":22131,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"result\":\n    {\n        \"current_height\" : 1055,\n        \"current_state_hash\" : \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n        \"prev_state_hash\" : \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\",\n        \"available\": 100500,\n        \"receiving\": 123,\n        \"sending\": 0,\n        \"maturing\": 50,\n        \"locked\": 30,\n        \"difficulty\": 2.93914,\n    }\n}\n",[611,22133,22134,22138,22148,22158,22164,22168,22179,22190,22202,22213,22223,22233,22244,22255,22267,22271],{"__ignoreMap":14},[6995,22135,22136],{"class":244,"line":6997},[6995,22137,7001],{"class":7000},[6995,22139,22140,22142,22144,22146],{"class":244,"line":15},[6995,22141,7007],{"class":7006},[6995,22143,5102],{"class":7000},[6995,22145,7013],{"class":7012},[6995,22147,7016],{"class":7000},[6995,22149,22150,22152,22154,22156],{"class":244,"line":154},[6995,22151,7021],{"class":7006},[6995,22153,7024],{"class":7000},[6995,22155,7027],{"class":7006},[6995,22157,7030],{"class":7000},[6995,22159,22160,22162],{"class":244,"line":7033},[6995,22161,7732],{"class":7006},[6995,22163,7532],{"class":7000},[6995,22165,22166],{"class":244,"line":7044},[6995,22167,7537],{"class":7000},[6995,22169,22170,22173,22175,22177],{"class":244,"line":7107},[6995,22171,22172],{"class":7006},"        \"current_height\"",[6995,22174,7746],{"class":7000},[6995,22176,21236],{"class":7006},[6995,22178,7030],{"class":7000},[6995,22180,22181,22184,22186,22188],{"class":244,"line":7120},[6995,22182,22183],{"class":7006},"        \"current_state_hash\"",[6995,22185,7746],{"class":7000},[6995,22187,21011],{"class":7012},[6995,22189,7030],{"class":7000},[6995,22191,22192,22195,22197,22200],{"class":244,"line":7133},[6995,22193,22194],{"class":7006},"        \"prev_state_hash\"",[6995,22196,7746],{"class":7000},[6995,22198,22199],{"class":7012},"\"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\"",[6995,22201,7030],{"class":7000},[6995,22203,22204,22206,22208,22211],{"class":244,"line":7146},[6995,22205,7241],{"class":7006},[6995,22207,7024],{"class":7000},[6995,22209,22210],{"class":7006},"100500",[6995,22212,7030],{"class":7000},[6995,22214,22215,22217,22219,22221],{"class":244,"line":7159},[6995,22216,7291],{"class":7006},[6995,22218,7024],{"class":7000},[6995,22220,7167],{"class":7006},[6995,22222,7030],{"class":7000},[6995,22224,22225,22227,22229,22231],{"class":244,"line":7172},[6995,22226,7316],{"class":7006},[6995,22228,7024],{"class":7000},[6995,22230,7180],{"class":7006},[6995,22232,7030],{"class":7000},[6995,22234,22235,22237,22239,22242],{"class":244,"line":7185},[6995,22236,7266],{"class":7006},[6995,22238,7024],{"class":7000},[6995,22240,22241],{"class":7006},"50",[6995,22243,7030],{"class":7000},[6995,22245,22246,22249,22251,22253],{"class":244,"line":7198},[6995,22247,22248],{"class":7006},"        \"locked\"",[6995,22250,7024],{"class":7000},[6995,22252,7206],{"class":7006},[6995,22254,7030],{"class":7000},[6995,22256,22257,22260,22262,22265],{"class":244,"line":7211},[6995,22258,22259],{"class":7006},"        \"difficulty\"",[6995,22261,7024],{"class":7000},[6995,22263,22264],{"class":7006},"2.93914",[6995,22266,7030],{"class":7000},[6995,22268,22269],{"class":244,"line":7220},[6995,22270,7615],{"class":7000},[6995,22272,22273],{"class":244,"line":7226},[6995,22274,7047],{"class":7000},[852,22276,22277,22282,22288,22293,22299],{},[59,22278,22279,22281],{},[611,22280,18147],{}," sum of available UTXOs you can spend",[59,22283,22284,22287],{},[611,22285,22286],{},"sending\u002Freceiving"," sum of UTXOs currently sending\u002Freceiving",[59,22289,22290,22292],{},[611,22291,18150],{}," sum of UTXOs currently maturing",[59,22294,22295,22298],{},[611,22296,22297],{},"locked"," not used at the moment, ignore",[59,22300,22301,22303],{},[611,22302,16328],{}," the latest blockchain PoW difficulty",[34,22305,22306,22307,2344],{},"Starting from v5.0 assets support has been added. This slightly changes API response: totals array is added which provides amounts for each assets including BEAM (asset id 0). To get the totals array assets should be enabled (",[611,22308,4979],{},[34,22310,22311],{},[611,22312,6986],{},[616,22314,22315],{"className":6989,"code":6990,"language":6991,"meta":14,"style":14},[611,22316,22317,22321,22331,22341,22349],{"__ignoreMap":14},[6995,22318,22319],{"class":244,"line":6997},[6995,22320,7001],{"class":7000},[6995,22322,22323,22325,22327,22329],{"class":244,"line":15},[6995,22324,7007],{"class":7006},[6995,22326,5102],{"class":7000},[6995,22328,7013],{"class":7012},[6995,22330,7016],{"class":7000},[6995,22332,22333,22335,22337,22339],{"class":244,"line":154},[6995,22334,7021],{"class":7006},[6995,22336,7024],{"class":7000},[6995,22338,7027],{"class":7006},[6995,22340,7030],{"class":7000},[6995,22342,22343,22345,22347],{"class":244,"line":7033},[6995,22344,7036],{"class":7006},[6995,22346,5102],{"class":7000},[6995,22348,7041],{"class":7012},[6995,22350,22351],{"class":244,"line":7044},[6995,22352,7047],{"class":7000},[34,22354,22355],{},[611,22356,7052],{},[616,22358,22360],{"className":6989,"code":22359,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\" : 1055,\n    \"current_state_hash\" : \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n    \"prev_state_hash\" : \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\",\n    \"available\": 100500,\n    \"receiving\": 123,\n    \"sending\": 0,\n    \"maturing\": 50,\n    \"difficulty\": 2.93914,\n    \"totals\": [\n      {\n        \"asset_id\": 0,\n        \"available\": 100500,\n        \"available_str\": \"100500\",\n        \"maturing\": 50,\n        \"maturing_str\": \"50\",\n        \"receiving\": 123,\n        \"receiving_str\": \"123\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      },\n      {\n        \"asset_id\": 1,\n        \"available\": 2000000000,\n        \"available_str\": \"2000000000\",\n        \"maturing\": 0,\n        \"maturing_str\": \"0\",\n        \"receiving\": 0,\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      }\n    ]\n  }\n}\n",[611,22361,22362,22366,22376,22386,22392,22402,22412,22422,22432,22442,22452,22462,22472,22478,22482,22492,22502,22513,22523,22534,22544,22554,22564,22572,22576,22580,22590,22600,22610,22620,22630,22640,22650,22660,22668,22672,22676,22680],{"__ignoreMap":14},[6995,22363,22364],{"class":244,"line":6997},[6995,22365,7001],{"class":7000},[6995,22367,22368,22370,22372,22374],{"class":244,"line":15},[6995,22369,7066],{"class":7006},[6995,22371,7024],{"class":7000},[6995,22373,7071],{"class":7006},[6995,22375,7030],{"class":7000},[6995,22377,22378,22380,22382,22384],{"class":244,"line":154},[6995,22379,7078],{"class":7006},[6995,22381,7024],{"class":7000},[6995,22383,7013],{"class":7012},[6995,22385,7030],{"class":7000},[6995,22387,22388,22390],{"class":244,"line":7033},[6995,22389,7089],{"class":7006},[6995,22391,7092],{"class":7000},[6995,22393,22394,22396,22398,22400],{"class":244,"line":7044},[6995,22395,7097],{"class":7006},[6995,22397,7746],{"class":7000},[6995,22399,21236],{"class":7006},[6995,22401,7030],{"class":7000},[6995,22403,22404,22406,22408,22410],{"class":244,"line":7107},[6995,22405,7110],{"class":7006},[6995,22407,7746],{"class":7000},[6995,22409,21011],{"class":7012},[6995,22411,7030],{"class":7000},[6995,22413,22414,22416,22418,22420],{"class":244,"line":7120},[6995,22415,7136],{"class":7006},[6995,22417,7746],{"class":7000},[6995,22419,22199],{"class":7012},[6995,22421,7030],{"class":7000},[6995,22423,22424,22426,22428,22430],{"class":244,"line":7133},[6995,22425,7149],{"class":7006},[6995,22427,7024],{"class":7000},[6995,22429,22210],{"class":7006},[6995,22431,7030],{"class":7000},[6995,22433,22434,22436,22438,22440],{"class":244,"line":7146},[6995,22435,7162],{"class":7006},[6995,22437,7024],{"class":7000},[6995,22439,7167],{"class":7006},[6995,22441,7030],{"class":7000},[6995,22443,22444,22446,22448,22450],{"class":244,"line":7159},[6995,22445,7175],{"class":7006},[6995,22447,7024],{"class":7000},[6995,22449,7180],{"class":7006},[6995,22451,7030],{"class":7000},[6995,22453,22454,22456,22458,22460],{"class":244,"line":7172},[6995,22455,7188],{"class":7006},[6995,22457,7024],{"class":7000},[6995,22459,22241],{"class":7006},[6995,22461,7030],{"class":7000},[6995,22463,22464,22466,22468,22470],{"class":244,"line":7185},[6995,22465,7123],{"class":7006},[6995,22467,7024],{"class":7000},[6995,22469,22264],{"class":7006},[6995,22471,7030],{"class":7000},[6995,22473,22474,22476],{"class":244,"line":7198},[6995,22475,7214],{"class":7006},[6995,22477,7217],{"class":7000},[6995,22479,22480],{"class":244,"line":7211},[6995,22481,7223],{"class":7000},[6995,22483,22484,22486,22488,22490],{"class":244,"line":7220},[6995,22485,7229],{"class":7006},[6995,22487,7024],{"class":7000},[6995,22489,7180],{"class":7006},[6995,22491,7030],{"class":7000},[6995,22493,22494,22496,22498,22500],{"class":244,"line":7226},[6995,22495,7241],{"class":7006},[6995,22497,7024],{"class":7000},[6995,22499,22210],{"class":7006},[6995,22501,7030],{"class":7000},[6995,22503,22504,22506,22508,22511],{"class":244,"line":7238},[6995,22505,7253],{"class":7006},[6995,22507,7024],{"class":7000},[6995,22509,22510],{"class":7012},"\"100500\"",[6995,22512,7030],{"class":7000},[6995,22514,22515,22517,22519,22521],{"class":244,"line":7250},[6995,22516,7266],{"class":7006},[6995,22518,7024],{"class":7000},[6995,22520,22241],{"class":7006},[6995,22522,7030],{"class":7000},[6995,22524,22525,22527,22529,22532],{"class":244,"line":7263},[6995,22526,7278],{"class":7006},[6995,22528,7024],{"class":7000},[6995,22530,22531],{"class":7012},"\"50\"",[6995,22533,7030],{"class":7000},[6995,22535,22536,22538,22540,22542],{"class":244,"line":7275},[6995,22537,7291],{"class":7006},[6995,22539,7024],{"class":7000},[6995,22541,7167],{"class":7006},[6995,22543,7030],{"class":7000},[6995,22545,22546,22548,22550,22552],{"class":244,"line":7288},[6995,22547,7303],{"class":7006},[6995,22549,7024],{"class":7000},[6995,22551,7308],{"class":7012},[6995,22553,7030],{"class":7000},[6995,22555,22556,22558,22560,22562],{"class":244,"line":7300},[6995,22557,7316],{"class":7006},[6995,22559,7024],{"class":7000},[6995,22561,7180],{"class":7006},[6995,22563,7030],{"class":7000},[6995,22565,22566,22568,22570],{"class":244,"line":7313},[6995,22567,7328],{"class":7006},[6995,22569,7024],{"class":7000},[6995,22571,7333],{"class":7012},[6995,22573,22574],{"class":244,"line":7325},[6995,22575,7339],{"class":7000},[6995,22577,22578],{"class":244,"line":7336},[6995,22579,7223],{"class":7000},[6995,22581,22582,22584,22586,22588],{"class":244,"line":7342},[6995,22583,7229],{"class":7006},[6995,22585,7024],{"class":7000},[6995,22587,6679],{"class":7006},[6995,22589,7030],{"class":7000},[6995,22591,22592,22594,22596,22598],{"class":244,"line":7347},[6995,22593,7241],{"class":7006},[6995,22595,7024],{"class":7000},[6995,22597,7370],{"class":7006},[6995,22599,7030],{"class":7000},[6995,22601,22602,22604,22606,22608],{"class":244,"line":7363},[6995,22603,7253],{"class":7006},[6995,22605,7024],{"class":7000},[6995,22607,7382],{"class":7012},[6995,22609,7030],{"class":7000},[6995,22611,22612,22614,22616,22618],{"class":244,"line":7375},[6995,22613,7266],{"class":7006},[6995,22615,7024],{"class":7000},[6995,22617,7180],{"class":7006},[6995,22619,7030],{"class":7000},[6995,22621,22622,22624,22626,22628],{"class":244,"line":7387},[6995,22623,7278],{"class":7006},[6995,22625,7024],{"class":7000},[6995,22627,7405],{"class":7012},[6995,22629,7030],{"class":7000},[6995,22631,22632,22634,22636,22638],{"class":244,"line":7398},[6995,22633,7291],{"class":7006},[6995,22635,7024],{"class":7000},[6995,22637,7180],{"class":7006},[6995,22639,7030],{"class":7000},[6995,22641,22642,22644,22646,22648],{"class":244,"line":7410},[6995,22643,7303],{"class":7006},[6995,22645,7024],{"class":7000},[6995,22647,7405],{"class":7012},[6995,22649,7030],{"class":7000},[6995,22651,22652,22654,22656,22658],{"class":244,"line":7421},[6995,22653,7316],{"class":7006},[6995,22655,7024],{"class":7000},[6995,22657,7180],{"class":7006},[6995,22659,7030],{"class":7000},[6995,22661,22662,22664,22666],{"class":244,"line":7432},[6995,22663,7328],{"class":7006},[6995,22665,7024],{"class":7000},[6995,22667,7333],{"class":7012},[6995,22669,22670],{"class":244,"line":7443},[6995,22671,7455],{"class":7000},[6995,22673,22674],{"class":244,"line":7452},[6995,22675,7461],{"class":7000},[6995,22677,22678],{"class":244,"line":7458},[6995,22679,7467],{"class":7000},[6995,22681,22682],{"class":244,"line":7464},[6995,22683,7047],{"class":7000},[852,22685,22686],{},[59,22687,22688,18110,22690],{},[611,22689,18109],{},[852,22691,22692,22694,22696],{},[59,22693,18115],{},[59,22695,18118],{},[59,22697,18121],{},[34,22699,18124,22700,18127,22702,22704],{},[611,22701,18109],{},[611,22703,6869],{}," would be 0 (zero balance).",[34,22706,18141,22707,18144,22709,2231,22711,18151,22713,8016,22715,18156,22717,18159,22719,18163],{},[8009,22708,8011],{},[611,22710,18147],{},[611,22712,18150],{},[611,22714,8015],{},[8009,22716,8019],{},[611,22718,8015],{},[611,22720,18162],{},[48,22722,22724],{"id":22723},"wallet_status-dapps","wallet_status & DApps",[34,22726,22727,22728,2231,22730,22732],{},"If method is called from DApp balances (",[611,22729,18109],{},[611,22731,18147],{}," &c) are not returned due to privacy reason. DApps are not allowed to get user's balances.",[41,22734,18014],{"id":18014},[34,22736,22737],{},"Get list of all unlocked UTXOs.",[34,22739,22740],{},[611,22741,6986],{},[616,22743,22745],{"className":6989,"code":22744,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"method\":\"get_utxo\",\n    \"params\" :\n    {\n        \"count\": 10,\n        \"skip\": 0,\n        \"sort\": {\n            \"field\": \"amount\",\n            \"direction\": \"asc\"\n        }\n    }\n}\n",[611,22746,22747,22751,22761,22771,22782,22788,22792,22803,22813,22820,22832,22842,22846,22850],{"__ignoreMap":14},[6995,22748,22749],{"class":244,"line":6997},[6995,22750,7001],{"class":7000},[6995,22752,22753,22755,22757,22759],{"class":244,"line":15},[6995,22754,7007],{"class":7006},[6995,22756,5102],{"class":7000},[6995,22758,7013],{"class":7012},[6995,22760,7016],{"class":7000},[6995,22762,22763,22765,22767,22769],{"class":244,"line":154},[6995,22764,7021],{"class":7006},[6995,22766,7024],{"class":7000},[6995,22768,7027],{"class":7006},[6995,22770,7030],{"class":7000},[6995,22772,22773,22775,22777,22780],{"class":244,"line":7033},[6995,22774,7036],{"class":7006},[6995,22776,5102],{"class":7000},[6995,22778,22779],{"class":7012},"\"get_utxo\"",[6995,22781,7030],{"class":7000},[6995,22783,22784,22786],{"class":244,"line":7044},[6995,22785,7529],{"class":7006},[6995,22787,7811],{"class":7000},[6995,22789,22790],{"class":244,"line":7107},[6995,22791,7537],{"class":7000},[6995,22793,22794,22796,22798,22801],{"class":244,"line":7120},[6995,22795,21259],{"class":7006},[6995,22797,7024],{"class":7000},[6995,22799,22800],{"class":7006},"10",[6995,22802,7030],{"class":7000},[6995,22804,22805,22807,22809,22811],{"class":244,"line":7133},[6995,22806,21248],{"class":7006},[6995,22808,7024],{"class":7000},[6995,22810,7180],{"class":7006},[6995,22812,7030],{"class":7000},[6995,22814,22815,22818],{"class":244,"line":7146},[6995,22816,22817],{"class":7006},"        \"sort\"",[6995,22819,7092],{"class":7000},[6995,22821,22822,22825,22827,22830],{"class":244,"line":7159},[6995,22823,22824],{"class":7006},"            \"field\"",[6995,22826,7024],{"class":7000},[6995,22828,22829],{"class":7012},"\"amount\"",[6995,22831,7030],{"class":7000},[6995,22833,22834,22837,22839],{"class":244,"line":7172},[6995,22835,22836],{"class":7006},"            \"direction\"",[6995,22838,7024],{"class":7000},[6995,22840,22841],{"class":7012},"\"asc\"\n",[6995,22843,22844],{"class":244,"line":7185},[6995,22845,15327],{"class":7000},[6995,22847,22848],{"class":244,"line":7198},[6995,22849,7615],{"class":7000},[6995,22851,22852],{"class":244,"line":7211},[6995,22853,7047],{"class":7000},[852,22855,22856,22861,22868,22874],{},[59,22857,22858,22860],{},[611,22859,12842],{}," number of UTXO to get, by default all the UTXOs are returned.",[59,22862,22863,22865,22866,181],{},[611,22864,21296],{}," number of UTXO to skip, default is ",[611,22867,7180],{},[59,22869,22870,22873],{},[611,22871,22872],{},"sort.field"," name of field to sort. Available values are \"id|asset_id|amount|type|maturity|createTxId|spentTxId|status|status_string\"",[59,22875,22876,22879],{},[611,22877,22878],{},"sort.direction"," sorting directions \"asc\" or \"desc\"",[34,22881,22882],{},[611,22883,7052],{},[616,22885,22887],{"className":6989,"code":22886,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 6,\n    \"result\":\n    [{\n        \"id\": 123,\n        \"asset_id\": 0,\n        \"amount\": 12345,\n        \"maturity\": 60,\n        \"type\": \"mine\",\n        \"createTxId\": \"10c4b760c842433cb58339a0fafef3db\",\n        \"spentTxId\": \"\",\n        \"status\": 2,\n        \"status_string\": \"maturing\"\n    }]\n}\n",[611,22888,22889,22893,22903,22913,22919,22923,22933,22943,22954,22965,22976,22987,22998,23008,23017,23021],{"__ignoreMap":14},[6995,22890,22891],{"class":244,"line":6997},[6995,22892,7001],{"class":7000},[6995,22894,22895,22897,22899,22901],{"class":244,"line":15},[6995,22896,7007],{"class":7006},[6995,22898,7024],{"class":7000},[6995,22900,7013],{"class":7012},[6995,22902,7016],{"class":7000},[6995,22904,22905,22907,22909,22911],{"class":244,"line":154},[6995,22906,7021],{"class":7006},[6995,22908,7024],{"class":7000},[6995,22910,7027],{"class":7006},[6995,22912,7030],{"class":7000},[6995,22914,22915,22917],{"class":244,"line":7033},[6995,22916,7732],{"class":7006},[6995,22918,7532],{"class":7000},[6995,22920,22921],{"class":244,"line":7044},[6995,22922,19059],{"class":7000},[6995,22924,22925,22927,22929,22931],{"class":244,"line":7107},[6995,22926,12965],{"class":7006},[6995,22928,7024],{"class":7000},[6995,22930,7167],{"class":7006},[6995,22932,7030],{"class":7000},[6995,22934,22935,22937,22939,22941],{"class":244,"line":7120},[6995,22936,7229],{"class":7006},[6995,22938,7024],{"class":7000},[6995,22940,7180],{"class":7006},[6995,22942,7030],{"class":7000},[6995,22944,22945,22947,22949,22952],{"class":244,"line":7133},[6995,22946,8467],{"class":7006},[6995,22948,7024],{"class":7000},[6995,22950,22951],{"class":7006},"12345",[6995,22953,7030],{"class":7000},[6995,22955,22956,22958,22960,22963],{"class":244,"line":7146},[6995,22957,13052],{"class":7006},[6995,22959,7024],{"class":7000},[6995,22961,22962],{"class":7006},"60",[6995,22964,7030],{"class":7000},[6995,22966,22967,22969,22971,22974],{"class":244,"line":7159},[6995,22968,11924],{"class":7006},[6995,22970,7024],{"class":7000},[6995,22972,22973],{"class":7012},"\"mine\"",[6995,22975,7030],{"class":7000},[6995,22977,22978,22981,22983,22985],{"class":244,"line":7172},[6995,22979,22980],{"class":7006},"        \"createTxId\"",[6995,22982,7024],{"class":7000},[6995,22984,20884],{"class":7012},[6995,22986,7030],{"class":7000},[6995,22988,22989,22992,22994,22996],{"class":244,"line":7185},[6995,22990,22991],{"class":7006},"        \"spentTxId\"",[6995,22993,7024],{"class":7000},[6995,22995,19080],{"class":7012},[6995,22997,7030],{"class":7000},[6995,22999,23000,23002,23004,23006],{"class":244,"line":7198},[6995,23001,21018],{"class":7006},[6995,23003,7024],{"class":7000},[6995,23005,7511],{"class":7006},[6995,23007,7030],{"class":7000},[6995,23009,23010,23012,23014],{"class":244,"line":7211},[6995,23011,21029],{"class":7006},[6995,23013,7024],{"class":7000},[6995,23015,23016],{"class":7012},"\"maturing\"\n",[6995,23018,23019],{"class":244,"line":7220},[6995,23020,21877],{"class":7000},[6995,23022,23023],{"class":244,"line":7226},[6995,23024,7047],{"class":7000},[852,23026,23027,23034],{},[59,23028,23029,23031,23032,8764],{},[611,23030,6869],{}," asset id if coin belongs to an asset and 0 for BEAM coins. By default method returns only BEAM coins. To get asset coins assets should be enabled (",[611,23033,4979],{},[59,23035,23036,23038],{},[611,23037,21309],{}," return only asset coins with given asset id, 0 for BEAM coins. Present starting from v5.0. Assets should be enabled.",[34,23040,23041],{},[611,23042,6986],{},[616,23044,23046],{"className":6989,"code":23045,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"get_utxo\",\n    \"params\": {\n        \"assets\": true,\n        \"filter\": {\n            \"asset_id\": 1\n        }\n    }\n}\n",[611,23047,23048,23052,23062,23072,23082,23088,23099,23105,23114,23118,23122],{"__ignoreMap":14},[6995,23049,23050],{"class":244,"line":6997},[6995,23051,7001],{"class":7000},[6995,23053,23054,23056,23058,23060],{"class":244,"line":15},[6995,23055,7007],{"class":7006},[6995,23057,7024],{"class":7000},[6995,23059,7013],{"class":7012},[6995,23061,7030],{"class":7000},[6995,23063,23064,23066,23068,23070],{"class":244,"line":154},[6995,23065,7021],{"class":7006},[6995,23067,7024],{"class":7000},[6995,23069,7071],{"class":7006},[6995,23071,7030],{"class":7000},[6995,23073,23074,23076,23078,23080],{"class":244,"line":7033},[6995,23075,7036],{"class":7006},[6995,23077,7024],{"class":7000},[6995,23079,22779],{"class":7012},[6995,23081,7030],{"class":7000},[6995,23083,23084,23086],{"class":244,"line":7044},[6995,23085,7529],{"class":7006},[6995,23087,7092],{"class":7000},[6995,23089,23090,23093,23095,23097],{"class":244,"line":7107},[6995,23091,23092],{"class":7006},"        \"assets\"",[6995,23094,7024],{"class":7000},[6995,23096,8689],{"class":7006},[6995,23098,7030],{"class":7000},[6995,23100,23101,23103],{"class":244,"line":7120},[6995,23102,21209],{"class":7006},[6995,23104,7092],{"class":7000},[6995,23106,23107,23110,23112],{"class":244,"line":7133},[6995,23108,23109],{"class":7006},"            \"asset_id\"",[6995,23111,7024],{"class":7000},[6995,23113,7686],{"class":7006},[6995,23115,23116],{"class":244,"line":7146},[6995,23117,15327],{"class":7000},[6995,23119,23120],{"class":244,"line":7159},[6995,23121,7615],{"class":7000},[6995,23123,23124],{"class":244,"line":7172},[6995,23125,7047],{"class":7000},[34,23127,23128],{},[611,23129,7052],{},[616,23131,23133],{"className":6989,"code":23132,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": [\n    {\n      \"amount\": 500000000,\n      \"asset_id\": 1,\n      \"createTxId\": \"fd705ce6f8c345309c865dc93de9fec5\",\n      \"id\": \"0000000183ed2de4d94e6bd56e6f726d01000000000000001dcd6500\",\n      \"maturity\": 19,\n      \"spentTxId\": \"\",\n      \"status\": 1,\n      \"status_string\": \"available\",\n      \"type\": \"norm\"\n    }\n  ]\n}\n",[611,23134,23135,23139,23149,23159,23165,23169,23181,23191,23203,23214,23225,23236,23246,23257,23267,23271,23276],{"__ignoreMap":14},[6995,23136,23137],{"class":244,"line":6997},[6995,23138,7001],{"class":7000},[6995,23140,23141,23143,23145,23147],{"class":244,"line":15},[6995,23142,7066],{"class":7006},[6995,23144,7024],{"class":7000},[6995,23146,7071],{"class":7006},[6995,23148,7030],{"class":7000},[6995,23150,23151,23153,23155,23157],{"class":244,"line":154},[6995,23152,7078],{"class":7006},[6995,23154,7024],{"class":7000},[6995,23156,7013],{"class":7012},[6995,23158,7030],{"class":7000},[6995,23160,23161,23163],{"class":244,"line":7033},[6995,23162,7089],{"class":7006},[6995,23164,7217],{"class":7000},[6995,23166,23167],{"class":244,"line":7044},[6995,23168,7537],{"class":7000},[6995,23170,23171,23174,23176,23179],{"class":244,"line":7107},[6995,23172,23173],{"class":7006},"      \"amount\"",[6995,23175,7024],{"class":7000},[6995,23177,23178],{"class":7006},"500000000",[6995,23180,7030],{"class":7000},[6995,23182,23183,23185,23187,23189],{"class":244,"line":7120},[6995,23184,21509],{"class":7006},[6995,23186,7024],{"class":7000},[6995,23188,6679],{"class":7006},[6995,23190,7030],{"class":7000},[6995,23192,23193,23196,23198,23201],{"class":244,"line":7133},[6995,23194,23195],{"class":7006},"      \"createTxId\"",[6995,23197,7024],{"class":7000},[6995,23199,23200],{"class":7012},"\"fd705ce6f8c345309c865dc93de9fec5\"",[6995,23202,7030],{"class":7000},[6995,23204,23205,23207,23209,23212],{"class":244,"line":7146},[6995,23206,12663],{"class":7006},[6995,23208,7024],{"class":7000},[6995,23210,23211],{"class":7012},"\"0000000183ed2de4d94e6bd56e6f726d01000000000000001dcd6500\"",[6995,23213,7030],{"class":7000},[6995,23215,23216,23218,23220,23223],{"class":244,"line":7159},[6995,23217,12751],{"class":7006},[6995,23219,7024],{"class":7000},[6995,23221,23222],{"class":7006},"19",[6995,23224,7030],{"class":7000},[6995,23226,23227,23230,23232,23234],{"class":244,"line":7172},[6995,23228,23229],{"class":7006},"      \"spentTxId\"",[6995,23231,7024],{"class":7000},[6995,23233,19080],{"class":7012},[6995,23235,7030],{"class":7000},[6995,23237,23238,23240,23242,23244],{"class":244,"line":7185},[6995,23239,21622],{"class":7006},[6995,23241,7024],{"class":7000},[6995,23243,6679],{"class":7006},[6995,23245,7030],{"class":7000},[6995,23247,23248,23250,23252,23255],{"class":244,"line":7198},[6995,23249,21633],{"class":7006},[6995,23251,7024],{"class":7000},[6995,23253,23254],{"class":7012},"\"available\"",[6995,23256,7030],{"class":7000},[6995,23258,23259,23262,23264],{"class":244,"line":7211},[6995,23260,23261],{"class":7006},"      \"type\"",[6995,23263,7024],{"class":7000},[6995,23265,23266],{"class":7012},"\"norm\"\n",[6995,23268,23269],{"class":244,"line":7220},[6995,23270,7615],{"class":7000},[6995,23272,23273],{"class":244,"line":7226},[6995,23274,23275],{"class":7000},"  ]\n",[6995,23277,23278],{"class":244,"line":7238},[6995,23279,7047],{"class":7000},[852,23281,23282,23307],{},[59,23283,23284,23286,23287,23290,23291,23294,23295,23298,23299,23302,23303,23306],{},[611,23285,11962],{}," can be ",[611,23288,23289],{},"fees"," (comission), ",[611,23292,23293],{},"mine"," (coinbase), ",[611,23296,23297],{},"norm"," (usual coin, for example received via transaction), ",[611,23300,23301],{},"chng"," (change), ",[611,23304,23305],{},"shld"," (shielded)",[59,23308,23309,23286,23311,2231,23314,2231,23317,2231,23320,2231,23323,2231,23326,2231,23329,18637,23332,23335],{},[611,23310,12388],{},[611,23312,23313],{},"unavailable (0)",[611,23315,23316],{},"available (1)",[611,23318,23319],{},"maturing (2)",[611,23321,23322],{},"outgoing (3)",[611,23324,23325],{},"incoming (4)",[611,23327,23328],{},"spent (6)",[611,23330,23331],{},"consumed (7)",[611,23333,23334],{},"consumed"," status is returned only for asset coins starting from v5.0. It means that the coin has been burned (consumed).",[41,23337,6935],{"id":6935},[34,23339,23340,23341,23343],{},"Read asset info from local database. Asset info can be refreshed using ",[175,23342,6930],{"href":8044},". It is also automatically refreshed during asset transactions (but not always) to ensure that asset operations are safe. This method can be called even if assets are not enabled.",[34,23345,23346],{},[611,23347,6986],{},[616,23349,23350],{"className":6989,"code":7767,"language":6991,"meta":14,"style":14},[611,23351,23352,23356,23366,23376,23386,23392,23396,23404,23408],{"__ignoreMap":14},[6995,23353,23354],{"class":244,"line":6997},[6995,23355,7001],{"class":7000},[6995,23357,23358,23360,23362,23364],{"class":244,"line":15},[6995,23359,7007],{"class":7006},[6995,23361,5102],{"class":7000},[6995,23363,7013],{"class":7012},[6995,23365,7016],{"class":7000},[6995,23367,23368,23370,23372,23374],{"class":244,"line":154},[6995,23369,7021],{"class":7006},[6995,23371,7024],{"class":7000},[6995,23373,7027],{"class":7006},[6995,23375,7030],{"class":7000},[6995,23377,23378,23380,23382,23384],{"class":244,"line":7033},[6995,23379,7036],{"class":7006},[6995,23381,7024],{"class":7000},[6995,23383,7802],{"class":7012},[6995,23385,7030],{"class":7000},[6995,23387,23388,23390],{"class":244,"line":7044},[6995,23389,7529],{"class":7006},[6995,23391,7811],{"class":7000},[6995,23393,23394],{"class":244,"line":7107},[6995,23395,7537],{"class":7000},[6995,23397,23398,23400,23402],{"class":244,"line":7120},[6995,23399,7229],{"class":7006},[6995,23401,7024],{"class":7000},[6995,23403,7686],{"class":7006},[6995,23405,23406],{"class":244,"line":7133},[6995,23407,7615],{"class":7000},[6995,23409,23410],{"class":244,"line":7146},[6995,23411,7047],{"class":7000},[852,23413,23414,23418],{},[59,23415,23416,7838],{},[611,23417,6869],{},[59,23419,23420,20314],{},[611,23421,20130],{},[34,23423,23424],{},[611,23425,7052],{},[616,23427,23428],{"className":6989,"code":7845,"language":6991,"meta":14,"style":14},[611,23429,23430,23434,23444,23454,23460,23464,23474,23484,23494,23504,23514,23524,23534,23542,23546],{"__ignoreMap":14},[6995,23431,23432],{"class":244,"line":6997},[6995,23433,7001],{"class":7000},[6995,23435,23436,23438,23440,23442],{"class":244,"line":15},[6995,23437,7021],{"class":7006},[6995,23439,7024],{"class":7000},[6995,23441,7071],{"class":7006},[6995,23443,7030],{"class":7000},[6995,23445,23446,23448,23450,23452],{"class":244,"line":154},[6995,23447,7007],{"class":7006},[6995,23449,7024],{"class":7000},[6995,23451,7013],{"class":7012},[6995,23453,7030],{"class":7000},[6995,23455,23456,23458],{"class":244,"line":7033},[6995,23457,7732],{"class":7006},[6995,23459,7673],{"class":7000},[6995,23461,23462],{"class":244,"line":7044},[6995,23463,7537],{"class":7000},[6995,23465,23466,23468,23470,23472],{"class":244,"line":7107},[6995,23467,7229],{"class":7006},[6995,23469,7024],{"class":7000},[6995,23471,6679],{"class":7006},[6995,23473,7030],{"class":7000},[6995,23475,23476,23478,23480,23482],{"class":244,"line":7120},[6995,23477,7896],{"class":7006},[6995,23479,7024],{"class":7000},[6995,23481,7370],{"class":7006},[6995,23483,7030],{"class":7000},[6995,23485,23486,23488,23490,23492],{"class":244,"line":7133},[6995,23487,7907],{"class":7006},[6995,23489,7024],{"class":7000},[6995,23491,7382],{"class":7012},[6995,23493,7030],{"class":7000},[6995,23495,23496,23498,23500,23502],{"class":244,"line":7146},[6995,23497,7918],{"class":7006},[6995,23499,7024],{"class":7000},[6995,23501,6679],{"class":7006},[6995,23503,7030],{"class":7000},[6995,23505,23506,23508,23510,23512],{"class":244,"line":7159},[6995,23507,7929],{"class":7006},[6995,23509,7024],{"class":7000},[6995,23511,7934],{"class":7006},[6995,23513,7030],{"class":7000},[6995,23515,23516,23518,23520,23522],{"class":244,"line":7172},[6995,23517,7941],{"class":7006},[6995,23519,7024],{"class":7000},[6995,23521,7946],{"class":7012},[6995,23523,7030],{"class":7000},[6995,23525,23526,23528,23530,23532],{"class":244,"line":7185},[6995,23527,7953],{"class":7006},[6995,23529,7024],{"class":7000},[6995,23531,7958],{"class":7012},[6995,23533,7030],{"class":7000},[6995,23535,23536,23538,23540],{"class":244,"line":7198},[6995,23537,7965],{"class":7006},[6995,23539,7024],{"class":7000},[6995,23541,7970],{"class":7006},[6995,23543,23544],{"class":244,"line":7211},[6995,23545,7615],{"class":7000},[6995,23547,23548],{"class":244,"line":7220},[6995,23549,7047],{"class":7000},[34,23551,7981,23552,181],{},[175,23553,7985],{"href":19812},[852,23555,23556,23560,23564,23578,23582,23586],{},[59,23557,23558,7992],{},[611,23559,6869],{},[59,23561,23562,7998],{},[611,23563,7997],{},[59,23565,23566,8003,23568,8007,23570,8012,23572,8016,23574,8020,23576,8023],{},[611,23567,1020],{},[611,23569,8006],{},[8009,23571,8011],{},[611,23573,8015],{},[8009,23575,8019],{},[611,23577,8015],{},[59,23579,23580,8029],{},[611,23581,8028],{},[59,23583,23584,8035],{},[611,23585,8034],{},[59,23587,23588,8041,23590,8045],{},[611,23589,8040],{},[175,23591,6930],{"href":8044},[41,23593,18340],{"id":18340},[34,23595,23596],{},"Generates ID for a transaction.",[34,23598,23599],{},[611,23600,6986],{},[616,23602,23604],{"className":6989,"code":23603,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"method\":\"generate_tx_id\"\n}\n",[611,23605,23606,23610,23620,23630,23639],{"__ignoreMap":14},[6995,23607,23608],{"class":244,"line":6997},[6995,23609,7001],{"class":7000},[6995,23611,23612,23614,23616,23618],{"class":244,"line":15},[6995,23613,7007],{"class":7006},[6995,23615,5102],{"class":7000},[6995,23617,7013],{"class":7012},[6995,23619,7016],{"class":7000},[6995,23621,23622,23624,23626,23628],{"class":244,"line":154},[6995,23623,7021],{"class":7006},[6995,23625,7024],{"class":7000},[6995,23627,7511],{"class":7006},[6995,23629,7030],{"class":7000},[6995,23631,23632,23634,23636],{"class":244,"line":7033},[6995,23633,7036],{"class":7006},[6995,23635,5102],{"class":7000},[6995,23637,23638],{"class":7012},"\"generate_tx_id\"\n",[6995,23640,23641],{"class":244,"line":7044},[6995,23642,7047],{"class":7000},[34,23644,23645],{},[611,23646,7052],{},[616,23648,23650],{"className":6989,"code":23649,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"result\":\"10c4b760c842433cb58339a0fafef3db\"\n}\n",[611,23651,23652,23656,23666,23676,23684],{"__ignoreMap":14},[6995,23653,23654],{"class":244,"line":6997},[6995,23655,7001],{"class":7000},[6995,23657,23658,23660,23662,23664],{"class":244,"line":15},[6995,23659,7007],{"class":7006},[6995,23661,5102],{"class":7000},[6995,23663,7013],{"class":7012},[6995,23665,7016],{"class":7000},[6995,23667,23668,23670,23672,23674],{"class":244,"line":154},[6995,23669,7021],{"class":7006},[6995,23671,7024],{"class":7000},[6995,23673,7511],{"class":7006},[6995,23675,7030],{"class":7000},[6995,23677,23678,23680,23682],{"class":244,"line":7033},[6995,23679,7732],{"class":7006},[6995,23681,5102],{"class":7000},[6995,23683,7749],{"class":7012},[6995,23685,23686],{"class":244,"line":7044},[6995,23687,7047],{"class":7000},[41,23689,18348],{"id":18348},[34,23691,23692,23693,181],{},"Exports payment proof for given ",[611,23694,8158],{},[34,23696,23697],{},[611,23698,6986],{},[616,23700,23702],{"className":6989,"code":23701,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\": \"export_payment_proof\", \n    \"params\":\n    {\n        \"txId\" : \"a13525181c0d45b0a4c5c1a697c8a7b8\"\n    }\n}\n",[611,23703,23704,23708,23718,23728,23739,23745,23749,23757,23761],{"__ignoreMap":14},[6995,23705,23706],{"class":244,"line":6997},[6995,23707,7001],{"class":7000},[6995,23709,23710,23712,23714,23716],{"class":244,"line":15},[6995,23711,7007],{"class":7006},[6995,23713,5102],{"class":7000},[6995,23715,7013],{"class":7012},[6995,23717,7016],{"class":7000},[6995,23719,23720,23722,23724,23726],{"class":244,"line":154},[6995,23721,7021],{"class":7006},[6995,23723,7024],{"class":7000},[6995,23725,8439],{"class":7006},[6995,23727,7030],{"class":7000},[6995,23729,23730,23732,23734,23737],{"class":244,"line":7033},[6995,23731,7036],{"class":7006},[6995,23733,7024],{"class":7000},[6995,23735,23736],{"class":7012},"\"export_payment_proof\"",[6995,23738,7016],{"class":7000},[6995,23740,23741,23743],{"class":244,"line":7044},[6995,23742,7529],{"class":7006},[6995,23744,7532],{"class":7000},[6995,23746,23747],{"class":244,"line":7107},[6995,23748,7537],{"class":7000},[6995,23750,23751,23753,23755],{"class":244,"line":7120},[6995,23752,7743],{"class":7006},[6995,23754,7746],{"class":7000},[6995,23756,20611],{"class":7012},[6995,23758,23759],{"class":244,"line":7133},[6995,23760,7615],{"class":7000},[6995,23762,23763],{"class":244,"line":7146},[6995,23764,7047],{"class":7000},[34,23766,23767],{},[611,23768,7052],{},[616,23770,23772],{"className":6989,"code":23771,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"result\": \n    {\n        \"payment_proof\": \"8009f28991ef543253c8b6a2caf15cf99e23fb9c2b4ca30dc463c8ceb354d7979e80ef7d4255dd5e885200648abe5826d8e0ba0157d3e8cf9c42dcc8258b036986e50400371789ee82afc25ee29c9c57bcb1018b725a3a94c0ceb1fa7984ea13de4982553e0d78d925a362982182a971e654857b8e407e7ad2e9cb72b2b8228812f8ec50435351000c94e2c85996e9527d9b0c90a1843205a7ec8f99fa534083e5f1d055d9f53894\"\n    }\n}\n",[611,23773,23774,23778,23788,23798,23804,23808,23818,23822],{"__ignoreMap":14},[6995,23775,23776],{"class":244,"line":6997},[6995,23777,7001],{"class":7000},[6995,23779,23780,23782,23784,23786],{"class":244,"line":15},[6995,23781,7007],{"class":7006},[6995,23783,5102],{"class":7000},[6995,23785,7013],{"class":7012},[6995,23787,7016],{"class":7000},[6995,23789,23790,23792,23794,23796],{"class":244,"line":154},[6995,23791,7021],{"class":7006},[6995,23793,7024],{"class":7000},[6995,23795,8439],{"class":7006},[6995,23797,7030],{"class":7000},[6995,23799,23800,23802],{"class":244,"line":7033},[6995,23801,7732],{"class":7006},[6995,23803,7673],{"class":7000},[6995,23805,23806],{"class":244,"line":7044},[6995,23807,7537],{"class":7000},[6995,23809,23810,23813,23815],{"class":244,"line":7107},[6995,23811,23812],{"class":7006},"        \"payment_proof\"",[6995,23814,7024],{"class":7000},[6995,23816,23817],{"class":7012},"\"8009f28991ef543253c8b6a2caf15cf99e23fb9c2b4ca30dc463c8ceb354d7979e80ef7d4255dd5e885200648abe5826d8e0ba0157d3e8cf9c42dcc8258b036986e50400371789ee82afc25ee29c9c57bcb1018b725a3a94c0ceb1fa7984ea13de4982553e0d78d925a362982182a971e654857b8e407e7ad2e9cb72b2b8228812f8ec50435351000c94e2c85996e9527d9b0c90a1843205a7ec8f99fa534083e5f1d055d9f53894\"\n",[6995,23819,23820],{"class":244,"line":7120},[6995,23821,7615],{"class":7000},[6995,23823,23824],{"class":244,"line":7133},[6995,23825,7047],{"class":7000},[852,23827,23828],{},[59,23829,23830,23833,23834,23836],{},[611,23831,23832],{},"payment_proof"," is a hex-encoded byte buffer which contains information about sender, receiver, amount and kernel, signed with receiver's private key. This info could be unpacked and verified using ",[175,23835,18356],{"href":18355}," method by the third party. Receiver creates a payment proof in order give receiver an ability to proof that actual payment was made. Sender does not sign transaction if receiver does not provide him this evidence.",[34,23838,23839,23841],{},[37,23840,22074],{}," Payment proofs for asset transaction are supported starting from v5.0. These proofs cannot be verified by earlier clients\u002FAPIs versions. Regular BEAM payment proofs generated by the latest clients\u002FAPIs still would be accepted by earlier versions of clients\u002FAPIs.",[41,23843,18356],{"id":18356},[34,23845,23846,23847,181],{},"Verifies ",[611,23848,23832],{},[34,23850,23851],{},[611,23852,6986],{},[616,23854,23856],{"className":6989,"code":23855,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\":\"verify_payment_proof\", \n    \"params\":\n    {\n        \"payment_proof\" : \"8009f28991ef543253c8b6a2caf15cf99e23fb9c2b4ca30dc463c8ceb354d7979e80ef7d4255dd5e885200648abe5826d8e0ba0157d3e8cf9c42dcc8258b036986e50400371789ee82afc25ee29c9c57bcb1018b725a3a94c0ceb1fa7984ea13de4982553e0d78d925a362982182a971e654857b8e407e7ad2e9cb72b2b8228812f8ec50435351000c94e2c85996e9527d9b0c90a1843205a7ec8f99fa534083e5f1d055d9f53894\"\n    }\n}\n",[611,23857,23858,23862,23872,23882,23893,23899,23903,23911,23915],{"__ignoreMap":14},[6995,23859,23860],{"class":244,"line":6997},[6995,23861,7001],{"class":7000},[6995,23863,23864,23866,23868,23870],{"class":244,"line":15},[6995,23865,7007],{"class":7006},[6995,23867,5102],{"class":7000},[6995,23869,7013],{"class":7012},[6995,23871,7016],{"class":7000},[6995,23873,23874,23876,23878,23880],{"class":244,"line":154},[6995,23875,7021],{"class":7006},[6995,23877,7024],{"class":7000},[6995,23879,8439],{"class":7006},[6995,23881,7030],{"class":7000},[6995,23883,23884,23886,23888,23891],{"class":244,"line":7033},[6995,23885,7036],{"class":7006},[6995,23887,5102],{"class":7000},[6995,23889,23890],{"class":7012},"\"verify_payment_proof\"",[6995,23892,7016],{"class":7000},[6995,23894,23895,23897],{"class":244,"line":7044},[6995,23896,7529],{"class":7006},[6995,23898,7532],{"class":7000},[6995,23900,23901],{"class":244,"line":7107},[6995,23902,7537],{"class":7000},[6995,23904,23905,23907,23909],{"class":244,"line":7120},[6995,23906,23812],{"class":7006},[6995,23908,7746],{"class":7000},[6995,23910,23817],{"class":7012},[6995,23912,23913],{"class":244,"line":7133},[6995,23914,7615],{"class":7000},[6995,23916,23917],{"class":244,"line":7146},[6995,23918,7047],{"class":7000},[34,23920,23921],{},[611,23922,7052],{},[616,23924,23926],{"className":6989,"code":23925,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"result\": \n    {\n        \"is_valid\": true,\n        \"asset_id\": 0,\n        \"sender\":   \"9f28991ef543253c8b6a2caf15cf99e23fb9c2b4ca30dc463c8ceb354d7979e\",\n        \"receiver\": \"ef7d4255dd5e885200648abe5826d8e0ba0157d3e8cf9c42dcc8258b036986e5\",\n        \"amount\":   2300000000,\n        \"kernel\":   \"ee82afc25ee29c9c57bcb1018b725a3a94c0ceb1fa7984ea13de4982553e0d78\"\n    }\n}\n",[611,23927,23928,23932,23942,23952,23958,23962,23972,23982,23994,24005,24016,24025,24029],{"__ignoreMap":14},[6995,23929,23930],{"class":244,"line":6997},[6995,23931,7001],{"class":7000},[6995,23933,23934,23936,23938,23940],{"class":244,"line":15},[6995,23935,7007],{"class":7006},[6995,23937,5102],{"class":7000},[6995,23939,7013],{"class":7012},[6995,23941,7016],{"class":7000},[6995,23943,23944,23946,23948,23950],{"class":244,"line":154},[6995,23945,7021],{"class":7006},[6995,23947,7024],{"class":7000},[6995,23949,8439],{"class":7006},[6995,23951,7030],{"class":7000},[6995,23953,23954,23956],{"class":244,"line":7033},[6995,23955,7732],{"class":7006},[6995,23957,7673],{"class":7000},[6995,23959,23960],{"class":244,"line":7044},[6995,23961,7537],{"class":7000},[6995,23963,23964,23966,23968,23970],{"class":244,"line":7107},[6995,23965,11902],{"class":7006},[6995,23967,7024],{"class":7000},[6995,23969,8689],{"class":7006},[6995,23971,7030],{"class":7000},[6995,23973,23974,23976,23978,23980],{"class":244,"line":7120},[6995,23975,7229],{"class":7006},[6995,23977,7024],{"class":7000},[6995,23979,7180],{"class":7006},[6995,23981,7030],{"class":7000},[6995,23983,23984,23986,23989,23992],{"class":244,"line":7133},[6995,23985,21006],{"class":7006},[6995,23987,23988],{"class":7000},":   ",[6995,23990,23991],{"class":7012},"\"9f28991ef543253c8b6a2caf15cf99e23fb9c2b4ca30dc463c8ceb354d7979e\"",[6995,23993,7030],{"class":7000},[6995,23995,23996,23998,24000,24003],{"class":244,"line":7146},[6995,23997,20995],{"class":7006},[6995,23999,7024],{"class":7000},[6995,24001,24002],{"class":7012},"\"ef7d4255dd5e885200648abe5826d8e0ba0157d3e8cf9c42dcc8258b036986e5\"",[6995,24004,7030],{"class":7000},[6995,24006,24007,24009,24011,24014],{"class":244,"line":7159},[6995,24008,8467],{"class":7006},[6995,24010,23988],{"class":7000},[6995,24012,24013],{"class":7006},"2300000000",[6995,24015,7030],{"class":7000},[6995,24017,24018,24020,24022],{"class":244,"line":7172},[6995,24019,20983],{"class":7006},[6995,24021,23988],{"class":7000},[6995,24023,24024],{"class":7012},"\"ee82afc25ee29c9c57bcb1018b725a3a94c0ceb1fa7984ea13de4982553e0d78\"\n",[6995,24026,24027],{"class":244,"line":7185},[6995,24028,7615],{"class":7000},[6995,24030,24031],{"class":244,"line":7198},[6995,24032,7047],{"class":7000},[852,24034,24035,24041,24047,24053,24058,24063],{},[59,24036,24037,24040],{},[611,24038,24039],{},"is_valid"," true if signature is valid,",[59,24042,24043,24046],{},[611,24044,24045],{},"sender"," sender's SBBS address",[59,24048,24049,24052],{},[611,24050,24051],{},"receiver"," is a receiver's SBBS address, is it is used to verify the signature",[59,24054,24055,24057],{},[611,24056,8404],{}," amount sent by the transaction in groth",[59,24059,24060,24062],{},[611,24061,6869],{}," asset id of the transaction, 0 for BEAM. Returned starting from v5.0",[59,24064,24065,24067],{},[611,24066,12547],{}," id of the kernel of this transaction",[34,24069,24070,24072],{},[37,24071,22074],{}," v5.0+ APIs accept proofs generated by older versions.",[41,24074,18385],{"id":18385},[34,24076,24077],{},"Available from v6.0, can be used after Fork3.",[34,24079,24080],{},"Invokes application shader. Only application\u002Fwallet side shaders are accepted. Use CLI to call a contract shader.",[34,24082,24083],{},[611,24084,6986],{},[616,24086,24088],{"className":6989,"code":24087,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 2,\n    \"method\": \"invoke_contract\", \n    \"params\":\n    {\n        \"contract\": [123, 123, 123],\n        \"args\": \"role=manager,action=view\"\n    }\n}\n",[611,24089,24090,24094,24104,24114,24125,24131,24135,24155,24165,24169],{"__ignoreMap":14},[6995,24091,24092],{"class":244,"line":6997},[6995,24093,7001],{"class":7000},[6995,24095,24096,24098,24100,24102],{"class":244,"line":15},[6995,24097,7007],{"class":7006},[6995,24099,7024],{"class":7000},[6995,24101,7013],{"class":7012},[6995,24103,7016],{"class":7000},[6995,24105,24106,24108,24110,24112],{"class":244,"line":154},[6995,24107,7021],{"class":7006},[6995,24109,7024],{"class":7000},[6995,24111,7511],{"class":7006},[6995,24113,7030],{"class":7000},[6995,24115,24116,24118,24120,24123],{"class":244,"line":7033},[6995,24117,7036],{"class":7006},[6995,24119,7024],{"class":7000},[6995,24121,24122],{"class":7012},"\"invoke_contract\"",[6995,24124,7016],{"class":7000},[6995,24126,24127,24129],{"class":244,"line":7044},[6995,24128,7529],{"class":7006},[6995,24130,7532],{"class":7000},[6995,24132,24133],{"class":244,"line":7107},[6995,24134,7537],{"class":7000},[6995,24136,24137,24140,24143,24145,24147,24149,24151,24153],{"class":244,"line":7120},[6995,24138,24139],{"class":7006},"        \"contract\"",[6995,24141,24142],{"class":7000},": [",[6995,24144,7167],{"class":7006},[6995,24146,2231],{"class":7000},[6995,24148,7167],{"class":7006},[6995,24150,2231],{"class":7000},[6995,24152,7167],{"class":7006},[6995,24154,19906],{"class":7000},[6995,24156,24157,24160,24162],{"class":244,"line":7133},[6995,24158,24159],{"class":7006},"        \"args\"",[6995,24161,7024],{"class":7000},[6995,24163,24164],{"class":7012},"\"role=manager,action=view\"\n",[6995,24166,24167],{"class":244,"line":7146},[6995,24168,7615],{"class":7000},[6995,24170,24171],{"class":244,"line":7159},[6995,24172,7047],{"class":7000},[34,24174,24175],{},"OR",[34,24177,24178],{},[611,24179,6986],{},[616,24181,24183],{"className":6989,"code":24182,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 2,\n    \"method\": \"invoke_contract\", \n    \"params\":\n    {\n        \"contract_file\": \"....\",\n        \"args\": \"role=manager,action=view\"\n    }\n}\n",[611,24184,24185,24189,24199,24209,24219,24225,24229,24241,24249,24253],{"__ignoreMap":14},[6995,24186,24187],{"class":244,"line":6997},[6995,24188,7001],{"class":7000},[6995,24190,24191,24193,24195,24197],{"class":244,"line":15},[6995,24192,7007],{"class":7006},[6995,24194,7024],{"class":7000},[6995,24196,7013],{"class":7012},[6995,24198,7016],{"class":7000},[6995,24200,24201,24203,24205,24207],{"class":244,"line":154},[6995,24202,7021],{"class":7006},[6995,24204,7024],{"class":7000},[6995,24206,7511],{"class":7006},[6995,24208,7030],{"class":7000},[6995,24210,24211,24213,24215,24217],{"class":244,"line":7033},[6995,24212,7036],{"class":7006},[6995,24214,7024],{"class":7000},[6995,24216,24122],{"class":7012},[6995,24218,7016],{"class":7000},[6995,24220,24221,24223],{"class":244,"line":7044},[6995,24222,7529],{"class":7006},[6995,24224,7532],{"class":7000},[6995,24226,24227],{"class":244,"line":7107},[6995,24228,7537],{"class":7000},[6995,24230,24231,24234,24236,24239],{"class":244,"line":7120},[6995,24232,24233],{"class":7006},"        \"contract_file\"",[6995,24235,7024],{"class":7000},[6995,24237,24238],{"class":7012},"\"....\"",[6995,24240,7030],{"class":7000},[6995,24242,24243,24245,24247],{"class":244,"line":7133},[6995,24244,24159],{"class":7006},[6995,24246,7024],{"class":7000},[6995,24248,24164],{"class":7012},[6995,24250,24251],{"class":244,"line":7146},[6995,24252,7615],{"class":7000},[6995,24254,24255],{"class":244,"line":7159},[6995,24256,7047],{"class":7000},[852,24258,24259,24264,24270,24276],{},[59,24260,24261,24263],{},[611,24262,6411],{}," contract code as raw bytes array, optional.",[59,24265,24266,24269],{},[611,24267,24268],{},"contract_file"," file name to read contract code from, optional. Absolute or relative to the executable CWD.",[59,24271,24272,24275],{},[611,24273,24274],{},"args"," contract arguments, optional. Depends on the called shader. Consult shader-specific docs for details.",[59,24277,24278,24281,24282,24284,24285,24288,24289,24291,24292,181],{},[611,24279,24280],{},"create_tx"," bool, pass ",[611,24283,8689],{}," create transaction automatically if contract wants it and return ",[611,24286,24287],{},"txid",". Pass false to avoid transaction creation, get raw tx data that can be passed to ",[175,24290,18396],{"href":18395}," later. By default is ",[611,24293,8689],{},[34,24295,24296,24298,24299,181],{},[611,24297,6411],{}," parameter always takes precedence over the ",[611,24300,24268],{},[34,24302,24303],{},[611,24304,7052],{},[616,24306,24308],{"className":6989,"code":24307,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"output\": \"{\\\"contracts\\\": [{\\\"cid\\\": \\\"2b105519ee7e170d92abffbc1eb5426d4e20910af2f54bcee43eb84c74dcfa4b\\\",\\\"Height\\\": 27004},{\\\"cid\\\": \n               \\\"55df189ac5c1f9b982fa34fb8050f005c331203023816ddbb2d641a96a3fcb2a\\\",\\\"Height\\\": 27001},{\\\"cid\\\": \n               \\\"6add645863c29d9dc43ab9987af870cb91fd0dfb4e26ae09ca97ac8ff5372f6e\\\",\\\"Height\\\": 532}]}\"\n  }\n}\n",[611,24309,24310,24314,24324,24334,24340,24397,24426,24446,24450],{"__ignoreMap":14},[6995,24311,24312],{"class":244,"line":6997},[6995,24313,7001],{"class":7000},[6995,24315,24316,24318,24320,24322],{"class":244,"line":15},[6995,24317,7066],{"class":7006},[6995,24319,7024],{"class":7000},[6995,24321,7071],{"class":7006},[6995,24323,7030],{"class":7000},[6995,24325,24326,24328,24330,24332],{"class":244,"line":154},[6995,24327,7078],{"class":7006},[6995,24329,7024],{"class":7000},[6995,24331,7013],{"class":7012},[6995,24333,7030],{"class":7000},[6995,24335,24336,24338],{"class":244,"line":7033},[6995,24337,7089],{"class":7006},[6995,24339,7092],{"class":7000},[6995,24341,24342,24345,24347,24350,24353,24356,24358,24361,24363,24366,24368,24370,24372,24375,24377,24379,24381,24384,24386,24389,24391,24393,24395],{"class":244,"line":7044},[6995,24343,24344],{"class":7006},"    \"output\"",[6995,24346,7024],{"class":7000},[6995,24348,24349],{"class":7012},"\"{",[6995,24351,24352],{"class":7006},"\\\"",[6995,24354,24355],{"class":7012},"contracts",[6995,24357,24352],{"class":7006},[6995,24359,24360],{"class":7012},": [{",[6995,24362,24352],{"class":7006},[6995,24364,24365],{"class":7012},"cid",[6995,24367,24352],{"class":7006},[6995,24369,7024],{"class":7012},[6995,24371,24352],{"class":7006},[6995,24373,24374],{"class":7012},"2b105519ee7e170d92abffbc1eb5426d4e20910af2f54bcee43eb84c74dcfa4b",[6995,24376,24352],{"class":7006},[6995,24378,17176],{"class":7012},[6995,24380,24352],{"class":7006},[6995,24382,24383],{"class":7012},"Height",[6995,24385,24352],{"class":7006},[6995,24387,24388],{"class":7012},": 27004},{",[6995,24390,24352],{"class":7006},[6995,24392,24365],{"class":7012},[6995,24394,24352],{"class":7006},[6995,24396,7673],{"class":7012},[6995,24398,24399,24402,24405,24407,24409,24411,24413,24415,24418,24420,24422,24424],{"class":244,"line":7107},[6995,24400,24401],{"class":7006},"               \\\"",[6995,24403,24404],{"class":7012},"55df189ac5c1f9b982fa34fb8050f005c331203023816ddbb2d641a96a3fcb2a",[6995,24406,24352],{"class":7006},[6995,24408,17176],{"class":7012},[6995,24410,24352],{"class":7006},[6995,24412,24383],{"class":7012},[6995,24414,24352],{"class":7006},[6995,24416,24417],{"class":7012},": 27001},{",[6995,24419,24352],{"class":7006},[6995,24421,24365],{"class":7012},[6995,24423,24352],{"class":7006},[6995,24425,7673],{"class":7012},[6995,24427,24428,24430,24433,24435,24437,24439,24441,24443],{"class":244,"line":7120},[6995,24429,24401],{"class":7006},[6995,24431,24432],{"class":7012},"6add645863c29d9dc43ab9987af870cb91fd0dfb4e26ae09ca97ac8ff5372f6e",[6995,24434,24352],{"class":7006},[6995,24436,17176],{"class":7012},[6995,24438,24352],{"class":7006},[6995,24440,24383],{"class":7012},[6995,24442,24352],{"class":7006},[6995,24444,24445],{"class":7012},": 532}]}\"\n",[6995,24447,24448],{"class":244,"line":7133},[6995,24449,7467],{"class":7000},[6995,24451,24452],{"class":244,"line":7146},[6995,24453,7047],{"class":7000},[852,24455,24456,24461,24466],{},[59,24457,24458,24460],{},[611,24459,16228],{}," contract output. Depends on the called shader. Can be empty",[59,24462,24463,24465],{},[611,24464,24287],{}," transaction created by contract (if any)",[59,24467,24468,24471,24472],{},[611,24469,24470],{},"raw_data"," raw data returned by the contract based on which transaction can be created using ",[175,24473,18396],{"href":18395},[48,24475,24477],{"id":24476},"async-notice","Async Notice",[34,24479,24480],{},"invoke_contract method is asynchronous in nature and can take up to several blocks to execute (depends on shader). Please setup your API connection correspondingly (keep alive HTTP or use socket).",[48,24482,24484],{"id":24483},"shader-errors","Shader Errors",[34,24486,24487],{},"Please notice that API returns errors only if there is an API error (no shader code, parse error &c.). If there was an error inside the shader itself API call would be successful and shader output should be checked. For example:",[48,24489,24491],{"id":24490},"code-caching","Code caching",[34,24493,24494,24495,24497,24498,10670,24500,24502],{},"If there was an ",[611,24496,18385],{}," call before ",[611,24499,6411],{},[611,24501,24268],{}," params can be omitted. In this case contract code from previous call would be used. In case of wallet_api code caching works on per-connection level. In case of applications caching works on per-application level.",[34,24504,24505],{},[611,24506,6986],{},[616,24508,24510],{"className":6989,"code":24509,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"invoke_contract\",\n    \"params\": {\n        \"contract_file\": \".\u002FfaucetManager.wasm\",\n        \"args\": \"role=manager\"\n    }\n}\n",[611,24511,24512,24516,24526,24536,24546,24552,24563,24572,24576],{"__ignoreMap":14},[6995,24513,24514],{"class":244,"line":6997},[6995,24515,7001],{"class":7000},[6995,24517,24518,24520,24522,24524],{"class":244,"line":15},[6995,24519,7007],{"class":7006},[6995,24521,7024],{"class":7000},[6995,24523,7013],{"class":7012},[6995,24525,7030],{"class":7000},[6995,24527,24528,24530,24532,24534],{"class":244,"line":154},[6995,24529,7021],{"class":7006},[6995,24531,7024],{"class":7000},[6995,24533,7071],{"class":7006},[6995,24535,7030],{"class":7000},[6995,24537,24538,24540,24542,24544],{"class":244,"line":7033},[6995,24539,7036],{"class":7006},[6995,24541,7024],{"class":7000},[6995,24543,24122],{"class":7012},[6995,24545,7030],{"class":7000},[6995,24547,24548,24550],{"class":244,"line":7044},[6995,24549,7529],{"class":7006},[6995,24551,7092],{"class":7000},[6995,24553,24554,24556,24558,24561],{"class":244,"line":7107},[6995,24555,24233],{"class":7006},[6995,24557,7024],{"class":7000},[6995,24559,24560],{"class":7012},"\".\u002FfaucetManager.wasm\"",[6995,24562,7030],{"class":7000},[6995,24564,24565,24567,24569],{"class":244,"line":7120},[6995,24566,24159],{"class":7006},[6995,24568,7024],{"class":7000},[6995,24570,24571],{"class":7012},"\"role=manager\"\n",[6995,24573,24574],{"class":244,"line":7133},[6995,24575,7615],{"class":7000},[6995,24577,24578],{"class":244,"line":7146},[6995,24579,7047],{"class":7000},[34,24581,24582],{},[611,24583,7052],{},[616,24585,24587],{"className":6989,"code":24586,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"output\": \"{\\\"error\\\": \\\"Action not specified\\\"}\"\n  }\n}\n",[611,24588,24589,24593,24603,24613,24619,24645,24649],{"__ignoreMap":14},[6995,24590,24591],{"class":244,"line":6997},[6995,24592,7001],{"class":7000},[6995,24594,24595,24597,24599,24601],{"class":244,"line":15},[6995,24596,7066],{"class":7006},[6995,24598,7024],{"class":7000},[6995,24600,7071],{"class":7006},[6995,24602,7030],{"class":7000},[6995,24604,24605,24607,24609,24611],{"class":244,"line":154},[6995,24606,7078],{"class":7006},[6995,24608,7024],{"class":7000},[6995,24610,7013],{"class":7012},[6995,24612,7030],{"class":7000},[6995,24614,24615,24617],{"class":244,"line":7033},[6995,24616,7089],{"class":7006},[6995,24618,7092],{"class":7000},[6995,24620,24621,24623,24625,24627,24629,24631,24633,24635,24637,24640,24642],{"class":244,"line":7044},[6995,24622,24344],{"class":7006},[6995,24624,7024],{"class":7000},[6995,24626,24349],{"class":7012},[6995,24628,24352],{"class":7006},[6995,24630,15764],{"class":7012},[6995,24632,24352],{"class":7006},[6995,24634,7024],{"class":7012},[6995,24636,24352],{"class":7006},[6995,24638,24639],{"class":7012},"Action not specified",[6995,24641,24352],{"class":7006},[6995,24643,24644],{"class":7012},"}\"\n",[6995,24646,24647],{"class":244,"line":7107},[6995,24648,7467],{"class":7000},[6995,24650,24651],{"class":244,"line":7120},[6995,24652,7047],{"class":7000},[41,24654,18396],{"id":18396},[34,24656,24657],{},"Creates transaction requested by a contract",[34,24659,24660],{},[611,24661,6986],{},[616,24663,24665],{"className":6989,"code":24664,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"process_invoke_data\",\n    \"params\": {\n        \"data\": [123, 123, 123]\n    }\n}\n",[611,24666,24667,24671,24681,24691,24702,24708,24727,24731],{"__ignoreMap":14},[6995,24668,24669],{"class":244,"line":6997},[6995,24670,7001],{"class":7000},[6995,24672,24673,24675,24677,24679],{"class":244,"line":15},[6995,24674,7007],{"class":7006},[6995,24676,7024],{"class":7000},[6995,24678,7013],{"class":7012},[6995,24680,7030],{"class":7000},[6995,24682,24683,24685,24687,24689],{"class":244,"line":154},[6995,24684,7021],{"class":7006},[6995,24686,7024],{"class":7000},[6995,24688,7071],{"class":7006},[6995,24690,7030],{"class":7000},[6995,24692,24693,24695,24697,24700],{"class":244,"line":7033},[6995,24694,7036],{"class":7006},[6995,24696,7024],{"class":7000},[6995,24698,24699],{"class":7012},"\"process_invoke_data\"",[6995,24701,7030],{"class":7000},[6995,24703,24704,24706],{"class":244,"line":7044},[6995,24705,7529],{"class":7006},[6995,24707,7092],{"class":7000},[6995,24709,24710,24713,24715,24717,24719,24721,24723,24725],{"class":244,"line":7107},[6995,24711,24712],{"class":7006},"        \"data\"",[6995,24714,24142],{"class":7000},[6995,24716,7167],{"class":7006},[6995,24718,2231],{"class":7000},[6995,24720,7167],{"class":7006},[6995,24722,2231],{"class":7000},[6995,24724,7167],{"class":7006},[6995,24726,13671],{"class":7000},[6995,24728,24729],{"class":244,"line":7120},[6995,24730,7615],{"class":7000},[6995,24732,24733],{"class":244,"line":7133},[6995,24734,7047],{"class":7000},[852,24736,24737],{},[59,24738,24739,24741,24742,24744],{},[611,24740,15730],{}," raw invoke data bytes array returned by ",[175,24743,18385],{"href":18384},", mandatory",[34,24746,24747],{},[611,24748,7052],{},[616,24750,24752],{"className":6989,"code":24751,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"txid\": \"...\"\n  }\n}\n",[611,24753,24754,24758,24768,24778,24784,24794,24798],{"__ignoreMap":14},[6995,24755,24756],{"class":244,"line":6997},[6995,24757,7001],{"class":7000},[6995,24759,24760,24762,24764,24766],{"class":244,"line":15},[6995,24761,7066],{"class":7006},[6995,24763,7024],{"class":7000},[6995,24765,7071],{"class":7006},[6995,24767,7030],{"class":7000},[6995,24769,24770,24772,24774,24776],{"class":244,"line":154},[6995,24771,7078],{"class":7006},[6995,24773,7024],{"class":7000},[6995,24775,7013],{"class":7012},[6995,24777,7030],{"class":7000},[6995,24779,24780,24782],{"class":244,"line":7033},[6995,24781,7089],{"class":7006},[6995,24783,7092],{"class":7000},[6995,24785,24786,24789,24791],{"class":244,"line":7044},[6995,24787,24788],{"class":7006},"    \"txid\"",[6995,24790,7024],{"class":7000},[6995,24792,24793],{"class":7012},"\"...\"\n",[6995,24795,24796],{"class":244,"line":7107},[6995,24797,7467],{"class":7000},[6995,24799,24800],{"class":244,"line":7120},[6995,24801,7047],{"class":7000},[852,24803,24804],{},[59,24805,24806,24808],{},[611,24807,24287],{}," contract transaction id created as a result of the call",[41,24810,6940],{"id":6940},[34,24812,24813,24814],{},"Calculates change for given ",[611,24815,8404],{},[34,24817,24818],{},[611,24819,6986],{},[616,24821,24822],{"className":6989,"code":8414,"language":6991,"meta":14,"style":14},[611,24823,24824,24828,24838,24848,24858,24864,24868,24878,24888,24898,24906,24910],{"__ignoreMap":14},[6995,24825,24826],{"class":244,"line":6997},[6995,24827,7001],{"class":7000},[6995,24829,24830,24832,24834,24836],{"class":244,"line":15},[6995,24831,7007],{"class":7006},[6995,24833,5102],{"class":7000},[6995,24835,7013],{"class":7012},[6995,24837,7016],{"class":7000},[6995,24839,24840,24842,24844,24846],{"class":244,"line":154},[6995,24841,7021],{"class":7006},[6995,24843,7024],{"class":7000},[6995,24845,8439],{"class":7006},[6995,24847,7030],{"class":7000},[6995,24849,24850,24852,24854,24856],{"class":244,"line":7033},[6995,24851,7036],{"class":7006},[6995,24853,5102],{"class":7000},[6995,24855,8450],{"class":7012},[6995,24857,7016],{"class":7000},[6995,24859,24860,24862],{"class":244,"line":7044},[6995,24861,7529],{"class":7006},[6995,24863,7532],{"class":7000},[6995,24865,24866],{"class":244,"line":7107},[6995,24867,7537],{"class":7000},[6995,24869,24870,24872,24874,24876],{"class":244,"line":7120},[6995,24871,8467],{"class":7006},[6995,24873,7746],{"class":7000},[6995,24875,8472],{"class":7006},[6995,24877,7030],{"class":7000},[6995,24879,24880,24882,24884,24886],{"class":244,"line":7133},[6995,24881,7229],{"class":7006},[6995,24883,7024],{"class":7000},[6995,24885,7511],{"class":7006},[6995,24887,7030],{"class":7000},[6995,24889,24890,24892,24894,24896],{"class":244,"line":7146},[6995,24891,7554],{"class":7006},[6995,24893,7024],{"class":7000},[6995,24895,8493],{"class":7006},[6995,24897,7030],{"class":7000},[6995,24899,24900,24902,24904],{"class":244,"line":7159},[6995,24901,8500],{"class":7006},[6995,24903,7024],{"class":7000},[6995,24905,8505],{"class":7006},[6995,24907,24908],{"class":244,"line":7172},[6995,24909,7615],{"class":7000},[6995,24911,24912],{"class":244,"line":7185},[6995,24913,7047],{"class":7000},[34,24915,24916],{},[611,24917,7052],{},[616,24919,24920],{"className":6989,"code":8520,"language":6991,"meta":14,"style":14},[611,24921,24922,24926,24936,24946,24952,24956,24966,24976,24986,24996,25006,25014,25018],{"__ignoreMap":14},[6995,24923,24924],{"class":244,"line":6997},[6995,24925,7001],{"class":7000},[6995,24927,24928,24930,24932,24934],{"class":244,"line":15},[6995,24929,7007],{"class":7006},[6995,24931,5102],{"class":7000},[6995,24933,7013],{"class":7012},[6995,24935,7016],{"class":7000},[6995,24937,24938,24940,24942,24944],{"class":244,"line":154},[6995,24939,7021],{"class":7006},[6995,24941,7024],{"class":7000},[6995,24943,8439],{"class":7006},[6995,24945,7030],{"class":7000},[6995,24947,24948,24950],{"class":244,"line":7033},[6995,24949,7732],{"class":7006},[6995,24951,7532],{"class":7000},[6995,24953,24954],{"class":244,"line":7044},[6995,24955,7537],{"class":7000},[6995,24957,24958,24960,24962,24964],{"class":244,"line":7107},[6995,24959,8561],{"class":7006},[6995,24961,7024],{"class":7000},[6995,24963,8566],{"class":7006},[6995,24965,7030],{"class":7000},[6995,24967,24968,24970,24972,24974],{"class":244,"line":7120},[6995,24969,8573],{"class":7006},[6995,24971,7024],{"class":7000},[6995,24973,8578],{"class":7012},[6995,24975,7030],{"class":7000},[6995,24977,24978,24980,24982,24984],{"class":244,"line":7133},[6995,24979,8585],{"class":7006},[6995,24981,7024],{"class":7000},[6995,24983,8566],{"class":7006},[6995,24985,7030],{"class":7000},[6995,24987,24988,24990,24992,24994],{"class":244,"line":7146},[6995,24989,8596],{"class":7006},[6995,24991,7024],{"class":7000},[6995,24993,8578],{"class":7012},[6995,24995,7030],{"class":7000},[6995,24997,24998,25000,25002,25004],{"class":244,"line":7159},[6995,24999,8607],{"class":7006},[6995,25001,7024],{"class":7000},[6995,25003,8612],{"class":7006},[6995,25005,7030],{"class":7000},[6995,25007,25008,25010,25012],{"class":244,"line":7172},[6995,25009,8619],{"class":7006},[6995,25011,7024],{"class":7000},[6995,25013,8624],{"class":7012},[6995,25015,25016],{"class":244,"line":7185},[6995,25017,7615],{"class":7000},[6995,25019,25020],{"class":244,"line":7198},[6995,25021,7047],{"class":7000},[34,25023,8635],{},[852,25025,25026,25030,25035,25039,25045,25055,25059],{},[59,25027,25028,8642],{},[611,25029,8404],{},[59,25031,25032,25034],{},[611,25033,6869],{}," optional asset id of the requested amount. Default is 0 (BEAM). This method can be used for non-BEAM coins even if assets are not enabled.",[59,25036,25037,8652],{},[611,25038,8147],{},[59,25040,25041,8658,25043],{},[611,25042,8657],{},[611,25044,6869],{},[59,25046,25047,8666,25049,1475,25051,8671,25053,8675],{},[611,25048,8665],{},[611,25050,8657],{},[611,25052,8665],{},[611,25054,8674],{},[59,25056,25057,8681],{},[611,25058,8680],{},[59,25060,25061,98,25063,8690],{},[611,25062,8686],{},[611,25064,8689],{},[41,25066,18406],{"id":18406},[34,25068,25069],{},"Returns block header from blockchain",[34,25071,25072],{},[611,25073,6986],{},[616,25075,25077],{"className":6989,"code":25076,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 2,\n    \"method\": \"block_details\", \n    \"params\":\n    {\n        \"height\": 200\n    }\n}\n",[611,25078,25079,25083,25093,25103,25114,25120,25124,25133,25137],{"__ignoreMap":14},[6995,25080,25081],{"class":244,"line":6997},[6995,25082,7001],{"class":7000},[6995,25084,25085,25087,25089,25091],{"class":244,"line":15},[6995,25086,7007],{"class":7006},[6995,25088,7024],{"class":7000},[6995,25090,7013],{"class":7012},[6995,25092,7016],{"class":7000},[6995,25094,25095,25097,25099,25101],{"class":244,"line":154},[6995,25096,7021],{"class":7006},[6995,25098,7024],{"class":7000},[6995,25100,7511],{"class":7006},[6995,25102,7030],{"class":7000},[6995,25104,25105,25107,25109,25112],{"class":244,"line":7033},[6995,25106,7036],{"class":7006},[6995,25108,7024],{"class":7000},[6995,25110,25111],{"class":7012},"\"block_details\"",[6995,25113,7016],{"class":7000},[6995,25115,25116,25118],{"class":244,"line":7044},[6995,25117,7529],{"class":7006},[6995,25119,7532],{"class":7000},[6995,25121,25122],{"class":244,"line":7107},[6995,25123,7537],{"class":7000},[6995,25125,25126,25128,25130],{"class":244,"line":7120},[6995,25127,21741],{"class":7006},[6995,25129,7024],{"class":7000},[6995,25131,25132],{"class":7006},"200\n",[6995,25134,25135],{"class":244,"line":7133},[6995,25136,7615],{"class":7000},[6995,25138,25139],{"class":244,"line":7146},[6995,25140,7047],{"class":7000},[852,25142,25143],{},[59,25144,25145,25147],{},[611,25146,12542],{}," height of block.",[34,25149,25150],{},[611,25151,7052],{},[616,25153,25155],{"className":6989,"code":25154,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"result\":\n    {\n        \"block_hash\": \"7aec20e5b56706d57a4dca1df4a4d3104dbdbf8d6005499845558b7a32694d02\",\n        \"chainwork\": \"000000000000000000000000000000000000000000000000000000c503b09ac0\",\n        \"definition\": \"0d3f4e63743760c6397d76086e1cc0ebe749c121206c8150738dc84edcd30092\",\n        \"difficulty\": 118.4594497680664,\n        \"height\": 200,\n        \"kernels\": \"705cdfa154eec35e4b4b0e2163ff9c81f8f035641ee4b0b95c3f3c5b0f170ffe\",\n        \"packed_difficulty\": 114939514,\n        \"pow\": \"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004f04638c1f4cee1b7ad6d906\",\n        \"previous_block\": \"d195cc69fbd2b402cc33ecb303f5391f0010f34ee059f30b908ed10f0fe5a255\",\n        \"rules_hash\": \"340bbeabc390f481df1f84aedf0b679c1c7ed1f0e28d4340c9c49b4c41611f85\",\n        \"timestamp\": 1619598150\n    }\n}\n",[611,25156,25157,25161,25171,25181,25187,25191,25203,25215,25227,25238,25248,25260,25272,25284,25296,25308,25318,25322],{"__ignoreMap":14},[6995,25158,25159],{"class":244,"line":6997},[6995,25160,7001],{"class":7000},[6995,25162,25163,25165,25167,25169],{"class":244,"line":15},[6995,25164,7007],{"class":7006},[6995,25166,5102],{"class":7000},[6995,25168,7013],{"class":7012},[6995,25170,7016],{"class":7000},[6995,25172,25173,25175,25177,25179],{"class":244,"line":154},[6995,25174,7021],{"class":7006},[6995,25176,7024],{"class":7000},[6995,25178,8439],{"class":7006},[6995,25180,7030],{"class":7000},[6995,25182,25183,25185],{"class":244,"line":7033},[6995,25184,7732],{"class":7006},[6995,25186,7532],{"class":7000},[6995,25188,25189],{"class":244,"line":7044},[6995,25190,7537],{"class":7000},[6995,25192,25193,25196,25198,25201],{"class":244,"line":7107},[6995,25194,25195],{"class":7006},"        \"block_hash\"",[6995,25197,7024],{"class":7000},[6995,25199,25200],{"class":7012},"\"7aec20e5b56706d57a4dca1df4a4d3104dbdbf8d6005499845558b7a32694d02\"",[6995,25202,7030],{"class":7000},[6995,25204,25205,25208,25210,25213],{"class":244,"line":7120},[6995,25206,25207],{"class":7006},"        \"chainwork\"",[6995,25209,7024],{"class":7000},[6995,25211,25212],{"class":7012},"\"000000000000000000000000000000000000000000000000000000c503b09ac0\"",[6995,25214,7030],{"class":7000},[6995,25216,25217,25220,25222,25225],{"class":244,"line":7133},[6995,25218,25219],{"class":7006},"        \"definition\"",[6995,25221,7024],{"class":7000},[6995,25223,25224],{"class":7012},"\"0d3f4e63743760c6397d76086e1cc0ebe749c121206c8150738dc84edcd30092\"",[6995,25226,7030],{"class":7000},[6995,25228,25229,25231,25233,25236],{"class":244,"line":7146},[6995,25230,22259],{"class":7006},[6995,25232,7024],{"class":7000},[6995,25234,25235],{"class":7006},"118.4594497680664",[6995,25237,7030],{"class":7000},[6995,25239,25240,25242,25244,25246],{"class":244,"line":7159},[6995,25241,21741],{"class":7006},[6995,25243,7024],{"class":7000},[6995,25245,11001],{"class":7006},[6995,25247,7030],{"class":7000},[6995,25249,25250,25253,25255,25258],{"class":244,"line":7172},[6995,25251,25252],{"class":7006},"        \"kernels\"",[6995,25254,7024],{"class":7000},[6995,25256,25257],{"class":7012},"\"705cdfa154eec35e4b4b0e2163ff9c81f8f035641ee4b0b95c3f3c5b0f170ffe\"",[6995,25259,7030],{"class":7000},[6995,25261,25262,25265,25267,25270],{"class":244,"line":7185},[6995,25263,25264],{"class":7006},"        \"packed_difficulty\"",[6995,25266,7024],{"class":7000},[6995,25268,25269],{"class":7006},"114939514",[6995,25271,7030],{"class":7000},[6995,25273,25274,25277,25279,25282],{"class":244,"line":7198},[6995,25275,25276],{"class":7006},"        \"pow\"",[6995,25278,7024],{"class":7000},[6995,25280,25281],{"class":7012},"\"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004f04638c1f4cee1b7ad6d906\"",[6995,25283,7030],{"class":7000},[6995,25285,25286,25289,25291,25294],{"class":244,"line":7211},[6995,25287,25288],{"class":7006},"        \"previous_block\"",[6995,25290,7024],{"class":7000},[6995,25292,25293],{"class":7012},"\"d195cc69fbd2b402cc33ecb303f5391f0010f34ee059f30b908ed10f0fe5a255\"",[6995,25295,7030],{"class":7000},[6995,25297,25298,25301,25303,25306],{"class":244,"line":7220},[6995,25299,25300],{"class":7006},"        \"rules_hash\"",[6995,25302,7024],{"class":7000},[6995,25304,25305],{"class":7012},"\"340bbeabc390f481df1f84aedf0b679c1c7ed1f0e28d4340c9c49b4c41611f85\"",[6995,25307,7030],{"class":7000},[6995,25309,25310,25313,25315],{"class":244,"line":7226},[6995,25311,25312],{"class":7006},"        \"timestamp\"",[6995,25314,7024],{"class":7000},[6995,25316,25317],{"class":7006},"1619598150\n",[6995,25319,25320],{"class":244,"line":7238},[6995,25321,7615],{"class":7000},[6995,25323,25324],{"class":244,"line":7250},[6995,25325,7047],{"class":7000},[852,25327,25328,25334,25340,25345,25350,25355,25361,25367,25373,25379,25385],{},[59,25329,25330,25333],{},[611,25331,25332],{},"block_hash"," is a block hash",[59,25335,25336,25339],{},[611,25337,25338],{},"chainwork"," is a chainwork",[59,25341,25342,25344],{},[611,25343,14358],{}," is a definition",[59,25346,25347,25349],{},[611,25348,16328],{}," is a difficulty",[59,25351,25352,25354],{},[611,25353,12542],{}," is a block height",[59,25356,25357,25360],{},[611,25358,25359],{},"kernels"," is a kernels",[59,25362,25363,25366],{},[611,25364,25365],{},"packed_difficulty"," is a packed difficulty",[59,25368,25369,25372],{},[611,25370,25371],{},"pow"," is a pow",[59,25374,25375,25378],{},[611,25376,25377],{},"previous_block"," is hash of previous block",[59,25380,25381,25384],{},[611,25382,25383],{},"rules_hash"," is a rules hash",[59,25386,25387,25390],{},[611,25388,25389],{},"timestamp"," is a timestamp",[48,25392,24477],{"id":25393},"async-notice-1",[34,25395,25396],{},"block_details method is asynchronous in nature. Please setup your API connection correspondingly (keep alive HTTP or use socket).",[8692,25398,14042],{},{"title":14,"searchDepth":15,"depth":15,"links":25400},[25401,25402,25403,25404,25405,25406,25409,25410,25411,25412,25413,25414,25415,25416,25417,25418,25419,25424,25427,25428,25429,25430,25431,25432,25437,25438,25439],{"id":18076,"depth":15,"text":18077},{"id":18219,"depth":15,"text":18220},{"id":18420,"depth":15,"text":18421},{"id":12194,"depth":15,"text":12194},{"id":11852,"depth":15,"text":11852},{"id":18255,"depth":15,"text":18255,"children":25407},[25408],{"id":19226,"depth":154,"text":8763},{"id":18239,"depth":15,"text":18239},{"id":18247,"depth":15,"text":18247},{"id":6905,"depth":15,"text":6905},{"id":6910,"depth":15,"text":6910},{"id":6920,"depth":15,"text":6920},{"id":6925,"depth":15,"text":6925},{"id":6930,"depth":15,"text":6930},{"id":18306,"depth":15,"text":18306},{"id":18314,"depth":15,"text":18314},{"id":18293,"depth":15,"text":18293},{"id":18327,"depth":15,"text":18327,"children":25420},[25421,25422,25423],{"id":21955,"depth":154,"text":21956},{"id":21959,"depth":154,"text":21960},{"id":22039,"depth":154,"text":22040},{"id":6900,"depth":15,"text":6900,"children":25425},[25426],{"id":22723,"depth":154,"text":22724},{"id":18014,"depth":15,"text":18014},{"id":6935,"depth":15,"text":6935},{"id":18340,"depth":15,"text":18340},{"id":18348,"depth":15,"text":18348},{"id":18356,"depth":15,"text":18356},{"id":18385,"depth":15,"text":18385,"children":25433},[25434,25435,25436],{"id":24476,"depth":154,"text":24477},{"id":24483,"depth":154,"text":24484},{"id":24490,"depth":154,"text":24491},{"id":18396,"depth":15,"text":18396},{"id":6940,"depth":15,"text":6940},{"id":18406,"depth":15,"text":18406,"children":25440},[25441],{"id":25393,"depth":154,"text":24477},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v6.0",{"description":14},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v6.0","ld5GAdIu5iYrYHWumi4nGXPLkr1Cv655LwplQA3Q35c",{"id":25448,"title":25449,"body":25450,"description":14,"extension":17,"image":18,"meta":35246,"navTitle":18,"navigation":20,"path":35247,"seo":35248,"stem":35249,"__hash__":35250},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v6.1.md","Beam Wallet Protocol API V61",{"type":8,"value":25451,"toc":35189},[25452,25456,25461,25465,25483,25487,25540,25544,25590,25592,25594,25647,25649,25651,25818,25820,25829,25831,25833,25837,25931,26016,26038,26042,26082,26084,26088,26092,26156,26160,26244,26258,26260,26262,26266,26330,26340,26344,26508,26549,26551,26560,26562,26564,26568,26632,26636,26676,26678,26686,26690,26774,26778,26818,26820,26822,26826,26950,26998,27004,27008,27062,27066,27068,27070,27074,27078,27174,27178,27232,27254,27256,27260,27264,27268,27342,27364,27370,27374,27428,27432,27434,27438,27442,27446,27520,27542,27548,27552,27606,27610,27612,27616,27620,27624,27688,27702,27704,27708,27762,27766,27768,27770,27774,27838,27844,27848,27888,27894,27896,27898,27902,27966,27972,27976,28016,28022,28024,28028,28032,28098,28102,28326,28328,28330,28334,28442,28460,28464,28472,28476,29002,29055,29057,29059,29109,29111,29131,29135,29137,29139,29143,29183,29187,29347,29379,29384,29388,29451,29458,29462,29809,29823,29833,29849,29851,29853,29857,29961,29981,29985,30119,30131,30135,30215,30219,30357,30393,30395,30399,30403,30467,30477,30481,30709,30713,30779,30781,30783,30787,30827,30831,30871,30873,30877,30881,30945,30949,31003,31011,31015,31017,31021,31025,31089,31093,31197,31223,31227,31229,31231,31233,31237,31319,31321,31325,31399,31425,31431,31435,31569,31585,31587,31589,31591,31593,31595,31603,31607,31677,31681,31747,31751,31761,31779,31781,31783,31787,31857,31865,31869,31919,31925,31927,31931,31935,32029,32033,32137,32139,32179,32181,32183,32187,32251,32257,32261,32415,32461,32463,32465,32467,32470,32474,32516,32520,32665,32683,32685,32688,32692,32810,32814,32855,32866,32870,32873,32899,32903,32910,32963,32965,32968,32976,32979,32984,33149,33175,33180,33331,33341,33346,33696,33716,33718,33721,33725,33862,33864,33867,33871,34222,34241,34243,34249,34252,34257,34363,34382,34385,34389,34656,34674,34676,34681,34685,34867,34884,34886,34889,34893,35169,35187],[41,25453,25455],{"id":25454},"whats-new-in-v61","What's new in v6.1",[852,25457,25458],{},[59,25459,25460],{},"Wallet is now able to send change events such as state changed, transaction changed &c.",[48,25462,25464],{"id":25463},"new-methods","New methods",[852,25466,25467,25475],{},[59,25468,25469,98,25473],{},[175,25470,25472],{"href":25471},"#get_version","get_version",[241,25474],{"alt":14,"src":18233},[59,25476,25477,98,25481],{},[175,25478,25480],{"href":25479},"#ev_subunsub","ev_subunsub",[241,25482],{"alt":14,"src":18233},[48,25484,25486],{"id":25485},"changed-methods","Changed methods",[852,25488,25489,25504,25528],{},[59,25490,25491,25493,25494,25496,25497,8003,25500,25503],{},[175,25492,6900],{"href":18334}," added ",[611,25495,18137],{}," param, returns additional ",[611,25498,25499],{},"is_in_sync",[611,25501,25502],{},"current_state_timestamp"," fields. Method now is\nallowed to be called from apps but does not return balances",[59,25505,25506,25508,25509,2231,25512,2231,25515,2231,25518,2231,25521,8003,25524,25527],{},[175,25507,6935],{"href":18363}," returns additional ",[611,25510,25511],{},"metadata_kv",[611,25513,25514],{},"metadata_std_min",[611,25516,25517],{},"metadata_v50",[611,25519,25520],{},"metadata_v60",[611,25522,25523],{},"metadata_std",[611,25525,25526],{},"metadata_pairs"," fields",[59,25529,25530,25532,25533,8003,25536,25539],{},[175,25531,18385],{"href":18384}," priority queue of request added together with ",[611,25534,25535],{},"priority",[611,25537,25538],{},"unique"," parameters",[48,25541,25543],{"id":25542},"new-events","New events",[852,25545,25546,25554,25562,25570,25576,25582],{},[59,25547,25548,98,25552],{},[175,25549,25551],{"href":25550},"#ev_sync_progress","ev_sync_progress",[241,25553],{"alt":14,"src":18233},[59,25555,25556,98,25560],{},[175,25557,25559],{"href":25558},"#ev_system_state","ev_system_state",[241,25561],{"alt":14,"src":18233},[59,25563,25564,98,25568],{},[175,25565,25567],{"href":25566},"#ev_addrs_changed","ev_addrs_changed",[241,25569],{"alt":14,"src":18233},[59,25571,25572],{},[175,25573,25575],{"href":25574},"#ev_assets_changed","ev_assets_changed",[59,25577,25578],{},[175,25579,25581],{"href":25580},"#ev_utxos_changed","ev_utxos_changed",[59,25583,25584,98,25588],{},[175,25585,25587],{"href":25586},"#ev_txs_changed","ev_txs_changed",[241,25589],{"alt":14,"src":18233},[41,25591,18077],{"id":18076},[34,25593,18080],{},[852,25595,25596,25598,25600,25602,25604,25606,25608,25610,25613,25615,25617,25619,25621,25623,25625,25627,25629,25631,25633,25635,25637,25639,25641,25643,25645],{},[59,25597,18085],{},[59,25599,18088],{},[59,25601,18091],{},[59,25603,18094],{},[59,25605,18097],{},[59,25607,18100],{},[59,25609,18103],{},[59,25611,25612],{},"-32004 InvalidTxId (\"Invalid transaction ID.\")",[59,25614,18168],{},[59,25616,18171],{},[59,25618,18174],{},[59,25620,18177],{},[59,25622,18180],{},[59,25624,18183],{},[59,25626,18186],{},[59,25628,18189],{},[59,25630,18192],{},[59,25632,18195],{},[59,25634,18198],{},[59,25636,18201],{},[59,25638,18204],{},[59,25640,18207],{},[59,25642,18210],{},[59,25644,18213],{},[59,25646,18216],{},[41,25648,18220],{"id":18219},[34,25650,18223],{},[852,25652,25653,25659,25665,25671,25677,25683,25689,25693,25697,25703,25709,25713,25719,25725,25729,25735,25741,25747,25753,25759,25765,25769,25775,25784,25792,25800,25806,25812],{},[59,25654,25655,98,25657],{},[175,25656,12194],{"href":18230},[241,25658],{"alt":14,"src":18233},[59,25660,25661,98,25663],{},[175,25662,18239],{"href":18238},[241,25664],{"alt":14,"src":18233},[59,25666,25667,98,25669],{},[175,25668,18247],{"href":18246},[241,25670],{"alt":14,"src":18233},[59,25672,25673,98,25675],{},[175,25674,18255],{"href":18254},[241,25676],{"alt":14,"src":18233},[59,25678,25679,98,25681],{},[175,25680,11852],{"href":18262},[241,25682],{"alt":14,"src":18233},[59,25684,25685,98,25687],{},[175,25686,6905],{"href":18269},[241,25688],{"alt":14,"src":18233},[59,25690,25691],{},[175,25692,6920],{"href":18276},[59,25694,25695],{},[175,25696,6925],{"href":18281},[59,25698,25699,98,25701],{},[175,25700,6930],{"href":8044},[241,25702],{"alt":14,"src":18233},[59,25704,25705,98,25707],{},[175,25706,18293],{"href":18292},[241,25708],{"alt":14,"src":18233},[59,25710,25711],{},[175,25712,6910],{"href":18300},[59,25714,25715,98,25717],{},[175,25716,18306],{"href":18305},[241,25718],{"alt":14,"src":18233},[59,25720,25721,98,25723],{},[175,25722,18314],{"href":18313},[241,25724],{"alt":14,"src":18233},[59,25726,25727],{},[175,25728,18014],{"href":18321},[59,25730,25731,98,25733],{},[175,25732,18327],{"href":18326},[241,25734],{"alt":14,"src":18233},[59,25736,25737,98,25739],{},[175,25738,6900],{"href":18334},[241,25740],{"alt":14,"src":18233},[59,25742,25743,98,25745],{},[175,25744,18340],{"href":18339},[241,25746],{"alt":14,"src":18233},[59,25748,25749,98,25751],{},[175,25750,18348],{"href":18347},[241,25752],{"alt":14,"src":18233},[59,25754,25755,98,25757],{},[175,25756,18356],{"href":18355},[241,25758],{"alt":14,"src":18233},[59,25760,25761,98,25763],{},[175,25762,6935],{"href":18363},[241,25764],{"alt":14,"src":18233},[59,25766,25767],{},[175,25768,18371],{"href":18370},[59,25770,25771,98,25773],{},[175,25772,18377],{"href":18376},[241,25774],{"alt":14,"src":18233},[59,25776,25777,98,25779,25781],{},[175,25778,18385],{"href":18384},[241,25780],{"alt":14,"src":18233},[241,25782],{"alt":14,"src":25783},"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-async-orange",[59,25785,25786,98,25788,25790],{},[175,25787,18396],{"href":18395},[241,25789],{"alt":14,"src":18233},[241,25791],{"alt":14,"src":25783},[59,25793,25794,98,25796,25798],{},[175,25795,18406],{"href":18405},[241,25797],{"alt":14,"src":18233},[241,25799],{"alt":14,"src":25783},[59,25801,25802,98,25804],{},[175,25803,6940],{"href":18415},[241,25805],{"alt":14,"src":18233},[59,25807,25808,98,25810],{},[175,25809,25472],{"href":25471},[241,25811],{"alt":14,"src":18233},[59,25813,25814,98,25816],{},[175,25815,25480],{"href":25479},[241,25817],{"alt":14,"src":18233},[41,25819,18421],{"id":18420},[34,25821,18424,25822,18427,25824,18431,25826,181],{},[611,25823,6883],{},[611,25825,18430],{},[175,25827,18436],{"href":18434,"rel":25828},[179],[41,25830,12194],{"id":12194},[34,25832,18441],{},[34,25834,25835],{},[611,25836,6986],{},[616,25838,25839],{"className":6989,"code":18448,"language":6991,"meta":14,"style":14},[611,25840,25841,25845,25855,25865,25875,25881,25885,25895,25905,25915,25923,25927],{"__ignoreMap":14},[6995,25842,25843],{"class":244,"line":6997},[6995,25844,7001],{"class":7000},[6995,25846,25847,25849,25851,25853],{"class":244,"line":15},[6995,25848,7007],{"class":7006},[6995,25850,7024],{"class":7000},[6995,25852,7013],{"class":7012},[6995,25854,7016],{"class":7000},[6995,25856,25857,25859,25861,25863],{"class":244,"line":154},[6995,25858,7021],{"class":7006},[6995,25860,7024],{"class":7000},[6995,25862,6679],{"class":7006},[6995,25864,7030],{"class":7000},[6995,25866,25867,25869,25871,25873],{"class":244,"line":7033},[6995,25868,7036],{"class":7006},[6995,25870,7024],{"class":7000},[6995,25872,12237],{"class":7012},[6995,25874,7016],{"class":7000},[6995,25876,25877,25879],{"class":244,"line":7044},[6995,25878,7529],{"class":7006},[6995,25880,7532],{"class":7000},[6995,25882,25883],{"class":244,"line":7107},[6995,25884,7537],{"class":7000},[6995,25886,25887,25889,25891,25893],{"class":244,"line":7120},[6995,25888,11924],{"class":7006},[6995,25890,7024],{"class":7000},[6995,25892,12303],{"class":7012},[6995,25894,7030],{"class":7000},[6995,25896,25897,25899,25901,25903],{"class":244,"line":7133},[6995,25898,12268],{"class":7006},[6995,25900,7024],{"class":7000},[6995,25902,12273],{"class":7012},[6995,25904,7030],{"class":7000},[6995,25906,25907,25909,25911,25913],{"class":244,"line":7146},[6995,25908,7588],{"class":7006},[6995,25910,7024],{"class":7000},[6995,25912,18523],{"class":7012},[6995,25914,7030],{"class":7000},[6995,25916,25917,25919,25921],{"class":244,"line":7159},[6995,25918,18530],{"class":7006},[6995,25920,7746],{"class":7000},[6995,25922,8505],{"class":7006},[6995,25924,25925],{"class":244,"line":7172},[6995,25926,7615],{"class":7000},[6995,25928,25929],{"class":244,"line":7185},[6995,25930,7047],{"class":7000},[852,25932,25933,25968,25988,25992,26006],{},[59,25934,25935,11963,25937,25959,18578,25961,18584,25964,18587,25966],{},[611,25936,11962],{},[852,25938,25939,25943,25947,25951,25955],{},[59,25940,25941,18555],{},[611,25942,11803],{},[59,25944,25945,18560],{},[611,25946,11810],{},[59,25948,25949,18565],{},[611,25950,11989],{},[59,25952,25953,18570],{},[611,25954,12000],{},[59,25956,25957,18575],{},[611,25958,12010],{},[4953,25960],{},[175,25962,18583],{"href":18581,"rel":25963},[179],[611,25965,11810],{},[611,25967,18590],{},[59,25969,25970,25972,25982,18612,25984,18616,25986,18619],{},[611,25971,18595],{},[852,25973,25974,25978],{},[59,25975,18600,25976,181],{},[611,25977,18603],{},[59,25979,18606,25980,181],{},[611,25981,18609],{},[4953,25983],{},[611,25985,18615],{},[611,25987,18615],{},[59,25989,25990,18625],{},[611,25991,18624],{},[59,25993,25994,18631,25996,18634,25998,18637,26000,18641,26002,18645,26004,181],{},[611,25995,18630],{},[611,25997,8689],{},[611,25999,11803],{},[611,26001,18640],{},[611,26003,18644],{},[611,26005,18648],{},[59,26007,26008,18654,26010,18657,26012,18660,26014,181],{},[611,26009,18653],{},[611,26011,11810],{},[611,26013,6679],{},[611,26015,18663],{},[34,26017,18666,26018,18669,26020,18672,26022,18675,26024,18678,26026,2231,26028,1475,26030,18685,26032,10670,26034,10670,26036,18692],{},[611,26019,738],{},[175,26021,15797],{"href":18269},[611,26023,12315],{},[611,26025,6883],{},[611,26027,11810],{},[611,26029,11989],{},[611,26031,12000],{},[611,26033,11810],{},[611,26035,11989],{},[611,26037,12000],{},[34,26039,26040],{},[611,26041,7052],{},[616,26043,26044],{"className":6989,"code":18699,"language":6991,"meta":14,"style":14},[611,26045,26046,26050,26060,26070,26078],{"__ignoreMap":14},[6995,26047,26048],{"class":244,"line":6997},[6995,26049,7001],{"class":7000},[6995,26051,26052,26054,26056,26058],{"class":244,"line":15},[6995,26053,7007],{"class":7006},[6995,26055,7746],{"class":7000},[6995,26057,7013],{"class":7012},[6995,26059,7016],{"class":7000},[6995,26061,26062,26064,26066,26068],{"class":244,"line":154},[6995,26063,7021],{"class":7006},[6995,26065,7746],{"class":7000},[6995,26067,6679],{"class":7006},[6995,26069,7030],{"class":7000},[6995,26071,26072,26074,26076],{"class":244,"line":7033},[6995,26073,7732],{"class":7006},[6995,26075,7746],{"class":7000},[6995,26077,18734],{"class":7012},[6995,26079,26080],{"class":244,"line":7044},[6995,26081,7047],{"class":7000},[41,26083,11852],{"id":11852},[34,26085,18743,26086,18747],{},[611,26087,18746],{},[34,26089,26090],{},[611,26091,6986],{},[616,26093,26094],{"className":6989,"code":18754,"language":6991,"meta":14,"style":14},[611,26095,26096,26100,26110,26120,26130,26136,26140,26148,26152],{"__ignoreMap":14},[6995,26097,26098],{"class":244,"line":6997},[6995,26099,7001],{"class":7000},[6995,26101,26102,26104,26106,26108],{"class":244,"line":15},[6995,26103,7007],{"class":7006},[6995,26105,5102],{"class":7000},[6995,26107,7013],{"class":7012},[6995,26109,7016],{"class":7000},[6995,26111,26112,26114,26116,26118],{"class":244,"line":154},[6995,26113,7021],{"class":7006},[6995,26115,7024],{"class":7000},[6995,26117,6679],{"class":7006},[6995,26119,7030],{"class":7000},[6995,26121,26122,26124,26126,26128],{"class":244,"line":7033},[6995,26123,7036],{"class":7006},[6995,26125,7024],{"class":7000},[6995,26127,18789],{"class":7012},[6995,26129,7016],{"class":7000},[6995,26131,26132,26134],{"class":244,"line":7044},[6995,26133,7529],{"class":7006},[6995,26135,7532],{"class":7000},[6995,26137,26138],{"class":244,"line":7107},[6995,26139,7537],{"class":7000},[6995,26141,26142,26144,26146],{"class":244,"line":7120},[6995,26143,7577],{"class":7006},[6995,26145,7746],{"class":7000},[6995,26147,18734],{"class":7012},[6995,26149,26150],{"class":244,"line":7133},[6995,26151,7615],{"class":7000},[6995,26153,26154],{"class":244,"line":7146},[6995,26155,7047],{"class":7000},[34,26157,26158],{},[611,26159,7052],{},[616,26161,26162],{"className":6989,"code":18824,"language":6991,"meta":14,"style":14},[611,26163,26164,26168,26178,26188,26194,26198,26208,26218,26228,26236,26240],{"__ignoreMap":14},[6995,26165,26166],{"class":244,"line":6997},[6995,26167,7001],{"class":7000},[6995,26169,26170,26172,26174,26176],{"class":244,"line":15},[6995,26171,7007],{"class":7006},[6995,26173,5102],{"class":7000},[6995,26175,7013],{"class":7012},[6995,26177,7016],{"class":7000},[6995,26179,26180,26182,26184,26186],{"class":244,"line":154},[6995,26181,7021],{"class":7006},[6995,26183,7024],{"class":7000},[6995,26185,6679],{"class":7006},[6995,26187,7030],{"class":7000},[6995,26189,26190,26192],{"class":244,"line":7033},[6995,26191,7732],{"class":7006},[6995,26193,11893],{"class":7000},[6995,26195,26196],{"class":244,"line":7044},[6995,26197,7537],{"class":7000},[6995,26199,26200,26202,26204,26206],{"class":244,"line":7107},[6995,26201,11902],{"class":7006},[6995,26203,7746],{"class":7000},[6995,26205,8689],{"class":7006},[6995,26207,7030],{"class":7000},[6995,26209,26210,26212,26214,26216],{"class":244,"line":7120},[6995,26211,11913],{"class":7006},[6995,26213,7746],{"class":7000},[6995,26215,11094],{"class":7006},[6995,26217,7030],{"class":7000},[6995,26219,26220,26222,26224,26226],{"class":244,"line":7133},[6995,26221,11924],{"class":7006},[6995,26223,7024],{"class":7000},[6995,26225,11929],{"class":7012},[6995,26227,7016],{"class":7000},[6995,26229,26230,26232,26234],{"class":244,"line":7146},[6995,26231,11940],{"class":7006},[6995,26233,7024],{"class":7000},[6995,26235,18899],{"class":7006},[6995,26237,26238],{"class":244,"line":7159},[6995,26239,7615],{"class":7000},[6995,26241,26242],{"class":244,"line":7172},[6995,26243,7047],{"class":7000},[852,26245,26246,26252],{},[59,26247,26248,18914,26250,18917],{},[611,26249,11962],{},[175,26251,12194],{"href":18230},[59,26253,26254,18922,26256,12022],{},[611,26255,12018],{},[611,26257,11810],{},[41,26259,18255],{"id":18255},[34,26261,18929],{},[34,26263,26264],{},[611,26265,6986],{},[616,26267,26268],{"className":6989,"code":18936,"language":6991,"meta":14,"style":14},[611,26269,26270,26274,26284,26294,26304,26310,26314,26322,26326],{"__ignoreMap":14},[6995,26271,26272],{"class":244,"line":6997},[6995,26273,7001],{"class":7000},[6995,26275,26276,26278,26280,26282],{"class":244,"line":15},[6995,26277,7007],{"class":7006},[6995,26279,5102],{"class":7000},[6995,26281,7013],{"class":7012},[6995,26283,7016],{"class":7000},[6995,26285,26286,26288,26290,26292],{"class":244,"line":154},[6995,26287,7021],{"class":7006},[6995,26289,7024],{"class":7000},[6995,26291,18961],{"class":7006},[6995,26293,7030],{"class":7000},[6995,26295,26296,26298,26300,26302],{"class":244,"line":7033},[6995,26297,7036],{"class":7006},[6995,26299,5102],{"class":7000},[6995,26301,18972],{"class":7012},[6995,26303,7030],{"class":7000},[6995,26305,26306,26308],{"class":244,"line":7044},[6995,26307,7529],{"class":7006},[6995,26309,7532],{"class":7000},[6995,26311,26312],{"class":244,"line":7107},[6995,26313,7537],{"class":7000},[6995,26315,26316,26318,26320],{"class":244,"line":7120},[6995,26317,18989],{"class":7006},[6995,26319,7746],{"class":7000},[6995,26321,8505],{"class":7006},[6995,26323,26324],{"class":244,"line":7133},[6995,26325,7615],{"class":7000},[6995,26327,26328],{"class":244,"line":7146},[6995,26329,7047],{"class":7000},[852,26331,26332],{},[59,26333,26334,19009,26336,19012,26338,19015],{},[611,26335,19008],{},[611,26337,8689],{},[611,26339,11094],{},[34,26341,26342],{},[611,26343,7052],{},[616,26345,26346],{"className":6989,"code":19022,"language":6991,"meta":14,"style":14},[611,26347,26348,26352,26362,26372,26378,26382,26392,26402,26412,26422,26432,26442,26452,26462,26472,26482,26492,26500,26504],{"__ignoreMap":14},[6995,26349,26350],{"class":244,"line":6997},[6995,26351,7001],{"class":7000},[6995,26353,26354,26356,26358,26360],{"class":244,"line":15},[6995,26355,7021],{"class":7006},[6995,26357,7024],{"class":7000},[6995,26359,18961],{"class":7006},[6995,26361,7030],{"class":7000},[6995,26363,26364,26366,26368,26370],{"class":244,"line":154},[6995,26365,7007],{"class":7006},[6995,26367,7024],{"class":7000},[6995,26369,7013],{"class":7012},[6995,26371,7030],{"class":7000},[6995,26373,26374,26376],{"class":244,"line":7033},[6995,26375,7732],{"class":7006},[6995,26377,7532],{"class":7000},[6995,26379,26380],{"class":244,"line":7044},[6995,26381,19059],{"class":7000},[6995,26383,26384,26386,26388,26390],{"class":244,"line":7107},[6995,26385,7577],{"class":7006},[6995,26387,7024],{"class":7000},[6995,26389,19068],{"class":7012},[6995,26391,7030],{"class":7000},[6995,26393,26394,26396,26398,26400],{"class":244,"line":7120},[6995,26395,19075],{"class":7006},[6995,26397,7024],{"class":7000},[6995,26399,19080],{"class":7012},[6995,26401,7030],{"class":7000},[6995,26403,26404,26406,26408,26410],{"class":244,"line":7133},[6995,26405,19087],{"class":7006},[6995,26407,7024],{"class":7000},[6995,26409,19092],{"class":7006},[6995,26411,7030],{"class":7000},[6995,26413,26414,26416,26418,26420],{"class":244,"line":7146},[6995,26415,19099],{"class":7006},[6995,26417,7024],{"class":7000},[6995,26419,19104],{"class":7006},[6995,26421,7030],{"class":7000},[6995,26423,26424,26426,26428,26430],{"class":244,"line":7159},[6995,26425,19111],{"class":7006},[6995,26427,7024],{"class":7000},[6995,26429,8689],{"class":7006},[6995,26431,7030],{"class":7000},[6995,26433,26434,26436,26438,26440],{"class":244,"line":7172},[6995,26435,7588],{"class":7006},[6995,26437,7024],{"class":7000},[6995,26439,19080],{"class":7012},[6995,26441,7030],{"class":7000},[6995,26443,26444,26446,26448,26450],{"class":244,"line":7185},[6995,26445,18989],{"class":7006},[6995,26447,7024],{"class":7000},[6995,26449,8689],{"class":7006},[6995,26451,7030],{"class":7000},[6995,26453,26454,26456,26458,26460],{"class":244,"line":7198},[6995,26455,19142],{"class":7006},[6995,26457,7024],{"class":7000},[6995,26459,19147],{"class":7006},[6995,26461,7030],{"class":7000},[6995,26463,26464,26466,26468,26470],{"class":244,"line":7211},[6995,26465,19154],{"class":7006},[6995,26467,7024],{"class":7000},[6995,26469,19159],{"class":7012},[6995,26471,7030],{"class":7000},[6995,26473,26474,26476,26478,26480],{"class":244,"line":7220},[6995,26475,19166],{"class":7006},[6995,26477,7024],{"class":7000},[6995,26479,19171],{"class":7012},[6995,26481,7030],{"class":7000},[6995,26483,26484,26486,26488,26490],{"class":244,"line":7226},[6995,26485,11924],{"class":7006},[6995,26487,7024],{"class":7000},[6995,26489,12303],{"class":7012},[6995,26491,7030],{"class":7000},[6995,26493,26494,26496,26498],{"class":244,"line":7238},[6995,26495,19188],{"class":7006},[6995,26497,7024],{"class":7000},[6995,26499,19193],{"class":7012},[6995,26501,26502],{"class":244,"line":7250},[6995,26503,19198],{"class":7000},[6995,26505,26506],{"class":244,"line":7263},[6995,26507,7047],{"class":7000},[852,26509,26510,26514,26518,26522,26527,26533],{},[59,26511,26512,19209],{},[611,26513,738],{},[59,26515,26516,19215],{},[611,26517,19214],{},[59,26519,26520,19221],{},[611,26521,19220],{},[59,26523,26524,26526],{},[611,26525,19226],{}," identity linked to the given address. In UI and CLI called as \"wallet's signature\".",[59,26528,26529,19232,26531,19235],{},[611,26530,11962],{},[175,26532,12194],{"href":18230},[59,26534,26535,19241,26537,19244,26539,19247,26541,19250,26543,2231,26545,1475,26547,12028],{},[611,26536,19240],{},[611,26538,11989],{},[611,26540,19240],{},[611,26542,11989],{},[611,26544,11803],{},[611,26546,12010],{},[611,26548,11810],{},[48,26550,8763],{"id":19226},[34,26552,19261,26553,26555,26556,19267,26558,19271],{},[611,26554,19226],{},". From version 6.1 in UI and CLI it  called as \"wallet's signature\". The main goal of ",[611,26557,19226],{},[100,26559,19270],{},[41,26561,18239],{"id":18239},[34,26563,19276],{},[34,26565,26566],{},[611,26567,6986],{},[616,26569,26570],{"className":6989,"code":19283,"language":6991,"meta":14,"style":14},[611,26571,26572,26576,26586,26596,26606,26612,26616,26624,26628],{"__ignoreMap":14},[6995,26573,26574],{"class":244,"line":6997},[6995,26575,7001],{"class":7000},[6995,26577,26578,26580,26582,26584],{"class":244,"line":15},[6995,26579,7007],{"class":7006},[6995,26581,5102],{"class":7000},[6995,26583,7013],{"class":7012},[6995,26585,7016],{"class":7000},[6995,26587,26588,26590,26592,26594],{"class":244,"line":154},[6995,26589,7021],{"class":7006},[6995,26591,7024],{"class":7000},[6995,26593,18961],{"class":7006},[6995,26595,7030],{"class":7000},[6995,26597,26598,26600,26602,26604],{"class":244,"line":7033},[6995,26599,7036],{"class":7006},[6995,26601,5102],{"class":7000},[6995,26603,19318],{"class":7012},[6995,26605,7030],{"class":7000},[6995,26607,26608,26610],{"class":244,"line":7044},[6995,26609,7529],{"class":7006},[6995,26611,7532],{"class":7000},[6995,26613,26614],{"class":244,"line":7107},[6995,26615,7537],{"class":7000},[6995,26617,26618,26620,26622],{"class":244,"line":7120},[6995,26619,7577],{"class":7006},[6995,26621,7746],{"class":7000},[6995,26623,19193],{"class":7012},[6995,26625,26626],{"class":244,"line":7133},[6995,26627,7615],{"class":7000},[6995,26629,26630],{"class":244,"line":7146},[6995,26631,7047],{"class":7000},[34,26633,26634],{},[611,26635,7052],{},[616,26637,26638],{"className":6989,"code":19353,"language":6991,"meta":14,"style":14},[611,26639,26640,26644,26654,26664,26672],{"__ignoreMap":14},[6995,26641,26642],{"class":244,"line":6997},[6995,26643,7001],{"class":7000},[6995,26645,26646,26648,26650,26652],{"class":244,"line":15},[6995,26647,7021],{"class":7006},[6995,26649,7024],{"class":7000},[6995,26651,18961],{"class":7006},[6995,26653,7030],{"class":7000},[6995,26655,26656,26658,26660,26662],{"class":244,"line":154},[6995,26657,7007],{"class":7006},[6995,26659,7024],{"class":7000},[6995,26661,7013],{"class":7012},[6995,26663,7030],{"class":7000},[6995,26665,26666,26668,26670],{"class":244,"line":7033},[6995,26667,7732],{"class":7006},[6995,26669,7024],{"class":7000},[6995,26671,19388],{"class":7012},[6995,26673,26674],{"class":244,"line":7044},[6995,26675,7047],{"class":7000},[41,26677,18247],{"id":18247},[34,26679,19397,26680,19400,26682,19403,26684,19406],{},[611,26681,18624],{},[611,26683,18595],{},[175,26685,12194],{"href":18230},[34,26687,26688],{},[611,26689,6986],{},[616,26691,26692],{"className":6989,"code":19413,"language":6991,"meta":14,"style":14},[611,26693,26694,26698,26708,26718,26728,26734,26738,26748,26758,26766,26770],{"__ignoreMap":14},[6995,26695,26696],{"class":244,"line":6997},[6995,26697,7001],{"class":7000},[6995,26699,26700,26702,26704,26706],{"class":244,"line":15},[6995,26701,7007],{"class":7006},[6995,26703,5102],{"class":7000},[6995,26705,7013],{"class":7012},[6995,26707,7016],{"class":7000},[6995,26709,26710,26712,26714,26716],{"class":244,"line":154},[6995,26711,7021],{"class":7006},[6995,26713,7024],{"class":7000},[6995,26715,18961],{"class":7006},[6995,26717,7030],{"class":7000},[6995,26719,26720,26722,26724,26726],{"class":244,"line":7033},[6995,26721,7036],{"class":7006},[6995,26723,5102],{"class":7000},[6995,26725,19448],{"class":7012},[6995,26727,7030],{"class":7000},[6995,26729,26730,26732],{"class":244,"line":7044},[6995,26731,7529],{"class":7006},[6995,26733,7532],{"class":7000},[6995,26735,26736],{"class":244,"line":7107},[6995,26737,7537],{"class":7000},[6995,26739,26740,26742,26744,26746],{"class":244,"line":7120},[6995,26741,7577],{"class":7006},[6995,26743,7746],{"class":7000},[6995,26745,19068],{"class":7012},[6995,26747,7030],{"class":7000},[6995,26749,26750,26752,26754,26756],{"class":244,"line":7133},[6995,26751,7588],{"class":7006},[6995,26753,7746],{"class":7000},[6995,26755,18523],{"class":7012},[6995,26757,7030],{"class":7000},[6995,26759,26760,26762,26764],{"class":244,"line":7146},[6995,26761,12268],{"class":7006},[6995,26763,7746],{"class":7000},[6995,26765,19489],{"class":7012},[6995,26767,26768],{"class":244,"line":7159},[6995,26769,7615],{"class":7000},[6995,26771,26772],{"class":244,"line":7172},[6995,26773,7047],{"class":7000},[34,26775,26776],{},[611,26777,7052],{},[616,26779,26780],{"className":6989,"code":19353,"language":6991,"meta":14,"style":14},[611,26781,26782,26786,26796,26806,26814],{"__ignoreMap":14},[6995,26783,26784],{"class":244,"line":6997},[6995,26785,7001],{"class":7000},[6995,26787,26788,26790,26792,26794],{"class":244,"line":15},[6995,26789,7021],{"class":7006},[6995,26791,7024],{"class":7000},[6995,26793,18961],{"class":7006},[6995,26795,7030],{"class":7000},[6995,26797,26798,26800,26802,26804],{"class":244,"line":154},[6995,26799,7007],{"class":7006},[6995,26801,7024],{"class":7000},[6995,26803,7013],{"class":7012},[6995,26805,7030],{"class":7000},[6995,26807,26808,26810,26812],{"class":244,"line":7033},[6995,26809,7732],{"class":7006},[6995,26811,7024],{"class":7000},[6995,26813,19388],{"class":7012},[6995,26815,26816],{"class":244,"line":7044},[6995,26817,7047],{"class":7000},[41,26819,6905],{"id":6905},[34,26821,19546],{},[34,26823,26824],{},[611,26825,6986],{},[616,26827,26828],{"className":6989,"code":19553,"language":6991,"meta":14,"style":14},[611,26829,26830,26834,26844,26854,26864,26870,26874,26884,26894,26904,26914,26924,26934,26942,26946],{"__ignoreMap":14},[6995,26831,26832],{"class":244,"line":6997},[6995,26833,7001],{"class":7000},[6995,26835,26836,26838,26840,26842],{"class":244,"line":15},[6995,26837,7007],{"class":7006},[6995,26839,5102],{"class":7000},[6995,26841,7013],{"class":7012},[6995,26843,7016],{"class":7000},[6995,26845,26846,26848,26850,26852],{"class":244,"line":154},[6995,26847,7021],{"class":7006},[6995,26849,7024],{"class":7000},[6995,26851,7511],{"class":7006},[6995,26853,7030],{"class":7000},[6995,26855,26856,26858,26860,26862],{"class":244,"line":7033},[6995,26857,7036],{"class":7006},[6995,26859,5102],{"class":7000},[6995,26861,7522],{"class":7012},[6995,26863,7016],{"class":7000},[6995,26865,26866,26868],{"class":244,"line":7044},[6995,26867,7529],{"class":7006},[6995,26869,7532],{"class":7000},[6995,26871,26872],{"class":244,"line":7107},[6995,26873,7537],{"class":7000},[6995,26875,26876,26878,26880,26882],{"class":244,"line":7120},[6995,26877,7542],{"class":7006},[6995,26879,7024],{"class":7000},[6995,26881,7547],{"class":7006},[6995,26883,7030],{"class":7000},[6995,26885,26886,26888,26890,26892],{"class":244,"line":7133},[6995,26887,7554],{"class":7006},[6995,26889,7024],{"class":7000},[6995,26891,7511],{"class":7006},[6995,26893,7030],{"class":7000},[6995,26895,26896,26898,26900,26902],{"class":244,"line":7146},[6995,26897,7565],{"class":7006},[6995,26899,7024],{"class":7000},[6995,26901,7570],{"class":7012},[6995,26903,7030],{"class":7000},[6995,26905,26906,26908,26910,26912],{"class":244,"line":7159},[6995,26907,7577],{"class":7006},[6995,26909,7024],{"class":7000},[6995,26911,7570],{"class":7012},[6995,26913,7030],{"class":7000},[6995,26915,26916,26918,26920,26922],{"class":244,"line":7172},[6995,26917,7588],{"class":7006},[6995,26919,7024],{"class":7000},[6995,26921,7593],{"class":7012},[6995,26923,7030],{"class":7000},[6995,26925,26926,26928,26930,26932],{"class":244,"line":7185},[6995,26927,7229],{"class":7006},[6995,26929,7024],{"class":7000},[6995,26931,6679],{"class":7006},[6995,26933,7030],{"class":7000},[6995,26935,26936,26938,26940],{"class":244,"line":7198},[6995,26937,12158],{"class":7006},[6995,26939,7024],{"class":7000},[6995,26941,19668],{"class":7006},[6995,26943,26944],{"class":244,"line":7211},[6995,26945,7615],{"class":7000},[6995,26947,26948],{"class":244,"line":7220},[6995,26949,7047],{"class":7000},[852,26951,26952,26956,26960,26964,26974,26978,26982,26990],{},[59,26953,26954,19683],{},[611,26955,8141],{},[59,26957,26958,19688],{},[611,26959,8147],{},[59,26961,26962,19694],{},[611,26963,19693],{},[59,26965,26966,19699,26968,19702,26970,1475,26972,181],{},[611,26967,738],{},[100,26969,11775],{},[611,26971,738],{},[611,26973,19226],{},[59,26975,26976,19711],{},[611,26977,18624],{},[59,26979,26980,19716],{},[611,26981,8158],{},[59,26983,26984,19721,26986,19724,26988,19727],{},[611,26985,6869],{},[611,26987,6869],{},[611,26989,4979],{},[59,26991,26992,19732,26994,19736,26996,19739],{},[611,26993,11810],{},[611,26995,19735],{},[611,26997,11810],{},[34,26999,19742,27000,19745,27002,19749],{},[611,27001,14350],{},[611,27003,19748],{},[34,27005,27006],{},[611,27007,7052],{},[616,27009,27010],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,27011,27012,27016,27026,27036,27042,27046,27054,27058],{"__ignoreMap":14},[6995,27013,27014],{"class":244,"line":6997},[6995,27015,7001],{"class":7000},[6995,27017,27018,27020,27022,27024],{"class":244,"line":15},[6995,27019,7007],{"class":7006},[6995,27021,5102],{"class":7000},[6995,27023,7013],{"class":7012},[6995,27025,7016],{"class":7000},[6995,27027,27028,27030,27032,27034],{"class":244,"line":154},[6995,27029,7021],{"class":7006},[6995,27031,7024],{"class":7000},[6995,27033,7511],{"class":7006},[6995,27035,7030],{"class":7000},[6995,27037,27038,27040],{"class":244,"line":7033},[6995,27039,7732],{"class":7006},[6995,27041,7532],{"class":7000},[6995,27043,27044],{"class":244,"line":7044},[6995,27045,7537],{"class":7000},[6995,27047,27048,27050,27052],{"class":244,"line":7107},[6995,27049,7743],{"class":7006},[6995,27051,7746],{"class":7000},[6995,27053,7749],{"class":7012},[6995,27055,27056],{"class":244,"line":7120},[6995,27057,7615],{"class":7000},[6995,27059,27060],{"class":244,"line":7133},[6995,27061,7047],{"class":7000},[34,27063,8221,27064,181],{},[175,27065,7985],{"href":19812},[41,27067,6910],{"id":6910},[34,27069,19817],{},[34,27071,19820,27072,19824],{},[611,27073,19823],{},[34,27075,27076],{},[611,27077,6986],{},[616,27079,27080],{"className":6989,"code":19831,"language":6991,"meta":14,"style":14},[611,27081,27082,27086,27096,27106,27116,27122,27126,27148,27158,27166,27170],{"__ignoreMap":14},[6995,27083,27084],{"class":244,"line":6997},[6995,27085,7001],{"class":7000},[6995,27087,27088,27090,27092,27094],{"class":244,"line":15},[6995,27089,7007],{"class":7006},[6995,27091,5102],{"class":7000},[6995,27093,7013],{"class":7012},[6995,27095,7016],{"class":7000},[6995,27097,27098,27100,27102,27104],{"class":244,"line":154},[6995,27099,7021],{"class":7006},[6995,27101,7024],{"class":7000},[6995,27103,14095],{"class":7006},[6995,27105,7030],{"class":7000},[6995,27107,27108,27110,27112,27114],{"class":244,"line":7033},[6995,27109,7036],{"class":7006},[6995,27111,5102],{"class":7000},[6995,27113,19866],{"class":7012},[6995,27115,7016],{"class":7000},[6995,27117,27118,27120],{"class":244,"line":7044},[6995,27119,7529],{"class":7006},[6995,27121,7532],{"class":7000},[6995,27123,27124],{"class":244,"line":7107},[6995,27125,7537],{"class":7000},[6995,27127,27128,27130,27132,27134,27136,27138,27140,27142,27144,27146],{"class":244,"line":7120},[6995,27129,19883],{"class":7006},[6995,27131,19886],{"class":7000},[6995,27133,19889],{"class":7006},[6995,27135,2231],{"class":7000},[6995,27137,8566],{"class":7006},[6995,27139,2231],{"class":7000},[6995,27141,19898],{"class":7006},[6995,27143,2231],{"class":7000},[6995,27145,19903],{"class":7006},[6995,27147,19906],{"class":7000},[6995,27149,27150,27152,27154,27156],{"class":244,"line":7133},[6995,27151,7554],{"class":7006},[6995,27153,7746],{"class":7000},[6995,27155,10984],{"class":7006},[6995,27157,7030],{"class":7000},[6995,27159,27160,27162,27164],{"class":244,"line":7146},[6995,27161,7229],{"class":7006},[6995,27163,7024],{"class":7000},[6995,27165,7686],{"class":7006},[6995,27167,27168],{"class":244,"line":7159},[6995,27169,7615],{"class":7000},[6995,27171,27172],{"class":244,"line":7172},[6995,27173,7047],{"class":7000},[34,27175,27176],{},[611,27177,7052],{},[616,27179,27180],{"className":6989,"code":19939,"language":6991,"meta":14,"style":14},[611,27181,27182,27186,27196,27206,27212,27216,27224,27228],{"__ignoreMap":14},[6995,27183,27184],{"class":244,"line":6997},[6995,27185,7001],{"class":7000},[6995,27187,27188,27190,27192,27194],{"class":244,"line":15},[6995,27189,7007],{"class":7006},[6995,27191,5102],{"class":7000},[6995,27193,7013],{"class":7012},[6995,27195,7016],{"class":7000},[6995,27197,27198,27200,27202,27204],{"class":244,"line":154},[6995,27199,7021],{"class":7006},[6995,27201,7024],{"class":7000},[6995,27203,14095],{"class":7006},[6995,27205,7030],{"class":7000},[6995,27207,27208,27210],{"class":244,"line":7033},[6995,27209,7732],{"class":7006},[6995,27211,7532],{"class":7000},[6995,27213,27214],{"class":244,"line":7044},[6995,27215,7537],{"class":7000},[6995,27217,27218,27220,27222],{"class":244,"line":7107},[6995,27219,7743],{"class":7006},[6995,27221,7746],{"class":7000},[6995,27223,7749],{"class":7012},[6995,27225,27226],{"class":244,"line":7120},[6995,27227,7615],{"class":7000},[6995,27229,27230],{"class":244,"line":7133},[6995,27231,7047],{"class":7000},[852,27233,27234,27238,27242,27246],{},[59,27235,27236,19998],{},[611,27237,8147],{},[59,27239,27240,20003],{},[611,27241,14350],{},[59,27243,27244,20008],{},[611,27245,8158],{},[59,27247,27248,20013,27250,19724,27252,19727],{},[611,27249,6869],{},[611,27251,6869],{},[611,27253,4979],{},[41,27255,6920],{"id":6920},[34,27257,20022,27258,19727],{},[611,27259,4979],{},[34,27261,20027,27262,8054],{},[175,27263,6930],{"href":8044},[34,27265,27266],{},[611,27267,6986],{},[616,27269,27270],{"className":6989,"code":8061,"language":6991,"meta":14,"style":14},[611,27271,27272,27276,27286,27296,27306,27312,27316,27326,27334,27338],{"__ignoreMap":14},[6995,27273,27274],{"class":244,"line":6997},[6995,27275,7001],{"class":7000},[6995,27277,27278,27280,27282,27284],{"class":244,"line":15},[6995,27279,7007],{"class":7006},[6995,27281,7024],{"class":7000},[6995,27283,7013],{"class":7012},[6995,27285,7016],{"class":7000},[6995,27287,27288,27290,27292,27294],{"class":244,"line":154},[6995,27289,7021],{"class":7006},[6995,27291,7024],{"class":7000},[6995,27293,7511],{"class":7006},[6995,27295,7030],{"class":7000},[6995,27297,27298,27300,27302,27304],{"class":244,"line":7033},[6995,27299,7036],{"class":7006},[6995,27301,7024],{"class":7000},[6995,27303,8096],{"class":7012},[6995,27305,7016],{"class":7000},[6995,27307,27308,27310],{"class":244,"line":7044},[6995,27309,7529],{"class":7006},[6995,27311,7532],{"class":7000},[6995,27313,27314],{"class":244,"line":7107},[6995,27315,7537],{"class":7000},[6995,27317,27318,27320,27322,27324],{"class":244,"line":7120},[6995,27319,7542],{"class":7006},[6995,27321,7024],{"class":7000},[6995,27323,7027],{"class":7006},[6995,27325,7030],{"class":7000},[6995,27327,27328,27330,27332],{"class":244,"line":7133},[6995,27329,7229],{"class":7006},[6995,27331,7024],{"class":7000},[6995,27333,7686],{"class":7006},[6995,27335,27336],{"class":244,"line":7146},[6995,27337,7615],{"class":7000},[6995,27339,27340],{"class":244,"line":7159},[6995,27341,7047],{"class":7000},[852,27343,27344,27348,27352,27356,27360],{},[59,27345,27346,8142],{},[611,27347,8141],{},[59,27349,27350,8148],{},[611,27351,8147],{},[59,27353,27354,8153],{},[611,27355,6869],{},[59,27357,27358,8159],{},[611,27359,8158],{},[59,27361,27362,20131],{},[611,27363,20130],{},[34,27365,20134,27366,20137,27368],{},[611,27367,14350],{},[611,27369,19748],{},[34,27371,27372],{},[611,27373,7052],{},[616,27375,27376],{"className":6989,"code":8166,"language":6991,"meta":14,"style":14},[611,27377,27378,27382,27392,27402,27408,27412,27420,27424],{"__ignoreMap":14},[6995,27379,27380],{"class":244,"line":6997},[6995,27381,7001],{"class":7000},[6995,27383,27384,27386,27388,27390],{"class":244,"line":15},[6995,27385,7007],{"class":7006},[6995,27387,7024],{"class":7000},[6995,27389,7013],{"class":7012},[6995,27391,7016],{"class":7000},[6995,27393,27394,27396,27398,27400],{"class":244,"line":154},[6995,27395,7021],{"class":7006},[6995,27397,7024],{"class":7000},[6995,27399,7511],{"class":7006},[6995,27401,7030],{"class":7000},[6995,27403,27404,27406],{"class":244,"line":7033},[6995,27405,7732],{"class":7006},[6995,27407,7532],{"class":7000},[6995,27409,27410],{"class":244,"line":7044},[6995,27411,7537],{"class":7000},[6995,27413,27414,27416,27418],{"class":244,"line":7107},[6995,27415,7743],{"class":7006},[6995,27417,7746],{"class":7000},[6995,27419,7749],{"class":7012},[6995,27421,27422],{"class":244,"line":7120},[6995,27423,7615],{"class":7000},[6995,27425,27426],{"class":244,"line":7133},[6995,27427,7047],{"class":7000},[34,27429,8221,27430,181],{},[175,27431,7985],{"href":19812},[41,27433,6925],{"id":6925},[34,27435,20022,27436,19727],{},[611,27437,4979],{},[34,27439,20210,27440,20213],{},[175,27441,6930],{"href":8044},[34,27443,27444],{},[611,27445,6986],{},[616,27447,27448],{"className":6989,"code":8236,"language":6991,"meta":14,"style":14},[611,27449,27450,27454,27464,27474,27484,27490,27494,27504,27512,27516],{"__ignoreMap":14},[6995,27451,27452],{"class":244,"line":6997},[6995,27453,7001],{"class":7000},[6995,27455,27456,27458,27460,27462],{"class":244,"line":15},[6995,27457,7007],{"class":7006},[6995,27459,5102],{"class":7000},[6995,27461,7013],{"class":7012},[6995,27463,7016],{"class":7000},[6995,27465,27466,27468,27470,27472],{"class":244,"line":154},[6995,27467,7021],{"class":7006},[6995,27469,7024],{"class":7000},[6995,27471,7511],{"class":7006},[6995,27473,7030],{"class":7000},[6995,27475,27476,27478,27480,27482],{"class":244,"line":7033},[6995,27477,7036],{"class":7006},[6995,27479,5102],{"class":7000},[6995,27481,8271],{"class":7012},[6995,27483,7016],{"class":7000},[6995,27485,27486,27488],{"class":244,"line":7044},[6995,27487,7529],{"class":7006},[6995,27489,7532],{"class":7000},[6995,27491,27492],{"class":244,"line":7107},[6995,27493,7537],{"class":7000},[6995,27495,27496,27498,27500,27502],{"class":244,"line":7120},[6995,27497,7542],{"class":7006},[6995,27499,7024],{"class":7000},[6995,27501,7027],{"class":7006},[6995,27503,7030],{"class":7000},[6995,27505,27506,27508,27510],{"class":244,"line":7133},[6995,27507,7229],{"class":7006},[6995,27509,7024],{"class":7000},[6995,27511,7686],{"class":7006},[6995,27513,27514],{"class":244,"line":7146},[6995,27515,7615],{"class":7000},[6995,27517,27518],{"class":244,"line":7159},[6995,27519,7047],{"class":7000},[852,27521,27522,27526,27530,27534,27538],{},[59,27523,27524,8316],{},[611,27525,8141],{},[59,27527,27528,8321],{},[611,27529,8147],{},[59,27531,27532,8326],{},[611,27533,6869],{},[59,27535,27536,8331],{},[611,27537,8158],{},[59,27539,27540,20314],{},[611,27541,20130],{},[34,27543,20317,27544,20137,27546,20322],{},[611,27545,14350],{},[611,27547,19748],{},[34,27549,27550],{},[611,27551,7052],{},[616,27553,27554],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,27555,27556,27560,27570,27580,27586,27590,27598,27602],{"__ignoreMap":14},[6995,27557,27558],{"class":244,"line":6997},[6995,27559,7001],{"class":7000},[6995,27561,27562,27564,27566,27568],{"class":244,"line":15},[6995,27563,7007],{"class":7006},[6995,27565,5102],{"class":7000},[6995,27567,7013],{"class":7012},[6995,27569,7016],{"class":7000},[6995,27571,27572,27574,27576,27578],{"class":244,"line":154},[6995,27573,7021],{"class":7006},[6995,27575,7024],{"class":7000},[6995,27577,7511],{"class":7006},[6995,27579,7030],{"class":7000},[6995,27581,27582,27584],{"class":244,"line":7033},[6995,27583,7732],{"class":7006},[6995,27585,7532],{"class":7000},[6995,27587,27588],{"class":244,"line":7044},[6995,27589,7537],{"class":7000},[6995,27591,27592,27594,27596],{"class":244,"line":7107},[6995,27593,7743],{"class":7006},[6995,27595,7746],{"class":7000},[6995,27597,7749],{"class":7012},[6995,27599,27600],{"class":244,"line":7120},[6995,27601,7615],{"class":7000},[6995,27603,27604],{"class":244,"line":7133},[6995,27605,7047],{"class":7000},[34,27607,8221,27608,181],{},[175,27609,7985],{"href":19812},[41,27611,6930],{"id":6930},[34,27613,20022,27614,19727],{},[611,27615,4979],{},[34,27617,20393,27618,20396],{},[175,27619,6935],{"href":18363},[34,27621,27622],{},[611,27623,6986],{},[616,27625,27626],{"className":6989,"code":7629,"language":6991,"meta":14,"style":14},[611,27627,27628,27632,27642,27652,27662,27668,27672,27680,27684],{"__ignoreMap":14},[6995,27629,27630],{"class":244,"line":6997},[6995,27631,7001],{"class":7000},[6995,27633,27634,27636,27638,27640],{"class":244,"line":15},[6995,27635,7007],{"class":7006},[6995,27637,5102],{"class":7000},[6995,27639,7013],{"class":7012},[6995,27641,7016],{"class":7000},[6995,27643,27644,27646,27648,27650],{"class":244,"line":154},[6995,27645,7021],{"class":7006},[6995,27647,7024],{"class":7000},[6995,27649,7511],{"class":7006},[6995,27651,7030],{"class":7000},[6995,27653,27654,27656,27658,27660],{"class":244,"line":7033},[6995,27655,7036],{"class":7006},[6995,27657,7024],{"class":7000},[6995,27659,7664],{"class":7012},[6995,27661,7030],{"class":7000},[6995,27663,27664,27666],{"class":244,"line":7044},[6995,27665,7529],{"class":7006},[6995,27667,7673],{"class":7000},[6995,27669,27670],{"class":244,"line":7107},[6995,27671,7537],{"class":7000},[6995,27673,27674,27676,27678],{"class":244,"line":7120},[6995,27675,7229],{"class":7006},[6995,27677,7024],{"class":7000},[6995,27679,7686],{"class":7006},[6995,27681,27682],{"class":244,"line":7133},[6995,27683,7615],{"class":7000},[6995,27685,27686],{"class":244,"line":7146},[6995,27687,7047],{"class":7000},[852,27689,27690,27694,27698],{},[59,27691,27692,7838],{},[611,27693,6869],{},[59,27695,27696,8331],{},[611,27697,8158],{},[59,27699,27700,20314],{},[611,27701,20130],{},[34,27703,20481],{},[34,27705,27706],{},[611,27707,7052],{},[616,27709,27710],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,27711,27712,27716,27726,27736,27742,27746,27754,27758],{"__ignoreMap":14},[6995,27713,27714],{"class":244,"line":6997},[6995,27715,7001],{"class":7000},[6995,27717,27718,27720,27722,27724],{"class":244,"line":15},[6995,27719,7007],{"class":7006},[6995,27721,5102],{"class":7000},[6995,27723,7013],{"class":7012},[6995,27725,7016],{"class":7000},[6995,27727,27728,27730,27732,27734],{"class":244,"line":154},[6995,27729,7021],{"class":7006},[6995,27731,7024],{"class":7000},[6995,27733,7511],{"class":7006},[6995,27735,7030],{"class":7000},[6995,27737,27738,27740],{"class":244,"line":7033},[6995,27739,7732],{"class":7006},[6995,27741,7532],{"class":7000},[6995,27743,27744],{"class":244,"line":7044},[6995,27745,7537],{"class":7000},[6995,27747,27748,27750,27752],{"class":244,"line":7107},[6995,27749,7743],{"class":7006},[6995,27751,7746],{"class":7000},[6995,27753,7749],{"class":7012},[6995,27755,27756],{"class":244,"line":7120},[6995,27757,7615],{"class":7000},[6995,27759,27760],{"class":244,"line":7133},[6995,27761,7047],{"class":7000},[34,27763,8221,27764,181],{},[175,27765,7985],{"href":19812},[41,27767,18306],{"id":18306},[34,27769,20548],{},[34,27771,27772],{},[611,27773,6986],{},[616,27775,27776],{"className":6989,"code":20555,"language":6991,"meta":14,"style":14},[611,27777,27778,27782,27792,27802,27812,27818,27822,27830,27834],{"__ignoreMap":14},[6995,27779,27780],{"class":244,"line":6997},[6995,27781,7001],{"class":7000},[6995,27783,27784,27786,27788,27790],{"class":244,"line":15},[6995,27785,7007],{"class":7006},[6995,27787,5102],{"class":7000},[6995,27789,7013],{"class":7012},[6995,27791,7016],{"class":7000},[6995,27793,27794,27796,27798,27800],{"class":244,"line":154},[6995,27795,7021],{"class":7006},[6995,27797,7024],{"class":7000},[6995,27799,8439],{"class":7006},[6995,27801,7030],{"class":7000},[6995,27803,27804,27806,27808,27810],{"class":244,"line":7033},[6995,27805,7036],{"class":7006},[6995,27807,5102],{"class":7000},[6995,27809,20590],{"class":7012},[6995,27811,7016],{"class":7000},[6995,27813,27814,27816],{"class":244,"line":7044},[6995,27815,7529],{"class":7006},[6995,27817,7532],{"class":7000},[6995,27819,27820],{"class":244,"line":7107},[6995,27821,7537],{"class":7000},[6995,27823,27824,27826,27828],{"class":244,"line":7120},[6995,27825,7743],{"class":7006},[6995,27827,7746],{"class":7000},[6995,27829,20611],{"class":7012},[6995,27831,27832],{"class":244,"line":7133},[6995,27833,7615],{"class":7000},[6995,27835,27836],{"class":244,"line":7146},[6995,27837,7047],{"class":7000},[852,27839,27840],{},[59,27841,27842,20626],{},[611,27843,8158],{},[34,27845,27846],{},[611,27847,7052],{},[616,27849,27850],{"className":6989,"code":20633,"language":6991,"meta":14,"style":14},[611,27851,27852,27856,27866,27876,27884],{"__ignoreMap":14},[6995,27853,27854],{"class":244,"line":6997},[6995,27855,7001],{"class":7000},[6995,27857,27858,27860,27862,27864],{"class":244,"line":15},[6995,27859,7007],{"class":7006},[6995,27861,5102],{"class":7000},[6995,27863,7013],{"class":7012},[6995,27865,7016],{"class":7000},[6995,27867,27868,27870,27872,27874],{"class":244,"line":154},[6995,27869,7021],{"class":7006},[6995,27871,7024],{"class":7000},[6995,27873,8439],{"class":7006},[6995,27875,7030],{"class":7000},[6995,27877,27878,27880,27882],{"class":244,"line":7033},[6995,27879,7732],{"class":7006},[6995,27881,7024],{"class":7000},[6995,27883,8505],{"class":7006},[6995,27885,27886],{"class":244,"line":7044},[6995,27887,7047],{"class":7000},[34,27889,20674,27890,20677,27892,20680],{},[611,27891,8689],{},[175,27893,7985],{"href":19812},[41,27895,18314],{"id":18314},[34,27897,20685],{},[34,27899,27900],{},[611,27901,6986],{},[616,27903,27904],{"className":6989,"code":20692,"language":6991,"meta":14,"style":14},[611,27905,27906,27910,27920,27930,27940,27946,27950,27958,27962],{"__ignoreMap":14},[6995,27907,27908],{"class":244,"line":6997},[6995,27909,7001],{"class":7000},[6995,27911,27912,27914,27916,27918],{"class":244,"line":15},[6995,27913,7007],{"class":7006},[6995,27915,5102],{"class":7000},[6995,27917,7013],{"class":7012},[6995,27919,7016],{"class":7000},[6995,27921,27922,27924,27926,27928],{"class":244,"line":154},[6995,27923,7021],{"class":7006},[6995,27925,7024],{"class":7000},[6995,27927,8439],{"class":7006},[6995,27929,7030],{"class":7000},[6995,27931,27932,27934,27936,27938],{"class":244,"line":7033},[6995,27933,7036],{"class":7006},[6995,27935,5102],{"class":7000},[6995,27937,20727],{"class":7012},[6995,27939,7016],{"class":7000},[6995,27941,27942,27944],{"class":244,"line":7044},[6995,27943,7529],{"class":7006},[6995,27945,7532],{"class":7000},[6995,27947,27948],{"class":244,"line":7107},[6995,27949,7537],{"class":7000},[6995,27951,27952,27954,27956],{"class":244,"line":7120},[6995,27953,7743],{"class":7006},[6995,27955,7746],{"class":7000},[6995,27957,20611],{"class":7012},[6995,27959,27960],{"class":244,"line":7133},[6995,27961,7615],{"class":7000},[6995,27963,27964],{"class":244,"line":7146},[6995,27965,7047],{"class":7000},[852,27967,27968],{},[59,27969,27970,20762],{},[611,27971,8158],{},[34,27973,27974],{},[611,27975,7052],{},[616,27977,27978],{"className":6989,"code":20633,"language":6991,"meta":14,"style":14},[611,27979,27980,27984,27994,28004,28012],{"__ignoreMap":14},[6995,27981,27982],{"class":244,"line":6997},[6995,27983,7001],{"class":7000},[6995,27985,27986,27988,27990,27992],{"class":244,"line":15},[6995,27987,7007],{"class":7006},[6995,27989,5102],{"class":7000},[6995,27991,7013],{"class":7012},[6995,27993,7016],{"class":7000},[6995,27995,27996,27998,28000,28002],{"class":244,"line":154},[6995,27997,7021],{"class":7006},[6995,27999,7024],{"class":7000},[6995,28001,8439],{"class":7006},[6995,28003,7030],{"class":7000},[6995,28005,28006,28008,28010],{"class":244,"line":7033},[6995,28007,7732],{"class":7006},[6995,28009,7024],{"class":7000},[6995,28011,8505],{"class":7006},[6995,28013,28014],{"class":244,"line":7044},[6995,28015,7047],{"class":7000},[34,28017,20674,28018,20811,28020,20680],{},[611,28019,8689],{},[175,28021,7985],{"href":19812},[41,28023,18293],{"id":18293},[34,28025,20818,28026,20821],{},[175,28027,18327],{"href":18326},[34,28029,28030],{},[611,28031,6986],{},[616,28033,28034],{"className":6989,"code":20828,"language":6991,"meta":14,"style":14},[611,28035,28036,28040,28050,28060,28070,28076,28080,28090,28094],{"__ignoreMap":14},[6995,28037,28038],{"class":244,"line":6997},[6995,28039,7001],{"class":7000},[6995,28041,28042,28044,28046,28048],{"class":244,"line":15},[6995,28043,7007],{"class":7006},[6995,28045,5102],{"class":7000},[6995,28047,7013],{"class":7012},[6995,28049,7016],{"class":7000},[6995,28051,28052,28054,28056,28058],{"class":244,"line":154},[6995,28053,7021],{"class":7006},[6995,28055,7024],{"class":7000},[6995,28057,8439],{"class":7006},[6995,28059,7030],{"class":7000},[6995,28061,28062,28064,28066,28068],{"class":244,"line":7033},[6995,28063,7036],{"class":7006},[6995,28065,5102],{"class":7000},[6995,28067,20863],{"class":7012},[6995,28069,7016],{"class":7000},[6995,28071,28072,28074],{"class":244,"line":7044},[6995,28073,7529],{"class":7006},[6995,28075,7532],{"class":7000},[6995,28077,28078],{"class":244,"line":7107},[6995,28079,7537],{"class":7000},[6995,28081,28082,28084,28086,28088],{"class":244,"line":7120},[6995,28083,7743],{"class":7006},[6995,28085,7746],{"class":7000},[6995,28087,20884],{"class":7012},[6995,28089,15002],{"class":7000},[6995,28091,28092],{"class":244,"line":7133},[6995,28093,7615],{"class":7000},[6995,28095,28096],{"class":244,"line":7146},[6995,28097,7047],{"class":7000},[34,28099,28100],{},[611,28101,7052],{},[616,28103,28104],{"className":6989,"code":20901,"language":6991,"meta":14,"style":14},[611,28105,28106,28110,28120,28130,28136,28140,28150,28160,28170,28180,28190,28200,28210,28220,28230,28240,28250,28260,28270,28280,28290,28300,28310,28318,28322],{"__ignoreMap":14},[6995,28107,28108],{"class":244,"line":6997},[6995,28109,7001],{"class":7000},[6995,28111,28112,28114,28116,28118],{"class":244,"line":15},[6995,28113,7007],{"class":7006},[6995,28115,5102],{"class":7000},[6995,28117,7013],{"class":7012},[6995,28119,7016],{"class":7000},[6995,28121,28122,28124,28126,28128],{"class":244,"line":154},[6995,28123,7021],{"class":7006},[6995,28125,7024],{"class":7000},[6995,28127,8439],{"class":7006},[6995,28129,7030],{"class":7000},[6995,28131,28132,28134],{"class":244,"line":7033},[6995,28133,7732],{"class":7006},[6995,28135,7532],{"class":7000},[6995,28137,28138],{"class":244,"line":7044},[6995,28139,20938],{"class":7000},[6995,28141,28142,28144,28146,28148],{"class":244,"line":7107},[6995,28143,7743],{"class":7006},[6995,28145,7746],{"class":7000},[6995,28147,20884],{"class":7012},[6995,28149,7030],{"class":7000},[6995,28151,28152,28154,28156,28158],{"class":244,"line":7120},[6995,28153,7229],{"class":7006},[6995,28155,7024],{"class":7000},[6995,28157,7180],{"class":7006},[6995,28159,7030],{"class":7000},[6995,28161,28162,28164,28166,28168],{"class":244,"line":7133},[6995,28163,7588],{"class":7006},[6995,28165,7024],{"class":7000},[6995,28167,19080],{"class":7012},[6995,28169,7030],{"class":7000},[6995,28171,28172,28174,28176,28178],{"class":244,"line":7146},[6995,28173,7554],{"class":7006},[6995,28175,7024],{"class":7000},[6995,28177,10984],{"class":7006},[6995,28179,7030],{"class":7000},[6995,28181,28182,28184,28186,28188],{"class":244,"line":7159},[6995,28183,20983],{"class":7006},[6995,28185,7024],{"class":7000},[6995,28187,20988],{"class":7012},[6995,28189,7030],{"class":7000},[6995,28191,28192,28194,28196,28198],{"class":244,"line":7172},[6995,28193,20995],{"class":7006},[6995,28195,7024],{"class":7000},[6995,28197,7570],{"class":7012},[6995,28199,7030],{"class":7000},[6995,28201,28202,28204,28206,28208],{"class":244,"line":7185},[6995,28203,21006],{"class":7006},[6995,28205,7024],{"class":7000},[6995,28207,21011],{"class":7012},[6995,28209,7030],{"class":7000},[6995,28211,28212,28214,28216,28218],{"class":244,"line":7198},[6995,28213,21018],{"class":7006},[6995,28215,7024],{"class":7000},[6995,28217,8439],{"class":7006},[6995,28219,7030],{"class":7000},[6995,28221,28222,28224,28226,28228],{"class":244,"line":7211},[6995,28223,21029],{"class":7006},[6995,28225,7746],{"class":7000},[6995,28227,21034],{"class":7012},[6995,28229,7030],{"class":7000},[6995,28231,28232,28234,28236,28238],{"class":244,"line":7220},[6995,28233,21041],{"class":7006},[6995,28235,7024],{"class":7000},[6995,28237,7180],{"class":7006},[6995,28239,7030],{"class":7000},[6995,28241,28242,28244,28246,28248],{"class":244,"line":7226},[6995,28243,21052],{"class":7006},[6995,28245,7024],{"class":7000},[6995,28247,21057],{"class":7012},[6995,28249,7030],{"class":7000},[6995,28251,28252,28254,28256,28258],{"class":244,"line":7238},[6995,28253,21064],{"class":7006},[6995,28255,7746],{"class":7000},[6995,28257,21069],{"class":7012},[6995,28259,7030],{"class":7000},[6995,28261,28262,28264,28266,28268],{"class":244,"line":7250},[6995,28263,7542],{"class":7006},[6995,28265,7024],{"class":7000},[6995,28267,7547],{"class":7006},[6995,28269,7030],{"class":7000},[6995,28271,28272,28274,28276,28278],{"class":244,"line":7263},[6995,28273,19087],{"class":7006},[6995,28275,7746],{"class":7000},[6995,28277,21090],{"class":7006},[6995,28279,7030],{"class":7000},[6995,28281,28282,28284,28286,28288],{"class":244,"line":7275},[6995,28283,21097],{"class":7006},[6995,28285,7746],{"class":7000},[6995,28287,11094],{"class":7006},[6995,28289,7030],{"class":7000},[6995,28291,28292,28294,28296,28298],{"class":244,"line":7288},[6995,28293,21108],{"class":7006},[6995,28295,7024],{"class":7000},[6995,28297,21113],{"class":7012},[6995,28299,7030],{"class":7000},[6995,28301,28302,28304,28306,28308],{"class":244,"line":7300},[6995,28303,21120],{"class":7006},[6995,28305,7024],{"class":7000},[6995,28307,19171],{"class":7012},[6995,28309,7030],{"class":7000},[6995,28311,28312,28314,28316],{"class":244,"line":7313},[6995,28313,21131],{"class":7006},[6995,28315,7024],{"class":7000},[6995,28317,21136],{"class":7012},[6995,28319,28320],{"class":244,"line":7325},[6995,28321,21141],{"class":7000},[6995,28323,28324],{"class":244,"line":7336},[6995,28325,7047],{"class":7000},[41,28327,18327],{"id":18327},[34,28329,21150],{},[34,28331,28332],{},[611,28333,6986],{},[616,28335,28336],{"className":6989,"code":21157,"language":6991,"meta":14,"style":14},[611,28337,28338,28342,28352,28362,28372,28378,28382,28388,28392,28402,28412,28416,28426,28434,28438],{"__ignoreMap":14},[6995,28339,28340],{"class":244,"line":6997},[6995,28341,7001],{"class":7000},[6995,28343,28344,28346,28348,28350],{"class":244,"line":15},[6995,28345,7007],{"class":7006},[6995,28347,5102],{"class":7000},[6995,28349,7013],{"class":7012},[6995,28351,7016],{"class":7000},[6995,28353,28354,28356,28358,28360],{"class":244,"line":154},[6995,28355,7021],{"class":7006},[6995,28357,7024],{"class":7000},[6995,28359,18961],{"class":7006},[6995,28361,7030],{"class":7000},[6995,28363,28364,28366,28368,28370],{"class":244,"line":7033},[6995,28365,7036],{"class":7006},[6995,28367,5102],{"class":7000},[6995,28369,21192],{"class":7012},[6995,28371,7030],{"class":7000},[6995,28373,28374,28376],{"class":244,"line":7044},[6995,28375,7529],{"class":7006},[6995,28377,7532],{"class":7000},[6995,28379,28380],{"class":244,"line":7107},[6995,28381,7537],{"class":7000},[6995,28383,28384,28386],{"class":244,"line":7120},[6995,28385,21209],{"class":7006},[6995,28387,11893],{"class":7000},[6995,28389,28390],{"class":244,"line":7133},[6995,28391,14405],{"class":7000},[6995,28393,28394,28396,28398,28400],{"class":244,"line":7146},[6995,28395,21220],{"class":7006},[6995,28397,5102],{"class":7000},[6995,28399,8439],{"class":7006},[6995,28401,7030],{"class":7000},[6995,28403,28404,28406,28408,28410],{"class":244,"line":7159},[6995,28405,21231],{"class":7006},[6995,28407,5102],{"class":7000},[6995,28409,21236],{"class":7006},[6995,28411,7030],{"class":7000},[6995,28413,28414],{"class":244,"line":7172},[6995,28415,21243],{"class":7000},[6995,28417,28418,28420,28422,28424],{"class":244,"line":7185},[6995,28419,21248],{"class":7006},[6995,28421,7746],{"class":7000},[6995,28423,7180],{"class":7006},[6995,28425,7030],{"class":7000},[6995,28427,28428,28430,28432],{"class":244,"line":7198},[6995,28429,21259],{"class":7006},[6995,28431,7746],{"class":7000},[6995,28433,21264],{"class":7006},[6995,28435,28436],{"class":244,"line":7211},[6995,28437,7615],{"class":7000},[6995,28439,28440],{"class":244,"line":7220},[6995,28441,7047],{"class":7000},[852,28443,28444,28448,28452,28456],{},[59,28445,28446,21280],{},[611,28447,21279],{},[59,28449,28450,21286],{},[611,28451,21285],{},[59,28453,28454,21291],{},[611,28455,12842],{},[59,28457,28458,21297],{},[611,28459,21296],{},[34,28461,21300,28462,2344],{},[611,28463,4979],{},[852,28465,28466],{},[59,28467,28468,21310,28470,21313],{},[611,28469,21309],{},[611,28471,21309],{},[34,28473,28474],{},[611,28475,7052],{},[616,28477,28478],{"className":6989,"code":21320,"language":6991,"meta":14,"style":14},[611,28479,28480,28484,28494,28504,28510,28514,28524,28534,28544,28554,28564,28574,28584,28594,28604,28614,28624,28634,28644,28652,28656,28660,28670,28680,28690,28700,28710,28720,28730,28740,28750,28760,28770,28780,28790,28800,28810,28818,28822,28826,28836,28846,28856,28866,28876,28886,28896,28906,28916,28926,28936,28946,28956,28966,28976,28986,28994,28998],{"__ignoreMap":14},[6995,28481,28482],{"class":244,"line":6997},[6995,28483,7001],{"class":7000},[6995,28485,28486,28488,28490,28492],{"class":244,"line":15},[6995,28487,7007],{"class":7006},[6995,28489,5102],{"class":7000},[6995,28491,7013],{"class":7012},[6995,28493,7016],{"class":7000},[6995,28495,28496,28498,28500,28502],{"class":244,"line":154},[6995,28497,7021],{"class":7006},[6995,28499,7024],{"class":7000},[6995,28501,18961],{"class":7006},[6995,28503,7030],{"class":7000},[6995,28505,28506,28508],{"class":244,"line":7033},[6995,28507,7732],{"class":7006},[6995,28509,7532],{"class":7000},[6995,28511,28512],{"class":244,"line":7044},[6995,28513,21357],{"class":7000},[6995,28515,28516,28518,28520,28522],{"class":244,"line":7107},[6995,28517,7229],{"class":7006},[6995,28519,7024],{"class":7000},[6995,28521,7180],{"class":7006},[6995,28523,7030],{"class":7000},[6995,28525,28526,28528,28530,28532],{"class":244,"line":7120},[6995,28527,7743],{"class":7006},[6995,28529,7746],{"class":7000},[6995,28531,20884],{"class":7012},[6995,28533,7030],{"class":7000},[6995,28535,28536,28538,28540,28542],{"class":244,"line":7133},[6995,28537,7588],{"class":7006},[6995,28539,7024],{"class":7000},[6995,28541,19080],{"class":7012},[6995,28543,7030],{"class":7000},[6995,28545,28546,28548,28550,28552],{"class":244,"line":7146},[6995,28547,7554],{"class":7006},[6995,28549,7024],{"class":7000},[6995,28551,7180],{"class":7006},[6995,28553,7030],{"class":7000},[6995,28555,28556,28558,28560,28562],{"class":244,"line":7159},[6995,28557,20983],{"class":7006},[6995,28559,7024],{"class":7000},[6995,28561,20988],{"class":7012},[6995,28563,7030],{"class":7000},[6995,28565,28566,28568,28570,28572],{"class":244,"line":7172},[6995,28567,20995],{"class":7006},[6995,28569,7024],{"class":7000},[6995,28571,7570],{"class":7012},[6995,28573,7030],{"class":7000},[6995,28575,28576,28578,28580,28582],{"class":244,"line":7185},[6995,28577,21006],{"class":7006},[6995,28579,7024],{"class":7000},[6995,28581,21011],{"class":7012},[6995,28583,7030],{"class":7000},[6995,28585,28586,28588,28590,28592],{"class":244,"line":7198},[6995,28587,21018],{"class":7006},[6995,28589,7024],{"class":7000},[6995,28591,8439],{"class":7006},[6995,28593,7030],{"class":7000},[6995,28595,28596,28598,28600,28602],{"class":244,"line":7211},[6995,28597,21029],{"class":7006},[6995,28599,7746],{"class":7000},[6995,28601,21034],{"class":7012},[6995,28603,7030],{"class":7000},[6995,28605,28606,28608,28610,28612],{"class":244,"line":7220},[6995,28607,21064],{"class":7006},[6995,28609,7746],{"class":7000},[6995,28611,21069],{"class":7012},[6995,28613,7030],{"class":7000},[6995,28615,28616,28618,28620,28622],{"class":244,"line":7226},[6995,28617,7542],{"class":7006},[6995,28619,7024],{"class":7000},[6995,28621,7547],{"class":7006},[6995,28623,7030],{"class":7000},[6995,28625,28626,28628,28630,28632],{"class":244,"line":7238},[6995,28627,19087],{"class":7006},[6995,28629,7746],{"class":7000},[6995,28631,21090],{"class":7006},[6995,28633,7030],{"class":7000},[6995,28635,28636,28638,28640,28642],{"class":244,"line":7250},[6995,28637,21097],{"class":7006},[6995,28639,7746],{"class":7000},[6995,28641,11094],{"class":7006},[6995,28643,7030],{"class":7000},[6995,28645,28646,28648,28650],{"class":244,"line":7263},[6995,28647,21131],{"class":7006},[6995,28649,7024],{"class":7000},[6995,28651,21136],{"class":7012},[6995,28653,28654],{"class":244,"line":7275},[6995,28655,21500],{"class":7000},[6995,28657,28658],{"class":244,"line":7288},[6995,28659,7537],{"class":7000},[6995,28661,28662,28664,28666,28668],{"class":244,"line":7300},[6995,28663,21509],{"class":7006},[6995,28665,7024],{"class":7000},[6995,28667,6679],{"class":7006},[6995,28669,7030],{"class":7000},[6995,28671,28672,28674,28676,28678],{"class":244,"line":7313},[6995,28673,21520],{"class":7006},[6995,28675,7024],{"class":7000},[6995,28677,21525],{"class":7012},[6995,28679,7030],{"class":7000},[6995,28681,28682,28684,28686,28688],{"class":244,"line":7325},[6995,28683,21532],{"class":7006},[6995,28685,7024],{"class":7000},[6995,28687,19080],{"class":7012},[6995,28689,7030],{"class":7000},[6995,28691,28692,28694,28696,28698],{"class":244,"line":7336},[6995,28693,21543],{"class":7006},[6995,28695,7024],{"class":7000},[6995,28697,21548],{"class":7006},[6995,28699,7030],{"class":7000},[6995,28701,28702,28704,28706,28708],{"class":244,"line":7342},[6995,28703,21555],{"class":7006},[6995,28705,7024],{"class":7000},[6995,28707,21560],{"class":7006},[6995,28709,7030],{"class":7000},[6995,28711,28712,28714,28716,28718],{"class":244,"line":7347},[6995,28713,12652],{"class":7006},[6995,28715,7024],{"class":7000},[6995,28717,7180],{"class":7006},[6995,28719,7030],{"class":7000},[6995,28721,28722,28724,28726,28728],{"class":244,"line":7363},[6995,28723,21577],{"class":7006},[6995,28725,7024],{"class":7000},[6995,28727,21582],{"class":7006},[6995,28729,7030],{"class":7000},[6995,28731,28732,28734,28736,28738],{"class":244,"line":7375},[6995,28733,21589],{"class":7006},[6995,28735,7024],{"class":7000},[6995,28737,11094],{"class":7006},[6995,28739,7030],{"class":7000},[6995,28741,28742,28744,28746,28748],{"class":244,"line":7387},[6995,28743,21600],{"class":7006},[6995,28745,7024],{"class":7000},[6995,28747,7405],{"class":7012},[6995,28749,7030],{"class":7000},[6995,28751,28752,28754,28756,28758],{"class":244,"line":7398},[6995,28753,21611],{"class":7006},[6995,28755,7024],{"class":7000},[6995,28757,7405],{"class":7012},[6995,28759,7030],{"class":7000},[6995,28761,28762,28764,28766,28768],{"class":244,"line":7410},[6995,28763,21622],{"class":7006},[6995,28765,7024],{"class":7000},[6995,28767,11136],{"class":7006},[6995,28769,7030],{"class":7000},[6995,28771,28772,28774,28776,28778],{"class":244,"line":7421},[6995,28773,21633],{"class":7006},[6995,28775,7024],{"class":7000},[6995,28777,21638],{"class":7012},[6995,28779,7030],{"class":7000},[6995,28781,28782,28784,28786,28788],{"class":244,"line":7432},[6995,28783,21645],{"class":7006},[6995,28785,7024],{"class":7000},[6995,28787,21650],{"class":7012},[6995,28789,7030],{"class":7000},[6995,28791,28792,28794,28796,28798],{"class":244,"line":7443},[6995,28793,21657],{"class":7006},[6995,28795,7024],{"class":7000},[6995,28797,7027],{"class":7006},[6995,28799,7030],{"class":7000},[6995,28801,28802,28804,28806,28808],{"class":244,"line":7452},[6995,28803,21668],{"class":7006},[6995,28805,7024],{"class":7000},[6995,28807,21673],{"class":7012},[6995,28809,7030],{"class":7000},[6995,28811,28812,28814,28816],{"class":244,"line":7458},[6995,28813,21680],{"class":7006},[6995,28815,7024],{"class":7000},[6995,28817,21685],{"class":7006},[6995,28819,28820],{"class":244,"line":7464},[6995,28821,21500],{"class":7000},[6995,28823,28824],{"class":244,"line":7470},[6995,28825,7537],{"class":7000},[6995,28827,28828,28830,28832,28834],{"class":244,"line":13197},[6995,28829,7229],{"class":7006},[6995,28831,7024],{"class":7000},[6995,28833,6679],{"class":7006},[6995,28835,7030],{"class":7000},[6995,28837,28838,28840,28842,28844],{"class":244,"line":13202},[6995,28839,21708],{"class":7006},[6995,28841,7024],{"class":7000},[6995,28843,21525],{"class":7012},[6995,28845,7030],{"class":7000},[6995,28847,28848,28850,28852,28854],{"class":244,"line":13214},[6995,28849,7588],{"class":7006},[6995,28851,7024],{"class":7000},[6995,28853,19080],{"class":7012},[6995,28855,7030],{"class":7000},[6995,28857,28858,28860,28862,28864],{"class":244,"line":13225},[6995,28859,21729],{"class":7006},[6995,28861,7024],{"class":7000},[6995,28863,21734],{"class":7006},[6995,28865,7030],{"class":7000},[6995,28867,28868,28870,28872,28874],{"class":244,"line":13237},[6995,28869,21741],{"class":7006},[6995,28871,7024],{"class":7000},[6995,28873,21746],{"class":7006},[6995,28875,7030],{"class":7000},[6995,28877,28878,28880,28882,28884],{"class":244,"line":13248},[6995,28879,19087],{"class":7006},[6995,28881,7024],{"class":7000},[6995,28883,21757],{"class":7006},[6995,28885,7030],{"class":7000},[6995,28887,28888,28890,28892,28894],{"class":244,"line":13258},[6995,28889,7554],{"class":7006},[6995,28891,7024],{"class":7000},[6995,28893,10984],{"class":7006},[6995,28895,7030],{"class":7000},[6995,28897,28898,28900,28902,28904],{"class":244,"line":13263},[6995,28899,21097],{"class":7006},[6995,28901,7024],{"class":7000},[6995,28903,11094],{"class":7006},[6995,28905,7030],{"class":7000},[6995,28907,28908,28910,28912,28914],{"class":244,"line":13268},[6995,28909,20983],{"class":7006},[6995,28911,7024],{"class":7000},[6995,28913,21788],{"class":7012},[6995,28915,7030],{"class":7000},[6995,28917,28918,28920,28922,28924],{"class":244,"line":13275},[6995,28919,20995],{"class":7006},[6995,28921,7024],{"class":7000},[6995,28923,7405],{"class":7012},[6995,28925,7030],{"class":7000},[6995,28927,28928,28930,28932,28934],{"class":244,"line":13280},[6995,28929,21006],{"class":7006},[6995,28931,7024],{"class":7000},[6995,28933,7405],{"class":7012},[6995,28935,7030],{"class":7000},[6995,28937,28938,28940,28942,28944],{"class":244,"line":13291},[6995,28939,21018],{"class":7006},[6995,28941,7024],{"class":7000},[6995,28943,11136],{"class":7006},[6995,28945,7030],{"class":7000},[6995,28947,28948,28950,28952,28954],{"class":244,"line":13303},[6995,28949,21029],{"class":7006},[6995,28951,7024],{"class":7000},[6995,28953,21829],{"class":7012},[6995,28955,7030],{"class":7000},[6995,28957,28958,28960,28962,28964],{"class":244,"line":13314},[6995,28959,7743],{"class":7006},[6995,28961,7024],{"class":7000},[6995,28963,21840],{"class":7012},[6995,28965,7030],{"class":7000},[6995,28967,28968,28970,28972,28974],{"class":244,"line":13324},[6995,28969,21041],{"class":7006},[6995,28971,7024],{"class":7000},[6995,28973,7511],{"class":7006},[6995,28975,7030],{"class":7000},[6995,28977,28978,28980,28982,28984],{"class":244,"line":13329},[6995,28979,21052],{"class":7006},[6995,28981,7024],{"class":7000},[6995,28983,21861],{"class":7012},[6995,28985,7030],{"class":7000},[6995,28987,28988,28990,28992],{"class":244,"line":13334},[6995,28989,7542],{"class":7006},[6995,28991,7024],{"class":7000},[6995,28993,21872],{"class":7006},[6995,28995,28996],{"class":244,"line":13346},[6995,28997,21877],{"class":7000},[6995,28999,29000],{"class":244,"line":13357},[6995,29001,7047],{"class":7000},[852,29003,29004,29008,29014,29018,29025,29031,29035,29039,29043,29047,29051],{},[59,29005,29006,21889],{},[611,29007,21888],{},[59,29009,29010,1475,29012,21897],{},[611,29011,12542],{},[611,29013,21896],{},[59,29015,29016,21902],{},[611,29017,21896],{},[59,29019,29020,1475,29022,29024],{},[611,29021,21907],{},[611,29023,21910],{}," are present if both participants provided these. In UI and CLI called as \"sender wallet's signature\" and \"receiver wallet's signature\".",[59,29026,29027,21917,29029,21920],{},[611,29028,21916],{},[611,29030,12388],{},[59,29032,29033,21925],{},[611,29034,20130],{},[59,29036,29037,21931],{},[611,29038,21930],{},[59,29040,29041,21937],{},[611,29042,21936],{},[59,29044,29045,21942],{},[611,29046,6869],{},[59,29048,29049,21947],{},[611,29050,20130],{},[59,29052,29053,21952],{},[611,29054,12547],{},[48,29056,21956],{"id":21955},[48,29058,21960],{"id":21959},[852,29060,29061,29065,29075,29079,29093,29099],{},[59,29062,21965,29063,21969],{},[611,29064,21968],{},[59,29066,21972,29067,10670,29069,10670,29071,10670,29073,21985],{},[611,29068,21975],{},[611,29070,21978],{},[611,29072,21981],{},[611,29074,21984],{},[59,29076,21988,29077,21992],{},[611,29078,21991],{},[59,29080,21995,29081,10670,29083,10670,29085,10670,29087,10670,29089,10670,29091],{},[611,29082,21998],{},[611,29084,6768],{},[611,29086,22003],{},[611,29088,22006],{},[611,29090,22009],{},[611,29092,22012],{},[59,29094,22015,29095,22019,29097],{},[611,29096,22018],{},[611,29098,22022],{},[59,29100,22025,29101,10670,29103,10670,29105,10670,29107,22036],{},[611,29102,21975],{},[611,29104,22030],{},[611,29106,22033],{},[611,29108,21984],{},[48,29110,22040],{"id":22039},[852,29112,29113,29115,29117,29119,29121,29123,29125,29127,29129],{},[59,29114,22045],{},[59,29116,22048],{},[59,29118,22051],{},[59,29120,22054],{},[59,29122,22057],{},[59,29124,22060],{},[59,29126,22063],{},[59,29128,22066],{},[59,29130,22069],{},[34,29132,29133,22075],{},[37,29134,22074],{},[41,29136,6900],{"id":6900},[34,29138,22080],{},[34,29140,29141],{},[611,29142,6986],{},[616,29144,29145],{"className":6989,"code":6990,"language":6991,"meta":14,"style":14},[611,29146,29147,29151,29161,29171,29179],{"__ignoreMap":14},[6995,29148,29149],{"class":244,"line":6997},[6995,29150,7001],{"class":7000},[6995,29152,29153,29155,29157,29159],{"class":244,"line":15},[6995,29154,7007],{"class":7006},[6995,29156,5102],{"class":7000},[6995,29158,7013],{"class":7012},[6995,29160,7016],{"class":7000},[6995,29162,29163,29165,29167,29169],{"class":244,"line":154},[6995,29164,7021],{"class":7006},[6995,29166,7024],{"class":7000},[6995,29168,7027],{"class":7006},[6995,29170,7030],{"class":7000},[6995,29172,29173,29175,29177],{"class":244,"line":7033},[6995,29174,7036],{"class":7006},[6995,29176,5102],{"class":7000},[6995,29178,7041],{"class":7012},[6995,29180,29181],{"class":244,"line":7044},[6995,29182,7047],{"class":7000},[34,29184,29185],{},[611,29186,7052],{},[616,29188,29190],{"className":6989,"code":29189,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"result\":\n    {\n        \"current_height\" : 1055,\n        \"current_state_hash\" : \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n            \"current_state_timestamp\": 1625060769,\n        \"prev_state_hash\" : \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\",\n            \"is_in_sync\": true,\n        \"available\": 100500,\n        \"receiving\": 123,\n        \"sending\": 0,\n        \"maturing\": 50,\n        \"locked\": 30,\n        \"difficulty\": 2.93914,\n    }\n}\n",[611,29191,29192,29196,29206,29216,29222,29226,29236,29246,29258,29268,29279,29289,29299,29309,29319,29329,29339,29343],{"__ignoreMap":14},[6995,29193,29194],{"class":244,"line":6997},[6995,29195,7001],{"class":7000},[6995,29197,29198,29200,29202,29204],{"class":244,"line":15},[6995,29199,7007],{"class":7006},[6995,29201,5102],{"class":7000},[6995,29203,7013],{"class":7012},[6995,29205,7016],{"class":7000},[6995,29207,29208,29210,29212,29214],{"class":244,"line":154},[6995,29209,7021],{"class":7006},[6995,29211,7024],{"class":7000},[6995,29213,7027],{"class":7006},[6995,29215,7030],{"class":7000},[6995,29217,29218,29220],{"class":244,"line":7033},[6995,29219,7732],{"class":7006},[6995,29221,7532],{"class":7000},[6995,29223,29224],{"class":244,"line":7044},[6995,29225,7537],{"class":7000},[6995,29227,29228,29230,29232,29234],{"class":244,"line":7107},[6995,29229,22172],{"class":7006},[6995,29231,7746],{"class":7000},[6995,29233,21236],{"class":7006},[6995,29235,7030],{"class":7000},[6995,29237,29238,29240,29242,29244],{"class":244,"line":7120},[6995,29239,22183],{"class":7006},[6995,29241,7746],{"class":7000},[6995,29243,21011],{"class":7012},[6995,29245,7030],{"class":7000},[6995,29247,29248,29251,29253,29256],{"class":244,"line":7133},[6995,29249,29250],{"class":7006},"            \"current_state_timestamp\"",[6995,29252,7024],{"class":7000},[6995,29254,29255],{"class":7006},"1625060769",[6995,29257,7030],{"class":7000},[6995,29259,29260,29262,29264,29266],{"class":244,"line":7146},[6995,29261,22194],{"class":7006},[6995,29263,7746],{"class":7000},[6995,29265,22199],{"class":7012},[6995,29267,7030],{"class":7000},[6995,29269,29270,29273,29275,29277],{"class":244,"line":7159},[6995,29271,29272],{"class":7006},"            \"is_in_sync\"",[6995,29274,7024],{"class":7000},[6995,29276,8689],{"class":7006},[6995,29278,7030],{"class":7000},[6995,29280,29281,29283,29285,29287],{"class":244,"line":7172},[6995,29282,7241],{"class":7006},[6995,29284,7024],{"class":7000},[6995,29286,22210],{"class":7006},[6995,29288,7030],{"class":7000},[6995,29290,29291,29293,29295,29297],{"class":244,"line":7185},[6995,29292,7291],{"class":7006},[6995,29294,7024],{"class":7000},[6995,29296,7167],{"class":7006},[6995,29298,7030],{"class":7000},[6995,29300,29301,29303,29305,29307],{"class":244,"line":7198},[6995,29302,7316],{"class":7006},[6995,29304,7024],{"class":7000},[6995,29306,7180],{"class":7006},[6995,29308,7030],{"class":7000},[6995,29310,29311,29313,29315,29317],{"class":244,"line":7211},[6995,29312,7266],{"class":7006},[6995,29314,7024],{"class":7000},[6995,29316,22241],{"class":7006},[6995,29318,7030],{"class":7000},[6995,29320,29321,29323,29325,29327],{"class":244,"line":7220},[6995,29322,22248],{"class":7006},[6995,29324,7024],{"class":7000},[6995,29326,7206],{"class":7006},[6995,29328,7030],{"class":7000},[6995,29330,29331,29333,29335,29337],{"class":244,"line":7226},[6995,29332,22259],{"class":7006},[6995,29334,7024],{"class":7000},[6995,29336,22264],{"class":7006},[6995,29338,7030],{"class":7000},[6995,29340,29341],{"class":244,"line":7238},[6995,29342,7615],{"class":7000},[6995,29344,29345],{"class":244,"line":7250},[6995,29346,7047],{"class":7000},[852,29348,29349,29353,29357,29361,29365,29369,29374],{},[59,29350,29351,22281],{},[611,29352,18147],{},[59,29354,29355,22287],{},[611,29356,22286],{},[59,29358,29359,22292],{},[611,29360,18150],{},[59,29362,29363,22298],{},[611,29364,22297],{},[59,29366,29367,22303],{},[611,29368,16328],{},[59,29370,29371,29373],{},[611,29372,25502],{}," is a UNIX timestamp in seconds",[59,29375,29376,29378],{},[611,29377,25499],{}," true is wallet is in sync with blockchain",[34,29380,29381,29382,2344],{},"Starting from v5.0 assets support has been added. This slightly changes API response: totals array is added which provides amounts for each asset int the wallet. To get the totals array assets should be enabled (",[611,29383,4979],{},[34,29385,29386],{},[611,29387,6986],{},[616,29389,29391],{"className":6989,"code":29390,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"method\":\"wallet_status\",\n        \"params\": {\n            \"nz_totals\": false\n        }\n}\n",[611,29392,29393,29397,29407,29417,29427,29434,29443,29447],{"__ignoreMap":14},[6995,29394,29395],{"class":244,"line":6997},[6995,29396,7001],{"class":7000},[6995,29398,29399,29401,29403,29405],{"class":244,"line":15},[6995,29400,7007],{"class":7006},[6995,29402,5102],{"class":7000},[6995,29404,7013],{"class":7012},[6995,29406,7016],{"class":7000},[6995,29408,29409,29411,29413,29415],{"class":244,"line":154},[6995,29410,7021],{"class":7006},[6995,29412,7024],{"class":7000},[6995,29414,7027],{"class":7006},[6995,29416,7030],{"class":7000},[6995,29418,29419,29421,29423,29425],{"class":244,"line":7033},[6995,29420,7036],{"class":7006},[6995,29422,5102],{"class":7000},[6995,29424,17939],{"class":7012},[6995,29426,7030],{"class":7000},[6995,29428,29429,29432],{"class":244,"line":7044},[6995,29430,29431],{"class":7006},"        \"params\"",[6995,29433,7092],{"class":7000},[6995,29435,29436,29439,29441],{"class":244,"line":7107},[6995,29437,29438],{"class":7006},"            \"nz_totals\"",[6995,29440,7024],{"class":7000},[6995,29442,19668],{"class":7006},[6995,29444,29445],{"class":244,"line":7120},[6995,29446,15327],{"class":7000},[6995,29448,29449],{"class":244,"line":7133},[6995,29450,7047],{"class":7000},[852,29452,29453],{},[59,29454,29455,29457],{},[611,29456,18137],{},"optional bool. If true do not return totals for assets with zero balance. By default is false.",[34,29459,29460],{},[611,29461,7052],{},[616,29463,29465],{"className":6989,"code":29464,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\" : 1055,\n    \"current_state_hash\" : \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n    \"current_state_timestamp\": 1625060769,\n    \"prev_state_hash\" : \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\",\n    \"is_in_sync\": true,\n    \"available\": 100500,\n    \"receiving\": 123,\n    \"sending\": 0,\n    \"maturing\": 50,\n    \"difficulty\": 2.93914,\n    \"totals\": [\n      {\n        \"asset_id\": 0,\n        \"available\": 100500,\n        \"available_str\": \"100500\",\n        \"maturing\": 50,\n        \"maturing_str\": \"50\",\n        \"receiving\": 123,\n        \"receiving_str\": \"123\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      },\n      {\n        \"asset_id\": 1,\n        \"available\": 2000000000,\n        \"available_str\": \"2000000000\",\n        \"maturing\": 0,\n        \"maturing_str\": \"0\",\n        \"receiving\": 0,\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      }\n    ]\n  }\n}\n",[611,29466,29467,29471,29481,29491,29497,29507,29517,29528,29538,29549,29559,29569,29579,29589,29599,29605,29609,29619,29629,29639,29649,29659,29669,29679,29689,29697,29701,29705,29715,29725,29735,29745,29755,29765,29775,29785,29793,29797,29801,29805],{"__ignoreMap":14},[6995,29468,29469],{"class":244,"line":6997},[6995,29470,7001],{"class":7000},[6995,29472,29473,29475,29477,29479],{"class":244,"line":15},[6995,29474,7066],{"class":7006},[6995,29476,7024],{"class":7000},[6995,29478,7071],{"class":7006},[6995,29480,7030],{"class":7000},[6995,29482,29483,29485,29487,29489],{"class":244,"line":154},[6995,29484,7078],{"class":7006},[6995,29486,7024],{"class":7000},[6995,29488,7013],{"class":7012},[6995,29490,7030],{"class":7000},[6995,29492,29493,29495],{"class":244,"line":7033},[6995,29494,7089],{"class":7006},[6995,29496,7092],{"class":7000},[6995,29498,29499,29501,29503,29505],{"class":244,"line":7044},[6995,29500,7097],{"class":7006},[6995,29502,7746],{"class":7000},[6995,29504,21236],{"class":7006},[6995,29506,7030],{"class":7000},[6995,29508,29509,29511,29513,29515],{"class":244,"line":7107},[6995,29510,7110],{"class":7006},[6995,29512,7746],{"class":7000},[6995,29514,21011],{"class":7012},[6995,29516,7030],{"class":7000},[6995,29518,29519,29522,29524,29526],{"class":244,"line":7120},[6995,29520,29521],{"class":7006},"    \"current_state_timestamp\"",[6995,29523,7024],{"class":7000},[6995,29525,29255],{"class":7006},[6995,29527,7030],{"class":7000},[6995,29529,29530,29532,29534,29536],{"class":244,"line":7133},[6995,29531,7136],{"class":7006},[6995,29533,7746],{"class":7000},[6995,29535,22199],{"class":7012},[6995,29537,7030],{"class":7000},[6995,29539,29540,29543,29545,29547],{"class":244,"line":7146},[6995,29541,29542],{"class":7006},"    \"is_in_sync\"",[6995,29544,7024],{"class":7000},[6995,29546,8689],{"class":7006},[6995,29548,7030],{"class":7000},[6995,29550,29551,29553,29555,29557],{"class":244,"line":7159},[6995,29552,7149],{"class":7006},[6995,29554,7024],{"class":7000},[6995,29556,22210],{"class":7006},[6995,29558,7030],{"class":7000},[6995,29560,29561,29563,29565,29567],{"class":244,"line":7172},[6995,29562,7162],{"class":7006},[6995,29564,7024],{"class":7000},[6995,29566,7167],{"class":7006},[6995,29568,7030],{"class":7000},[6995,29570,29571,29573,29575,29577],{"class":244,"line":7185},[6995,29572,7175],{"class":7006},[6995,29574,7024],{"class":7000},[6995,29576,7180],{"class":7006},[6995,29578,7030],{"class":7000},[6995,29580,29581,29583,29585,29587],{"class":244,"line":7198},[6995,29582,7188],{"class":7006},[6995,29584,7024],{"class":7000},[6995,29586,22241],{"class":7006},[6995,29588,7030],{"class":7000},[6995,29590,29591,29593,29595,29597],{"class":244,"line":7211},[6995,29592,7123],{"class":7006},[6995,29594,7024],{"class":7000},[6995,29596,22264],{"class":7006},[6995,29598,7030],{"class":7000},[6995,29600,29601,29603],{"class":244,"line":7220},[6995,29602,7214],{"class":7006},[6995,29604,7217],{"class":7000},[6995,29606,29607],{"class":244,"line":7226},[6995,29608,7223],{"class":7000},[6995,29610,29611,29613,29615,29617],{"class":244,"line":7238},[6995,29612,7229],{"class":7006},[6995,29614,7024],{"class":7000},[6995,29616,7180],{"class":7006},[6995,29618,7030],{"class":7000},[6995,29620,29621,29623,29625,29627],{"class":244,"line":7250},[6995,29622,7241],{"class":7006},[6995,29624,7024],{"class":7000},[6995,29626,22210],{"class":7006},[6995,29628,7030],{"class":7000},[6995,29630,29631,29633,29635,29637],{"class":244,"line":7263},[6995,29632,7253],{"class":7006},[6995,29634,7024],{"class":7000},[6995,29636,22510],{"class":7012},[6995,29638,7030],{"class":7000},[6995,29640,29641,29643,29645,29647],{"class":244,"line":7275},[6995,29642,7266],{"class":7006},[6995,29644,7024],{"class":7000},[6995,29646,22241],{"class":7006},[6995,29648,7030],{"class":7000},[6995,29650,29651,29653,29655,29657],{"class":244,"line":7288},[6995,29652,7278],{"class":7006},[6995,29654,7024],{"class":7000},[6995,29656,22531],{"class":7012},[6995,29658,7030],{"class":7000},[6995,29660,29661,29663,29665,29667],{"class":244,"line":7300},[6995,29662,7291],{"class":7006},[6995,29664,7024],{"class":7000},[6995,29666,7167],{"class":7006},[6995,29668,7030],{"class":7000},[6995,29670,29671,29673,29675,29677],{"class":244,"line":7313},[6995,29672,7303],{"class":7006},[6995,29674,7024],{"class":7000},[6995,29676,7308],{"class":7012},[6995,29678,7030],{"class":7000},[6995,29680,29681,29683,29685,29687],{"class":244,"line":7325},[6995,29682,7316],{"class":7006},[6995,29684,7024],{"class":7000},[6995,29686,7180],{"class":7006},[6995,29688,7030],{"class":7000},[6995,29690,29691,29693,29695],{"class":244,"line":7336},[6995,29692,7328],{"class":7006},[6995,29694,7024],{"class":7000},[6995,29696,7333],{"class":7012},[6995,29698,29699],{"class":244,"line":7342},[6995,29700,7339],{"class":7000},[6995,29702,29703],{"class":244,"line":7347},[6995,29704,7223],{"class":7000},[6995,29706,29707,29709,29711,29713],{"class":244,"line":7363},[6995,29708,7229],{"class":7006},[6995,29710,7024],{"class":7000},[6995,29712,6679],{"class":7006},[6995,29714,7030],{"class":7000},[6995,29716,29717,29719,29721,29723],{"class":244,"line":7375},[6995,29718,7241],{"class":7006},[6995,29720,7024],{"class":7000},[6995,29722,7370],{"class":7006},[6995,29724,7030],{"class":7000},[6995,29726,29727,29729,29731,29733],{"class":244,"line":7387},[6995,29728,7253],{"class":7006},[6995,29730,7024],{"class":7000},[6995,29732,7382],{"class":7012},[6995,29734,7030],{"class":7000},[6995,29736,29737,29739,29741,29743],{"class":244,"line":7398},[6995,29738,7266],{"class":7006},[6995,29740,7024],{"class":7000},[6995,29742,7180],{"class":7006},[6995,29744,7030],{"class":7000},[6995,29746,29747,29749,29751,29753],{"class":244,"line":7410},[6995,29748,7278],{"class":7006},[6995,29750,7024],{"class":7000},[6995,29752,7405],{"class":7012},[6995,29754,7030],{"class":7000},[6995,29756,29757,29759,29761,29763],{"class":244,"line":7421},[6995,29758,7291],{"class":7006},[6995,29760,7024],{"class":7000},[6995,29762,7180],{"class":7006},[6995,29764,7030],{"class":7000},[6995,29766,29767,29769,29771,29773],{"class":244,"line":7432},[6995,29768,7303],{"class":7006},[6995,29770,7024],{"class":7000},[6995,29772,7405],{"class":7012},[6995,29774,7030],{"class":7000},[6995,29776,29777,29779,29781,29783],{"class":244,"line":7443},[6995,29778,7316],{"class":7006},[6995,29780,7024],{"class":7000},[6995,29782,7180],{"class":7006},[6995,29784,7030],{"class":7000},[6995,29786,29787,29789,29791],{"class":244,"line":7452},[6995,29788,7328],{"class":7006},[6995,29790,7024],{"class":7000},[6995,29792,7333],{"class":7012},[6995,29794,29795],{"class":244,"line":7458},[6995,29796,7455],{"class":7000},[6995,29798,29799],{"class":244,"line":7464},[6995,29800,7461],{"class":7000},[6995,29802,29803],{"class":244,"line":7470},[6995,29804,7467],{"class":7000},[6995,29806,29807],{"class":244,"line":13197},[6995,29808,7047],{"class":7000},[852,29810,29811],{},[59,29812,29813,18110,29815],{},[611,29814,18109],{},[852,29816,29817,29819,29821],{},[59,29818,18115],{},[59,29820,18118],{},[59,29822,18121],{},[34,29824,18124,29825,18127,29827,18130,29829,18134,29831,18138],{},[611,29826,18109],{},[611,29828,6869],{},[611,29830,18133],{},[611,29832,18137],{},[34,29834,18141,29835,18144,29837,2231,29839,18151,29841,8016,29843,18156,29845,18159,29847,18163],{},[8009,29836,8011],{},[611,29838,18147],{},[611,29840,18150],{},[611,29842,8015],{},[8009,29844,8019],{},[611,29846,8015],{},[611,29848,18162],{},[41,29850,18014],{"id":18014},[34,29852,22737],{},[34,29854,29855],{},[611,29856,6986],{},[616,29858,29859],{"className":6989,"code":22744,"language":6991,"meta":14,"style":14},[611,29860,29861,29865,29875,29885,29895,29901,29905,29915,29925,29931,29941,29949,29953,29957],{"__ignoreMap":14},[6995,29862,29863],{"class":244,"line":6997},[6995,29864,7001],{"class":7000},[6995,29866,29867,29869,29871,29873],{"class":244,"line":15},[6995,29868,7007],{"class":7006},[6995,29870,5102],{"class":7000},[6995,29872,7013],{"class":7012},[6995,29874,7016],{"class":7000},[6995,29876,29877,29879,29881,29883],{"class":244,"line":154},[6995,29878,7021],{"class":7006},[6995,29880,7024],{"class":7000},[6995,29882,7027],{"class":7006},[6995,29884,7030],{"class":7000},[6995,29886,29887,29889,29891,29893],{"class":244,"line":7033},[6995,29888,7036],{"class":7006},[6995,29890,5102],{"class":7000},[6995,29892,22779],{"class":7012},[6995,29894,7030],{"class":7000},[6995,29896,29897,29899],{"class":244,"line":7044},[6995,29898,7529],{"class":7006},[6995,29900,7811],{"class":7000},[6995,29902,29903],{"class":244,"line":7107},[6995,29904,7537],{"class":7000},[6995,29906,29907,29909,29911,29913],{"class":244,"line":7120},[6995,29908,21259],{"class":7006},[6995,29910,7024],{"class":7000},[6995,29912,22800],{"class":7006},[6995,29914,7030],{"class":7000},[6995,29916,29917,29919,29921,29923],{"class":244,"line":7133},[6995,29918,21248],{"class":7006},[6995,29920,7024],{"class":7000},[6995,29922,7180],{"class":7006},[6995,29924,7030],{"class":7000},[6995,29926,29927,29929],{"class":244,"line":7146},[6995,29928,22817],{"class":7006},[6995,29930,7092],{"class":7000},[6995,29932,29933,29935,29937,29939],{"class":244,"line":7159},[6995,29934,22824],{"class":7006},[6995,29936,7024],{"class":7000},[6995,29938,22829],{"class":7012},[6995,29940,7030],{"class":7000},[6995,29942,29943,29945,29947],{"class":244,"line":7172},[6995,29944,22836],{"class":7006},[6995,29946,7024],{"class":7000},[6995,29948,22841],{"class":7012},[6995,29950,29951],{"class":244,"line":7185},[6995,29952,15327],{"class":7000},[6995,29954,29955],{"class":244,"line":7198},[6995,29956,7615],{"class":7000},[6995,29958,29959],{"class":244,"line":7211},[6995,29960,7047],{"class":7000},[852,29962,29963,29967,29973,29977],{},[59,29964,29965,22860],{},[611,29966,12842],{},[59,29968,29969,22865,29971,181],{},[611,29970,21296],{},[611,29972,7180],{},[59,29974,29975,22873],{},[611,29976,22872],{},[59,29978,29979,22879],{},[611,29980,22878],{},[34,29982,29983],{},[611,29984,7052],{},[616,29986,29987],{"className":6989,"code":22886,"language":6991,"meta":14,"style":14},[611,29988,29989,29993,30003,30013,30019,30023,30033,30043,30053,30063,30073,30083,30093,30103,30111,30115],{"__ignoreMap":14},[6995,29990,29991],{"class":244,"line":6997},[6995,29992,7001],{"class":7000},[6995,29994,29995,29997,29999,30001],{"class":244,"line":15},[6995,29996,7007],{"class":7006},[6995,29998,7024],{"class":7000},[6995,30000,7013],{"class":7012},[6995,30002,7016],{"class":7000},[6995,30004,30005,30007,30009,30011],{"class":244,"line":154},[6995,30006,7021],{"class":7006},[6995,30008,7024],{"class":7000},[6995,30010,7027],{"class":7006},[6995,30012,7030],{"class":7000},[6995,30014,30015,30017],{"class":244,"line":7033},[6995,30016,7732],{"class":7006},[6995,30018,7532],{"class":7000},[6995,30020,30021],{"class":244,"line":7044},[6995,30022,19059],{"class":7000},[6995,30024,30025,30027,30029,30031],{"class":244,"line":7107},[6995,30026,12965],{"class":7006},[6995,30028,7024],{"class":7000},[6995,30030,7167],{"class":7006},[6995,30032,7030],{"class":7000},[6995,30034,30035,30037,30039,30041],{"class":244,"line":7120},[6995,30036,7229],{"class":7006},[6995,30038,7024],{"class":7000},[6995,30040,7180],{"class":7006},[6995,30042,7030],{"class":7000},[6995,30044,30045,30047,30049,30051],{"class":244,"line":7133},[6995,30046,8467],{"class":7006},[6995,30048,7024],{"class":7000},[6995,30050,22951],{"class":7006},[6995,30052,7030],{"class":7000},[6995,30054,30055,30057,30059,30061],{"class":244,"line":7146},[6995,30056,13052],{"class":7006},[6995,30058,7024],{"class":7000},[6995,30060,22962],{"class":7006},[6995,30062,7030],{"class":7000},[6995,30064,30065,30067,30069,30071],{"class":244,"line":7159},[6995,30066,11924],{"class":7006},[6995,30068,7024],{"class":7000},[6995,30070,22973],{"class":7012},[6995,30072,7030],{"class":7000},[6995,30074,30075,30077,30079,30081],{"class":244,"line":7172},[6995,30076,22980],{"class":7006},[6995,30078,7024],{"class":7000},[6995,30080,20884],{"class":7012},[6995,30082,7030],{"class":7000},[6995,30084,30085,30087,30089,30091],{"class":244,"line":7185},[6995,30086,22991],{"class":7006},[6995,30088,7024],{"class":7000},[6995,30090,19080],{"class":7012},[6995,30092,7030],{"class":7000},[6995,30094,30095,30097,30099,30101],{"class":244,"line":7198},[6995,30096,21018],{"class":7006},[6995,30098,7024],{"class":7000},[6995,30100,7511],{"class":7006},[6995,30102,7030],{"class":7000},[6995,30104,30105,30107,30109],{"class":244,"line":7211},[6995,30106,21029],{"class":7006},[6995,30108,7024],{"class":7000},[6995,30110,23016],{"class":7012},[6995,30112,30113],{"class":244,"line":7220},[6995,30114,21877],{"class":7000},[6995,30116,30117],{"class":244,"line":7226},[6995,30118,7047],{"class":7000},[852,30120,30121,30127],{},[59,30122,30123,23031,30125,8764],{},[611,30124,6869],{},[611,30126,4979],{},[59,30128,30129,23038],{},[611,30130,21309],{},[34,30132,30133],{},[611,30134,6986],{},[616,30136,30137],{"className":6989,"code":23045,"language":6991,"meta":14,"style":14},[611,30138,30139,30143,30153,30163,30173,30179,30189,30195,30203,30207,30211],{"__ignoreMap":14},[6995,30140,30141],{"class":244,"line":6997},[6995,30142,7001],{"class":7000},[6995,30144,30145,30147,30149,30151],{"class":244,"line":15},[6995,30146,7007],{"class":7006},[6995,30148,7024],{"class":7000},[6995,30150,7013],{"class":7012},[6995,30152,7030],{"class":7000},[6995,30154,30155,30157,30159,30161],{"class":244,"line":154},[6995,30156,7021],{"class":7006},[6995,30158,7024],{"class":7000},[6995,30160,7071],{"class":7006},[6995,30162,7030],{"class":7000},[6995,30164,30165,30167,30169,30171],{"class":244,"line":7033},[6995,30166,7036],{"class":7006},[6995,30168,7024],{"class":7000},[6995,30170,22779],{"class":7012},[6995,30172,7030],{"class":7000},[6995,30174,30175,30177],{"class":244,"line":7044},[6995,30176,7529],{"class":7006},[6995,30178,7092],{"class":7000},[6995,30180,30181,30183,30185,30187],{"class":244,"line":7107},[6995,30182,23092],{"class":7006},[6995,30184,7024],{"class":7000},[6995,30186,8689],{"class":7006},[6995,30188,7030],{"class":7000},[6995,30190,30191,30193],{"class":244,"line":7120},[6995,30192,21209],{"class":7006},[6995,30194,7092],{"class":7000},[6995,30196,30197,30199,30201],{"class":244,"line":7133},[6995,30198,23109],{"class":7006},[6995,30200,7024],{"class":7000},[6995,30202,7686],{"class":7006},[6995,30204,30205],{"class":244,"line":7146},[6995,30206,15327],{"class":7000},[6995,30208,30209],{"class":244,"line":7159},[6995,30210,7615],{"class":7000},[6995,30212,30213],{"class":244,"line":7172},[6995,30214,7047],{"class":7000},[34,30216,30217],{},[611,30218,7052],{},[616,30220,30221],{"className":6989,"code":23132,"language":6991,"meta":14,"style":14},[611,30222,30223,30227,30237,30247,30253,30257,30267,30277,30287,30297,30307,30317,30327,30337,30345,30349,30353],{"__ignoreMap":14},[6995,30224,30225],{"class":244,"line":6997},[6995,30226,7001],{"class":7000},[6995,30228,30229,30231,30233,30235],{"class":244,"line":15},[6995,30230,7066],{"class":7006},[6995,30232,7024],{"class":7000},[6995,30234,7071],{"class":7006},[6995,30236,7030],{"class":7000},[6995,30238,30239,30241,30243,30245],{"class":244,"line":154},[6995,30240,7078],{"class":7006},[6995,30242,7024],{"class":7000},[6995,30244,7013],{"class":7012},[6995,30246,7030],{"class":7000},[6995,30248,30249,30251],{"class":244,"line":7033},[6995,30250,7089],{"class":7006},[6995,30252,7217],{"class":7000},[6995,30254,30255],{"class":244,"line":7044},[6995,30256,7537],{"class":7000},[6995,30258,30259,30261,30263,30265],{"class":244,"line":7107},[6995,30260,23173],{"class":7006},[6995,30262,7024],{"class":7000},[6995,30264,23178],{"class":7006},[6995,30266,7030],{"class":7000},[6995,30268,30269,30271,30273,30275],{"class":244,"line":7120},[6995,30270,21509],{"class":7006},[6995,30272,7024],{"class":7000},[6995,30274,6679],{"class":7006},[6995,30276,7030],{"class":7000},[6995,30278,30279,30281,30283,30285],{"class":244,"line":7133},[6995,30280,23195],{"class":7006},[6995,30282,7024],{"class":7000},[6995,30284,23200],{"class":7012},[6995,30286,7030],{"class":7000},[6995,30288,30289,30291,30293,30295],{"class":244,"line":7146},[6995,30290,12663],{"class":7006},[6995,30292,7024],{"class":7000},[6995,30294,23211],{"class":7012},[6995,30296,7030],{"class":7000},[6995,30298,30299,30301,30303,30305],{"class":244,"line":7159},[6995,30300,12751],{"class":7006},[6995,30302,7024],{"class":7000},[6995,30304,23222],{"class":7006},[6995,30306,7030],{"class":7000},[6995,30308,30309,30311,30313,30315],{"class":244,"line":7172},[6995,30310,23229],{"class":7006},[6995,30312,7024],{"class":7000},[6995,30314,19080],{"class":7012},[6995,30316,7030],{"class":7000},[6995,30318,30319,30321,30323,30325],{"class":244,"line":7185},[6995,30320,21622],{"class":7006},[6995,30322,7024],{"class":7000},[6995,30324,6679],{"class":7006},[6995,30326,7030],{"class":7000},[6995,30328,30329,30331,30333,30335],{"class":244,"line":7198},[6995,30330,21633],{"class":7006},[6995,30332,7024],{"class":7000},[6995,30334,23254],{"class":7012},[6995,30336,7030],{"class":7000},[6995,30338,30339,30341,30343],{"class":244,"line":7211},[6995,30340,23261],{"class":7006},[6995,30342,7024],{"class":7000},[6995,30344,23266],{"class":7012},[6995,30346,30347],{"class":244,"line":7220},[6995,30348,7615],{"class":7000},[6995,30350,30351],{"class":244,"line":7226},[6995,30352,23275],{"class":7000},[6995,30354,30355],{"class":244,"line":7238},[6995,30356,7047],{"class":7000},[852,30358,30359,30373],{},[59,30360,30361,23286,30363,23290,30365,23294,30367,23298,30369,23302,30371,23306],{},[611,30362,11962],{},[611,30364,23289],{},[611,30366,23293],{},[611,30368,23297],{},[611,30370,23301],{},[611,30372,23305],{},[59,30374,30375,23286,30377,2231,30379,2231,30381,2231,30383,2231,30385,2231,30387,2231,30389,18637,30391,23335],{},[611,30376,12388],{},[611,30378,23313],{},[611,30380,23316],{},[611,30382,23319],{},[611,30384,23322],{},[611,30386,23325],{},[611,30388,23328],{},[611,30390,23331],{},[611,30392,23334],{},[41,30394,6935],{"id":6935},[34,30396,23340,30397,23343],{},[175,30398,6930],{"href":8044},[34,30400,30401],{},[611,30402,6986],{},[616,30404,30405],{"className":6989,"code":7767,"language":6991,"meta":14,"style":14},[611,30406,30407,30411,30421,30431,30441,30447,30451,30459,30463],{"__ignoreMap":14},[6995,30408,30409],{"class":244,"line":6997},[6995,30410,7001],{"class":7000},[6995,30412,30413,30415,30417,30419],{"class":244,"line":15},[6995,30414,7007],{"class":7006},[6995,30416,5102],{"class":7000},[6995,30418,7013],{"class":7012},[6995,30420,7016],{"class":7000},[6995,30422,30423,30425,30427,30429],{"class":244,"line":154},[6995,30424,7021],{"class":7006},[6995,30426,7024],{"class":7000},[6995,30428,7027],{"class":7006},[6995,30430,7030],{"class":7000},[6995,30432,30433,30435,30437,30439],{"class":244,"line":7033},[6995,30434,7036],{"class":7006},[6995,30436,7024],{"class":7000},[6995,30438,7802],{"class":7012},[6995,30440,7030],{"class":7000},[6995,30442,30443,30445],{"class":244,"line":7044},[6995,30444,7529],{"class":7006},[6995,30446,7811],{"class":7000},[6995,30448,30449],{"class":244,"line":7107},[6995,30450,7537],{"class":7000},[6995,30452,30453,30455,30457],{"class":244,"line":7120},[6995,30454,7229],{"class":7006},[6995,30456,7024],{"class":7000},[6995,30458,7686],{"class":7006},[6995,30460,30461],{"class":244,"line":7133},[6995,30462,7615],{"class":7000},[6995,30464,30465],{"class":244,"line":7146},[6995,30466,7047],{"class":7000},[852,30468,30469,30473],{},[59,30470,30471,7838],{},[611,30472,6869],{},[59,30474,30475,20314],{},[611,30476,20130],{},[34,30478,30479],{},[611,30480,7052],{},[616,30482,30484],{"className":6989,"code":30483,"language":6991,"meta":14,"style":14},"{\n    \"id\": 1236,\n    \"jsonrpc\": \"2.0\",\n    \"result\": \n    {\n        \"asset_id\": 1,\n        \"emission\": 2000000000,\n        \"emission_str\": \"2000000000\",\n        \"isOwned\": 1,\n        \"lockHeight\": 39,\n        \"metadata\": \"STD:SCH_VER=1;N=YAN Coin;SN=YAN;UN=Yan;NTHUN=Yanik\",\n        \"metadata_kv\": true,\n        \"metadata_pairs\": {\n            \"N\": \"YAN Coin\",\n            \"NTHUN\": \"Yanik\",\n            \"SCH_VER\": \"1\",\n            \"SN\": \"YAN\",\n            \"UN\": \"Yan\"\n        },\n        \"metadata_std_min\": true,\n        \"metadata_std\": true,\n        \"ownerId\": \"0ae08a49e018e98177774294107dc033790b87538e54a20e99c6b98f1dbd39ce\",\n        \"refreshHeight\": 927\n    }\n}\n",[611,30485,30486,30490,30500,30510,30516,30520,30530,30540,30550,30560,30570,30581,30592,30599,30611,30623,30635,30647,30657,30661,30672,30683,30693,30701,30705],{"__ignoreMap":14},[6995,30487,30488],{"class":244,"line":6997},[6995,30489,7001],{"class":7000},[6995,30491,30492,30494,30496,30498],{"class":244,"line":15},[6995,30493,7021],{"class":7006},[6995,30495,7024],{"class":7000},[6995,30497,7071],{"class":7006},[6995,30499,7030],{"class":7000},[6995,30501,30502,30504,30506,30508],{"class":244,"line":154},[6995,30503,7007],{"class":7006},[6995,30505,7024],{"class":7000},[6995,30507,7013],{"class":7012},[6995,30509,7030],{"class":7000},[6995,30511,30512,30514],{"class":244,"line":7033},[6995,30513,7732],{"class":7006},[6995,30515,7673],{"class":7000},[6995,30517,30518],{"class":244,"line":7044},[6995,30519,7537],{"class":7000},[6995,30521,30522,30524,30526,30528],{"class":244,"line":7107},[6995,30523,7229],{"class":7006},[6995,30525,7024],{"class":7000},[6995,30527,6679],{"class":7006},[6995,30529,7030],{"class":7000},[6995,30531,30532,30534,30536,30538],{"class":244,"line":7120},[6995,30533,7896],{"class":7006},[6995,30535,7024],{"class":7000},[6995,30537,7370],{"class":7006},[6995,30539,7030],{"class":7000},[6995,30541,30542,30544,30546,30548],{"class":244,"line":7133},[6995,30543,7907],{"class":7006},[6995,30545,7024],{"class":7000},[6995,30547,7382],{"class":7012},[6995,30549,7030],{"class":7000},[6995,30551,30552,30554,30556,30558],{"class":244,"line":7146},[6995,30553,7918],{"class":7006},[6995,30555,7024],{"class":7000},[6995,30557,6679],{"class":7006},[6995,30559,7030],{"class":7000},[6995,30561,30562,30564,30566,30568],{"class":244,"line":7159},[6995,30563,7929],{"class":7006},[6995,30565,7024],{"class":7000},[6995,30567,7934],{"class":7006},[6995,30569,7030],{"class":7000},[6995,30571,30572,30574,30576,30579],{"class":244,"line":7172},[6995,30573,7941],{"class":7006},[6995,30575,7024],{"class":7000},[6995,30577,30578],{"class":7012},"\"STD:SCH_VER=1;N=YAN Coin;SN=YAN;UN=Yan;NTHUN=Yanik\"",[6995,30580,7030],{"class":7000},[6995,30582,30583,30586,30588,30590],{"class":244,"line":7185},[6995,30584,30585],{"class":7006},"        \"metadata_kv\"",[6995,30587,7024],{"class":7000},[6995,30589,8689],{"class":7006},[6995,30591,7030],{"class":7000},[6995,30593,30594,30597],{"class":244,"line":7198},[6995,30595,30596],{"class":7006},"        \"metadata_pairs\"",[6995,30598,7092],{"class":7000},[6995,30600,30601,30604,30606,30609],{"class":244,"line":7211},[6995,30602,30603],{"class":7006},"            \"N\"",[6995,30605,7024],{"class":7000},[6995,30607,30608],{"class":7012},"\"YAN Coin\"",[6995,30610,7030],{"class":7000},[6995,30612,30613,30616,30618,30621],{"class":244,"line":7220},[6995,30614,30615],{"class":7006},"            \"NTHUN\"",[6995,30617,7024],{"class":7000},[6995,30619,30620],{"class":7012},"\"Yanik\"",[6995,30622,7030],{"class":7000},[6995,30624,30625,30628,30630,30633],{"class":244,"line":7226},[6995,30626,30627],{"class":7006},"            \"SCH_VER\"",[6995,30629,7024],{"class":7000},[6995,30631,30632],{"class":7012},"\"1\"",[6995,30634,7030],{"class":7000},[6995,30636,30637,30640,30642,30645],{"class":244,"line":7238},[6995,30638,30639],{"class":7006},"            \"SN\"",[6995,30641,7024],{"class":7000},[6995,30643,30644],{"class":7012},"\"YAN\"",[6995,30646,7030],{"class":7000},[6995,30648,30649,30652,30654],{"class":244,"line":7250},[6995,30650,30651],{"class":7006},"            \"UN\"",[6995,30653,7024],{"class":7000},[6995,30655,30656],{"class":7012},"\"Yan\"\n",[6995,30658,30659],{"class":244,"line":7263},[6995,30660,21243],{"class":7000},[6995,30662,30663,30666,30668,30670],{"class":244,"line":7275},[6995,30664,30665],{"class":7006},"        \"metadata_std_min\"",[6995,30667,7024],{"class":7000},[6995,30669,8689],{"class":7006},[6995,30671,7030],{"class":7000},[6995,30673,30674,30677,30679,30681],{"class":244,"line":7288},[6995,30675,30676],{"class":7006},"        \"metadata_std\"",[6995,30678,7024],{"class":7000},[6995,30680,8689],{"class":7006},[6995,30682,7030],{"class":7000},[6995,30684,30685,30687,30689,30691],{"class":244,"line":7300},[6995,30686,7953],{"class":7006},[6995,30688,7024],{"class":7000},[6995,30690,7958],{"class":7012},[6995,30692,7030],{"class":7000},[6995,30694,30695,30697,30699],{"class":244,"line":7313},[6995,30696,7965],{"class":7006},[6995,30698,7024],{"class":7000},[6995,30700,7970],{"class":7006},[6995,30702,30703],{"class":244,"line":7325},[6995,30704,7615],{"class":7000},[6995,30706,30707],{"class":244,"line":7336},[6995,30708,7047],{"class":7000},[34,30710,7981,30711,181],{},[175,30712,7985],{"href":19812},[852,30714,30715,30719,30723,30737,30741,30745,30751,30756,30764,30769],{},[59,30716,30717,7992],{},[611,30718,6869],{},[59,30720,30721,7998],{},[611,30722,7997],{},[59,30724,30725,8003,30727,8007,30729,8012,30731,8016,30733,8020,30735,8023],{},[611,30726,1020],{},[611,30728,8006],{},[8009,30730,8011],{},[611,30732,8015],{},[8009,30734,8019],{},[611,30736,8015],{},[59,30738,30739,8029],{},[611,30740,8028],{},[59,30742,30743,8035],{},[611,30744,8034],{},[59,30746,30747,8041,30749,8045],{},[611,30748,8040],{},[175,30750,6930],{"href":8044},[59,30752,30753,30755],{},[611,30754,25511],{}," true if metadata was parsed successfully as key=value pairs",[59,30757,30758,30760,30761,30763],{},[611,30759,25526],{}," present only if ",[611,30762,25511],{}," is true, provides actual parsed key=value pairs",[59,30765,30766,30768],{},[611,30767,25514],{}," true if metadata is k=v pairs and minimal necessary pairs are present, i.e. N(Name), UN(Unit Name), SN(Short Name), NTHUN (Smallest Unit Name)",[59,30770,30771,30773,30774],{},[611,30772,25523],{}," true if metadata is k=v pairs and fully adheres to the ",[175,30775,30778],{"href":30776,"rel":30777},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FAsset-Descriptor-v1.0",[179],"Asset Descriptor Specification",[41,30780,18340],{"id":18340},[34,30782,23596],{},[34,30784,30785],{},[611,30786,6986],{},[616,30788,30789],{"className":6989,"code":23603,"language":6991,"meta":14,"style":14},[611,30790,30791,30795,30805,30815,30823],{"__ignoreMap":14},[6995,30792,30793],{"class":244,"line":6997},[6995,30794,7001],{"class":7000},[6995,30796,30797,30799,30801,30803],{"class":244,"line":15},[6995,30798,7007],{"class":7006},[6995,30800,5102],{"class":7000},[6995,30802,7013],{"class":7012},[6995,30804,7016],{"class":7000},[6995,30806,30807,30809,30811,30813],{"class":244,"line":154},[6995,30808,7021],{"class":7006},[6995,30810,7024],{"class":7000},[6995,30812,7511],{"class":7006},[6995,30814,7030],{"class":7000},[6995,30816,30817,30819,30821],{"class":244,"line":7033},[6995,30818,7036],{"class":7006},[6995,30820,5102],{"class":7000},[6995,30822,23638],{"class":7012},[6995,30824,30825],{"class":244,"line":7044},[6995,30826,7047],{"class":7000},[34,30828,30829],{},[611,30830,7052],{},[616,30832,30833],{"className":6989,"code":23649,"language":6991,"meta":14,"style":14},[611,30834,30835,30839,30849,30859,30867],{"__ignoreMap":14},[6995,30836,30837],{"class":244,"line":6997},[6995,30838,7001],{"class":7000},[6995,30840,30841,30843,30845,30847],{"class":244,"line":15},[6995,30842,7007],{"class":7006},[6995,30844,5102],{"class":7000},[6995,30846,7013],{"class":7012},[6995,30848,7016],{"class":7000},[6995,30850,30851,30853,30855,30857],{"class":244,"line":154},[6995,30852,7021],{"class":7006},[6995,30854,7024],{"class":7000},[6995,30856,7511],{"class":7006},[6995,30858,7030],{"class":7000},[6995,30860,30861,30863,30865],{"class":244,"line":7033},[6995,30862,7732],{"class":7006},[6995,30864,5102],{"class":7000},[6995,30866,7749],{"class":7012},[6995,30868,30869],{"class":244,"line":7044},[6995,30870,7047],{"class":7000},[41,30872,18348],{"id":18348},[34,30874,23692,30875,181],{},[611,30876,8158],{},[34,30878,30879],{},[611,30880,6986],{},[616,30882,30883],{"className":6989,"code":23701,"language":6991,"meta":14,"style":14},[611,30884,30885,30889,30899,30909,30919,30925,30929,30937,30941],{"__ignoreMap":14},[6995,30886,30887],{"class":244,"line":6997},[6995,30888,7001],{"class":7000},[6995,30890,30891,30893,30895,30897],{"class":244,"line":15},[6995,30892,7007],{"class":7006},[6995,30894,5102],{"class":7000},[6995,30896,7013],{"class":7012},[6995,30898,7016],{"class":7000},[6995,30900,30901,30903,30905,30907],{"class":244,"line":154},[6995,30902,7021],{"class":7006},[6995,30904,7024],{"class":7000},[6995,30906,8439],{"class":7006},[6995,30908,7030],{"class":7000},[6995,30910,30911,30913,30915,30917],{"class":244,"line":7033},[6995,30912,7036],{"class":7006},[6995,30914,7024],{"class":7000},[6995,30916,23736],{"class":7012},[6995,30918,7016],{"class":7000},[6995,30920,30921,30923],{"class":244,"line":7044},[6995,30922,7529],{"class":7006},[6995,30924,7532],{"class":7000},[6995,30926,30927],{"class":244,"line":7107},[6995,30928,7537],{"class":7000},[6995,30930,30931,30933,30935],{"class":244,"line":7120},[6995,30932,7743],{"class":7006},[6995,30934,7746],{"class":7000},[6995,30936,20611],{"class":7012},[6995,30938,30939],{"class":244,"line":7133},[6995,30940,7615],{"class":7000},[6995,30942,30943],{"class":244,"line":7146},[6995,30944,7047],{"class":7000},[34,30946,30947],{},[611,30948,7052],{},[616,30950,30951],{"className":6989,"code":23771,"language":6991,"meta":14,"style":14},[611,30952,30953,30957,30967,30977,30983,30987,30995,30999],{"__ignoreMap":14},[6995,30954,30955],{"class":244,"line":6997},[6995,30956,7001],{"class":7000},[6995,30958,30959,30961,30963,30965],{"class":244,"line":15},[6995,30960,7007],{"class":7006},[6995,30962,5102],{"class":7000},[6995,30964,7013],{"class":7012},[6995,30966,7016],{"class":7000},[6995,30968,30969,30971,30973,30975],{"class":244,"line":154},[6995,30970,7021],{"class":7006},[6995,30972,7024],{"class":7000},[6995,30974,8439],{"class":7006},[6995,30976,7030],{"class":7000},[6995,30978,30979,30981],{"class":244,"line":7033},[6995,30980,7732],{"class":7006},[6995,30982,7673],{"class":7000},[6995,30984,30985],{"class":244,"line":7044},[6995,30986,7537],{"class":7000},[6995,30988,30989,30991,30993],{"class":244,"line":7107},[6995,30990,23812],{"class":7006},[6995,30992,7024],{"class":7000},[6995,30994,23817],{"class":7012},[6995,30996,30997],{"class":244,"line":7120},[6995,30998,7615],{"class":7000},[6995,31000,31001],{"class":244,"line":7133},[6995,31002,7047],{"class":7000},[852,31004,31005],{},[59,31006,31007,23833,31009,23836],{},[611,31008,23832],{},[175,31010,18356],{"href":18355},[34,31012,31013,23841],{},[37,31014,22074],{},[41,31016,18356],{"id":18356},[34,31018,23846,31019,181],{},[611,31020,23832],{},[34,31022,31023],{},[611,31024,6986],{},[616,31026,31027],{"className":6989,"code":23855,"language":6991,"meta":14,"style":14},[611,31028,31029,31033,31043,31053,31063,31069,31073,31081,31085],{"__ignoreMap":14},[6995,31030,31031],{"class":244,"line":6997},[6995,31032,7001],{"class":7000},[6995,31034,31035,31037,31039,31041],{"class":244,"line":15},[6995,31036,7007],{"class":7006},[6995,31038,5102],{"class":7000},[6995,31040,7013],{"class":7012},[6995,31042,7016],{"class":7000},[6995,31044,31045,31047,31049,31051],{"class":244,"line":154},[6995,31046,7021],{"class":7006},[6995,31048,7024],{"class":7000},[6995,31050,8439],{"class":7006},[6995,31052,7030],{"class":7000},[6995,31054,31055,31057,31059,31061],{"class":244,"line":7033},[6995,31056,7036],{"class":7006},[6995,31058,5102],{"class":7000},[6995,31060,23890],{"class":7012},[6995,31062,7016],{"class":7000},[6995,31064,31065,31067],{"class":244,"line":7044},[6995,31066,7529],{"class":7006},[6995,31068,7532],{"class":7000},[6995,31070,31071],{"class":244,"line":7107},[6995,31072,7537],{"class":7000},[6995,31074,31075,31077,31079],{"class":244,"line":7120},[6995,31076,23812],{"class":7006},[6995,31078,7746],{"class":7000},[6995,31080,23817],{"class":7012},[6995,31082,31083],{"class":244,"line":7133},[6995,31084,7615],{"class":7000},[6995,31086,31087],{"class":244,"line":7146},[6995,31088,7047],{"class":7000},[34,31090,31091],{},[611,31092,7052],{},[616,31094,31095],{"className":6989,"code":23925,"language":6991,"meta":14,"style":14},[611,31096,31097,31101,31111,31121,31127,31131,31141,31151,31161,31171,31181,31189,31193],{"__ignoreMap":14},[6995,31098,31099],{"class":244,"line":6997},[6995,31100,7001],{"class":7000},[6995,31102,31103,31105,31107,31109],{"class":244,"line":15},[6995,31104,7007],{"class":7006},[6995,31106,5102],{"class":7000},[6995,31108,7013],{"class":7012},[6995,31110,7016],{"class":7000},[6995,31112,31113,31115,31117,31119],{"class":244,"line":154},[6995,31114,7021],{"class":7006},[6995,31116,7024],{"class":7000},[6995,31118,8439],{"class":7006},[6995,31120,7030],{"class":7000},[6995,31122,31123,31125],{"class":244,"line":7033},[6995,31124,7732],{"class":7006},[6995,31126,7673],{"class":7000},[6995,31128,31129],{"class":244,"line":7044},[6995,31130,7537],{"class":7000},[6995,31132,31133,31135,31137,31139],{"class":244,"line":7107},[6995,31134,11902],{"class":7006},[6995,31136,7024],{"class":7000},[6995,31138,8689],{"class":7006},[6995,31140,7030],{"class":7000},[6995,31142,31143,31145,31147,31149],{"class":244,"line":7120},[6995,31144,7229],{"class":7006},[6995,31146,7024],{"class":7000},[6995,31148,7180],{"class":7006},[6995,31150,7030],{"class":7000},[6995,31152,31153,31155,31157,31159],{"class":244,"line":7133},[6995,31154,21006],{"class":7006},[6995,31156,23988],{"class":7000},[6995,31158,23991],{"class":7012},[6995,31160,7030],{"class":7000},[6995,31162,31163,31165,31167,31169],{"class":244,"line":7146},[6995,31164,20995],{"class":7006},[6995,31166,7024],{"class":7000},[6995,31168,24002],{"class":7012},[6995,31170,7030],{"class":7000},[6995,31172,31173,31175,31177,31179],{"class":244,"line":7159},[6995,31174,8467],{"class":7006},[6995,31176,23988],{"class":7000},[6995,31178,24013],{"class":7006},[6995,31180,7030],{"class":7000},[6995,31182,31183,31185,31187],{"class":244,"line":7172},[6995,31184,20983],{"class":7006},[6995,31186,23988],{"class":7000},[6995,31188,24024],{"class":7012},[6995,31190,31191],{"class":244,"line":7185},[6995,31192,7615],{"class":7000},[6995,31194,31195],{"class":244,"line":7198},[6995,31196,7047],{"class":7000},[852,31198,31199,31203,31207,31211,31215,31219],{},[59,31200,31201,24040],{},[611,31202,24039],{},[59,31204,31205,24046],{},[611,31206,24045],{},[59,31208,31209,24052],{},[611,31210,24051],{},[59,31212,31213,24057],{},[611,31214,8404],{},[59,31216,31217,24062],{},[611,31218,6869],{},[59,31220,31221,24067],{},[611,31222,12547],{},[34,31224,31225,24072],{},[37,31226,22074],{},[41,31228,18385],{"id":18385},[34,31230,24077],{},[34,31232,24080],{},[34,31234,31235],{},[611,31236,6986],{},[616,31238,31239],{"className":6989,"code":24087,"language":6991,"meta":14,"style":14},[611,31240,31241,31245,31255,31265,31275,31281,31285,31303,31311,31315],{"__ignoreMap":14},[6995,31242,31243],{"class":244,"line":6997},[6995,31244,7001],{"class":7000},[6995,31246,31247,31249,31251,31253],{"class":244,"line":15},[6995,31248,7007],{"class":7006},[6995,31250,7024],{"class":7000},[6995,31252,7013],{"class":7012},[6995,31254,7016],{"class":7000},[6995,31256,31257,31259,31261,31263],{"class":244,"line":154},[6995,31258,7021],{"class":7006},[6995,31260,7024],{"class":7000},[6995,31262,7511],{"class":7006},[6995,31264,7030],{"class":7000},[6995,31266,31267,31269,31271,31273],{"class":244,"line":7033},[6995,31268,7036],{"class":7006},[6995,31270,7024],{"class":7000},[6995,31272,24122],{"class":7012},[6995,31274,7016],{"class":7000},[6995,31276,31277,31279],{"class":244,"line":7044},[6995,31278,7529],{"class":7006},[6995,31280,7532],{"class":7000},[6995,31282,31283],{"class":244,"line":7107},[6995,31284,7537],{"class":7000},[6995,31286,31287,31289,31291,31293,31295,31297,31299,31301],{"class":244,"line":7120},[6995,31288,24139],{"class":7006},[6995,31290,24142],{"class":7000},[6995,31292,7167],{"class":7006},[6995,31294,2231],{"class":7000},[6995,31296,7167],{"class":7006},[6995,31298,2231],{"class":7000},[6995,31300,7167],{"class":7006},[6995,31302,19906],{"class":7000},[6995,31304,31305,31307,31309],{"class":244,"line":7133},[6995,31306,24159],{"class":7006},[6995,31308,7024],{"class":7000},[6995,31310,24164],{"class":7012},[6995,31312,31313],{"class":244,"line":7146},[6995,31314,7615],{"class":7000},[6995,31316,31317],{"class":244,"line":7159},[6995,31318,7047],{"class":7000},[34,31320,24175],{},[34,31322,31323],{},[611,31324,6986],{},[616,31326,31327],{"className":6989,"code":24182,"language":6991,"meta":14,"style":14},[611,31328,31329,31333,31343,31353,31363,31369,31373,31383,31391,31395],{"__ignoreMap":14},[6995,31330,31331],{"class":244,"line":6997},[6995,31332,7001],{"class":7000},[6995,31334,31335,31337,31339,31341],{"class":244,"line":15},[6995,31336,7007],{"class":7006},[6995,31338,7024],{"class":7000},[6995,31340,7013],{"class":7012},[6995,31342,7016],{"class":7000},[6995,31344,31345,31347,31349,31351],{"class":244,"line":154},[6995,31346,7021],{"class":7006},[6995,31348,7024],{"class":7000},[6995,31350,7511],{"class":7006},[6995,31352,7030],{"class":7000},[6995,31354,31355,31357,31359,31361],{"class":244,"line":7033},[6995,31356,7036],{"class":7006},[6995,31358,7024],{"class":7000},[6995,31360,24122],{"class":7012},[6995,31362,7016],{"class":7000},[6995,31364,31365,31367],{"class":244,"line":7044},[6995,31366,7529],{"class":7006},[6995,31368,7532],{"class":7000},[6995,31370,31371],{"class":244,"line":7107},[6995,31372,7537],{"class":7000},[6995,31374,31375,31377,31379,31381],{"class":244,"line":7120},[6995,31376,24233],{"class":7006},[6995,31378,7024],{"class":7000},[6995,31380,24238],{"class":7012},[6995,31382,7030],{"class":7000},[6995,31384,31385,31387,31389],{"class":244,"line":7133},[6995,31386,24159],{"class":7006},[6995,31388,7024],{"class":7000},[6995,31390,24164],{"class":7012},[6995,31392,31393],{"class":244,"line":7146},[6995,31394,7615],{"class":7000},[6995,31396,31397],{"class":244,"line":7159},[6995,31398,7047],{"class":7000},[852,31400,31401,31405,31409,31413],{},[59,31402,31403,24263],{},[611,31404,6411],{},[59,31406,31407,24269],{},[611,31408,24268],{},[59,31410,31411,24275],{},[611,31412,24274],{},[59,31414,31415,24281,31417,24284,31419,24288,31421,24291,31423,181],{},[611,31416,24280],{},[611,31418,8689],{},[611,31420,24287],{},[175,31422,18396],{"href":18395},[611,31424,8689],{},[34,31426,31427,24298,31429,181],{},[611,31428,6411],{},[611,31430,24268],{},[34,31432,31433],{},[611,31434,7052],{},[616,31436,31437],{"className":6989,"code":24307,"language":6991,"meta":14,"style":14},[611,31438,31439,31443,31453,31463,31469,31517,31543,31561,31565],{"__ignoreMap":14},[6995,31440,31441],{"class":244,"line":6997},[6995,31442,7001],{"class":7000},[6995,31444,31445,31447,31449,31451],{"class":244,"line":15},[6995,31446,7066],{"class":7006},[6995,31448,7024],{"class":7000},[6995,31450,7071],{"class":7006},[6995,31452,7030],{"class":7000},[6995,31454,31455,31457,31459,31461],{"class":244,"line":154},[6995,31456,7078],{"class":7006},[6995,31458,7024],{"class":7000},[6995,31460,7013],{"class":7012},[6995,31462,7030],{"class":7000},[6995,31464,31465,31467],{"class":244,"line":7033},[6995,31466,7089],{"class":7006},[6995,31468,7092],{"class":7000},[6995,31470,31471,31473,31475,31477,31479,31481,31483,31485,31487,31489,31491,31493,31495,31497,31499,31501,31503,31505,31507,31509,31511,31513,31515],{"class":244,"line":7044},[6995,31472,24344],{"class":7006},[6995,31474,7024],{"class":7000},[6995,31476,24349],{"class":7012},[6995,31478,24352],{"class":7006},[6995,31480,24355],{"class":7012},[6995,31482,24352],{"class":7006},[6995,31484,24360],{"class":7012},[6995,31486,24352],{"class":7006},[6995,31488,24365],{"class":7012},[6995,31490,24352],{"class":7006},[6995,31492,7024],{"class":7012},[6995,31494,24352],{"class":7006},[6995,31496,24374],{"class":7012},[6995,31498,24352],{"class":7006},[6995,31500,17176],{"class":7012},[6995,31502,24352],{"class":7006},[6995,31504,24383],{"class":7012},[6995,31506,24352],{"class":7006},[6995,31508,24388],{"class":7012},[6995,31510,24352],{"class":7006},[6995,31512,24365],{"class":7012},[6995,31514,24352],{"class":7006},[6995,31516,7673],{"class":7012},[6995,31518,31519,31521,31523,31525,31527,31529,31531,31533,31535,31537,31539,31541],{"class":244,"line":7107},[6995,31520,24401],{"class":7006},[6995,31522,24404],{"class":7012},[6995,31524,24352],{"class":7006},[6995,31526,17176],{"class":7012},[6995,31528,24352],{"class":7006},[6995,31530,24383],{"class":7012},[6995,31532,24352],{"class":7006},[6995,31534,24417],{"class":7012},[6995,31536,24352],{"class":7006},[6995,31538,24365],{"class":7012},[6995,31540,24352],{"class":7006},[6995,31542,7673],{"class":7012},[6995,31544,31545,31547,31549,31551,31553,31555,31557,31559],{"class":244,"line":7120},[6995,31546,24401],{"class":7006},[6995,31548,24432],{"class":7012},[6995,31550,24352],{"class":7006},[6995,31552,17176],{"class":7012},[6995,31554,24352],{"class":7006},[6995,31556,24383],{"class":7012},[6995,31558,24352],{"class":7006},[6995,31560,24445],{"class":7012},[6995,31562,31563],{"class":244,"line":7133},[6995,31564,7467],{"class":7000},[6995,31566,31567],{"class":244,"line":7146},[6995,31568,7047],{"class":7000},[852,31570,31571,31575,31579],{},[59,31572,31573,24460],{},[611,31574,16228],{},[59,31576,31577,24465],{},[611,31578,24287],{},[59,31580,31581,24471,31583],{},[611,31582,24470],{},[175,31584,18396],{"href":18395},[48,31586,24477],{"id":24476},[34,31588,24480],{},[48,31590,24484],{"id":24483},[34,31592,24487],{},[48,31594,24491],{"id":24490},[34,31596,31597,31598,10670,31600,31602],{},"If there was an invoke_shader before ",[611,31599,6411],{},[611,31601,24268],{}," can be omitted. In this case contract code from previous call would be used. In case of wallet_api code caching works on per-connection level. In case of applications caching works on per-application level.",[34,31604,31605],{},[611,31606,6986],{},[616,31608,31609],{"className":6989,"code":24509,"language":6991,"meta":14,"style":14},[611,31610,31611,31615,31625,31635,31645,31651,31661,31669,31673],{"__ignoreMap":14},[6995,31612,31613],{"class":244,"line":6997},[6995,31614,7001],{"class":7000},[6995,31616,31617,31619,31621,31623],{"class":244,"line":15},[6995,31618,7007],{"class":7006},[6995,31620,7024],{"class":7000},[6995,31622,7013],{"class":7012},[6995,31624,7030],{"class":7000},[6995,31626,31627,31629,31631,31633],{"class":244,"line":154},[6995,31628,7021],{"class":7006},[6995,31630,7024],{"class":7000},[6995,31632,7071],{"class":7006},[6995,31634,7030],{"class":7000},[6995,31636,31637,31639,31641,31643],{"class":244,"line":7033},[6995,31638,7036],{"class":7006},[6995,31640,7024],{"class":7000},[6995,31642,24122],{"class":7012},[6995,31644,7030],{"class":7000},[6995,31646,31647,31649],{"class":244,"line":7044},[6995,31648,7529],{"class":7006},[6995,31650,7092],{"class":7000},[6995,31652,31653,31655,31657,31659],{"class":244,"line":7107},[6995,31654,24233],{"class":7006},[6995,31656,7024],{"class":7000},[6995,31658,24560],{"class":7012},[6995,31660,7030],{"class":7000},[6995,31662,31663,31665,31667],{"class":244,"line":7120},[6995,31664,24159],{"class":7006},[6995,31666,7024],{"class":7000},[6995,31668,24571],{"class":7012},[6995,31670,31671],{"class":244,"line":7133},[6995,31672,7615],{"class":7000},[6995,31674,31675],{"class":244,"line":7146},[6995,31676,7047],{"class":7000},[34,31678,31679],{},[611,31680,7052],{},[616,31682,31683],{"className":6989,"code":24586,"language":6991,"meta":14,"style":14},[611,31684,31685,31689,31699,31709,31715,31739,31743],{"__ignoreMap":14},[6995,31686,31687],{"class":244,"line":6997},[6995,31688,7001],{"class":7000},[6995,31690,31691,31693,31695,31697],{"class":244,"line":15},[6995,31692,7066],{"class":7006},[6995,31694,7024],{"class":7000},[6995,31696,7071],{"class":7006},[6995,31698,7030],{"class":7000},[6995,31700,31701,31703,31705,31707],{"class":244,"line":154},[6995,31702,7078],{"class":7006},[6995,31704,7024],{"class":7000},[6995,31706,7013],{"class":7012},[6995,31708,7030],{"class":7000},[6995,31710,31711,31713],{"class":244,"line":7033},[6995,31712,7089],{"class":7006},[6995,31714,7092],{"class":7000},[6995,31716,31717,31719,31721,31723,31725,31727,31729,31731,31733,31735,31737],{"class":244,"line":7044},[6995,31718,24344],{"class":7006},[6995,31720,7024],{"class":7000},[6995,31722,24349],{"class":7012},[6995,31724,24352],{"class":7006},[6995,31726,15764],{"class":7012},[6995,31728,24352],{"class":7006},[6995,31730,7024],{"class":7012},[6995,31732,24352],{"class":7006},[6995,31734,24639],{"class":7012},[6995,31736,24352],{"class":7006},[6995,31738,24644],{"class":7012},[6995,31740,31741],{"class":244,"line":7107},[6995,31742,7467],{"class":7000},[6995,31744,31745],{"class":244,"line":7120},[6995,31746,7047],{"class":7000},[48,31748,31750],{"id":31749},"requests-queue","Requests queue",[34,31752,31753,31754,31756,31757,31760],{},"Before v6.1 it was not allowed to make the next contract call before the previous one is completed. As per v6.1 priority queue is added for ",[611,31755,18385],{}," requests. If previous call is not completed new ",[611,31758,31759],{},"invoke_shader"," call would be added to the queue and executed later. New parameters were added to control the queue:",[852,31762,31763,31768],{},[59,31764,31765,31767],{},[611,31766,25535],{}," - integer, 0 by default. Calls with higher priority would be placed on top of the queue",[59,31769,31770,31772,31773,31775,31776,31778],{},[611,31771,25538],{}," - integer, 0 by default. If there is already an ",[611,31774,18385],{}," call with the same ",[611,31777,25538],{}," queued or being executed the new call will not be added to the queue. This might be necessary to avoid queue congestion with multiple status while previous requests are still pending. Value of 0 is ignored and doesn't trigger call omission.",[41,31780,18396],{"id":18396},[34,31782,24657],{},[34,31784,31785],{},[611,31786,6986],{},[616,31788,31789],{"className":6989,"code":24664,"language":6991,"meta":14,"style":14},[611,31790,31791,31795,31805,31815,31825,31831,31849,31853],{"__ignoreMap":14},[6995,31792,31793],{"class":244,"line":6997},[6995,31794,7001],{"class":7000},[6995,31796,31797,31799,31801,31803],{"class":244,"line":15},[6995,31798,7007],{"class":7006},[6995,31800,7024],{"class":7000},[6995,31802,7013],{"class":7012},[6995,31804,7030],{"class":7000},[6995,31806,31807,31809,31811,31813],{"class":244,"line":154},[6995,31808,7021],{"class":7006},[6995,31810,7024],{"class":7000},[6995,31812,7071],{"class":7006},[6995,31814,7030],{"class":7000},[6995,31816,31817,31819,31821,31823],{"class":244,"line":7033},[6995,31818,7036],{"class":7006},[6995,31820,7024],{"class":7000},[6995,31822,24699],{"class":7012},[6995,31824,7030],{"class":7000},[6995,31826,31827,31829],{"class":244,"line":7044},[6995,31828,7529],{"class":7006},[6995,31830,7092],{"class":7000},[6995,31832,31833,31835,31837,31839,31841,31843,31845,31847],{"class":244,"line":7107},[6995,31834,24712],{"class":7006},[6995,31836,24142],{"class":7000},[6995,31838,7167],{"class":7006},[6995,31840,2231],{"class":7000},[6995,31842,7167],{"class":7006},[6995,31844,2231],{"class":7000},[6995,31846,7167],{"class":7006},[6995,31848,13671],{"class":7000},[6995,31850,31851],{"class":244,"line":7120},[6995,31852,7615],{"class":7000},[6995,31854,31855],{"class":244,"line":7133},[6995,31856,7047],{"class":7000},[852,31858,31859],{},[59,31860,31861,24741,31863,24744],{},[611,31862,15730],{},[175,31864,18385],{"href":18384},[34,31866,31867],{},[611,31868,7052],{},[616,31870,31871],{"className":6989,"code":24751,"language":6991,"meta":14,"style":14},[611,31872,31873,31877,31887,31897,31903,31911,31915],{"__ignoreMap":14},[6995,31874,31875],{"class":244,"line":6997},[6995,31876,7001],{"class":7000},[6995,31878,31879,31881,31883,31885],{"class":244,"line":15},[6995,31880,7066],{"class":7006},[6995,31882,7024],{"class":7000},[6995,31884,7071],{"class":7006},[6995,31886,7030],{"class":7000},[6995,31888,31889,31891,31893,31895],{"class":244,"line":154},[6995,31890,7078],{"class":7006},[6995,31892,7024],{"class":7000},[6995,31894,7013],{"class":7012},[6995,31896,7030],{"class":7000},[6995,31898,31899,31901],{"class":244,"line":7033},[6995,31900,7089],{"class":7006},[6995,31902,7092],{"class":7000},[6995,31904,31905,31907,31909],{"class":244,"line":7044},[6995,31906,24788],{"class":7006},[6995,31908,7024],{"class":7000},[6995,31910,24793],{"class":7012},[6995,31912,31913],{"class":244,"line":7107},[6995,31914,7467],{"class":7000},[6995,31916,31917],{"class":244,"line":7120},[6995,31918,7047],{"class":7000},[852,31920,31921],{},[59,31922,31923,24808],{},[611,31924,24287],{},[41,31926,6940],{"id":6940},[34,31928,24813,31929],{},[611,31930,8404],{},[34,31932,31933],{},[611,31934,6986],{},[616,31936,31937],{"className":6989,"code":8414,"language":6991,"meta":14,"style":14},[611,31938,31939,31943,31953,31963,31973,31979,31983,31993,32003,32013,32021,32025],{"__ignoreMap":14},[6995,31940,31941],{"class":244,"line":6997},[6995,31942,7001],{"class":7000},[6995,31944,31945,31947,31949,31951],{"class":244,"line":15},[6995,31946,7007],{"class":7006},[6995,31948,5102],{"class":7000},[6995,31950,7013],{"class":7012},[6995,31952,7016],{"class":7000},[6995,31954,31955,31957,31959,31961],{"class":244,"line":154},[6995,31956,7021],{"class":7006},[6995,31958,7024],{"class":7000},[6995,31960,8439],{"class":7006},[6995,31962,7030],{"class":7000},[6995,31964,31965,31967,31969,31971],{"class":244,"line":7033},[6995,31966,7036],{"class":7006},[6995,31968,5102],{"class":7000},[6995,31970,8450],{"class":7012},[6995,31972,7016],{"class":7000},[6995,31974,31975,31977],{"class":244,"line":7044},[6995,31976,7529],{"class":7006},[6995,31978,7532],{"class":7000},[6995,31980,31981],{"class":244,"line":7107},[6995,31982,7537],{"class":7000},[6995,31984,31985,31987,31989,31991],{"class":244,"line":7120},[6995,31986,8467],{"class":7006},[6995,31988,7746],{"class":7000},[6995,31990,8472],{"class":7006},[6995,31992,7030],{"class":7000},[6995,31994,31995,31997,31999,32001],{"class":244,"line":7133},[6995,31996,7229],{"class":7006},[6995,31998,7024],{"class":7000},[6995,32000,7511],{"class":7006},[6995,32002,7030],{"class":7000},[6995,32004,32005,32007,32009,32011],{"class":244,"line":7146},[6995,32006,7554],{"class":7006},[6995,32008,7024],{"class":7000},[6995,32010,8493],{"class":7006},[6995,32012,7030],{"class":7000},[6995,32014,32015,32017,32019],{"class":244,"line":7159},[6995,32016,8500],{"class":7006},[6995,32018,7024],{"class":7000},[6995,32020,8505],{"class":7006},[6995,32022,32023],{"class":244,"line":7172},[6995,32024,7615],{"class":7000},[6995,32026,32027],{"class":244,"line":7185},[6995,32028,7047],{"class":7000},[34,32030,32031],{},[611,32032,7052],{},[616,32034,32035],{"className":6989,"code":8520,"language":6991,"meta":14,"style":14},[611,32036,32037,32041,32051,32061,32067,32071,32081,32091,32101,32111,32121,32129,32133],{"__ignoreMap":14},[6995,32038,32039],{"class":244,"line":6997},[6995,32040,7001],{"class":7000},[6995,32042,32043,32045,32047,32049],{"class":244,"line":15},[6995,32044,7007],{"class":7006},[6995,32046,5102],{"class":7000},[6995,32048,7013],{"class":7012},[6995,32050,7016],{"class":7000},[6995,32052,32053,32055,32057,32059],{"class":244,"line":154},[6995,32054,7021],{"class":7006},[6995,32056,7024],{"class":7000},[6995,32058,8439],{"class":7006},[6995,32060,7030],{"class":7000},[6995,32062,32063,32065],{"class":244,"line":7033},[6995,32064,7732],{"class":7006},[6995,32066,7532],{"class":7000},[6995,32068,32069],{"class":244,"line":7044},[6995,32070,7537],{"class":7000},[6995,32072,32073,32075,32077,32079],{"class":244,"line":7107},[6995,32074,8561],{"class":7006},[6995,32076,7024],{"class":7000},[6995,32078,8566],{"class":7006},[6995,32080,7030],{"class":7000},[6995,32082,32083,32085,32087,32089],{"class":244,"line":7120},[6995,32084,8573],{"class":7006},[6995,32086,7024],{"class":7000},[6995,32088,8578],{"class":7012},[6995,32090,7030],{"class":7000},[6995,32092,32093,32095,32097,32099],{"class":244,"line":7133},[6995,32094,8585],{"class":7006},[6995,32096,7024],{"class":7000},[6995,32098,8566],{"class":7006},[6995,32100,7030],{"class":7000},[6995,32102,32103,32105,32107,32109],{"class":244,"line":7146},[6995,32104,8596],{"class":7006},[6995,32106,7024],{"class":7000},[6995,32108,8578],{"class":7012},[6995,32110,7030],{"class":7000},[6995,32112,32113,32115,32117,32119],{"class":244,"line":7159},[6995,32114,8607],{"class":7006},[6995,32116,7024],{"class":7000},[6995,32118,8612],{"class":7006},[6995,32120,7030],{"class":7000},[6995,32122,32123,32125,32127],{"class":244,"line":7172},[6995,32124,8619],{"class":7006},[6995,32126,7024],{"class":7000},[6995,32128,8624],{"class":7012},[6995,32130,32131],{"class":244,"line":7185},[6995,32132,7615],{"class":7000},[6995,32134,32135],{"class":244,"line":7198},[6995,32136,7047],{"class":7000},[34,32138,8635],{},[852,32140,32141,32145,32149,32153,32159,32169,32173],{},[59,32142,32143,8642],{},[611,32144,8404],{},[59,32146,32147,25034],{},[611,32148,6869],{},[59,32150,32151,8652],{},[611,32152,8147],{},[59,32154,32155,8658,32157],{},[611,32156,8657],{},[611,32158,6869],{},[59,32160,32161,8666,32163,1475,32165,8671,32167,8675],{},[611,32162,8665],{},[611,32164,8657],{},[611,32166,8665],{},[611,32168,8674],{},[59,32170,32171,8681],{},[611,32172,8680],{},[59,32174,32175,98,32177,8690],{},[611,32176,8686],{},[611,32178,8689],{},[41,32180,18406],{"id":18406},[34,32182,25069],{},[34,32184,32185],{},[611,32186,6986],{},[616,32188,32189],{"className":6989,"code":25076,"language":6991,"meta":14,"style":14},[611,32190,32191,32195,32205,32215,32225,32231,32235,32243,32247],{"__ignoreMap":14},[6995,32192,32193],{"class":244,"line":6997},[6995,32194,7001],{"class":7000},[6995,32196,32197,32199,32201,32203],{"class":244,"line":15},[6995,32198,7007],{"class":7006},[6995,32200,7024],{"class":7000},[6995,32202,7013],{"class":7012},[6995,32204,7016],{"class":7000},[6995,32206,32207,32209,32211,32213],{"class":244,"line":154},[6995,32208,7021],{"class":7006},[6995,32210,7024],{"class":7000},[6995,32212,7511],{"class":7006},[6995,32214,7030],{"class":7000},[6995,32216,32217,32219,32221,32223],{"class":244,"line":7033},[6995,32218,7036],{"class":7006},[6995,32220,7024],{"class":7000},[6995,32222,25111],{"class":7012},[6995,32224,7016],{"class":7000},[6995,32226,32227,32229],{"class":244,"line":7044},[6995,32228,7529],{"class":7006},[6995,32230,7532],{"class":7000},[6995,32232,32233],{"class":244,"line":7107},[6995,32234,7537],{"class":7000},[6995,32236,32237,32239,32241],{"class":244,"line":7120},[6995,32238,21741],{"class":7006},[6995,32240,7024],{"class":7000},[6995,32242,25132],{"class":7006},[6995,32244,32245],{"class":244,"line":7133},[6995,32246,7615],{"class":7000},[6995,32248,32249],{"class":244,"line":7146},[6995,32250,7047],{"class":7000},[852,32252,32253],{},[59,32254,32255,25147],{},[611,32256,12542],{},[34,32258,32259],{},[611,32260,7052],{},[616,32262,32263],{"className":6989,"code":25154,"language":6991,"meta":14,"style":14},[611,32264,32265,32269,32279,32289,32295,32299,32309,32319,32329,32339,32349,32359,32369,32379,32389,32399,32407,32411],{"__ignoreMap":14},[6995,32266,32267],{"class":244,"line":6997},[6995,32268,7001],{"class":7000},[6995,32270,32271,32273,32275,32277],{"class":244,"line":15},[6995,32272,7007],{"class":7006},[6995,32274,5102],{"class":7000},[6995,32276,7013],{"class":7012},[6995,32278,7016],{"class":7000},[6995,32280,32281,32283,32285,32287],{"class":244,"line":154},[6995,32282,7021],{"class":7006},[6995,32284,7024],{"class":7000},[6995,32286,8439],{"class":7006},[6995,32288,7030],{"class":7000},[6995,32290,32291,32293],{"class":244,"line":7033},[6995,32292,7732],{"class":7006},[6995,32294,7532],{"class":7000},[6995,32296,32297],{"class":244,"line":7044},[6995,32298,7537],{"class":7000},[6995,32300,32301,32303,32305,32307],{"class":244,"line":7107},[6995,32302,25195],{"class":7006},[6995,32304,7024],{"class":7000},[6995,32306,25200],{"class":7012},[6995,32308,7030],{"class":7000},[6995,32310,32311,32313,32315,32317],{"class":244,"line":7120},[6995,32312,25207],{"class":7006},[6995,32314,7024],{"class":7000},[6995,32316,25212],{"class":7012},[6995,32318,7030],{"class":7000},[6995,32320,32321,32323,32325,32327],{"class":244,"line":7133},[6995,32322,25219],{"class":7006},[6995,32324,7024],{"class":7000},[6995,32326,25224],{"class":7012},[6995,32328,7030],{"class":7000},[6995,32330,32331,32333,32335,32337],{"class":244,"line":7146},[6995,32332,22259],{"class":7006},[6995,32334,7024],{"class":7000},[6995,32336,25235],{"class":7006},[6995,32338,7030],{"class":7000},[6995,32340,32341,32343,32345,32347],{"class":244,"line":7159},[6995,32342,21741],{"class":7006},[6995,32344,7024],{"class":7000},[6995,32346,11001],{"class":7006},[6995,32348,7030],{"class":7000},[6995,32350,32351,32353,32355,32357],{"class":244,"line":7172},[6995,32352,25252],{"class":7006},[6995,32354,7024],{"class":7000},[6995,32356,25257],{"class":7012},[6995,32358,7030],{"class":7000},[6995,32360,32361,32363,32365,32367],{"class":244,"line":7185},[6995,32362,25264],{"class":7006},[6995,32364,7024],{"class":7000},[6995,32366,25269],{"class":7006},[6995,32368,7030],{"class":7000},[6995,32370,32371,32373,32375,32377],{"class":244,"line":7198},[6995,32372,25276],{"class":7006},[6995,32374,7024],{"class":7000},[6995,32376,25281],{"class":7012},[6995,32378,7030],{"class":7000},[6995,32380,32381,32383,32385,32387],{"class":244,"line":7211},[6995,32382,25288],{"class":7006},[6995,32384,7024],{"class":7000},[6995,32386,25293],{"class":7012},[6995,32388,7030],{"class":7000},[6995,32390,32391,32393,32395,32397],{"class":244,"line":7220},[6995,32392,25300],{"class":7006},[6995,32394,7024],{"class":7000},[6995,32396,25305],{"class":7012},[6995,32398,7030],{"class":7000},[6995,32400,32401,32403,32405],{"class":244,"line":7226},[6995,32402,25312],{"class":7006},[6995,32404,7024],{"class":7000},[6995,32406,25317],{"class":7006},[6995,32408,32409],{"class":244,"line":7238},[6995,32410,7615],{"class":7000},[6995,32412,32413],{"class":244,"line":7250},[6995,32414,7047],{"class":7000},[852,32416,32417,32421,32425,32429,32433,32437,32441,32445,32449,32453,32457],{},[59,32418,32419,25333],{},[611,32420,25332],{},[59,32422,32423,25339],{},[611,32424,25338],{},[59,32426,32427,25344],{},[611,32428,14358],{},[59,32430,32431,25349],{},[611,32432,16328],{},[59,32434,32435,25354],{},[611,32436,12542],{},[59,32438,32439,25360],{},[611,32440,25359],{},[59,32442,32443,25366],{},[611,32444,25365],{},[59,32446,32447,25372],{},[611,32448,25371],{},[59,32450,32451,25378],{},[611,32452,25377],{},[59,32454,32455,25384],{},[611,32456,25383],{},[59,32458,32459,25390],{},[611,32460,25389],{},[48,32462,24477],{"id":25393},[34,32464,25396],{},[41,32466,25472],{"id":25472},[34,32468,32469],{},"Returns version info",[34,32471,32472],{},[611,32473,6986],{},[616,32475,32477],{"className":6989,"code":32476,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 1,\n    \"method\": \"get_version\"\n}\n",[611,32478,32479,32483,32493,32503,32512],{"__ignoreMap":14},[6995,32480,32481],{"class":244,"line":6997},[6995,32482,7001],{"class":7000},[6995,32484,32485,32487,32489,32491],{"class":244,"line":15},[6995,32486,7007],{"class":7006},[6995,32488,7024],{"class":7000},[6995,32490,7013],{"class":7012},[6995,32492,7016],{"class":7000},[6995,32494,32495,32497,32499,32501],{"class":244,"line":154},[6995,32496,7021],{"class":7006},[6995,32498,7024],{"class":7000},[6995,32500,6679],{"class":7006},[6995,32502,7030],{"class":7000},[6995,32504,32505,32507,32509],{"class":244,"line":7033},[6995,32506,7036],{"class":7006},[6995,32508,7024],{"class":7000},[6995,32510,32511],{"class":7012},"\"get_version\"\n",[6995,32513,32514],{"class":244,"line":7044},[6995,32515,7047],{"class":7000},[34,32517,32518],{},[611,32519,7052],{},[616,32521,32523],{"className":6989,"code":32522,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"api_version\": \"6.1\",\n    \"api_version_major\": 6,\n    \"api_version_minor\": 1,\n    \"beam_branch_name\": \"master\",\n    \"beam_commit_hash\": \"f7dcfab5341e84a58918f2fde0fc2be9c09264eb\",\n    \"beam_version\": \"6.1.11462\",\n    \"beam_version_major\": 6,\n    \"beam_version_minor\": 1,\n    \"beam_version_rev\": 11462\n  }\n}\n",[611,32524,32525,32529,32539,32549,32555,32567,32578,32589,32601,32613,32625,32636,32647,32657,32661],{"__ignoreMap":14},[6995,32526,32527],{"class":244,"line":6997},[6995,32528,7001],{"class":7000},[6995,32530,32531,32533,32535,32537],{"class":244,"line":15},[6995,32532,7066],{"class":7006},[6995,32534,7024],{"class":7000},[6995,32536,6679],{"class":7006},[6995,32538,7030],{"class":7000},[6995,32540,32541,32543,32545,32547],{"class":244,"line":154},[6995,32542,7078],{"class":7006},[6995,32544,7024],{"class":7000},[6995,32546,7013],{"class":7012},[6995,32548,7030],{"class":7000},[6995,32550,32551,32553],{"class":244,"line":7033},[6995,32552,7089],{"class":7006},[6995,32554,7092],{"class":7000},[6995,32556,32557,32560,32562,32565],{"class":244,"line":7044},[6995,32558,32559],{"class":7006},"    \"api_version\"",[6995,32561,7024],{"class":7000},[6995,32563,32564],{"class":7012},"\"6.1\"",[6995,32566,7030],{"class":7000},[6995,32568,32569,32572,32574,32576],{"class":244,"line":7107},[6995,32570,32571],{"class":7006},"    \"api_version_major\"",[6995,32573,7024],{"class":7000},[6995,32575,7027],{"class":7006},[6995,32577,7030],{"class":7000},[6995,32579,32580,32583,32585,32587],{"class":244,"line":7120},[6995,32581,32582],{"class":7006},"    \"api_version_minor\"",[6995,32584,7024],{"class":7000},[6995,32586,6679],{"class":7006},[6995,32588,7030],{"class":7000},[6995,32590,32591,32594,32596,32599],{"class":244,"line":7133},[6995,32592,32593],{"class":7006},"    \"beam_branch_name\"",[6995,32595,7024],{"class":7000},[6995,32597,32598],{"class":7012},"\"master\"",[6995,32600,7030],{"class":7000},[6995,32602,32603,32606,32608,32611],{"class":244,"line":7146},[6995,32604,32605],{"class":7006},"    \"beam_commit_hash\"",[6995,32607,7024],{"class":7000},[6995,32609,32610],{"class":7012},"\"f7dcfab5341e84a58918f2fde0fc2be9c09264eb\"",[6995,32612,7030],{"class":7000},[6995,32614,32615,32618,32620,32623],{"class":244,"line":7159},[6995,32616,32617],{"class":7006},"    \"beam_version\"",[6995,32619,7024],{"class":7000},[6995,32621,32622],{"class":7012},"\"6.1.11462\"",[6995,32624,7030],{"class":7000},[6995,32626,32627,32630,32632,32634],{"class":244,"line":7172},[6995,32628,32629],{"class":7006},"    \"beam_version_major\"",[6995,32631,7024],{"class":7000},[6995,32633,7027],{"class":7006},[6995,32635,7030],{"class":7000},[6995,32637,32638,32641,32643,32645],{"class":244,"line":7185},[6995,32639,32640],{"class":7006},"    \"beam_version_minor\"",[6995,32642,7024],{"class":7000},[6995,32644,6679],{"class":7006},[6995,32646,7030],{"class":7000},[6995,32648,32649,32652,32654],{"class":244,"line":7198},[6995,32650,32651],{"class":7006},"    \"beam_version_rev\"",[6995,32653,7024],{"class":7000},[6995,32655,32656],{"class":7006},"11462\n",[6995,32658,32659],{"class":244,"line":7211},[6995,32660,7467],{"class":7000},[6995,32662,32663],{"class":244,"line":7220},[6995,32664,7047],{"class":7000},[852,32666,32667,32673],{},[59,32668,32669,32672],{},[611,32670,32671],{},"api_xxx"," API version info",[59,32674,32675,32678,32679,8764],{},[611,32676,32677],{},"beam_xxx"," BEAM version info on top of which API is built (",[175,32680,32681],{"href":32681,"rel":32682},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam",[179],[41,32684,25480],{"id":25480},[34,32686,32687],{},"Subscribe\u002Funsubscribe to API events.",[34,32689,32690],{},[611,32691,6986],{},[616,32693,32695],{"className":6989,"code":32694,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 1,\n    \"method\": \"ev_subunsub\",\n    \"params\": {\n        \"ev_sync_progress\": true,\n        \"ev_system_state\": true,\n        \"ev_assets_changed\": true,\n        \"ev_addrs_changed\": true,\n        \"ev_utxos_changed\": true,\n        \"ev_txs_changed\": true\n    }\n}\n",[611,32696,32697,32701,32711,32721,32732,32738,32749,32760,32771,32782,32793,32802,32806],{"__ignoreMap":14},[6995,32698,32699],{"class":244,"line":6997},[6995,32700,7001],{"class":7000},[6995,32702,32703,32705,32707,32709],{"class":244,"line":15},[6995,32704,7007],{"class":7006},[6995,32706,7024],{"class":7000},[6995,32708,7013],{"class":7012},[6995,32710,7016],{"class":7000},[6995,32712,32713,32715,32717,32719],{"class":244,"line":154},[6995,32714,7021],{"class":7006},[6995,32716,7024],{"class":7000},[6995,32718,6679],{"class":7006},[6995,32720,7030],{"class":7000},[6995,32722,32723,32725,32727,32730],{"class":244,"line":7033},[6995,32724,7036],{"class":7006},[6995,32726,7024],{"class":7000},[6995,32728,32729],{"class":7012},"\"ev_subunsub\"",[6995,32731,7030],{"class":7000},[6995,32733,32734,32736],{"class":244,"line":7044},[6995,32735,7529],{"class":7006},[6995,32737,7092],{"class":7000},[6995,32739,32740,32743,32745,32747],{"class":244,"line":7107},[6995,32741,32742],{"class":7006},"        \"ev_sync_progress\"",[6995,32744,7024],{"class":7000},[6995,32746,8689],{"class":7006},[6995,32748,7030],{"class":7000},[6995,32750,32751,32754,32756,32758],{"class":244,"line":7120},[6995,32752,32753],{"class":7006},"        \"ev_system_state\"",[6995,32755,7024],{"class":7000},[6995,32757,8689],{"class":7006},[6995,32759,7030],{"class":7000},[6995,32761,32762,32765,32767,32769],{"class":244,"line":7133},[6995,32763,32764],{"class":7006},"        \"ev_assets_changed\"",[6995,32766,7024],{"class":7000},[6995,32768,8689],{"class":7006},[6995,32770,7030],{"class":7000},[6995,32772,32773,32776,32778,32780],{"class":244,"line":7146},[6995,32774,32775],{"class":7006},"        \"ev_addrs_changed\"",[6995,32777,7024],{"class":7000},[6995,32779,8689],{"class":7006},[6995,32781,7030],{"class":7000},[6995,32783,32784,32787,32789,32791],{"class":244,"line":7159},[6995,32785,32786],{"class":7006},"        \"ev_utxos_changed\"",[6995,32788,7024],{"class":7000},[6995,32790,8689],{"class":7006},[6995,32792,7030],{"class":7000},[6995,32794,32795,32798,32800],{"class":244,"line":7172},[6995,32796,32797],{"class":7006},"        \"ev_txs_changed\"",[6995,32799,7024],{"class":7000},[6995,32801,8505],{"class":7006},[6995,32803,32804],{"class":244,"line":7185},[6995,32805,7615],{"class":7000},[6995,32807,32808],{"class":244,"line":7198},[6995,32809,7047],{"class":7000},[34,32811,32812],{},[611,32813,7052],{},[616,32815,32817],{"className":6989,"code":32816,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1,\n  \"jsonrpc\": \"2.0\",\n  \"result\": true\n}\n",[611,32818,32819,32823,32833,32843,32851],{"__ignoreMap":14},[6995,32820,32821],{"class":244,"line":6997},[6995,32822,7001],{"class":7000},[6995,32824,32825,32827,32829,32831],{"class":244,"line":15},[6995,32826,7066],{"class":7006},[6995,32828,7024],{"class":7000},[6995,32830,6679],{"class":7006},[6995,32832,7030],{"class":7000},[6995,32834,32835,32837,32839,32841],{"class":244,"line":154},[6995,32836,7078],{"class":7006},[6995,32838,7024],{"class":7000},[6995,32840,7013],{"class":7012},[6995,32842,7030],{"class":7000},[6995,32844,32845,32847,32849],{"class":244,"line":7033},[6995,32846,7089],{"class":7006},[6995,32848,7024],{"class":7000},[6995,32850,8505],{"class":7006},[6995,32852,32853],{"class":244,"line":7044},[6995,32854,7047],{"class":7000},[852,32856,32857],{},[59,32858,32859,32862,32863,32865],{},[611,32860,32861],{},"ev_xxxx"," corresponding event name, optional, bool. True subscribes to the event, false unsubscribes. All ",[611,32864,32861],{}," paramaters are optional. If event is not specified its subscription state remains unchanged. Immediately after subscription corresponding event is generated providing the latest state.",[41,32867,32869],{"id":32868},"api-events","API Events",[34,32871,32872],{},"API generates the following events:",[852,32874,32875,32879,32883,32887,32891,32895],{},[59,32876,32877],{},[175,32878,25551],{"href":25550},[59,32880,32881],{},[175,32882,25559],{"href":25558},[59,32884,32885],{},[175,32886,25567],{"href":25566},[59,32888,32889],{},[175,32890,25575],{"href":25574},[59,32892,32893],{},[175,32894,25581],{"href":25580},[59,32896,32897],{},[175,32898,25587],{"href":25586},[41,32900,32902],{"id":32901},"ev_xxx_changed-events","ev_XXX_changed Events",[34,32904,32905,32906,32909],{},"These events are generated when some entity\u002Fset of entities is changed. Every ",[611,32907,32908],{},"changed"," event includes the following mandatory fields",[852,32911,32912,32951,32960],{},[59,32913,32914,32916,32917],{},[611,32915,8665],{}," - numerical change type, possible values are\n",[852,32918,32919,32927,32935,32943],{},[59,32920,32921,2231,32923,32926],{},[611,32922,7180],{},[611,32924,32925],{},"added"," - newly added entities are in the array",[59,32928,32929,2231,32931,32934],{},[611,32930,6679],{},[611,32932,32933],{},"removed"," - removed entities are in the array",[59,32936,32937,2231,32939,32942],{},[611,32938,7511],{},[611,32940,32941],{},"updated"," - updated entities are in the array",[59,32944,32945,2231,32947,32950],{},[611,32946,11136],{},[611,32948,32949],{},"reset"," - discard all the previously stored entities, new ones are in the array",[59,32952,32953,32956,32957,32959],{},[611,32954,32955],{},"change_str"," - string representation of the ",[611,32958,8665],{}," field, values are listed above",[59,32961,32962],{},"array of changed entities (name differs based on the entity type)",[41,32964,25551],{"id":25551},[34,32966,32967],{},"Event is generated while wallet is being synced with the blockchain. Let's consider the following situation:",[852,32969,32970,32973],{},[59,32971,32972],{},"current wallet height is 105",[59,32974,32975],{},"block 106 has been just mined",[34,32977,32978],{},"In this case the following sequence of events would be generated:",[34,32980,32981],{},[611,32982,32983],{},"1. \u003C--",[616,32985,32987],{"className":6989,"code":32986,"language":6991,"meta":14,"style":14},"{\n  \"id\": \"ev_sync_progress\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 105,\n    \"current_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"current_state_timestamp\": 1625146903,\n    \"sync_requests_done\": 0,\n    \"sync_requests_total\": 2,\n    \"is_in_sync\": true,\n    \"prev_state_hash\": \"3a2a3bd55615d3de86b86c920f715ad47973be7dbc2fde2d4c39b937e96177e1\",\n    \"tip_height\": 106,\n    \"tip_prev_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"tip_state_hash\": \"7bb40b96ee4606c3e8f085aa633b66c14f041178142eb1077521621cde47e3b1\",\n    \"tip_state_timestamp\": 1625146951\n  }\n}\n",[611,32988,32989,32993,33004,33014,33020,33031,33042,33053,33064,33075,33085,33096,33108,33119,33131,33141,33145],{"__ignoreMap":14},[6995,32990,32991],{"class":244,"line":6997},[6995,32992,7001],{"class":7000},[6995,32994,32995,32997,32999,33002],{"class":244,"line":15},[6995,32996,7066],{"class":7006},[6995,32998,7024],{"class":7000},[6995,33000,33001],{"class":7012},"\"ev_sync_progress\"",[6995,33003,7030],{"class":7000},[6995,33005,33006,33008,33010,33012],{"class":244,"line":154},[6995,33007,7078],{"class":7006},[6995,33009,7024],{"class":7000},[6995,33011,7013],{"class":7012},[6995,33013,7030],{"class":7000},[6995,33015,33016,33018],{"class":244,"line":7033},[6995,33017,7089],{"class":7006},[6995,33019,7092],{"class":7000},[6995,33021,33022,33024,33026,33029],{"class":244,"line":7044},[6995,33023,7097],{"class":7006},[6995,33025,7024],{"class":7000},[6995,33027,33028],{"class":7006},"105",[6995,33030,7030],{"class":7000},[6995,33032,33033,33035,33037,33040],{"class":244,"line":7107},[6995,33034,7110],{"class":7006},[6995,33036,7024],{"class":7000},[6995,33038,33039],{"class":7012},"\"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\"",[6995,33041,7030],{"class":7000},[6995,33043,33044,33046,33048,33051],{"class":244,"line":7120},[6995,33045,29521],{"class":7006},[6995,33047,7024],{"class":7000},[6995,33049,33050],{"class":7006},"1625146903",[6995,33052,7030],{"class":7000},[6995,33054,33055,33058,33060,33062],{"class":244,"line":7133},[6995,33056,33057],{"class":7006},"    \"sync_requests_done\"",[6995,33059,7024],{"class":7000},[6995,33061,7180],{"class":7006},[6995,33063,7030],{"class":7000},[6995,33065,33066,33069,33071,33073],{"class":244,"line":7146},[6995,33067,33068],{"class":7006},"    \"sync_requests_total\"",[6995,33070,7024],{"class":7000},[6995,33072,7511],{"class":7006},[6995,33074,7030],{"class":7000},[6995,33076,33077,33079,33081,33083],{"class":244,"line":7159},[6995,33078,29542],{"class":7006},[6995,33080,7024],{"class":7000},[6995,33082,8689],{"class":7006},[6995,33084,7030],{"class":7000},[6995,33086,33087,33089,33091,33094],{"class":244,"line":7172},[6995,33088,7136],{"class":7006},[6995,33090,7024],{"class":7000},[6995,33092,33093],{"class":7012},"\"3a2a3bd55615d3de86b86c920f715ad47973be7dbc2fde2d4c39b937e96177e1\"",[6995,33095,7030],{"class":7000},[6995,33097,33098,33101,33103,33106],{"class":244,"line":7185},[6995,33099,33100],{"class":7006},"    \"tip_height\"",[6995,33102,7024],{"class":7000},[6995,33104,33105],{"class":7006},"106",[6995,33107,7030],{"class":7000},[6995,33109,33110,33113,33115,33117],{"class":244,"line":7198},[6995,33111,33112],{"class":7006},"    \"tip_prev_state_hash\"",[6995,33114,7024],{"class":7000},[6995,33116,33039],{"class":7012},[6995,33118,7030],{"class":7000},[6995,33120,33121,33124,33126,33129],{"class":244,"line":7211},[6995,33122,33123],{"class":7006},"    \"tip_state_hash\"",[6995,33125,7024],{"class":7000},[6995,33127,33128],{"class":7012},"\"7bb40b96ee4606c3e8f085aa633b66c14f041178142eb1077521621cde47e3b1\"",[6995,33130,7030],{"class":7000},[6995,33132,33133,33136,33138],{"class":244,"line":7220},[6995,33134,33135],{"class":7006},"    \"tip_state_timestamp\"",[6995,33137,7024],{"class":7000},[6995,33139,33140],{"class":7006},"1625146951\n",[6995,33142,33143],{"class":244,"line":7226},[6995,33144,7467],{"class":7000},[6995,33146,33147],{"class":244,"line":7238},[6995,33148,7047],{"class":7000},[34,33150,33151,33152,10072,33155,33158,33159,33162,33163,33165,33166,33168,33169,33171,33172,33174],{},"In event 1 API tells that there is 1 new block to sync (",[611,33153,33154],{},"tip_height",[611,33156,33157],{},"current_height"," is 1) and nothing has been yet done (",[611,33160,33161],{},"sync_requests_done"," is 0). Current height is 105 (",[611,33164,33157],{},"), target height is 106 (",[611,33167,33154],{},") and our wallet is still in a 'synce tolerance range' (",[611,33170,25499],{}," is true). If ",[611,33173,25499],{}," is false all the requested\u002Fpending transaction would be delayed until the wallet is synced.",[34,33176,33177],{},[611,33178,33179],{},"2. \u003C--",[616,33181,33183],{"className":6989,"code":33182,"language":6991,"meta":14,"style":14},"{\n  \"id\": \"ev_sync_progress\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 105,\n    \"current_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"current_state_timestamp\": 1625146903,\n    \"sync_requests_done\": 1,\n    \"sync_requests_total\": 2,\n    \"is_in_sync\": true,\n    \"prev_state_hash\": \"3a2a3bd55615d3de86b86c920f715ad47973be7dbc2fde2d4c39b937e96177e1\",\n    \"tip_height\": 106,\n    \"tip_prev_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"tip_state_hash\": \"7bb40b96ee4606c3e8f085aa633b66c14f041178142eb1077521621cde47e3b1\",\n    \"tip_state_timestamp\": 1625146951\n  }\n}\n",[611,33184,33185,33189,33199,33209,33215,33225,33235,33245,33255,33265,33275,33285,33295,33305,33315,33323,33327],{"__ignoreMap":14},[6995,33186,33187],{"class":244,"line":6997},[6995,33188,7001],{"class":7000},[6995,33190,33191,33193,33195,33197],{"class":244,"line":15},[6995,33192,7066],{"class":7006},[6995,33194,7024],{"class":7000},[6995,33196,33001],{"class":7012},[6995,33198,7030],{"class":7000},[6995,33200,33201,33203,33205,33207],{"class":244,"line":154},[6995,33202,7078],{"class":7006},[6995,33204,7024],{"class":7000},[6995,33206,7013],{"class":7012},[6995,33208,7030],{"class":7000},[6995,33210,33211,33213],{"class":244,"line":7033},[6995,33212,7089],{"class":7006},[6995,33214,7092],{"class":7000},[6995,33216,33217,33219,33221,33223],{"class":244,"line":7044},[6995,33218,7097],{"class":7006},[6995,33220,7024],{"class":7000},[6995,33222,33028],{"class":7006},[6995,33224,7030],{"class":7000},[6995,33226,33227,33229,33231,33233],{"class":244,"line":7107},[6995,33228,7110],{"class":7006},[6995,33230,7024],{"class":7000},[6995,33232,33039],{"class":7012},[6995,33234,7030],{"class":7000},[6995,33236,33237,33239,33241,33243],{"class":244,"line":7120},[6995,33238,29521],{"class":7006},[6995,33240,7024],{"class":7000},[6995,33242,33050],{"class":7006},[6995,33244,7030],{"class":7000},[6995,33246,33247,33249,33251,33253],{"class":244,"line":7133},[6995,33248,33057],{"class":7006},[6995,33250,7024],{"class":7000},[6995,33252,6679],{"class":7006},[6995,33254,7030],{"class":7000},[6995,33256,33257,33259,33261,33263],{"class":244,"line":7146},[6995,33258,33068],{"class":7006},[6995,33260,7024],{"class":7000},[6995,33262,7511],{"class":7006},[6995,33264,7030],{"class":7000},[6995,33266,33267,33269,33271,33273],{"class":244,"line":7159},[6995,33268,29542],{"class":7006},[6995,33270,7024],{"class":7000},[6995,33272,8689],{"class":7006},[6995,33274,7030],{"class":7000},[6995,33276,33277,33279,33281,33283],{"class":244,"line":7172},[6995,33278,7136],{"class":7006},[6995,33280,7024],{"class":7000},[6995,33282,33093],{"class":7012},[6995,33284,7030],{"class":7000},[6995,33286,33287,33289,33291,33293],{"class":244,"line":7185},[6995,33288,33100],{"class":7006},[6995,33290,7024],{"class":7000},[6995,33292,33105],{"class":7006},[6995,33294,7030],{"class":7000},[6995,33296,33297,33299,33301,33303],{"class":244,"line":7198},[6995,33298,33112],{"class":7006},[6995,33300,7024],{"class":7000},[6995,33302,33039],{"class":7012},[6995,33304,7030],{"class":7000},[6995,33306,33307,33309,33311,33313],{"class":244,"line":7211},[6995,33308,33123],{"class":7006},[6995,33310,7024],{"class":7000},[6995,33312,33128],{"class":7012},[6995,33314,7030],{"class":7000},[6995,33316,33317,33319,33321],{"class":244,"line":7220},[6995,33318,33135],{"class":7006},[6995,33320,7024],{"class":7000},[6995,33322,33140],{"class":7006},[6995,33324,33325],{"class":244,"line":7226},[6995,33326,7467],{"class":7000},[6995,33328,33329],{"class":244,"line":7238},[6995,33330,7047],{"class":7000},[34,33332,33333,33334,33336,33337,33340],{},"In event 2 API tells that 1 sync request has been processed (",[611,33335,33161],{}," is 1). It can be block body downloaded, utxo received &c. Since ",[611,33338,33339],{},"sync_requests_total"," is 2 not everything is received, some requests are still pending.",[34,33342,33343],{},[611,33344,33345],{},"3. \u003C--",[616,33347,33349],{"className":6989,"code":33348,"language":6991,"meta":14,"style":14},"{\n  \"id\": \"ev_sync_progress\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 105,\n    \"current_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"current_state_timestamp\": 1625146903,\n    \"sync_requests_done\": 2,\n    \"sync_requests_total\": 2,\n    \"is_in_sync\": true,\n    \"prev_state_hash\": \"3a2a3bd55615d3de86b86c920f715ad47973be7dbc2fde2d4c39b937e96177e1\",\n    \"tip_height\": 106,\n    \"tip_prev_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"tip_state_hash\": \"7bb40b96ee4606c3e8f085aa633b66c14f041178142eb1077521621cde47e3b1\",\n    \"tip_state_timestamp\": 1625146951\n  }\n}\n\nIn event 3 API tells that 2 sync events have been receive (`sync_requests_done` is 2) and since `sync_requests_total` is 2 too we can conclude that everything is downloaded now though not yet processed and wallet state has not yet moved to the next block (current_height is still not changed and is 105).\n\n`4. \u003C--`\n```json\n{\n  \"id\": \"ev_sync_progress\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 106,\n    \"current_state_hash\": \"7bb40b96ee4606c3e8f085aa633b66c14f041178142eb1077521621cde47e3b1\",\n    \"current_state_timestamp\": 1625146903,\n    \"sync_requests_done\": 2,\n    \"sync_requests_total\": 2,\n    \"is_in_sync\": true,\n    \"prev_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"tip_height\": 106,\n    \"tip_prev_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"tip_state_hash\": \"7bb40b96ee4606c3e8f085aa633b66c14f041178142eb1077521621cde47e3b1\",\n    \"tip_state_timestamp\": 1625146951\n  }\n}\n",[611,33350,33351,33355,33365,33375,33381,33391,33401,33411,33421,33431,33441,33451,33461,33471,33481,33489,33493,33497,33501,33531,33535,33545,33550,33554,33564,33574,33580,33590,33600,33610,33620,33630,33640,33650,33660,33670,33680,33688,33692],{"__ignoreMap":14},[6995,33352,33353],{"class":244,"line":6997},[6995,33354,7001],{"class":7000},[6995,33356,33357,33359,33361,33363],{"class":244,"line":15},[6995,33358,7066],{"class":7006},[6995,33360,7024],{"class":7000},[6995,33362,33001],{"class":7012},[6995,33364,7030],{"class":7000},[6995,33366,33367,33369,33371,33373],{"class":244,"line":154},[6995,33368,7078],{"class":7006},[6995,33370,7024],{"class":7000},[6995,33372,7013],{"class":7012},[6995,33374,7030],{"class":7000},[6995,33376,33377,33379],{"class":244,"line":7033},[6995,33378,7089],{"class":7006},[6995,33380,7092],{"class":7000},[6995,33382,33383,33385,33387,33389],{"class":244,"line":7044},[6995,33384,7097],{"class":7006},[6995,33386,7024],{"class":7000},[6995,33388,33028],{"class":7006},[6995,33390,7030],{"class":7000},[6995,33392,33393,33395,33397,33399],{"class":244,"line":7107},[6995,33394,7110],{"class":7006},[6995,33396,7024],{"class":7000},[6995,33398,33039],{"class":7012},[6995,33400,7030],{"class":7000},[6995,33402,33403,33405,33407,33409],{"class":244,"line":7120},[6995,33404,29521],{"class":7006},[6995,33406,7024],{"class":7000},[6995,33408,33050],{"class":7006},[6995,33410,7030],{"class":7000},[6995,33412,33413,33415,33417,33419],{"class":244,"line":7133},[6995,33414,33057],{"class":7006},[6995,33416,7024],{"class":7000},[6995,33418,7511],{"class":7006},[6995,33420,7030],{"class":7000},[6995,33422,33423,33425,33427,33429],{"class":244,"line":7146},[6995,33424,33068],{"class":7006},[6995,33426,7024],{"class":7000},[6995,33428,7511],{"class":7006},[6995,33430,7030],{"class":7000},[6995,33432,33433,33435,33437,33439],{"class":244,"line":7159},[6995,33434,29542],{"class":7006},[6995,33436,7024],{"class":7000},[6995,33438,8689],{"class":7006},[6995,33440,7030],{"class":7000},[6995,33442,33443,33445,33447,33449],{"class":244,"line":7172},[6995,33444,7136],{"class":7006},[6995,33446,7024],{"class":7000},[6995,33448,33093],{"class":7012},[6995,33450,7030],{"class":7000},[6995,33452,33453,33455,33457,33459],{"class":244,"line":7185},[6995,33454,33100],{"class":7006},[6995,33456,7024],{"class":7000},[6995,33458,33105],{"class":7006},[6995,33460,7030],{"class":7000},[6995,33462,33463,33465,33467,33469],{"class":244,"line":7198},[6995,33464,33112],{"class":7006},[6995,33466,7024],{"class":7000},[6995,33468,33039],{"class":7012},[6995,33470,7030],{"class":7000},[6995,33472,33473,33475,33477,33479],{"class":244,"line":7211},[6995,33474,33123],{"class":7006},[6995,33476,7024],{"class":7000},[6995,33478,33128],{"class":7012},[6995,33480,7030],{"class":7000},[6995,33482,33483,33485,33487],{"class":244,"line":7220},[6995,33484,33135],{"class":7006},[6995,33486,7024],{"class":7000},[6995,33488,33140],{"class":7006},[6995,33490,33491],{"class":244,"line":7226},[6995,33492,7467],{"class":7000},[6995,33494,33495],{"class":244,"line":7238},[6995,33496,7047],{"class":7000},[6995,33498,33499],{"class":244,"line":7250},[6995,33500,14371],{"emptyLinePlaceholder":20},[6995,33502,33503,33506,33508,33511,33513,33516,33518,33521,33523,33526,33528],{"class":244,"line":7263},[6995,33504,33505],{"class":7000},"In event ",[6995,33507,11136],{"class":7006},[6995,33509,33510],{"class":7000}," API tells that ",[6995,33512,7511],{"class":7006},[6995,33514,33515],{"class":7000}," sync events have been receive (`sync_requests_done` is ",[6995,33517,7511],{"class":7006},[6995,33519,33520],{"class":7000},") and since `sync_requests_total` is ",[6995,33522,7511],{"class":7006},[6995,33524,33525],{"class":7000}," too we can conclude that everything is downloaded now though not yet processed and wallet state has not yet moved to the next block (current_height is still not changed and is ",[6995,33527,33028],{"class":7006},[6995,33529,33530],{"class":7000},").\n",[6995,33532,33533],{"class":244,"line":7275},[6995,33534,14371],{"emptyLinePlaceholder":20},[6995,33536,33537,33540,33542],{"class":244,"line":7288},[6995,33538,33539],{"class":7000},"`",[6995,33541,8439],{"class":7006},[6995,33543,33544],{"class":7000},". \u003C--`\n",[6995,33546,33547],{"class":244,"line":7300},[6995,33548,33549],{"class":7000},"```json\n",[6995,33551,33552],{"class":244,"line":7313},[6995,33553,7001],{"class":7000},[6995,33555,33556,33558,33560,33562],{"class":244,"line":7325},[6995,33557,7066],{"class":7006},[6995,33559,7024],{"class":7000},[6995,33561,33001],{"class":7012},[6995,33563,7030],{"class":7000},[6995,33565,33566,33568,33570,33572],{"class":244,"line":7336},[6995,33567,7078],{"class":7006},[6995,33569,7024],{"class":7000},[6995,33571,7013],{"class":7012},[6995,33573,7030],{"class":7000},[6995,33575,33576,33578],{"class":244,"line":7342},[6995,33577,7089],{"class":7006},[6995,33579,7092],{"class":7000},[6995,33581,33582,33584,33586,33588],{"class":244,"line":7347},[6995,33583,7097],{"class":7006},[6995,33585,7024],{"class":7000},[6995,33587,33105],{"class":7006},[6995,33589,7030],{"class":7000},[6995,33591,33592,33594,33596,33598],{"class":244,"line":7363},[6995,33593,7110],{"class":7006},[6995,33595,7024],{"class":7000},[6995,33597,33128],{"class":7012},[6995,33599,7030],{"class":7000},[6995,33601,33602,33604,33606,33608],{"class":244,"line":7375},[6995,33603,29521],{"class":7006},[6995,33605,7024],{"class":7000},[6995,33607,33050],{"class":7006},[6995,33609,7030],{"class":7000},[6995,33611,33612,33614,33616,33618],{"class":244,"line":7387},[6995,33613,33057],{"class":7006},[6995,33615,7024],{"class":7000},[6995,33617,7511],{"class":7006},[6995,33619,7030],{"class":7000},[6995,33621,33622,33624,33626,33628],{"class":244,"line":7398},[6995,33623,33068],{"class":7006},[6995,33625,7024],{"class":7000},[6995,33627,7511],{"class":7006},[6995,33629,7030],{"class":7000},[6995,33631,33632,33634,33636,33638],{"class":244,"line":7410},[6995,33633,29542],{"class":7006},[6995,33635,7024],{"class":7000},[6995,33637,8689],{"class":7006},[6995,33639,7030],{"class":7000},[6995,33641,33642,33644,33646,33648],{"class":244,"line":7421},[6995,33643,7136],{"class":7006},[6995,33645,7024],{"class":7000},[6995,33647,33039],{"class":7012},[6995,33649,7030],{"class":7000},[6995,33651,33652,33654,33656,33658],{"class":244,"line":7432},[6995,33653,33100],{"class":7006},[6995,33655,7024],{"class":7000},[6995,33657,33105],{"class":7006},[6995,33659,7030],{"class":7000},[6995,33661,33662,33664,33666,33668],{"class":244,"line":7443},[6995,33663,33112],{"class":7006},[6995,33665,7024],{"class":7000},[6995,33667,33039],{"class":7012},[6995,33669,7030],{"class":7000},[6995,33671,33672,33674,33676,33678],{"class":244,"line":7452},[6995,33673,33123],{"class":7006},[6995,33675,7024],{"class":7000},[6995,33677,33128],{"class":7012},[6995,33679,7030],{"class":7000},[6995,33681,33682,33684,33686],{"class":244,"line":7458},[6995,33683,33135],{"class":7006},[6995,33685,7024],{"class":7000},[6995,33687,33140],{"class":7006},[6995,33689,33690],{"class":244,"line":7464},[6995,33691,7467],{"class":7000},[6995,33693,33694],{"class":244,"line":7470},[6995,33695,7047],{"class":7000},[34,33697,33698,33699,33701,33702,33704,33705,33701,33708,33711,33712,33701,33714,2344],{},"In event 4 API tells that the wallet state is moved to the last tip (",[611,33700,33339],{}," == ",[611,33703,33161],{}," == 0 AND ",[611,33706,33707],{},"tip_state_hash",[611,33709,33710],{},"current_state_hash"," AND ",[611,33713,33154],{},[611,33715,33157],{},[41,33717,25559],{"id":25559},[34,33719,33720],{},"Generated when wallet moves to the next state, for example when new block is mined and wallet has acknowledged and processed this fact or when new block is delivered during the sync.",[34,33722,33723],{},[611,33724,7052],{},[616,33726,33728],{"className":6989,"code":33727,"language":6991,"meta":14,"style":14},"{\n  \"id\": \"ev_system_state\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 113738,\n    \"current_state_hash\": \"4bbf9eb9cc409ce17c49cc7952edfed7583e8636e3e5d84b2034779034cb439c\",\n    \"current_state_timestamp\": 1625663362,\n    \"is_in_sync\": true,\n    \"prev_state_hash\": \"4995999f065eb5f04687fe9a43b93d7e344e99d17f2e2703260904f70aabfbd0\",\n    \"tip_height\": 113738,\n    \"tip_prev_state_hash\": \"4995999f065eb5f04687fe9a43b93d7e344e99d17f2e2703260904f70aabfbd0\",\n    \"tip_state_hash\": \"4bbf9eb9cc409ce17c49cc7952edfed7583e8636e3e5d84b2034779034cb439c\",\n    \"tip_state_timestamp\": 1625663362\n  }\n}\n",[611,33729,33730,33734,33745,33755,33761,33772,33783,33794,33804,33815,33825,33835,33845,33854,33858],{"__ignoreMap":14},[6995,33731,33732],{"class":244,"line":6997},[6995,33733,7001],{"class":7000},[6995,33735,33736,33738,33740,33743],{"class":244,"line":15},[6995,33737,7066],{"class":7006},[6995,33739,7024],{"class":7000},[6995,33741,33742],{"class":7012},"\"ev_system_state\"",[6995,33744,7030],{"class":7000},[6995,33746,33747,33749,33751,33753],{"class":244,"line":154},[6995,33748,7078],{"class":7006},[6995,33750,7024],{"class":7000},[6995,33752,7013],{"class":7012},[6995,33754,7030],{"class":7000},[6995,33756,33757,33759],{"class":244,"line":7033},[6995,33758,7089],{"class":7006},[6995,33760,7092],{"class":7000},[6995,33762,33763,33765,33767,33770],{"class":244,"line":7044},[6995,33764,7097],{"class":7006},[6995,33766,7024],{"class":7000},[6995,33768,33769],{"class":7006},"113738",[6995,33771,7030],{"class":7000},[6995,33773,33774,33776,33778,33781],{"class":244,"line":7107},[6995,33775,7110],{"class":7006},[6995,33777,7024],{"class":7000},[6995,33779,33780],{"class":7012},"\"4bbf9eb9cc409ce17c49cc7952edfed7583e8636e3e5d84b2034779034cb439c\"",[6995,33782,7030],{"class":7000},[6995,33784,33785,33787,33789,33792],{"class":244,"line":7120},[6995,33786,29521],{"class":7006},[6995,33788,7024],{"class":7000},[6995,33790,33791],{"class":7006},"1625663362",[6995,33793,7030],{"class":7000},[6995,33795,33796,33798,33800,33802],{"class":244,"line":7133},[6995,33797,29542],{"class":7006},[6995,33799,7024],{"class":7000},[6995,33801,8689],{"class":7006},[6995,33803,7030],{"class":7000},[6995,33805,33806,33808,33810,33813],{"class":244,"line":7146},[6995,33807,7136],{"class":7006},[6995,33809,7024],{"class":7000},[6995,33811,33812],{"class":7012},"\"4995999f065eb5f04687fe9a43b93d7e344e99d17f2e2703260904f70aabfbd0\"",[6995,33814,7030],{"class":7000},[6995,33816,33817,33819,33821,33823],{"class":244,"line":7159},[6995,33818,33100],{"class":7006},[6995,33820,7024],{"class":7000},[6995,33822,33769],{"class":7006},[6995,33824,7030],{"class":7000},[6995,33826,33827,33829,33831,33833],{"class":244,"line":7172},[6995,33828,33112],{"class":7006},[6995,33830,7024],{"class":7000},[6995,33832,33812],{"class":7012},[6995,33834,7030],{"class":7000},[6995,33836,33837,33839,33841,33843],{"class":244,"line":7185},[6995,33838,33123],{"class":7006},[6995,33840,7024],{"class":7000},[6995,33842,33780],{"class":7012},[6995,33844,7030],{"class":7000},[6995,33846,33847,33849,33851],{"class":244,"line":7198},[6995,33848,33135],{"class":7006},[6995,33850,7024],{"class":7000},[6995,33852,33853],{"class":7006},"1625663362\n",[6995,33855,33856],{"class":244,"line":7211},[6995,33857,7467],{"class":7000},[6995,33859,33860],{"class":244,"line":7220},[6995,33861,7047],{"class":7000},[41,33863,25567],{"id":25567},[34,33865,33866],{},"Event is generated when any address is changed\u002Fremoved\u002Fupdated &c.",[34,33868,33869],{},[611,33870,7052],{},[616,33872,33874],{"className":6989,"code":33873,"language":6991,"meta":14,"style":14},"{\n  \"id\": \"ev_addrs_changed\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n      \"change\": 3,\n      \"change_str\": \"reset\",\n      \"addrs\": [\n          {\n              \"address\": \"8xQnvWwS78RsbXmvV1wm2Spkye76z5FfiZH2zB3Jdw2BgWqUf4MC2StLVYrM4LvrWsMdY24b5hok4XvEoTBmHoaWBcEvr8nWTY259M4DnRJnRBgdNJEqRxenxRZox8DKnSoGiScV31dXLcxoRH2vFPcrxDsMGDAsyekVGz2NBPCwKFwCwTQwJpbhszCzxM843UMWQMxxoHADsTXnQnVW1Uc3quXgJdEr6tQ5dbgGWwYhNHU3f6mLFxNyxvrM7RfFY6LatPxJaC5M9o7Gg6TnpVc82GzVrKGNQoERJ9pFc7f6VM8w9dcn9CaC8yQvGevAnZqNTDEVpxAK81mJ3VFPUjbePWYQBdPQPm8AprTU1p4xhGHpbVaaTH967CJ86jAUXQEUrVq1wn4uPGLivhdnoWCdGujiZfwrfdPeQ698vm7Mh2HpooextAt4nzmSbEbPNtM5aCbeRyVv8BiEZ394WJCQaDRwHx2R3tfsHNCvTctCUy6NsonhmnSwvucY5KN71AtBGmxq8i\",\n              \"category\": \"\",\n              \"comment\": \"\",\n              \"create_time\": 1553174321,\n              \"duration\": 1520,\n              \"expired\": true,\n              \"own\": true,\n              \"own_id\": 16730903,\n              \"own_id_str\": \"16730903\",\n              \"identity\": \"2d8738b0424ad50631e902fab655e7e1795fbb8d92d47c4c8df7336870fcadf5\",\n              \"type\": \"offline\",\n              \"wallet_id\": \"22813f28ae198b1aa28aed3d0dc69a7c75f0a3c8b72c5950c997d0a569e74f90b61\"\n          },\n          {\n              \"address\": \"19e6ce53a137a1aa59ef19538c181acc5cd06cbfc7b985901345328786f8ae300a7\",\n              \"category\": \"\",\n              \"create_time\": 1553174321,\n              \"duration\": 1520,\n              \"expired\": true,\n              \"comment\": \"\",\n              \"own\": true,\n              \"own_id\": 16730903,\n              \"own_id_str\": \"16730903\",\n              \"identity\": \"9d99a7e3d1a6a73fbfa01efe63020135654f7b1561d65c74266fe9db6e80b096\",\n              \"type\": \"regular\",\n              \"wallet_id\": \"19e6ce53a137a1aa59ef19538c181acc5cd06cbfc7b985901345328786f8ae300a7\"\n          }\n      ]\n  }\n}\n",[611,33875,33876,33880,33891,33901,33907,33918,33930,33937,33942,33954,33965,33976,33987,33998,34009,34020,34031,34042,34053,34064,34074,34079,34083,34094,34104,34114,34124,34134,34144,34154,34164,34174,34185,34195,34204,34209,34214,34218],{"__ignoreMap":14},[6995,33877,33878],{"class":244,"line":6997},[6995,33879,7001],{"class":7000},[6995,33881,33882,33884,33886,33889],{"class":244,"line":15},[6995,33883,7066],{"class":7006},[6995,33885,7024],{"class":7000},[6995,33887,33888],{"class":7012},"\"ev_addrs_changed\"",[6995,33890,7030],{"class":7000},[6995,33892,33893,33895,33897,33899],{"class":244,"line":154},[6995,33894,7078],{"class":7006},[6995,33896,7024],{"class":7000},[6995,33898,7013],{"class":7012},[6995,33900,7030],{"class":7000},[6995,33902,33903,33905],{"class":244,"line":7033},[6995,33904,7089],{"class":7006},[6995,33906,7092],{"class":7000},[6995,33908,33909,33912,33914,33916],{"class":244,"line":7044},[6995,33910,33911],{"class":7006},"      \"change\"",[6995,33913,7024],{"class":7000},[6995,33915,11136],{"class":7006},[6995,33917,7030],{"class":7000},[6995,33919,33920,33923,33925,33928],{"class":244,"line":7107},[6995,33921,33922],{"class":7006},"      \"change_str\"",[6995,33924,7024],{"class":7000},[6995,33926,33927],{"class":7012},"\"reset\"",[6995,33929,7030],{"class":7000},[6995,33931,33932,33935],{"class":244,"line":7120},[6995,33933,33934],{"class":7006},"      \"addrs\"",[6995,33936,7217],{"class":7000},[6995,33938,33939],{"class":244,"line":7133},[6995,33940,33941],{"class":7000},"          {\n",[6995,33943,33944,33947,33949,33952],{"class":244,"line":7146},[6995,33945,33946],{"class":7006},"              \"address\"",[6995,33948,7024],{"class":7000},[6995,33950,33951],{"class":7012},"\"8xQnvWwS78RsbXmvV1wm2Spkye76z5FfiZH2zB3Jdw2BgWqUf4MC2StLVYrM4LvrWsMdY24b5hok4XvEoTBmHoaWBcEvr8nWTY259M4DnRJnRBgdNJEqRxenxRZox8DKnSoGiScV31dXLcxoRH2vFPcrxDsMGDAsyekVGz2NBPCwKFwCwTQwJpbhszCzxM843UMWQMxxoHADsTXnQnVW1Uc3quXgJdEr6tQ5dbgGWwYhNHU3f6mLFxNyxvrM7RfFY6LatPxJaC5M9o7Gg6TnpVc82GzVrKGNQoERJ9pFc7f6VM8w9dcn9CaC8yQvGevAnZqNTDEVpxAK81mJ3VFPUjbePWYQBdPQPm8AprTU1p4xhGHpbVaaTH967CJ86jAUXQEUrVq1wn4uPGLivhdnoWCdGujiZfwrfdPeQ698vm7Mh2HpooextAt4nzmSbEbPNtM5aCbeRyVv8BiEZ394WJCQaDRwHx2R3tfsHNCvTctCUy6NsonhmnSwvucY5KN71AtBGmxq8i\"",[6995,33953,7030],{"class":7000},[6995,33955,33956,33959,33961,33963],{"class":244,"line":7159},[6995,33957,33958],{"class":7006},"              \"category\"",[6995,33960,7024],{"class":7000},[6995,33962,19080],{"class":7012},[6995,33964,7030],{"class":7000},[6995,33966,33967,33970,33972,33974],{"class":244,"line":7172},[6995,33968,33969],{"class":7006},"              \"comment\"",[6995,33971,7024],{"class":7000},[6995,33973,19080],{"class":7012},[6995,33975,7030],{"class":7000},[6995,33977,33978,33981,33983,33985],{"class":244,"line":7185},[6995,33979,33980],{"class":7006},"              \"create_time\"",[6995,33982,7024],{"class":7000},[6995,33984,19092],{"class":7006},[6995,33986,7030],{"class":7000},[6995,33988,33989,33992,33994,33996],{"class":244,"line":7198},[6995,33990,33991],{"class":7006},"              \"duration\"",[6995,33993,7024],{"class":7000},[6995,33995,19104],{"class":7006},[6995,33997,7030],{"class":7000},[6995,33999,34000,34003,34005,34007],{"class":244,"line":7211},[6995,34001,34002],{"class":7006},"              \"expired\"",[6995,34004,7024],{"class":7000},[6995,34006,8689],{"class":7006},[6995,34008,7030],{"class":7000},[6995,34010,34011,34014,34016,34018],{"class":244,"line":7220},[6995,34012,34013],{"class":7006},"              \"own\"",[6995,34015,7024],{"class":7000},[6995,34017,8689],{"class":7006},[6995,34019,7030],{"class":7000},[6995,34021,34022,34025,34027,34029],{"class":244,"line":7226},[6995,34023,34024],{"class":7006},"              \"own_id\"",[6995,34026,7024],{"class":7000},[6995,34028,19147],{"class":7006},[6995,34030,7030],{"class":7000},[6995,34032,34033,34036,34038,34040],{"class":244,"line":7238},[6995,34034,34035],{"class":7006},"              \"own_id_str\"",[6995,34037,7024],{"class":7000},[6995,34039,19159],{"class":7012},[6995,34041,7030],{"class":7000},[6995,34043,34044,34047,34049,34051],{"class":244,"line":7250},[6995,34045,34046],{"class":7006},"              \"identity\"",[6995,34048,7024],{"class":7000},[6995,34050,19171],{"class":7012},[6995,34052,7030],{"class":7000},[6995,34054,34055,34058,34060,34062],{"class":244,"line":7263},[6995,34056,34057],{"class":7006},"              \"type\"",[6995,34059,7024],{"class":7000},[6995,34061,11929],{"class":7012},[6995,34063,7030],{"class":7000},[6995,34065,34066,34069,34071],{"class":244,"line":7275},[6995,34067,34068],{"class":7006},"              \"wallet_id\"",[6995,34070,7024],{"class":7000},[6995,34072,34073],{"class":7012},"\"22813f28ae198b1aa28aed3d0dc69a7c75f0a3c8b72c5950c997d0a569e74f90b61\"\n",[6995,34075,34076],{"class":244,"line":7288},[6995,34077,34078],{"class":7000},"          },\n",[6995,34080,34081],{"class":244,"line":7300},[6995,34082,33941],{"class":7000},[6995,34084,34085,34087,34089,34092],{"class":244,"line":7313},[6995,34086,33946],{"class":7006},[6995,34088,7024],{"class":7000},[6995,34090,34091],{"class":7012},"\"19e6ce53a137a1aa59ef19538c181acc5cd06cbfc7b985901345328786f8ae300a7\"",[6995,34093,7030],{"class":7000},[6995,34095,34096,34098,34100,34102],{"class":244,"line":7325},[6995,34097,33958],{"class":7006},[6995,34099,7024],{"class":7000},[6995,34101,19080],{"class":7012},[6995,34103,7030],{"class":7000},[6995,34105,34106,34108,34110,34112],{"class":244,"line":7336},[6995,34107,33980],{"class":7006},[6995,34109,7024],{"class":7000},[6995,34111,19092],{"class":7006},[6995,34113,7030],{"class":7000},[6995,34115,34116,34118,34120,34122],{"class":244,"line":7342},[6995,34117,33991],{"class":7006},[6995,34119,7024],{"class":7000},[6995,34121,19104],{"class":7006},[6995,34123,7030],{"class":7000},[6995,34125,34126,34128,34130,34132],{"class":244,"line":7347},[6995,34127,34002],{"class":7006},[6995,34129,7024],{"class":7000},[6995,34131,8689],{"class":7006},[6995,34133,7030],{"class":7000},[6995,34135,34136,34138,34140,34142],{"class":244,"line":7363},[6995,34137,33969],{"class":7006},[6995,34139,7024],{"class":7000},[6995,34141,19080],{"class":7012},[6995,34143,7030],{"class":7000},[6995,34145,34146,34148,34150,34152],{"class":244,"line":7375},[6995,34147,34013],{"class":7006},[6995,34149,7024],{"class":7000},[6995,34151,8689],{"class":7006},[6995,34153,7030],{"class":7000},[6995,34155,34156,34158,34160,34162],{"class":244,"line":7387},[6995,34157,34024],{"class":7006},[6995,34159,7024],{"class":7000},[6995,34161,19147],{"class":7006},[6995,34163,7030],{"class":7000},[6995,34165,34166,34168,34170,34172],{"class":244,"line":7398},[6995,34167,34035],{"class":7006},[6995,34169,7024],{"class":7000},[6995,34171,19159],{"class":7012},[6995,34173,7030],{"class":7000},[6995,34175,34176,34178,34180,34183],{"class":244,"line":7410},[6995,34177,34046],{"class":7006},[6995,34179,7024],{"class":7000},[6995,34181,34182],{"class":7012},"\"9d99a7e3d1a6a73fbfa01efe63020135654f7b1561d65c74266fe9db6e80b096\"",[6995,34184,7030],{"class":7000},[6995,34186,34187,34189,34191,34193],{"class":244,"line":7421},[6995,34188,34057],{"class":7006},[6995,34190,7024],{"class":7000},[6995,34192,12303],{"class":7012},[6995,34194,7030],{"class":7000},[6995,34196,34197,34199,34201],{"class":244,"line":7432},[6995,34198,34068],{"class":7006},[6995,34200,7024],{"class":7000},[6995,34202,34203],{"class":7012},"\"19e6ce53a137a1aa59ef19538c181acc5cd06cbfc7b985901345328786f8ae300a7\"\n",[6995,34205,34206],{"class":244,"line":7443},[6995,34207,34208],{"class":7000},"          }\n",[6995,34210,34211],{"class":244,"line":7452},[6995,34212,34213],{"class":7000},"      ]\n",[6995,34215,34216],{"class":244,"line":7458},[6995,34217,7467],{"class":7000},[6995,34219,34220],{"class":244,"line":7464},[6995,34221,7047],{"class":7000},[852,34223,34224,34235],{},[59,34225,34226,2231,34228,34230,34231,34234],{},[611,34227,8665],{},[611,34229,32955],{}," - check ",[175,34232,32902],{"href":34233},"#ev_xxx_changed-events"," section for details",[59,34236,34237,34240],{},[611,34238,34239],{},"addrs"," - array of changed addresses",[41,34242,25575],{"id":25575},[34,34244,34245,34246,34248],{},"Event is generated when an asset is changed, i.e. metadata refreshed or metadata dropped due to the asset delisting or internal metadata processing error. Note that metadata can be dropped while an asset is still on chain but local metadata becomes invalid, for example in certain situations during rollback. If you have any asset coins in wallet but no valid metadata for a given asset id refresh it using ",[175,34247,6930],{"href":8044},". Metadata is also automatically refreshed during the send\u002Freceive\u002Fissue\u002Fconsume operations if necessary.",[34,34250,34251],{},"Metadata dropped:",[34,34253,34254],{},[611,34255,34256],{},"\u003C-",[616,34258,34260],{"className":6989,"code":34259,"language":6991,"meta":14,"style":14},"{\n  \"id\": \"ev_assets_changed\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": { \n      \"change\": 1,\n      \"change_str\": \"removed\",\n      \"assets\": [\n         {\"asset_id\": 121}, \n         {\"asset_id\": 122} \n      ]\n  }\n}\n",[611,34261,34262,34266,34277,34287,34294,34304,34315,34322,34337,34351,34355,34359],{"__ignoreMap":14},[6995,34263,34264],{"class":244,"line":6997},[6995,34265,7001],{"class":7000},[6995,34267,34268,34270,34272,34275],{"class":244,"line":15},[6995,34269,7066],{"class":7006},[6995,34271,7024],{"class":7000},[6995,34273,34274],{"class":7012},"\"ev_assets_changed\"",[6995,34276,7030],{"class":7000},[6995,34278,34279,34281,34283,34285],{"class":244,"line":154},[6995,34280,7078],{"class":7006},[6995,34282,7024],{"class":7000},[6995,34284,7013],{"class":7012},[6995,34286,7030],{"class":7000},[6995,34288,34289,34291],{"class":244,"line":7033},[6995,34290,7089],{"class":7006},[6995,34292,34293],{"class":7000},": { \n",[6995,34295,34296,34298,34300,34302],{"class":244,"line":7044},[6995,34297,33911],{"class":7006},[6995,34299,7024],{"class":7000},[6995,34301,6679],{"class":7006},[6995,34303,7030],{"class":7000},[6995,34305,34306,34308,34310,34313],{"class":244,"line":7107},[6995,34307,33922],{"class":7006},[6995,34309,7024],{"class":7000},[6995,34311,34312],{"class":7012},"\"removed\"",[6995,34314,7030],{"class":7000},[6995,34316,34317,34320],{"class":244,"line":7120},[6995,34318,34319],{"class":7006},"      \"assets\"",[6995,34321,7217],{"class":7000},[6995,34323,34324,34327,34329,34331,34334],{"class":244,"line":7133},[6995,34325,34326],{"class":7000},"         {",[6995,34328,7478],{"class":7006},[6995,34330,7024],{"class":7000},[6995,34332,34333],{"class":7006},"121",[6995,34335,34336],{"class":7000},"}, \n",[6995,34338,34339,34341,34343,34345,34348],{"class":244,"line":7146},[6995,34340,34326],{"class":7000},[6995,34342,7478],{"class":7006},[6995,34344,7024],{"class":7000},[6995,34346,34347],{"class":7006},"122",[6995,34349,34350],{"class":7000},"} \n",[6995,34352,34353],{"class":244,"line":7159},[6995,34354,34213],{"class":7000},[6995,34356,34357],{"class":244,"line":7172},[6995,34358,7467],{"class":7000},[6995,34360,34361],{"class":244,"line":7185},[6995,34362,7047],{"class":7000},[852,34364,34365,34373],{},[59,34366,34367,2231,34369,34230,34371,34234],{},[611,34368,8665],{},[611,34370,32955],{},[175,34372,32902],{"href":34233},[59,34374,34375,34378,34379,34381],{},[611,34376,34377],{},"assets"," - array of changed assets. In case of the ",[611,34380,32933],{}," event only asset ids are provided",[34,34383,34384],{},"Metadata updated:",[34,34386,34387],{},[611,34388,34256],{},[616,34390,34392],{"className":6989,"code":34391,"language":6991,"meta":14,"style":14},"{\n    \"id\": \"ev_assets_changed\",\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"change\": 3,\n        \"change_str\": \"reset\",\n        \"assets\": [\n           {\n              \"asset_id\": 1,\n              \"emission\": 2000000000,\n              \"emission_str\": \"2000000000\",\n              \"isOwned\": 1,\n              \"lockHeight\": 39,\n              \"metadata\": \"STD:SCH_VER=1;N=YAN Coin;SN=YAN;UN=Yan;NTHUN=Yanik\",\n              \"metadata_kv\": true,\n              \"metadata_pairs\": {\n                 \"N\": \"YAN Coin\",\n                 \"NTHUN\": \"Yanik\",\n                 \"SCH_VER\": \"1\",\n                 \"SN\": \"YAN\",\n                 \"UN\": \"Yan\"\n              },\n              \"metadata_std_min\": true,\n              \"metadata_std\": true,\n              \"ownerId\": \"0ae08a49e018e98177774294107dc033790b87538e54a20e99c6b98f1dbd39ce\",\n              \"refreshHeight\": 927\n          }\n       ]\n    }\n}\n",[611,34393,34394,34398,34408,34418,34424,34434,34444,34450,34455,34466,34477,34488,34499,34510,34521,34532,34539,34550,34561,34572,34583,34592,34597,34608,34619,34630,34639,34643,34648,34652],{"__ignoreMap":14},[6995,34395,34396],{"class":244,"line":6997},[6995,34397,7001],{"class":7000},[6995,34399,34400,34402,34404,34406],{"class":244,"line":15},[6995,34401,7021],{"class":7006},[6995,34403,7024],{"class":7000},[6995,34405,34274],{"class":7012},[6995,34407,7030],{"class":7000},[6995,34409,34410,34412,34414,34416],{"class":244,"line":154},[6995,34411,7007],{"class":7006},[6995,34413,7024],{"class":7000},[6995,34415,7013],{"class":7012},[6995,34417,7030],{"class":7000},[6995,34419,34420,34422],{"class":244,"line":7033},[6995,34421,7732],{"class":7006},[6995,34423,7092],{"class":7000},[6995,34425,34426,34428,34430,34432],{"class":244,"line":7044},[6995,34427,8585],{"class":7006},[6995,34429,7024],{"class":7000},[6995,34431,11136],{"class":7006},[6995,34433,7030],{"class":7000},[6995,34435,34436,34438,34440,34442],{"class":244,"line":7107},[6995,34437,8596],{"class":7006},[6995,34439,7024],{"class":7000},[6995,34441,33927],{"class":7012},[6995,34443,7030],{"class":7000},[6995,34445,34446,34448],{"class":244,"line":7120},[6995,34447,23092],{"class":7006},[6995,34449,7217],{"class":7000},[6995,34451,34452],{"class":244,"line":7133},[6995,34453,34454],{"class":7000},"           {\n",[6995,34456,34457,34460,34462,34464],{"class":244,"line":7146},[6995,34458,34459],{"class":7006},"              \"asset_id\"",[6995,34461,7024],{"class":7000},[6995,34463,6679],{"class":7006},[6995,34465,7030],{"class":7000},[6995,34467,34468,34471,34473,34475],{"class":244,"line":7159},[6995,34469,34470],{"class":7006},"              \"emission\"",[6995,34472,7024],{"class":7000},[6995,34474,7370],{"class":7006},[6995,34476,7030],{"class":7000},[6995,34478,34479,34482,34484,34486],{"class":244,"line":7172},[6995,34480,34481],{"class":7006},"              \"emission_str\"",[6995,34483,7024],{"class":7000},[6995,34485,7382],{"class":7012},[6995,34487,7030],{"class":7000},[6995,34489,34490,34493,34495,34497],{"class":244,"line":7185},[6995,34491,34492],{"class":7006},"              \"isOwned\"",[6995,34494,7024],{"class":7000},[6995,34496,6679],{"class":7006},[6995,34498,7030],{"class":7000},[6995,34500,34501,34504,34506,34508],{"class":244,"line":7198},[6995,34502,34503],{"class":7006},"              \"lockHeight\"",[6995,34505,7024],{"class":7000},[6995,34507,7934],{"class":7006},[6995,34509,7030],{"class":7000},[6995,34511,34512,34515,34517,34519],{"class":244,"line":7211},[6995,34513,34514],{"class":7006},"              \"metadata\"",[6995,34516,7024],{"class":7000},[6995,34518,30578],{"class":7012},[6995,34520,7030],{"class":7000},[6995,34522,34523,34526,34528,34530],{"class":244,"line":7220},[6995,34524,34525],{"class":7006},"              \"metadata_kv\"",[6995,34527,7024],{"class":7000},[6995,34529,8689],{"class":7006},[6995,34531,7030],{"class":7000},[6995,34533,34534,34537],{"class":244,"line":7226},[6995,34535,34536],{"class":7006},"              \"metadata_pairs\"",[6995,34538,7092],{"class":7000},[6995,34540,34541,34544,34546,34548],{"class":244,"line":7238},[6995,34542,34543],{"class":7006},"                 \"N\"",[6995,34545,7024],{"class":7000},[6995,34547,30608],{"class":7012},[6995,34549,7030],{"class":7000},[6995,34551,34552,34555,34557,34559],{"class":244,"line":7250},[6995,34553,34554],{"class":7006},"                 \"NTHUN\"",[6995,34556,7024],{"class":7000},[6995,34558,30620],{"class":7012},[6995,34560,7030],{"class":7000},[6995,34562,34563,34566,34568,34570],{"class":244,"line":7263},[6995,34564,34565],{"class":7006},"                 \"SCH_VER\"",[6995,34567,7024],{"class":7000},[6995,34569,30632],{"class":7012},[6995,34571,7030],{"class":7000},[6995,34573,34574,34577,34579,34581],{"class":244,"line":7275},[6995,34575,34576],{"class":7006},"                 \"SN\"",[6995,34578,7024],{"class":7000},[6995,34580,30644],{"class":7012},[6995,34582,7030],{"class":7000},[6995,34584,34585,34588,34590],{"class":244,"line":7288},[6995,34586,34587],{"class":7006},"                 \"UN\"",[6995,34589,7024],{"class":7000},[6995,34591,30656],{"class":7012},[6995,34593,34594],{"class":244,"line":7300},[6995,34595,34596],{"class":7000},"              },\n",[6995,34598,34599,34602,34604,34606],{"class":244,"line":7313},[6995,34600,34601],{"class":7006},"              \"metadata_std_min\"",[6995,34603,7024],{"class":7000},[6995,34605,8689],{"class":7006},[6995,34607,7030],{"class":7000},[6995,34609,34610,34613,34615,34617],{"class":244,"line":7325},[6995,34611,34612],{"class":7006},"              \"metadata_std\"",[6995,34614,7024],{"class":7000},[6995,34616,8689],{"class":7006},[6995,34618,7030],{"class":7000},[6995,34620,34621,34624,34626,34628],{"class":244,"line":7336},[6995,34622,34623],{"class":7006},"              \"ownerId\"",[6995,34625,7024],{"class":7000},[6995,34627,7958],{"class":7012},[6995,34629,7030],{"class":7000},[6995,34631,34632,34635,34637],{"class":244,"line":7342},[6995,34633,34634],{"class":7006},"              \"refreshHeight\"",[6995,34636,7024],{"class":7000},[6995,34638,7970],{"class":7006},[6995,34640,34641],{"class":244,"line":7347},[6995,34642,34208],{"class":7000},[6995,34644,34645],{"class":244,"line":7363},[6995,34646,34647],{"class":7000},"       ]\n",[6995,34649,34650],{"class":244,"line":7375},[6995,34651,7615],{"class":7000},[6995,34653,34654],{"class":244,"line":7387},[6995,34655,7047],{"class":7000},[852,34657,34658,34666],{},[59,34659,34660,2231,34662,34230,34664,34234],{},[611,34661,8665],{},[611,34663,32955],{},[175,34665,32902],{"href":34233},[59,34667,34668,34670,34671,34673],{},[611,34669,34377],{}," array of changed assets, most up to date meta. Check ",[175,34672,6935],{"href":18363}," for more details",[41,34675,25581],{"id":25581},[34,34677,34678,34679,2344],{},"Event is generated when UTXOs\u002FCoins are changed. If assets are not enabled event is generated only for BEAM UTXOs. To get asset UTXOs notifications assets should be enabled (",[611,34680,4979],{},[34,34682,34683],{},[611,34684,34256],{},[616,34686,34688],{"className":6989,"code":34687,"language":6991,"meta":14,"style":14},"{\n    \"id\": \"ev_utxos_changed\",\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"change\": 3,\n        \"change_str\": \"reset\",\n        \"utxos\": [\n            {\n                \"id\": 123,\n                \"asset_id\": 0,\n                \"amount\": 12345,\n                \"maturity\": 60,\n                \"type\": \"mine\",\n                \"createTxId\": \"10c4b760c842433cb58339a0fafef3db\",\n                \"spentTxId\": \"\",\n                \"status\": 2,\n                \"status_string\": \"maturing\"\n            } \n        ]\n    }\n}\n",[611,34689,34690,34694,34705,34715,34721,34731,34741,34748,34752,34763,34774,34785,34796,34807,34818,34829,34840,34849,34854,34859,34863],{"__ignoreMap":14},[6995,34691,34692],{"class":244,"line":6997},[6995,34693,7001],{"class":7000},[6995,34695,34696,34698,34700,34703],{"class":244,"line":15},[6995,34697,7021],{"class":7006},[6995,34699,7024],{"class":7000},[6995,34701,34702],{"class":7012},"\"ev_utxos_changed\"",[6995,34704,7030],{"class":7000},[6995,34706,34707,34709,34711,34713],{"class":244,"line":154},[6995,34708,7007],{"class":7006},[6995,34710,7024],{"class":7000},[6995,34712,7013],{"class":7012},[6995,34714,7030],{"class":7000},[6995,34716,34717,34719],{"class":244,"line":7033},[6995,34718,7732],{"class":7006},[6995,34720,7092],{"class":7000},[6995,34722,34723,34725,34727,34729],{"class":244,"line":7044},[6995,34724,8585],{"class":7006},[6995,34726,7024],{"class":7000},[6995,34728,11136],{"class":7006},[6995,34730,7030],{"class":7000},[6995,34732,34733,34735,34737,34739],{"class":244,"line":7107},[6995,34734,8596],{"class":7006},[6995,34736,7024],{"class":7000},[6995,34738,33927],{"class":7012},[6995,34740,7030],{"class":7000},[6995,34742,34743,34746],{"class":244,"line":7120},[6995,34744,34745],{"class":7006},"        \"utxos\"",[6995,34747,7217],{"class":7000},[6995,34749,34750],{"class":244,"line":7133},[6995,34751,15683],{"class":7000},[6995,34753,34754,34757,34759,34761],{"class":244,"line":7146},[6995,34755,34756],{"class":7006},"                \"id\"",[6995,34758,7024],{"class":7000},[6995,34760,7167],{"class":7006},[6995,34762,7030],{"class":7000},[6995,34764,34765,34768,34770,34772],{"class":244,"line":7159},[6995,34766,34767],{"class":7006},"                \"asset_id\"",[6995,34769,7024],{"class":7000},[6995,34771,7180],{"class":7006},[6995,34773,7030],{"class":7000},[6995,34775,34776,34779,34781,34783],{"class":244,"line":7172},[6995,34777,34778],{"class":7006},"                \"amount\"",[6995,34780,7024],{"class":7000},[6995,34782,22951],{"class":7006},[6995,34784,7030],{"class":7000},[6995,34786,34787,34790,34792,34794],{"class":244,"line":7185},[6995,34788,34789],{"class":7006},"                \"maturity\"",[6995,34791,7024],{"class":7000},[6995,34793,22962],{"class":7006},[6995,34795,7030],{"class":7000},[6995,34797,34798,34801,34803,34805],{"class":244,"line":7198},[6995,34799,34800],{"class":7006},"                \"type\"",[6995,34802,7024],{"class":7000},[6995,34804,22973],{"class":7012},[6995,34806,7030],{"class":7000},[6995,34808,34809,34812,34814,34816],{"class":244,"line":7211},[6995,34810,34811],{"class":7006},"                \"createTxId\"",[6995,34813,7024],{"class":7000},[6995,34815,20884],{"class":7012},[6995,34817,7030],{"class":7000},[6995,34819,34820,34823,34825,34827],{"class":244,"line":7220},[6995,34821,34822],{"class":7006},"                \"spentTxId\"",[6995,34824,7024],{"class":7000},[6995,34826,19080],{"class":7012},[6995,34828,7030],{"class":7000},[6995,34830,34831,34834,34836,34838],{"class":244,"line":7226},[6995,34832,34833],{"class":7006},"                \"status\"",[6995,34835,7024],{"class":7000},[6995,34837,7511],{"class":7006},[6995,34839,7030],{"class":7000},[6995,34841,34842,34845,34847],{"class":244,"line":7238},[6995,34843,34844],{"class":7006},"                \"status_string\"",[6995,34846,7024],{"class":7000},[6995,34848,23016],{"class":7012},[6995,34850,34851],{"class":244,"line":7250},[6995,34852,34853],{"class":7000},"            } \n",[6995,34855,34856],{"class":244,"line":7263},[6995,34857,34858],{"class":7000},"        ]\n",[6995,34860,34861],{"class":244,"line":7275},[6995,34862,7615],{"class":7000},[6995,34864,34865],{"class":244,"line":7288},[6995,34866,7047],{"class":7000},[852,34868,34869,34877],{},[59,34870,34871,2231,34873,34230,34875,34234],{},[611,34872,8665],{},[611,34874,32955],{},[175,34876,32902],{"href":34233},[59,34878,34879,34881,34882,34673],{},[611,34880,14350],{}," array of changed utxos, most up to date meta. Check ",[175,34883,18014],{"href":18321},[41,34885,25587],{"id":25587},[34,34887,34888],{},"Event is generated when transactions are changed.",[34,34890,34891],{},[611,34892,34256],{},[616,34894,34896],{"className":6989,"code":34895,"language":6991,"meta":14,"style":14},"{\n    \"id\": \"ev_txs_changed\",\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"change\": 3,\n        \"change_str\": \"reset\",\n        \"txs\": [\n            {\n                \"txId\" : \"10c4b760c842433cb58339a0fafef3db\",\n                \"asset_id\": 0,\n                \"comment\": \"\",\n                \"fee\": 100,\n                \"kernel\": \"0000000000000000000000000000000000000000000000000000000000000000\",\n                \"receiver\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n                \"sender\": \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n                \"status\": 4,\n                \"status_string\" : \"Failed\",\n                \"tx_type\": 0,\n                \"tx_type_string\": \"simple\",\n                \"failure_reason\" : \"No inputs\",\n                \"value\": 12342342,\n                \"create_time\" : 1551100217,\n                \"income\" : false,\n                \"sender_identity\": \"a0a1ebbfeed5c312b309e32715c159e6b4548a6c6c3af25d0dbc16f37a1e9dd6\",\n                \"receiver_identity\": \"2d8738b0424ad50631e902fab655e7e1795fbb8d92d47c4c8df7336870fcadf5\",\n                \"token\": \"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\"\n            } \n        ]\n    }\n}\n",[611,34897,34898,34902,34913,34923,34929,34939,34949,34956,34960,34971,34981,34992,35003,35014,35025,35036,35046,35056,35067,35078,35089,35100,35111,35122,35133,35144,35153,35157,35161,35165],{"__ignoreMap":14},[6995,34899,34900],{"class":244,"line":6997},[6995,34901,7001],{"class":7000},[6995,34903,34904,34906,34908,34911],{"class":244,"line":15},[6995,34905,7021],{"class":7006},[6995,34907,7024],{"class":7000},[6995,34909,34910],{"class":7012},"\"ev_txs_changed\"",[6995,34912,7030],{"class":7000},[6995,34914,34915,34917,34919,34921],{"class":244,"line":154},[6995,34916,7007],{"class":7006},[6995,34918,7024],{"class":7000},[6995,34920,7013],{"class":7012},[6995,34922,7030],{"class":7000},[6995,34924,34925,34927],{"class":244,"line":7033},[6995,34926,7732],{"class":7006},[6995,34928,7092],{"class":7000},[6995,34930,34931,34933,34935,34937],{"class":244,"line":7044},[6995,34932,8585],{"class":7006},[6995,34934,7024],{"class":7000},[6995,34936,11136],{"class":7006},[6995,34938,7030],{"class":7000},[6995,34940,34941,34943,34945,34947],{"class":244,"line":7107},[6995,34942,8596],{"class":7006},[6995,34944,7024],{"class":7000},[6995,34946,33927],{"class":7012},[6995,34948,7030],{"class":7000},[6995,34950,34951,34954],{"class":244,"line":7120},[6995,34952,34953],{"class":7006},"        \"txs\"",[6995,34955,7217],{"class":7000},[6995,34957,34958],{"class":244,"line":7133},[6995,34959,15683],{"class":7000},[6995,34961,34962,34965,34967,34969],{"class":244,"line":7146},[6995,34963,34964],{"class":7006},"                \"txId\"",[6995,34966,7746],{"class":7000},[6995,34968,20884],{"class":7012},[6995,34970,7030],{"class":7000},[6995,34972,34973,34975,34977,34979],{"class":244,"line":7159},[6995,34974,34767],{"class":7006},[6995,34976,7024],{"class":7000},[6995,34978,7180],{"class":7006},[6995,34980,7030],{"class":7000},[6995,34982,34983,34986,34988,34990],{"class":244,"line":7172},[6995,34984,34985],{"class":7006},"                \"comment\"",[6995,34987,7024],{"class":7000},[6995,34989,19080],{"class":7012},[6995,34991,7030],{"class":7000},[6995,34993,34994,34997,34999,35001],{"class":244,"line":7185},[6995,34995,34996],{"class":7006},"                \"fee\"",[6995,34998,7024],{"class":7000},[6995,35000,10984],{"class":7006},[6995,35002,7030],{"class":7000},[6995,35004,35005,35008,35010,35012],{"class":244,"line":7198},[6995,35006,35007],{"class":7006},"                \"kernel\"",[6995,35009,7024],{"class":7000},[6995,35011,20988],{"class":7012},[6995,35013,7030],{"class":7000},[6995,35015,35016,35019,35021,35023],{"class":244,"line":7211},[6995,35017,35018],{"class":7006},"                \"receiver\"",[6995,35020,7024],{"class":7000},[6995,35022,7570],{"class":7012},[6995,35024,7030],{"class":7000},[6995,35026,35027,35030,35032,35034],{"class":244,"line":7220},[6995,35028,35029],{"class":7006},"                \"sender\"",[6995,35031,7024],{"class":7000},[6995,35033,21011],{"class":7012},[6995,35035,7030],{"class":7000},[6995,35037,35038,35040,35042,35044],{"class":244,"line":7226},[6995,35039,34833],{"class":7006},[6995,35041,7024],{"class":7000},[6995,35043,8439],{"class":7006},[6995,35045,7030],{"class":7000},[6995,35047,35048,35050,35052,35054],{"class":244,"line":7238},[6995,35049,34844],{"class":7006},[6995,35051,7746],{"class":7000},[6995,35053,21034],{"class":7012},[6995,35055,7030],{"class":7000},[6995,35057,35058,35061,35063,35065],{"class":244,"line":7250},[6995,35059,35060],{"class":7006},"                \"tx_type\"",[6995,35062,7024],{"class":7000},[6995,35064,7180],{"class":7006},[6995,35066,7030],{"class":7000},[6995,35068,35069,35072,35074,35076],{"class":244,"line":7263},[6995,35070,35071],{"class":7006},"                \"tx_type_string\"",[6995,35073,7024],{"class":7000},[6995,35075,21057],{"class":7012},[6995,35077,7030],{"class":7000},[6995,35079,35080,35083,35085,35087],{"class":244,"line":7275},[6995,35081,35082],{"class":7006},"                \"failure_reason\"",[6995,35084,7746],{"class":7000},[6995,35086,21069],{"class":7012},[6995,35088,7030],{"class":7000},[6995,35090,35091,35094,35096,35098],{"class":244,"line":7288},[6995,35092,35093],{"class":7006},"                \"value\"",[6995,35095,7024],{"class":7000},[6995,35097,7547],{"class":7006},[6995,35099,7030],{"class":7000},[6995,35101,35102,35105,35107,35109],{"class":244,"line":7300},[6995,35103,35104],{"class":7006},"                \"create_time\"",[6995,35106,7746],{"class":7000},[6995,35108,21090],{"class":7006},[6995,35110,7030],{"class":7000},[6995,35112,35113,35116,35118,35120],{"class":244,"line":7313},[6995,35114,35115],{"class":7006},"                \"income\"",[6995,35117,7746],{"class":7000},[6995,35119,11094],{"class":7006},[6995,35121,7030],{"class":7000},[6995,35123,35124,35127,35129,35131],{"class":244,"line":7325},[6995,35125,35126],{"class":7006},"                \"sender_identity\"",[6995,35128,7024],{"class":7000},[6995,35130,21113],{"class":7012},[6995,35132,7030],{"class":7000},[6995,35134,35135,35138,35140,35142],{"class":244,"line":7336},[6995,35136,35137],{"class":7006},"                \"receiver_identity\"",[6995,35139,7024],{"class":7000},[6995,35141,19171],{"class":7012},[6995,35143,7030],{"class":7000},[6995,35145,35146,35149,35151],{"class":244,"line":7342},[6995,35147,35148],{"class":7006},"                \"token\"",[6995,35150,7024],{"class":7000},[6995,35152,21136],{"class":7012},[6995,35154,35155],{"class":244,"line":7347},[6995,35156,34853],{"class":7000},[6995,35158,35159],{"class":244,"line":7363},[6995,35160,34858],{"class":7000},[6995,35162,35163],{"class":244,"line":7375},[6995,35164,7615],{"class":7000},[6995,35166,35167],{"class":244,"line":7387},[6995,35168,7047],{"class":7000},[852,35170,35171,35179],{},[59,35172,35173,2231,35175,34230,35177,34234],{},[611,35174,8665],{},[611,35176,32955],{},[175,35178,32902],{"href":34233},[59,35180,35181,35184,35185,34673],{},[611,35182,35183],{},"txs"," array of changed transactions. Check ",[175,35186,18293],{"href":18292},[8692,35188,14042],{},{"title":14,"searchDepth":15,"depth":15,"links":35190},[35191,35196,35197,35198,35199,35200,35201,35204,35205,35206,35207,35208,35209,35210,35211,35212,35213,35214,35219,35220,35221,35222,35223,35224,35225,35231,35232,35233,35236,35237,35238,35239,35240,35241,35242,35243,35244,35245],{"id":25454,"depth":15,"text":25455,"children":35192},[35193,35194,35195],{"id":25463,"depth":154,"text":25464},{"id":25485,"depth":154,"text":25486},{"id":25542,"depth":154,"text":25543},{"id":18076,"depth":15,"text":18077},{"id":18219,"depth":15,"text":18220},{"id":18420,"depth":15,"text":18421},{"id":12194,"depth":15,"text":12194},{"id":11852,"depth":15,"text":11852},{"id":18255,"depth":15,"text":18255,"children":35202},[35203],{"id":19226,"depth":154,"text":8763},{"id":18239,"depth":15,"text":18239},{"id":18247,"depth":15,"text":18247},{"id":6905,"depth":15,"text":6905},{"id":6910,"depth":15,"text":6910},{"id":6920,"depth":15,"text":6920},{"id":6925,"depth":15,"text":6925},{"id":6930,"depth":15,"text":6930},{"id":18306,"depth":15,"text":18306},{"id":18314,"depth":15,"text":18314},{"id":18293,"depth":15,"text":18293},{"id":18327,"depth":15,"text":18327,"children":35215},[35216,35217,35218],{"id":21955,"depth":154,"text":21956},{"id":21959,"depth":154,"text":21960},{"id":22039,"depth":154,"text":22040},{"id":6900,"depth":15,"text":6900},{"id":18014,"depth":15,"text":18014},{"id":6935,"depth":15,"text":6935},{"id":18340,"depth":15,"text":18340},{"id":18348,"depth":15,"text":18348},{"id":18356,"depth":15,"text":18356},{"id":18385,"depth":15,"text":18385,"children":35226},[35227,35228,35229,35230],{"id":24476,"depth":154,"text":24477},{"id":24483,"depth":154,"text":24484},{"id":24490,"depth":154,"text":24491},{"id":31749,"depth":154,"text":31750},{"id":18396,"depth":15,"text":18396},{"id":6940,"depth":15,"text":6940},{"id":18406,"depth":15,"text":18406,"children":35234},[35235],{"id":25393,"depth":154,"text":24477},{"id":25472,"depth":15,"text":25472},{"id":25480,"depth":15,"text":25480},{"id":32868,"depth":15,"text":32869},{"id":32901,"depth":15,"text":32902},{"id":25551,"depth":15,"text":25551},{"id":25559,"depth":15,"text":25559},{"id":25567,"depth":15,"text":25567},{"id":25575,"depth":15,"text":25575},{"id":25581,"depth":15,"text":25581},{"id":25587,"depth":15,"text":25587},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v6.1",{"description":14},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v6.1","t5t-Y-O6XbfA5nR5CS-visml0cDiefUuhd2GefzJ1Xo",{"id":35252,"title":35253,"body":35254,"description":35265,"extension":17,"image":18,"meta":35266,"navTitle":18,"navigation":20,"path":35267,"seo":35268,"stem":35269,"__hash__":35270},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v6.2.md","Beam Wallet Protocol API V62",{"type":8,"value":35255,"toc":35263},[35256],[34,35257,35258,35259,35262],{},"There were no API changes in version 6.2\nPlease refer ",[175,35260,17259],{"href":17257,"rel":35261},[179]," docs.",{"title":14,"searchDepth":15,"depth":15,"links":35264},[],"There were no API changes in version 6.2\nPlease refer version 6.1 docs.",{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v6.2",{"description":35265},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v6.2","03r7zfcsaOzGW8tr1JGuQW1zNBCkbzV4ftERzX57wjE",{"id":35272,"title":35273,"body":35274,"description":14,"extension":17,"image":18,"meta":47212,"navTitle":18,"navigation":20,"path":47213,"seo":47214,"stem":47215,"__hash__":47216},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.0.md","Beam Wallet Protocol API V70",{"type":8,"value":35275,"toc":47146},[35276,35280,35282,35391,35393,35400,35478,35480,35486,35490,35500,35502,35504,35556,35558,35562,35740,35744,35794,35798,35807,35810,35818,35859,35913,35915,35918,35920,35922,35926,36020,36105,36127,36131,36171,36173,36177,36181,36245,36249,36333,36347,36349,36351,36355,36419,36429,36433,36597,36637,36639,36647,36649,36651,36655,36719,36723,36763,36765,36773,36777,36861,36865,36905,36907,36909,36913,37037,37085,37091,37095,37149,37153,37155,37157,37161,37165,37261,37265,37319,37341,37343,37347,37351,37355,37429,37451,37457,37461,37515,37519,37521,37525,37529,37533,37607,37629,37635,37639,37693,37697,37699,37703,37707,37711,37775,37789,37791,37795,37849,37853,37855,37857,37861,37925,37931,37935,37975,37981,37983,37985,37989,38053,38059,38063,38103,38109,38111,38115,38119,38195,38212,38216,38440,38442,38444,38448,38567,38594,38598,38606,38610,39270,39395,39397,39399,39449,39451,39471,39475,39477,39479,39483,39523,39527,39674,39704,39708,39712,39772,39778,39782,40550,40654,40664,40680,40682,40684,40688,40792,40812,40816,40950,40962,40966,41046,41050,41188,41224,41226,41230,41234,41298,41308,41312,41524,41528,41587,41589,41591,41595,41635,41639,41679,41681,41685,41689,41753,41757,41811,41819,41823,41825,41829,41833,41897,41901,42005,42031,42035,42037,42039,42041,42045,42127,42129,42133,42207,42233,42239,42243,42377,42393,42395,42397,42399,42405,42409,42479,42483,42549,42551,42557,42571,42573,42575,42579,42649,42657,42661,42711,42717,42719,42723,42727,42821,42825,42929,42931,42971,42973,42975,42979,43043,43049,43053,43207,43253,43255,43257,43261,43301,43305,43435,43448,43450,43453,43457,43555,43579,43583,43651,43664,43666,43669,43673,43757,43768,43772,43828,43835,43837,43840,43844,43920,43931,43935,44010,44021,44023,44029,44033,44109,44120,44124,44178,44185,44187,44193,44197,44263,44270,44274,44328,44335,44337,44340,44344,44411,44417,44421,44477,44484,44486,44488,44492,44602,44606,44646,44654,44656,44658,44664,44666,44670,44820,44836,44840,44990,44996,45000,45340,45354,45356,45358,45362,45492,45494,45496,45500,45824,45838,45840,45844,45846,45850,45946,45962,45964,45968,46214,46230,46232,46236,46240,46408,46424,46426,46428,46432,46698,46714,46716,46719,46723,46789,46814,46816,46819,46823,46903,46916,46920,46977,46985,46987,46990,46994,47082,47099,47103,47144],[41,35277,35279],{"id":35278},"whats-new-in-v70","What's new in v7.0",[48,35281,25486],{"id":25485},[852,35283,35284,35298,35309,35318,35380],{},[59,35285,35286,1475,35288,35290,35291,1475,35294,35297],{},[175,35287,18293],{"href":18292},[175,35289,18327],{"href":18326}," return ",[611,35292,35293],{},"appid",[611,35295,35296],{},"appname"," for transactions initated by dapps.",[59,35299,35300,1475,35302,35304,35305,35308],{},[175,35301,18293],{"href":18292},[175,35303,18327],{"href":18326}," return currency ",[611,35306,35307],{},"rates"," at the moment of transaction",[59,35310,35311,35315,35316,12195],{},[175,35312,35314],{"href":35313},"#ev_connection_changed","ev_connection_changed"," event added to ",[175,35317,25480],{"href":25479},[59,35319,35320,2231,35323,2231,35326,2231,35329,2231,35332,2231,35335,2231,35338,2231,35341,2231,35344,2231,35347,2231,35350,2231,35353,2231,35356,2231,35359,2231,35362,2231,35365,2231,35368,2231,35370,2231,35372,2231,35374,35377,35378,12195],{},[611,35321,35322],{},"available_regular",[611,35324,35325],{},"available_regular_str",[611,35327,35328],{},"available_mp",[611,35330,35331],{},"available_mp_str",[611,35333,35334],{},"receiving_regular",[611,35336,35337],{},"receiving_regular_str",[611,35339,35340],{},"receiving_mp",[611,35342,35343],{},"receiving_mp_str",[611,35345,35346],{},"sending_regular",[611,35348,35349],{},"sending_regular_str",[611,35351,35352],{},"sending_mp",[611,35354,35355],{},"sending_mp_str",[611,35357,35358],{},"maturing_regular",[611,35360,35361],{},"maturing_regular_str",[611,35363,35364],{},"maturing_mp",[611,35366,35367],{},"maturing_mp_str",[611,35369,8665],{},[611,35371,32955],{},[611,35373,22297],{},[611,35375,35376],{},"locked_str"," fields added for each asset in ",[175,35379,6900],{"href":18334},[59,35381,35382,1475,35384,35386,35387,35390],{},[175,35383,18293],{"href":18292},[175,35385,18327],{"href":18326}," added field ",[611,35388,35389],{},"address_type"," for push transactions",[48,35392,25464],{"id":25463},[34,35394,35395,35396,35399],{},"v7.0 API adds IPFS support. Refer ",[175,35397,10919],{"href":18035,"rel":35398},[179]," for details.",[852,35401,35402,35412,35422,35432,35442,35452,35462,35470],{},[59,35403,35404,98,35408,35410],{},[175,35405,35407],{"href":35406},"#ipfs_add","ipfs_add",[241,35409],{"alt":14,"src":18233},[241,35411],{"alt":14,"src":25783},[59,35413,35414,98,35418,35420],{},[175,35415,35417],{"href":35416},"#ipfs_hash","ipfs_hash",[241,35419],{"alt":14,"src":18233},[241,35421],{"alt":14,"src":25783},[59,35423,35424,98,35428,35430],{},[175,35425,35427],{"href":35426},"#ipfs_get","ipfs_get",[241,35429],{"alt":14,"src":18233},[241,35431],{"alt":14,"src":25783},[59,35433,35434,98,35438,35440],{},[175,35435,35437],{"href":35436},"#ipfs_pin","ipfs_pin",[241,35439],{"alt":14,"src":18233},[241,35441],{"alt":14,"src":25783},[59,35443,35444,98,35448,35450],{},[175,35445,35447],{"href":35446},"#ipfs_unpin","ipfs_unpin",[241,35449],{"alt":14,"src":18233},[241,35451],{"alt":14,"src":25783},[59,35453,35454,98,35458,35460],{},[175,35455,35457],{"href":35456},"#ipfs_gc","ipfs_gc",[241,35459],{"alt":14,"src":18233},[241,35461],{"alt":14,"src":25783},[59,35463,35464,98,35468],{},[175,35465,35467],{"href":35466},"#sign_message","sign_message",[241,35469],{"alt":14,"src":18233},[59,35471,35472,98,35476],{},[175,35473,35475],{"href":35474},"#verify_signature","verify_signature",[241,35477],{"alt":14,"src":18233},[48,35479,25543],{"id":25542},[852,35481,35482],{},[59,35483,35484],{},[175,35485,35314],{"href":35313},[48,35487,35489],{"id":35488},"changed-events","Changed events",[852,35491,35492],{},[59,35493,35494,35496,35497,35499],{},[175,35495,25587],{"href":25586}," returns ",[611,35498,35307],{}," array by default for all transactions",[41,35501,18077],{"id":18076},[34,35503,18080],{},[852,35505,35506,35508,35510,35512,35514,35516,35518,35520,35522,35524,35526,35528,35530,35532,35534,35536,35538,35540,35542,35544,35546,35548,35550,35552,35554],{},[59,35507,18085],{},[59,35509,18088],{},[59,35511,18091],{},[59,35513,18094],{},[59,35515,18097],{},[59,35517,18100],{},[59,35519,18103],{},[59,35521,25612],{},[59,35523,18168],{},[59,35525,18171],{},[59,35527,18174],{},[59,35529,18177],{},[59,35531,18180],{},[59,35533,18183],{},[59,35535,18186],{},[59,35537,18189],{},[59,35539,18192],{},[59,35541,18195],{},[59,35543,18198],{},[59,35545,18201],{},[59,35547,18204],{},[59,35549,18207],{},[59,35551,18210],{},[59,35553,18213],{},[59,35555,18216],{},[41,35557,18220],{"id":18219},[48,35559,35561],{"id":35560},"general-methods","General methods",[852,35563,35564,35570,35576,35582,35588,35594,35600,35604,35608,35614,35620,35624,35630,35636,35640,35646,35652,35658,35664,35670,35676,35680,35686,35694,35702,35710,35716,35722,35728,35734],{},[59,35565,35566,98,35568],{},[175,35567,12194],{"href":18230},[241,35569],{"alt":14,"src":18233},[59,35571,35572,98,35574],{},[175,35573,18239],{"href":18238},[241,35575],{"alt":14,"src":18233},[59,35577,35578,98,35580],{},[175,35579,18247],{"href":18246},[241,35581],{"alt":14,"src":18233},[59,35583,35584,98,35586],{},[175,35585,18255],{"href":18254},[241,35587],{"alt":14,"src":18233},[59,35589,35590,98,35592],{},[175,35591,11852],{"href":18262},[241,35593],{"alt":14,"src":18233},[59,35595,35596,98,35598],{},[175,35597,6905],{"href":18269},[241,35599],{"alt":14,"src":18233},[59,35601,35602],{},[175,35603,6920],{"href":18276},[59,35605,35606],{},[175,35607,6925],{"href":18281},[59,35609,35610,98,35612],{},[175,35611,6930],{"href":8044},[241,35613],{"alt":14,"src":18233},[59,35615,35616,98,35618],{},[175,35617,18293],{"href":18292},[241,35619],{"alt":14,"src":18233},[59,35621,35622],{},[175,35623,6910],{"href":18300},[59,35625,35626,98,35628],{},[175,35627,18306],{"href":18305},[241,35629],{"alt":14,"src":18233},[59,35631,35632,98,35634],{},[175,35633,18314],{"href":18313},[241,35635],{"alt":14,"src":18233},[59,35637,35638],{},[175,35639,18014],{"href":18321},[59,35641,35642,98,35644],{},[175,35643,18327],{"href":18326},[241,35645],{"alt":14,"src":18233},[59,35647,35648,98,35650],{},[175,35649,6900],{"href":18334},[241,35651],{"alt":14,"src":18233},[59,35653,35654,98,35656],{},[175,35655,18340],{"href":18339},[241,35657],{"alt":14,"src":18233},[59,35659,35660,98,35662],{},[175,35661,18348],{"href":18347},[241,35663],{"alt":14,"src":18233},[59,35665,35666,98,35668],{},[175,35667,18356],{"href":18355},[241,35669],{"alt":14,"src":18233},[59,35671,35672,98,35674],{},[175,35673,6935],{"href":18363},[241,35675],{"alt":14,"src":18233},[59,35677,35678],{},[175,35679,18371],{"href":18370},[59,35681,35682,98,35684],{},[175,35683,18377],{"href":18376},[241,35685],{"alt":14,"src":18233},[59,35687,35688,98,35690,35692],{},[175,35689,18385],{"href":18384},[241,35691],{"alt":14,"src":18233},[241,35693],{"alt":14,"src":25783},[59,35695,35696,98,35698,35700],{},[175,35697,18396],{"href":18395},[241,35699],{"alt":14,"src":18233},[241,35701],{"alt":14,"src":25783},[59,35703,35704,98,35706,35708],{},[175,35705,18406],{"href":18405},[241,35707],{"alt":14,"src":18233},[241,35709],{"alt":14,"src":25783},[59,35711,35712,98,35714],{},[175,35713,6940],{"href":18415},[241,35715],{"alt":14,"src":18233},[59,35717,35718,98,35720],{},[175,35719,25472],{"href":25471},[241,35721],{"alt":14,"src":18233},[59,35723,35724,98,35726],{},[175,35725,25480],{"href":25479},[241,35727],{"alt":14,"src":18233},[59,35729,35730,98,35732],{},[175,35731,35467],{"href":35466},[241,35733],{"alt":14,"src":18233},[59,35735,35736,98,35738],{},[175,35737,35475],{"href":35474},[241,35739],{"alt":14,"src":18233},[48,35741,35743],{"id":35742},"ipfs-methods","IPFS methods",[852,35745,35746,35754,35762,35770,35778,35786],{},[59,35747,35748,98,35750,35752],{},[175,35749,35407],{"href":35406},[241,35751],{"alt":14,"src":18233},[241,35753],{"alt":14,"src":25783},[59,35755,35756,98,35758,35760],{},[175,35757,35417],{"href":35416},[241,35759],{"alt":14,"src":18233},[241,35761],{"alt":14,"src":25783},[59,35763,35764,98,35766,35768],{},[175,35765,35427],{"href":35426},[241,35767],{"alt":14,"src":18233},[241,35769],{"alt":14,"src":25783},[59,35771,35772,98,35774,35776],{},[175,35773,35437],{"href":35436},[241,35775],{"alt":14,"src":18233},[241,35777],{"alt":14,"src":25783},[59,35779,35780,98,35782,35784],{},[175,35781,35447],{"href":35446},[241,35783],{"alt":14,"src":18233},[241,35785],{"alt":14,"src":25783},[59,35787,35788,98,35790,35792],{},[175,35789,35457],{"href":35456},[241,35791],{"alt":14,"src":18233},[241,35793],{"alt":14,"src":25783},[48,35795,35797],{"id":35796},"swap-methods","SWAP methods",[34,35799,18424,35800,18427,35802,18431,35804,181],{},[611,35801,6883],{},[611,35803,18430],{},[175,35805,18436],{"href":18434,"rel":35806},[179],[41,35808,35809],{"id":32868},"API events",[34,35811,35812,35813,35815,35816,32909],{},"Client should subscribe to events via ",[175,35814,25480],{"href":25479}," method. Events are generated by API when some entity\u002Fset of entities is changed. Every ",[611,35817,32908],{},[852,35819,35820,35850,35857],{},[59,35821,35822,32916,35824],{},[611,35823,8665],{},[852,35825,35826,35832,35838,35844],{},[59,35827,35828,2231,35830,32926],{},[611,35829,7180],{},[611,35831,32925],{},[59,35833,35834,2231,35836,32934],{},[611,35835,6679],{},[611,35837,32933],{},[59,35839,35840,2231,35842,32942],{},[611,35841,7511],{},[611,35843,32941],{},[59,35845,35846,2231,35848,32950],{},[611,35847,11136],{},[611,35849,32949],{},[59,35851,35852,32956,35855,32959],{},[611,35853,35854],{},"changestr",[611,35856,8665],{},[59,35858,32962],{},[852,35860,35861,35869,35877,35885,35891,35897,35905],{},[59,35862,35863,98,35865,35867],{},[175,35864,25551],{"href":25550},[241,35866],{"alt":14,"src":18233},[241,35868],{"alt":14,"src":25783},[59,35870,35871,98,35873,35875],{},[175,35872,25559],{"href":25558},[241,35874],{"alt":14,"src":18233},[241,35876],{"alt":14,"src":25783},[59,35878,35879,98,35881,35883],{},[175,35880,25567],{"href":25566},[241,35882],{"alt":14,"src":18233},[241,35884],{"alt":14,"src":25783},[59,35886,35887,98,35889],{},[175,35888,25575],{"href":25574},[241,35890],{"alt":14,"src":25783},[59,35892,35893,98,35895],{},[175,35894,25581],{"href":25580},[241,35896],{"alt":14,"src":25783},[59,35898,35899,98,35901,35903],{},[175,35900,25587],{"href":25586},[241,35902],{"alt":14,"src":18233},[241,35904],{"alt":14,"src":25783},[59,35906,35907,98,35909,35911],{},[175,35908,35314],{"href":35313},[241,35910],{"alt":14,"src":18233},[241,35912],{"alt":14,"src":25783},[41,35914,24477],{"id":24476},[34,35916,35917],{},"Async method are asynchronous in nature. Please setup your API connection correspondingly (use keep alive HTTP or raw sockets).",[41,35919,12194],{"id":12194},[34,35921,18441],{},[34,35923,35924],{},[611,35925,6986],{},[616,35927,35928],{"className":6989,"code":18448,"language":6991,"meta":14,"style":14},[611,35929,35930,35934,35944,35954,35964,35970,35974,35984,35994,36004,36012,36016],{"__ignoreMap":14},[6995,35931,35932],{"class":244,"line":6997},[6995,35933,7001],{"class":7000},[6995,35935,35936,35938,35940,35942],{"class":244,"line":15},[6995,35937,7007],{"class":7006},[6995,35939,7024],{"class":7000},[6995,35941,7013],{"class":7012},[6995,35943,7016],{"class":7000},[6995,35945,35946,35948,35950,35952],{"class":244,"line":154},[6995,35947,7021],{"class":7006},[6995,35949,7024],{"class":7000},[6995,35951,6679],{"class":7006},[6995,35953,7030],{"class":7000},[6995,35955,35956,35958,35960,35962],{"class":244,"line":7033},[6995,35957,7036],{"class":7006},[6995,35959,7024],{"class":7000},[6995,35961,12237],{"class":7012},[6995,35963,7016],{"class":7000},[6995,35965,35966,35968],{"class":244,"line":7044},[6995,35967,7529],{"class":7006},[6995,35969,7532],{"class":7000},[6995,35971,35972],{"class":244,"line":7107},[6995,35973,7537],{"class":7000},[6995,35975,35976,35978,35980,35982],{"class":244,"line":7120},[6995,35977,11924],{"class":7006},[6995,35979,7024],{"class":7000},[6995,35981,12303],{"class":7012},[6995,35983,7030],{"class":7000},[6995,35985,35986,35988,35990,35992],{"class":244,"line":7133},[6995,35987,12268],{"class":7006},[6995,35989,7024],{"class":7000},[6995,35991,12273],{"class":7012},[6995,35993,7030],{"class":7000},[6995,35995,35996,35998,36000,36002],{"class":244,"line":7146},[6995,35997,7588],{"class":7006},[6995,35999,7024],{"class":7000},[6995,36001,18523],{"class":7012},[6995,36003,7030],{"class":7000},[6995,36005,36006,36008,36010],{"class":244,"line":7159},[6995,36007,18530],{"class":7006},[6995,36009,7746],{"class":7000},[6995,36011,8505],{"class":7006},[6995,36013,36014],{"class":244,"line":7172},[6995,36015,7615],{"class":7000},[6995,36017,36018],{"class":244,"line":7185},[6995,36019,7047],{"class":7000},[852,36021,36022,36057,36077,36081,36095],{},[59,36023,36024,11963,36026,36048,18578,36050,18584,36053,18587,36055],{},[611,36025,11962],{},[852,36027,36028,36032,36036,36040,36044],{},[59,36029,36030,18555],{},[611,36031,11803],{},[59,36033,36034,18560],{},[611,36035,11810],{},[59,36037,36038,18565],{},[611,36039,11989],{},[59,36041,36042,18570],{},[611,36043,12000],{},[59,36045,36046,18575],{},[611,36047,12010],{},[4953,36049],{},[175,36051,18583],{"href":18581,"rel":36052},[179],[611,36054,11810],{},[611,36056,18590],{},[59,36058,36059,36061,36071,18612,36073,18616,36075,18619],{},[611,36060,18595],{},[852,36062,36063,36067],{},[59,36064,18600,36065,181],{},[611,36066,18603],{},[59,36068,18606,36069,181],{},[611,36070,18609],{},[4953,36072],{},[611,36074,18615],{},[611,36076,18615],{},[59,36078,36079,18625],{},[611,36080,18624],{},[59,36082,36083,18631,36085,18634,36087,18637,36089,18641,36091,18645,36093,181],{},[611,36084,18630],{},[611,36086,8689],{},[611,36088,11803],{},[611,36090,18640],{},[611,36092,18644],{},[611,36094,18648],{},[59,36096,36097,18654,36099,18657,36101,18660,36103,181],{},[611,36098,18653],{},[611,36100,11810],{},[611,36102,6679],{},[611,36104,18663],{},[34,36106,18666,36107,18669,36109,18672,36111,18675,36113,18678,36115,2231,36117,1475,36119,18685,36121,10670,36123,10670,36125,18692],{},[611,36108,738],{},[175,36110,15797],{"href":18269},[611,36112,12315],{},[611,36114,6883],{},[611,36116,11810],{},[611,36118,11989],{},[611,36120,12000],{},[611,36122,11810],{},[611,36124,11989],{},[611,36126,12000],{},[34,36128,36129],{},[611,36130,7052],{},[616,36132,36133],{"className":6989,"code":18699,"language":6991,"meta":14,"style":14},[611,36134,36135,36139,36149,36159,36167],{"__ignoreMap":14},[6995,36136,36137],{"class":244,"line":6997},[6995,36138,7001],{"class":7000},[6995,36140,36141,36143,36145,36147],{"class":244,"line":15},[6995,36142,7007],{"class":7006},[6995,36144,7746],{"class":7000},[6995,36146,7013],{"class":7012},[6995,36148,7016],{"class":7000},[6995,36150,36151,36153,36155,36157],{"class":244,"line":154},[6995,36152,7021],{"class":7006},[6995,36154,7746],{"class":7000},[6995,36156,6679],{"class":7006},[6995,36158,7030],{"class":7000},[6995,36160,36161,36163,36165],{"class":244,"line":7033},[6995,36162,7732],{"class":7006},[6995,36164,7746],{"class":7000},[6995,36166,18734],{"class":7012},[6995,36168,36169],{"class":244,"line":7044},[6995,36170,7047],{"class":7000},[41,36172,11852],{"id":11852},[34,36174,18743,36175,18747],{},[611,36176,18746],{},[34,36178,36179],{},[611,36180,6986],{},[616,36182,36183],{"className":6989,"code":18754,"language":6991,"meta":14,"style":14},[611,36184,36185,36189,36199,36209,36219,36225,36229,36237,36241],{"__ignoreMap":14},[6995,36186,36187],{"class":244,"line":6997},[6995,36188,7001],{"class":7000},[6995,36190,36191,36193,36195,36197],{"class":244,"line":15},[6995,36192,7007],{"class":7006},[6995,36194,5102],{"class":7000},[6995,36196,7013],{"class":7012},[6995,36198,7016],{"class":7000},[6995,36200,36201,36203,36205,36207],{"class":244,"line":154},[6995,36202,7021],{"class":7006},[6995,36204,7024],{"class":7000},[6995,36206,6679],{"class":7006},[6995,36208,7030],{"class":7000},[6995,36210,36211,36213,36215,36217],{"class":244,"line":7033},[6995,36212,7036],{"class":7006},[6995,36214,7024],{"class":7000},[6995,36216,18789],{"class":7012},[6995,36218,7016],{"class":7000},[6995,36220,36221,36223],{"class":244,"line":7044},[6995,36222,7529],{"class":7006},[6995,36224,7532],{"class":7000},[6995,36226,36227],{"class":244,"line":7107},[6995,36228,7537],{"class":7000},[6995,36230,36231,36233,36235],{"class":244,"line":7120},[6995,36232,7577],{"class":7006},[6995,36234,7746],{"class":7000},[6995,36236,18734],{"class":7012},[6995,36238,36239],{"class":244,"line":7133},[6995,36240,7615],{"class":7000},[6995,36242,36243],{"class":244,"line":7146},[6995,36244,7047],{"class":7000},[34,36246,36247],{},[611,36248,7052],{},[616,36250,36251],{"className":6989,"code":18824,"language":6991,"meta":14,"style":14},[611,36252,36253,36257,36267,36277,36283,36287,36297,36307,36317,36325,36329],{"__ignoreMap":14},[6995,36254,36255],{"class":244,"line":6997},[6995,36256,7001],{"class":7000},[6995,36258,36259,36261,36263,36265],{"class":244,"line":15},[6995,36260,7007],{"class":7006},[6995,36262,5102],{"class":7000},[6995,36264,7013],{"class":7012},[6995,36266,7016],{"class":7000},[6995,36268,36269,36271,36273,36275],{"class":244,"line":154},[6995,36270,7021],{"class":7006},[6995,36272,7024],{"class":7000},[6995,36274,6679],{"class":7006},[6995,36276,7030],{"class":7000},[6995,36278,36279,36281],{"class":244,"line":7033},[6995,36280,7732],{"class":7006},[6995,36282,11893],{"class":7000},[6995,36284,36285],{"class":244,"line":7044},[6995,36286,7537],{"class":7000},[6995,36288,36289,36291,36293,36295],{"class":244,"line":7107},[6995,36290,11902],{"class":7006},[6995,36292,7746],{"class":7000},[6995,36294,8689],{"class":7006},[6995,36296,7030],{"class":7000},[6995,36298,36299,36301,36303,36305],{"class":244,"line":7120},[6995,36300,11913],{"class":7006},[6995,36302,7746],{"class":7000},[6995,36304,11094],{"class":7006},[6995,36306,7030],{"class":7000},[6995,36308,36309,36311,36313,36315],{"class":244,"line":7133},[6995,36310,11924],{"class":7006},[6995,36312,7024],{"class":7000},[6995,36314,11929],{"class":7012},[6995,36316,7016],{"class":7000},[6995,36318,36319,36321,36323],{"class":244,"line":7146},[6995,36320,11940],{"class":7006},[6995,36322,7024],{"class":7000},[6995,36324,18899],{"class":7006},[6995,36326,36327],{"class":244,"line":7159},[6995,36328,7615],{"class":7000},[6995,36330,36331],{"class":244,"line":7172},[6995,36332,7047],{"class":7000},[852,36334,36335,36341],{},[59,36336,36337,18914,36339,18917],{},[611,36338,11962],{},[175,36340,12194],{"href":18230},[59,36342,36343,18922,36345,12022],{},[611,36344,12018],{},[611,36346,11810],{},[41,36348,18255],{"id":18255},[34,36350,18929],{},[34,36352,36353],{},[611,36354,6986],{},[616,36356,36357],{"className":6989,"code":18936,"language":6991,"meta":14,"style":14},[611,36358,36359,36363,36373,36383,36393,36399,36403,36411,36415],{"__ignoreMap":14},[6995,36360,36361],{"class":244,"line":6997},[6995,36362,7001],{"class":7000},[6995,36364,36365,36367,36369,36371],{"class":244,"line":15},[6995,36366,7007],{"class":7006},[6995,36368,5102],{"class":7000},[6995,36370,7013],{"class":7012},[6995,36372,7016],{"class":7000},[6995,36374,36375,36377,36379,36381],{"class":244,"line":154},[6995,36376,7021],{"class":7006},[6995,36378,7024],{"class":7000},[6995,36380,18961],{"class":7006},[6995,36382,7030],{"class":7000},[6995,36384,36385,36387,36389,36391],{"class":244,"line":7033},[6995,36386,7036],{"class":7006},[6995,36388,5102],{"class":7000},[6995,36390,18972],{"class":7012},[6995,36392,7030],{"class":7000},[6995,36394,36395,36397],{"class":244,"line":7044},[6995,36396,7529],{"class":7006},[6995,36398,7532],{"class":7000},[6995,36400,36401],{"class":244,"line":7107},[6995,36402,7537],{"class":7000},[6995,36404,36405,36407,36409],{"class":244,"line":7120},[6995,36406,18989],{"class":7006},[6995,36408,7746],{"class":7000},[6995,36410,8505],{"class":7006},[6995,36412,36413],{"class":244,"line":7133},[6995,36414,7615],{"class":7000},[6995,36416,36417],{"class":244,"line":7146},[6995,36418,7047],{"class":7000},[852,36420,36421],{},[59,36422,36423,19009,36425,19012,36427,19015],{},[611,36424,19008],{},[611,36426,8689],{},[611,36428,11094],{},[34,36430,36431],{},[611,36432,7052],{},[616,36434,36435],{"className":6989,"code":19022,"language":6991,"meta":14,"style":14},[611,36436,36437,36441,36451,36461,36467,36471,36481,36491,36501,36511,36521,36531,36541,36551,36561,36571,36581,36589,36593],{"__ignoreMap":14},[6995,36438,36439],{"class":244,"line":6997},[6995,36440,7001],{"class":7000},[6995,36442,36443,36445,36447,36449],{"class":244,"line":15},[6995,36444,7021],{"class":7006},[6995,36446,7024],{"class":7000},[6995,36448,18961],{"class":7006},[6995,36450,7030],{"class":7000},[6995,36452,36453,36455,36457,36459],{"class":244,"line":154},[6995,36454,7007],{"class":7006},[6995,36456,7024],{"class":7000},[6995,36458,7013],{"class":7012},[6995,36460,7030],{"class":7000},[6995,36462,36463,36465],{"class":244,"line":7033},[6995,36464,7732],{"class":7006},[6995,36466,7532],{"class":7000},[6995,36468,36469],{"class":244,"line":7044},[6995,36470,19059],{"class":7000},[6995,36472,36473,36475,36477,36479],{"class":244,"line":7107},[6995,36474,7577],{"class":7006},[6995,36476,7024],{"class":7000},[6995,36478,19068],{"class":7012},[6995,36480,7030],{"class":7000},[6995,36482,36483,36485,36487,36489],{"class":244,"line":7120},[6995,36484,19075],{"class":7006},[6995,36486,7024],{"class":7000},[6995,36488,19080],{"class":7012},[6995,36490,7030],{"class":7000},[6995,36492,36493,36495,36497,36499],{"class":244,"line":7133},[6995,36494,19087],{"class":7006},[6995,36496,7024],{"class":7000},[6995,36498,19092],{"class":7006},[6995,36500,7030],{"class":7000},[6995,36502,36503,36505,36507,36509],{"class":244,"line":7146},[6995,36504,19099],{"class":7006},[6995,36506,7024],{"class":7000},[6995,36508,19104],{"class":7006},[6995,36510,7030],{"class":7000},[6995,36512,36513,36515,36517,36519],{"class":244,"line":7159},[6995,36514,19111],{"class":7006},[6995,36516,7024],{"class":7000},[6995,36518,8689],{"class":7006},[6995,36520,7030],{"class":7000},[6995,36522,36523,36525,36527,36529],{"class":244,"line":7172},[6995,36524,7588],{"class":7006},[6995,36526,7024],{"class":7000},[6995,36528,19080],{"class":7012},[6995,36530,7030],{"class":7000},[6995,36532,36533,36535,36537,36539],{"class":244,"line":7185},[6995,36534,18989],{"class":7006},[6995,36536,7024],{"class":7000},[6995,36538,8689],{"class":7006},[6995,36540,7030],{"class":7000},[6995,36542,36543,36545,36547,36549],{"class":244,"line":7198},[6995,36544,19142],{"class":7006},[6995,36546,7024],{"class":7000},[6995,36548,19147],{"class":7006},[6995,36550,7030],{"class":7000},[6995,36552,36553,36555,36557,36559],{"class":244,"line":7211},[6995,36554,19154],{"class":7006},[6995,36556,7024],{"class":7000},[6995,36558,19159],{"class":7012},[6995,36560,7030],{"class":7000},[6995,36562,36563,36565,36567,36569],{"class":244,"line":7220},[6995,36564,19166],{"class":7006},[6995,36566,7024],{"class":7000},[6995,36568,19171],{"class":7012},[6995,36570,7030],{"class":7000},[6995,36572,36573,36575,36577,36579],{"class":244,"line":7226},[6995,36574,11924],{"class":7006},[6995,36576,7024],{"class":7000},[6995,36578,12303],{"class":7012},[6995,36580,7030],{"class":7000},[6995,36582,36583,36585,36587],{"class":244,"line":7238},[6995,36584,19188],{"class":7006},[6995,36586,7024],{"class":7000},[6995,36588,19193],{"class":7012},[6995,36590,36591],{"class":244,"line":7250},[6995,36592,19198],{"class":7000},[6995,36594,36595],{"class":244,"line":7263},[6995,36596,7047],{"class":7000},[852,36598,36599,36603,36607,36611,36615,36621],{},[59,36600,36601,19209],{},[611,36602,738],{},[59,36604,36605,19215],{},[611,36606,19214],{},[59,36608,36609,19221],{},[611,36610,19220],{},[59,36612,36613,26526],{},[611,36614,19226],{},[59,36616,36617,19232,36619,19235],{},[611,36618,11962],{},[175,36620,12194],{"href":18230},[59,36622,36623,19241,36625,19244,36627,19247,36629,19250,36631,2231,36633,1475,36635,12028],{},[611,36624,19240],{},[611,36626,11989],{},[611,36628,19240],{},[611,36630,11989],{},[611,36632,11803],{},[611,36634,12010],{},[611,36636,11810],{},[48,36638,8763],{"id":19226},[34,36640,19261,36641,26555,36643,19267,36645,19271],{},[611,36642,19226],{},[611,36644,19226],{},[100,36646,19270],{},[41,36648,18239],{"id":18239},[34,36650,19276],{},[34,36652,36653],{},[611,36654,6986],{},[616,36656,36657],{"className":6989,"code":19283,"language":6991,"meta":14,"style":14},[611,36658,36659,36663,36673,36683,36693,36699,36703,36711,36715],{"__ignoreMap":14},[6995,36660,36661],{"class":244,"line":6997},[6995,36662,7001],{"class":7000},[6995,36664,36665,36667,36669,36671],{"class":244,"line":15},[6995,36666,7007],{"class":7006},[6995,36668,5102],{"class":7000},[6995,36670,7013],{"class":7012},[6995,36672,7016],{"class":7000},[6995,36674,36675,36677,36679,36681],{"class":244,"line":154},[6995,36676,7021],{"class":7006},[6995,36678,7024],{"class":7000},[6995,36680,18961],{"class":7006},[6995,36682,7030],{"class":7000},[6995,36684,36685,36687,36689,36691],{"class":244,"line":7033},[6995,36686,7036],{"class":7006},[6995,36688,5102],{"class":7000},[6995,36690,19318],{"class":7012},[6995,36692,7030],{"class":7000},[6995,36694,36695,36697],{"class":244,"line":7044},[6995,36696,7529],{"class":7006},[6995,36698,7532],{"class":7000},[6995,36700,36701],{"class":244,"line":7107},[6995,36702,7537],{"class":7000},[6995,36704,36705,36707,36709],{"class":244,"line":7120},[6995,36706,7577],{"class":7006},[6995,36708,7746],{"class":7000},[6995,36710,19193],{"class":7012},[6995,36712,36713],{"class":244,"line":7133},[6995,36714,7615],{"class":7000},[6995,36716,36717],{"class":244,"line":7146},[6995,36718,7047],{"class":7000},[34,36720,36721],{},[611,36722,7052],{},[616,36724,36725],{"className":6989,"code":19353,"language":6991,"meta":14,"style":14},[611,36726,36727,36731,36741,36751,36759],{"__ignoreMap":14},[6995,36728,36729],{"class":244,"line":6997},[6995,36730,7001],{"class":7000},[6995,36732,36733,36735,36737,36739],{"class":244,"line":15},[6995,36734,7021],{"class":7006},[6995,36736,7024],{"class":7000},[6995,36738,18961],{"class":7006},[6995,36740,7030],{"class":7000},[6995,36742,36743,36745,36747,36749],{"class":244,"line":154},[6995,36744,7007],{"class":7006},[6995,36746,7024],{"class":7000},[6995,36748,7013],{"class":7012},[6995,36750,7030],{"class":7000},[6995,36752,36753,36755,36757],{"class":244,"line":7033},[6995,36754,7732],{"class":7006},[6995,36756,7024],{"class":7000},[6995,36758,19388],{"class":7012},[6995,36760,36761],{"class":244,"line":7044},[6995,36762,7047],{"class":7000},[41,36764,18247],{"id":18247},[34,36766,19397,36767,19400,36769,19403,36771,19406],{},[611,36768,18624],{},[611,36770,18595],{},[175,36772,12194],{"href":18230},[34,36774,36775],{},[611,36776,6986],{},[616,36778,36779],{"className":6989,"code":19413,"language":6991,"meta":14,"style":14},[611,36780,36781,36785,36795,36805,36815,36821,36825,36835,36845,36853,36857],{"__ignoreMap":14},[6995,36782,36783],{"class":244,"line":6997},[6995,36784,7001],{"class":7000},[6995,36786,36787,36789,36791,36793],{"class":244,"line":15},[6995,36788,7007],{"class":7006},[6995,36790,5102],{"class":7000},[6995,36792,7013],{"class":7012},[6995,36794,7016],{"class":7000},[6995,36796,36797,36799,36801,36803],{"class":244,"line":154},[6995,36798,7021],{"class":7006},[6995,36800,7024],{"class":7000},[6995,36802,18961],{"class":7006},[6995,36804,7030],{"class":7000},[6995,36806,36807,36809,36811,36813],{"class":244,"line":7033},[6995,36808,7036],{"class":7006},[6995,36810,5102],{"class":7000},[6995,36812,19448],{"class":7012},[6995,36814,7030],{"class":7000},[6995,36816,36817,36819],{"class":244,"line":7044},[6995,36818,7529],{"class":7006},[6995,36820,7532],{"class":7000},[6995,36822,36823],{"class":244,"line":7107},[6995,36824,7537],{"class":7000},[6995,36826,36827,36829,36831,36833],{"class":244,"line":7120},[6995,36828,7577],{"class":7006},[6995,36830,7746],{"class":7000},[6995,36832,19068],{"class":7012},[6995,36834,7030],{"class":7000},[6995,36836,36837,36839,36841,36843],{"class":244,"line":7133},[6995,36838,7588],{"class":7006},[6995,36840,7746],{"class":7000},[6995,36842,18523],{"class":7012},[6995,36844,7030],{"class":7000},[6995,36846,36847,36849,36851],{"class":244,"line":7146},[6995,36848,12268],{"class":7006},[6995,36850,7746],{"class":7000},[6995,36852,19489],{"class":7012},[6995,36854,36855],{"class":244,"line":7159},[6995,36856,7615],{"class":7000},[6995,36858,36859],{"class":244,"line":7172},[6995,36860,7047],{"class":7000},[34,36862,36863],{},[611,36864,7052],{},[616,36866,36867],{"className":6989,"code":19353,"language":6991,"meta":14,"style":14},[611,36868,36869,36873,36883,36893,36901],{"__ignoreMap":14},[6995,36870,36871],{"class":244,"line":6997},[6995,36872,7001],{"class":7000},[6995,36874,36875,36877,36879,36881],{"class":244,"line":15},[6995,36876,7021],{"class":7006},[6995,36878,7024],{"class":7000},[6995,36880,18961],{"class":7006},[6995,36882,7030],{"class":7000},[6995,36884,36885,36887,36889,36891],{"class":244,"line":154},[6995,36886,7007],{"class":7006},[6995,36888,7024],{"class":7000},[6995,36890,7013],{"class":7012},[6995,36892,7030],{"class":7000},[6995,36894,36895,36897,36899],{"class":244,"line":7033},[6995,36896,7732],{"class":7006},[6995,36898,7024],{"class":7000},[6995,36900,19388],{"class":7012},[6995,36902,36903],{"class":244,"line":7044},[6995,36904,7047],{"class":7000},[41,36906,6905],{"id":6905},[34,36908,19546],{},[34,36910,36911],{},[611,36912,6986],{},[616,36914,36915],{"className":6989,"code":19553,"language":6991,"meta":14,"style":14},[611,36916,36917,36921,36931,36941,36951,36957,36961,36971,36981,36991,37001,37011,37021,37029,37033],{"__ignoreMap":14},[6995,36918,36919],{"class":244,"line":6997},[6995,36920,7001],{"class":7000},[6995,36922,36923,36925,36927,36929],{"class":244,"line":15},[6995,36924,7007],{"class":7006},[6995,36926,5102],{"class":7000},[6995,36928,7013],{"class":7012},[6995,36930,7016],{"class":7000},[6995,36932,36933,36935,36937,36939],{"class":244,"line":154},[6995,36934,7021],{"class":7006},[6995,36936,7024],{"class":7000},[6995,36938,7511],{"class":7006},[6995,36940,7030],{"class":7000},[6995,36942,36943,36945,36947,36949],{"class":244,"line":7033},[6995,36944,7036],{"class":7006},[6995,36946,5102],{"class":7000},[6995,36948,7522],{"class":7012},[6995,36950,7016],{"class":7000},[6995,36952,36953,36955],{"class":244,"line":7044},[6995,36954,7529],{"class":7006},[6995,36956,7532],{"class":7000},[6995,36958,36959],{"class":244,"line":7107},[6995,36960,7537],{"class":7000},[6995,36962,36963,36965,36967,36969],{"class":244,"line":7120},[6995,36964,7542],{"class":7006},[6995,36966,7024],{"class":7000},[6995,36968,7547],{"class":7006},[6995,36970,7030],{"class":7000},[6995,36972,36973,36975,36977,36979],{"class":244,"line":7133},[6995,36974,7554],{"class":7006},[6995,36976,7024],{"class":7000},[6995,36978,7511],{"class":7006},[6995,36980,7030],{"class":7000},[6995,36982,36983,36985,36987,36989],{"class":244,"line":7146},[6995,36984,7565],{"class":7006},[6995,36986,7024],{"class":7000},[6995,36988,7570],{"class":7012},[6995,36990,7030],{"class":7000},[6995,36992,36993,36995,36997,36999],{"class":244,"line":7159},[6995,36994,7577],{"class":7006},[6995,36996,7024],{"class":7000},[6995,36998,7570],{"class":7012},[6995,37000,7030],{"class":7000},[6995,37002,37003,37005,37007,37009],{"class":244,"line":7172},[6995,37004,7588],{"class":7006},[6995,37006,7024],{"class":7000},[6995,37008,7593],{"class":7012},[6995,37010,7030],{"class":7000},[6995,37012,37013,37015,37017,37019],{"class":244,"line":7185},[6995,37014,7229],{"class":7006},[6995,37016,7024],{"class":7000},[6995,37018,6679],{"class":7006},[6995,37020,7030],{"class":7000},[6995,37022,37023,37025,37027],{"class":244,"line":7198},[6995,37024,12158],{"class":7006},[6995,37026,7024],{"class":7000},[6995,37028,19668],{"class":7006},[6995,37030,37031],{"class":244,"line":7211},[6995,37032,7615],{"class":7000},[6995,37034,37035],{"class":244,"line":7220},[6995,37036,7047],{"class":7000},[852,37038,37039,37043,37047,37051,37061,37065,37069,37077],{},[59,37040,37041,19683],{},[611,37042,8141],{},[59,37044,37045,19688],{},[611,37046,8147],{},[59,37048,37049,19694],{},[611,37050,19693],{},[59,37052,37053,19699,37055,19702,37057,1475,37059,181],{},[611,37054,738],{},[100,37056,11775],{},[611,37058,738],{},[611,37060,19226],{},[59,37062,37063,19711],{},[611,37064,18624],{},[59,37066,37067,19716],{},[611,37068,8158],{},[59,37070,37071,19721,37073,19724,37075,19727],{},[611,37072,6869],{},[611,37074,6869],{},[611,37076,4979],{},[59,37078,37079,19732,37081,19736,37083,19739],{},[611,37080,11810],{},[611,37082,19735],{},[611,37084,11810],{},[34,37086,19742,37087,19745,37089,19749],{},[611,37088,14350],{},[611,37090,19748],{},[34,37092,37093],{},[611,37094,7052],{},[616,37096,37097],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,37098,37099,37103,37113,37123,37129,37133,37141,37145],{"__ignoreMap":14},[6995,37100,37101],{"class":244,"line":6997},[6995,37102,7001],{"class":7000},[6995,37104,37105,37107,37109,37111],{"class":244,"line":15},[6995,37106,7007],{"class":7006},[6995,37108,5102],{"class":7000},[6995,37110,7013],{"class":7012},[6995,37112,7016],{"class":7000},[6995,37114,37115,37117,37119,37121],{"class":244,"line":154},[6995,37116,7021],{"class":7006},[6995,37118,7024],{"class":7000},[6995,37120,7511],{"class":7006},[6995,37122,7030],{"class":7000},[6995,37124,37125,37127],{"class":244,"line":7033},[6995,37126,7732],{"class":7006},[6995,37128,7532],{"class":7000},[6995,37130,37131],{"class":244,"line":7044},[6995,37132,7537],{"class":7000},[6995,37134,37135,37137,37139],{"class":244,"line":7107},[6995,37136,7743],{"class":7006},[6995,37138,7746],{"class":7000},[6995,37140,7749],{"class":7012},[6995,37142,37143],{"class":244,"line":7120},[6995,37144,7615],{"class":7000},[6995,37146,37147],{"class":244,"line":7133},[6995,37148,7047],{"class":7000},[34,37150,8221,37151,181],{},[175,37152,7985],{"href":19812},[41,37154,6910],{"id":6910},[34,37156,19817],{},[34,37158,19820,37159,19824],{},[611,37160,19823],{},[34,37162,37163],{},[611,37164,6986],{},[616,37166,37167],{"className":6989,"code":19831,"language":6991,"meta":14,"style":14},[611,37168,37169,37173,37183,37193,37203,37209,37213,37235,37245,37253,37257],{"__ignoreMap":14},[6995,37170,37171],{"class":244,"line":6997},[6995,37172,7001],{"class":7000},[6995,37174,37175,37177,37179,37181],{"class":244,"line":15},[6995,37176,7007],{"class":7006},[6995,37178,5102],{"class":7000},[6995,37180,7013],{"class":7012},[6995,37182,7016],{"class":7000},[6995,37184,37185,37187,37189,37191],{"class":244,"line":154},[6995,37186,7021],{"class":7006},[6995,37188,7024],{"class":7000},[6995,37190,14095],{"class":7006},[6995,37192,7030],{"class":7000},[6995,37194,37195,37197,37199,37201],{"class":244,"line":7033},[6995,37196,7036],{"class":7006},[6995,37198,5102],{"class":7000},[6995,37200,19866],{"class":7012},[6995,37202,7016],{"class":7000},[6995,37204,37205,37207],{"class":244,"line":7044},[6995,37206,7529],{"class":7006},[6995,37208,7532],{"class":7000},[6995,37210,37211],{"class":244,"line":7107},[6995,37212,7537],{"class":7000},[6995,37214,37215,37217,37219,37221,37223,37225,37227,37229,37231,37233],{"class":244,"line":7120},[6995,37216,19883],{"class":7006},[6995,37218,19886],{"class":7000},[6995,37220,19889],{"class":7006},[6995,37222,2231],{"class":7000},[6995,37224,8566],{"class":7006},[6995,37226,2231],{"class":7000},[6995,37228,19898],{"class":7006},[6995,37230,2231],{"class":7000},[6995,37232,19903],{"class":7006},[6995,37234,19906],{"class":7000},[6995,37236,37237,37239,37241,37243],{"class":244,"line":7133},[6995,37238,7554],{"class":7006},[6995,37240,7746],{"class":7000},[6995,37242,10984],{"class":7006},[6995,37244,7030],{"class":7000},[6995,37246,37247,37249,37251],{"class":244,"line":7146},[6995,37248,7229],{"class":7006},[6995,37250,7024],{"class":7000},[6995,37252,7686],{"class":7006},[6995,37254,37255],{"class":244,"line":7159},[6995,37256,7615],{"class":7000},[6995,37258,37259],{"class":244,"line":7172},[6995,37260,7047],{"class":7000},[34,37262,37263],{},[611,37264,7052],{},[616,37266,37267],{"className":6989,"code":19939,"language":6991,"meta":14,"style":14},[611,37268,37269,37273,37283,37293,37299,37303,37311,37315],{"__ignoreMap":14},[6995,37270,37271],{"class":244,"line":6997},[6995,37272,7001],{"class":7000},[6995,37274,37275,37277,37279,37281],{"class":244,"line":15},[6995,37276,7007],{"class":7006},[6995,37278,5102],{"class":7000},[6995,37280,7013],{"class":7012},[6995,37282,7016],{"class":7000},[6995,37284,37285,37287,37289,37291],{"class":244,"line":154},[6995,37286,7021],{"class":7006},[6995,37288,7024],{"class":7000},[6995,37290,14095],{"class":7006},[6995,37292,7030],{"class":7000},[6995,37294,37295,37297],{"class":244,"line":7033},[6995,37296,7732],{"class":7006},[6995,37298,7532],{"class":7000},[6995,37300,37301],{"class":244,"line":7044},[6995,37302,7537],{"class":7000},[6995,37304,37305,37307,37309],{"class":244,"line":7107},[6995,37306,7743],{"class":7006},[6995,37308,7746],{"class":7000},[6995,37310,7749],{"class":7012},[6995,37312,37313],{"class":244,"line":7120},[6995,37314,7615],{"class":7000},[6995,37316,37317],{"class":244,"line":7133},[6995,37318,7047],{"class":7000},[852,37320,37321,37325,37329,37333],{},[59,37322,37323,19998],{},[611,37324,8147],{},[59,37326,37327,20003],{},[611,37328,14350],{},[59,37330,37331,20008],{},[611,37332,8158],{},[59,37334,37335,20013,37337,19724,37339,19727],{},[611,37336,6869],{},[611,37338,6869],{},[611,37340,4979],{},[41,37342,6920],{"id":6920},[34,37344,20022,37345,19727],{},[611,37346,4979],{},[34,37348,20027,37349,8054],{},[175,37350,6930],{"href":8044},[34,37352,37353],{},[611,37354,6986],{},[616,37356,37357],{"className":6989,"code":8061,"language":6991,"meta":14,"style":14},[611,37358,37359,37363,37373,37383,37393,37399,37403,37413,37421,37425],{"__ignoreMap":14},[6995,37360,37361],{"class":244,"line":6997},[6995,37362,7001],{"class":7000},[6995,37364,37365,37367,37369,37371],{"class":244,"line":15},[6995,37366,7007],{"class":7006},[6995,37368,7024],{"class":7000},[6995,37370,7013],{"class":7012},[6995,37372,7016],{"class":7000},[6995,37374,37375,37377,37379,37381],{"class":244,"line":154},[6995,37376,7021],{"class":7006},[6995,37378,7024],{"class":7000},[6995,37380,7511],{"class":7006},[6995,37382,7030],{"class":7000},[6995,37384,37385,37387,37389,37391],{"class":244,"line":7033},[6995,37386,7036],{"class":7006},[6995,37388,7024],{"class":7000},[6995,37390,8096],{"class":7012},[6995,37392,7016],{"class":7000},[6995,37394,37395,37397],{"class":244,"line":7044},[6995,37396,7529],{"class":7006},[6995,37398,7532],{"class":7000},[6995,37400,37401],{"class":244,"line":7107},[6995,37402,7537],{"class":7000},[6995,37404,37405,37407,37409,37411],{"class":244,"line":7120},[6995,37406,7542],{"class":7006},[6995,37408,7024],{"class":7000},[6995,37410,7027],{"class":7006},[6995,37412,7030],{"class":7000},[6995,37414,37415,37417,37419],{"class":244,"line":7133},[6995,37416,7229],{"class":7006},[6995,37418,7024],{"class":7000},[6995,37420,7686],{"class":7006},[6995,37422,37423],{"class":244,"line":7146},[6995,37424,7615],{"class":7000},[6995,37426,37427],{"class":244,"line":7159},[6995,37428,7047],{"class":7000},[852,37430,37431,37435,37439,37443,37447],{},[59,37432,37433,8142],{},[611,37434,8141],{},[59,37436,37437,8148],{},[611,37438,8147],{},[59,37440,37441,8153],{},[611,37442,6869],{},[59,37444,37445,8159],{},[611,37446,8158],{},[59,37448,37449,20131],{},[611,37450,20130],{},[34,37452,20134,37453,20137,37455],{},[611,37454,14350],{},[611,37456,19748],{},[34,37458,37459],{},[611,37460,7052],{},[616,37462,37463],{"className":6989,"code":8166,"language":6991,"meta":14,"style":14},[611,37464,37465,37469,37479,37489,37495,37499,37507,37511],{"__ignoreMap":14},[6995,37466,37467],{"class":244,"line":6997},[6995,37468,7001],{"class":7000},[6995,37470,37471,37473,37475,37477],{"class":244,"line":15},[6995,37472,7007],{"class":7006},[6995,37474,7024],{"class":7000},[6995,37476,7013],{"class":7012},[6995,37478,7016],{"class":7000},[6995,37480,37481,37483,37485,37487],{"class":244,"line":154},[6995,37482,7021],{"class":7006},[6995,37484,7024],{"class":7000},[6995,37486,7511],{"class":7006},[6995,37488,7030],{"class":7000},[6995,37490,37491,37493],{"class":244,"line":7033},[6995,37492,7732],{"class":7006},[6995,37494,7532],{"class":7000},[6995,37496,37497],{"class":244,"line":7044},[6995,37498,7537],{"class":7000},[6995,37500,37501,37503,37505],{"class":244,"line":7107},[6995,37502,7743],{"class":7006},[6995,37504,7746],{"class":7000},[6995,37506,7749],{"class":7012},[6995,37508,37509],{"class":244,"line":7120},[6995,37510,7615],{"class":7000},[6995,37512,37513],{"class":244,"line":7133},[6995,37514,7047],{"class":7000},[34,37516,8221,37517,181],{},[175,37518,7985],{"href":19812},[41,37520,6925],{"id":6925},[34,37522,20022,37523,19727],{},[611,37524,4979],{},[34,37526,20210,37527,20213],{},[175,37528,6930],{"href":8044},[34,37530,37531],{},[611,37532,6986],{},[616,37534,37535],{"className":6989,"code":8236,"language":6991,"meta":14,"style":14},[611,37536,37537,37541,37551,37561,37571,37577,37581,37591,37599,37603],{"__ignoreMap":14},[6995,37538,37539],{"class":244,"line":6997},[6995,37540,7001],{"class":7000},[6995,37542,37543,37545,37547,37549],{"class":244,"line":15},[6995,37544,7007],{"class":7006},[6995,37546,5102],{"class":7000},[6995,37548,7013],{"class":7012},[6995,37550,7016],{"class":7000},[6995,37552,37553,37555,37557,37559],{"class":244,"line":154},[6995,37554,7021],{"class":7006},[6995,37556,7024],{"class":7000},[6995,37558,7511],{"class":7006},[6995,37560,7030],{"class":7000},[6995,37562,37563,37565,37567,37569],{"class":244,"line":7033},[6995,37564,7036],{"class":7006},[6995,37566,5102],{"class":7000},[6995,37568,8271],{"class":7012},[6995,37570,7016],{"class":7000},[6995,37572,37573,37575],{"class":244,"line":7044},[6995,37574,7529],{"class":7006},[6995,37576,7532],{"class":7000},[6995,37578,37579],{"class":244,"line":7107},[6995,37580,7537],{"class":7000},[6995,37582,37583,37585,37587,37589],{"class":244,"line":7120},[6995,37584,7542],{"class":7006},[6995,37586,7024],{"class":7000},[6995,37588,7027],{"class":7006},[6995,37590,7030],{"class":7000},[6995,37592,37593,37595,37597],{"class":244,"line":7133},[6995,37594,7229],{"class":7006},[6995,37596,7024],{"class":7000},[6995,37598,7686],{"class":7006},[6995,37600,37601],{"class":244,"line":7146},[6995,37602,7615],{"class":7000},[6995,37604,37605],{"class":244,"line":7159},[6995,37606,7047],{"class":7000},[852,37608,37609,37613,37617,37621,37625],{},[59,37610,37611,8316],{},[611,37612,8141],{},[59,37614,37615,8321],{},[611,37616,8147],{},[59,37618,37619,8326],{},[611,37620,6869],{},[59,37622,37623,8331],{},[611,37624,8158],{},[59,37626,37627,20314],{},[611,37628,20130],{},[34,37630,20317,37631,20137,37633,20322],{},[611,37632,14350],{},[611,37634,19748],{},[34,37636,37637],{},[611,37638,7052],{},[616,37640,37641],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,37642,37643,37647,37657,37667,37673,37677,37685,37689],{"__ignoreMap":14},[6995,37644,37645],{"class":244,"line":6997},[6995,37646,7001],{"class":7000},[6995,37648,37649,37651,37653,37655],{"class":244,"line":15},[6995,37650,7007],{"class":7006},[6995,37652,5102],{"class":7000},[6995,37654,7013],{"class":7012},[6995,37656,7016],{"class":7000},[6995,37658,37659,37661,37663,37665],{"class":244,"line":154},[6995,37660,7021],{"class":7006},[6995,37662,7024],{"class":7000},[6995,37664,7511],{"class":7006},[6995,37666,7030],{"class":7000},[6995,37668,37669,37671],{"class":244,"line":7033},[6995,37670,7732],{"class":7006},[6995,37672,7532],{"class":7000},[6995,37674,37675],{"class":244,"line":7044},[6995,37676,7537],{"class":7000},[6995,37678,37679,37681,37683],{"class":244,"line":7107},[6995,37680,7743],{"class":7006},[6995,37682,7746],{"class":7000},[6995,37684,7749],{"class":7012},[6995,37686,37687],{"class":244,"line":7120},[6995,37688,7615],{"class":7000},[6995,37690,37691],{"class":244,"line":7133},[6995,37692,7047],{"class":7000},[34,37694,8221,37695,181],{},[175,37696,7985],{"href":19812},[41,37698,6930],{"id":6930},[34,37700,20022,37701,19727],{},[611,37702,4979],{},[34,37704,20393,37705,20396],{},[175,37706,6935],{"href":18363},[34,37708,37709],{},[611,37710,6986],{},[616,37712,37713],{"className":6989,"code":7629,"language":6991,"meta":14,"style":14},[611,37714,37715,37719,37729,37739,37749,37755,37759,37767,37771],{"__ignoreMap":14},[6995,37716,37717],{"class":244,"line":6997},[6995,37718,7001],{"class":7000},[6995,37720,37721,37723,37725,37727],{"class":244,"line":15},[6995,37722,7007],{"class":7006},[6995,37724,5102],{"class":7000},[6995,37726,7013],{"class":7012},[6995,37728,7016],{"class":7000},[6995,37730,37731,37733,37735,37737],{"class":244,"line":154},[6995,37732,7021],{"class":7006},[6995,37734,7024],{"class":7000},[6995,37736,7511],{"class":7006},[6995,37738,7030],{"class":7000},[6995,37740,37741,37743,37745,37747],{"class":244,"line":7033},[6995,37742,7036],{"class":7006},[6995,37744,7024],{"class":7000},[6995,37746,7664],{"class":7012},[6995,37748,7030],{"class":7000},[6995,37750,37751,37753],{"class":244,"line":7044},[6995,37752,7529],{"class":7006},[6995,37754,7673],{"class":7000},[6995,37756,37757],{"class":244,"line":7107},[6995,37758,7537],{"class":7000},[6995,37760,37761,37763,37765],{"class":244,"line":7120},[6995,37762,7229],{"class":7006},[6995,37764,7024],{"class":7000},[6995,37766,7686],{"class":7006},[6995,37768,37769],{"class":244,"line":7133},[6995,37770,7615],{"class":7000},[6995,37772,37773],{"class":244,"line":7146},[6995,37774,7047],{"class":7000},[852,37776,37777,37781,37785],{},[59,37778,37779,7838],{},[611,37780,6869],{},[59,37782,37783,8331],{},[611,37784,8158],{},[59,37786,37787,20314],{},[611,37788,20130],{},[34,37790,20481],{},[34,37792,37793],{},[611,37794,7052],{},[616,37796,37797],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,37798,37799,37803,37813,37823,37829,37833,37841,37845],{"__ignoreMap":14},[6995,37800,37801],{"class":244,"line":6997},[6995,37802,7001],{"class":7000},[6995,37804,37805,37807,37809,37811],{"class":244,"line":15},[6995,37806,7007],{"class":7006},[6995,37808,5102],{"class":7000},[6995,37810,7013],{"class":7012},[6995,37812,7016],{"class":7000},[6995,37814,37815,37817,37819,37821],{"class":244,"line":154},[6995,37816,7021],{"class":7006},[6995,37818,7024],{"class":7000},[6995,37820,7511],{"class":7006},[6995,37822,7030],{"class":7000},[6995,37824,37825,37827],{"class":244,"line":7033},[6995,37826,7732],{"class":7006},[6995,37828,7532],{"class":7000},[6995,37830,37831],{"class":244,"line":7044},[6995,37832,7537],{"class":7000},[6995,37834,37835,37837,37839],{"class":244,"line":7107},[6995,37836,7743],{"class":7006},[6995,37838,7746],{"class":7000},[6995,37840,7749],{"class":7012},[6995,37842,37843],{"class":244,"line":7120},[6995,37844,7615],{"class":7000},[6995,37846,37847],{"class":244,"line":7133},[6995,37848,7047],{"class":7000},[34,37850,8221,37851,181],{},[175,37852,7985],{"href":19812},[41,37854,18306],{"id":18306},[34,37856,20548],{},[34,37858,37859],{},[611,37860,6986],{},[616,37862,37863],{"className":6989,"code":20555,"language":6991,"meta":14,"style":14},[611,37864,37865,37869,37879,37889,37899,37905,37909,37917,37921],{"__ignoreMap":14},[6995,37866,37867],{"class":244,"line":6997},[6995,37868,7001],{"class":7000},[6995,37870,37871,37873,37875,37877],{"class":244,"line":15},[6995,37872,7007],{"class":7006},[6995,37874,5102],{"class":7000},[6995,37876,7013],{"class":7012},[6995,37878,7016],{"class":7000},[6995,37880,37881,37883,37885,37887],{"class":244,"line":154},[6995,37882,7021],{"class":7006},[6995,37884,7024],{"class":7000},[6995,37886,8439],{"class":7006},[6995,37888,7030],{"class":7000},[6995,37890,37891,37893,37895,37897],{"class":244,"line":7033},[6995,37892,7036],{"class":7006},[6995,37894,5102],{"class":7000},[6995,37896,20590],{"class":7012},[6995,37898,7016],{"class":7000},[6995,37900,37901,37903],{"class":244,"line":7044},[6995,37902,7529],{"class":7006},[6995,37904,7532],{"class":7000},[6995,37906,37907],{"class":244,"line":7107},[6995,37908,7537],{"class":7000},[6995,37910,37911,37913,37915],{"class":244,"line":7120},[6995,37912,7743],{"class":7006},[6995,37914,7746],{"class":7000},[6995,37916,20611],{"class":7012},[6995,37918,37919],{"class":244,"line":7133},[6995,37920,7615],{"class":7000},[6995,37922,37923],{"class":244,"line":7146},[6995,37924,7047],{"class":7000},[852,37926,37927],{},[59,37928,37929,20626],{},[611,37930,8158],{},[34,37932,37933],{},[611,37934,7052],{},[616,37936,37937],{"className":6989,"code":20633,"language":6991,"meta":14,"style":14},[611,37938,37939,37943,37953,37963,37971],{"__ignoreMap":14},[6995,37940,37941],{"class":244,"line":6997},[6995,37942,7001],{"class":7000},[6995,37944,37945,37947,37949,37951],{"class":244,"line":15},[6995,37946,7007],{"class":7006},[6995,37948,5102],{"class":7000},[6995,37950,7013],{"class":7012},[6995,37952,7016],{"class":7000},[6995,37954,37955,37957,37959,37961],{"class":244,"line":154},[6995,37956,7021],{"class":7006},[6995,37958,7024],{"class":7000},[6995,37960,8439],{"class":7006},[6995,37962,7030],{"class":7000},[6995,37964,37965,37967,37969],{"class":244,"line":7033},[6995,37966,7732],{"class":7006},[6995,37968,7024],{"class":7000},[6995,37970,8505],{"class":7006},[6995,37972,37973],{"class":244,"line":7044},[6995,37974,7047],{"class":7000},[34,37976,20674,37977,20677,37979,20680],{},[611,37978,8689],{},[175,37980,7985],{"href":19812},[41,37982,18314],{"id":18314},[34,37984,20685],{},[34,37986,37987],{},[611,37988,6986],{},[616,37990,37991],{"className":6989,"code":20692,"language":6991,"meta":14,"style":14},[611,37992,37993,37997,38007,38017,38027,38033,38037,38045,38049],{"__ignoreMap":14},[6995,37994,37995],{"class":244,"line":6997},[6995,37996,7001],{"class":7000},[6995,37998,37999,38001,38003,38005],{"class":244,"line":15},[6995,38000,7007],{"class":7006},[6995,38002,5102],{"class":7000},[6995,38004,7013],{"class":7012},[6995,38006,7016],{"class":7000},[6995,38008,38009,38011,38013,38015],{"class":244,"line":154},[6995,38010,7021],{"class":7006},[6995,38012,7024],{"class":7000},[6995,38014,8439],{"class":7006},[6995,38016,7030],{"class":7000},[6995,38018,38019,38021,38023,38025],{"class":244,"line":7033},[6995,38020,7036],{"class":7006},[6995,38022,5102],{"class":7000},[6995,38024,20727],{"class":7012},[6995,38026,7016],{"class":7000},[6995,38028,38029,38031],{"class":244,"line":7044},[6995,38030,7529],{"class":7006},[6995,38032,7532],{"class":7000},[6995,38034,38035],{"class":244,"line":7107},[6995,38036,7537],{"class":7000},[6995,38038,38039,38041,38043],{"class":244,"line":7120},[6995,38040,7743],{"class":7006},[6995,38042,7746],{"class":7000},[6995,38044,20611],{"class":7012},[6995,38046,38047],{"class":244,"line":7133},[6995,38048,7615],{"class":7000},[6995,38050,38051],{"class":244,"line":7146},[6995,38052,7047],{"class":7000},[852,38054,38055],{},[59,38056,38057,20762],{},[611,38058,8158],{},[34,38060,38061],{},[611,38062,7052],{},[616,38064,38065],{"className":6989,"code":20633,"language":6991,"meta":14,"style":14},[611,38066,38067,38071,38081,38091,38099],{"__ignoreMap":14},[6995,38068,38069],{"class":244,"line":6997},[6995,38070,7001],{"class":7000},[6995,38072,38073,38075,38077,38079],{"class":244,"line":15},[6995,38074,7007],{"class":7006},[6995,38076,5102],{"class":7000},[6995,38078,7013],{"class":7012},[6995,38080,7016],{"class":7000},[6995,38082,38083,38085,38087,38089],{"class":244,"line":154},[6995,38084,7021],{"class":7006},[6995,38086,7024],{"class":7000},[6995,38088,8439],{"class":7006},[6995,38090,7030],{"class":7000},[6995,38092,38093,38095,38097],{"class":244,"line":7033},[6995,38094,7732],{"class":7006},[6995,38096,7024],{"class":7000},[6995,38098,8505],{"class":7006},[6995,38100,38101],{"class":244,"line":7044},[6995,38102,7047],{"class":7000},[34,38104,20674,38105,20811,38107,20680],{},[611,38106,8689],{},[175,38108,7985],{"href":19812},[41,38110,18293],{"id":18293},[34,38112,20818,38113,20821],{},[175,38114,18327],{"href":18326},[34,38116,38117],{},[611,38118,6986],{},[616,38120,38122],{"className":6989,"code":38121,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\":\"tx_status\", \n    \"params\":\n    {\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\",\n        \"rates\": false\n    }\n}\n",[611,38123,38124,38128,38138,38148,38158,38164,38168,38178,38187,38191],{"__ignoreMap":14},[6995,38125,38126],{"class":244,"line":6997},[6995,38127,7001],{"class":7000},[6995,38129,38130,38132,38134,38136],{"class":244,"line":15},[6995,38131,7007],{"class":7006},[6995,38133,5102],{"class":7000},[6995,38135,7013],{"class":7012},[6995,38137,7016],{"class":7000},[6995,38139,38140,38142,38144,38146],{"class":244,"line":154},[6995,38141,7021],{"class":7006},[6995,38143,7024],{"class":7000},[6995,38145,8439],{"class":7006},[6995,38147,7030],{"class":7000},[6995,38149,38150,38152,38154,38156],{"class":244,"line":7033},[6995,38151,7036],{"class":7006},[6995,38153,5102],{"class":7000},[6995,38155,20863],{"class":7012},[6995,38157,7016],{"class":7000},[6995,38159,38160,38162],{"class":244,"line":7044},[6995,38161,7529],{"class":7006},[6995,38163,7532],{"class":7000},[6995,38165,38166],{"class":244,"line":7107},[6995,38167,7537],{"class":7000},[6995,38169,38170,38172,38174,38176],{"class":244,"line":7120},[6995,38171,7743],{"class":7006},[6995,38173,7746],{"class":7000},[6995,38175,20884],{"class":7012},[6995,38177,7030],{"class":7000},[6995,38179,38180,38183,38185],{"class":244,"line":7133},[6995,38181,38182],{"class":7006},"        \"rates\"",[6995,38184,7024],{"class":7000},[6995,38186,19668],{"class":7006},[6995,38188,38189],{"class":244,"line":7146},[6995,38190,7615],{"class":7000},[6995,38192,38193],{"class":244,"line":7159},[6995,38194,7047],{"class":7000},[852,38196,38197,38202],{},[59,38198,38199,38201],{},[611,38200,8158],{}," - transaction id to return status for",[59,38203,38204,38206,38207,38209,38210,181],{},[611,38205,35307],{}," - returns currency rates array at the moment of transaction if set to ",[611,38208,8689],{},". By default is ",[611,38211,11094],{},[34,38213,38214],{},[611,38215,7052],{},[616,38217,38218],{"className":6989,"code":20901,"language":6991,"meta":14,"style":14},[611,38219,38220,38224,38234,38244,38250,38254,38264,38274,38284,38294,38304,38314,38324,38334,38344,38354,38364,38374,38384,38394,38404,38414,38424,38432,38436],{"__ignoreMap":14},[6995,38221,38222],{"class":244,"line":6997},[6995,38223,7001],{"class":7000},[6995,38225,38226,38228,38230,38232],{"class":244,"line":15},[6995,38227,7007],{"class":7006},[6995,38229,5102],{"class":7000},[6995,38231,7013],{"class":7012},[6995,38233,7016],{"class":7000},[6995,38235,38236,38238,38240,38242],{"class":244,"line":154},[6995,38237,7021],{"class":7006},[6995,38239,7024],{"class":7000},[6995,38241,8439],{"class":7006},[6995,38243,7030],{"class":7000},[6995,38245,38246,38248],{"class":244,"line":7033},[6995,38247,7732],{"class":7006},[6995,38249,7532],{"class":7000},[6995,38251,38252],{"class":244,"line":7044},[6995,38253,20938],{"class":7000},[6995,38255,38256,38258,38260,38262],{"class":244,"line":7107},[6995,38257,7743],{"class":7006},[6995,38259,7746],{"class":7000},[6995,38261,20884],{"class":7012},[6995,38263,7030],{"class":7000},[6995,38265,38266,38268,38270,38272],{"class":244,"line":7120},[6995,38267,7229],{"class":7006},[6995,38269,7024],{"class":7000},[6995,38271,7180],{"class":7006},[6995,38273,7030],{"class":7000},[6995,38275,38276,38278,38280,38282],{"class":244,"line":7133},[6995,38277,7588],{"class":7006},[6995,38279,7024],{"class":7000},[6995,38281,19080],{"class":7012},[6995,38283,7030],{"class":7000},[6995,38285,38286,38288,38290,38292],{"class":244,"line":7146},[6995,38287,7554],{"class":7006},[6995,38289,7024],{"class":7000},[6995,38291,10984],{"class":7006},[6995,38293,7030],{"class":7000},[6995,38295,38296,38298,38300,38302],{"class":244,"line":7159},[6995,38297,20983],{"class":7006},[6995,38299,7024],{"class":7000},[6995,38301,20988],{"class":7012},[6995,38303,7030],{"class":7000},[6995,38305,38306,38308,38310,38312],{"class":244,"line":7172},[6995,38307,20995],{"class":7006},[6995,38309,7024],{"class":7000},[6995,38311,7570],{"class":7012},[6995,38313,7030],{"class":7000},[6995,38315,38316,38318,38320,38322],{"class":244,"line":7185},[6995,38317,21006],{"class":7006},[6995,38319,7024],{"class":7000},[6995,38321,21011],{"class":7012},[6995,38323,7030],{"class":7000},[6995,38325,38326,38328,38330,38332],{"class":244,"line":7198},[6995,38327,21018],{"class":7006},[6995,38329,7024],{"class":7000},[6995,38331,8439],{"class":7006},[6995,38333,7030],{"class":7000},[6995,38335,38336,38338,38340,38342],{"class":244,"line":7211},[6995,38337,21029],{"class":7006},[6995,38339,7746],{"class":7000},[6995,38341,21034],{"class":7012},[6995,38343,7030],{"class":7000},[6995,38345,38346,38348,38350,38352],{"class":244,"line":7220},[6995,38347,21041],{"class":7006},[6995,38349,7024],{"class":7000},[6995,38351,7180],{"class":7006},[6995,38353,7030],{"class":7000},[6995,38355,38356,38358,38360,38362],{"class":244,"line":7226},[6995,38357,21052],{"class":7006},[6995,38359,7024],{"class":7000},[6995,38361,21057],{"class":7012},[6995,38363,7030],{"class":7000},[6995,38365,38366,38368,38370,38372],{"class":244,"line":7238},[6995,38367,21064],{"class":7006},[6995,38369,7746],{"class":7000},[6995,38371,21069],{"class":7012},[6995,38373,7030],{"class":7000},[6995,38375,38376,38378,38380,38382],{"class":244,"line":7250},[6995,38377,7542],{"class":7006},[6995,38379,7024],{"class":7000},[6995,38381,7547],{"class":7006},[6995,38383,7030],{"class":7000},[6995,38385,38386,38388,38390,38392],{"class":244,"line":7263},[6995,38387,19087],{"class":7006},[6995,38389,7746],{"class":7000},[6995,38391,21090],{"class":7006},[6995,38393,7030],{"class":7000},[6995,38395,38396,38398,38400,38402],{"class":244,"line":7275},[6995,38397,21097],{"class":7006},[6995,38399,7746],{"class":7000},[6995,38401,11094],{"class":7006},[6995,38403,7030],{"class":7000},[6995,38405,38406,38408,38410,38412],{"class":244,"line":7288},[6995,38407,21108],{"class":7006},[6995,38409,7024],{"class":7000},[6995,38411,21113],{"class":7012},[6995,38413,7030],{"class":7000},[6995,38415,38416,38418,38420,38422],{"class":244,"line":7300},[6995,38417,21120],{"class":7006},[6995,38419,7024],{"class":7000},[6995,38421,19171],{"class":7012},[6995,38423,7030],{"class":7000},[6995,38425,38426,38428,38430],{"class":244,"line":7313},[6995,38427,21131],{"class":7006},[6995,38429,7024],{"class":7000},[6995,38431,21136],{"class":7012},[6995,38433,38434],{"class":244,"line":7325},[6995,38435,21141],{"class":7000},[6995,38437,38438],{"class":244,"line":7336},[6995,38439,7047],{"class":7000},[41,38441,18327],{"id":18327},[34,38443,21150],{},[34,38445,38446],{},[611,38447,6986],{},[616,38449,38451],{"className":6989,"code":38450,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"method\":\"tx_list\",\n    \"params\":\n    {\n        \"filter\" : \n        {\n            \"status\":4,\n            \"height\":1055,\n        },\n        \"rates\": true,\n        \"skip\" : 0,\n        \"count\" : 10\n    }\n}\n",[611,38452,38453,38457,38467,38477,38487,38493,38497,38503,38507,38517,38527,38531,38541,38551,38559,38563],{"__ignoreMap":14},[6995,38454,38455],{"class":244,"line":6997},[6995,38456,7001],{"class":7000},[6995,38458,38459,38461,38463,38465],{"class":244,"line":15},[6995,38460,7007],{"class":7006},[6995,38462,5102],{"class":7000},[6995,38464,7013],{"class":7012},[6995,38466,7016],{"class":7000},[6995,38468,38469,38471,38473,38475],{"class":244,"line":154},[6995,38470,7021],{"class":7006},[6995,38472,7024],{"class":7000},[6995,38474,18961],{"class":7006},[6995,38476,7030],{"class":7000},[6995,38478,38479,38481,38483,38485],{"class":244,"line":7033},[6995,38480,7036],{"class":7006},[6995,38482,5102],{"class":7000},[6995,38484,21192],{"class":7012},[6995,38486,7030],{"class":7000},[6995,38488,38489,38491],{"class":244,"line":7044},[6995,38490,7529],{"class":7006},[6995,38492,7532],{"class":7000},[6995,38494,38495],{"class":244,"line":7107},[6995,38496,7537],{"class":7000},[6995,38498,38499,38501],{"class":244,"line":7120},[6995,38500,21209],{"class":7006},[6995,38502,11893],{"class":7000},[6995,38504,38505],{"class":244,"line":7133},[6995,38506,14405],{"class":7000},[6995,38508,38509,38511,38513,38515],{"class":244,"line":7146},[6995,38510,21220],{"class":7006},[6995,38512,5102],{"class":7000},[6995,38514,8439],{"class":7006},[6995,38516,7030],{"class":7000},[6995,38518,38519,38521,38523,38525],{"class":244,"line":7159},[6995,38520,21231],{"class":7006},[6995,38522,5102],{"class":7000},[6995,38524,21236],{"class":7006},[6995,38526,7030],{"class":7000},[6995,38528,38529],{"class":244,"line":7172},[6995,38530,21243],{"class":7000},[6995,38532,38533,38535,38537,38539],{"class":244,"line":7185},[6995,38534,38182],{"class":7006},[6995,38536,7024],{"class":7000},[6995,38538,8689],{"class":7006},[6995,38540,7030],{"class":7000},[6995,38542,38543,38545,38547,38549],{"class":244,"line":7198},[6995,38544,21248],{"class":7006},[6995,38546,7746],{"class":7000},[6995,38548,7180],{"class":7006},[6995,38550,7030],{"class":7000},[6995,38552,38553,38555,38557],{"class":244,"line":7211},[6995,38554,21259],{"class":7006},[6995,38556,7746],{"class":7000},[6995,38558,21264],{"class":7006},[6995,38560,38561],{"class":244,"line":7220},[6995,38562,7615],{"class":7000},[6995,38564,38565],{"class":244,"line":7226},[6995,38566,7047],{"class":7000},[852,38568,38569,38573,38577,38581,38585],{},[59,38570,38571,21280],{},[611,38572,21279],{},[59,38574,38575,21286],{},[611,38576,21285],{},[59,38578,38579,21291],{},[611,38580,12842],{},[59,38582,38583,21297],{},[611,38584,21296],{},[59,38586,38587,38589,38590,38209,38592,181],{},[611,38588,35307],{}," return currency rates at the moment of transaction if ",[611,38591,8689],{},[611,38593,11094],{},[34,38595,21300,38596,2344],{},[611,38597,4979],{},[852,38599,38600],{},[59,38601,38602,21310,38604,21313],{},[611,38603,21309],{},[611,38605,21309],{},[34,38607,38608],{},[611,38609,7052],{},[616,38611,38613],{"className":6989,"code":38612,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"result\":\n    [{ \n        \"asset_id\": 0,\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\",\n        \"comment\": \"\",\n        \"fee\": 0,\n        \"kernel\": \"0000000000000000000000000000000000000000000000000000000000000000\",\n        \"receiver\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"sender\": \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n        \"status\": 4,\n        \"status_string\" : \"Failed\",\n        \"failure_reason\" : \"No inputs\",\n        \"value\": 12342342,\n        \"create_time\" : 1551100217,\n        \"income\" : false,\n        \"token\": \"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\",\n        \"rates\": [\n            {\n                \"from\": 3,\n                \"rate\": 200000000,\n                \"rate_str\": \"200000000\",\n                \"to\": \"btc\"\n            },\n            {\n                \"from\": 0,\n                \"rate\": 50000000,\n                \"rate_str\": \"50000000\",\n                \"to\": \"usd\"\n            }\n        ]\n    },\n    {\n      \"asset_id\": 1,\n      \"asset_meta\": \"STD:N=Coin;SN=CN;UN=Cgro;NTHUN=Cgroth\",\n      \"comment\": \"\",\n      \"confirmations\": 102,\n      \"create_time\": 1586995332,\n      \"fee\": 0,\n      \"height\": 1908,\n      \"income\": false,\n      \"receiver\": \"0\",\n      \"sender\": \"0\",\n      \"status\": 3,\n      \"status_string\": \"asset confirmed\",\n      \"txId\": \"d9f94306127a4ef894733f984b5512cf\",\n      \"tx_type\": 6,\n      \"tx_type_string\": \"asset info\",\n      \"value\": 0,\n      \"rates\": []\n    },\n    {\n        \"asset_id\": 1,\n        \"asset_meta\": \"STD:N=Coin;SN=CN;UN=Cgro;NTHUN=Cgroth\",\n        \"comment\": \"\",\n        \"confirmations\": 1985,\n        \"height\": 25,\n        \"create_time\": 1586966478,\n        \"fee\": 100,\n        \"income\": false,\n        \"kernel\": \"1c9e4a9a61df1dda00db10ab4477f88355e13d4ed06c0db36c39b22a2a66f642\",\n        \"receiver\": \"0\",\n        \"sender\": \"0\",\n        \"status\": 3,\n        \"status_string\": \"asset issued\",\n        \"txId\": \"77008a76aa4b4da697587040b2d21f1e\",\n        \"tx_type\": 2,\n        \"tx_type_string\": \"asset issue\",\n        \"value\": 500000000,\n        \"rates\": []\n    }]\n}\n",[611,38614,38615,38619,38629,38639,38645,38649,38659,38669,38679,38689,38699,38709,38719,38729,38739,38749,38759,38769,38779,38790,38796,38800,38811,38823,38835,38845,38850,38854,38864,38874,38885,38894,38898,38902,38906,38910,38920,38930,38940,38950,38960,38970,38980,38990,39000,39010,39020,39030,39040,39050,39060,39070,39078,39082,39086,39096,39106,39116,39126,39136,39146,39156,39166,39176,39186,39196,39206,39216,39226,39236,39246,39256,39262,39266],{"__ignoreMap":14},[6995,38616,38617],{"class":244,"line":6997},[6995,38618,7001],{"class":7000},[6995,38620,38621,38623,38625,38627],{"class":244,"line":15},[6995,38622,7007],{"class":7006},[6995,38624,5102],{"class":7000},[6995,38626,7013],{"class":7012},[6995,38628,7016],{"class":7000},[6995,38630,38631,38633,38635,38637],{"class":244,"line":154},[6995,38632,7021],{"class":7006},[6995,38634,7024],{"class":7000},[6995,38636,18961],{"class":7006},[6995,38638,7030],{"class":7000},[6995,38640,38641,38643],{"class":244,"line":7033},[6995,38642,7732],{"class":7006},[6995,38644,7532],{"class":7000},[6995,38646,38647],{"class":244,"line":7044},[6995,38648,21357],{"class":7000},[6995,38650,38651,38653,38655,38657],{"class":244,"line":7107},[6995,38652,7229],{"class":7006},[6995,38654,7024],{"class":7000},[6995,38656,7180],{"class":7006},[6995,38658,7030],{"class":7000},[6995,38660,38661,38663,38665,38667],{"class":244,"line":7120},[6995,38662,7743],{"class":7006},[6995,38664,7746],{"class":7000},[6995,38666,20884],{"class":7012},[6995,38668,7030],{"class":7000},[6995,38670,38671,38673,38675,38677],{"class":244,"line":7133},[6995,38672,7588],{"class":7006},[6995,38674,7024],{"class":7000},[6995,38676,19080],{"class":7012},[6995,38678,7030],{"class":7000},[6995,38680,38681,38683,38685,38687],{"class":244,"line":7146},[6995,38682,7554],{"class":7006},[6995,38684,7024],{"class":7000},[6995,38686,7180],{"class":7006},[6995,38688,7030],{"class":7000},[6995,38690,38691,38693,38695,38697],{"class":244,"line":7159},[6995,38692,20983],{"class":7006},[6995,38694,7024],{"class":7000},[6995,38696,20988],{"class":7012},[6995,38698,7030],{"class":7000},[6995,38700,38701,38703,38705,38707],{"class":244,"line":7172},[6995,38702,20995],{"class":7006},[6995,38704,7024],{"class":7000},[6995,38706,7570],{"class":7012},[6995,38708,7030],{"class":7000},[6995,38710,38711,38713,38715,38717],{"class":244,"line":7185},[6995,38712,21006],{"class":7006},[6995,38714,7024],{"class":7000},[6995,38716,21011],{"class":7012},[6995,38718,7030],{"class":7000},[6995,38720,38721,38723,38725,38727],{"class":244,"line":7198},[6995,38722,21018],{"class":7006},[6995,38724,7024],{"class":7000},[6995,38726,8439],{"class":7006},[6995,38728,7030],{"class":7000},[6995,38730,38731,38733,38735,38737],{"class":244,"line":7211},[6995,38732,21029],{"class":7006},[6995,38734,7746],{"class":7000},[6995,38736,21034],{"class":7012},[6995,38738,7030],{"class":7000},[6995,38740,38741,38743,38745,38747],{"class":244,"line":7220},[6995,38742,21064],{"class":7006},[6995,38744,7746],{"class":7000},[6995,38746,21069],{"class":7012},[6995,38748,7030],{"class":7000},[6995,38750,38751,38753,38755,38757],{"class":244,"line":7226},[6995,38752,7542],{"class":7006},[6995,38754,7024],{"class":7000},[6995,38756,7547],{"class":7006},[6995,38758,7030],{"class":7000},[6995,38760,38761,38763,38765,38767],{"class":244,"line":7238},[6995,38762,19087],{"class":7006},[6995,38764,7746],{"class":7000},[6995,38766,21090],{"class":7006},[6995,38768,7030],{"class":7000},[6995,38770,38771,38773,38775,38777],{"class":244,"line":7250},[6995,38772,21097],{"class":7006},[6995,38774,7746],{"class":7000},[6995,38776,11094],{"class":7006},[6995,38778,7030],{"class":7000},[6995,38780,38781,38783,38785,38788],{"class":244,"line":7263},[6995,38782,21131],{"class":7006},[6995,38784,7024],{"class":7000},[6995,38786,38787],{"class":7012},"\"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\"",[6995,38789,7030],{"class":7000},[6995,38791,38792,38794],{"class":244,"line":7275},[6995,38793,38182],{"class":7006},[6995,38795,7217],{"class":7000},[6995,38797,38798],{"class":244,"line":7288},[6995,38799,15683],{"class":7000},[6995,38801,38802,38805,38807,38809],{"class":244,"line":7300},[6995,38803,38804],{"class":7006},"                \"from\"",[6995,38806,7024],{"class":7000},[6995,38808,11136],{"class":7006},[6995,38810,7030],{"class":7000},[6995,38812,38813,38816,38818,38821],{"class":244,"line":7313},[6995,38814,38815],{"class":7006},"                \"rate\"",[6995,38817,7024],{"class":7000},[6995,38819,38820],{"class":7006},"200000000",[6995,38822,7030],{"class":7000},[6995,38824,38825,38828,38830,38833],{"class":244,"line":7325},[6995,38826,38827],{"class":7006},"                \"rate_str\"",[6995,38829,7024],{"class":7000},[6995,38831,38832],{"class":7012},"\"200000000\"",[6995,38834,7030],{"class":7000},[6995,38836,38837,38840,38842],{"class":244,"line":7336},[6995,38838,38839],{"class":7006},"                \"to\"",[6995,38841,7024],{"class":7000},[6995,38843,38844],{"class":7012},"\"btc\"\n",[6995,38846,38847],{"class":244,"line":7342},[6995,38848,38849],{"class":7000},"            },\n",[6995,38851,38852],{"class":244,"line":7347},[6995,38853,15683],{"class":7000},[6995,38855,38856,38858,38860,38862],{"class":244,"line":7363},[6995,38857,38804],{"class":7006},[6995,38859,7024],{"class":7000},[6995,38861,7180],{"class":7006},[6995,38863,7030],{"class":7000},[6995,38865,38866,38868,38870,38872],{"class":244,"line":7375},[6995,38867,38815],{"class":7006},[6995,38869,7024],{"class":7000},[6995,38871,19903],{"class":7006},[6995,38873,7030],{"class":7000},[6995,38875,38876,38878,38880,38883],{"class":244,"line":7387},[6995,38877,38827],{"class":7006},[6995,38879,7024],{"class":7000},[6995,38881,38882],{"class":7012},"\"50000000\"",[6995,38884,7030],{"class":7000},[6995,38886,38887,38889,38891],{"class":244,"line":7398},[6995,38888,38839],{"class":7006},[6995,38890,7024],{"class":7000},[6995,38892,38893],{"class":7012},"\"usd\"\n",[6995,38895,38896],{"class":244,"line":7410},[6995,38897,15811],{"class":7000},[6995,38899,38900],{"class":244,"line":7421},[6995,38901,34858],{"class":7000},[6995,38903,38904],{"class":244,"line":7432},[6995,38905,21500],{"class":7000},[6995,38907,38908],{"class":244,"line":7443},[6995,38909,7537],{"class":7000},[6995,38911,38912,38914,38916,38918],{"class":244,"line":7452},[6995,38913,21509],{"class":7006},[6995,38915,7024],{"class":7000},[6995,38917,6679],{"class":7006},[6995,38919,7030],{"class":7000},[6995,38921,38922,38924,38926,38928],{"class":244,"line":7458},[6995,38923,21520],{"class":7006},[6995,38925,7024],{"class":7000},[6995,38927,21525],{"class":7012},[6995,38929,7030],{"class":7000},[6995,38931,38932,38934,38936,38938],{"class":244,"line":7464},[6995,38933,21532],{"class":7006},[6995,38935,7024],{"class":7000},[6995,38937,19080],{"class":7012},[6995,38939,7030],{"class":7000},[6995,38941,38942,38944,38946,38948],{"class":244,"line":7470},[6995,38943,21543],{"class":7006},[6995,38945,7024],{"class":7000},[6995,38947,21548],{"class":7006},[6995,38949,7030],{"class":7000},[6995,38951,38952,38954,38956,38958],{"class":244,"line":13197},[6995,38953,21555],{"class":7006},[6995,38955,7024],{"class":7000},[6995,38957,21560],{"class":7006},[6995,38959,7030],{"class":7000},[6995,38961,38962,38964,38966,38968],{"class":244,"line":13202},[6995,38963,12652],{"class":7006},[6995,38965,7024],{"class":7000},[6995,38967,7180],{"class":7006},[6995,38969,7030],{"class":7000},[6995,38971,38972,38974,38976,38978],{"class":244,"line":13214},[6995,38973,21577],{"class":7006},[6995,38975,7024],{"class":7000},[6995,38977,21582],{"class":7006},[6995,38979,7030],{"class":7000},[6995,38981,38982,38984,38986,38988],{"class":244,"line":13225},[6995,38983,21589],{"class":7006},[6995,38985,7024],{"class":7000},[6995,38987,11094],{"class":7006},[6995,38989,7030],{"class":7000},[6995,38991,38992,38994,38996,38998],{"class":244,"line":13237},[6995,38993,21600],{"class":7006},[6995,38995,7024],{"class":7000},[6995,38997,7405],{"class":7012},[6995,38999,7030],{"class":7000},[6995,39001,39002,39004,39006,39008],{"class":244,"line":13248},[6995,39003,21611],{"class":7006},[6995,39005,7024],{"class":7000},[6995,39007,7405],{"class":7012},[6995,39009,7030],{"class":7000},[6995,39011,39012,39014,39016,39018],{"class":244,"line":13258},[6995,39013,21622],{"class":7006},[6995,39015,7024],{"class":7000},[6995,39017,11136],{"class":7006},[6995,39019,7030],{"class":7000},[6995,39021,39022,39024,39026,39028],{"class":244,"line":13263},[6995,39023,21633],{"class":7006},[6995,39025,7024],{"class":7000},[6995,39027,21638],{"class":7012},[6995,39029,7030],{"class":7000},[6995,39031,39032,39034,39036,39038],{"class":244,"line":13268},[6995,39033,21645],{"class":7006},[6995,39035,7024],{"class":7000},[6995,39037,21650],{"class":7012},[6995,39039,7030],{"class":7000},[6995,39041,39042,39044,39046,39048],{"class":244,"line":13275},[6995,39043,21657],{"class":7006},[6995,39045,7024],{"class":7000},[6995,39047,7027],{"class":7006},[6995,39049,7030],{"class":7000},[6995,39051,39052,39054,39056,39058],{"class":244,"line":13280},[6995,39053,21668],{"class":7006},[6995,39055,7024],{"class":7000},[6995,39057,21673],{"class":7012},[6995,39059,7030],{"class":7000},[6995,39061,39062,39064,39066,39068],{"class":244,"line":13291},[6995,39063,21680],{"class":7006},[6995,39065,7024],{"class":7000},[6995,39067,7180],{"class":7006},[6995,39069,7030],{"class":7000},[6995,39071,39072,39075],{"class":244,"line":13303},[6995,39073,39074],{"class":7006},"      \"rates\"",[6995,39076,39077],{"class":7000},": []\n",[6995,39079,39080],{"class":244,"line":13314},[6995,39081,21500],{"class":7000},[6995,39083,39084],{"class":244,"line":13324},[6995,39085,7537],{"class":7000},[6995,39087,39088,39090,39092,39094],{"class":244,"line":13329},[6995,39089,7229],{"class":7006},[6995,39091,7024],{"class":7000},[6995,39093,6679],{"class":7006},[6995,39095,7030],{"class":7000},[6995,39097,39098,39100,39102,39104],{"class":244,"line":13334},[6995,39099,21708],{"class":7006},[6995,39101,7024],{"class":7000},[6995,39103,21525],{"class":7012},[6995,39105,7030],{"class":7000},[6995,39107,39108,39110,39112,39114],{"class":244,"line":13346},[6995,39109,7588],{"class":7006},[6995,39111,7024],{"class":7000},[6995,39113,19080],{"class":7012},[6995,39115,7030],{"class":7000},[6995,39117,39118,39120,39122,39124],{"class":244,"line":13357},[6995,39119,21729],{"class":7006},[6995,39121,7024],{"class":7000},[6995,39123,21734],{"class":7006},[6995,39125,7030],{"class":7000},[6995,39127,39128,39130,39132,39134],{"class":244,"line":13368},[6995,39129,21741],{"class":7006},[6995,39131,7024],{"class":7000},[6995,39133,21746],{"class":7006},[6995,39135,7030],{"class":7000},[6995,39137,39138,39140,39142,39144],{"class":244,"line":13379},[6995,39139,19087],{"class":7006},[6995,39141,7024],{"class":7000},[6995,39143,21757],{"class":7006},[6995,39145,7030],{"class":7000},[6995,39147,39148,39150,39152,39154],{"class":244,"line":13389},[6995,39149,7554],{"class":7006},[6995,39151,7024],{"class":7000},[6995,39153,10984],{"class":7006},[6995,39155,7030],{"class":7000},[6995,39157,39158,39160,39162,39164],{"class":244,"line":13394},[6995,39159,21097],{"class":7006},[6995,39161,7024],{"class":7000},[6995,39163,11094],{"class":7006},[6995,39165,7030],{"class":7000},[6995,39167,39168,39170,39172,39174],{"class":244,"line":13399},[6995,39169,20983],{"class":7006},[6995,39171,7024],{"class":7000},[6995,39173,21788],{"class":7012},[6995,39175,7030],{"class":7000},[6995,39177,39178,39180,39182,39184],{"class":244,"line":13411},[6995,39179,20995],{"class":7006},[6995,39181,7024],{"class":7000},[6995,39183,7405],{"class":7012},[6995,39185,7030],{"class":7000},[6995,39187,39188,39190,39192,39194],{"class":244,"line":13423},[6995,39189,21006],{"class":7006},[6995,39191,7024],{"class":7000},[6995,39193,7405],{"class":7012},[6995,39195,7030],{"class":7000},[6995,39197,39198,39200,39202,39204],{"class":244,"line":13434},[6995,39199,21018],{"class":7006},[6995,39201,7024],{"class":7000},[6995,39203,11136],{"class":7006},[6995,39205,7030],{"class":7000},[6995,39207,39208,39210,39212,39214],{"class":244,"line":13445},[6995,39209,21029],{"class":7006},[6995,39211,7024],{"class":7000},[6995,39213,21829],{"class":7012},[6995,39215,7030],{"class":7000},[6995,39217,39218,39220,39222,39224],{"class":244,"line":13457},[6995,39219,7743],{"class":7006},[6995,39221,7024],{"class":7000},[6995,39223,21840],{"class":7012},[6995,39225,7030],{"class":7000},[6995,39227,39228,39230,39232,39234],{"class":244,"line":13464},[6995,39229,21041],{"class":7006},[6995,39231,7024],{"class":7000},[6995,39233,7511],{"class":7006},[6995,39235,7030],{"class":7000},[6995,39237,39238,39240,39242,39244],{"class":244,"line":13471},[6995,39239,21052],{"class":7006},[6995,39241,7024],{"class":7000},[6995,39243,21861],{"class":7012},[6995,39245,7030],{"class":7000},[6995,39247,39248,39250,39252,39254],{"class":244,"line":13476},[6995,39249,7542],{"class":7006},[6995,39251,7024],{"class":7000},[6995,39253,23178],{"class":7006},[6995,39255,7030],{"class":7000},[6995,39257,39258,39260],{"class":244,"line":13488},[6995,39259,38182],{"class":7006},[6995,39261,39077],{"class":7000},[6995,39263,39264],{"class":244,"line":13499},[6995,39265,21877],{"class":7000},[6995,39267,39268],{"class":244,"line":13511},[6995,39269,7047],{"class":7000},[852,39271,39272,39276,39282,39286,39292,39298,39302,39306,39310,39314,39318,39322,39327,39332,39337,39361,39370],{},[59,39273,39274,21889],{},[611,39275,21888],{},[59,39277,39278,1475,39280,21897],{},[611,39279,12542],{},[611,39281,21896],{},[59,39283,39284,21902],{},[611,39285,21896],{},[59,39287,39288,1475,39290,29024],{},[611,39289,21907],{},[611,39291,21910],{},[59,39293,39294,21917,39296,21920],{},[611,39295,21916],{},[611,39297,12388],{},[59,39299,39300,21925],{},[611,39301,20130],{},[59,39303,39304,21931],{},[611,39305,21930],{},[59,39307,39308,21937],{},[611,39309,21936],{},[59,39311,39312,21942],{},[611,39313,6869],{},[59,39315,39316,21947],{},[611,39317,20130],{},[59,39319,39320,21952],{},[611,39321,12547],{},[59,39323,39324,39326],{},[611,39325,35296],{}," returned for transactions initiated by DApps. DApp Name",[59,39328,39329,39331],{},[611,39330,35293],{}," returned for transactions initiated by DApps. DApp ID (apppid)",[59,39333,39334,39336],{},[611,39335,35307],{}," currency rates at the moment of transaction. Empty array if rates were not available at the moment of transaction or transaction does not store rates (asset issue\u002Fconsume for example).",[59,39338,39339,1475,39342,39345,39346,39349,39350,39353,39354,2231,39357,39360],{},[611,39340,39341],{},"rates.from",[611,39343,39344],{},"rates.to"," from and to currencies. ",[611,39347,39348],{},"Number"," denotes asset id (0 for BEAM), ",[611,39351,39352],{},"string"," - third-party currencies such as ",[611,39355,39356],{},"eth",[611,39358,39359],{},"btc"," &c.",[59,39362,39363,1475,39366,39369],{},[611,39364,39365],{},"rates.rate",[611,39367,39368],{},"rates.rate_str"," is a conversion rate.",[59,39371,39372,39374,39375,1475,39377,39380,39381],{},[611,39373,35389],{}," type off address used for pust transaction (7), see ",[175,39376,12194],{"href":18230},[175,39378,22040],{"href":39379},"#tx-types",". Possible values are\n",[852,39382,39383,39387,39391],{},[59,39384,39385],{},[611,39386,11810],{},[59,39388,39389],{},[611,39390,12000],{},[59,39392,39393],{},[611,39394,11989],{},[48,39396,21956],{"id":21955},[48,39398,21960],{"id":21959},[852,39400,39401,39405,39415,39419,39433,39439],{},[59,39402,21965,39403,21969],{},[611,39404,21968],{},[59,39406,21972,39407,10670,39409,10670,39411,10670,39413,21985],{},[611,39408,21975],{},[611,39410,21978],{},[611,39412,21981],{},[611,39414,21984],{},[59,39416,21988,39417,21992],{},[611,39418,21991],{},[59,39420,21995,39421,10670,39423,10670,39425,10670,39427,10670,39429,10670,39431],{},[611,39422,21998],{},[611,39424,6768],{},[611,39426,22003],{},[611,39428,22006],{},[611,39430,22009],{},[611,39432,22012],{},[59,39434,22015,39435,22019,39437],{},[611,39436,22018],{},[611,39438,22022],{},[59,39440,22025,39441,10670,39443,10670,39445,10670,39447,22036],{},[611,39442,21975],{},[611,39444,22030],{},[611,39446,22033],{},[611,39448,21984],{},[48,39450,22040],{"id":22039},[852,39452,39453,39455,39457,39459,39461,39463,39465,39467,39469],{},[59,39454,22045],{},[59,39456,22048],{},[59,39458,22051],{},[59,39460,22054],{},[59,39462,22057],{},[59,39464,22060],{},[59,39466,22063],{},[59,39468,22066],{},[59,39470,22069],{},[34,39472,39473,22075],{},[37,39474,22074],{},[41,39476,6900],{"id":6900},[34,39478,22080],{},[34,39480,39481],{},[611,39482,6986],{},[616,39484,39485],{"className":6989,"code":6990,"language":6991,"meta":14,"style":14},[611,39486,39487,39491,39501,39511,39519],{"__ignoreMap":14},[6995,39488,39489],{"class":244,"line":6997},[6995,39490,7001],{"class":7000},[6995,39492,39493,39495,39497,39499],{"class":244,"line":15},[6995,39494,7007],{"class":7006},[6995,39496,5102],{"class":7000},[6995,39498,7013],{"class":7012},[6995,39500,7016],{"class":7000},[6995,39502,39503,39505,39507,39509],{"class":244,"line":154},[6995,39504,7021],{"class":7006},[6995,39506,7024],{"class":7000},[6995,39508,7027],{"class":7006},[6995,39510,7030],{"class":7000},[6995,39512,39513,39515,39517],{"class":244,"line":7033},[6995,39514,7036],{"class":7006},[6995,39516,5102],{"class":7000},[6995,39518,7041],{"class":7012},[6995,39520,39521],{"class":244,"line":7044},[6995,39522,7047],{"class":7000},[34,39524,39525],{},[611,39526,7052],{},[616,39528,39530],{"className":6989,"code":39529,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"result\":\n    {\n        \"current_height\" : 1055,\n        \"current_state_hash\" : \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n            \"current_state_timestamp\": 1625060769,\n        \"prev_state_hash\" : \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\",\n            \"is_in_sync\": true,\n        \"available\": 100500,\n        \"receiving\": 123,\n        \"sending\": 0,\n        \"maturing\": 50,\n        \"difficulty\": 2.93914,\n    }\n}\n",[611,39531,39532,39536,39546,39556,39562,39566,39576,39586,39596,39606,39616,39626,39636,39646,39656,39666,39670],{"__ignoreMap":14},[6995,39533,39534],{"class":244,"line":6997},[6995,39535,7001],{"class":7000},[6995,39537,39538,39540,39542,39544],{"class":244,"line":15},[6995,39539,7007],{"class":7006},[6995,39541,5102],{"class":7000},[6995,39543,7013],{"class":7012},[6995,39545,7016],{"class":7000},[6995,39547,39548,39550,39552,39554],{"class":244,"line":154},[6995,39549,7021],{"class":7006},[6995,39551,7024],{"class":7000},[6995,39553,7027],{"class":7006},[6995,39555,7030],{"class":7000},[6995,39557,39558,39560],{"class":244,"line":7033},[6995,39559,7732],{"class":7006},[6995,39561,7532],{"class":7000},[6995,39563,39564],{"class":244,"line":7044},[6995,39565,7537],{"class":7000},[6995,39567,39568,39570,39572,39574],{"class":244,"line":7107},[6995,39569,22172],{"class":7006},[6995,39571,7746],{"class":7000},[6995,39573,21236],{"class":7006},[6995,39575,7030],{"class":7000},[6995,39577,39578,39580,39582,39584],{"class":244,"line":7120},[6995,39579,22183],{"class":7006},[6995,39581,7746],{"class":7000},[6995,39583,21011],{"class":7012},[6995,39585,7030],{"class":7000},[6995,39587,39588,39590,39592,39594],{"class":244,"line":7133},[6995,39589,29250],{"class":7006},[6995,39591,7024],{"class":7000},[6995,39593,29255],{"class":7006},[6995,39595,7030],{"class":7000},[6995,39597,39598,39600,39602,39604],{"class":244,"line":7146},[6995,39599,22194],{"class":7006},[6995,39601,7746],{"class":7000},[6995,39603,22199],{"class":7012},[6995,39605,7030],{"class":7000},[6995,39607,39608,39610,39612,39614],{"class":244,"line":7159},[6995,39609,29272],{"class":7006},[6995,39611,7024],{"class":7000},[6995,39613,8689],{"class":7006},[6995,39615,7030],{"class":7000},[6995,39617,39618,39620,39622,39624],{"class":244,"line":7172},[6995,39619,7241],{"class":7006},[6995,39621,7024],{"class":7000},[6995,39623,22210],{"class":7006},[6995,39625,7030],{"class":7000},[6995,39627,39628,39630,39632,39634],{"class":244,"line":7185},[6995,39629,7291],{"class":7006},[6995,39631,7024],{"class":7000},[6995,39633,7167],{"class":7006},[6995,39635,7030],{"class":7000},[6995,39637,39638,39640,39642,39644],{"class":244,"line":7198},[6995,39639,7316],{"class":7006},[6995,39641,7024],{"class":7000},[6995,39643,7180],{"class":7006},[6995,39645,7030],{"class":7000},[6995,39647,39648,39650,39652,39654],{"class":244,"line":7211},[6995,39649,7266],{"class":7006},[6995,39651,7024],{"class":7000},[6995,39653,22241],{"class":7006},[6995,39655,7030],{"class":7000},[6995,39657,39658,39660,39662,39664],{"class":244,"line":7220},[6995,39659,22259],{"class":7006},[6995,39661,7024],{"class":7000},[6995,39663,22264],{"class":7006},[6995,39665,7030],{"class":7000},[6995,39667,39668],{"class":244,"line":7226},[6995,39669,7615],{"class":7000},[6995,39671,39672],{"class":244,"line":7238},[6995,39673,7047],{"class":7000},[852,39675,39676,39680,39684,39688,39692,39696,39700],{},[59,39677,39678,22281],{},[611,39679,18147],{},[59,39681,39682,22287],{},[611,39683,22286],{},[59,39685,39686,22292],{},[611,39687,18150],{},[59,39689,39690,22298],{},[611,39691,22297],{},[59,39693,39694,22303],{},[611,39695,16328],{},[59,39697,39698,29373],{},[611,39699,25502],{},[59,39701,39702,29378],{},[611,39703,25499],{},[34,39705,29381,39706,2344],{},[611,39707,4979],{},[34,39709,39710],{},[611,39711,6986],{},[616,39713,39714],{"className":6989,"code":29390,"language":6991,"meta":14,"style":14},[611,39715,39716,39720,39730,39740,39750,39756,39764,39768],{"__ignoreMap":14},[6995,39717,39718],{"class":244,"line":6997},[6995,39719,7001],{"class":7000},[6995,39721,39722,39724,39726,39728],{"class":244,"line":15},[6995,39723,7007],{"class":7006},[6995,39725,5102],{"class":7000},[6995,39727,7013],{"class":7012},[6995,39729,7016],{"class":7000},[6995,39731,39732,39734,39736,39738],{"class":244,"line":154},[6995,39733,7021],{"class":7006},[6995,39735,7024],{"class":7000},[6995,39737,7027],{"class":7006},[6995,39739,7030],{"class":7000},[6995,39741,39742,39744,39746,39748],{"class":244,"line":7033},[6995,39743,7036],{"class":7006},[6995,39745,5102],{"class":7000},[6995,39747,17939],{"class":7012},[6995,39749,7030],{"class":7000},[6995,39751,39752,39754],{"class":244,"line":7044},[6995,39753,29431],{"class":7006},[6995,39755,7092],{"class":7000},[6995,39757,39758,39760,39762],{"class":244,"line":7107},[6995,39759,29438],{"class":7006},[6995,39761,7024],{"class":7000},[6995,39763,19668],{"class":7006},[6995,39765,39766],{"class":244,"line":7120},[6995,39767,15327],{"class":7000},[6995,39769,39770],{"class":244,"line":7133},[6995,39771,7047],{"class":7000},[852,39773,39774],{},[59,39775,39776,29457],{},[611,39777,18137],{},[34,39779,39780],{},[611,39781,7052],{},[616,39783,39785],{"className":6989,"code":39784,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\" : 1055,\n    \"current_state_hash\" : \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n    \"current_state_timestamp\": 1625060769,\n    \"prev_state_hash\" : \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\",\n    \"is_in_sync\": true,\n    \"available\": 100500,\n    \"receiving\": 123,\n    \"sending\": 0,\n    \"maturing\": 50,\n    \"difficulty\": 2.93914,\n    \"totals\": [\n      {\n        \"asset_id\": 0,\n        \"available\": 117065840575291,\n        \"available_mp\": 0,\n        \"available_mp_str\": \"0\",\n        \"available_regular\": 117065840575291,\n        \"available_regular_str\": \"117065840575291\",\n        \"available_str\": \"117065840575291\",\n        \"change\": 0,\n        \"change_str\": \"0\",\n        \"locked\": 183629687500000,\n        \"locked_str\": \"183629687500000\",\n        \"maturing\": 183629687500000,\n        \"maturing_mp\": 0,\n        \"maturing_mp_str\": \"0\",\n        \"maturing_regular\": 183629687500000,\n        \"maturing_regular_str\": \"183629687500000\",\n        \"maturing_str\": \"183629687500000\",\n        \"receiving\": 0,\n        \"receiving_mp\": 0,\n        \"receiving_mp_str\": \"0\",\n        \"receiving_regular\": 0,\n        \"receiving_regular_str\": \"0\",\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_mp\": 0,\n        \"sending_mp_str\": \"0\",\n        \"sending_regular\": 0,\n        \"sending_regular_str\": \"0\",\n        \"sending_str\": \"0\"\n      },\n      {\n        \"asset_id\": 3,\n        \"available\": 4262500000,\n        \"available_mp\": 0,\n        \"available_mp_str\": \"0\",\n        \"available_regular\": 4262500000,\n        \"available_regular_str\": \"4262500000\",\n        \"available_str\": \"4262500000\",\n        \"change\": 0,\n        \"change_str\": \"0\",\n        \"locked\": 0,\n        \"locked_str\": \"0\",\n        \"maturing\": 0,\n        \"maturing_mp\": 0,\n        \"maturing_mp_str\": \"0\",\n        \"maturing_regular\": 0,\n        \"maturing_regular_str\": \"0\",\n        \"maturing_str\": \"0\",\n        \"receiving\": 0,\n        \"receiving_mp\": 0,\n        \"receiving_mp_str\": \"0\",\n        \"receiving_regular\": 0,\n        \"receiving_regular_str\": \"0\",\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_mp\": 0,\n        \"sending_mp_str\": \"0\",\n        \"sending_regular\": 0,\n        \"sending_regular_str\": \"0\",\n        \"sending_str\": \"0\"\n      }\n    ]\n  }\n}\n",[611,39786,39787,39791,39801,39811,39817,39827,39837,39847,39857,39867,39877,39887,39897,39907,39917,39923,39927,39937,39948,39959,39970,39981,39993,40003,40013,40023,40034,40046,40056,40067,40078,40089,40100,40110,40120,40131,40142,40153,40164,40174,40184,40195,40206,40217,40228,40236,40240,40244,40254,40265,40275,40285,40295,40306,40316,40326,40336,40346,40356,40366,40376,40386,40396,40406,40416,40426,40436,40446,40456,40466,40476,40486,40496,40506,40516,40526,40534,40538,40542,40546],{"__ignoreMap":14},[6995,39788,39789],{"class":244,"line":6997},[6995,39790,7001],{"class":7000},[6995,39792,39793,39795,39797,39799],{"class":244,"line":15},[6995,39794,7066],{"class":7006},[6995,39796,7024],{"class":7000},[6995,39798,7071],{"class":7006},[6995,39800,7030],{"class":7000},[6995,39802,39803,39805,39807,39809],{"class":244,"line":154},[6995,39804,7078],{"class":7006},[6995,39806,7024],{"class":7000},[6995,39808,7013],{"class":7012},[6995,39810,7030],{"class":7000},[6995,39812,39813,39815],{"class":244,"line":7033},[6995,39814,7089],{"class":7006},[6995,39816,7092],{"class":7000},[6995,39818,39819,39821,39823,39825],{"class":244,"line":7044},[6995,39820,7097],{"class":7006},[6995,39822,7746],{"class":7000},[6995,39824,21236],{"class":7006},[6995,39826,7030],{"class":7000},[6995,39828,39829,39831,39833,39835],{"class":244,"line":7107},[6995,39830,7110],{"class":7006},[6995,39832,7746],{"class":7000},[6995,39834,21011],{"class":7012},[6995,39836,7030],{"class":7000},[6995,39838,39839,39841,39843,39845],{"class":244,"line":7120},[6995,39840,29521],{"class":7006},[6995,39842,7024],{"class":7000},[6995,39844,29255],{"class":7006},[6995,39846,7030],{"class":7000},[6995,39848,39849,39851,39853,39855],{"class":244,"line":7133},[6995,39850,7136],{"class":7006},[6995,39852,7746],{"class":7000},[6995,39854,22199],{"class":7012},[6995,39856,7030],{"class":7000},[6995,39858,39859,39861,39863,39865],{"class":244,"line":7146},[6995,39860,29542],{"class":7006},[6995,39862,7024],{"class":7000},[6995,39864,8689],{"class":7006},[6995,39866,7030],{"class":7000},[6995,39868,39869,39871,39873,39875],{"class":244,"line":7159},[6995,39870,7149],{"class":7006},[6995,39872,7024],{"class":7000},[6995,39874,22210],{"class":7006},[6995,39876,7030],{"class":7000},[6995,39878,39879,39881,39883,39885],{"class":244,"line":7172},[6995,39880,7162],{"class":7006},[6995,39882,7024],{"class":7000},[6995,39884,7167],{"class":7006},[6995,39886,7030],{"class":7000},[6995,39888,39889,39891,39893,39895],{"class":244,"line":7185},[6995,39890,7175],{"class":7006},[6995,39892,7024],{"class":7000},[6995,39894,7180],{"class":7006},[6995,39896,7030],{"class":7000},[6995,39898,39899,39901,39903,39905],{"class":244,"line":7198},[6995,39900,7188],{"class":7006},[6995,39902,7024],{"class":7000},[6995,39904,22241],{"class":7006},[6995,39906,7030],{"class":7000},[6995,39908,39909,39911,39913,39915],{"class":244,"line":7211},[6995,39910,7123],{"class":7006},[6995,39912,7024],{"class":7000},[6995,39914,22264],{"class":7006},[6995,39916,7030],{"class":7000},[6995,39918,39919,39921],{"class":244,"line":7220},[6995,39920,7214],{"class":7006},[6995,39922,7217],{"class":7000},[6995,39924,39925],{"class":244,"line":7226},[6995,39926,7223],{"class":7000},[6995,39928,39929,39931,39933,39935],{"class":244,"line":7238},[6995,39930,7229],{"class":7006},[6995,39932,7024],{"class":7000},[6995,39934,7180],{"class":7006},[6995,39936,7030],{"class":7000},[6995,39938,39939,39941,39943,39946],{"class":244,"line":7250},[6995,39940,7241],{"class":7006},[6995,39942,7024],{"class":7000},[6995,39944,39945],{"class":7006},"117065840575291",[6995,39947,7030],{"class":7000},[6995,39949,39950,39953,39955,39957],{"class":244,"line":7263},[6995,39951,39952],{"class":7006},"        \"available_mp\"",[6995,39954,7024],{"class":7000},[6995,39956,7180],{"class":7006},[6995,39958,7030],{"class":7000},[6995,39960,39961,39964,39966,39968],{"class":244,"line":7275},[6995,39962,39963],{"class":7006},"        \"available_mp_str\"",[6995,39965,7024],{"class":7000},[6995,39967,7405],{"class":7012},[6995,39969,7030],{"class":7000},[6995,39971,39972,39975,39977,39979],{"class":244,"line":7288},[6995,39973,39974],{"class":7006},"        \"available_regular\"",[6995,39976,7024],{"class":7000},[6995,39978,39945],{"class":7006},[6995,39980,7030],{"class":7000},[6995,39982,39983,39986,39988,39991],{"class":244,"line":7300},[6995,39984,39985],{"class":7006},"        \"available_regular_str\"",[6995,39987,7024],{"class":7000},[6995,39989,39990],{"class":7012},"\"117065840575291\"",[6995,39992,7030],{"class":7000},[6995,39994,39995,39997,39999,40001],{"class":244,"line":7313},[6995,39996,7253],{"class":7006},[6995,39998,7024],{"class":7000},[6995,40000,39990],{"class":7012},[6995,40002,7030],{"class":7000},[6995,40004,40005,40007,40009,40011],{"class":244,"line":7325},[6995,40006,8585],{"class":7006},[6995,40008,7024],{"class":7000},[6995,40010,7180],{"class":7006},[6995,40012,7030],{"class":7000},[6995,40014,40015,40017,40019,40021],{"class":244,"line":7336},[6995,40016,8596],{"class":7006},[6995,40018,7024],{"class":7000},[6995,40020,7405],{"class":7012},[6995,40022,7030],{"class":7000},[6995,40024,40025,40027,40029,40032],{"class":244,"line":7342},[6995,40026,22248],{"class":7006},[6995,40028,7024],{"class":7000},[6995,40030,40031],{"class":7006},"183629687500000",[6995,40033,7030],{"class":7000},[6995,40035,40036,40039,40041,40044],{"class":244,"line":7347},[6995,40037,40038],{"class":7006},"        \"locked_str\"",[6995,40040,7024],{"class":7000},[6995,40042,40043],{"class":7012},"\"183629687500000\"",[6995,40045,7030],{"class":7000},[6995,40047,40048,40050,40052,40054],{"class":244,"line":7363},[6995,40049,7266],{"class":7006},[6995,40051,7024],{"class":7000},[6995,40053,40031],{"class":7006},[6995,40055,7030],{"class":7000},[6995,40057,40058,40061,40063,40065],{"class":244,"line":7375},[6995,40059,40060],{"class":7006},"        \"maturing_mp\"",[6995,40062,7024],{"class":7000},[6995,40064,7180],{"class":7006},[6995,40066,7030],{"class":7000},[6995,40068,40069,40072,40074,40076],{"class":244,"line":7387},[6995,40070,40071],{"class":7006},"        \"maturing_mp_str\"",[6995,40073,7024],{"class":7000},[6995,40075,7405],{"class":7012},[6995,40077,7030],{"class":7000},[6995,40079,40080,40083,40085,40087],{"class":244,"line":7398},[6995,40081,40082],{"class":7006},"        \"maturing_regular\"",[6995,40084,7024],{"class":7000},[6995,40086,40031],{"class":7006},[6995,40088,7030],{"class":7000},[6995,40090,40091,40094,40096,40098],{"class":244,"line":7410},[6995,40092,40093],{"class":7006},"        \"maturing_regular_str\"",[6995,40095,7024],{"class":7000},[6995,40097,40043],{"class":7012},[6995,40099,7030],{"class":7000},[6995,40101,40102,40104,40106,40108],{"class":244,"line":7421},[6995,40103,7278],{"class":7006},[6995,40105,7024],{"class":7000},[6995,40107,40043],{"class":7012},[6995,40109,7030],{"class":7000},[6995,40111,40112,40114,40116,40118],{"class":244,"line":7432},[6995,40113,7291],{"class":7006},[6995,40115,7024],{"class":7000},[6995,40117,7180],{"class":7006},[6995,40119,7030],{"class":7000},[6995,40121,40122,40125,40127,40129],{"class":244,"line":7443},[6995,40123,40124],{"class":7006},"        \"receiving_mp\"",[6995,40126,7024],{"class":7000},[6995,40128,7180],{"class":7006},[6995,40130,7030],{"class":7000},[6995,40132,40133,40136,40138,40140],{"class":244,"line":7452},[6995,40134,40135],{"class":7006},"        \"receiving_mp_str\"",[6995,40137,7024],{"class":7000},[6995,40139,7405],{"class":7012},[6995,40141,7030],{"class":7000},[6995,40143,40144,40147,40149,40151],{"class":244,"line":7458},[6995,40145,40146],{"class":7006},"        \"receiving_regular\"",[6995,40148,7024],{"class":7000},[6995,40150,7180],{"class":7006},[6995,40152,7030],{"class":7000},[6995,40154,40155,40158,40160,40162],{"class":244,"line":7464},[6995,40156,40157],{"class":7006},"        \"receiving_regular_str\"",[6995,40159,7024],{"class":7000},[6995,40161,7405],{"class":7012},[6995,40163,7030],{"class":7000},[6995,40165,40166,40168,40170,40172],{"class":244,"line":7470},[6995,40167,7303],{"class":7006},[6995,40169,7024],{"class":7000},[6995,40171,7405],{"class":7012},[6995,40173,7030],{"class":7000},[6995,40175,40176,40178,40180,40182],{"class":244,"line":13197},[6995,40177,7316],{"class":7006},[6995,40179,7024],{"class":7000},[6995,40181,7180],{"class":7006},[6995,40183,7030],{"class":7000},[6995,40185,40186,40189,40191,40193],{"class":244,"line":13202},[6995,40187,40188],{"class":7006},"        \"sending_mp\"",[6995,40190,7024],{"class":7000},[6995,40192,7180],{"class":7006},[6995,40194,7030],{"class":7000},[6995,40196,40197,40200,40202,40204],{"class":244,"line":13214},[6995,40198,40199],{"class":7006},"        \"sending_mp_str\"",[6995,40201,7024],{"class":7000},[6995,40203,7405],{"class":7012},[6995,40205,7030],{"class":7000},[6995,40207,40208,40211,40213,40215],{"class":244,"line":13225},[6995,40209,40210],{"class":7006},"        \"sending_regular\"",[6995,40212,7024],{"class":7000},[6995,40214,7180],{"class":7006},[6995,40216,7030],{"class":7000},[6995,40218,40219,40222,40224,40226],{"class":244,"line":13237},[6995,40220,40221],{"class":7006},"        \"sending_regular_str\"",[6995,40223,7024],{"class":7000},[6995,40225,7405],{"class":7012},[6995,40227,7030],{"class":7000},[6995,40229,40230,40232,40234],{"class":244,"line":13248},[6995,40231,7328],{"class":7006},[6995,40233,7024],{"class":7000},[6995,40235,7333],{"class":7012},[6995,40237,40238],{"class":244,"line":13258},[6995,40239,7339],{"class":7000},[6995,40241,40242],{"class":244,"line":13263},[6995,40243,7223],{"class":7000},[6995,40245,40246,40248,40250,40252],{"class":244,"line":13268},[6995,40247,7229],{"class":7006},[6995,40249,7024],{"class":7000},[6995,40251,11136],{"class":7006},[6995,40253,7030],{"class":7000},[6995,40255,40256,40258,40260,40263],{"class":244,"line":13275},[6995,40257,7241],{"class":7006},[6995,40259,7024],{"class":7000},[6995,40261,40262],{"class":7006},"4262500000",[6995,40264,7030],{"class":7000},[6995,40266,40267,40269,40271,40273],{"class":244,"line":13280},[6995,40268,39952],{"class":7006},[6995,40270,7024],{"class":7000},[6995,40272,7180],{"class":7006},[6995,40274,7030],{"class":7000},[6995,40276,40277,40279,40281,40283],{"class":244,"line":13291},[6995,40278,39963],{"class":7006},[6995,40280,7024],{"class":7000},[6995,40282,7405],{"class":7012},[6995,40284,7030],{"class":7000},[6995,40286,40287,40289,40291,40293],{"class":244,"line":13303},[6995,40288,39974],{"class":7006},[6995,40290,7024],{"class":7000},[6995,40292,40262],{"class":7006},[6995,40294,7030],{"class":7000},[6995,40296,40297,40299,40301,40304],{"class":244,"line":13314},[6995,40298,39985],{"class":7006},[6995,40300,7024],{"class":7000},[6995,40302,40303],{"class":7012},"\"4262500000\"",[6995,40305,7030],{"class":7000},[6995,40307,40308,40310,40312,40314],{"class":244,"line":13324},[6995,40309,7253],{"class":7006},[6995,40311,7024],{"class":7000},[6995,40313,40303],{"class":7012},[6995,40315,7030],{"class":7000},[6995,40317,40318,40320,40322,40324],{"class":244,"line":13329},[6995,40319,8585],{"class":7006},[6995,40321,7024],{"class":7000},[6995,40323,7180],{"class":7006},[6995,40325,7030],{"class":7000},[6995,40327,40328,40330,40332,40334],{"class":244,"line":13334},[6995,40329,8596],{"class":7006},[6995,40331,7024],{"class":7000},[6995,40333,7405],{"class":7012},[6995,40335,7030],{"class":7000},[6995,40337,40338,40340,40342,40344],{"class":244,"line":13346},[6995,40339,22248],{"class":7006},[6995,40341,7024],{"class":7000},[6995,40343,7180],{"class":7006},[6995,40345,7030],{"class":7000},[6995,40347,40348,40350,40352,40354],{"class":244,"line":13357},[6995,40349,40038],{"class":7006},[6995,40351,7024],{"class":7000},[6995,40353,7405],{"class":7012},[6995,40355,7030],{"class":7000},[6995,40357,40358,40360,40362,40364],{"class":244,"line":13368},[6995,40359,7266],{"class":7006},[6995,40361,7024],{"class":7000},[6995,40363,7180],{"class":7006},[6995,40365,7030],{"class":7000},[6995,40367,40368,40370,40372,40374],{"class":244,"line":13379},[6995,40369,40060],{"class":7006},[6995,40371,7024],{"class":7000},[6995,40373,7180],{"class":7006},[6995,40375,7030],{"class":7000},[6995,40377,40378,40380,40382,40384],{"class":244,"line":13389},[6995,40379,40071],{"class":7006},[6995,40381,7024],{"class":7000},[6995,40383,7405],{"class":7012},[6995,40385,7030],{"class":7000},[6995,40387,40388,40390,40392,40394],{"class":244,"line":13394},[6995,40389,40082],{"class":7006},[6995,40391,7024],{"class":7000},[6995,40393,7180],{"class":7006},[6995,40395,7030],{"class":7000},[6995,40397,40398,40400,40402,40404],{"class":244,"line":13399},[6995,40399,40093],{"class":7006},[6995,40401,7024],{"class":7000},[6995,40403,7405],{"class":7012},[6995,40405,7030],{"class":7000},[6995,40407,40408,40410,40412,40414],{"class":244,"line":13411},[6995,40409,7278],{"class":7006},[6995,40411,7024],{"class":7000},[6995,40413,7405],{"class":7012},[6995,40415,7030],{"class":7000},[6995,40417,40418,40420,40422,40424],{"class":244,"line":13423},[6995,40419,7291],{"class":7006},[6995,40421,7024],{"class":7000},[6995,40423,7180],{"class":7006},[6995,40425,7030],{"class":7000},[6995,40427,40428,40430,40432,40434],{"class":244,"line":13434},[6995,40429,40124],{"class":7006},[6995,40431,7024],{"class":7000},[6995,40433,7180],{"class":7006},[6995,40435,7030],{"class":7000},[6995,40437,40438,40440,40442,40444],{"class":244,"line":13445},[6995,40439,40135],{"class":7006},[6995,40441,7024],{"class":7000},[6995,40443,7405],{"class":7012},[6995,40445,7030],{"class":7000},[6995,40447,40448,40450,40452,40454],{"class":244,"line":13457},[6995,40449,40146],{"class":7006},[6995,40451,7024],{"class":7000},[6995,40453,7180],{"class":7006},[6995,40455,7030],{"class":7000},[6995,40457,40458,40460,40462,40464],{"class":244,"line":13464},[6995,40459,40157],{"class":7006},[6995,40461,7024],{"class":7000},[6995,40463,7405],{"class":7012},[6995,40465,7030],{"class":7000},[6995,40467,40468,40470,40472,40474],{"class":244,"line":13471},[6995,40469,7303],{"class":7006},[6995,40471,7024],{"class":7000},[6995,40473,7405],{"class":7012},[6995,40475,7030],{"class":7000},[6995,40477,40478,40480,40482,40484],{"class":244,"line":13476},[6995,40479,7316],{"class":7006},[6995,40481,7024],{"class":7000},[6995,40483,7180],{"class":7006},[6995,40485,7030],{"class":7000},[6995,40487,40488,40490,40492,40494],{"class":244,"line":13488},[6995,40489,40188],{"class":7006},[6995,40491,7024],{"class":7000},[6995,40493,7180],{"class":7006},[6995,40495,7030],{"class":7000},[6995,40497,40498,40500,40502,40504],{"class":244,"line":13499},[6995,40499,40199],{"class":7006},[6995,40501,7024],{"class":7000},[6995,40503,7405],{"class":7012},[6995,40505,7030],{"class":7000},[6995,40507,40508,40510,40512,40514],{"class":244,"line":13511},[6995,40509,40210],{"class":7006},[6995,40511,7024],{"class":7000},[6995,40513,7180],{"class":7006},[6995,40515,7030],{"class":7000},[6995,40517,40518,40520,40522,40524],{"class":244,"line":13522},[6995,40519,40221],{"class":7006},[6995,40521,7024],{"class":7000},[6995,40523,7405],{"class":7012},[6995,40525,7030],{"class":7000},[6995,40527,40528,40530,40532],{"class":244,"line":13532},[6995,40529,7328],{"class":7006},[6995,40531,7024],{"class":7000},[6995,40533,7333],{"class":7012},[6995,40535,40536],{"class":244,"line":13537},[6995,40537,7455],{"class":7000},[6995,40539,40540],{"class":244,"line":13542},[6995,40541,7461],{"class":7000},[6995,40543,40544],{"class":244,"line":13549},[6995,40545,7467],{"class":7000},[6995,40547,40548],{"class":244,"line":13554},[6995,40549,7047],{"class":7000},[852,40551,40552,40565,40570,40575,40584,40589,40594,40602,40607,40612,40620,40625,40630,40638,40643],{},[59,40553,40554,40556,40557],{},[611,40555,18109],{}," is an array of totals per asset. Assets that are included in this array by default:",[852,40558,40559,40561,40563],{},[59,40560,18115],{},[59,40562,18118],{},[59,40564,18121],{},[59,40566,40567,40569],{},[611,40568,35322],{}," available regular UTXOs wallet can spend",[59,40571,40572,40574],{},[611,40573,35328],{}," available max privacy (shielded) UTXOs wallet can spend",[59,40576,40577,40579,40580,1475,40582],{},[611,40578,18147],{}," sum of ",[611,40581,35322],{},[611,40583,35328],{},[59,40585,40586,40588],{},[611,40587,35334],{}," regular UTXOs wallet is currently receiving",[59,40590,40591,40593],{},[611,40592,35340],{}," max privacy (shielded) UTXOs wallet is currently receiving",[59,40595,40596,40579,40598,1475,40600],{},[611,40597,22030],{},[611,40599,35334],{},[611,40601,35340],{},[59,40603,40604,40606],{},[611,40605,35346],{}," regular UTXOs wallet is currently sending",[59,40608,40609,40611],{},[611,40610,35352],{}," max privacy (shielded) UTXOs wallet is currently sending",[59,40613,40614,40579,40616,1475,40618],{},[611,40615,22033],{},[611,40617,35346],{},[611,40619,35352],{},[59,40621,40622,40624],{},[611,40623,35358],{}," regular UTXOs currently maturing",[59,40626,40627,40629],{},[611,40628,35364],{}," max privacy (shielded) UTXOs currently maturing",[59,40631,40632,40579,40634,1475,40636],{},[611,40633,18150],{},[611,40635,35358],{},[611,40637,35364],{},[59,40639,40640,40642],{},[611,40641,8665],{}," change that is currently incoming to wallet",[59,40644,40645,40647,40648,2231,40650,1475,40652],{},[611,40646,22297],{}," locked UTXOs, sum of ",[611,40649,35358],{},[611,40651,35364],{},[611,40653,8665],{},[34,40655,18124,40656,18127,40658,18130,40660,18134,40662,18138],{},[611,40657,18109],{},[611,40659,6869],{},[611,40661,18133],{},[611,40663,18137],{},[34,40665,18141,40666,18144,40668,2231,40670,18151,40672,8016,40674,18156,40676,18159,40678,18163],{},[8009,40667,8011],{},[611,40669,18147],{},[611,40671,18150],{},[611,40673,8015],{},[8009,40675,8019],{},[611,40677,8015],{},[611,40679,18162],{},[41,40681,18014],{"id":18014},[34,40683,22737],{},[34,40685,40686],{},[611,40687,6986],{},[616,40689,40690],{"className":6989,"code":22744,"language":6991,"meta":14,"style":14},[611,40691,40692,40696,40706,40716,40726,40732,40736,40746,40756,40762,40772,40780,40784,40788],{"__ignoreMap":14},[6995,40693,40694],{"class":244,"line":6997},[6995,40695,7001],{"class":7000},[6995,40697,40698,40700,40702,40704],{"class":244,"line":15},[6995,40699,7007],{"class":7006},[6995,40701,5102],{"class":7000},[6995,40703,7013],{"class":7012},[6995,40705,7016],{"class":7000},[6995,40707,40708,40710,40712,40714],{"class":244,"line":154},[6995,40709,7021],{"class":7006},[6995,40711,7024],{"class":7000},[6995,40713,7027],{"class":7006},[6995,40715,7030],{"class":7000},[6995,40717,40718,40720,40722,40724],{"class":244,"line":7033},[6995,40719,7036],{"class":7006},[6995,40721,5102],{"class":7000},[6995,40723,22779],{"class":7012},[6995,40725,7030],{"class":7000},[6995,40727,40728,40730],{"class":244,"line":7044},[6995,40729,7529],{"class":7006},[6995,40731,7811],{"class":7000},[6995,40733,40734],{"class":244,"line":7107},[6995,40735,7537],{"class":7000},[6995,40737,40738,40740,40742,40744],{"class":244,"line":7120},[6995,40739,21259],{"class":7006},[6995,40741,7024],{"class":7000},[6995,40743,22800],{"class":7006},[6995,40745,7030],{"class":7000},[6995,40747,40748,40750,40752,40754],{"class":244,"line":7133},[6995,40749,21248],{"class":7006},[6995,40751,7024],{"class":7000},[6995,40753,7180],{"class":7006},[6995,40755,7030],{"class":7000},[6995,40757,40758,40760],{"class":244,"line":7146},[6995,40759,22817],{"class":7006},[6995,40761,7092],{"class":7000},[6995,40763,40764,40766,40768,40770],{"class":244,"line":7159},[6995,40765,22824],{"class":7006},[6995,40767,7024],{"class":7000},[6995,40769,22829],{"class":7012},[6995,40771,7030],{"class":7000},[6995,40773,40774,40776,40778],{"class":244,"line":7172},[6995,40775,22836],{"class":7006},[6995,40777,7024],{"class":7000},[6995,40779,22841],{"class":7012},[6995,40781,40782],{"class":244,"line":7185},[6995,40783,15327],{"class":7000},[6995,40785,40786],{"class":244,"line":7198},[6995,40787,7615],{"class":7000},[6995,40789,40790],{"class":244,"line":7211},[6995,40791,7047],{"class":7000},[852,40793,40794,40798,40804,40808],{},[59,40795,40796,22860],{},[611,40797,12842],{},[59,40799,40800,22865,40802,181],{},[611,40801,21296],{},[611,40803,7180],{},[59,40805,40806,22873],{},[611,40807,22872],{},[59,40809,40810,22879],{},[611,40811,22878],{},[34,40813,40814],{},[611,40815,7052],{},[616,40817,40818],{"className":6989,"code":22886,"language":6991,"meta":14,"style":14},[611,40819,40820,40824,40834,40844,40850,40854,40864,40874,40884,40894,40904,40914,40924,40934,40942,40946],{"__ignoreMap":14},[6995,40821,40822],{"class":244,"line":6997},[6995,40823,7001],{"class":7000},[6995,40825,40826,40828,40830,40832],{"class":244,"line":15},[6995,40827,7007],{"class":7006},[6995,40829,7024],{"class":7000},[6995,40831,7013],{"class":7012},[6995,40833,7016],{"class":7000},[6995,40835,40836,40838,40840,40842],{"class":244,"line":154},[6995,40837,7021],{"class":7006},[6995,40839,7024],{"class":7000},[6995,40841,7027],{"class":7006},[6995,40843,7030],{"class":7000},[6995,40845,40846,40848],{"class":244,"line":7033},[6995,40847,7732],{"class":7006},[6995,40849,7532],{"class":7000},[6995,40851,40852],{"class":244,"line":7044},[6995,40853,19059],{"class":7000},[6995,40855,40856,40858,40860,40862],{"class":244,"line":7107},[6995,40857,12965],{"class":7006},[6995,40859,7024],{"class":7000},[6995,40861,7167],{"class":7006},[6995,40863,7030],{"class":7000},[6995,40865,40866,40868,40870,40872],{"class":244,"line":7120},[6995,40867,7229],{"class":7006},[6995,40869,7024],{"class":7000},[6995,40871,7180],{"class":7006},[6995,40873,7030],{"class":7000},[6995,40875,40876,40878,40880,40882],{"class":244,"line":7133},[6995,40877,8467],{"class":7006},[6995,40879,7024],{"class":7000},[6995,40881,22951],{"class":7006},[6995,40883,7030],{"class":7000},[6995,40885,40886,40888,40890,40892],{"class":244,"line":7146},[6995,40887,13052],{"class":7006},[6995,40889,7024],{"class":7000},[6995,40891,22962],{"class":7006},[6995,40893,7030],{"class":7000},[6995,40895,40896,40898,40900,40902],{"class":244,"line":7159},[6995,40897,11924],{"class":7006},[6995,40899,7024],{"class":7000},[6995,40901,22973],{"class":7012},[6995,40903,7030],{"class":7000},[6995,40905,40906,40908,40910,40912],{"class":244,"line":7172},[6995,40907,22980],{"class":7006},[6995,40909,7024],{"class":7000},[6995,40911,20884],{"class":7012},[6995,40913,7030],{"class":7000},[6995,40915,40916,40918,40920,40922],{"class":244,"line":7185},[6995,40917,22991],{"class":7006},[6995,40919,7024],{"class":7000},[6995,40921,19080],{"class":7012},[6995,40923,7030],{"class":7000},[6995,40925,40926,40928,40930,40932],{"class":244,"line":7198},[6995,40927,21018],{"class":7006},[6995,40929,7024],{"class":7000},[6995,40931,7511],{"class":7006},[6995,40933,7030],{"class":7000},[6995,40935,40936,40938,40940],{"class":244,"line":7211},[6995,40937,21029],{"class":7006},[6995,40939,7024],{"class":7000},[6995,40941,23016],{"class":7012},[6995,40943,40944],{"class":244,"line":7220},[6995,40945,21877],{"class":7000},[6995,40947,40948],{"class":244,"line":7226},[6995,40949,7047],{"class":7000},[852,40951,40952,40958],{},[59,40953,40954,23031,40956,8764],{},[611,40955,6869],{},[611,40957,4979],{},[59,40959,40960,23038],{},[611,40961,21309],{},[34,40963,40964],{},[611,40965,6986],{},[616,40967,40968],{"className":6989,"code":23045,"language":6991,"meta":14,"style":14},[611,40969,40970,40974,40984,40994,41004,41010,41020,41026,41034,41038,41042],{"__ignoreMap":14},[6995,40971,40972],{"class":244,"line":6997},[6995,40973,7001],{"class":7000},[6995,40975,40976,40978,40980,40982],{"class":244,"line":15},[6995,40977,7007],{"class":7006},[6995,40979,7024],{"class":7000},[6995,40981,7013],{"class":7012},[6995,40983,7030],{"class":7000},[6995,40985,40986,40988,40990,40992],{"class":244,"line":154},[6995,40987,7021],{"class":7006},[6995,40989,7024],{"class":7000},[6995,40991,7071],{"class":7006},[6995,40993,7030],{"class":7000},[6995,40995,40996,40998,41000,41002],{"class":244,"line":7033},[6995,40997,7036],{"class":7006},[6995,40999,7024],{"class":7000},[6995,41001,22779],{"class":7012},[6995,41003,7030],{"class":7000},[6995,41005,41006,41008],{"class":244,"line":7044},[6995,41007,7529],{"class":7006},[6995,41009,7092],{"class":7000},[6995,41011,41012,41014,41016,41018],{"class":244,"line":7107},[6995,41013,23092],{"class":7006},[6995,41015,7024],{"class":7000},[6995,41017,8689],{"class":7006},[6995,41019,7030],{"class":7000},[6995,41021,41022,41024],{"class":244,"line":7120},[6995,41023,21209],{"class":7006},[6995,41025,7092],{"class":7000},[6995,41027,41028,41030,41032],{"class":244,"line":7133},[6995,41029,23109],{"class":7006},[6995,41031,7024],{"class":7000},[6995,41033,7686],{"class":7006},[6995,41035,41036],{"class":244,"line":7146},[6995,41037,15327],{"class":7000},[6995,41039,41040],{"class":244,"line":7159},[6995,41041,7615],{"class":7000},[6995,41043,41044],{"class":244,"line":7172},[6995,41045,7047],{"class":7000},[34,41047,41048],{},[611,41049,7052],{},[616,41051,41052],{"className":6989,"code":23132,"language":6991,"meta":14,"style":14},[611,41053,41054,41058,41068,41078,41084,41088,41098,41108,41118,41128,41138,41148,41158,41168,41176,41180,41184],{"__ignoreMap":14},[6995,41055,41056],{"class":244,"line":6997},[6995,41057,7001],{"class":7000},[6995,41059,41060,41062,41064,41066],{"class":244,"line":15},[6995,41061,7066],{"class":7006},[6995,41063,7024],{"class":7000},[6995,41065,7071],{"class":7006},[6995,41067,7030],{"class":7000},[6995,41069,41070,41072,41074,41076],{"class":244,"line":154},[6995,41071,7078],{"class":7006},[6995,41073,7024],{"class":7000},[6995,41075,7013],{"class":7012},[6995,41077,7030],{"class":7000},[6995,41079,41080,41082],{"class":244,"line":7033},[6995,41081,7089],{"class":7006},[6995,41083,7217],{"class":7000},[6995,41085,41086],{"class":244,"line":7044},[6995,41087,7537],{"class":7000},[6995,41089,41090,41092,41094,41096],{"class":244,"line":7107},[6995,41091,23173],{"class":7006},[6995,41093,7024],{"class":7000},[6995,41095,23178],{"class":7006},[6995,41097,7030],{"class":7000},[6995,41099,41100,41102,41104,41106],{"class":244,"line":7120},[6995,41101,21509],{"class":7006},[6995,41103,7024],{"class":7000},[6995,41105,6679],{"class":7006},[6995,41107,7030],{"class":7000},[6995,41109,41110,41112,41114,41116],{"class":244,"line":7133},[6995,41111,23195],{"class":7006},[6995,41113,7024],{"class":7000},[6995,41115,23200],{"class":7012},[6995,41117,7030],{"class":7000},[6995,41119,41120,41122,41124,41126],{"class":244,"line":7146},[6995,41121,12663],{"class":7006},[6995,41123,7024],{"class":7000},[6995,41125,23211],{"class":7012},[6995,41127,7030],{"class":7000},[6995,41129,41130,41132,41134,41136],{"class":244,"line":7159},[6995,41131,12751],{"class":7006},[6995,41133,7024],{"class":7000},[6995,41135,23222],{"class":7006},[6995,41137,7030],{"class":7000},[6995,41139,41140,41142,41144,41146],{"class":244,"line":7172},[6995,41141,23229],{"class":7006},[6995,41143,7024],{"class":7000},[6995,41145,19080],{"class":7012},[6995,41147,7030],{"class":7000},[6995,41149,41150,41152,41154,41156],{"class":244,"line":7185},[6995,41151,21622],{"class":7006},[6995,41153,7024],{"class":7000},[6995,41155,6679],{"class":7006},[6995,41157,7030],{"class":7000},[6995,41159,41160,41162,41164,41166],{"class":244,"line":7198},[6995,41161,21633],{"class":7006},[6995,41163,7024],{"class":7000},[6995,41165,23254],{"class":7012},[6995,41167,7030],{"class":7000},[6995,41169,41170,41172,41174],{"class":244,"line":7211},[6995,41171,23261],{"class":7006},[6995,41173,7024],{"class":7000},[6995,41175,23266],{"class":7012},[6995,41177,41178],{"class":244,"line":7220},[6995,41179,7615],{"class":7000},[6995,41181,41182],{"class":244,"line":7226},[6995,41183,23275],{"class":7000},[6995,41185,41186],{"class":244,"line":7238},[6995,41187,7047],{"class":7000},[852,41189,41190,41204],{},[59,41191,41192,23286,41194,23290,41196,23294,41198,23298,41200,23302,41202,23306],{},[611,41193,11962],{},[611,41195,23289],{},[611,41197,23293],{},[611,41199,23297],{},[611,41201,23301],{},[611,41203,23305],{},[59,41205,41206,23286,41208,2231,41210,2231,41212,2231,41214,2231,41216,2231,41218,2231,41220,18637,41222,23335],{},[611,41207,12388],{},[611,41209,23313],{},[611,41211,23316],{},[611,41213,23319],{},[611,41215,23322],{},[611,41217,23325],{},[611,41219,23328],{},[611,41221,23331],{},[611,41223,23334],{},[41,41225,6935],{"id":6935},[34,41227,23340,41228,23343],{},[175,41229,6930],{"href":8044},[34,41231,41232],{},[611,41233,6986],{},[616,41235,41236],{"className":6989,"code":7767,"language":6991,"meta":14,"style":14},[611,41237,41238,41242,41252,41262,41272,41278,41282,41290,41294],{"__ignoreMap":14},[6995,41239,41240],{"class":244,"line":6997},[6995,41241,7001],{"class":7000},[6995,41243,41244,41246,41248,41250],{"class":244,"line":15},[6995,41245,7007],{"class":7006},[6995,41247,5102],{"class":7000},[6995,41249,7013],{"class":7012},[6995,41251,7016],{"class":7000},[6995,41253,41254,41256,41258,41260],{"class":244,"line":154},[6995,41255,7021],{"class":7006},[6995,41257,7024],{"class":7000},[6995,41259,7027],{"class":7006},[6995,41261,7030],{"class":7000},[6995,41263,41264,41266,41268,41270],{"class":244,"line":7033},[6995,41265,7036],{"class":7006},[6995,41267,7024],{"class":7000},[6995,41269,7802],{"class":7012},[6995,41271,7030],{"class":7000},[6995,41273,41274,41276],{"class":244,"line":7044},[6995,41275,7529],{"class":7006},[6995,41277,7811],{"class":7000},[6995,41279,41280],{"class":244,"line":7107},[6995,41281,7537],{"class":7000},[6995,41283,41284,41286,41288],{"class":244,"line":7120},[6995,41285,7229],{"class":7006},[6995,41287,7024],{"class":7000},[6995,41289,7686],{"class":7006},[6995,41291,41292],{"class":244,"line":7133},[6995,41293,7615],{"class":7000},[6995,41295,41296],{"class":244,"line":7146},[6995,41297,7047],{"class":7000},[852,41299,41300,41304],{},[59,41301,41302,7838],{},[611,41303,6869],{},[59,41305,41306,20314],{},[611,41307,20130],{},[34,41309,41310],{},[611,41311,7052],{},[616,41313,41314],{"className":6989,"code":30483,"language":6991,"meta":14,"style":14},[611,41315,41316,41320,41330,41340,41346,41350,41360,41370,41380,41390,41400,41410,41420,41426,41436,41446,41456,41466,41474,41478,41488,41498,41508,41516,41520],{"__ignoreMap":14},[6995,41317,41318],{"class":244,"line":6997},[6995,41319,7001],{"class":7000},[6995,41321,41322,41324,41326,41328],{"class":244,"line":15},[6995,41323,7021],{"class":7006},[6995,41325,7024],{"class":7000},[6995,41327,7071],{"class":7006},[6995,41329,7030],{"class":7000},[6995,41331,41332,41334,41336,41338],{"class":244,"line":154},[6995,41333,7007],{"class":7006},[6995,41335,7024],{"class":7000},[6995,41337,7013],{"class":7012},[6995,41339,7030],{"class":7000},[6995,41341,41342,41344],{"class":244,"line":7033},[6995,41343,7732],{"class":7006},[6995,41345,7673],{"class":7000},[6995,41347,41348],{"class":244,"line":7044},[6995,41349,7537],{"class":7000},[6995,41351,41352,41354,41356,41358],{"class":244,"line":7107},[6995,41353,7229],{"class":7006},[6995,41355,7024],{"class":7000},[6995,41357,6679],{"class":7006},[6995,41359,7030],{"class":7000},[6995,41361,41362,41364,41366,41368],{"class":244,"line":7120},[6995,41363,7896],{"class":7006},[6995,41365,7024],{"class":7000},[6995,41367,7370],{"class":7006},[6995,41369,7030],{"class":7000},[6995,41371,41372,41374,41376,41378],{"class":244,"line":7133},[6995,41373,7907],{"class":7006},[6995,41375,7024],{"class":7000},[6995,41377,7382],{"class":7012},[6995,41379,7030],{"class":7000},[6995,41381,41382,41384,41386,41388],{"class":244,"line":7146},[6995,41383,7918],{"class":7006},[6995,41385,7024],{"class":7000},[6995,41387,6679],{"class":7006},[6995,41389,7030],{"class":7000},[6995,41391,41392,41394,41396,41398],{"class":244,"line":7159},[6995,41393,7929],{"class":7006},[6995,41395,7024],{"class":7000},[6995,41397,7934],{"class":7006},[6995,41399,7030],{"class":7000},[6995,41401,41402,41404,41406,41408],{"class":244,"line":7172},[6995,41403,7941],{"class":7006},[6995,41405,7024],{"class":7000},[6995,41407,30578],{"class":7012},[6995,41409,7030],{"class":7000},[6995,41411,41412,41414,41416,41418],{"class":244,"line":7185},[6995,41413,30585],{"class":7006},[6995,41415,7024],{"class":7000},[6995,41417,8689],{"class":7006},[6995,41419,7030],{"class":7000},[6995,41421,41422,41424],{"class":244,"line":7198},[6995,41423,30596],{"class":7006},[6995,41425,7092],{"class":7000},[6995,41427,41428,41430,41432,41434],{"class":244,"line":7211},[6995,41429,30603],{"class":7006},[6995,41431,7024],{"class":7000},[6995,41433,30608],{"class":7012},[6995,41435,7030],{"class":7000},[6995,41437,41438,41440,41442,41444],{"class":244,"line":7220},[6995,41439,30615],{"class":7006},[6995,41441,7024],{"class":7000},[6995,41443,30620],{"class":7012},[6995,41445,7030],{"class":7000},[6995,41447,41448,41450,41452,41454],{"class":244,"line":7226},[6995,41449,30627],{"class":7006},[6995,41451,7024],{"class":7000},[6995,41453,30632],{"class":7012},[6995,41455,7030],{"class":7000},[6995,41457,41458,41460,41462,41464],{"class":244,"line":7238},[6995,41459,30639],{"class":7006},[6995,41461,7024],{"class":7000},[6995,41463,30644],{"class":7012},[6995,41465,7030],{"class":7000},[6995,41467,41468,41470,41472],{"class":244,"line":7250},[6995,41469,30651],{"class":7006},[6995,41471,7024],{"class":7000},[6995,41473,30656],{"class":7012},[6995,41475,41476],{"class":244,"line":7263},[6995,41477,21243],{"class":7000},[6995,41479,41480,41482,41484,41486],{"class":244,"line":7275},[6995,41481,30665],{"class":7006},[6995,41483,7024],{"class":7000},[6995,41485,8689],{"class":7006},[6995,41487,7030],{"class":7000},[6995,41489,41490,41492,41494,41496],{"class":244,"line":7288},[6995,41491,30676],{"class":7006},[6995,41493,7024],{"class":7000},[6995,41495,8689],{"class":7006},[6995,41497,7030],{"class":7000},[6995,41499,41500,41502,41504,41506],{"class":244,"line":7300},[6995,41501,7953],{"class":7006},[6995,41503,7024],{"class":7000},[6995,41505,7958],{"class":7012},[6995,41507,7030],{"class":7000},[6995,41509,41510,41512,41514],{"class":244,"line":7313},[6995,41511,7965],{"class":7006},[6995,41513,7024],{"class":7000},[6995,41515,7970],{"class":7006},[6995,41517,41518],{"class":244,"line":7325},[6995,41519,7615],{"class":7000},[6995,41521,41522],{"class":244,"line":7336},[6995,41523,7047],{"class":7000},[34,41525,7981,41526,181],{},[175,41527,7985],{"href":19812},[852,41529,41530,41534,41538,41552,41556,41560,41566,41570,41576,41580],{},[59,41531,41532,7992],{},[611,41533,6869],{},[59,41535,41536,7998],{},[611,41537,7997],{},[59,41539,41540,8003,41542,8007,41544,8012,41546,8016,41548,8020,41550,8023],{},[611,41541,1020],{},[611,41543,8006],{},[8009,41545,8011],{},[611,41547,8015],{},[8009,41549,8019],{},[611,41551,8015],{},[59,41553,41554,8029],{},[611,41555,8028],{},[59,41557,41558,8035],{},[611,41559,8034],{},[59,41561,41562,8041,41564,8045],{},[611,41563,8040],{},[175,41565,6930],{"href":8044},[59,41567,41568,30755],{},[611,41569,25511],{},[59,41571,41572,30760,41574,30763],{},[611,41573,25526],{},[611,41575,25511],{},[59,41577,41578,30768],{},[611,41579,25514],{},[59,41581,41582,30773,41584],{},[611,41583,25523],{},[175,41585,30778],{"href":30776,"rel":41586},[179],[41,41588,18340],{"id":18340},[34,41590,23596],{},[34,41592,41593],{},[611,41594,6986],{},[616,41596,41597],{"className":6989,"code":23603,"language":6991,"meta":14,"style":14},[611,41598,41599,41603,41613,41623,41631],{"__ignoreMap":14},[6995,41600,41601],{"class":244,"line":6997},[6995,41602,7001],{"class":7000},[6995,41604,41605,41607,41609,41611],{"class":244,"line":15},[6995,41606,7007],{"class":7006},[6995,41608,5102],{"class":7000},[6995,41610,7013],{"class":7012},[6995,41612,7016],{"class":7000},[6995,41614,41615,41617,41619,41621],{"class":244,"line":154},[6995,41616,7021],{"class":7006},[6995,41618,7024],{"class":7000},[6995,41620,7511],{"class":7006},[6995,41622,7030],{"class":7000},[6995,41624,41625,41627,41629],{"class":244,"line":7033},[6995,41626,7036],{"class":7006},[6995,41628,5102],{"class":7000},[6995,41630,23638],{"class":7012},[6995,41632,41633],{"class":244,"line":7044},[6995,41634,7047],{"class":7000},[34,41636,41637],{},[611,41638,7052],{},[616,41640,41641],{"className":6989,"code":23649,"language":6991,"meta":14,"style":14},[611,41642,41643,41647,41657,41667,41675],{"__ignoreMap":14},[6995,41644,41645],{"class":244,"line":6997},[6995,41646,7001],{"class":7000},[6995,41648,41649,41651,41653,41655],{"class":244,"line":15},[6995,41650,7007],{"class":7006},[6995,41652,5102],{"class":7000},[6995,41654,7013],{"class":7012},[6995,41656,7016],{"class":7000},[6995,41658,41659,41661,41663,41665],{"class":244,"line":154},[6995,41660,7021],{"class":7006},[6995,41662,7024],{"class":7000},[6995,41664,7511],{"class":7006},[6995,41666,7030],{"class":7000},[6995,41668,41669,41671,41673],{"class":244,"line":7033},[6995,41670,7732],{"class":7006},[6995,41672,5102],{"class":7000},[6995,41674,7749],{"class":7012},[6995,41676,41677],{"class":244,"line":7044},[6995,41678,7047],{"class":7000},[41,41680,18348],{"id":18348},[34,41682,23692,41683,181],{},[611,41684,8158],{},[34,41686,41687],{},[611,41688,6986],{},[616,41690,41691],{"className":6989,"code":23701,"language":6991,"meta":14,"style":14},[611,41692,41693,41697,41707,41717,41727,41733,41737,41745,41749],{"__ignoreMap":14},[6995,41694,41695],{"class":244,"line":6997},[6995,41696,7001],{"class":7000},[6995,41698,41699,41701,41703,41705],{"class":244,"line":15},[6995,41700,7007],{"class":7006},[6995,41702,5102],{"class":7000},[6995,41704,7013],{"class":7012},[6995,41706,7016],{"class":7000},[6995,41708,41709,41711,41713,41715],{"class":244,"line":154},[6995,41710,7021],{"class":7006},[6995,41712,7024],{"class":7000},[6995,41714,8439],{"class":7006},[6995,41716,7030],{"class":7000},[6995,41718,41719,41721,41723,41725],{"class":244,"line":7033},[6995,41720,7036],{"class":7006},[6995,41722,7024],{"class":7000},[6995,41724,23736],{"class":7012},[6995,41726,7016],{"class":7000},[6995,41728,41729,41731],{"class":244,"line":7044},[6995,41730,7529],{"class":7006},[6995,41732,7532],{"class":7000},[6995,41734,41735],{"class":244,"line":7107},[6995,41736,7537],{"class":7000},[6995,41738,41739,41741,41743],{"class":244,"line":7120},[6995,41740,7743],{"class":7006},[6995,41742,7746],{"class":7000},[6995,41744,20611],{"class":7012},[6995,41746,41747],{"class":244,"line":7133},[6995,41748,7615],{"class":7000},[6995,41750,41751],{"class":244,"line":7146},[6995,41752,7047],{"class":7000},[34,41754,41755],{},[611,41756,7052],{},[616,41758,41759],{"className":6989,"code":23771,"language":6991,"meta":14,"style":14},[611,41760,41761,41765,41775,41785,41791,41795,41803,41807],{"__ignoreMap":14},[6995,41762,41763],{"class":244,"line":6997},[6995,41764,7001],{"class":7000},[6995,41766,41767,41769,41771,41773],{"class":244,"line":15},[6995,41768,7007],{"class":7006},[6995,41770,5102],{"class":7000},[6995,41772,7013],{"class":7012},[6995,41774,7016],{"class":7000},[6995,41776,41777,41779,41781,41783],{"class":244,"line":154},[6995,41778,7021],{"class":7006},[6995,41780,7024],{"class":7000},[6995,41782,8439],{"class":7006},[6995,41784,7030],{"class":7000},[6995,41786,41787,41789],{"class":244,"line":7033},[6995,41788,7732],{"class":7006},[6995,41790,7673],{"class":7000},[6995,41792,41793],{"class":244,"line":7044},[6995,41794,7537],{"class":7000},[6995,41796,41797,41799,41801],{"class":244,"line":7107},[6995,41798,23812],{"class":7006},[6995,41800,7024],{"class":7000},[6995,41802,23817],{"class":7012},[6995,41804,41805],{"class":244,"line":7120},[6995,41806,7615],{"class":7000},[6995,41808,41809],{"class":244,"line":7133},[6995,41810,7047],{"class":7000},[852,41812,41813],{},[59,41814,41815,23833,41817,23836],{},[611,41816,23832],{},[175,41818,18356],{"href":18355},[34,41820,41821,23841],{},[37,41822,22074],{},[41,41824,18356],{"id":18356},[34,41826,23846,41827,181],{},[611,41828,23832],{},[34,41830,41831],{},[611,41832,6986],{},[616,41834,41835],{"className":6989,"code":23855,"language":6991,"meta":14,"style":14},[611,41836,41837,41841,41851,41861,41871,41877,41881,41889,41893],{"__ignoreMap":14},[6995,41838,41839],{"class":244,"line":6997},[6995,41840,7001],{"class":7000},[6995,41842,41843,41845,41847,41849],{"class":244,"line":15},[6995,41844,7007],{"class":7006},[6995,41846,5102],{"class":7000},[6995,41848,7013],{"class":7012},[6995,41850,7016],{"class":7000},[6995,41852,41853,41855,41857,41859],{"class":244,"line":154},[6995,41854,7021],{"class":7006},[6995,41856,7024],{"class":7000},[6995,41858,8439],{"class":7006},[6995,41860,7030],{"class":7000},[6995,41862,41863,41865,41867,41869],{"class":244,"line":7033},[6995,41864,7036],{"class":7006},[6995,41866,5102],{"class":7000},[6995,41868,23890],{"class":7012},[6995,41870,7016],{"class":7000},[6995,41872,41873,41875],{"class":244,"line":7044},[6995,41874,7529],{"class":7006},[6995,41876,7532],{"class":7000},[6995,41878,41879],{"class":244,"line":7107},[6995,41880,7537],{"class":7000},[6995,41882,41883,41885,41887],{"class":244,"line":7120},[6995,41884,23812],{"class":7006},[6995,41886,7746],{"class":7000},[6995,41888,23817],{"class":7012},[6995,41890,41891],{"class":244,"line":7133},[6995,41892,7615],{"class":7000},[6995,41894,41895],{"class":244,"line":7146},[6995,41896,7047],{"class":7000},[34,41898,41899],{},[611,41900,7052],{},[616,41902,41903],{"className":6989,"code":23925,"language":6991,"meta":14,"style":14},[611,41904,41905,41909,41919,41929,41935,41939,41949,41959,41969,41979,41989,41997,42001],{"__ignoreMap":14},[6995,41906,41907],{"class":244,"line":6997},[6995,41908,7001],{"class":7000},[6995,41910,41911,41913,41915,41917],{"class":244,"line":15},[6995,41912,7007],{"class":7006},[6995,41914,5102],{"class":7000},[6995,41916,7013],{"class":7012},[6995,41918,7016],{"class":7000},[6995,41920,41921,41923,41925,41927],{"class":244,"line":154},[6995,41922,7021],{"class":7006},[6995,41924,7024],{"class":7000},[6995,41926,8439],{"class":7006},[6995,41928,7030],{"class":7000},[6995,41930,41931,41933],{"class":244,"line":7033},[6995,41932,7732],{"class":7006},[6995,41934,7673],{"class":7000},[6995,41936,41937],{"class":244,"line":7044},[6995,41938,7537],{"class":7000},[6995,41940,41941,41943,41945,41947],{"class":244,"line":7107},[6995,41942,11902],{"class":7006},[6995,41944,7024],{"class":7000},[6995,41946,8689],{"class":7006},[6995,41948,7030],{"class":7000},[6995,41950,41951,41953,41955,41957],{"class":244,"line":7120},[6995,41952,7229],{"class":7006},[6995,41954,7024],{"class":7000},[6995,41956,7180],{"class":7006},[6995,41958,7030],{"class":7000},[6995,41960,41961,41963,41965,41967],{"class":244,"line":7133},[6995,41962,21006],{"class":7006},[6995,41964,23988],{"class":7000},[6995,41966,23991],{"class":7012},[6995,41968,7030],{"class":7000},[6995,41970,41971,41973,41975,41977],{"class":244,"line":7146},[6995,41972,20995],{"class":7006},[6995,41974,7024],{"class":7000},[6995,41976,24002],{"class":7012},[6995,41978,7030],{"class":7000},[6995,41980,41981,41983,41985,41987],{"class":244,"line":7159},[6995,41982,8467],{"class":7006},[6995,41984,23988],{"class":7000},[6995,41986,24013],{"class":7006},[6995,41988,7030],{"class":7000},[6995,41990,41991,41993,41995],{"class":244,"line":7172},[6995,41992,20983],{"class":7006},[6995,41994,23988],{"class":7000},[6995,41996,24024],{"class":7012},[6995,41998,41999],{"class":244,"line":7185},[6995,42000,7615],{"class":7000},[6995,42002,42003],{"class":244,"line":7198},[6995,42004,7047],{"class":7000},[852,42006,42007,42011,42015,42019,42023,42027],{},[59,42008,42009,24040],{},[611,42010,24039],{},[59,42012,42013,24046],{},[611,42014,24045],{},[59,42016,42017,24052],{},[611,42018,24051],{},[59,42020,42021,24057],{},[611,42022,8404],{},[59,42024,42025,24062],{},[611,42026,6869],{},[59,42028,42029,24067],{},[611,42030,12547],{},[34,42032,42033,24072],{},[37,42034,22074],{},[41,42036,18385],{"id":18385},[34,42038,24077],{},[34,42040,24080],{},[34,42042,42043],{},[611,42044,6986],{},[616,42046,42047],{"className":6989,"code":24087,"language":6991,"meta":14,"style":14},[611,42048,42049,42053,42063,42073,42083,42089,42093,42111,42119,42123],{"__ignoreMap":14},[6995,42050,42051],{"class":244,"line":6997},[6995,42052,7001],{"class":7000},[6995,42054,42055,42057,42059,42061],{"class":244,"line":15},[6995,42056,7007],{"class":7006},[6995,42058,7024],{"class":7000},[6995,42060,7013],{"class":7012},[6995,42062,7016],{"class":7000},[6995,42064,42065,42067,42069,42071],{"class":244,"line":154},[6995,42066,7021],{"class":7006},[6995,42068,7024],{"class":7000},[6995,42070,7511],{"class":7006},[6995,42072,7030],{"class":7000},[6995,42074,42075,42077,42079,42081],{"class":244,"line":7033},[6995,42076,7036],{"class":7006},[6995,42078,7024],{"class":7000},[6995,42080,24122],{"class":7012},[6995,42082,7016],{"class":7000},[6995,42084,42085,42087],{"class":244,"line":7044},[6995,42086,7529],{"class":7006},[6995,42088,7532],{"class":7000},[6995,42090,42091],{"class":244,"line":7107},[6995,42092,7537],{"class":7000},[6995,42094,42095,42097,42099,42101,42103,42105,42107,42109],{"class":244,"line":7120},[6995,42096,24139],{"class":7006},[6995,42098,24142],{"class":7000},[6995,42100,7167],{"class":7006},[6995,42102,2231],{"class":7000},[6995,42104,7167],{"class":7006},[6995,42106,2231],{"class":7000},[6995,42108,7167],{"class":7006},[6995,42110,19906],{"class":7000},[6995,42112,42113,42115,42117],{"class":244,"line":7133},[6995,42114,24159],{"class":7006},[6995,42116,7024],{"class":7000},[6995,42118,24164],{"class":7012},[6995,42120,42121],{"class":244,"line":7146},[6995,42122,7615],{"class":7000},[6995,42124,42125],{"class":244,"line":7159},[6995,42126,7047],{"class":7000},[34,42128,24175],{},[34,42130,42131],{},[611,42132,6986],{},[616,42134,42135],{"className":6989,"code":24182,"language":6991,"meta":14,"style":14},[611,42136,42137,42141,42151,42161,42171,42177,42181,42191,42199,42203],{"__ignoreMap":14},[6995,42138,42139],{"class":244,"line":6997},[6995,42140,7001],{"class":7000},[6995,42142,42143,42145,42147,42149],{"class":244,"line":15},[6995,42144,7007],{"class":7006},[6995,42146,7024],{"class":7000},[6995,42148,7013],{"class":7012},[6995,42150,7016],{"class":7000},[6995,42152,42153,42155,42157,42159],{"class":244,"line":154},[6995,42154,7021],{"class":7006},[6995,42156,7024],{"class":7000},[6995,42158,7511],{"class":7006},[6995,42160,7030],{"class":7000},[6995,42162,42163,42165,42167,42169],{"class":244,"line":7033},[6995,42164,7036],{"class":7006},[6995,42166,7024],{"class":7000},[6995,42168,24122],{"class":7012},[6995,42170,7016],{"class":7000},[6995,42172,42173,42175],{"class":244,"line":7044},[6995,42174,7529],{"class":7006},[6995,42176,7532],{"class":7000},[6995,42178,42179],{"class":244,"line":7107},[6995,42180,7537],{"class":7000},[6995,42182,42183,42185,42187,42189],{"class":244,"line":7120},[6995,42184,24233],{"class":7006},[6995,42186,7024],{"class":7000},[6995,42188,24238],{"class":7012},[6995,42190,7030],{"class":7000},[6995,42192,42193,42195,42197],{"class":244,"line":7133},[6995,42194,24159],{"class":7006},[6995,42196,7024],{"class":7000},[6995,42198,24164],{"class":7012},[6995,42200,42201],{"class":244,"line":7146},[6995,42202,7615],{"class":7000},[6995,42204,42205],{"class":244,"line":7159},[6995,42206,7047],{"class":7000},[852,42208,42209,42213,42217,42221],{},[59,42210,42211,24263],{},[611,42212,6411],{},[59,42214,42215,24269],{},[611,42216,24268],{},[59,42218,42219,24275],{},[611,42220,24274],{},[59,42222,42223,24281,42225,24284,42227,24288,42229,24291,42231,181],{},[611,42224,24280],{},[611,42226,8689],{},[611,42228,24287],{},[175,42230,18396],{"href":18395},[611,42232,8689],{},[34,42234,42235,24298,42237,181],{},[611,42236,6411],{},[611,42238,24268],{},[34,42240,42241],{},[611,42242,7052],{},[616,42244,42245],{"className":6989,"code":24307,"language":6991,"meta":14,"style":14},[611,42246,42247,42251,42261,42271,42277,42325,42351,42369,42373],{"__ignoreMap":14},[6995,42248,42249],{"class":244,"line":6997},[6995,42250,7001],{"class":7000},[6995,42252,42253,42255,42257,42259],{"class":244,"line":15},[6995,42254,7066],{"class":7006},[6995,42256,7024],{"class":7000},[6995,42258,7071],{"class":7006},[6995,42260,7030],{"class":7000},[6995,42262,42263,42265,42267,42269],{"class":244,"line":154},[6995,42264,7078],{"class":7006},[6995,42266,7024],{"class":7000},[6995,42268,7013],{"class":7012},[6995,42270,7030],{"class":7000},[6995,42272,42273,42275],{"class":244,"line":7033},[6995,42274,7089],{"class":7006},[6995,42276,7092],{"class":7000},[6995,42278,42279,42281,42283,42285,42287,42289,42291,42293,42295,42297,42299,42301,42303,42305,42307,42309,42311,42313,42315,42317,42319,42321,42323],{"class":244,"line":7044},[6995,42280,24344],{"class":7006},[6995,42282,7024],{"class":7000},[6995,42284,24349],{"class":7012},[6995,42286,24352],{"class":7006},[6995,42288,24355],{"class":7012},[6995,42290,24352],{"class":7006},[6995,42292,24360],{"class":7012},[6995,42294,24352],{"class":7006},[6995,42296,24365],{"class":7012},[6995,42298,24352],{"class":7006},[6995,42300,7024],{"class":7012},[6995,42302,24352],{"class":7006},[6995,42304,24374],{"class":7012},[6995,42306,24352],{"class":7006},[6995,42308,17176],{"class":7012},[6995,42310,24352],{"class":7006},[6995,42312,24383],{"class":7012},[6995,42314,24352],{"class":7006},[6995,42316,24388],{"class":7012},[6995,42318,24352],{"class":7006},[6995,42320,24365],{"class":7012},[6995,42322,24352],{"class":7006},[6995,42324,7673],{"class":7012},[6995,42326,42327,42329,42331,42333,42335,42337,42339,42341,42343,42345,42347,42349],{"class":244,"line":7107},[6995,42328,24401],{"class":7006},[6995,42330,24404],{"class":7012},[6995,42332,24352],{"class":7006},[6995,42334,17176],{"class":7012},[6995,42336,24352],{"class":7006},[6995,42338,24383],{"class":7012},[6995,42340,24352],{"class":7006},[6995,42342,24417],{"class":7012},[6995,42344,24352],{"class":7006},[6995,42346,24365],{"class":7012},[6995,42348,24352],{"class":7006},[6995,42350,7673],{"class":7012},[6995,42352,42353,42355,42357,42359,42361,42363,42365,42367],{"class":244,"line":7120},[6995,42354,24401],{"class":7006},[6995,42356,24432],{"class":7012},[6995,42358,24352],{"class":7006},[6995,42360,17176],{"class":7012},[6995,42362,24352],{"class":7006},[6995,42364,24383],{"class":7012},[6995,42366,24352],{"class":7006},[6995,42368,24445],{"class":7012},[6995,42370,42371],{"class":244,"line":7133},[6995,42372,7467],{"class":7000},[6995,42374,42375],{"class":244,"line":7146},[6995,42376,7047],{"class":7000},[852,42378,42379,42383,42387],{},[59,42380,42381,24460],{},[611,42382,16228],{},[59,42384,42385,24465],{},[611,42386,24287],{},[59,42388,42389,24471,42391],{},[611,42390,24470],{},[175,42392,18396],{"href":18395},[48,42394,24484],{"id":24483},[34,42396,24487],{},[48,42398,24491],{"id":24490},[34,42400,31597,42401,10670,42403,31602],{},[611,42402,6411],{},[611,42404,24268],{},[34,42406,42407],{},[611,42408,6986],{},[616,42410,42411],{"className":6989,"code":24509,"language":6991,"meta":14,"style":14},[611,42412,42413,42417,42427,42437,42447,42453,42463,42471,42475],{"__ignoreMap":14},[6995,42414,42415],{"class":244,"line":6997},[6995,42416,7001],{"class":7000},[6995,42418,42419,42421,42423,42425],{"class":244,"line":15},[6995,42420,7007],{"class":7006},[6995,42422,7024],{"class":7000},[6995,42424,7013],{"class":7012},[6995,42426,7030],{"class":7000},[6995,42428,42429,42431,42433,42435],{"class":244,"line":154},[6995,42430,7021],{"class":7006},[6995,42432,7024],{"class":7000},[6995,42434,7071],{"class":7006},[6995,42436,7030],{"class":7000},[6995,42438,42439,42441,42443,42445],{"class":244,"line":7033},[6995,42440,7036],{"class":7006},[6995,42442,7024],{"class":7000},[6995,42444,24122],{"class":7012},[6995,42446,7030],{"class":7000},[6995,42448,42449,42451],{"class":244,"line":7044},[6995,42450,7529],{"class":7006},[6995,42452,7092],{"class":7000},[6995,42454,42455,42457,42459,42461],{"class":244,"line":7107},[6995,42456,24233],{"class":7006},[6995,42458,7024],{"class":7000},[6995,42460,24560],{"class":7012},[6995,42462,7030],{"class":7000},[6995,42464,42465,42467,42469],{"class":244,"line":7120},[6995,42466,24159],{"class":7006},[6995,42468,7024],{"class":7000},[6995,42470,24571],{"class":7012},[6995,42472,42473],{"class":244,"line":7133},[6995,42474,7615],{"class":7000},[6995,42476,42477],{"class":244,"line":7146},[6995,42478,7047],{"class":7000},[34,42480,42481],{},[611,42482,7052],{},[616,42484,42485],{"className":6989,"code":24586,"language":6991,"meta":14,"style":14},[611,42486,42487,42491,42501,42511,42517,42541,42545],{"__ignoreMap":14},[6995,42488,42489],{"class":244,"line":6997},[6995,42490,7001],{"class":7000},[6995,42492,42493,42495,42497,42499],{"class":244,"line":15},[6995,42494,7066],{"class":7006},[6995,42496,7024],{"class":7000},[6995,42498,7071],{"class":7006},[6995,42500,7030],{"class":7000},[6995,42502,42503,42505,42507,42509],{"class":244,"line":154},[6995,42504,7078],{"class":7006},[6995,42506,7024],{"class":7000},[6995,42508,7013],{"class":7012},[6995,42510,7030],{"class":7000},[6995,42512,42513,42515],{"class":244,"line":7033},[6995,42514,7089],{"class":7006},[6995,42516,7092],{"class":7000},[6995,42518,42519,42521,42523,42525,42527,42529,42531,42533,42535,42537,42539],{"class":244,"line":7044},[6995,42520,24344],{"class":7006},[6995,42522,7024],{"class":7000},[6995,42524,24349],{"class":7012},[6995,42526,24352],{"class":7006},[6995,42528,15764],{"class":7012},[6995,42530,24352],{"class":7006},[6995,42532,7024],{"class":7012},[6995,42534,24352],{"class":7006},[6995,42536,24639],{"class":7012},[6995,42538,24352],{"class":7006},[6995,42540,24644],{"class":7012},[6995,42542,42543],{"class":244,"line":7107},[6995,42544,7467],{"class":7000},[6995,42546,42547],{"class":244,"line":7120},[6995,42548,7047],{"class":7000},[48,42550,31750],{"id":31749},[34,42552,31753,42553,31756,42555,31760],{},[611,42554,18385],{},[611,42556,31759],{},[852,42558,42559,42563],{},[59,42560,42561,31767],{},[611,42562,25535],{},[59,42564,42565,31772,42567,31775,42569,31778],{},[611,42566,25538],{},[611,42568,18385],{},[611,42570,25538],{},[41,42572,18396],{"id":18396},[34,42574,24657],{},[34,42576,42577],{},[611,42578,6986],{},[616,42580,42581],{"className":6989,"code":24664,"language":6991,"meta":14,"style":14},[611,42582,42583,42587,42597,42607,42617,42623,42641,42645],{"__ignoreMap":14},[6995,42584,42585],{"class":244,"line":6997},[6995,42586,7001],{"class":7000},[6995,42588,42589,42591,42593,42595],{"class":244,"line":15},[6995,42590,7007],{"class":7006},[6995,42592,7024],{"class":7000},[6995,42594,7013],{"class":7012},[6995,42596,7030],{"class":7000},[6995,42598,42599,42601,42603,42605],{"class":244,"line":154},[6995,42600,7021],{"class":7006},[6995,42602,7024],{"class":7000},[6995,42604,7071],{"class":7006},[6995,42606,7030],{"class":7000},[6995,42608,42609,42611,42613,42615],{"class":244,"line":7033},[6995,42610,7036],{"class":7006},[6995,42612,7024],{"class":7000},[6995,42614,24699],{"class":7012},[6995,42616,7030],{"class":7000},[6995,42618,42619,42621],{"class":244,"line":7044},[6995,42620,7529],{"class":7006},[6995,42622,7092],{"class":7000},[6995,42624,42625,42627,42629,42631,42633,42635,42637,42639],{"class":244,"line":7107},[6995,42626,24712],{"class":7006},[6995,42628,24142],{"class":7000},[6995,42630,7167],{"class":7006},[6995,42632,2231],{"class":7000},[6995,42634,7167],{"class":7006},[6995,42636,2231],{"class":7000},[6995,42638,7167],{"class":7006},[6995,42640,13671],{"class":7000},[6995,42642,42643],{"class":244,"line":7120},[6995,42644,7615],{"class":7000},[6995,42646,42647],{"class":244,"line":7133},[6995,42648,7047],{"class":7000},[852,42650,42651],{},[59,42652,42653,24741,42655,24744],{},[611,42654,15730],{},[175,42656,18385],{"href":18384},[34,42658,42659],{},[611,42660,7052],{},[616,42662,42663],{"className":6989,"code":24751,"language":6991,"meta":14,"style":14},[611,42664,42665,42669,42679,42689,42695,42703,42707],{"__ignoreMap":14},[6995,42666,42667],{"class":244,"line":6997},[6995,42668,7001],{"class":7000},[6995,42670,42671,42673,42675,42677],{"class":244,"line":15},[6995,42672,7066],{"class":7006},[6995,42674,7024],{"class":7000},[6995,42676,7071],{"class":7006},[6995,42678,7030],{"class":7000},[6995,42680,42681,42683,42685,42687],{"class":244,"line":154},[6995,42682,7078],{"class":7006},[6995,42684,7024],{"class":7000},[6995,42686,7013],{"class":7012},[6995,42688,7030],{"class":7000},[6995,42690,42691,42693],{"class":244,"line":7033},[6995,42692,7089],{"class":7006},[6995,42694,7092],{"class":7000},[6995,42696,42697,42699,42701],{"class":244,"line":7044},[6995,42698,24788],{"class":7006},[6995,42700,7024],{"class":7000},[6995,42702,24793],{"class":7012},[6995,42704,42705],{"class":244,"line":7107},[6995,42706,7467],{"class":7000},[6995,42708,42709],{"class":244,"line":7120},[6995,42710,7047],{"class":7000},[852,42712,42713],{},[59,42714,42715,24808],{},[611,42716,24287],{},[41,42718,6940],{"id":6940},[34,42720,24813,42721],{},[611,42722,8404],{},[34,42724,42725],{},[611,42726,6986],{},[616,42728,42729],{"className":6989,"code":8414,"language":6991,"meta":14,"style":14},[611,42730,42731,42735,42745,42755,42765,42771,42775,42785,42795,42805,42813,42817],{"__ignoreMap":14},[6995,42732,42733],{"class":244,"line":6997},[6995,42734,7001],{"class":7000},[6995,42736,42737,42739,42741,42743],{"class":244,"line":15},[6995,42738,7007],{"class":7006},[6995,42740,5102],{"class":7000},[6995,42742,7013],{"class":7012},[6995,42744,7016],{"class":7000},[6995,42746,42747,42749,42751,42753],{"class":244,"line":154},[6995,42748,7021],{"class":7006},[6995,42750,7024],{"class":7000},[6995,42752,8439],{"class":7006},[6995,42754,7030],{"class":7000},[6995,42756,42757,42759,42761,42763],{"class":244,"line":7033},[6995,42758,7036],{"class":7006},[6995,42760,5102],{"class":7000},[6995,42762,8450],{"class":7012},[6995,42764,7016],{"class":7000},[6995,42766,42767,42769],{"class":244,"line":7044},[6995,42768,7529],{"class":7006},[6995,42770,7532],{"class":7000},[6995,42772,42773],{"class":244,"line":7107},[6995,42774,7537],{"class":7000},[6995,42776,42777,42779,42781,42783],{"class":244,"line":7120},[6995,42778,8467],{"class":7006},[6995,42780,7746],{"class":7000},[6995,42782,8472],{"class":7006},[6995,42784,7030],{"class":7000},[6995,42786,42787,42789,42791,42793],{"class":244,"line":7133},[6995,42788,7229],{"class":7006},[6995,42790,7024],{"class":7000},[6995,42792,7511],{"class":7006},[6995,42794,7030],{"class":7000},[6995,42796,42797,42799,42801,42803],{"class":244,"line":7146},[6995,42798,7554],{"class":7006},[6995,42800,7024],{"class":7000},[6995,42802,8493],{"class":7006},[6995,42804,7030],{"class":7000},[6995,42806,42807,42809,42811],{"class":244,"line":7159},[6995,42808,8500],{"class":7006},[6995,42810,7024],{"class":7000},[6995,42812,8505],{"class":7006},[6995,42814,42815],{"class":244,"line":7172},[6995,42816,7615],{"class":7000},[6995,42818,42819],{"class":244,"line":7185},[6995,42820,7047],{"class":7000},[34,42822,42823],{},[611,42824,7052],{},[616,42826,42827],{"className":6989,"code":8520,"language":6991,"meta":14,"style":14},[611,42828,42829,42833,42843,42853,42859,42863,42873,42883,42893,42903,42913,42921,42925],{"__ignoreMap":14},[6995,42830,42831],{"class":244,"line":6997},[6995,42832,7001],{"class":7000},[6995,42834,42835,42837,42839,42841],{"class":244,"line":15},[6995,42836,7007],{"class":7006},[6995,42838,5102],{"class":7000},[6995,42840,7013],{"class":7012},[6995,42842,7016],{"class":7000},[6995,42844,42845,42847,42849,42851],{"class":244,"line":154},[6995,42846,7021],{"class":7006},[6995,42848,7024],{"class":7000},[6995,42850,8439],{"class":7006},[6995,42852,7030],{"class":7000},[6995,42854,42855,42857],{"class":244,"line":7033},[6995,42856,7732],{"class":7006},[6995,42858,7532],{"class":7000},[6995,42860,42861],{"class":244,"line":7044},[6995,42862,7537],{"class":7000},[6995,42864,42865,42867,42869,42871],{"class":244,"line":7107},[6995,42866,8561],{"class":7006},[6995,42868,7024],{"class":7000},[6995,42870,8566],{"class":7006},[6995,42872,7030],{"class":7000},[6995,42874,42875,42877,42879,42881],{"class":244,"line":7120},[6995,42876,8573],{"class":7006},[6995,42878,7024],{"class":7000},[6995,42880,8578],{"class":7012},[6995,42882,7030],{"class":7000},[6995,42884,42885,42887,42889,42891],{"class":244,"line":7133},[6995,42886,8585],{"class":7006},[6995,42888,7024],{"class":7000},[6995,42890,8566],{"class":7006},[6995,42892,7030],{"class":7000},[6995,42894,42895,42897,42899,42901],{"class":244,"line":7146},[6995,42896,8596],{"class":7006},[6995,42898,7024],{"class":7000},[6995,42900,8578],{"class":7012},[6995,42902,7030],{"class":7000},[6995,42904,42905,42907,42909,42911],{"class":244,"line":7159},[6995,42906,8607],{"class":7006},[6995,42908,7024],{"class":7000},[6995,42910,8612],{"class":7006},[6995,42912,7030],{"class":7000},[6995,42914,42915,42917,42919],{"class":244,"line":7172},[6995,42916,8619],{"class":7006},[6995,42918,7024],{"class":7000},[6995,42920,8624],{"class":7012},[6995,42922,42923],{"class":244,"line":7185},[6995,42924,7615],{"class":7000},[6995,42926,42927],{"class":244,"line":7198},[6995,42928,7047],{"class":7000},[34,42930,8635],{},[852,42932,42933,42937,42941,42945,42951,42961,42965],{},[59,42934,42935,8642],{},[611,42936,8404],{},[59,42938,42939,25034],{},[611,42940,6869],{},[59,42942,42943,8652],{},[611,42944,8147],{},[59,42946,42947,8658,42949],{},[611,42948,8657],{},[611,42950,6869],{},[59,42952,42953,8666,42955,1475,42957,8671,42959,8675],{},[611,42954,8665],{},[611,42956,8657],{},[611,42958,8665],{},[611,42960,8674],{},[59,42962,42963,8681],{},[611,42964,8680],{},[59,42966,42967,98,42969,8690],{},[611,42968,8686],{},[611,42970,8689],{},[41,42972,18406],{"id":18406},[34,42974,25069],{},[34,42976,42977],{},[611,42978,6986],{},[616,42980,42981],{"className":6989,"code":25076,"language":6991,"meta":14,"style":14},[611,42982,42983,42987,42997,43007,43017,43023,43027,43035,43039],{"__ignoreMap":14},[6995,42984,42985],{"class":244,"line":6997},[6995,42986,7001],{"class":7000},[6995,42988,42989,42991,42993,42995],{"class":244,"line":15},[6995,42990,7007],{"class":7006},[6995,42992,7024],{"class":7000},[6995,42994,7013],{"class":7012},[6995,42996,7016],{"class":7000},[6995,42998,42999,43001,43003,43005],{"class":244,"line":154},[6995,43000,7021],{"class":7006},[6995,43002,7024],{"class":7000},[6995,43004,7511],{"class":7006},[6995,43006,7030],{"class":7000},[6995,43008,43009,43011,43013,43015],{"class":244,"line":7033},[6995,43010,7036],{"class":7006},[6995,43012,7024],{"class":7000},[6995,43014,25111],{"class":7012},[6995,43016,7016],{"class":7000},[6995,43018,43019,43021],{"class":244,"line":7044},[6995,43020,7529],{"class":7006},[6995,43022,7532],{"class":7000},[6995,43024,43025],{"class":244,"line":7107},[6995,43026,7537],{"class":7000},[6995,43028,43029,43031,43033],{"class":244,"line":7120},[6995,43030,21741],{"class":7006},[6995,43032,7024],{"class":7000},[6995,43034,25132],{"class":7006},[6995,43036,43037],{"class":244,"line":7133},[6995,43038,7615],{"class":7000},[6995,43040,43041],{"class":244,"line":7146},[6995,43042,7047],{"class":7000},[852,43044,43045],{},[59,43046,43047,25147],{},[611,43048,12542],{},[34,43050,43051],{},[611,43052,7052],{},[616,43054,43055],{"className":6989,"code":25154,"language":6991,"meta":14,"style":14},[611,43056,43057,43061,43071,43081,43087,43091,43101,43111,43121,43131,43141,43151,43161,43171,43181,43191,43199,43203],{"__ignoreMap":14},[6995,43058,43059],{"class":244,"line":6997},[6995,43060,7001],{"class":7000},[6995,43062,43063,43065,43067,43069],{"class":244,"line":15},[6995,43064,7007],{"class":7006},[6995,43066,5102],{"class":7000},[6995,43068,7013],{"class":7012},[6995,43070,7016],{"class":7000},[6995,43072,43073,43075,43077,43079],{"class":244,"line":154},[6995,43074,7021],{"class":7006},[6995,43076,7024],{"class":7000},[6995,43078,8439],{"class":7006},[6995,43080,7030],{"class":7000},[6995,43082,43083,43085],{"class":244,"line":7033},[6995,43084,7732],{"class":7006},[6995,43086,7532],{"class":7000},[6995,43088,43089],{"class":244,"line":7044},[6995,43090,7537],{"class":7000},[6995,43092,43093,43095,43097,43099],{"class":244,"line":7107},[6995,43094,25195],{"class":7006},[6995,43096,7024],{"class":7000},[6995,43098,25200],{"class":7012},[6995,43100,7030],{"class":7000},[6995,43102,43103,43105,43107,43109],{"class":244,"line":7120},[6995,43104,25207],{"class":7006},[6995,43106,7024],{"class":7000},[6995,43108,25212],{"class":7012},[6995,43110,7030],{"class":7000},[6995,43112,43113,43115,43117,43119],{"class":244,"line":7133},[6995,43114,25219],{"class":7006},[6995,43116,7024],{"class":7000},[6995,43118,25224],{"class":7012},[6995,43120,7030],{"class":7000},[6995,43122,43123,43125,43127,43129],{"class":244,"line":7146},[6995,43124,22259],{"class":7006},[6995,43126,7024],{"class":7000},[6995,43128,25235],{"class":7006},[6995,43130,7030],{"class":7000},[6995,43132,43133,43135,43137,43139],{"class":244,"line":7159},[6995,43134,21741],{"class":7006},[6995,43136,7024],{"class":7000},[6995,43138,11001],{"class":7006},[6995,43140,7030],{"class":7000},[6995,43142,43143,43145,43147,43149],{"class":244,"line":7172},[6995,43144,25252],{"class":7006},[6995,43146,7024],{"class":7000},[6995,43148,25257],{"class":7012},[6995,43150,7030],{"class":7000},[6995,43152,43153,43155,43157,43159],{"class":244,"line":7185},[6995,43154,25264],{"class":7006},[6995,43156,7024],{"class":7000},[6995,43158,25269],{"class":7006},[6995,43160,7030],{"class":7000},[6995,43162,43163,43165,43167,43169],{"class":244,"line":7198},[6995,43164,25276],{"class":7006},[6995,43166,7024],{"class":7000},[6995,43168,25281],{"class":7012},[6995,43170,7030],{"class":7000},[6995,43172,43173,43175,43177,43179],{"class":244,"line":7211},[6995,43174,25288],{"class":7006},[6995,43176,7024],{"class":7000},[6995,43178,25293],{"class":7012},[6995,43180,7030],{"class":7000},[6995,43182,43183,43185,43187,43189],{"class":244,"line":7220},[6995,43184,25300],{"class":7006},[6995,43186,7024],{"class":7000},[6995,43188,25305],{"class":7012},[6995,43190,7030],{"class":7000},[6995,43192,43193,43195,43197],{"class":244,"line":7226},[6995,43194,25312],{"class":7006},[6995,43196,7024],{"class":7000},[6995,43198,25317],{"class":7006},[6995,43200,43201],{"class":244,"line":7238},[6995,43202,7615],{"class":7000},[6995,43204,43205],{"class":244,"line":7250},[6995,43206,7047],{"class":7000},[852,43208,43209,43213,43217,43221,43225,43229,43233,43237,43241,43245,43249],{},[59,43210,43211,25333],{},[611,43212,25332],{},[59,43214,43215,25339],{},[611,43216,25338],{},[59,43218,43219,25344],{},[611,43220,14358],{},[59,43222,43223,25349],{},[611,43224,16328],{},[59,43226,43227,25354],{},[611,43228,12542],{},[59,43230,43231,25360],{},[611,43232,25359],{},[59,43234,43235,25366],{},[611,43236,25365],{},[59,43238,43239,25372],{},[611,43240,25371],{},[59,43242,43243,25378],{},[611,43244,25377],{},[59,43246,43247,25384],{},[611,43248,25383],{},[59,43250,43251,25390],{},[611,43252,25389],{},[41,43254,25472],{"id":25472},[34,43256,32469],{},[34,43258,43259],{},[611,43260,6986],{},[616,43262,43263],{"className":6989,"code":32476,"language":6991,"meta":14,"style":14},[611,43264,43265,43269,43279,43289,43297],{"__ignoreMap":14},[6995,43266,43267],{"class":244,"line":6997},[6995,43268,7001],{"class":7000},[6995,43270,43271,43273,43275,43277],{"class":244,"line":15},[6995,43272,7007],{"class":7006},[6995,43274,7024],{"class":7000},[6995,43276,7013],{"class":7012},[6995,43278,7016],{"class":7000},[6995,43280,43281,43283,43285,43287],{"class":244,"line":154},[6995,43282,7021],{"class":7006},[6995,43284,7024],{"class":7000},[6995,43286,6679],{"class":7006},[6995,43288,7030],{"class":7000},[6995,43290,43291,43293,43295],{"class":244,"line":7033},[6995,43292,7036],{"class":7006},[6995,43294,7024],{"class":7000},[6995,43296,32511],{"class":7012},[6995,43298,43299],{"class":244,"line":7044},[6995,43300,7047],{"class":7000},[34,43302,43303],{},[611,43304,7052],{},[616,43306,43307],{"className":6989,"code":32522,"language":6991,"meta":14,"style":14},[611,43308,43309,43313,43323,43333,43339,43349,43359,43369,43379,43389,43399,43409,43419,43427,43431],{"__ignoreMap":14},[6995,43310,43311],{"class":244,"line":6997},[6995,43312,7001],{"class":7000},[6995,43314,43315,43317,43319,43321],{"class":244,"line":15},[6995,43316,7066],{"class":7006},[6995,43318,7024],{"class":7000},[6995,43320,6679],{"class":7006},[6995,43322,7030],{"class":7000},[6995,43324,43325,43327,43329,43331],{"class":244,"line":154},[6995,43326,7078],{"class":7006},[6995,43328,7024],{"class":7000},[6995,43330,7013],{"class":7012},[6995,43332,7030],{"class":7000},[6995,43334,43335,43337],{"class":244,"line":7033},[6995,43336,7089],{"class":7006},[6995,43338,7092],{"class":7000},[6995,43340,43341,43343,43345,43347],{"class":244,"line":7044},[6995,43342,32559],{"class":7006},[6995,43344,7024],{"class":7000},[6995,43346,32564],{"class":7012},[6995,43348,7030],{"class":7000},[6995,43350,43351,43353,43355,43357],{"class":244,"line":7107},[6995,43352,32571],{"class":7006},[6995,43354,7024],{"class":7000},[6995,43356,7027],{"class":7006},[6995,43358,7030],{"class":7000},[6995,43360,43361,43363,43365,43367],{"class":244,"line":7120},[6995,43362,32582],{"class":7006},[6995,43364,7024],{"class":7000},[6995,43366,6679],{"class":7006},[6995,43368,7030],{"class":7000},[6995,43370,43371,43373,43375,43377],{"class":244,"line":7133},[6995,43372,32593],{"class":7006},[6995,43374,7024],{"class":7000},[6995,43376,32598],{"class":7012},[6995,43378,7030],{"class":7000},[6995,43380,43381,43383,43385,43387],{"class":244,"line":7146},[6995,43382,32605],{"class":7006},[6995,43384,7024],{"class":7000},[6995,43386,32610],{"class":7012},[6995,43388,7030],{"class":7000},[6995,43390,43391,43393,43395,43397],{"class":244,"line":7159},[6995,43392,32617],{"class":7006},[6995,43394,7024],{"class":7000},[6995,43396,32622],{"class":7012},[6995,43398,7030],{"class":7000},[6995,43400,43401,43403,43405,43407],{"class":244,"line":7172},[6995,43402,32629],{"class":7006},[6995,43404,7024],{"class":7000},[6995,43406,7027],{"class":7006},[6995,43408,7030],{"class":7000},[6995,43410,43411,43413,43415,43417],{"class":244,"line":7185},[6995,43412,32640],{"class":7006},[6995,43414,7024],{"class":7000},[6995,43416,6679],{"class":7006},[6995,43418,7030],{"class":7000},[6995,43420,43421,43423,43425],{"class":244,"line":7198},[6995,43422,32651],{"class":7006},[6995,43424,7024],{"class":7000},[6995,43426,32656],{"class":7006},[6995,43428,43429],{"class":244,"line":7211},[6995,43430,7467],{"class":7000},[6995,43432,43433],{"class":244,"line":7220},[6995,43434,7047],{"class":7000},[852,43436,43437,43441],{},[59,43438,43439,32672],{},[611,43440,32671],{},[59,43442,43443,32678,43445,8764],{},[611,43444,32677],{},[175,43446,32681],{"href":32681,"rel":43447},[179],[41,43449,35407],{"id":35407},[34,43451,43452],{},"Add data to IPFS local node and pin it. Action is automatically cancelled on API restart.",[34,43454,43455],{},[611,43456,6986],{},[616,43458,43460],{"className":6989,"code":43459,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"ipfs_add\", \n    \"params\":\n    {\n        \"data\" : [1, 2, 3],\n        \"pin\"  : true,\n        \"timeout\": 5000\n    }\n}\n",[611,43461,43462,43466,43476,43486,43497,43503,43507,43525,43537,43547,43551],{"__ignoreMap":14},[6995,43463,43464],{"class":244,"line":6997},[6995,43465,7001],{"class":7000},[6995,43467,43468,43470,43472,43474],{"class":244,"line":15},[6995,43469,7007],{"class":7006},[6995,43471,5102],{"class":7000},[6995,43473,7013],{"class":7012},[6995,43475,7016],{"class":7000},[6995,43477,43478,43480,43482,43484],{"class":244,"line":154},[6995,43479,7021],{"class":7006},[6995,43481,7024],{"class":7000},[6995,43483,6679],{"class":7006},[6995,43485,7030],{"class":7000},[6995,43487,43488,43490,43492,43495],{"class":244,"line":7033},[6995,43489,7036],{"class":7006},[6995,43491,7024],{"class":7000},[6995,43493,43494],{"class":7012},"\"ipfs_add\"",[6995,43496,7016],{"class":7000},[6995,43498,43499,43501],{"class":244,"line":7044},[6995,43500,7529],{"class":7006},[6995,43502,7532],{"class":7000},[6995,43504,43505],{"class":244,"line":7107},[6995,43506,7537],{"class":7000},[6995,43508,43509,43511,43513,43515,43517,43519,43521,43523],{"class":244,"line":7120},[6995,43510,24712],{"class":7006},[6995,43512,19886],{"class":7000},[6995,43514,6679],{"class":7006},[6995,43516,2231],{"class":7000},[6995,43518,7511],{"class":7006},[6995,43520,2231],{"class":7000},[6995,43522,11136],{"class":7006},[6995,43524,19906],{"class":7000},[6995,43526,43527,43530,43533,43535],{"class":244,"line":7133},[6995,43528,43529],{"class":7006},"        \"pin\"",[6995,43531,43532],{"class":7000},"  : ",[6995,43534,8689],{"class":7006},[6995,43536,7030],{"class":7000},[6995,43538,43539,43542,43544],{"class":244,"line":7146},[6995,43540,43541],{"class":7006},"        \"timeout\"",[6995,43543,7024],{"class":7000},[6995,43545,43546],{"class":7006},"5000\n",[6995,43548,43549],{"class":244,"line":7159},[6995,43550,7615],{"class":7000},[6995,43552,43553],{"class":244,"line":7172},[6995,43554,7047],{"class":7000},[852,43556,43557,43562,43573],{},[59,43558,43559,43561],{},[611,43560,15730],{}," raw uint8 bytes array to store in IPFS",[59,43563,43564,43567,43568,43570,43571,181],{},[611,43565,43566],{},"pin"," optional bool, if ",[611,43569,8689],{}," data would also be pinned to the local IPFS node. Default is ",[611,43572,8689],{},[59,43574,43575,43578],{},[611,43576,43577],{},"timeout"," timeout in milliseconds. By default method doesn't timeout",[34,43580,43581],{},[611,43582,7052],{},[616,43584,43586],{"className":6989,"code":43585,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"hash\" : \"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\",\n        \"pinned\": true\n    }\n}\n",[611,43587,43588,43592,43602,43612,43618,43622,43634,43643,43647],{"__ignoreMap":14},[6995,43589,43590],{"class":244,"line":6997},[6995,43591,7001],{"class":7000},[6995,43593,43594,43596,43598,43600],{"class":244,"line":15},[6995,43595,7007],{"class":7006},[6995,43597,5102],{"class":7000},[6995,43599,7013],{"class":7012},[6995,43601,7016],{"class":7000},[6995,43603,43604,43606,43608,43610],{"class":244,"line":154},[6995,43605,7021],{"class":7006},[6995,43607,7024],{"class":7000},[6995,43609,6679],{"class":7006},[6995,43611,7030],{"class":7000},[6995,43613,43614,43616],{"class":244,"line":7033},[6995,43615,7732],{"class":7006},[6995,43617,11893],{"class":7000},[6995,43619,43620],{"class":244,"line":7044},[6995,43621,7537],{"class":7000},[6995,43623,43624,43627,43629,43632],{"class":244,"line":7107},[6995,43625,43626],{"class":7006},"        \"hash\"",[6995,43628,7746],{"class":7000},[6995,43630,43631],{"class":7012},"\"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\"",[6995,43633,7030],{"class":7000},[6995,43635,43636,43639,43641],{"class":244,"line":7120},[6995,43637,43638],{"class":7006},"        \"pinned\"",[6995,43640,7024],{"class":7000},[6995,43642,8505],{"class":7006},[6995,43644,43645],{"class":244,"line":7133},[6995,43646,7615],{"class":7000},[6995,43648,43649],{"class":244,"line":7146},[6995,43650,7047],{"class":7000},[852,43652,43653,43658],{},[59,43654,43655,43657],{},[611,43656,1149],{}," IPFS hash of the added data",[59,43659,43660,43663],{},[611,43661,43662],{},"pinned"," bool flag that indicates if data has been pinned or just added",[41,43665,35417],{"id":35417},[34,43667,43668],{},"Calculate IPFS hash (CID) of the data",[34,43670,43671],{},[611,43672,6986],{},[616,43674,43676],{"className":6989,"code":43675,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"ipfs_hash\", \n    \"params\":\n    {\n        \"data\" : [1, 2, 3],\n        \"timeout\": 5000\n    }\n}\n",[611,43677,43678,43682,43692,43702,43713,43719,43723,43741,43749,43753],{"__ignoreMap":14},[6995,43679,43680],{"class":244,"line":6997},[6995,43681,7001],{"class":7000},[6995,43683,43684,43686,43688,43690],{"class":244,"line":15},[6995,43685,7007],{"class":7006},[6995,43687,5102],{"class":7000},[6995,43689,7013],{"class":7012},[6995,43691,7016],{"class":7000},[6995,43693,43694,43696,43698,43700],{"class":244,"line":154},[6995,43695,7021],{"class":7006},[6995,43697,7024],{"class":7000},[6995,43699,6679],{"class":7006},[6995,43701,7030],{"class":7000},[6995,43703,43704,43706,43708,43711],{"class":244,"line":7033},[6995,43705,7036],{"class":7006},[6995,43707,7024],{"class":7000},[6995,43709,43710],{"class":7012},"\"ipfs_hash\"",[6995,43712,7016],{"class":7000},[6995,43714,43715,43717],{"class":244,"line":7044},[6995,43716,7529],{"class":7006},[6995,43718,7532],{"class":7000},[6995,43720,43721],{"class":244,"line":7107},[6995,43722,7537],{"class":7000},[6995,43724,43725,43727,43729,43731,43733,43735,43737,43739],{"class":244,"line":7120},[6995,43726,24712],{"class":7006},[6995,43728,19886],{"class":7000},[6995,43730,6679],{"class":7006},[6995,43732,2231],{"class":7000},[6995,43734,7511],{"class":7006},[6995,43736,2231],{"class":7000},[6995,43738,11136],{"class":7006},[6995,43740,19906],{"class":7000},[6995,43742,43743,43745,43747],{"class":244,"line":7133},[6995,43744,43541],{"class":7006},[6995,43746,7024],{"class":7000},[6995,43748,43546],{"class":7006},[6995,43750,43751],{"class":244,"line":7146},[6995,43752,7615],{"class":7000},[6995,43754,43755],{"class":244,"line":7159},[6995,43756,7047],{"class":7000},[852,43758,43759,43764],{},[59,43760,43761,43763],{},[611,43762,15730],{}," raw uint8 bytes to calculate hash of",[59,43765,43766,43578],{},[611,43767,43577],{},[34,43769,43770],{},[611,43771,7052],{},[616,43773,43775],{"className":6989,"code":43774,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"hash\" : \"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\"\n    }\n}\n",[611,43776,43777,43781,43791,43801,43807,43811,43820,43824],{"__ignoreMap":14},[6995,43778,43779],{"class":244,"line":6997},[6995,43780,7001],{"class":7000},[6995,43782,43783,43785,43787,43789],{"class":244,"line":15},[6995,43784,7007],{"class":7006},[6995,43786,5102],{"class":7000},[6995,43788,7013],{"class":7012},[6995,43790,7016],{"class":7000},[6995,43792,43793,43795,43797,43799],{"class":244,"line":154},[6995,43794,7021],{"class":7006},[6995,43796,7024],{"class":7000},[6995,43798,6679],{"class":7006},[6995,43800,7030],{"class":7000},[6995,43802,43803,43805],{"class":244,"line":7033},[6995,43804,7732],{"class":7006},[6995,43806,11893],{"class":7000},[6995,43808,43809],{"class":244,"line":7044},[6995,43810,7537],{"class":7000},[6995,43812,43813,43815,43817],{"class":244,"line":7107},[6995,43814,43626],{"class":7006},[6995,43816,7746],{"class":7000},[6995,43818,43819],{"class":7012},"\"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\"\n",[6995,43821,43822],{"class":244,"line":7120},[6995,43823,7615],{"class":7000},[6995,43825,43826],{"class":244,"line":7133},[6995,43827,7047],{"class":7000},[852,43829,43830],{},[59,43831,43832,43834],{},[611,43833,1149],{}," IPFS hash of the data",[41,43836,35427],{"id":35427},[34,43838,43839],{},"Get data from IPFS by hash. Action is automatically cancelled on API restart. May take a lot of time if data is not present on the local node.",[34,43841,43842],{},[611,43843,6986],{},[616,43845,43847],{"className":6989,"code":43846,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"ipfs_get\", \n    \"params\":\n    {\n        \"hash\" : \"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\",\n        \"timeout\": 5000\n    }\n}\n",[611,43848,43849,43853,43863,43873,43884,43890,43894,43904,43912,43916],{"__ignoreMap":14},[6995,43850,43851],{"class":244,"line":6997},[6995,43852,7001],{"class":7000},[6995,43854,43855,43857,43859,43861],{"class":244,"line":15},[6995,43856,7007],{"class":7006},[6995,43858,5102],{"class":7000},[6995,43860,7013],{"class":7012},[6995,43862,7016],{"class":7000},[6995,43864,43865,43867,43869,43871],{"class":244,"line":154},[6995,43866,7021],{"class":7006},[6995,43868,7024],{"class":7000},[6995,43870,6679],{"class":7006},[6995,43872,7030],{"class":7000},[6995,43874,43875,43877,43879,43882],{"class":244,"line":7033},[6995,43876,7036],{"class":7006},[6995,43878,7024],{"class":7000},[6995,43880,43881],{"class":7012},"\"ipfs_get\"",[6995,43883,7016],{"class":7000},[6995,43885,43886,43888],{"class":244,"line":7044},[6995,43887,7529],{"class":7006},[6995,43889,7532],{"class":7000},[6995,43891,43892],{"class":244,"line":7107},[6995,43893,7537],{"class":7000},[6995,43895,43896,43898,43900,43902],{"class":244,"line":7120},[6995,43897,43626],{"class":7006},[6995,43899,7746],{"class":7000},[6995,43901,43631],{"class":7012},[6995,43903,7030],{"class":7000},[6995,43905,43906,43908,43910],{"class":244,"line":7133},[6995,43907,43541],{"class":7006},[6995,43909,7024],{"class":7000},[6995,43911,43546],{"class":7006},[6995,43913,43914],{"class":244,"line":7146},[6995,43915,7615],{"class":7000},[6995,43917,43918],{"class":244,"line":7159},[6995,43919,7047],{"class":7000},[852,43921,43922,43927],{},[59,43923,43924,43926],{},[611,43925,1149],{}," IPFS has of the data to get",[59,43928,43929,43578],{},[611,43930,43577],{},[34,43932,43933],{},[611,43934,7052],{},[616,43936,43938],{"className":6989,"code":43937,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"hash\" : \"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\",\n        \"data\" : [1, 2, 3]\n    }\n}\n",[611,43939,43940,43944,43954,43964,43970,43974,43984,44002,44006],{"__ignoreMap":14},[6995,43941,43942],{"class":244,"line":6997},[6995,43943,7001],{"class":7000},[6995,43945,43946,43948,43950,43952],{"class":244,"line":15},[6995,43947,7007],{"class":7006},[6995,43949,5102],{"class":7000},[6995,43951,7013],{"class":7012},[6995,43953,7016],{"class":7000},[6995,43955,43956,43958,43960,43962],{"class":244,"line":154},[6995,43957,7021],{"class":7006},[6995,43959,7024],{"class":7000},[6995,43961,6679],{"class":7006},[6995,43963,7030],{"class":7000},[6995,43965,43966,43968],{"class":244,"line":7033},[6995,43967,7732],{"class":7006},[6995,43969,11893],{"class":7000},[6995,43971,43972],{"class":244,"line":7044},[6995,43973,7537],{"class":7000},[6995,43975,43976,43978,43980,43982],{"class":244,"line":7107},[6995,43977,43626],{"class":7006},[6995,43979,7746],{"class":7000},[6995,43981,43631],{"class":7012},[6995,43983,7030],{"class":7000},[6995,43985,43986,43988,43990,43992,43994,43996,43998,44000],{"class":244,"line":7120},[6995,43987,24712],{"class":7006},[6995,43989,19886],{"class":7000},[6995,43991,6679],{"class":7006},[6995,43993,2231],{"class":7000},[6995,43995,7511],{"class":7006},[6995,43997,2231],{"class":7000},[6995,43999,11136],{"class":7006},[6995,44001,13671],{"class":7000},[6995,44003,44004],{"class":244,"line":7133},[6995,44005,7615],{"class":7000},[6995,44007,44008],{"class":244,"line":7146},[6995,44009,7047],{"class":7000},[852,44011,44012,44016],{},[59,44013,44014,43834],{},[611,44015,1149],{},[59,44017,44018,44020],{},[611,44019,15730],{}," actual data as uint8 bytes array",[41,44022,35437],{"id":35437},[34,44024,44025,44026,44028],{},"Pin data to the local node. If data is not stored in the local node it is discovered and downloaded (",[611,44027,35427],{},"). Action is automatically cancelled at API restart. May take a lot of time.",[34,44030,44031],{},[611,44032,6986],{},[616,44034,44036],{"className":6989,"code":44035,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"ipfs_pin\", \n    \"params\":\n    {\n        \"hash\" : \"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\",\n        \"timeout\": 5000\n    }\n}\n",[611,44037,44038,44042,44052,44062,44073,44079,44083,44093,44101,44105],{"__ignoreMap":14},[6995,44039,44040],{"class":244,"line":6997},[6995,44041,7001],{"class":7000},[6995,44043,44044,44046,44048,44050],{"class":244,"line":15},[6995,44045,7007],{"class":7006},[6995,44047,5102],{"class":7000},[6995,44049,7013],{"class":7012},[6995,44051,7016],{"class":7000},[6995,44053,44054,44056,44058,44060],{"class":244,"line":154},[6995,44055,7021],{"class":7006},[6995,44057,7024],{"class":7000},[6995,44059,6679],{"class":7006},[6995,44061,7030],{"class":7000},[6995,44063,44064,44066,44068,44071],{"class":244,"line":7033},[6995,44065,7036],{"class":7006},[6995,44067,7024],{"class":7000},[6995,44069,44070],{"class":7012},"\"ipfs_pin\"",[6995,44072,7016],{"class":7000},[6995,44074,44075,44077],{"class":244,"line":7044},[6995,44076,7529],{"class":7006},[6995,44078,7532],{"class":7000},[6995,44080,44081],{"class":244,"line":7107},[6995,44082,7537],{"class":7000},[6995,44084,44085,44087,44089,44091],{"class":244,"line":7120},[6995,44086,43626],{"class":7006},[6995,44088,7746],{"class":7000},[6995,44090,43631],{"class":7012},[6995,44092,7030],{"class":7000},[6995,44094,44095,44097,44099],{"class":244,"line":7133},[6995,44096,43541],{"class":7006},[6995,44098,7024],{"class":7000},[6995,44100,43546],{"class":7006},[6995,44102,44103],{"class":244,"line":7146},[6995,44104,7615],{"class":7000},[6995,44106,44107],{"class":244,"line":7159},[6995,44108,7047],{"class":7000},[852,44110,44111,44116],{},[59,44112,44113,44115],{},[611,44114,1149],{}," IPFS has of the data to pin",[59,44117,44118,43578],{},[611,44119,43577],{},[34,44121,44122],{},[611,44123,7052],{},[616,44125,44126],{"className":6989,"code":43774,"language":6991,"meta":14,"style":14},[611,44127,44128,44132,44142,44152,44158,44162,44170,44174],{"__ignoreMap":14},[6995,44129,44130],{"class":244,"line":6997},[6995,44131,7001],{"class":7000},[6995,44133,44134,44136,44138,44140],{"class":244,"line":15},[6995,44135,7007],{"class":7006},[6995,44137,5102],{"class":7000},[6995,44139,7013],{"class":7012},[6995,44141,7016],{"class":7000},[6995,44143,44144,44146,44148,44150],{"class":244,"line":154},[6995,44145,7021],{"class":7006},[6995,44147,7024],{"class":7000},[6995,44149,6679],{"class":7006},[6995,44151,7030],{"class":7000},[6995,44153,44154,44156],{"class":244,"line":7033},[6995,44155,7732],{"class":7006},[6995,44157,11893],{"class":7000},[6995,44159,44160],{"class":244,"line":7044},[6995,44161,7537],{"class":7000},[6995,44163,44164,44166,44168],{"class":244,"line":7107},[6995,44165,43626],{"class":7006},[6995,44167,7746],{"class":7000},[6995,44169,43819],{"class":7012},[6995,44171,44172],{"class":244,"line":7120},[6995,44173,7615],{"class":7000},[6995,44175,44176],{"class":244,"line":7133},[6995,44177,7047],{"class":7000},[852,44179,44180],{},[59,44181,44182,44184],{},[611,44183,1149],{}," IPFS hash of the pinned data",[41,44186,35447],{"id":35447},[34,44188,44189,44190,44192],{},"Unpin data from the local node. Data is not deleted and will be available via ",[611,44191,35427],{}," until garbage collected.",[34,44194,44195],{},[611,44196,6986],{},[616,44198,44200],{"className":6989,"code":44199,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"ipfs_unpin\", \n    \"params\":\n    {\n        \"hash\" : \"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\"\n    }\n}\n",[611,44201,44202,44206,44216,44226,44237,44243,44247,44255,44259],{"__ignoreMap":14},[6995,44203,44204],{"class":244,"line":6997},[6995,44205,7001],{"class":7000},[6995,44207,44208,44210,44212,44214],{"class":244,"line":15},[6995,44209,7007],{"class":7006},[6995,44211,5102],{"class":7000},[6995,44213,7013],{"class":7012},[6995,44215,7016],{"class":7000},[6995,44217,44218,44220,44222,44224],{"class":244,"line":154},[6995,44219,7021],{"class":7006},[6995,44221,7024],{"class":7000},[6995,44223,6679],{"class":7006},[6995,44225,7030],{"class":7000},[6995,44227,44228,44230,44232,44235],{"class":244,"line":7033},[6995,44229,7036],{"class":7006},[6995,44231,7024],{"class":7000},[6995,44233,44234],{"class":7012},"\"ipfs_unpin\"",[6995,44236,7016],{"class":7000},[6995,44238,44239,44241],{"class":244,"line":7044},[6995,44240,7529],{"class":7006},[6995,44242,7532],{"class":7000},[6995,44244,44245],{"class":244,"line":7107},[6995,44246,7537],{"class":7000},[6995,44248,44249,44251,44253],{"class":244,"line":7120},[6995,44250,43626],{"class":7006},[6995,44252,7746],{"class":7000},[6995,44254,43819],{"class":7012},[6995,44256,44257],{"class":244,"line":7133},[6995,44258,7615],{"class":7000},[6995,44260,44261],{"class":244,"line":7146},[6995,44262,7047],{"class":7000},[852,44264,44265],{},[59,44266,44267,44269],{},[611,44268,1149],{}," IPFS has of the data to unpin",[34,44271,44272],{},[611,44273,7052],{},[616,44275,44276],{"className":6989,"code":43774,"language":6991,"meta":14,"style":14},[611,44277,44278,44282,44292,44302,44308,44312,44320,44324],{"__ignoreMap":14},[6995,44279,44280],{"class":244,"line":6997},[6995,44281,7001],{"class":7000},[6995,44283,44284,44286,44288,44290],{"class":244,"line":15},[6995,44285,7007],{"class":7006},[6995,44287,5102],{"class":7000},[6995,44289,7013],{"class":7012},[6995,44291,7016],{"class":7000},[6995,44293,44294,44296,44298,44300],{"class":244,"line":154},[6995,44295,7021],{"class":7006},[6995,44297,7024],{"class":7000},[6995,44299,6679],{"class":7006},[6995,44301,7030],{"class":7000},[6995,44303,44304,44306],{"class":244,"line":7033},[6995,44305,7732],{"class":7006},[6995,44307,11893],{"class":7000},[6995,44309,44310],{"class":244,"line":7044},[6995,44311,7537],{"class":7000},[6995,44313,44314,44316,44318],{"class":244,"line":7107},[6995,44315,43626],{"class":7006},[6995,44317,7746],{"class":7000},[6995,44319,43819],{"class":7012},[6995,44321,44322],{"class":244,"line":7120},[6995,44323,7615],{"class":7000},[6995,44325,44326],{"class":244,"line":7133},[6995,44327,7047],{"class":7000},[852,44329,44330],{},[59,44331,44332,44334],{},[611,44333,1149],{}," IPFS hash of the unpinned data",[41,44336,35457],{"id":35457},[34,44338,44339],{},"Garbage collect IPFS storage, i.e. delete unpinned data until storage has at least 10% of free space (default settings). May take a lot of time. In desktop client gc is run automatically every hour.",[34,44341,44342],{},[611,44343,6986],{},[616,44345,44347],{"className":6989,"code":44346,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"ipfs_gc\", \n    \"params\":\n    {\n        \"timeout\" : 60000\n    }\n}\n",[611,44348,44349,44353,44363,44373,44384,44390,44394,44403,44407],{"__ignoreMap":14},[6995,44350,44351],{"class":244,"line":6997},[6995,44352,7001],{"class":7000},[6995,44354,44355,44357,44359,44361],{"class":244,"line":15},[6995,44356,7007],{"class":7006},[6995,44358,5102],{"class":7000},[6995,44360,7013],{"class":7012},[6995,44362,7016],{"class":7000},[6995,44364,44365,44367,44369,44371],{"class":244,"line":154},[6995,44366,7021],{"class":7006},[6995,44368,7024],{"class":7000},[6995,44370,6679],{"class":7006},[6995,44372,7030],{"class":7000},[6995,44374,44375,44377,44379,44382],{"class":244,"line":7033},[6995,44376,7036],{"class":7006},[6995,44378,7024],{"class":7000},[6995,44380,44381],{"class":7012},"\"ipfs_gc\"",[6995,44383,7016],{"class":7000},[6995,44385,44386,44388],{"class":244,"line":7044},[6995,44387,7529],{"class":7006},[6995,44389,7532],{"class":7000},[6995,44391,44392],{"class":244,"line":7107},[6995,44393,7537],{"class":7000},[6995,44395,44396,44398,44400],{"class":244,"line":7120},[6995,44397,43541],{"class":7006},[6995,44399,7746],{"class":7000},[6995,44401,44402],{"class":7006},"60000\n",[6995,44404,44405],{"class":244,"line":7133},[6995,44406,7615],{"class":7000},[6995,44408,44409],{"class":244,"line":7146},[6995,44410,7047],{"class":7000},[852,44412,44413],{},[59,44414,44415,43578],{},[611,44416,43577],{},[34,44418,44419],{},[611,44420,7052],{},[616,44422,44424],{"className":6989,"code":44423,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"result\" : true\n    }\n}\n",[611,44425,44426,44430,44440,44450,44456,44460,44469,44473],{"__ignoreMap":14},[6995,44427,44428],{"class":244,"line":6997},[6995,44429,7001],{"class":7000},[6995,44431,44432,44434,44436,44438],{"class":244,"line":15},[6995,44433,7007],{"class":7006},[6995,44435,5102],{"class":7000},[6995,44437,7013],{"class":7012},[6995,44439,7016],{"class":7000},[6995,44441,44442,44444,44446,44448],{"class":244,"line":154},[6995,44443,7021],{"class":7006},[6995,44445,7024],{"class":7000},[6995,44447,6679],{"class":7006},[6995,44449,7030],{"class":7000},[6995,44451,44452,44454],{"class":244,"line":7033},[6995,44453,7732],{"class":7006},[6995,44455,11893],{"class":7000},[6995,44457,44458],{"class":244,"line":7044},[6995,44459,7537],{"class":7000},[6995,44461,44462,44465,44467],{"class":244,"line":7107},[6995,44463,44464],{"class":7006},"        \"result\"",[6995,44466,7746],{"class":7000},[6995,44468,8505],{"class":7006},[6995,44470,44471],{"class":244,"line":7120},[6995,44472,7615],{"class":7000},[6995,44474,44475],{"class":244,"line":7133},[6995,44476,7047],{"class":7000},[852,44478,44479],{},[59,44480,44481,44483],{},[611,44482,15735],{}," success flag",[41,44485,25480],{"id":25480},[34,44487,32687],{},[34,44489,44490],{},[611,44491,6986],{},[616,44493,44494],{"className":6989,"code":32694,"language":6991,"meta":14,"style":14},[611,44495,44496,44500,44510,44520,44530,44536,44546,44556,44566,44576,44586,44594,44598],{"__ignoreMap":14},[6995,44497,44498],{"class":244,"line":6997},[6995,44499,7001],{"class":7000},[6995,44501,44502,44504,44506,44508],{"class":244,"line":15},[6995,44503,7007],{"class":7006},[6995,44505,7024],{"class":7000},[6995,44507,7013],{"class":7012},[6995,44509,7016],{"class":7000},[6995,44511,44512,44514,44516,44518],{"class":244,"line":154},[6995,44513,7021],{"class":7006},[6995,44515,7024],{"class":7000},[6995,44517,6679],{"class":7006},[6995,44519,7030],{"class":7000},[6995,44521,44522,44524,44526,44528],{"class":244,"line":7033},[6995,44523,7036],{"class":7006},[6995,44525,7024],{"class":7000},[6995,44527,32729],{"class":7012},[6995,44529,7030],{"class":7000},[6995,44531,44532,44534],{"class":244,"line":7044},[6995,44533,7529],{"class":7006},[6995,44535,7092],{"class":7000},[6995,44537,44538,44540,44542,44544],{"class":244,"line":7107},[6995,44539,32742],{"class":7006},[6995,44541,7024],{"class":7000},[6995,44543,8689],{"class":7006},[6995,44545,7030],{"class":7000},[6995,44547,44548,44550,44552,44554],{"class":244,"line":7120},[6995,44549,32753],{"class":7006},[6995,44551,7024],{"class":7000},[6995,44553,8689],{"class":7006},[6995,44555,7030],{"class":7000},[6995,44557,44558,44560,44562,44564],{"class":244,"line":7133},[6995,44559,32764],{"class":7006},[6995,44561,7024],{"class":7000},[6995,44563,8689],{"class":7006},[6995,44565,7030],{"class":7000},[6995,44567,44568,44570,44572,44574],{"class":244,"line":7146},[6995,44569,32775],{"class":7006},[6995,44571,7024],{"class":7000},[6995,44573,8689],{"class":7006},[6995,44575,7030],{"class":7000},[6995,44577,44578,44580,44582,44584],{"class":244,"line":7159},[6995,44579,32786],{"class":7006},[6995,44581,7024],{"class":7000},[6995,44583,8689],{"class":7006},[6995,44585,7030],{"class":7000},[6995,44587,44588,44590,44592],{"class":244,"line":7172},[6995,44589,32797],{"class":7006},[6995,44591,7024],{"class":7000},[6995,44593,8505],{"class":7006},[6995,44595,44596],{"class":244,"line":7185},[6995,44597,7615],{"class":7000},[6995,44599,44600],{"class":244,"line":7198},[6995,44601,7047],{"class":7000},[34,44603,44604],{},[611,44605,7052],{},[616,44607,44608],{"className":6989,"code":32816,"language":6991,"meta":14,"style":14},[611,44609,44610,44614,44624,44634,44642],{"__ignoreMap":14},[6995,44611,44612],{"class":244,"line":6997},[6995,44613,7001],{"class":7000},[6995,44615,44616,44618,44620,44622],{"class":244,"line":15},[6995,44617,7066],{"class":7006},[6995,44619,7024],{"class":7000},[6995,44621,6679],{"class":7006},[6995,44623,7030],{"class":7000},[6995,44625,44626,44628,44630,44632],{"class":244,"line":154},[6995,44627,7078],{"class":7006},[6995,44629,7024],{"class":7000},[6995,44631,7013],{"class":7012},[6995,44633,7030],{"class":7000},[6995,44635,44636,44638,44640],{"class":244,"line":7033},[6995,44637,7089],{"class":7006},[6995,44639,7024],{"class":7000},[6995,44641,8505],{"class":7006},[6995,44643,44644],{"class":244,"line":7044},[6995,44645,7047],{"class":7000},[852,44647,44648],{},[59,44649,44650,32862,44652,32865],{},[611,44651,32861],{},[611,44653,32861],{},[41,44655,25551],{"id":25551},[34,44657,32967],{},[852,44659,44660,44662],{},[59,44661,32972],{},[59,44663,32975],{},[34,44665,32978],{},[34,44667,44668],{},[611,44669,32983],{},[616,44671,44672],{"className":6989,"code":32986,"language":6991,"meta":14,"style":14},[611,44673,44674,44678,44688,44698,44704,44714,44724,44734,44744,44754,44764,44774,44784,44794,44804,44812,44816],{"__ignoreMap":14},[6995,44675,44676],{"class":244,"line":6997},[6995,44677,7001],{"class":7000},[6995,44679,44680,44682,44684,44686],{"class":244,"line":15},[6995,44681,7066],{"class":7006},[6995,44683,7024],{"class":7000},[6995,44685,33001],{"class":7012},[6995,44687,7030],{"class":7000},[6995,44689,44690,44692,44694,44696],{"class":244,"line":154},[6995,44691,7078],{"class":7006},[6995,44693,7024],{"class":7000},[6995,44695,7013],{"class":7012},[6995,44697,7030],{"class":7000},[6995,44699,44700,44702],{"class":244,"line":7033},[6995,44701,7089],{"class":7006},[6995,44703,7092],{"class":7000},[6995,44705,44706,44708,44710,44712],{"class":244,"line":7044},[6995,44707,7097],{"class":7006},[6995,44709,7024],{"class":7000},[6995,44711,33028],{"class":7006},[6995,44713,7030],{"class":7000},[6995,44715,44716,44718,44720,44722],{"class":244,"line":7107},[6995,44717,7110],{"class":7006},[6995,44719,7024],{"class":7000},[6995,44721,33039],{"class":7012},[6995,44723,7030],{"class":7000},[6995,44725,44726,44728,44730,44732],{"class":244,"line":7120},[6995,44727,29521],{"class":7006},[6995,44729,7024],{"class":7000},[6995,44731,33050],{"class":7006},[6995,44733,7030],{"class":7000},[6995,44735,44736,44738,44740,44742],{"class":244,"line":7133},[6995,44737,33057],{"class":7006},[6995,44739,7024],{"class":7000},[6995,44741,7180],{"class":7006},[6995,44743,7030],{"class":7000},[6995,44745,44746,44748,44750,44752],{"class":244,"line":7146},[6995,44747,33068],{"class":7006},[6995,44749,7024],{"class":7000},[6995,44751,7511],{"class":7006},[6995,44753,7030],{"class":7000},[6995,44755,44756,44758,44760,44762],{"class":244,"line":7159},[6995,44757,29542],{"class":7006},[6995,44759,7024],{"class":7000},[6995,44761,8689],{"class":7006},[6995,44763,7030],{"class":7000},[6995,44765,44766,44768,44770,44772],{"class":244,"line":7172},[6995,44767,7136],{"class":7006},[6995,44769,7024],{"class":7000},[6995,44771,33093],{"class":7012},[6995,44773,7030],{"class":7000},[6995,44775,44776,44778,44780,44782],{"class":244,"line":7185},[6995,44777,33100],{"class":7006},[6995,44779,7024],{"class":7000},[6995,44781,33105],{"class":7006},[6995,44783,7030],{"class":7000},[6995,44785,44786,44788,44790,44792],{"class":244,"line":7198},[6995,44787,33112],{"class":7006},[6995,44789,7024],{"class":7000},[6995,44791,33039],{"class":7012},[6995,44793,7030],{"class":7000},[6995,44795,44796,44798,44800,44802],{"class":244,"line":7211},[6995,44797,33123],{"class":7006},[6995,44799,7024],{"class":7000},[6995,44801,33128],{"class":7012},[6995,44803,7030],{"class":7000},[6995,44805,44806,44808,44810],{"class":244,"line":7220},[6995,44807,33135],{"class":7006},[6995,44809,7024],{"class":7000},[6995,44811,33140],{"class":7006},[6995,44813,44814],{"class":244,"line":7226},[6995,44815,7467],{"class":7000},[6995,44817,44818],{"class":244,"line":7238},[6995,44819,7047],{"class":7000},[34,44821,33151,44822,10072,44824,33158,44826,33162,44828,33165,44830,33168,44832,33171,44834,33174],{},[611,44823,33154],{},[611,44825,33157],{},[611,44827,33161],{},[611,44829,33157],{},[611,44831,33154],{},[611,44833,25499],{},[611,44835,25499],{},[34,44837,44838],{},[611,44839,33179],{},[616,44841,44842],{"className":6989,"code":33182,"language":6991,"meta":14,"style":14},[611,44843,44844,44848,44858,44868,44874,44884,44894,44904,44914,44924,44934,44944,44954,44964,44974,44982,44986],{"__ignoreMap":14},[6995,44845,44846],{"class":244,"line":6997},[6995,44847,7001],{"class":7000},[6995,44849,44850,44852,44854,44856],{"class":244,"line":15},[6995,44851,7066],{"class":7006},[6995,44853,7024],{"class":7000},[6995,44855,33001],{"class":7012},[6995,44857,7030],{"class":7000},[6995,44859,44860,44862,44864,44866],{"class":244,"line":154},[6995,44861,7078],{"class":7006},[6995,44863,7024],{"class":7000},[6995,44865,7013],{"class":7012},[6995,44867,7030],{"class":7000},[6995,44869,44870,44872],{"class":244,"line":7033},[6995,44871,7089],{"class":7006},[6995,44873,7092],{"class":7000},[6995,44875,44876,44878,44880,44882],{"class":244,"line":7044},[6995,44877,7097],{"class":7006},[6995,44879,7024],{"class":7000},[6995,44881,33028],{"class":7006},[6995,44883,7030],{"class":7000},[6995,44885,44886,44888,44890,44892],{"class":244,"line":7107},[6995,44887,7110],{"class":7006},[6995,44889,7024],{"class":7000},[6995,44891,33039],{"class":7012},[6995,44893,7030],{"class":7000},[6995,44895,44896,44898,44900,44902],{"class":244,"line":7120},[6995,44897,29521],{"class":7006},[6995,44899,7024],{"class":7000},[6995,44901,33050],{"class":7006},[6995,44903,7030],{"class":7000},[6995,44905,44906,44908,44910,44912],{"class":244,"line":7133},[6995,44907,33057],{"class":7006},[6995,44909,7024],{"class":7000},[6995,44911,6679],{"class":7006},[6995,44913,7030],{"class":7000},[6995,44915,44916,44918,44920,44922],{"class":244,"line":7146},[6995,44917,33068],{"class":7006},[6995,44919,7024],{"class":7000},[6995,44921,7511],{"class":7006},[6995,44923,7030],{"class":7000},[6995,44925,44926,44928,44930,44932],{"class":244,"line":7159},[6995,44927,29542],{"class":7006},[6995,44929,7024],{"class":7000},[6995,44931,8689],{"class":7006},[6995,44933,7030],{"class":7000},[6995,44935,44936,44938,44940,44942],{"class":244,"line":7172},[6995,44937,7136],{"class":7006},[6995,44939,7024],{"class":7000},[6995,44941,33093],{"class":7012},[6995,44943,7030],{"class":7000},[6995,44945,44946,44948,44950,44952],{"class":244,"line":7185},[6995,44947,33100],{"class":7006},[6995,44949,7024],{"class":7000},[6995,44951,33105],{"class":7006},[6995,44953,7030],{"class":7000},[6995,44955,44956,44958,44960,44962],{"class":244,"line":7198},[6995,44957,33112],{"class":7006},[6995,44959,7024],{"class":7000},[6995,44961,33039],{"class":7012},[6995,44963,7030],{"class":7000},[6995,44965,44966,44968,44970,44972],{"class":244,"line":7211},[6995,44967,33123],{"class":7006},[6995,44969,7024],{"class":7000},[6995,44971,33128],{"class":7012},[6995,44973,7030],{"class":7000},[6995,44975,44976,44978,44980],{"class":244,"line":7220},[6995,44977,33135],{"class":7006},[6995,44979,7024],{"class":7000},[6995,44981,33140],{"class":7006},[6995,44983,44984],{"class":244,"line":7226},[6995,44985,7467],{"class":7000},[6995,44987,44988],{"class":244,"line":7238},[6995,44989,7047],{"class":7000},[34,44991,33333,44992,33336,44994,33340],{},[611,44993,33161],{},[611,44995,33339],{},[34,44997,44998],{},[611,44999,33345],{},[616,45001,45002],{"className":6989,"code":33348,"language":6991,"meta":14,"style":14},[611,45003,45004,45008,45018,45028,45034,45044,45054,45064,45074,45084,45094,45104,45114,45124,45134,45142,45146,45150,45154,45178,45182,45190,45194,45198,45208,45218,45224,45234,45244,45254,45264,45274,45284,45294,45304,45314,45324,45332,45336],{"__ignoreMap":14},[6995,45005,45006],{"class":244,"line":6997},[6995,45007,7001],{"class":7000},[6995,45009,45010,45012,45014,45016],{"class":244,"line":15},[6995,45011,7066],{"class":7006},[6995,45013,7024],{"class":7000},[6995,45015,33001],{"class":7012},[6995,45017,7030],{"class":7000},[6995,45019,45020,45022,45024,45026],{"class":244,"line":154},[6995,45021,7078],{"class":7006},[6995,45023,7024],{"class":7000},[6995,45025,7013],{"class":7012},[6995,45027,7030],{"class":7000},[6995,45029,45030,45032],{"class":244,"line":7033},[6995,45031,7089],{"class":7006},[6995,45033,7092],{"class":7000},[6995,45035,45036,45038,45040,45042],{"class":244,"line":7044},[6995,45037,7097],{"class":7006},[6995,45039,7024],{"class":7000},[6995,45041,33028],{"class":7006},[6995,45043,7030],{"class":7000},[6995,45045,45046,45048,45050,45052],{"class":244,"line":7107},[6995,45047,7110],{"class":7006},[6995,45049,7024],{"class":7000},[6995,45051,33039],{"class":7012},[6995,45053,7030],{"class":7000},[6995,45055,45056,45058,45060,45062],{"class":244,"line":7120},[6995,45057,29521],{"class":7006},[6995,45059,7024],{"class":7000},[6995,45061,33050],{"class":7006},[6995,45063,7030],{"class":7000},[6995,45065,45066,45068,45070,45072],{"class":244,"line":7133},[6995,45067,33057],{"class":7006},[6995,45069,7024],{"class":7000},[6995,45071,7511],{"class":7006},[6995,45073,7030],{"class":7000},[6995,45075,45076,45078,45080,45082],{"class":244,"line":7146},[6995,45077,33068],{"class":7006},[6995,45079,7024],{"class":7000},[6995,45081,7511],{"class":7006},[6995,45083,7030],{"class":7000},[6995,45085,45086,45088,45090,45092],{"class":244,"line":7159},[6995,45087,29542],{"class":7006},[6995,45089,7024],{"class":7000},[6995,45091,8689],{"class":7006},[6995,45093,7030],{"class":7000},[6995,45095,45096,45098,45100,45102],{"class":244,"line":7172},[6995,45097,7136],{"class":7006},[6995,45099,7024],{"class":7000},[6995,45101,33093],{"class":7012},[6995,45103,7030],{"class":7000},[6995,45105,45106,45108,45110,45112],{"class":244,"line":7185},[6995,45107,33100],{"class":7006},[6995,45109,7024],{"class":7000},[6995,45111,33105],{"class":7006},[6995,45113,7030],{"class":7000},[6995,45115,45116,45118,45120,45122],{"class":244,"line":7198},[6995,45117,33112],{"class":7006},[6995,45119,7024],{"class":7000},[6995,45121,33039],{"class":7012},[6995,45123,7030],{"class":7000},[6995,45125,45126,45128,45130,45132],{"class":244,"line":7211},[6995,45127,33123],{"class":7006},[6995,45129,7024],{"class":7000},[6995,45131,33128],{"class":7012},[6995,45133,7030],{"class":7000},[6995,45135,45136,45138,45140],{"class":244,"line":7220},[6995,45137,33135],{"class":7006},[6995,45139,7024],{"class":7000},[6995,45141,33140],{"class":7006},[6995,45143,45144],{"class":244,"line":7226},[6995,45145,7467],{"class":7000},[6995,45147,45148],{"class":244,"line":7238},[6995,45149,7047],{"class":7000},[6995,45151,45152],{"class":244,"line":7250},[6995,45153,14371],{"emptyLinePlaceholder":20},[6995,45155,45156,45158,45160,45162,45164,45166,45168,45170,45172,45174,45176],{"class":244,"line":7263},[6995,45157,33505],{"class":7000},[6995,45159,11136],{"class":7006},[6995,45161,33510],{"class":7000},[6995,45163,7511],{"class":7006},[6995,45165,33515],{"class":7000},[6995,45167,7511],{"class":7006},[6995,45169,33520],{"class":7000},[6995,45171,7511],{"class":7006},[6995,45173,33525],{"class":7000},[6995,45175,33028],{"class":7006},[6995,45177,33530],{"class":7000},[6995,45179,45180],{"class":244,"line":7275},[6995,45181,14371],{"emptyLinePlaceholder":20},[6995,45183,45184,45186,45188],{"class":244,"line":7288},[6995,45185,33539],{"class":7000},[6995,45187,8439],{"class":7006},[6995,45189,33544],{"class":7000},[6995,45191,45192],{"class":244,"line":7300},[6995,45193,33549],{"class":7000},[6995,45195,45196],{"class":244,"line":7313},[6995,45197,7001],{"class":7000},[6995,45199,45200,45202,45204,45206],{"class":244,"line":7325},[6995,45201,7066],{"class":7006},[6995,45203,7024],{"class":7000},[6995,45205,33001],{"class":7012},[6995,45207,7030],{"class":7000},[6995,45209,45210,45212,45214,45216],{"class":244,"line":7336},[6995,45211,7078],{"class":7006},[6995,45213,7024],{"class":7000},[6995,45215,7013],{"class":7012},[6995,45217,7030],{"class":7000},[6995,45219,45220,45222],{"class":244,"line":7342},[6995,45221,7089],{"class":7006},[6995,45223,7092],{"class":7000},[6995,45225,45226,45228,45230,45232],{"class":244,"line":7347},[6995,45227,7097],{"class":7006},[6995,45229,7024],{"class":7000},[6995,45231,33105],{"class":7006},[6995,45233,7030],{"class":7000},[6995,45235,45236,45238,45240,45242],{"class":244,"line":7363},[6995,45237,7110],{"class":7006},[6995,45239,7024],{"class":7000},[6995,45241,33128],{"class":7012},[6995,45243,7030],{"class":7000},[6995,45245,45246,45248,45250,45252],{"class":244,"line":7375},[6995,45247,29521],{"class":7006},[6995,45249,7024],{"class":7000},[6995,45251,33050],{"class":7006},[6995,45253,7030],{"class":7000},[6995,45255,45256,45258,45260,45262],{"class":244,"line":7387},[6995,45257,33057],{"class":7006},[6995,45259,7024],{"class":7000},[6995,45261,7511],{"class":7006},[6995,45263,7030],{"class":7000},[6995,45265,45266,45268,45270,45272],{"class":244,"line":7398},[6995,45267,33068],{"class":7006},[6995,45269,7024],{"class":7000},[6995,45271,7511],{"class":7006},[6995,45273,7030],{"class":7000},[6995,45275,45276,45278,45280,45282],{"class":244,"line":7410},[6995,45277,29542],{"class":7006},[6995,45279,7024],{"class":7000},[6995,45281,8689],{"class":7006},[6995,45283,7030],{"class":7000},[6995,45285,45286,45288,45290,45292],{"class":244,"line":7421},[6995,45287,7136],{"class":7006},[6995,45289,7024],{"class":7000},[6995,45291,33039],{"class":7012},[6995,45293,7030],{"class":7000},[6995,45295,45296,45298,45300,45302],{"class":244,"line":7432},[6995,45297,33100],{"class":7006},[6995,45299,7024],{"class":7000},[6995,45301,33105],{"class":7006},[6995,45303,7030],{"class":7000},[6995,45305,45306,45308,45310,45312],{"class":244,"line":7443},[6995,45307,33112],{"class":7006},[6995,45309,7024],{"class":7000},[6995,45311,33039],{"class":7012},[6995,45313,7030],{"class":7000},[6995,45315,45316,45318,45320,45322],{"class":244,"line":7452},[6995,45317,33123],{"class":7006},[6995,45319,7024],{"class":7000},[6995,45321,33128],{"class":7012},[6995,45323,7030],{"class":7000},[6995,45325,45326,45328,45330],{"class":244,"line":7458},[6995,45327,33135],{"class":7006},[6995,45329,7024],{"class":7000},[6995,45331,33140],{"class":7006},[6995,45333,45334],{"class":244,"line":7464},[6995,45335,7467],{"class":7000},[6995,45337,45338],{"class":244,"line":7470},[6995,45339,7047],{"class":7000},[34,45341,33698,45342,33701,45344,33704,45346,33701,45348,33711,45350,33701,45352,2344],{},[611,45343,33339],{},[611,45345,33161],{},[611,45347,33707],{},[611,45349,33710],{},[611,45351,33154],{},[611,45353,33157],{},[41,45355,25559],{"id":25559},[34,45357,33720],{},[34,45359,45360],{},[611,45361,7052],{},[616,45363,45364],{"className":6989,"code":33727,"language":6991,"meta":14,"style":14},[611,45365,45366,45370,45380,45390,45396,45406,45416,45426,45436,45446,45456,45466,45476,45484,45488],{"__ignoreMap":14},[6995,45367,45368],{"class":244,"line":6997},[6995,45369,7001],{"class":7000},[6995,45371,45372,45374,45376,45378],{"class":244,"line":15},[6995,45373,7066],{"class":7006},[6995,45375,7024],{"class":7000},[6995,45377,33742],{"class":7012},[6995,45379,7030],{"class":7000},[6995,45381,45382,45384,45386,45388],{"class":244,"line":154},[6995,45383,7078],{"class":7006},[6995,45385,7024],{"class":7000},[6995,45387,7013],{"class":7012},[6995,45389,7030],{"class":7000},[6995,45391,45392,45394],{"class":244,"line":7033},[6995,45393,7089],{"class":7006},[6995,45395,7092],{"class":7000},[6995,45397,45398,45400,45402,45404],{"class":244,"line":7044},[6995,45399,7097],{"class":7006},[6995,45401,7024],{"class":7000},[6995,45403,33769],{"class":7006},[6995,45405,7030],{"class":7000},[6995,45407,45408,45410,45412,45414],{"class":244,"line":7107},[6995,45409,7110],{"class":7006},[6995,45411,7024],{"class":7000},[6995,45413,33780],{"class":7012},[6995,45415,7030],{"class":7000},[6995,45417,45418,45420,45422,45424],{"class":244,"line":7120},[6995,45419,29521],{"class":7006},[6995,45421,7024],{"class":7000},[6995,45423,33791],{"class":7006},[6995,45425,7030],{"class":7000},[6995,45427,45428,45430,45432,45434],{"class":244,"line":7133},[6995,45429,29542],{"class":7006},[6995,45431,7024],{"class":7000},[6995,45433,8689],{"class":7006},[6995,45435,7030],{"class":7000},[6995,45437,45438,45440,45442,45444],{"class":244,"line":7146},[6995,45439,7136],{"class":7006},[6995,45441,7024],{"class":7000},[6995,45443,33812],{"class":7012},[6995,45445,7030],{"class":7000},[6995,45447,45448,45450,45452,45454],{"class":244,"line":7159},[6995,45449,33100],{"class":7006},[6995,45451,7024],{"class":7000},[6995,45453,33769],{"class":7006},[6995,45455,7030],{"class":7000},[6995,45457,45458,45460,45462,45464],{"class":244,"line":7172},[6995,45459,33112],{"class":7006},[6995,45461,7024],{"class":7000},[6995,45463,33812],{"class":7012},[6995,45465,7030],{"class":7000},[6995,45467,45468,45470,45472,45474],{"class":244,"line":7185},[6995,45469,33123],{"class":7006},[6995,45471,7024],{"class":7000},[6995,45473,33780],{"class":7012},[6995,45475,7030],{"class":7000},[6995,45477,45478,45480,45482],{"class":244,"line":7198},[6995,45479,33135],{"class":7006},[6995,45481,7024],{"class":7000},[6995,45483,33853],{"class":7006},[6995,45485,45486],{"class":244,"line":7211},[6995,45487,7467],{"class":7000},[6995,45489,45490],{"class":244,"line":7220},[6995,45491,7047],{"class":7000},[41,45493,25567],{"id":25567},[34,45495,33866],{},[34,45497,45498],{},[611,45499,7052],{},[616,45501,45502],{"className":6989,"code":33873,"language":6991,"meta":14,"style":14},[611,45503,45504,45508,45518,45528,45534,45544,45554,45560,45564,45574,45584,45594,45604,45614,45624,45634,45644,45654,45664,45674,45682,45686,45690,45700,45710,45720,45730,45740,45750,45760,45770,45780,45790,45800,45808,45812,45816,45820],{"__ignoreMap":14},[6995,45505,45506],{"class":244,"line":6997},[6995,45507,7001],{"class":7000},[6995,45509,45510,45512,45514,45516],{"class":244,"line":15},[6995,45511,7066],{"class":7006},[6995,45513,7024],{"class":7000},[6995,45515,33888],{"class":7012},[6995,45517,7030],{"class":7000},[6995,45519,45520,45522,45524,45526],{"class":244,"line":154},[6995,45521,7078],{"class":7006},[6995,45523,7024],{"class":7000},[6995,45525,7013],{"class":7012},[6995,45527,7030],{"class":7000},[6995,45529,45530,45532],{"class":244,"line":7033},[6995,45531,7089],{"class":7006},[6995,45533,7092],{"class":7000},[6995,45535,45536,45538,45540,45542],{"class":244,"line":7044},[6995,45537,33911],{"class":7006},[6995,45539,7024],{"class":7000},[6995,45541,11136],{"class":7006},[6995,45543,7030],{"class":7000},[6995,45545,45546,45548,45550,45552],{"class":244,"line":7107},[6995,45547,33922],{"class":7006},[6995,45549,7024],{"class":7000},[6995,45551,33927],{"class":7012},[6995,45553,7030],{"class":7000},[6995,45555,45556,45558],{"class":244,"line":7120},[6995,45557,33934],{"class":7006},[6995,45559,7217],{"class":7000},[6995,45561,45562],{"class":244,"line":7133},[6995,45563,33941],{"class":7000},[6995,45565,45566,45568,45570,45572],{"class":244,"line":7146},[6995,45567,33946],{"class":7006},[6995,45569,7024],{"class":7000},[6995,45571,33951],{"class":7012},[6995,45573,7030],{"class":7000},[6995,45575,45576,45578,45580,45582],{"class":244,"line":7159},[6995,45577,33958],{"class":7006},[6995,45579,7024],{"class":7000},[6995,45581,19080],{"class":7012},[6995,45583,7030],{"class":7000},[6995,45585,45586,45588,45590,45592],{"class":244,"line":7172},[6995,45587,33969],{"class":7006},[6995,45589,7024],{"class":7000},[6995,45591,19080],{"class":7012},[6995,45593,7030],{"class":7000},[6995,45595,45596,45598,45600,45602],{"class":244,"line":7185},[6995,45597,33980],{"class":7006},[6995,45599,7024],{"class":7000},[6995,45601,19092],{"class":7006},[6995,45603,7030],{"class":7000},[6995,45605,45606,45608,45610,45612],{"class":244,"line":7198},[6995,45607,33991],{"class":7006},[6995,45609,7024],{"class":7000},[6995,45611,19104],{"class":7006},[6995,45613,7030],{"class":7000},[6995,45615,45616,45618,45620,45622],{"class":244,"line":7211},[6995,45617,34002],{"class":7006},[6995,45619,7024],{"class":7000},[6995,45621,8689],{"class":7006},[6995,45623,7030],{"class":7000},[6995,45625,45626,45628,45630,45632],{"class":244,"line":7220},[6995,45627,34013],{"class":7006},[6995,45629,7024],{"class":7000},[6995,45631,8689],{"class":7006},[6995,45633,7030],{"class":7000},[6995,45635,45636,45638,45640,45642],{"class":244,"line":7226},[6995,45637,34024],{"class":7006},[6995,45639,7024],{"class":7000},[6995,45641,19147],{"class":7006},[6995,45643,7030],{"class":7000},[6995,45645,45646,45648,45650,45652],{"class":244,"line":7238},[6995,45647,34035],{"class":7006},[6995,45649,7024],{"class":7000},[6995,45651,19159],{"class":7012},[6995,45653,7030],{"class":7000},[6995,45655,45656,45658,45660,45662],{"class":244,"line":7250},[6995,45657,34046],{"class":7006},[6995,45659,7024],{"class":7000},[6995,45661,19171],{"class":7012},[6995,45663,7030],{"class":7000},[6995,45665,45666,45668,45670,45672],{"class":244,"line":7263},[6995,45667,34057],{"class":7006},[6995,45669,7024],{"class":7000},[6995,45671,11929],{"class":7012},[6995,45673,7030],{"class":7000},[6995,45675,45676,45678,45680],{"class":244,"line":7275},[6995,45677,34068],{"class":7006},[6995,45679,7024],{"class":7000},[6995,45681,34073],{"class":7012},[6995,45683,45684],{"class":244,"line":7288},[6995,45685,34078],{"class":7000},[6995,45687,45688],{"class":244,"line":7300},[6995,45689,33941],{"class":7000},[6995,45691,45692,45694,45696,45698],{"class":244,"line":7313},[6995,45693,33946],{"class":7006},[6995,45695,7024],{"class":7000},[6995,45697,34091],{"class":7012},[6995,45699,7030],{"class":7000},[6995,45701,45702,45704,45706,45708],{"class":244,"line":7325},[6995,45703,33958],{"class":7006},[6995,45705,7024],{"class":7000},[6995,45707,19080],{"class":7012},[6995,45709,7030],{"class":7000},[6995,45711,45712,45714,45716,45718],{"class":244,"line":7336},[6995,45713,33980],{"class":7006},[6995,45715,7024],{"class":7000},[6995,45717,19092],{"class":7006},[6995,45719,7030],{"class":7000},[6995,45721,45722,45724,45726,45728],{"class":244,"line":7342},[6995,45723,33991],{"class":7006},[6995,45725,7024],{"class":7000},[6995,45727,19104],{"class":7006},[6995,45729,7030],{"class":7000},[6995,45731,45732,45734,45736,45738],{"class":244,"line":7347},[6995,45733,34002],{"class":7006},[6995,45735,7024],{"class":7000},[6995,45737,8689],{"class":7006},[6995,45739,7030],{"class":7000},[6995,45741,45742,45744,45746,45748],{"class":244,"line":7363},[6995,45743,33969],{"class":7006},[6995,45745,7024],{"class":7000},[6995,45747,19080],{"class":7012},[6995,45749,7030],{"class":7000},[6995,45751,45752,45754,45756,45758],{"class":244,"line":7375},[6995,45753,34013],{"class":7006},[6995,45755,7024],{"class":7000},[6995,45757,8689],{"class":7006},[6995,45759,7030],{"class":7000},[6995,45761,45762,45764,45766,45768],{"class":244,"line":7387},[6995,45763,34024],{"class":7006},[6995,45765,7024],{"class":7000},[6995,45767,19147],{"class":7006},[6995,45769,7030],{"class":7000},[6995,45771,45772,45774,45776,45778],{"class":244,"line":7398},[6995,45773,34035],{"class":7006},[6995,45775,7024],{"class":7000},[6995,45777,19159],{"class":7012},[6995,45779,7030],{"class":7000},[6995,45781,45782,45784,45786,45788],{"class":244,"line":7410},[6995,45783,34046],{"class":7006},[6995,45785,7024],{"class":7000},[6995,45787,34182],{"class":7012},[6995,45789,7030],{"class":7000},[6995,45791,45792,45794,45796,45798],{"class":244,"line":7421},[6995,45793,34057],{"class":7006},[6995,45795,7024],{"class":7000},[6995,45797,12303],{"class":7012},[6995,45799,7030],{"class":7000},[6995,45801,45802,45804,45806],{"class":244,"line":7432},[6995,45803,34068],{"class":7006},[6995,45805,7024],{"class":7000},[6995,45807,34203],{"class":7012},[6995,45809,45810],{"class":244,"line":7443},[6995,45811,34208],{"class":7000},[6995,45813,45814],{"class":244,"line":7452},[6995,45815,34213],{"class":7000},[6995,45817,45818],{"class":244,"line":7458},[6995,45819,7467],{"class":7000},[6995,45821,45822],{"class":244,"line":7464},[6995,45823,7047],{"class":7000},[852,45825,45826,45834],{},[59,45827,45828,2231,45830,34230,45832,34234],{},[611,45829,8665],{},[611,45831,32955],{},[175,45833,32902],{"href":34233},[59,45835,45836,34240],{},[611,45837,34239],{},[41,45839,25575],{"id":25575},[34,45841,34245,45842,34248],{},[175,45843,6930],{"href":8044},[34,45845,34251],{},[34,45847,45848],{},[611,45849,34256],{},[616,45851,45852],{"className":6989,"code":34259,"language":6991,"meta":14,"style":14},[611,45853,45854,45858,45868,45878,45884,45894,45904,45910,45922,45934,45938,45942],{"__ignoreMap":14},[6995,45855,45856],{"class":244,"line":6997},[6995,45857,7001],{"class":7000},[6995,45859,45860,45862,45864,45866],{"class":244,"line":15},[6995,45861,7066],{"class":7006},[6995,45863,7024],{"class":7000},[6995,45865,34274],{"class":7012},[6995,45867,7030],{"class":7000},[6995,45869,45870,45872,45874,45876],{"class":244,"line":154},[6995,45871,7078],{"class":7006},[6995,45873,7024],{"class":7000},[6995,45875,7013],{"class":7012},[6995,45877,7030],{"class":7000},[6995,45879,45880,45882],{"class":244,"line":7033},[6995,45881,7089],{"class":7006},[6995,45883,34293],{"class":7000},[6995,45885,45886,45888,45890,45892],{"class":244,"line":7044},[6995,45887,33911],{"class":7006},[6995,45889,7024],{"class":7000},[6995,45891,6679],{"class":7006},[6995,45893,7030],{"class":7000},[6995,45895,45896,45898,45900,45902],{"class":244,"line":7107},[6995,45897,33922],{"class":7006},[6995,45899,7024],{"class":7000},[6995,45901,34312],{"class":7012},[6995,45903,7030],{"class":7000},[6995,45905,45906,45908],{"class":244,"line":7120},[6995,45907,34319],{"class":7006},[6995,45909,7217],{"class":7000},[6995,45911,45912,45914,45916,45918,45920],{"class":244,"line":7133},[6995,45913,34326],{"class":7000},[6995,45915,7478],{"class":7006},[6995,45917,7024],{"class":7000},[6995,45919,34333],{"class":7006},[6995,45921,34336],{"class":7000},[6995,45923,45924,45926,45928,45930,45932],{"class":244,"line":7146},[6995,45925,34326],{"class":7000},[6995,45927,7478],{"class":7006},[6995,45929,7024],{"class":7000},[6995,45931,34347],{"class":7006},[6995,45933,34350],{"class":7000},[6995,45935,45936],{"class":244,"line":7159},[6995,45937,34213],{"class":7000},[6995,45939,45940],{"class":244,"line":7172},[6995,45941,7467],{"class":7000},[6995,45943,45944],{"class":244,"line":7185},[6995,45945,7047],{"class":7000},[852,45947,45948,45956],{},[59,45949,45950,2231,45952,34230,45954,34234],{},[611,45951,8665],{},[611,45953,32955],{},[175,45955,32902],{"href":34233},[59,45957,45958,34378,45960,34381],{},[611,45959,34377],{},[611,45961,32933],{},[34,45963,34384],{},[34,45965,45966],{},[611,45967,34256],{},[616,45969,45970],{"className":6989,"code":34391,"language":6991,"meta":14,"style":14},[611,45971,45972,45976,45986,45996,46002,46012,46022,46028,46032,46042,46052,46062,46072,46082,46092,46102,46108,46118,46128,46138,46148,46156,46160,46170,46180,46190,46198,46202,46206,46210],{"__ignoreMap":14},[6995,45973,45974],{"class":244,"line":6997},[6995,45975,7001],{"class":7000},[6995,45977,45978,45980,45982,45984],{"class":244,"line":15},[6995,45979,7021],{"class":7006},[6995,45981,7024],{"class":7000},[6995,45983,34274],{"class":7012},[6995,45985,7030],{"class":7000},[6995,45987,45988,45990,45992,45994],{"class":244,"line":154},[6995,45989,7007],{"class":7006},[6995,45991,7024],{"class":7000},[6995,45993,7013],{"class":7012},[6995,45995,7030],{"class":7000},[6995,45997,45998,46000],{"class":244,"line":7033},[6995,45999,7732],{"class":7006},[6995,46001,7092],{"class":7000},[6995,46003,46004,46006,46008,46010],{"class":244,"line":7044},[6995,46005,8585],{"class":7006},[6995,46007,7024],{"class":7000},[6995,46009,11136],{"class":7006},[6995,46011,7030],{"class":7000},[6995,46013,46014,46016,46018,46020],{"class":244,"line":7107},[6995,46015,8596],{"class":7006},[6995,46017,7024],{"class":7000},[6995,46019,33927],{"class":7012},[6995,46021,7030],{"class":7000},[6995,46023,46024,46026],{"class":244,"line":7120},[6995,46025,23092],{"class":7006},[6995,46027,7217],{"class":7000},[6995,46029,46030],{"class":244,"line":7133},[6995,46031,34454],{"class":7000},[6995,46033,46034,46036,46038,46040],{"class":244,"line":7146},[6995,46035,34459],{"class":7006},[6995,46037,7024],{"class":7000},[6995,46039,6679],{"class":7006},[6995,46041,7030],{"class":7000},[6995,46043,46044,46046,46048,46050],{"class":244,"line":7159},[6995,46045,34470],{"class":7006},[6995,46047,7024],{"class":7000},[6995,46049,7370],{"class":7006},[6995,46051,7030],{"class":7000},[6995,46053,46054,46056,46058,46060],{"class":244,"line":7172},[6995,46055,34481],{"class":7006},[6995,46057,7024],{"class":7000},[6995,46059,7382],{"class":7012},[6995,46061,7030],{"class":7000},[6995,46063,46064,46066,46068,46070],{"class":244,"line":7185},[6995,46065,34492],{"class":7006},[6995,46067,7024],{"class":7000},[6995,46069,6679],{"class":7006},[6995,46071,7030],{"class":7000},[6995,46073,46074,46076,46078,46080],{"class":244,"line":7198},[6995,46075,34503],{"class":7006},[6995,46077,7024],{"class":7000},[6995,46079,7934],{"class":7006},[6995,46081,7030],{"class":7000},[6995,46083,46084,46086,46088,46090],{"class":244,"line":7211},[6995,46085,34514],{"class":7006},[6995,46087,7024],{"class":7000},[6995,46089,30578],{"class":7012},[6995,46091,7030],{"class":7000},[6995,46093,46094,46096,46098,46100],{"class":244,"line":7220},[6995,46095,34525],{"class":7006},[6995,46097,7024],{"class":7000},[6995,46099,8689],{"class":7006},[6995,46101,7030],{"class":7000},[6995,46103,46104,46106],{"class":244,"line":7226},[6995,46105,34536],{"class":7006},[6995,46107,7092],{"class":7000},[6995,46109,46110,46112,46114,46116],{"class":244,"line":7238},[6995,46111,34543],{"class":7006},[6995,46113,7024],{"class":7000},[6995,46115,30608],{"class":7012},[6995,46117,7030],{"class":7000},[6995,46119,46120,46122,46124,46126],{"class":244,"line":7250},[6995,46121,34554],{"class":7006},[6995,46123,7024],{"class":7000},[6995,46125,30620],{"class":7012},[6995,46127,7030],{"class":7000},[6995,46129,46130,46132,46134,46136],{"class":244,"line":7263},[6995,46131,34565],{"class":7006},[6995,46133,7024],{"class":7000},[6995,46135,30632],{"class":7012},[6995,46137,7030],{"class":7000},[6995,46139,46140,46142,46144,46146],{"class":244,"line":7275},[6995,46141,34576],{"class":7006},[6995,46143,7024],{"class":7000},[6995,46145,30644],{"class":7012},[6995,46147,7030],{"class":7000},[6995,46149,46150,46152,46154],{"class":244,"line":7288},[6995,46151,34587],{"class":7006},[6995,46153,7024],{"class":7000},[6995,46155,30656],{"class":7012},[6995,46157,46158],{"class":244,"line":7300},[6995,46159,34596],{"class":7000},[6995,46161,46162,46164,46166,46168],{"class":244,"line":7313},[6995,46163,34601],{"class":7006},[6995,46165,7024],{"class":7000},[6995,46167,8689],{"class":7006},[6995,46169,7030],{"class":7000},[6995,46171,46172,46174,46176,46178],{"class":244,"line":7325},[6995,46173,34612],{"class":7006},[6995,46175,7024],{"class":7000},[6995,46177,8689],{"class":7006},[6995,46179,7030],{"class":7000},[6995,46181,46182,46184,46186,46188],{"class":244,"line":7336},[6995,46183,34623],{"class":7006},[6995,46185,7024],{"class":7000},[6995,46187,7958],{"class":7012},[6995,46189,7030],{"class":7000},[6995,46191,46192,46194,46196],{"class":244,"line":7342},[6995,46193,34634],{"class":7006},[6995,46195,7024],{"class":7000},[6995,46197,7970],{"class":7006},[6995,46199,46200],{"class":244,"line":7347},[6995,46201,34208],{"class":7000},[6995,46203,46204],{"class":244,"line":7363},[6995,46205,34647],{"class":7000},[6995,46207,46208],{"class":244,"line":7375},[6995,46209,7615],{"class":7000},[6995,46211,46212],{"class":244,"line":7387},[6995,46213,7047],{"class":7000},[852,46215,46216,46224],{},[59,46217,46218,2231,46220,34230,46222,34234],{},[611,46219,8665],{},[611,46221,32955],{},[175,46223,32902],{"href":34233},[59,46225,46226,34670,46228,34673],{},[611,46227,34377],{},[175,46229,6935],{"href":18363},[41,46231,25581],{"id":25581},[34,46233,34678,46234,2344],{},[611,46235,4979],{},[34,46237,46238],{},[611,46239,34256],{},[616,46241,46242],{"className":6989,"code":34687,"language":6991,"meta":14,"style":14},[611,46243,46244,46248,46258,46268,46274,46284,46294,46300,46304,46314,46324,46334,46344,46354,46364,46374,46384,46392,46396,46400,46404],{"__ignoreMap":14},[6995,46245,46246],{"class":244,"line":6997},[6995,46247,7001],{"class":7000},[6995,46249,46250,46252,46254,46256],{"class":244,"line":15},[6995,46251,7021],{"class":7006},[6995,46253,7024],{"class":7000},[6995,46255,34702],{"class":7012},[6995,46257,7030],{"class":7000},[6995,46259,46260,46262,46264,46266],{"class":244,"line":154},[6995,46261,7007],{"class":7006},[6995,46263,7024],{"class":7000},[6995,46265,7013],{"class":7012},[6995,46267,7030],{"class":7000},[6995,46269,46270,46272],{"class":244,"line":7033},[6995,46271,7732],{"class":7006},[6995,46273,7092],{"class":7000},[6995,46275,46276,46278,46280,46282],{"class":244,"line":7044},[6995,46277,8585],{"class":7006},[6995,46279,7024],{"class":7000},[6995,46281,11136],{"class":7006},[6995,46283,7030],{"class":7000},[6995,46285,46286,46288,46290,46292],{"class":244,"line":7107},[6995,46287,8596],{"class":7006},[6995,46289,7024],{"class":7000},[6995,46291,33927],{"class":7012},[6995,46293,7030],{"class":7000},[6995,46295,46296,46298],{"class":244,"line":7120},[6995,46297,34745],{"class":7006},[6995,46299,7217],{"class":7000},[6995,46301,46302],{"class":244,"line":7133},[6995,46303,15683],{"class":7000},[6995,46305,46306,46308,46310,46312],{"class":244,"line":7146},[6995,46307,34756],{"class":7006},[6995,46309,7024],{"class":7000},[6995,46311,7167],{"class":7006},[6995,46313,7030],{"class":7000},[6995,46315,46316,46318,46320,46322],{"class":244,"line":7159},[6995,46317,34767],{"class":7006},[6995,46319,7024],{"class":7000},[6995,46321,7180],{"class":7006},[6995,46323,7030],{"class":7000},[6995,46325,46326,46328,46330,46332],{"class":244,"line":7172},[6995,46327,34778],{"class":7006},[6995,46329,7024],{"class":7000},[6995,46331,22951],{"class":7006},[6995,46333,7030],{"class":7000},[6995,46335,46336,46338,46340,46342],{"class":244,"line":7185},[6995,46337,34789],{"class":7006},[6995,46339,7024],{"class":7000},[6995,46341,22962],{"class":7006},[6995,46343,7030],{"class":7000},[6995,46345,46346,46348,46350,46352],{"class":244,"line":7198},[6995,46347,34800],{"class":7006},[6995,46349,7024],{"class":7000},[6995,46351,22973],{"class":7012},[6995,46353,7030],{"class":7000},[6995,46355,46356,46358,46360,46362],{"class":244,"line":7211},[6995,46357,34811],{"class":7006},[6995,46359,7024],{"class":7000},[6995,46361,20884],{"class":7012},[6995,46363,7030],{"class":7000},[6995,46365,46366,46368,46370,46372],{"class":244,"line":7220},[6995,46367,34822],{"class":7006},[6995,46369,7024],{"class":7000},[6995,46371,19080],{"class":7012},[6995,46373,7030],{"class":7000},[6995,46375,46376,46378,46380,46382],{"class":244,"line":7226},[6995,46377,34833],{"class":7006},[6995,46379,7024],{"class":7000},[6995,46381,7511],{"class":7006},[6995,46383,7030],{"class":7000},[6995,46385,46386,46388,46390],{"class":244,"line":7238},[6995,46387,34844],{"class":7006},[6995,46389,7024],{"class":7000},[6995,46391,23016],{"class":7012},[6995,46393,46394],{"class":244,"line":7250},[6995,46395,34853],{"class":7000},[6995,46397,46398],{"class":244,"line":7263},[6995,46399,34858],{"class":7000},[6995,46401,46402],{"class":244,"line":7275},[6995,46403,7615],{"class":7000},[6995,46405,46406],{"class":244,"line":7288},[6995,46407,7047],{"class":7000},[852,46409,46410,46418],{},[59,46411,46412,2231,46414,34230,46416,34234],{},[611,46413,8665],{},[611,46415,32955],{},[175,46417,32902],{"href":34233},[59,46419,46420,34881,46422,34673],{},[611,46421,14350],{},[175,46423,18014],{"href":18321},[41,46425,25587],{"id":25587},[34,46427,34888],{},[34,46429,46430],{},[611,46431,34256],{},[616,46433,46435],{"className":6989,"code":46434,"language":6991,"meta":14,"style":14},"{\n    \"id\": \"ev_txs_changed\",\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"change\": 3,\n        \"change_str\": \"reset\",\n        \"txs\": [\n            {\n                \"txId\" : \"10c4b760c842433cb58339a0fafef3db\",\n                \"asset_id\": 0,\n                \"comment\": \"\",\n                \"fee\": 100,\n                \"kernel\": \"0000000000000000000000000000000000000000000000000000000000000000\",\n                \"receiver\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n                \"sender\": \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n                \"status\": 4,\n                \"status_string\" : \"Failed\",\n                \"tx_type\": 0,\n                \"tx_type_string\": \"simple\",\n                \"failure_reason\" : \"No inputs\",\n                \"value\": 12342342,\n                \"create_time\" : 1551100217,\n                \"income\" : false,\n                \"rates\": [],\n                \"sender_identity\": \"a0a1ebbfeed5c312b309e32715c159e6b4548a6c6c3af25d0dbc16f37a1e9dd6\",\n                \"receiver_identity\": \"2d8738b0424ad50631e902fab655e7e1795fbb8d92d47c4c8df7336870fcadf5\",\n                \"token\": \"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\"\n            } \n        ]\n    }\n}\n",[611,46436,46437,46441,46451,46461,46467,46477,46487,46493,46497,46507,46517,46527,46537,46547,46557,46567,46577,46587,46597,46607,46617,46627,46637,46647,46654,46664,46674,46682,46686,46690,46694],{"__ignoreMap":14},[6995,46438,46439],{"class":244,"line":6997},[6995,46440,7001],{"class":7000},[6995,46442,46443,46445,46447,46449],{"class":244,"line":15},[6995,46444,7021],{"class":7006},[6995,46446,7024],{"class":7000},[6995,46448,34910],{"class":7012},[6995,46450,7030],{"class":7000},[6995,46452,46453,46455,46457,46459],{"class":244,"line":154},[6995,46454,7007],{"class":7006},[6995,46456,7024],{"class":7000},[6995,46458,7013],{"class":7012},[6995,46460,7030],{"class":7000},[6995,46462,46463,46465],{"class":244,"line":7033},[6995,46464,7732],{"class":7006},[6995,46466,7092],{"class":7000},[6995,46468,46469,46471,46473,46475],{"class":244,"line":7044},[6995,46470,8585],{"class":7006},[6995,46472,7024],{"class":7000},[6995,46474,11136],{"class":7006},[6995,46476,7030],{"class":7000},[6995,46478,46479,46481,46483,46485],{"class":244,"line":7107},[6995,46480,8596],{"class":7006},[6995,46482,7024],{"class":7000},[6995,46484,33927],{"class":7012},[6995,46486,7030],{"class":7000},[6995,46488,46489,46491],{"class":244,"line":7120},[6995,46490,34953],{"class":7006},[6995,46492,7217],{"class":7000},[6995,46494,46495],{"class":244,"line":7133},[6995,46496,15683],{"class":7000},[6995,46498,46499,46501,46503,46505],{"class":244,"line":7146},[6995,46500,34964],{"class":7006},[6995,46502,7746],{"class":7000},[6995,46504,20884],{"class":7012},[6995,46506,7030],{"class":7000},[6995,46508,46509,46511,46513,46515],{"class":244,"line":7159},[6995,46510,34767],{"class":7006},[6995,46512,7024],{"class":7000},[6995,46514,7180],{"class":7006},[6995,46516,7030],{"class":7000},[6995,46518,46519,46521,46523,46525],{"class":244,"line":7172},[6995,46520,34985],{"class":7006},[6995,46522,7024],{"class":7000},[6995,46524,19080],{"class":7012},[6995,46526,7030],{"class":7000},[6995,46528,46529,46531,46533,46535],{"class":244,"line":7185},[6995,46530,34996],{"class":7006},[6995,46532,7024],{"class":7000},[6995,46534,10984],{"class":7006},[6995,46536,7030],{"class":7000},[6995,46538,46539,46541,46543,46545],{"class":244,"line":7198},[6995,46540,35007],{"class":7006},[6995,46542,7024],{"class":7000},[6995,46544,20988],{"class":7012},[6995,46546,7030],{"class":7000},[6995,46548,46549,46551,46553,46555],{"class":244,"line":7211},[6995,46550,35018],{"class":7006},[6995,46552,7024],{"class":7000},[6995,46554,7570],{"class":7012},[6995,46556,7030],{"class":7000},[6995,46558,46559,46561,46563,46565],{"class":244,"line":7220},[6995,46560,35029],{"class":7006},[6995,46562,7024],{"class":7000},[6995,46564,21011],{"class":7012},[6995,46566,7030],{"class":7000},[6995,46568,46569,46571,46573,46575],{"class":244,"line":7226},[6995,46570,34833],{"class":7006},[6995,46572,7024],{"class":7000},[6995,46574,8439],{"class":7006},[6995,46576,7030],{"class":7000},[6995,46578,46579,46581,46583,46585],{"class":244,"line":7238},[6995,46580,34844],{"class":7006},[6995,46582,7746],{"class":7000},[6995,46584,21034],{"class":7012},[6995,46586,7030],{"class":7000},[6995,46588,46589,46591,46593,46595],{"class":244,"line":7250},[6995,46590,35060],{"class":7006},[6995,46592,7024],{"class":7000},[6995,46594,7180],{"class":7006},[6995,46596,7030],{"class":7000},[6995,46598,46599,46601,46603,46605],{"class":244,"line":7263},[6995,46600,35071],{"class":7006},[6995,46602,7024],{"class":7000},[6995,46604,21057],{"class":7012},[6995,46606,7030],{"class":7000},[6995,46608,46609,46611,46613,46615],{"class":244,"line":7275},[6995,46610,35082],{"class":7006},[6995,46612,7746],{"class":7000},[6995,46614,21069],{"class":7012},[6995,46616,7030],{"class":7000},[6995,46618,46619,46621,46623,46625],{"class":244,"line":7288},[6995,46620,35093],{"class":7006},[6995,46622,7024],{"class":7000},[6995,46624,7547],{"class":7006},[6995,46626,7030],{"class":7000},[6995,46628,46629,46631,46633,46635],{"class":244,"line":7300},[6995,46630,35104],{"class":7006},[6995,46632,7746],{"class":7000},[6995,46634,21090],{"class":7006},[6995,46636,7030],{"class":7000},[6995,46638,46639,46641,46643,46645],{"class":244,"line":7313},[6995,46640,35115],{"class":7006},[6995,46642,7746],{"class":7000},[6995,46644,11094],{"class":7006},[6995,46646,7030],{"class":7000},[6995,46648,46649,46652],{"class":244,"line":7325},[6995,46650,46651],{"class":7006},"                \"rates\"",[6995,46653,12624],{"class":7000},[6995,46655,46656,46658,46660,46662],{"class":244,"line":7336},[6995,46657,35126],{"class":7006},[6995,46659,7024],{"class":7000},[6995,46661,21113],{"class":7012},[6995,46663,7030],{"class":7000},[6995,46665,46666,46668,46670,46672],{"class":244,"line":7342},[6995,46667,35137],{"class":7006},[6995,46669,7024],{"class":7000},[6995,46671,19171],{"class":7012},[6995,46673,7030],{"class":7000},[6995,46675,46676,46678,46680],{"class":244,"line":7347},[6995,46677,35148],{"class":7006},[6995,46679,7024],{"class":7000},[6995,46681,21136],{"class":7012},[6995,46683,46684],{"class":244,"line":7363},[6995,46685,34853],{"class":7000},[6995,46687,46688],{"class":244,"line":7375},[6995,46689,34858],{"class":7000},[6995,46691,46692],{"class":244,"line":7387},[6995,46693,7615],{"class":7000},[6995,46695,46696],{"class":244,"line":7398},[6995,46697,7047],{"class":7000},[852,46699,46700,46708],{},[59,46701,46702,2231,46704,34230,46706,34234],{},[611,46703,8665],{},[611,46705,32955],{},[175,46707,32902],{"href":34233},[59,46709,46710,35184,46712,34673],{},[611,46711,35183],{},[175,46713,18293],{"href":18292},[11,46715,35314],{"id":35314},[34,46717,46718],{},"Event is generated when wallet connection status is changed. For example, connected\u002Fdisconnected to node, detected own node, etc.",[34,46720,46721],{},[611,46722,7052],{},[616,46724,46726],{"className":6989,"code":46725,"language":6991,"meta":14,"style":14},"{\n  \"id\": \"ev_connection_changed\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"node_connected\": true,\n    \"own_node\": false,\n  }\n}\n",[611,46727,46728,46732,46743,46753,46759,46770,46781,46785],{"__ignoreMap":14},[6995,46729,46730],{"class":244,"line":6997},[6995,46731,7001],{"class":7000},[6995,46733,46734,46736,46738,46741],{"class":244,"line":15},[6995,46735,7066],{"class":7006},[6995,46737,7024],{"class":7000},[6995,46739,46740],{"class":7012},"\"ev_connection_changed\"",[6995,46742,7030],{"class":7000},[6995,46744,46745,46747,46749,46751],{"class":244,"line":154},[6995,46746,7078],{"class":7006},[6995,46748,7024],{"class":7000},[6995,46750,7013],{"class":7012},[6995,46752,7030],{"class":7000},[6995,46754,46755,46757],{"class":244,"line":7033},[6995,46756,7089],{"class":7006},[6995,46758,7092],{"class":7000},[6995,46760,46761,46764,46766,46768],{"class":244,"line":7044},[6995,46762,46763],{"class":7006},"    \"node_connected\"",[6995,46765,7024],{"class":7000},[6995,46767,8689],{"class":7006},[6995,46769,7030],{"class":7000},[6995,46771,46772,46775,46777,46779],{"class":244,"line":7107},[6995,46773,46774],{"class":7006},"    \"own_node\"",[6995,46776,7024],{"class":7000},[6995,46778,11094],{"class":7006},[6995,46780,7030],{"class":7000},[6995,46782,46783],{"class":244,"line":7120},[6995,46784,7467],{"class":7000},[6995,46786,46787],{"class":244,"line":7133},[6995,46788,7047],{"class":7000},[852,46790,46791,46800,46808],{},[59,46792,46793,46796,46797,46799],{},[611,46794,46795],{},"node_connected"," - if ",[611,46798,8689],{}," this means that wallet successfully connected at least to one node",[59,46801,46802,10072,46805,46807],{},[611,46803,46804],{},"own_node",[611,46806,8689],{}," if one of connected beam nodes has owner key",[59,46809,46810,46813],{},[611,46811,46812],{},"last_connect_error"," - this field contains a string with last connection error explanation",[41,46815,35467],{"id":35467},[34,46817,46818],{},"Generates Schnorr signature for a custom message with public key generated from the given key material.",[34,46820,46821],{},[611,46822,6986],{},[616,46824,46826],{"className":6989,"code":46825,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"sign_message\", \n    \"params\":\n    {\n        \"message\" : \"my message\",\n        \"key_material\": \"b51efe78d3e7c83c8dbc3d59d5e06b2bd770139e645bc19e50652632cbdd47d10000000047616c6c6572792d6b65792d6f776e6572\"\n    }\n}\n",[611,46827,46828,46832,46842,46852,46863,46869,46873,46885,46895,46899],{"__ignoreMap":14},[6995,46829,46830],{"class":244,"line":6997},[6995,46831,7001],{"class":7000},[6995,46833,46834,46836,46838,46840],{"class":244,"line":15},[6995,46835,7007],{"class":7006},[6995,46837,5102],{"class":7000},[6995,46839,7013],{"class":7012},[6995,46841,7016],{"class":7000},[6995,46843,46844,46846,46848,46850],{"class":244,"line":154},[6995,46845,7021],{"class":7006},[6995,46847,7024],{"class":7000},[6995,46849,6679],{"class":7006},[6995,46851,7030],{"class":7000},[6995,46853,46854,46856,46858,46861],{"class":244,"line":7033},[6995,46855,7036],{"class":7006},[6995,46857,7024],{"class":7000},[6995,46859,46860],{"class":7012},"\"sign_message\"",[6995,46862,7016],{"class":7000},[6995,46864,46865,46867],{"class":244,"line":7044},[6995,46866,7529],{"class":7006},[6995,46868,7532],{"class":7000},[6995,46870,46871],{"class":244,"line":7107},[6995,46872,7537],{"class":7000},[6995,46874,46875,46878,46880,46883],{"class":244,"line":7120},[6995,46876,46877],{"class":7006},"        \"message\"",[6995,46879,7746],{"class":7000},[6995,46881,46882],{"class":7012},"\"my message\"",[6995,46884,7030],{"class":7000},[6995,46886,46887,46890,46892],{"class":244,"line":7133},[6995,46888,46889],{"class":7006},"        \"key_material\"",[6995,46891,7024],{"class":7000},[6995,46893,46894],{"class":7012},"\"b51efe78d3e7c83c8dbc3d59d5e06b2bd770139e645bc19e50652632cbdd47d10000000047616c6c6572792d6b65792d6f776e6572\"\n",[6995,46896,46897],{"class":244,"line":7146},[6995,46898,7615],{"class":7000},[6995,46900,46901],{"class":244,"line":7159},[6995,46902,7047],{"class":7000},[852,46904,46905,46910],{},[59,46906,46907,46909],{},[611,46908,17982],{}," user message to sign",[59,46911,46912,46915],{},[611,46913,46914],{},"key_material"," hex encoded key material for key generation. It could be retrieved from application shader",[34,46917,46918],{},[611,46919,7052],{},[616,46921,46923],{"className":6989,"code":46922,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"signature\" : \"bb025df14a3f0539c4b89d5eeacb8510de5de49456cff3d4027323697469021b0022262fc2457523a28524e696ec3b2825e9c4558d78da2db165cd93b8710eb7b3\"\n    }\n}\n",[611,46924,46925,46929,46939,46949,46955,46959,46969,46973],{"__ignoreMap":14},[6995,46926,46927],{"class":244,"line":6997},[6995,46928,7001],{"class":7000},[6995,46930,46931,46933,46935,46937],{"class":244,"line":15},[6995,46932,7007],{"class":7006},[6995,46934,5102],{"class":7000},[6995,46936,7013],{"class":7012},[6995,46938,7016],{"class":7000},[6995,46940,46941,46943,46945,46947],{"class":244,"line":154},[6995,46942,7021],{"class":7006},[6995,46944,7024],{"class":7000},[6995,46946,6679],{"class":7006},[6995,46948,7030],{"class":7000},[6995,46950,46951,46953],{"class":244,"line":7033},[6995,46952,7732],{"class":7006},[6995,46954,11893],{"class":7000},[6995,46956,46957],{"class":244,"line":7044},[6995,46958,7537],{"class":7000},[6995,46960,46961,46964,46966],{"class":244,"line":7107},[6995,46962,46963],{"class":7006},"        \"signature\"",[6995,46965,7746],{"class":7000},[6995,46967,46968],{"class":7012},"\"bb025df14a3f0539c4b89d5eeacb8510de5de49456cff3d4027323697469021b0022262fc2457523a28524e696ec3b2825e9c4558d78da2db165cd93b8710eb7b3\"\n",[6995,46970,46971],{"class":244,"line":7120},[6995,46972,7615],{"class":7000},[6995,46974,46975],{"class":244,"line":7133},[6995,46976,7047],{"class":7000},[852,46978,46979],{},[59,46980,46981,46984],{},[611,46982,46983],{},"signature"," 65-byte hex encoded Schnorr signature. It signes SHA256(\"beam.signed.message\"+len(message)+message)",[41,46986,35475],{"id":35475},[34,46988,46989],{},"Verifies Schnorr signature for a custom message.",[34,46991,46992],{},[611,46993,6986],{},[616,46995,46997],{"className":6989,"code":46996,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"verify_signature\", \n    \"params\":\n    {\n        \"message\" : \"my message\",\n        \"public_key\": \"37b20c87f7b70c133e3c99e54e97b1febc51b61c0310a3a5ba6856748a67e9e601\",\n        \"signature\": \"bb025df14a3f0539c4b89d5eeacb8510de5de49456cff3d4027323697469021b0022262fc2457523a28524e696ec3b2825e9c4558d78da2db165cd93b8710eb7b3\"\n    }\n}\n",[611,46998,46999,47003,47013,47023,47034,47040,47044,47054,47066,47074,47078],{"__ignoreMap":14},[6995,47000,47001],{"class":244,"line":6997},[6995,47002,7001],{"class":7000},[6995,47004,47005,47007,47009,47011],{"class":244,"line":15},[6995,47006,7007],{"class":7006},[6995,47008,5102],{"class":7000},[6995,47010,7013],{"class":7012},[6995,47012,7016],{"class":7000},[6995,47014,47015,47017,47019,47021],{"class":244,"line":154},[6995,47016,7021],{"class":7006},[6995,47018,7024],{"class":7000},[6995,47020,6679],{"class":7006},[6995,47022,7030],{"class":7000},[6995,47024,47025,47027,47029,47032],{"class":244,"line":7033},[6995,47026,7036],{"class":7006},[6995,47028,7024],{"class":7000},[6995,47030,47031],{"class":7012},"\"verify_signature\"",[6995,47033,7016],{"class":7000},[6995,47035,47036,47038],{"class":244,"line":7044},[6995,47037,7529],{"class":7006},[6995,47039,7532],{"class":7000},[6995,47041,47042],{"class":244,"line":7107},[6995,47043,7537],{"class":7000},[6995,47045,47046,47048,47050,47052],{"class":244,"line":7120},[6995,47047,46877],{"class":7006},[6995,47049,7746],{"class":7000},[6995,47051,46882],{"class":7012},[6995,47053,7030],{"class":7000},[6995,47055,47056,47059,47061,47064],{"class":244,"line":7133},[6995,47057,47058],{"class":7006},"        \"public_key\"",[6995,47060,7024],{"class":7000},[6995,47062,47063],{"class":7012},"\"37b20c87f7b70c133e3c99e54e97b1febc51b61c0310a3a5ba6856748a67e9e601\"",[6995,47065,7030],{"class":7000},[6995,47067,47068,47070,47072],{"class":244,"line":7146},[6995,47069,46963],{"class":7006},[6995,47071,7024],{"class":7000},[6995,47073,46968],{"class":7012},[6995,47075,47076],{"class":244,"line":7159},[6995,47077,7615],{"class":7000},[6995,47079,47080],{"class":244,"line":7172},[6995,47081,7047],{"class":7000},[852,47083,47084,47088,47094],{},[59,47085,47086,46909],{},[611,47087,17982],{},[59,47089,47090,47093],{},[611,47091,47092],{},"public_key"," 33 byte hex encoded public key",[59,47095,47096,47098],{},[611,47097,46983],{}," 65 byte hex encode signature",[34,47100,47101],{},[611,47102,7052],{},[616,47104,47106],{"className":6989,"code":47105,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : true\n}\n",[611,47107,47108,47112,47122,47132,47140],{"__ignoreMap":14},[6995,47109,47110],{"class":244,"line":6997},[6995,47111,7001],{"class":7000},[6995,47113,47114,47116,47118,47120],{"class":244,"line":15},[6995,47115,7007],{"class":7006},[6995,47117,5102],{"class":7000},[6995,47119,7013],{"class":7012},[6995,47121,7016],{"class":7000},[6995,47123,47124,47126,47128,47130],{"class":244,"line":154},[6995,47125,7021],{"class":7006},[6995,47127,7024],{"class":7000},[6995,47129,6679],{"class":7006},[6995,47131,7030],{"class":7000},[6995,47133,47134,47136,47138],{"class":244,"line":7033},[6995,47135,7732],{"class":7006},[6995,47137,7746],{"class":7000},[6995,47139,8505],{"class":7006},[6995,47141,47142],{"class":244,"line":7044},[6995,47143,7047],{"class":7000},[8692,47145,14042],{},{"title":14,"searchDepth":15,"depth":15,"links":47147},[47148,47154,47155,47160,47161,47162,47163,47164,47167,47168,47169,47170,47171,47172,47173,47174,47175,47176,47177,47182,47183,47184,47185,47186,47187,47188,47193,47194,47195,47196,47197,47198,47199,47200,47201,47202,47203,47204,47205,47206,47207,47208,47209,47210,47211],{"id":35278,"depth":15,"text":35279,"children":47149},[47150,47151,47152,47153],{"id":25485,"depth":154,"text":25486},{"id":25463,"depth":154,"text":25464},{"id":25542,"depth":154,"text":25543},{"id":35488,"depth":154,"text":35489},{"id":18076,"depth":15,"text":18077},{"id":18219,"depth":15,"text":18220,"children":47156},[47157,47158,47159],{"id":35560,"depth":154,"text":35561},{"id":35742,"depth":154,"text":35743},{"id":35796,"depth":154,"text":35797},{"id":32868,"depth":15,"text":35809},{"id":24476,"depth":15,"text":24477},{"id":12194,"depth":15,"text":12194},{"id":11852,"depth":15,"text":11852},{"id":18255,"depth":15,"text":18255,"children":47165},[47166],{"id":19226,"depth":154,"text":8763},{"id":18239,"depth":15,"text":18239},{"id":18247,"depth":15,"text":18247},{"id":6905,"depth":15,"text":6905},{"id":6910,"depth":15,"text":6910},{"id":6920,"depth":15,"text":6920},{"id":6925,"depth":15,"text":6925},{"id":6930,"depth":15,"text":6930},{"id":18306,"depth":15,"text":18306},{"id":18314,"depth":15,"text":18314},{"id":18293,"depth":15,"text":18293},{"id":18327,"depth":15,"text":18327,"children":47178},[47179,47180,47181],{"id":21955,"depth":154,"text":21956},{"id":21959,"depth":154,"text":21960},{"id":22039,"depth":154,"text":22040},{"id":6900,"depth":15,"text":6900},{"id":18014,"depth":15,"text":18014},{"id":6935,"depth":15,"text":6935},{"id":18340,"depth":15,"text":18340},{"id":18348,"depth":15,"text":18348},{"id":18356,"depth":15,"text":18356},{"id":18385,"depth":15,"text":18385,"children":47189},[47190,47191,47192],{"id":24483,"depth":154,"text":24484},{"id":24490,"depth":154,"text":24491},{"id":31749,"depth":154,"text":31750},{"id":18396,"depth":15,"text":18396},{"id":6940,"depth":15,"text":6940},{"id":18406,"depth":15,"text":18406},{"id":25472,"depth":15,"text":25472},{"id":35407,"depth":15,"text":35407},{"id":35417,"depth":15,"text":35417},{"id":35427,"depth":15,"text":35427},{"id":35437,"depth":15,"text":35437},{"id":35447,"depth":15,"text":35447},{"id":35457,"depth":15,"text":35457},{"id":25480,"depth":15,"text":25480},{"id":25551,"depth":15,"text":25551},{"id":25559,"depth":15,"text":25559},{"id":25567,"depth":15,"text":25567},{"id":25575,"depth":15,"text":25575},{"id":25581,"depth":15,"text":25581},{"id":25587,"depth":15,"text":25587},{"id":35467,"depth":15,"text":35467},{"id":35475,"depth":15,"text":35475},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v7.0",{"description":14},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.0","-BkH1fwCmYTAseMUfHjzWLmbHyR96aPc56sX1OqdIdQ",{"id":47218,"title":47219,"body":47220,"description":14,"extension":17,"image":18,"meta":58921,"navTitle":18,"navigation":20,"path":58922,"seo":58923,"stem":58924,"__hash__":58925},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.1.md","Beam Wallet Protocol API V71",{"type":8,"value":47221,"toc":58857},[47222,47226,47228,47238,47240,47242,47294,47296,47298,47482,47484,47534,47536,47545,47547,47553,47593,47647,47649,47651,47653,47655,47659,47753,47838,47860,47864,47904,47906,47910,47914,47978,47982,48066,48080,48082,48084,48088,48152,48162,48166,48330,48370,48372,48380,48382,48384,48388,48452,48456,48496,48498,48506,48510,48594,48598,48638,48640,48642,48646,48770,48818,48824,48828,48882,48886,48888,48890,48894,48898,48994,48998,49052,49074,49076,49080,49084,49088,49162,49184,49190,49194,49248,49252,49254,49258,49262,49266,49340,49362,49368,49372,49426,49430,49432,49436,49440,49444,49508,49522,49524,49528,49582,49586,49588,49590,49594,49658,49664,49668,49708,49714,49716,49718,49722,49786,49792,49796,49836,49842,49844,49848,49852,49926,49940,49944,50168,50170,50172,50176,50294,50320,50324,50332,50336,50982,51088,51090,51092,51142,51144,51164,51168,51170,51172,51176,51216,51220,51366,51396,51400,51404,51464,51470,51474,52218,52310,52320,52336,52338,52340,52344,52448,52468,52472,52606,52618,52622,52702,52706,52844,52880,52882,52886,52890,52954,52964,52968,53180,53184,53243,53245,53247,53251,53291,53295,53335,53337,53341,53345,53409,53413,53467,53475,53479,53481,53485,53489,53553,53557,53661,53687,53691,53693,53695,53697,53701,53783,53785,53789,53863,53889,53895,53899,54033,54049,54051,54053,54055,54061,54065,54135,54139,54205,54207,54213,54227,54229,54231,54235,54305,54313,54317,54367,54373,54375,54379,54383,54477,54481,54585,54587,54627,54629,54631,54635,54699,54705,54709,54863,54909,54911,54913,54917,54957,54961,55091,55104,55106,55108,55112,55204,55222,55226,55290,55300,55302,55304,55308,55390,55400,55404,55458,55464,55466,55468,55472,55546,55556,55560,55634,55644,55646,55650,55654,55728,55738,55742,55796,55802,55804,55808,55812,55876,55882,55886,55940,55946,55948,55950,55954,56018,56024,56028,56082,56088,56090,56092,56096,56206,56210,56250,56258,56260,56262,56268,56270,56274,56424,56440,56444,56594,56600,56604,56944,56958,56960,56962,56966,57096,57098,57100,57104,57428,57442,57444,57448,57450,57454,57550,57566,57568,57572,57818,57834,57836,57840,57844,58012,58028,58030,58032,58036,58300,58316,58318,58320,58324,58386,58404,58406,58408,58412,58486,58496,58500,58554,58560,58562,58564,58568,58652,58666,58670,58710,58712,58715,58719,58789,58797,58801,58855],[41,47223,47225],{"id":47224},"whats-new-in-v71","What's new in v7.1",[48,47227,25464],{"id":25463},[852,47229,47230],{},[59,47231,47232,98,47236],{},[175,47233,47235],{"href":47234},"#derive_id","derive_id",[241,47237],{"alt":14,"src":18233},[41,47239,18077],{"id":18076},[34,47241,18080],{},[852,47243,47244,47246,47248,47250,47252,47254,47256,47258,47260,47262,47264,47266,47268,47270,47272,47274,47276,47278,47280,47282,47284,47286,47288,47290,47292],{},[59,47245,18085],{},[59,47247,18088],{},[59,47249,18091],{},[59,47251,18094],{},[59,47253,18097],{},[59,47255,18100],{},[59,47257,18103],{},[59,47259,25612],{},[59,47261,18168],{},[59,47263,18171],{},[59,47265,18174],{},[59,47267,18177],{},[59,47269,18180],{},[59,47271,18183],{},[59,47273,18186],{},[59,47275,18189],{},[59,47277,18192],{},[59,47279,18195],{},[59,47281,18198],{},[59,47283,18201],{},[59,47285,18204],{},[59,47287,18207],{},[59,47289,18210],{},[59,47291,18213],{},[59,47293,18216],{},[41,47295,18220],{"id":18219},[48,47297,35561],{"id":35560},[852,47299,47300,47306,47312,47318,47324,47330,47336,47340,47344,47350,47356,47360,47366,47372,47376,47382,47388,47394,47400,47406,47412,47416,47422,47430,47438,47446,47452,47458,47464,47470,47476],{},[59,47301,47302,98,47304],{},[175,47303,12194],{"href":18230},[241,47305],{"alt":14,"src":18233},[59,47307,47308,98,47310],{},[175,47309,18239],{"href":18238},[241,47311],{"alt":14,"src":18233},[59,47313,47314,98,47316],{},[175,47315,18247],{"href":18246},[241,47317],{"alt":14,"src":18233},[59,47319,47320,98,47322],{},[175,47321,18255],{"href":18254},[241,47323],{"alt":14,"src":18233},[59,47325,47326,98,47328],{},[175,47327,11852],{"href":18262},[241,47329],{"alt":14,"src":18233},[59,47331,47332,98,47334],{},[175,47333,6905],{"href":18269},[241,47335],{"alt":14,"src":18233},[59,47337,47338],{},[175,47339,6920],{"href":18276},[59,47341,47342],{},[175,47343,6925],{"href":18281},[59,47345,47346,98,47348],{},[175,47347,6930],{"href":8044},[241,47349],{"alt":14,"src":18233},[59,47351,47352,98,47354],{},[175,47353,18293],{"href":18292},[241,47355],{"alt":14,"src":18233},[59,47357,47358],{},[175,47359,6910],{"href":18300},[59,47361,47362,98,47364],{},[175,47363,18306],{"href":18305},[241,47365],{"alt":14,"src":18233},[59,47367,47368,98,47370],{},[175,47369,18314],{"href":18313},[241,47371],{"alt":14,"src":18233},[59,47373,47374],{},[175,47375,18014],{"href":18321},[59,47377,47378,98,47380],{},[175,47379,18327],{"href":18326},[241,47381],{"alt":14,"src":18233},[59,47383,47384,98,47386],{},[175,47385,6900],{"href":18334},[241,47387],{"alt":14,"src":18233},[59,47389,47390,98,47392],{},[175,47391,18340],{"href":18339},[241,47393],{"alt":14,"src":18233},[59,47395,47396,98,47398],{},[175,47397,18348],{"href":18347},[241,47399],{"alt":14,"src":18233},[59,47401,47402,98,47404],{},[175,47403,18356],{"href":18355},[241,47405],{"alt":14,"src":18233},[59,47407,47408,98,47410],{},[175,47409,6935],{"href":18363},[241,47411],{"alt":14,"src":18233},[59,47413,47414],{},[175,47415,18371],{"href":18370},[59,47417,47418,98,47420],{},[175,47419,18377],{"href":18376},[241,47421],{"alt":14,"src":18233},[59,47423,47424,98,47426,47428],{},[175,47425,18385],{"href":18384},[241,47427],{"alt":14,"src":18233},[241,47429],{"alt":14,"src":25783},[59,47431,47432,98,47434,47436],{},[175,47433,18396],{"href":18395},[241,47435],{"alt":14,"src":18233},[241,47437],{"alt":14,"src":25783},[59,47439,47440,98,47442,47444],{},[175,47441,18406],{"href":18405},[241,47443],{"alt":14,"src":18233},[241,47445],{"alt":14,"src":25783},[59,47447,47448,98,47450],{},[175,47449,6940],{"href":18415},[241,47451],{"alt":14,"src":18233},[59,47453,47454,98,47456],{},[175,47455,25472],{"href":25471},[241,47457],{"alt":14,"src":18233},[59,47459,47460,98,47462],{},[175,47461,25480],{"href":25479},[241,47463],{"alt":14,"src":18233},[59,47465,47466,98,47468],{},[175,47467,35467],{"href":35466},[241,47469],{"alt":14,"src":18233},[59,47471,47472,98,47474],{},[175,47473,35475],{"href":35474},[241,47475],{"alt":14,"src":18233},[59,47477,47478,98,47480],{},[175,47479,47235],{"href":47234},[241,47481],{"alt":14,"src":18233},[48,47483,35743],{"id":35742},[852,47485,47486,47494,47502,47510,47518,47526],{},[59,47487,47488,98,47490,47492],{},[175,47489,35407],{"href":35406},[241,47491],{"alt":14,"src":18233},[241,47493],{"alt":14,"src":25783},[59,47495,47496,98,47498,47500],{},[175,47497,35417],{"href":35416},[241,47499],{"alt":14,"src":18233},[241,47501],{"alt":14,"src":25783},[59,47503,47504,98,47506,47508],{},[175,47505,35427],{"href":35426},[241,47507],{"alt":14,"src":18233},[241,47509],{"alt":14,"src":25783},[59,47511,47512,98,47514,47516],{},[175,47513,35437],{"href":35436},[241,47515],{"alt":14,"src":18233},[241,47517],{"alt":14,"src":25783},[59,47519,47520,98,47522,47524],{},[175,47521,35447],{"href":35446},[241,47523],{"alt":14,"src":18233},[241,47525],{"alt":14,"src":25783},[59,47527,47528,98,47530,47532],{},[175,47529,35457],{"href":35456},[241,47531],{"alt":14,"src":18233},[241,47533],{"alt":14,"src":25783},[48,47535,35797],{"id":35796},[34,47537,18424,47538,18427,47540,18431,47542,181],{},[611,47539,6883],{},[611,47541,18430],{},[175,47543,18436],{"href":18434,"rel":47544},[179],[41,47546,35809],{"id":32868},[34,47548,35812,47549,35815,47551,32909],{},[175,47550,25480],{"href":25479},[611,47552,32908],{},[852,47554,47555,47585,47591],{},[59,47556,47557,32916,47559],{},[611,47558,8665],{},[852,47560,47561,47567,47573,47579],{},[59,47562,47563,2231,47565,32926],{},[611,47564,7180],{},[611,47566,32925],{},[59,47568,47569,2231,47571,32934],{},[611,47570,6679],{},[611,47572,32933],{},[59,47574,47575,2231,47577,32942],{},[611,47576,7511],{},[611,47578,32941],{},[59,47580,47581,2231,47583,32950],{},[611,47582,11136],{},[611,47584,32949],{},[59,47586,47587,32956,47589,32959],{},[611,47588,35854],{},[611,47590,8665],{},[59,47592,32962],{},[852,47594,47595,47603,47611,47619,47625,47631,47639],{},[59,47596,47597,98,47599,47601],{},[175,47598,25551],{"href":25550},[241,47600],{"alt":14,"src":18233},[241,47602],{"alt":14,"src":25783},[59,47604,47605,98,47607,47609],{},[175,47606,25559],{"href":25558},[241,47608],{"alt":14,"src":18233},[241,47610],{"alt":14,"src":25783},[59,47612,47613,98,47615,47617],{},[175,47614,25567],{"href":25566},[241,47616],{"alt":14,"src":18233},[241,47618],{"alt":14,"src":25783},[59,47620,47621,98,47623],{},[175,47622,25575],{"href":25574},[241,47624],{"alt":14,"src":25783},[59,47626,47627,98,47629],{},[175,47628,25581],{"href":25580},[241,47630],{"alt":14,"src":25783},[59,47632,47633,98,47635,47637],{},[175,47634,25587],{"href":25586},[241,47636],{"alt":14,"src":18233},[241,47638],{"alt":14,"src":25783},[59,47640,47641,98,47643,47645],{},[175,47642,35314],{"href":35313},[241,47644],{"alt":14,"src":18233},[241,47646],{"alt":14,"src":25783},[41,47648,24477],{"id":24476},[34,47650,35917],{},[41,47652,12194],{"id":12194},[34,47654,18441],{},[34,47656,47657],{},[611,47658,6986],{},[616,47660,47661],{"className":6989,"code":18448,"language":6991,"meta":14,"style":14},[611,47662,47663,47667,47677,47687,47697,47703,47707,47717,47727,47737,47745,47749],{"__ignoreMap":14},[6995,47664,47665],{"class":244,"line":6997},[6995,47666,7001],{"class":7000},[6995,47668,47669,47671,47673,47675],{"class":244,"line":15},[6995,47670,7007],{"class":7006},[6995,47672,7024],{"class":7000},[6995,47674,7013],{"class":7012},[6995,47676,7016],{"class":7000},[6995,47678,47679,47681,47683,47685],{"class":244,"line":154},[6995,47680,7021],{"class":7006},[6995,47682,7024],{"class":7000},[6995,47684,6679],{"class":7006},[6995,47686,7030],{"class":7000},[6995,47688,47689,47691,47693,47695],{"class":244,"line":7033},[6995,47690,7036],{"class":7006},[6995,47692,7024],{"class":7000},[6995,47694,12237],{"class":7012},[6995,47696,7016],{"class":7000},[6995,47698,47699,47701],{"class":244,"line":7044},[6995,47700,7529],{"class":7006},[6995,47702,7532],{"class":7000},[6995,47704,47705],{"class":244,"line":7107},[6995,47706,7537],{"class":7000},[6995,47708,47709,47711,47713,47715],{"class":244,"line":7120},[6995,47710,11924],{"class":7006},[6995,47712,7024],{"class":7000},[6995,47714,12303],{"class":7012},[6995,47716,7030],{"class":7000},[6995,47718,47719,47721,47723,47725],{"class":244,"line":7133},[6995,47720,12268],{"class":7006},[6995,47722,7024],{"class":7000},[6995,47724,12273],{"class":7012},[6995,47726,7030],{"class":7000},[6995,47728,47729,47731,47733,47735],{"class":244,"line":7146},[6995,47730,7588],{"class":7006},[6995,47732,7024],{"class":7000},[6995,47734,18523],{"class":7012},[6995,47736,7030],{"class":7000},[6995,47738,47739,47741,47743],{"class":244,"line":7159},[6995,47740,18530],{"class":7006},[6995,47742,7746],{"class":7000},[6995,47744,8505],{"class":7006},[6995,47746,47747],{"class":244,"line":7172},[6995,47748,7615],{"class":7000},[6995,47750,47751],{"class":244,"line":7185},[6995,47752,7047],{"class":7000},[852,47754,47755,47790,47810,47814,47828],{},[59,47756,47757,11963,47759,47781,18578,47783,18584,47786,18587,47788],{},[611,47758,11962],{},[852,47760,47761,47765,47769,47773,47777],{},[59,47762,47763,18555],{},[611,47764,11803],{},[59,47766,47767,18560],{},[611,47768,11810],{},[59,47770,47771,18565],{},[611,47772,11989],{},[59,47774,47775,18570],{},[611,47776,12000],{},[59,47778,47779,18575],{},[611,47780,12010],{},[4953,47782],{},[175,47784,18583],{"href":18581,"rel":47785},[179],[611,47787,11810],{},[611,47789,18590],{},[59,47791,47792,47794,47804,18612,47806,18616,47808,18619],{},[611,47793,18595],{},[852,47795,47796,47800],{},[59,47797,18600,47798,181],{},[611,47799,18603],{},[59,47801,18606,47802,181],{},[611,47803,18609],{},[4953,47805],{},[611,47807,18615],{},[611,47809,18615],{},[59,47811,47812,18625],{},[611,47813,18624],{},[59,47815,47816,18631,47818,18634,47820,18637,47822,18641,47824,18645,47826,181],{},[611,47817,18630],{},[611,47819,8689],{},[611,47821,11803],{},[611,47823,18640],{},[611,47825,18644],{},[611,47827,18648],{},[59,47829,47830,18654,47832,18657,47834,18660,47836,181],{},[611,47831,18653],{},[611,47833,11810],{},[611,47835,6679],{},[611,47837,18663],{},[34,47839,18666,47840,18669,47842,18672,47844,18675,47846,18678,47848,2231,47850,1475,47852,18685,47854,10670,47856,10670,47858,18692],{},[611,47841,738],{},[175,47843,15797],{"href":18269},[611,47845,12315],{},[611,47847,6883],{},[611,47849,11810],{},[611,47851,11989],{},[611,47853,12000],{},[611,47855,11810],{},[611,47857,11989],{},[611,47859,12000],{},[34,47861,47862],{},[611,47863,7052],{},[616,47865,47866],{"className":6989,"code":18699,"language":6991,"meta":14,"style":14},[611,47867,47868,47872,47882,47892,47900],{"__ignoreMap":14},[6995,47869,47870],{"class":244,"line":6997},[6995,47871,7001],{"class":7000},[6995,47873,47874,47876,47878,47880],{"class":244,"line":15},[6995,47875,7007],{"class":7006},[6995,47877,7746],{"class":7000},[6995,47879,7013],{"class":7012},[6995,47881,7016],{"class":7000},[6995,47883,47884,47886,47888,47890],{"class":244,"line":154},[6995,47885,7021],{"class":7006},[6995,47887,7746],{"class":7000},[6995,47889,6679],{"class":7006},[6995,47891,7030],{"class":7000},[6995,47893,47894,47896,47898],{"class":244,"line":7033},[6995,47895,7732],{"class":7006},[6995,47897,7746],{"class":7000},[6995,47899,18734],{"class":7012},[6995,47901,47902],{"class":244,"line":7044},[6995,47903,7047],{"class":7000},[41,47905,11852],{"id":11852},[34,47907,18743,47908,18747],{},[611,47909,18746],{},[34,47911,47912],{},[611,47913,6986],{},[616,47915,47916],{"className":6989,"code":18754,"language":6991,"meta":14,"style":14},[611,47917,47918,47922,47932,47942,47952,47958,47962,47970,47974],{"__ignoreMap":14},[6995,47919,47920],{"class":244,"line":6997},[6995,47921,7001],{"class":7000},[6995,47923,47924,47926,47928,47930],{"class":244,"line":15},[6995,47925,7007],{"class":7006},[6995,47927,5102],{"class":7000},[6995,47929,7013],{"class":7012},[6995,47931,7016],{"class":7000},[6995,47933,47934,47936,47938,47940],{"class":244,"line":154},[6995,47935,7021],{"class":7006},[6995,47937,7024],{"class":7000},[6995,47939,6679],{"class":7006},[6995,47941,7030],{"class":7000},[6995,47943,47944,47946,47948,47950],{"class":244,"line":7033},[6995,47945,7036],{"class":7006},[6995,47947,7024],{"class":7000},[6995,47949,18789],{"class":7012},[6995,47951,7016],{"class":7000},[6995,47953,47954,47956],{"class":244,"line":7044},[6995,47955,7529],{"class":7006},[6995,47957,7532],{"class":7000},[6995,47959,47960],{"class":244,"line":7107},[6995,47961,7537],{"class":7000},[6995,47963,47964,47966,47968],{"class":244,"line":7120},[6995,47965,7577],{"class":7006},[6995,47967,7746],{"class":7000},[6995,47969,18734],{"class":7012},[6995,47971,47972],{"class":244,"line":7133},[6995,47973,7615],{"class":7000},[6995,47975,47976],{"class":244,"line":7146},[6995,47977,7047],{"class":7000},[34,47979,47980],{},[611,47981,7052],{},[616,47983,47984],{"className":6989,"code":18824,"language":6991,"meta":14,"style":14},[611,47985,47986,47990,48000,48010,48016,48020,48030,48040,48050,48058,48062],{"__ignoreMap":14},[6995,47987,47988],{"class":244,"line":6997},[6995,47989,7001],{"class":7000},[6995,47991,47992,47994,47996,47998],{"class":244,"line":15},[6995,47993,7007],{"class":7006},[6995,47995,5102],{"class":7000},[6995,47997,7013],{"class":7012},[6995,47999,7016],{"class":7000},[6995,48001,48002,48004,48006,48008],{"class":244,"line":154},[6995,48003,7021],{"class":7006},[6995,48005,7024],{"class":7000},[6995,48007,6679],{"class":7006},[6995,48009,7030],{"class":7000},[6995,48011,48012,48014],{"class":244,"line":7033},[6995,48013,7732],{"class":7006},[6995,48015,11893],{"class":7000},[6995,48017,48018],{"class":244,"line":7044},[6995,48019,7537],{"class":7000},[6995,48021,48022,48024,48026,48028],{"class":244,"line":7107},[6995,48023,11902],{"class":7006},[6995,48025,7746],{"class":7000},[6995,48027,8689],{"class":7006},[6995,48029,7030],{"class":7000},[6995,48031,48032,48034,48036,48038],{"class":244,"line":7120},[6995,48033,11913],{"class":7006},[6995,48035,7746],{"class":7000},[6995,48037,11094],{"class":7006},[6995,48039,7030],{"class":7000},[6995,48041,48042,48044,48046,48048],{"class":244,"line":7133},[6995,48043,11924],{"class":7006},[6995,48045,7024],{"class":7000},[6995,48047,11929],{"class":7012},[6995,48049,7016],{"class":7000},[6995,48051,48052,48054,48056],{"class":244,"line":7146},[6995,48053,11940],{"class":7006},[6995,48055,7024],{"class":7000},[6995,48057,18899],{"class":7006},[6995,48059,48060],{"class":244,"line":7159},[6995,48061,7615],{"class":7000},[6995,48063,48064],{"class":244,"line":7172},[6995,48065,7047],{"class":7000},[852,48067,48068,48074],{},[59,48069,48070,18914,48072,18917],{},[611,48071,11962],{},[175,48073,12194],{"href":18230},[59,48075,48076,18922,48078,12022],{},[611,48077,12018],{},[611,48079,11810],{},[41,48081,18255],{"id":18255},[34,48083,18929],{},[34,48085,48086],{},[611,48087,6986],{},[616,48089,48090],{"className":6989,"code":18936,"language":6991,"meta":14,"style":14},[611,48091,48092,48096,48106,48116,48126,48132,48136,48144,48148],{"__ignoreMap":14},[6995,48093,48094],{"class":244,"line":6997},[6995,48095,7001],{"class":7000},[6995,48097,48098,48100,48102,48104],{"class":244,"line":15},[6995,48099,7007],{"class":7006},[6995,48101,5102],{"class":7000},[6995,48103,7013],{"class":7012},[6995,48105,7016],{"class":7000},[6995,48107,48108,48110,48112,48114],{"class":244,"line":154},[6995,48109,7021],{"class":7006},[6995,48111,7024],{"class":7000},[6995,48113,18961],{"class":7006},[6995,48115,7030],{"class":7000},[6995,48117,48118,48120,48122,48124],{"class":244,"line":7033},[6995,48119,7036],{"class":7006},[6995,48121,5102],{"class":7000},[6995,48123,18972],{"class":7012},[6995,48125,7030],{"class":7000},[6995,48127,48128,48130],{"class":244,"line":7044},[6995,48129,7529],{"class":7006},[6995,48131,7532],{"class":7000},[6995,48133,48134],{"class":244,"line":7107},[6995,48135,7537],{"class":7000},[6995,48137,48138,48140,48142],{"class":244,"line":7120},[6995,48139,18989],{"class":7006},[6995,48141,7746],{"class":7000},[6995,48143,8505],{"class":7006},[6995,48145,48146],{"class":244,"line":7133},[6995,48147,7615],{"class":7000},[6995,48149,48150],{"class":244,"line":7146},[6995,48151,7047],{"class":7000},[852,48153,48154],{},[59,48155,48156,19009,48158,19012,48160,19015],{},[611,48157,19008],{},[611,48159,8689],{},[611,48161,11094],{},[34,48163,48164],{},[611,48165,7052],{},[616,48167,48168],{"className":6989,"code":19022,"language":6991,"meta":14,"style":14},[611,48169,48170,48174,48184,48194,48200,48204,48214,48224,48234,48244,48254,48264,48274,48284,48294,48304,48314,48322,48326],{"__ignoreMap":14},[6995,48171,48172],{"class":244,"line":6997},[6995,48173,7001],{"class":7000},[6995,48175,48176,48178,48180,48182],{"class":244,"line":15},[6995,48177,7021],{"class":7006},[6995,48179,7024],{"class":7000},[6995,48181,18961],{"class":7006},[6995,48183,7030],{"class":7000},[6995,48185,48186,48188,48190,48192],{"class":244,"line":154},[6995,48187,7007],{"class":7006},[6995,48189,7024],{"class":7000},[6995,48191,7013],{"class":7012},[6995,48193,7030],{"class":7000},[6995,48195,48196,48198],{"class":244,"line":7033},[6995,48197,7732],{"class":7006},[6995,48199,7532],{"class":7000},[6995,48201,48202],{"class":244,"line":7044},[6995,48203,19059],{"class":7000},[6995,48205,48206,48208,48210,48212],{"class":244,"line":7107},[6995,48207,7577],{"class":7006},[6995,48209,7024],{"class":7000},[6995,48211,19068],{"class":7012},[6995,48213,7030],{"class":7000},[6995,48215,48216,48218,48220,48222],{"class":244,"line":7120},[6995,48217,19075],{"class":7006},[6995,48219,7024],{"class":7000},[6995,48221,19080],{"class":7012},[6995,48223,7030],{"class":7000},[6995,48225,48226,48228,48230,48232],{"class":244,"line":7133},[6995,48227,19087],{"class":7006},[6995,48229,7024],{"class":7000},[6995,48231,19092],{"class":7006},[6995,48233,7030],{"class":7000},[6995,48235,48236,48238,48240,48242],{"class":244,"line":7146},[6995,48237,19099],{"class":7006},[6995,48239,7024],{"class":7000},[6995,48241,19104],{"class":7006},[6995,48243,7030],{"class":7000},[6995,48245,48246,48248,48250,48252],{"class":244,"line":7159},[6995,48247,19111],{"class":7006},[6995,48249,7024],{"class":7000},[6995,48251,8689],{"class":7006},[6995,48253,7030],{"class":7000},[6995,48255,48256,48258,48260,48262],{"class":244,"line":7172},[6995,48257,7588],{"class":7006},[6995,48259,7024],{"class":7000},[6995,48261,19080],{"class":7012},[6995,48263,7030],{"class":7000},[6995,48265,48266,48268,48270,48272],{"class":244,"line":7185},[6995,48267,18989],{"class":7006},[6995,48269,7024],{"class":7000},[6995,48271,8689],{"class":7006},[6995,48273,7030],{"class":7000},[6995,48275,48276,48278,48280,48282],{"class":244,"line":7198},[6995,48277,19142],{"class":7006},[6995,48279,7024],{"class":7000},[6995,48281,19147],{"class":7006},[6995,48283,7030],{"class":7000},[6995,48285,48286,48288,48290,48292],{"class":244,"line":7211},[6995,48287,19154],{"class":7006},[6995,48289,7024],{"class":7000},[6995,48291,19159],{"class":7012},[6995,48293,7030],{"class":7000},[6995,48295,48296,48298,48300,48302],{"class":244,"line":7220},[6995,48297,19166],{"class":7006},[6995,48299,7024],{"class":7000},[6995,48301,19171],{"class":7012},[6995,48303,7030],{"class":7000},[6995,48305,48306,48308,48310,48312],{"class":244,"line":7226},[6995,48307,11924],{"class":7006},[6995,48309,7024],{"class":7000},[6995,48311,12303],{"class":7012},[6995,48313,7030],{"class":7000},[6995,48315,48316,48318,48320],{"class":244,"line":7238},[6995,48317,19188],{"class":7006},[6995,48319,7024],{"class":7000},[6995,48321,19193],{"class":7012},[6995,48323,48324],{"class":244,"line":7250},[6995,48325,19198],{"class":7000},[6995,48327,48328],{"class":244,"line":7263},[6995,48329,7047],{"class":7000},[852,48331,48332,48336,48340,48344,48348,48354],{},[59,48333,48334,19209],{},[611,48335,738],{},[59,48337,48338,19215],{},[611,48339,19214],{},[59,48341,48342,19221],{},[611,48343,19220],{},[59,48345,48346,26526],{},[611,48347,19226],{},[59,48349,48350,19232,48352,19235],{},[611,48351,11962],{},[175,48353,12194],{"href":18230},[59,48355,48356,19241,48358,19244,48360,19247,48362,19250,48364,2231,48366,1475,48368,12028],{},[611,48357,19240],{},[611,48359,11989],{},[611,48361,19240],{},[611,48363,11989],{},[611,48365,11803],{},[611,48367,12010],{},[611,48369,11810],{},[48,48371,8763],{"id":19226},[34,48373,19261,48374,26555,48376,19267,48378,19271],{},[611,48375,19226],{},[611,48377,19226],{},[100,48379,19270],{},[41,48381,18239],{"id":18239},[34,48383,19276],{},[34,48385,48386],{},[611,48387,6986],{},[616,48389,48390],{"className":6989,"code":19283,"language":6991,"meta":14,"style":14},[611,48391,48392,48396,48406,48416,48426,48432,48436,48444,48448],{"__ignoreMap":14},[6995,48393,48394],{"class":244,"line":6997},[6995,48395,7001],{"class":7000},[6995,48397,48398,48400,48402,48404],{"class":244,"line":15},[6995,48399,7007],{"class":7006},[6995,48401,5102],{"class":7000},[6995,48403,7013],{"class":7012},[6995,48405,7016],{"class":7000},[6995,48407,48408,48410,48412,48414],{"class":244,"line":154},[6995,48409,7021],{"class":7006},[6995,48411,7024],{"class":7000},[6995,48413,18961],{"class":7006},[6995,48415,7030],{"class":7000},[6995,48417,48418,48420,48422,48424],{"class":244,"line":7033},[6995,48419,7036],{"class":7006},[6995,48421,5102],{"class":7000},[6995,48423,19318],{"class":7012},[6995,48425,7030],{"class":7000},[6995,48427,48428,48430],{"class":244,"line":7044},[6995,48429,7529],{"class":7006},[6995,48431,7532],{"class":7000},[6995,48433,48434],{"class":244,"line":7107},[6995,48435,7537],{"class":7000},[6995,48437,48438,48440,48442],{"class":244,"line":7120},[6995,48439,7577],{"class":7006},[6995,48441,7746],{"class":7000},[6995,48443,19193],{"class":7012},[6995,48445,48446],{"class":244,"line":7133},[6995,48447,7615],{"class":7000},[6995,48449,48450],{"class":244,"line":7146},[6995,48451,7047],{"class":7000},[34,48453,48454],{},[611,48455,7052],{},[616,48457,48458],{"className":6989,"code":19353,"language":6991,"meta":14,"style":14},[611,48459,48460,48464,48474,48484,48492],{"__ignoreMap":14},[6995,48461,48462],{"class":244,"line":6997},[6995,48463,7001],{"class":7000},[6995,48465,48466,48468,48470,48472],{"class":244,"line":15},[6995,48467,7021],{"class":7006},[6995,48469,7024],{"class":7000},[6995,48471,18961],{"class":7006},[6995,48473,7030],{"class":7000},[6995,48475,48476,48478,48480,48482],{"class":244,"line":154},[6995,48477,7007],{"class":7006},[6995,48479,7024],{"class":7000},[6995,48481,7013],{"class":7012},[6995,48483,7030],{"class":7000},[6995,48485,48486,48488,48490],{"class":244,"line":7033},[6995,48487,7732],{"class":7006},[6995,48489,7024],{"class":7000},[6995,48491,19388],{"class":7012},[6995,48493,48494],{"class":244,"line":7044},[6995,48495,7047],{"class":7000},[41,48497,18247],{"id":18247},[34,48499,19397,48500,19400,48502,19403,48504,19406],{},[611,48501,18624],{},[611,48503,18595],{},[175,48505,12194],{"href":18230},[34,48507,48508],{},[611,48509,6986],{},[616,48511,48512],{"className":6989,"code":19413,"language":6991,"meta":14,"style":14},[611,48513,48514,48518,48528,48538,48548,48554,48558,48568,48578,48586,48590],{"__ignoreMap":14},[6995,48515,48516],{"class":244,"line":6997},[6995,48517,7001],{"class":7000},[6995,48519,48520,48522,48524,48526],{"class":244,"line":15},[6995,48521,7007],{"class":7006},[6995,48523,5102],{"class":7000},[6995,48525,7013],{"class":7012},[6995,48527,7016],{"class":7000},[6995,48529,48530,48532,48534,48536],{"class":244,"line":154},[6995,48531,7021],{"class":7006},[6995,48533,7024],{"class":7000},[6995,48535,18961],{"class":7006},[6995,48537,7030],{"class":7000},[6995,48539,48540,48542,48544,48546],{"class":244,"line":7033},[6995,48541,7036],{"class":7006},[6995,48543,5102],{"class":7000},[6995,48545,19448],{"class":7012},[6995,48547,7030],{"class":7000},[6995,48549,48550,48552],{"class":244,"line":7044},[6995,48551,7529],{"class":7006},[6995,48553,7532],{"class":7000},[6995,48555,48556],{"class":244,"line":7107},[6995,48557,7537],{"class":7000},[6995,48559,48560,48562,48564,48566],{"class":244,"line":7120},[6995,48561,7577],{"class":7006},[6995,48563,7746],{"class":7000},[6995,48565,19068],{"class":7012},[6995,48567,7030],{"class":7000},[6995,48569,48570,48572,48574,48576],{"class":244,"line":7133},[6995,48571,7588],{"class":7006},[6995,48573,7746],{"class":7000},[6995,48575,18523],{"class":7012},[6995,48577,7030],{"class":7000},[6995,48579,48580,48582,48584],{"class":244,"line":7146},[6995,48581,12268],{"class":7006},[6995,48583,7746],{"class":7000},[6995,48585,19489],{"class":7012},[6995,48587,48588],{"class":244,"line":7159},[6995,48589,7615],{"class":7000},[6995,48591,48592],{"class":244,"line":7172},[6995,48593,7047],{"class":7000},[34,48595,48596],{},[611,48597,7052],{},[616,48599,48600],{"className":6989,"code":19353,"language":6991,"meta":14,"style":14},[611,48601,48602,48606,48616,48626,48634],{"__ignoreMap":14},[6995,48603,48604],{"class":244,"line":6997},[6995,48605,7001],{"class":7000},[6995,48607,48608,48610,48612,48614],{"class":244,"line":15},[6995,48609,7021],{"class":7006},[6995,48611,7024],{"class":7000},[6995,48613,18961],{"class":7006},[6995,48615,7030],{"class":7000},[6995,48617,48618,48620,48622,48624],{"class":244,"line":154},[6995,48619,7007],{"class":7006},[6995,48621,7024],{"class":7000},[6995,48623,7013],{"class":7012},[6995,48625,7030],{"class":7000},[6995,48627,48628,48630,48632],{"class":244,"line":7033},[6995,48629,7732],{"class":7006},[6995,48631,7024],{"class":7000},[6995,48633,19388],{"class":7012},[6995,48635,48636],{"class":244,"line":7044},[6995,48637,7047],{"class":7000},[41,48639,6905],{"id":6905},[34,48641,19546],{},[34,48643,48644],{},[611,48645,6986],{},[616,48647,48648],{"className":6989,"code":19553,"language":6991,"meta":14,"style":14},[611,48649,48650,48654,48664,48674,48684,48690,48694,48704,48714,48724,48734,48744,48754,48762,48766],{"__ignoreMap":14},[6995,48651,48652],{"class":244,"line":6997},[6995,48653,7001],{"class":7000},[6995,48655,48656,48658,48660,48662],{"class":244,"line":15},[6995,48657,7007],{"class":7006},[6995,48659,5102],{"class":7000},[6995,48661,7013],{"class":7012},[6995,48663,7016],{"class":7000},[6995,48665,48666,48668,48670,48672],{"class":244,"line":154},[6995,48667,7021],{"class":7006},[6995,48669,7024],{"class":7000},[6995,48671,7511],{"class":7006},[6995,48673,7030],{"class":7000},[6995,48675,48676,48678,48680,48682],{"class":244,"line":7033},[6995,48677,7036],{"class":7006},[6995,48679,5102],{"class":7000},[6995,48681,7522],{"class":7012},[6995,48683,7016],{"class":7000},[6995,48685,48686,48688],{"class":244,"line":7044},[6995,48687,7529],{"class":7006},[6995,48689,7532],{"class":7000},[6995,48691,48692],{"class":244,"line":7107},[6995,48693,7537],{"class":7000},[6995,48695,48696,48698,48700,48702],{"class":244,"line":7120},[6995,48697,7542],{"class":7006},[6995,48699,7024],{"class":7000},[6995,48701,7547],{"class":7006},[6995,48703,7030],{"class":7000},[6995,48705,48706,48708,48710,48712],{"class":244,"line":7133},[6995,48707,7554],{"class":7006},[6995,48709,7024],{"class":7000},[6995,48711,7511],{"class":7006},[6995,48713,7030],{"class":7000},[6995,48715,48716,48718,48720,48722],{"class":244,"line":7146},[6995,48717,7565],{"class":7006},[6995,48719,7024],{"class":7000},[6995,48721,7570],{"class":7012},[6995,48723,7030],{"class":7000},[6995,48725,48726,48728,48730,48732],{"class":244,"line":7159},[6995,48727,7577],{"class":7006},[6995,48729,7024],{"class":7000},[6995,48731,7570],{"class":7012},[6995,48733,7030],{"class":7000},[6995,48735,48736,48738,48740,48742],{"class":244,"line":7172},[6995,48737,7588],{"class":7006},[6995,48739,7024],{"class":7000},[6995,48741,7593],{"class":7012},[6995,48743,7030],{"class":7000},[6995,48745,48746,48748,48750,48752],{"class":244,"line":7185},[6995,48747,7229],{"class":7006},[6995,48749,7024],{"class":7000},[6995,48751,6679],{"class":7006},[6995,48753,7030],{"class":7000},[6995,48755,48756,48758,48760],{"class":244,"line":7198},[6995,48757,12158],{"class":7006},[6995,48759,7024],{"class":7000},[6995,48761,19668],{"class":7006},[6995,48763,48764],{"class":244,"line":7211},[6995,48765,7615],{"class":7000},[6995,48767,48768],{"class":244,"line":7220},[6995,48769,7047],{"class":7000},[852,48771,48772,48776,48780,48784,48794,48798,48802,48810],{},[59,48773,48774,19683],{},[611,48775,8141],{},[59,48777,48778,19688],{},[611,48779,8147],{},[59,48781,48782,19694],{},[611,48783,19693],{},[59,48785,48786,19699,48788,19702,48790,1475,48792,181],{},[611,48787,738],{},[100,48789,11775],{},[611,48791,738],{},[611,48793,19226],{},[59,48795,48796,19711],{},[611,48797,18624],{},[59,48799,48800,19716],{},[611,48801,8158],{},[59,48803,48804,19721,48806,19724,48808,19727],{},[611,48805,6869],{},[611,48807,6869],{},[611,48809,4979],{},[59,48811,48812,19732,48814,19736,48816,19739],{},[611,48813,11810],{},[611,48815,19735],{},[611,48817,11810],{},[34,48819,19742,48820,19745,48822,19749],{},[611,48821,14350],{},[611,48823,19748],{},[34,48825,48826],{},[611,48827,7052],{},[616,48829,48830],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,48831,48832,48836,48846,48856,48862,48866,48874,48878],{"__ignoreMap":14},[6995,48833,48834],{"class":244,"line":6997},[6995,48835,7001],{"class":7000},[6995,48837,48838,48840,48842,48844],{"class":244,"line":15},[6995,48839,7007],{"class":7006},[6995,48841,5102],{"class":7000},[6995,48843,7013],{"class":7012},[6995,48845,7016],{"class":7000},[6995,48847,48848,48850,48852,48854],{"class":244,"line":154},[6995,48849,7021],{"class":7006},[6995,48851,7024],{"class":7000},[6995,48853,7511],{"class":7006},[6995,48855,7030],{"class":7000},[6995,48857,48858,48860],{"class":244,"line":7033},[6995,48859,7732],{"class":7006},[6995,48861,7532],{"class":7000},[6995,48863,48864],{"class":244,"line":7044},[6995,48865,7537],{"class":7000},[6995,48867,48868,48870,48872],{"class":244,"line":7107},[6995,48869,7743],{"class":7006},[6995,48871,7746],{"class":7000},[6995,48873,7749],{"class":7012},[6995,48875,48876],{"class":244,"line":7120},[6995,48877,7615],{"class":7000},[6995,48879,48880],{"class":244,"line":7133},[6995,48881,7047],{"class":7000},[34,48883,8221,48884,181],{},[175,48885,7985],{"href":19812},[41,48887,6910],{"id":6910},[34,48889,19817],{},[34,48891,19820,48892,19824],{},[611,48893,19823],{},[34,48895,48896],{},[611,48897,6986],{},[616,48899,48900],{"className":6989,"code":19831,"language":6991,"meta":14,"style":14},[611,48901,48902,48906,48916,48926,48936,48942,48946,48968,48978,48986,48990],{"__ignoreMap":14},[6995,48903,48904],{"class":244,"line":6997},[6995,48905,7001],{"class":7000},[6995,48907,48908,48910,48912,48914],{"class":244,"line":15},[6995,48909,7007],{"class":7006},[6995,48911,5102],{"class":7000},[6995,48913,7013],{"class":7012},[6995,48915,7016],{"class":7000},[6995,48917,48918,48920,48922,48924],{"class":244,"line":154},[6995,48919,7021],{"class":7006},[6995,48921,7024],{"class":7000},[6995,48923,14095],{"class":7006},[6995,48925,7030],{"class":7000},[6995,48927,48928,48930,48932,48934],{"class":244,"line":7033},[6995,48929,7036],{"class":7006},[6995,48931,5102],{"class":7000},[6995,48933,19866],{"class":7012},[6995,48935,7016],{"class":7000},[6995,48937,48938,48940],{"class":244,"line":7044},[6995,48939,7529],{"class":7006},[6995,48941,7532],{"class":7000},[6995,48943,48944],{"class":244,"line":7107},[6995,48945,7537],{"class":7000},[6995,48947,48948,48950,48952,48954,48956,48958,48960,48962,48964,48966],{"class":244,"line":7120},[6995,48949,19883],{"class":7006},[6995,48951,19886],{"class":7000},[6995,48953,19889],{"class":7006},[6995,48955,2231],{"class":7000},[6995,48957,8566],{"class":7006},[6995,48959,2231],{"class":7000},[6995,48961,19898],{"class":7006},[6995,48963,2231],{"class":7000},[6995,48965,19903],{"class":7006},[6995,48967,19906],{"class":7000},[6995,48969,48970,48972,48974,48976],{"class":244,"line":7133},[6995,48971,7554],{"class":7006},[6995,48973,7746],{"class":7000},[6995,48975,10984],{"class":7006},[6995,48977,7030],{"class":7000},[6995,48979,48980,48982,48984],{"class":244,"line":7146},[6995,48981,7229],{"class":7006},[6995,48983,7024],{"class":7000},[6995,48985,7686],{"class":7006},[6995,48987,48988],{"class":244,"line":7159},[6995,48989,7615],{"class":7000},[6995,48991,48992],{"class":244,"line":7172},[6995,48993,7047],{"class":7000},[34,48995,48996],{},[611,48997,7052],{},[616,48999,49000],{"className":6989,"code":19939,"language":6991,"meta":14,"style":14},[611,49001,49002,49006,49016,49026,49032,49036,49044,49048],{"__ignoreMap":14},[6995,49003,49004],{"class":244,"line":6997},[6995,49005,7001],{"class":7000},[6995,49007,49008,49010,49012,49014],{"class":244,"line":15},[6995,49009,7007],{"class":7006},[6995,49011,5102],{"class":7000},[6995,49013,7013],{"class":7012},[6995,49015,7016],{"class":7000},[6995,49017,49018,49020,49022,49024],{"class":244,"line":154},[6995,49019,7021],{"class":7006},[6995,49021,7024],{"class":7000},[6995,49023,14095],{"class":7006},[6995,49025,7030],{"class":7000},[6995,49027,49028,49030],{"class":244,"line":7033},[6995,49029,7732],{"class":7006},[6995,49031,7532],{"class":7000},[6995,49033,49034],{"class":244,"line":7044},[6995,49035,7537],{"class":7000},[6995,49037,49038,49040,49042],{"class":244,"line":7107},[6995,49039,7743],{"class":7006},[6995,49041,7746],{"class":7000},[6995,49043,7749],{"class":7012},[6995,49045,49046],{"class":244,"line":7120},[6995,49047,7615],{"class":7000},[6995,49049,49050],{"class":244,"line":7133},[6995,49051,7047],{"class":7000},[852,49053,49054,49058,49062,49066],{},[59,49055,49056,19998],{},[611,49057,8147],{},[59,49059,49060,20003],{},[611,49061,14350],{},[59,49063,49064,20008],{},[611,49065,8158],{},[59,49067,49068,20013,49070,19724,49072,19727],{},[611,49069,6869],{},[611,49071,6869],{},[611,49073,4979],{},[41,49075,6920],{"id":6920},[34,49077,20022,49078,19727],{},[611,49079,4979],{},[34,49081,20027,49082,8054],{},[175,49083,6930],{"href":8044},[34,49085,49086],{},[611,49087,6986],{},[616,49089,49090],{"className":6989,"code":8061,"language":6991,"meta":14,"style":14},[611,49091,49092,49096,49106,49116,49126,49132,49136,49146,49154,49158],{"__ignoreMap":14},[6995,49093,49094],{"class":244,"line":6997},[6995,49095,7001],{"class":7000},[6995,49097,49098,49100,49102,49104],{"class":244,"line":15},[6995,49099,7007],{"class":7006},[6995,49101,7024],{"class":7000},[6995,49103,7013],{"class":7012},[6995,49105,7016],{"class":7000},[6995,49107,49108,49110,49112,49114],{"class":244,"line":154},[6995,49109,7021],{"class":7006},[6995,49111,7024],{"class":7000},[6995,49113,7511],{"class":7006},[6995,49115,7030],{"class":7000},[6995,49117,49118,49120,49122,49124],{"class":244,"line":7033},[6995,49119,7036],{"class":7006},[6995,49121,7024],{"class":7000},[6995,49123,8096],{"class":7012},[6995,49125,7016],{"class":7000},[6995,49127,49128,49130],{"class":244,"line":7044},[6995,49129,7529],{"class":7006},[6995,49131,7532],{"class":7000},[6995,49133,49134],{"class":244,"line":7107},[6995,49135,7537],{"class":7000},[6995,49137,49138,49140,49142,49144],{"class":244,"line":7120},[6995,49139,7542],{"class":7006},[6995,49141,7024],{"class":7000},[6995,49143,7027],{"class":7006},[6995,49145,7030],{"class":7000},[6995,49147,49148,49150,49152],{"class":244,"line":7133},[6995,49149,7229],{"class":7006},[6995,49151,7024],{"class":7000},[6995,49153,7686],{"class":7006},[6995,49155,49156],{"class":244,"line":7146},[6995,49157,7615],{"class":7000},[6995,49159,49160],{"class":244,"line":7159},[6995,49161,7047],{"class":7000},[852,49163,49164,49168,49172,49176,49180],{},[59,49165,49166,8142],{},[611,49167,8141],{},[59,49169,49170,8148],{},[611,49171,8147],{},[59,49173,49174,8153],{},[611,49175,6869],{},[59,49177,49178,8159],{},[611,49179,8158],{},[59,49181,49182,20131],{},[611,49183,20130],{},[34,49185,20134,49186,20137,49188],{},[611,49187,14350],{},[611,49189,19748],{},[34,49191,49192],{},[611,49193,7052],{},[616,49195,49196],{"className":6989,"code":8166,"language":6991,"meta":14,"style":14},[611,49197,49198,49202,49212,49222,49228,49232,49240,49244],{"__ignoreMap":14},[6995,49199,49200],{"class":244,"line":6997},[6995,49201,7001],{"class":7000},[6995,49203,49204,49206,49208,49210],{"class":244,"line":15},[6995,49205,7007],{"class":7006},[6995,49207,7024],{"class":7000},[6995,49209,7013],{"class":7012},[6995,49211,7016],{"class":7000},[6995,49213,49214,49216,49218,49220],{"class":244,"line":154},[6995,49215,7021],{"class":7006},[6995,49217,7024],{"class":7000},[6995,49219,7511],{"class":7006},[6995,49221,7030],{"class":7000},[6995,49223,49224,49226],{"class":244,"line":7033},[6995,49225,7732],{"class":7006},[6995,49227,7532],{"class":7000},[6995,49229,49230],{"class":244,"line":7044},[6995,49231,7537],{"class":7000},[6995,49233,49234,49236,49238],{"class":244,"line":7107},[6995,49235,7743],{"class":7006},[6995,49237,7746],{"class":7000},[6995,49239,7749],{"class":7012},[6995,49241,49242],{"class":244,"line":7120},[6995,49243,7615],{"class":7000},[6995,49245,49246],{"class":244,"line":7133},[6995,49247,7047],{"class":7000},[34,49249,8221,49250,181],{},[175,49251,7985],{"href":19812},[41,49253,6925],{"id":6925},[34,49255,20022,49256,19727],{},[611,49257,4979],{},[34,49259,20210,49260,20213],{},[175,49261,6930],{"href":8044},[34,49263,49264],{},[611,49265,6986],{},[616,49267,49268],{"className":6989,"code":8236,"language":6991,"meta":14,"style":14},[611,49269,49270,49274,49284,49294,49304,49310,49314,49324,49332,49336],{"__ignoreMap":14},[6995,49271,49272],{"class":244,"line":6997},[6995,49273,7001],{"class":7000},[6995,49275,49276,49278,49280,49282],{"class":244,"line":15},[6995,49277,7007],{"class":7006},[6995,49279,5102],{"class":7000},[6995,49281,7013],{"class":7012},[6995,49283,7016],{"class":7000},[6995,49285,49286,49288,49290,49292],{"class":244,"line":154},[6995,49287,7021],{"class":7006},[6995,49289,7024],{"class":7000},[6995,49291,7511],{"class":7006},[6995,49293,7030],{"class":7000},[6995,49295,49296,49298,49300,49302],{"class":244,"line":7033},[6995,49297,7036],{"class":7006},[6995,49299,5102],{"class":7000},[6995,49301,8271],{"class":7012},[6995,49303,7016],{"class":7000},[6995,49305,49306,49308],{"class":244,"line":7044},[6995,49307,7529],{"class":7006},[6995,49309,7532],{"class":7000},[6995,49311,49312],{"class":244,"line":7107},[6995,49313,7537],{"class":7000},[6995,49315,49316,49318,49320,49322],{"class":244,"line":7120},[6995,49317,7542],{"class":7006},[6995,49319,7024],{"class":7000},[6995,49321,7027],{"class":7006},[6995,49323,7030],{"class":7000},[6995,49325,49326,49328,49330],{"class":244,"line":7133},[6995,49327,7229],{"class":7006},[6995,49329,7024],{"class":7000},[6995,49331,7686],{"class":7006},[6995,49333,49334],{"class":244,"line":7146},[6995,49335,7615],{"class":7000},[6995,49337,49338],{"class":244,"line":7159},[6995,49339,7047],{"class":7000},[852,49341,49342,49346,49350,49354,49358],{},[59,49343,49344,8316],{},[611,49345,8141],{},[59,49347,49348,8321],{},[611,49349,8147],{},[59,49351,49352,8326],{},[611,49353,6869],{},[59,49355,49356,8331],{},[611,49357,8158],{},[59,49359,49360,20314],{},[611,49361,20130],{},[34,49363,20317,49364,20137,49366,20322],{},[611,49365,14350],{},[611,49367,19748],{},[34,49369,49370],{},[611,49371,7052],{},[616,49373,49374],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,49375,49376,49380,49390,49400,49406,49410,49418,49422],{"__ignoreMap":14},[6995,49377,49378],{"class":244,"line":6997},[6995,49379,7001],{"class":7000},[6995,49381,49382,49384,49386,49388],{"class":244,"line":15},[6995,49383,7007],{"class":7006},[6995,49385,5102],{"class":7000},[6995,49387,7013],{"class":7012},[6995,49389,7016],{"class":7000},[6995,49391,49392,49394,49396,49398],{"class":244,"line":154},[6995,49393,7021],{"class":7006},[6995,49395,7024],{"class":7000},[6995,49397,7511],{"class":7006},[6995,49399,7030],{"class":7000},[6995,49401,49402,49404],{"class":244,"line":7033},[6995,49403,7732],{"class":7006},[6995,49405,7532],{"class":7000},[6995,49407,49408],{"class":244,"line":7044},[6995,49409,7537],{"class":7000},[6995,49411,49412,49414,49416],{"class":244,"line":7107},[6995,49413,7743],{"class":7006},[6995,49415,7746],{"class":7000},[6995,49417,7749],{"class":7012},[6995,49419,49420],{"class":244,"line":7120},[6995,49421,7615],{"class":7000},[6995,49423,49424],{"class":244,"line":7133},[6995,49425,7047],{"class":7000},[34,49427,8221,49428,181],{},[175,49429,7985],{"href":19812},[41,49431,6930],{"id":6930},[34,49433,20022,49434,19727],{},[611,49435,4979],{},[34,49437,20393,49438,20396],{},[175,49439,6935],{"href":18363},[34,49441,49442],{},[611,49443,6986],{},[616,49445,49446],{"className":6989,"code":7629,"language":6991,"meta":14,"style":14},[611,49447,49448,49452,49462,49472,49482,49488,49492,49500,49504],{"__ignoreMap":14},[6995,49449,49450],{"class":244,"line":6997},[6995,49451,7001],{"class":7000},[6995,49453,49454,49456,49458,49460],{"class":244,"line":15},[6995,49455,7007],{"class":7006},[6995,49457,5102],{"class":7000},[6995,49459,7013],{"class":7012},[6995,49461,7016],{"class":7000},[6995,49463,49464,49466,49468,49470],{"class":244,"line":154},[6995,49465,7021],{"class":7006},[6995,49467,7024],{"class":7000},[6995,49469,7511],{"class":7006},[6995,49471,7030],{"class":7000},[6995,49473,49474,49476,49478,49480],{"class":244,"line":7033},[6995,49475,7036],{"class":7006},[6995,49477,7024],{"class":7000},[6995,49479,7664],{"class":7012},[6995,49481,7030],{"class":7000},[6995,49483,49484,49486],{"class":244,"line":7044},[6995,49485,7529],{"class":7006},[6995,49487,7673],{"class":7000},[6995,49489,49490],{"class":244,"line":7107},[6995,49491,7537],{"class":7000},[6995,49493,49494,49496,49498],{"class":244,"line":7120},[6995,49495,7229],{"class":7006},[6995,49497,7024],{"class":7000},[6995,49499,7686],{"class":7006},[6995,49501,49502],{"class":244,"line":7133},[6995,49503,7615],{"class":7000},[6995,49505,49506],{"class":244,"line":7146},[6995,49507,7047],{"class":7000},[852,49509,49510,49514,49518],{},[59,49511,49512,7838],{},[611,49513,6869],{},[59,49515,49516,8331],{},[611,49517,8158],{},[59,49519,49520,20314],{},[611,49521,20130],{},[34,49523,20481],{},[34,49525,49526],{},[611,49527,7052],{},[616,49529,49530],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,49531,49532,49536,49546,49556,49562,49566,49574,49578],{"__ignoreMap":14},[6995,49533,49534],{"class":244,"line":6997},[6995,49535,7001],{"class":7000},[6995,49537,49538,49540,49542,49544],{"class":244,"line":15},[6995,49539,7007],{"class":7006},[6995,49541,5102],{"class":7000},[6995,49543,7013],{"class":7012},[6995,49545,7016],{"class":7000},[6995,49547,49548,49550,49552,49554],{"class":244,"line":154},[6995,49549,7021],{"class":7006},[6995,49551,7024],{"class":7000},[6995,49553,7511],{"class":7006},[6995,49555,7030],{"class":7000},[6995,49557,49558,49560],{"class":244,"line":7033},[6995,49559,7732],{"class":7006},[6995,49561,7532],{"class":7000},[6995,49563,49564],{"class":244,"line":7044},[6995,49565,7537],{"class":7000},[6995,49567,49568,49570,49572],{"class":244,"line":7107},[6995,49569,7743],{"class":7006},[6995,49571,7746],{"class":7000},[6995,49573,7749],{"class":7012},[6995,49575,49576],{"class":244,"line":7120},[6995,49577,7615],{"class":7000},[6995,49579,49580],{"class":244,"line":7133},[6995,49581,7047],{"class":7000},[34,49583,8221,49584,181],{},[175,49585,7985],{"href":19812},[41,49587,18306],{"id":18306},[34,49589,20548],{},[34,49591,49592],{},[611,49593,6986],{},[616,49595,49596],{"className":6989,"code":20555,"language":6991,"meta":14,"style":14},[611,49597,49598,49602,49612,49622,49632,49638,49642,49650,49654],{"__ignoreMap":14},[6995,49599,49600],{"class":244,"line":6997},[6995,49601,7001],{"class":7000},[6995,49603,49604,49606,49608,49610],{"class":244,"line":15},[6995,49605,7007],{"class":7006},[6995,49607,5102],{"class":7000},[6995,49609,7013],{"class":7012},[6995,49611,7016],{"class":7000},[6995,49613,49614,49616,49618,49620],{"class":244,"line":154},[6995,49615,7021],{"class":7006},[6995,49617,7024],{"class":7000},[6995,49619,8439],{"class":7006},[6995,49621,7030],{"class":7000},[6995,49623,49624,49626,49628,49630],{"class":244,"line":7033},[6995,49625,7036],{"class":7006},[6995,49627,5102],{"class":7000},[6995,49629,20590],{"class":7012},[6995,49631,7016],{"class":7000},[6995,49633,49634,49636],{"class":244,"line":7044},[6995,49635,7529],{"class":7006},[6995,49637,7532],{"class":7000},[6995,49639,49640],{"class":244,"line":7107},[6995,49641,7537],{"class":7000},[6995,49643,49644,49646,49648],{"class":244,"line":7120},[6995,49645,7743],{"class":7006},[6995,49647,7746],{"class":7000},[6995,49649,20611],{"class":7012},[6995,49651,49652],{"class":244,"line":7133},[6995,49653,7615],{"class":7000},[6995,49655,49656],{"class":244,"line":7146},[6995,49657,7047],{"class":7000},[852,49659,49660],{},[59,49661,49662,20626],{},[611,49663,8158],{},[34,49665,49666],{},[611,49667,7052],{},[616,49669,49670],{"className":6989,"code":20633,"language":6991,"meta":14,"style":14},[611,49671,49672,49676,49686,49696,49704],{"__ignoreMap":14},[6995,49673,49674],{"class":244,"line":6997},[6995,49675,7001],{"class":7000},[6995,49677,49678,49680,49682,49684],{"class":244,"line":15},[6995,49679,7007],{"class":7006},[6995,49681,5102],{"class":7000},[6995,49683,7013],{"class":7012},[6995,49685,7016],{"class":7000},[6995,49687,49688,49690,49692,49694],{"class":244,"line":154},[6995,49689,7021],{"class":7006},[6995,49691,7024],{"class":7000},[6995,49693,8439],{"class":7006},[6995,49695,7030],{"class":7000},[6995,49697,49698,49700,49702],{"class":244,"line":7033},[6995,49699,7732],{"class":7006},[6995,49701,7024],{"class":7000},[6995,49703,8505],{"class":7006},[6995,49705,49706],{"class":244,"line":7044},[6995,49707,7047],{"class":7000},[34,49709,20674,49710,20677,49712,20680],{},[611,49711,8689],{},[175,49713,7985],{"href":19812},[41,49715,18314],{"id":18314},[34,49717,20685],{},[34,49719,49720],{},[611,49721,6986],{},[616,49723,49724],{"className":6989,"code":20692,"language":6991,"meta":14,"style":14},[611,49725,49726,49730,49740,49750,49760,49766,49770,49778,49782],{"__ignoreMap":14},[6995,49727,49728],{"class":244,"line":6997},[6995,49729,7001],{"class":7000},[6995,49731,49732,49734,49736,49738],{"class":244,"line":15},[6995,49733,7007],{"class":7006},[6995,49735,5102],{"class":7000},[6995,49737,7013],{"class":7012},[6995,49739,7016],{"class":7000},[6995,49741,49742,49744,49746,49748],{"class":244,"line":154},[6995,49743,7021],{"class":7006},[6995,49745,7024],{"class":7000},[6995,49747,8439],{"class":7006},[6995,49749,7030],{"class":7000},[6995,49751,49752,49754,49756,49758],{"class":244,"line":7033},[6995,49753,7036],{"class":7006},[6995,49755,5102],{"class":7000},[6995,49757,20727],{"class":7012},[6995,49759,7016],{"class":7000},[6995,49761,49762,49764],{"class":244,"line":7044},[6995,49763,7529],{"class":7006},[6995,49765,7532],{"class":7000},[6995,49767,49768],{"class":244,"line":7107},[6995,49769,7537],{"class":7000},[6995,49771,49772,49774,49776],{"class":244,"line":7120},[6995,49773,7743],{"class":7006},[6995,49775,7746],{"class":7000},[6995,49777,20611],{"class":7012},[6995,49779,49780],{"class":244,"line":7133},[6995,49781,7615],{"class":7000},[6995,49783,49784],{"class":244,"line":7146},[6995,49785,7047],{"class":7000},[852,49787,49788],{},[59,49789,49790,20762],{},[611,49791,8158],{},[34,49793,49794],{},[611,49795,7052],{},[616,49797,49798],{"className":6989,"code":20633,"language":6991,"meta":14,"style":14},[611,49799,49800,49804,49814,49824,49832],{"__ignoreMap":14},[6995,49801,49802],{"class":244,"line":6997},[6995,49803,7001],{"class":7000},[6995,49805,49806,49808,49810,49812],{"class":244,"line":15},[6995,49807,7007],{"class":7006},[6995,49809,5102],{"class":7000},[6995,49811,7013],{"class":7012},[6995,49813,7016],{"class":7000},[6995,49815,49816,49818,49820,49822],{"class":244,"line":154},[6995,49817,7021],{"class":7006},[6995,49819,7024],{"class":7000},[6995,49821,8439],{"class":7006},[6995,49823,7030],{"class":7000},[6995,49825,49826,49828,49830],{"class":244,"line":7033},[6995,49827,7732],{"class":7006},[6995,49829,7024],{"class":7000},[6995,49831,8505],{"class":7006},[6995,49833,49834],{"class":244,"line":7044},[6995,49835,7047],{"class":7000},[34,49837,20674,49838,20811,49840,20680],{},[611,49839,8689],{},[175,49841,7985],{"href":19812},[41,49843,18293],{"id":18293},[34,49845,20818,49846,20821],{},[175,49847,18327],{"href":18326},[34,49849,49850],{},[611,49851,6986],{},[616,49853,49854],{"className":6989,"code":38121,"language":6991,"meta":14,"style":14},[611,49855,49856,49860,49870,49880,49890,49896,49900,49910,49918,49922],{"__ignoreMap":14},[6995,49857,49858],{"class":244,"line":6997},[6995,49859,7001],{"class":7000},[6995,49861,49862,49864,49866,49868],{"class":244,"line":15},[6995,49863,7007],{"class":7006},[6995,49865,5102],{"class":7000},[6995,49867,7013],{"class":7012},[6995,49869,7016],{"class":7000},[6995,49871,49872,49874,49876,49878],{"class":244,"line":154},[6995,49873,7021],{"class":7006},[6995,49875,7024],{"class":7000},[6995,49877,8439],{"class":7006},[6995,49879,7030],{"class":7000},[6995,49881,49882,49884,49886,49888],{"class":244,"line":7033},[6995,49883,7036],{"class":7006},[6995,49885,5102],{"class":7000},[6995,49887,20863],{"class":7012},[6995,49889,7016],{"class":7000},[6995,49891,49892,49894],{"class":244,"line":7044},[6995,49893,7529],{"class":7006},[6995,49895,7532],{"class":7000},[6995,49897,49898],{"class":244,"line":7107},[6995,49899,7537],{"class":7000},[6995,49901,49902,49904,49906,49908],{"class":244,"line":7120},[6995,49903,7743],{"class":7006},[6995,49905,7746],{"class":7000},[6995,49907,20884],{"class":7012},[6995,49909,7030],{"class":7000},[6995,49911,49912,49914,49916],{"class":244,"line":7133},[6995,49913,38182],{"class":7006},[6995,49915,7024],{"class":7000},[6995,49917,19668],{"class":7006},[6995,49919,49920],{"class":244,"line":7146},[6995,49921,7615],{"class":7000},[6995,49923,49924],{"class":244,"line":7159},[6995,49925,7047],{"class":7000},[852,49927,49928,49932],{},[59,49929,49930,38201],{},[611,49931,8158],{},[59,49933,49934,38206,49936,38209,49938,181],{},[611,49935,35307],{},[611,49937,8689],{},[611,49939,11094],{},[34,49941,49942],{},[611,49943,7052],{},[616,49945,49946],{"className":6989,"code":20901,"language":6991,"meta":14,"style":14},[611,49947,49948,49952,49962,49972,49978,49982,49992,50002,50012,50022,50032,50042,50052,50062,50072,50082,50092,50102,50112,50122,50132,50142,50152,50160,50164],{"__ignoreMap":14},[6995,49949,49950],{"class":244,"line":6997},[6995,49951,7001],{"class":7000},[6995,49953,49954,49956,49958,49960],{"class":244,"line":15},[6995,49955,7007],{"class":7006},[6995,49957,5102],{"class":7000},[6995,49959,7013],{"class":7012},[6995,49961,7016],{"class":7000},[6995,49963,49964,49966,49968,49970],{"class":244,"line":154},[6995,49965,7021],{"class":7006},[6995,49967,7024],{"class":7000},[6995,49969,8439],{"class":7006},[6995,49971,7030],{"class":7000},[6995,49973,49974,49976],{"class":244,"line":7033},[6995,49975,7732],{"class":7006},[6995,49977,7532],{"class":7000},[6995,49979,49980],{"class":244,"line":7044},[6995,49981,20938],{"class":7000},[6995,49983,49984,49986,49988,49990],{"class":244,"line":7107},[6995,49985,7743],{"class":7006},[6995,49987,7746],{"class":7000},[6995,49989,20884],{"class":7012},[6995,49991,7030],{"class":7000},[6995,49993,49994,49996,49998,50000],{"class":244,"line":7120},[6995,49995,7229],{"class":7006},[6995,49997,7024],{"class":7000},[6995,49999,7180],{"class":7006},[6995,50001,7030],{"class":7000},[6995,50003,50004,50006,50008,50010],{"class":244,"line":7133},[6995,50005,7588],{"class":7006},[6995,50007,7024],{"class":7000},[6995,50009,19080],{"class":7012},[6995,50011,7030],{"class":7000},[6995,50013,50014,50016,50018,50020],{"class":244,"line":7146},[6995,50015,7554],{"class":7006},[6995,50017,7024],{"class":7000},[6995,50019,10984],{"class":7006},[6995,50021,7030],{"class":7000},[6995,50023,50024,50026,50028,50030],{"class":244,"line":7159},[6995,50025,20983],{"class":7006},[6995,50027,7024],{"class":7000},[6995,50029,20988],{"class":7012},[6995,50031,7030],{"class":7000},[6995,50033,50034,50036,50038,50040],{"class":244,"line":7172},[6995,50035,20995],{"class":7006},[6995,50037,7024],{"class":7000},[6995,50039,7570],{"class":7012},[6995,50041,7030],{"class":7000},[6995,50043,50044,50046,50048,50050],{"class":244,"line":7185},[6995,50045,21006],{"class":7006},[6995,50047,7024],{"class":7000},[6995,50049,21011],{"class":7012},[6995,50051,7030],{"class":7000},[6995,50053,50054,50056,50058,50060],{"class":244,"line":7198},[6995,50055,21018],{"class":7006},[6995,50057,7024],{"class":7000},[6995,50059,8439],{"class":7006},[6995,50061,7030],{"class":7000},[6995,50063,50064,50066,50068,50070],{"class":244,"line":7211},[6995,50065,21029],{"class":7006},[6995,50067,7746],{"class":7000},[6995,50069,21034],{"class":7012},[6995,50071,7030],{"class":7000},[6995,50073,50074,50076,50078,50080],{"class":244,"line":7220},[6995,50075,21041],{"class":7006},[6995,50077,7024],{"class":7000},[6995,50079,7180],{"class":7006},[6995,50081,7030],{"class":7000},[6995,50083,50084,50086,50088,50090],{"class":244,"line":7226},[6995,50085,21052],{"class":7006},[6995,50087,7024],{"class":7000},[6995,50089,21057],{"class":7012},[6995,50091,7030],{"class":7000},[6995,50093,50094,50096,50098,50100],{"class":244,"line":7238},[6995,50095,21064],{"class":7006},[6995,50097,7746],{"class":7000},[6995,50099,21069],{"class":7012},[6995,50101,7030],{"class":7000},[6995,50103,50104,50106,50108,50110],{"class":244,"line":7250},[6995,50105,7542],{"class":7006},[6995,50107,7024],{"class":7000},[6995,50109,7547],{"class":7006},[6995,50111,7030],{"class":7000},[6995,50113,50114,50116,50118,50120],{"class":244,"line":7263},[6995,50115,19087],{"class":7006},[6995,50117,7746],{"class":7000},[6995,50119,21090],{"class":7006},[6995,50121,7030],{"class":7000},[6995,50123,50124,50126,50128,50130],{"class":244,"line":7275},[6995,50125,21097],{"class":7006},[6995,50127,7746],{"class":7000},[6995,50129,11094],{"class":7006},[6995,50131,7030],{"class":7000},[6995,50133,50134,50136,50138,50140],{"class":244,"line":7288},[6995,50135,21108],{"class":7006},[6995,50137,7024],{"class":7000},[6995,50139,21113],{"class":7012},[6995,50141,7030],{"class":7000},[6995,50143,50144,50146,50148,50150],{"class":244,"line":7300},[6995,50145,21120],{"class":7006},[6995,50147,7024],{"class":7000},[6995,50149,19171],{"class":7012},[6995,50151,7030],{"class":7000},[6995,50153,50154,50156,50158],{"class":244,"line":7313},[6995,50155,21131],{"class":7006},[6995,50157,7024],{"class":7000},[6995,50159,21136],{"class":7012},[6995,50161,50162],{"class":244,"line":7325},[6995,50163,21141],{"class":7000},[6995,50165,50166],{"class":244,"line":7336},[6995,50167,7047],{"class":7000},[41,50169,18327],{"id":18327},[34,50171,21150],{},[34,50173,50174],{},[611,50175,6986],{},[616,50177,50178],{"className":6989,"code":38450,"language":6991,"meta":14,"style":14},[611,50179,50180,50184,50194,50204,50214,50220,50224,50230,50234,50244,50254,50258,50268,50278,50286,50290],{"__ignoreMap":14},[6995,50181,50182],{"class":244,"line":6997},[6995,50183,7001],{"class":7000},[6995,50185,50186,50188,50190,50192],{"class":244,"line":15},[6995,50187,7007],{"class":7006},[6995,50189,5102],{"class":7000},[6995,50191,7013],{"class":7012},[6995,50193,7016],{"class":7000},[6995,50195,50196,50198,50200,50202],{"class":244,"line":154},[6995,50197,7021],{"class":7006},[6995,50199,7024],{"class":7000},[6995,50201,18961],{"class":7006},[6995,50203,7030],{"class":7000},[6995,50205,50206,50208,50210,50212],{"class":244,"line":7033},[6995,50207,7036],{"class":7006},[6995,50209,5102],{"class":7000},[6995,50211,21192],{"class":7012},[6995,50213,7030],{"class":7000},[6995,50215,50216,50218],{"class":244,"line":7044},[6995,50217,7529],{"class":7006},[6995,50219,7532],{"class":7000},[6995,50221,50222],{"class":244,"line":7107},[6995,50223,7537],{"class":7000},[6995,50225,50226,50228],{"class":244,"line":7120},[6995,50227,21209],{"class":7006},[6995,50229,11893],{"class":7000},[6995,50231,50232],{"class":244,"line":7133},[6995,50233,14405],{"class":7000},[6995,50235,50236,50238,50240,50242],{"class":244,"line":7146},[6995,50237,21220],{"class":7006},[6995,50239,5102],{"class":7000},[6995,50241,8439],{"class":7006},[6995,50243,7030],{"class":7000},[6995,50245,50246,50248,50250,50252],{"class":244,"line":7159},[6995,50247,21231],{"class":7006},[6995,50249,5102],{"class":7000},[6995,50251,21236],{"class":7006},[6995,50253,7030],{"class":7000},[6995,50255,50256],{"class":244,"line":7172},[6995,50257,21243],{"class":7000},[6995,50259,50260,50262,50264,50266],{"class":244,"line":7185},[6995,50261,38182],{"class":7006},[6995,50263,7024],{"class":7000},[6995,50265,8689],{"class":7006},[6995,50267,7030],{"class":7000},[6995,50269,50270,50272,50274,50276],{"class":244,"line":7198},[6995,50271,21248],{"class":7006},[6995,50273,7746],{"class":7000},[6995,50275,7180],{"class":7006},[6995,50277,7030],{"class":7000},[6995,50279,50280,50282,50284],{"class":244,"line":7211},[6995,50281,21259],{"class":7006},[6995,50283,7746],{"class":7000},[6995,50285,21264],{"class":7006},[6995,50287,50288],{"class":244,"line":7220},[6995,50289,7615],{"class":7000},[6995,50291,50292],{"class":244,"line":7226},[6995,50293,7047],{"class":7000},[852,50295,50296,50300,50304,50308,50312],{},[59,50297,50298,21280],{},[611,50299,21279],{},[59,50301,50302,21286],{},[611,50303,21285],{},[59,50305,50306,21291],{},[611,50307,12842],{},[59,50309,50310,21297],{},[611,50311,21296],{},[59,50313,50314,38589,50316,38209,50318,181],{},[611,50315,35307],{},[611,50317,8689],{},[611,50319,11094],{},[34,50321,21300,50322,2344],{},[611,50323,4979],{},[852,50325,50326],{},[59,50327,50328,21310,50330,21313],{},[611,50329,21309],{},[611,50331,21309],{},[34,50333,50334],{},[611,50335,7052],{},[616,50337,50338],{"className":6989,"code":38612,"language":6991,"meta":14,"style":14},[611,50339,50340,50344,50354,50364,50370,50374,50384,50394,50404,50414,50424,50434,50444,50454,50464,50474,50484,50494,50504,50514,50520,50524,50534,50544,50554,50562,50566,50570,50580,50590,50600,50608,50612,50616,50620,50624,50634,50644,50654,50664,50674,50684,50694,50704,50714,50724,50734,50744,50754,50764,50774,50784,50790,50794,50798,50808,50818,50828,50838,50848,50858,50868,50878,50888,50898,50908,50918,50928,50938,50948,50958,50968,50974,50978],{"__ignoreMap":14},[6995,50341,50342],{"class":244,"line":6997},[6995,50343,7001],{"class":7000},[6995,50345,50346,50348,50350,50352],{"class":244,"line":15},[6995,50347,7007],{"class":7006},[6995,50349,5102],{"class":7000},[6995,50351,7013],{"class":7012},[6995,50353,7016],{"class":7000},[6995,50355,50356,50358,50360,50362],{"class":244,"line":154},[6995,50357,7021],{"class":7006},[6995,50359,7024],{"class":7000},[6995,50361,18961],{"class":7006},[6995,50363,7030],{"class":7000},[6995,50365,50366,50368],{"class":244,"line":7033},[6995,50367,7732],{"class":7006},[6995,50369,7532],{"class":7000},[6995,50371,50372],{"class":244,"line":7044},[6995,50373,21357],{"class":7000},[6995,50375,50376,50378,50380,50382],{"class":244,"line":7107},[6995,50377,7229],{"class":7006},[6995,50379,7024],{"class":7000},[6995,50381,7180],{"class":7006},[6995,50383,7030],{"class":7000},[6995,50385,50386,50388,50390,50392],{"class":244,"line":7120},[6995,50387,7743],{"class":7006},[6995,50389,7746],{"class":7000},[6995,50391,20884],{"class":7012},[6995,50393,7030],{"class":7000},[6995,50395,50396,50398,50400,50402],{"class":244,"line":7133},[6995,50397,7588],{"class":7006},[6995,50399,7024],{"class":7000},[6995,50401,19080],{"class":7012},[6995,50403,7030],{"class":7000},[6995,50405,50406,50408,50410,50412],{"class":244,"line":7146},[6995,50407,7554],{"class":7006},[6995,50409,7024],{"class":7000},[6995,50411,7180],{"class":7006},[6995,50413,7030],{"class":7000},[6995,50415,50416,50418,50420,50422],{"class":244,"line":7159},[6995,50417,20983],{"class":7006},[6995,50419,7024],{"class":7000},[6995,50421,20988],{"class":7012},[6995,50423,7030],{"class":7000},[6995,50425,50426,50428,50430,50432],{"class":244,"line":7172},[6995,50427,20995],{"class":7006},[6995,50429,7024],{"class":7000},[6995,50431,7570],{"class":7012},[6995,50433,7030],{"class":7000},[6995,50435,50436,50438,50440,50442],{"class":244,"line":7185},[6995,50437,21006],{"class":7006},[6995,50439,7024],{"class":7000},[6995,50441,21011],{"class":7012},[6995,50443,7030],{"class":7000},[6995,50445,50446,50448,50450,50452],{"class":244,"line":7198},[6995,50447,21018],{"class":7006},[6995,50449,7024],{"class":7000},[6995,50451,8439],{"class":7006},[6995,50453,7030],{"class":7000},[6995,50455,50456,50458,50460,50462],{"class":244,"line":7211},[6995,50457,21029],{"class":7006},[6995,50459,7746],{"class":7000},[6995,50461,21034],{"class":7012},[6995,50463,7030],{"class":7000},[6995,50465,50466,50468,50470,50472],{"class":244,"line":7220},[6995,50467,21064],{"class":7006},[6995,50469,7746],{"class":7000},[6995,50471,21069],{"class":7012},[6995,50473,7030],{"class":7000},[6995,50475,50476,50478,50480,50482],{"class":244,"line":7226},[6995,50477,7542],{"class":7006},[6995,50479,7024],{"class":7000},[6995,50481,7547],{"class":7006},[6995,50483,7030],{"class":7000},[6995,50485,50486,50488,50490,50492],{"class":244,"line":7238},[6995,50487,19087],{"class":7006},[6995,50489,7746],{"class":7000},[6995,50491,21090],{"class":7006},[6995,50493,7030],{"class":7000},[6995,50495,50496,50498,50500,50502],{"class":244,"line":7250},[6995,50497,21097],{"class":7006},[6995,50499,7746],{"class":7000},[6995,50501,11094],{"class":7006},[6995,50503,7030],{"class":7000},[6995,50505,50506,50508,50510,50512],{"class":244,"line":7263},[6995,50507,21131],{"class":7006},[6995,50509,7024],{"class":7000},[6995,50511,38787],{"class":7012},[6995,50513,7030],{"class":7000},[6995,50515,50516,50518],{"class":244,"line":7275},[6995,50517,38182],{"class":7006},[6995,50519,7217],{"class":7000},[6995,50521,50522],{"class":244,"line":7288},[6995,50523,15683],{"class":7000},[6995,50525,50526,50528,50530,50532],{"class":244,"line":7300},[6995,50527,38804],{"class":7006},[6995,50529,7024],{"class":7000},[6995,50531,11136],{"class":7006},[6995,50533,7030],{"class":7000},[6995,50535,50536,50538,50540,50542],{"class":244,"line":7313},[6995,50537,38815],{"class":7006},[6995,50539,7024],{"class":7000},[6995,50541,38820],{"class":7006},[6995,50543,7030],{"class":7000},[6995,50545,50546,50548,50550,50552],{"class":244,"line":7325},[6995,50547,38827],{"class":7006},[6995,50549,7024],{"class":7000},[6995,50551,38832],{"class":7012},[6995,50553,7030],{"class":7000},[6995,50555,50556,50558,50560],{"class":244,"line":7336},[6995,50557,38839],{"class":7006},[6995,50559,7024],{"class":7000},[6995,50561,38844],{"class":7012},[6995,50563,50564],{"class":244,"line":7342},[6995,50565,38849],{"class":7000},[6995,50567,50568],{"class":244,"line":7347},[6995,50569,15683],{"class":7000},[6995,50571,50572,50574,50576,50578],{"class":244,"line":7363},[6995,50573,38804],{"class":7006},[6995,50575,7024],{"class":7000},[6995,50577,7180],{"class":7006},[6995,50579,7030],{"class":7000},[6995,50581,50582,50584,50586,50588],{"class":244,"line":7375},[6995,50583,38815],{"class":7006},[6995,50585,7024],{"class":7000},[6995,50587,19903],{"class":7006},[6995,50589,7030],{"class":7000},[6995,50591,50592,50594,50596,50598],{"class":244,"line":7387},[6995,50593,38827],{"class":7006},[6995,50595,7024],{"class":7000},[6995,50597,38882],{"class":7012},[6995,50599,7030],{"class":7000},[6995,50601,50602,50604,50606],{"class":244,"line":7398},[6995,50603,38839],{"class":7006},[6995,50605,7024],{"class":7000},[6995,50607,38893],{"class":7012},[6995,50609,50610],{"class":244,"line":7410},[6995,50611,15811],{"class":7000},[6995,50613,50614],{"class":244,"line":7421},[6995,50615,34858],{"class":7000},[6995,50617,50618],{"class":244,"line":7432},[6995,50619,21500],{"class":7000},[6995,50621,50622],{"class":244,"line":7443},[6995,50623,7537],{"class":7000},[6995,50625,50626,50628,50630,50632],{"class":244,"line":7452},[6995,50627,21509],{"class":7006},[6995,50629,7024],{"class":7000},[6995,50631,6679],{"class":7006},[6995,50633,7030],{"class":7000},[6995,50635,50636,50638,50640,50642],{"class":244,"line":7458},[6995,50637,21520],{"class":7006},[6995,50639,7024],{"class":7000},[6995,50641,21525],{"class":7012},[6995,50643,7030],{"class":7000},[6995,50645,50646,50648,50650,50652],{"class":244,"line":7464},[6995,50647,21532],{"class":7006},[6995,50649,7024],{"class":7000},[6995,50651,19080],{"class":7012},[6995,50653,7030],{"class":7000},[6995,50655,50656,50658,50660,50662],{"class":244,"line":7470},[6995,50657,21543],{"class":7006},[6995,50659,7024],{"class":7000},[6995,50661,21548],{"class":7006},[6995,50663,7030],{"class":7000},[6995,50665,50666,50668,50670,50672],{"class":244,"line":13197},[6995,50667,21555],{"class":7006},[6995,50669,7024],{"class":7000},[6995,50671,21560],{"class":7006},[6995,50673,7030],{"class":7000},[6995,50675,50676,50678,50680,50682],{"class":244,"line":13202},[6995,50677,12652],{"class":7006},[6995,50679,7024],{"class":7000},[6995,50681,7180],{"class":7006},[6995,50683,7030],{"class":7000},[6995,50685,50686,50688,50690,50692],{"class":244,"line":13214},[6995,50687,21577],{"class":7006},[6995,50689,7024],{"class":7000},[6995,50691,21582],{"class":7006},[6995,50693,7030],{"class":7000},[6995,50695,50696,50698,50700,50702],{"class":244,"line":13225},[6995,50697,21589],{"class":7006},[6995,50699,7024],{"class":7000},[6995,50701,11094],{"class":7006},[6995,50703,7030],{"class":7000},[6995,50705,50706,50708,50710,50712],{"class":244,"line":13237},[6995,50707,21600],{"class":7006},[6995,50709,7024],{"class":7000},[6995,50711,7405],{"class":7012},[6995,50713,7030],{"class":7000},[6995,50715,50716,50718,50720,50722],{"class":244,"line":13248},[6995,50717,21611],{"class":7006},[6995,50719,7024],{"class":7000},[6995,50721,7405],{"class":7012},[6995,50723,7030],{"class":7000},[6995,50725,50726,50728,50730,50732],{"class":244,"line":13258},[6995,50727,21622],{"class":7006},[6995,50729,7024],{"class":7000},[6995,50731,11136],{"class":7006},[6995,50733,7030],{"class":7000},[6995,50735,50736,50738,50740,50742],{"class":244,"line":13263},[6995,50737,21633],{"class":7006},[6995,50739,7024],{"class":7000},[6995,50741,21638],{"class":7012},[6995,50743,7030],{"class":7000},[6995,50745,50746,50748,50750,50752],{"class":244,"line":13268},[6995,50747,21645],{"class":7006},[6995,50749,7024],{"class":7000},[6995,50751,21650],{"class":7012},[6995,50753,7030],{"class":7000},[6995,50755,50756,50758,50760,50762],{"class":244,"line":13275},[6995,50757,21657],{"class":7006},[6995,50759,7024],{"class":7000},[6995,50761,7027],{"class":7006},[6995,50763,7030],{"class":7000},[6995,50765,50766,50768,50770,50772],{"class":244,"line":13280},[6995,50767,21668],{"class":7006},[6995,50769,7024],{"class":7000},[6995,50771,21673],{"class":7012},[6995,50773,7030],{"class":7000},[6995,50775,50776,50778,50780,50782],{"class":244,"line":13291},[6995,50777,21680],{"class":7006},[6995,50779,7024],{"class":7000},[6995,50781,7180],{"class":7006},[6995,50783,7030],{"class":7000},[6995,50785,50786,50788],{"class":244,"line":13303},[6995,50787,39074],{"class":7006},[6995,50789,39077],{"class":7000},[6995,50791,50792],{"class":244,"line":13314},[6995,50793,21500],{"class":7000},[6995,50795,50796],{"class":244,"line":13324},[6995,50797,7537],{"class":7000},[6995,50799,50800,50802,50804,50806],{"class":244,"line":13329},[6995,50801,7229],{"class":7006},[6995,50803,7024],{"class":7000},[6995,50805,6679],{"class":7006},[6995,50807,7030],{"class":7000},[6995,50809,50810,50812,50814,50816],{"class":244,"line":13334},[6995,50811,21708],{"class":7006},[6995,50813,7024],{"class":7000},[6995,50815,21525],{"class":7012},[6995,50817,7030],{"class":7000},[6995,50819,50820,50822,50824,50826],{"class":244,"line":13346},[6995,50821,7588],{"class":7006},[6995,50823,7024],{"class":7000},[6995,50825,19080],{"class":7012},[6995,50827,7030],{"class":7000},[6995,50829,50830,50832,50834,50836],{"class":244,"line":13357},[6995,50831,21729],{"class":7006},[6995,50833,7024],{"class":7000},[6995,50835,21734],{"class":7006},[6995,50837,7030],{"class":7000},[6995,50839,50840,50842,50844,50846],{"class":244,"line":13368},[6995,50841,21741],{"class":7006},[6995,50843,7024],{"class":7000},[6995,50845,21746],{"class":7006},[6995,50847,7030],{"class":7000},[6995,50849,50850,50852,50854,50856],{"class":244,"line":13379},[6995,50851,19087],{"class":7006},[6995,50853,7024],{"class":7000},[6995,50855,21757],{"class":7006},[6995,50857,7030],{"class":7000},[6995,50859,50860,50862,50864,50866],{"class":244,"line":13389},[6995,50861,7554],{"class":7006},[6995,50863,7024],{"class":7000},[6995,50865,10984],{"class":7006},[6995,50867,7030],{"class":7000},[6995,50869,50870,50872,50874,50876],{"class":244,"line":13394},[6995,50871,21097],{"class":7006},[6995,50873,7024],{"class":7000},[6995,50875,11094],{"class":7006},[6995,50877,7030],{"class":7000},[6995,50879,50880,50882,50884,50886],{"class":244,"line":13399},[6995,50881,20983],{"class":7006},[6995,50883,7024],{"class":7000},[6995,50885,21788],{"class":7012},[6995,50887,7030],{"class":7000},[6995,50889,50890,50892,50894,50896],{"class":244,"line":13411},[6995,50891,20995],{"class":7006},[6995,50893,7024],{"class":7000},[6995,50895,7405],{"class":7012},[6995,50897,7030],{"class":7000},[6995,50899,50900,50902,50904,50906],{"class":244,"line":13423},[6995,50901,21006],{"class":7006},[6995,50903,7024],{"class":7000},[6995,50905,7405],{"class":7012},[6995,50907,7030],{"class":7000},[6995,50909,50910,50912,50914,50916],{"class":244,"line":13434},[6995,50911,21018],{"class":7006},[6995,50913,7024],{"class":7000},[6995,50915,11136],{"class":7006},[6995,50917,7030],{"class":7000},[6995,50919,50920,50922,50924,50926],{"class":244,"line":13445},[6995,50921,21029],{"class":7006},[6995,50923,7024],{"class":7000},[6995,50925,21829],{"class":7012},[6995,50927,7030],{"class":7000},[6995,50929,50930,50932,50934,50936],{"class":244,"line":13457},[6995,50931,7743],{"class":7006},[6995,50933,7024],{"class":7000},[6995,50935,21840],{"class":7012},[6995,50937,7030],{"class":7000},[6995,50939,50940,50942,50944,50946],{"class":244,"line":13464},[6995,50941,21041],{"class":7006},[6995,50943,7024],{"class":7000},[6995,50945,7511],{"class":7006},[6995,50947,7030],{"class":7000},[6995,50949,50950,50952,50954,50956],{"class":244,"line":13471},[6995,50951,21052],{"class":7006},[6995,50953,7024],{"class":7000},[6995,50955,21861],{"class":7012},[6995,50957,7030],{"class":7000},[6995,50959,50960,50962,50964,50966],{"class":244,"line":13476},[6995,50961,7542],{"class":7006},[6995,50963,7024],{"class":7000},[6995,50965,23178],{"class":7006},[6995,50967,7030],{"class":7000},[6995,50969,50970,50972],{"class":244,"line":13488},[6995,50971,38182],{"class":7006},[6995,50973,39077],{"class":7000},[6995,50975,50976],{"class":244,"line":13499},[6995,50977,21877],{"class":7000},[6995,50979,50980],{"class":244,"line":13511},[6995,50981,7047],{"class":7000},[852,50983,50984,50988,50994,50998,51004,51010,51014,51018,51022,51026,51030,51034,51038,51042,51046,51060,51066],{},[59,50985,50986,21889],{},[611,50987,21888],{},[59,50989,50990,1475,50992,21897],{},[611,50991,12542],{},[611,50993,21896],{},[59,50995,50996,21902],{},[611,50997,21896],{},[59,50999,51000,1475,51002,29024],{},[611,51001,21907],{},[611,51003,21910],{},[59,51005,51006,21917,51008,21920],{},[611,51007,21916],{},[611,51009,12388],{},[59,51011,51012,21925],{},[611,51013,20130],{},[59,51015,51016,21931],{},[611,51017,21930],{},[59,51019,51020,21937],{},[611,51021,21936],{},[59,51023,51024,21942],{},[611,51025,6869],{},[59,51027,51028,21947],{},[611,51029,20130],{},[59,51031,51032,21952],{},[611,51033,12547],{},[59,51035,51036,39326],{},[611,51037,35296],{},[59,51039,51040,39331],{},[611,51041,35293],{},[59,51043,51044,39336],{},[611,51045,35307],{},[59,51047,51048,1475,51050,39345,51052,39349,51054,39353,51056,2231,51058,39360],{},[611,51049,39341],{},[611,51051,39344],{},[611,51053,39348],{},[611,51055,39352],{},[611,51057,39356],{},[611,51059,39359],{},[59,51061,51062,1475,51064,39369],{},[611,51063,39365],{},[611,51065,39368],{},[59,51067,51068,39374,51070,1475,51072,39380,51074],{},[611,51069,35389],{},[175,51071,12194],{"href":18230},[175,51073,22040],{"href":39379},[852,51075,51076,51080,51084],{},[59,51077,51078],{},[611,51079,11810],{},[59,51081,51082],{},[611,51083,12000],{},[59,51085,51086],{},[611,51087,11989],{},[48,51089,21956],{"id":21955},[48,51091,21960],{"id":21959},[852,51093,51094,51098,51108,51112,51126,51132],{},[59,51095,21965,51096,21969],{},[611,51097,21968],{},[59,51099,21972,51100,10670,51102,10670,51104,10670,51106,21985],{},[611,51101,21975],{},[611,51103,21978],{},[611,51105,21981],{},[611,51107,21984],{},[59,51109,21988,51110,21992],{},[611,51111,21991],{},[59,51113,21995,51114,10670,51116,10670,51118,10670,51120,10670,51122,10670,51124],{},[611,51115,21998],{},[611,51117,6768],{},[611,51119,22003],{},[611,51121,22006],{},[611,51123,22009],{},[611,51125,22012],{},[59,51127,22015,51128,22019,51130],{},[611,51129,22018],{},[611,51131,22022],{},[59,51133,22025,51134,10670,51136,10670,51138,10670,51140,22036],{},[611,51135,21975],{},[611,51137,22030],{},[611,51139,22033],{},[611,51141,21984],{},[48,51143,22040],{"id":22039},[852,51145,51146,51148,51150,51152,51154,51156,51158,51160,51162],{},[59,51147,22045],{},[59,51149,22048],{},[59,51151,22051],{},[59,51153,22054],{},[59,51155,22057],{},[59,51157,22060],{},[59,51159,22063],{},[59,51161,22066],{},[59,51163,22069],{},[34,51165,51166,22075],{},[37,51167,22074],{},[41,51169,6900],{"id":6900},[34,51171,22080],{},[34,51173,51174],{},[611,51175,6986],{},[616,51177,51178],{"className":6989,"code":6990,"language":6991,"meta":14,"style":14},[611,51179,51180,51184,51194,51204,51212],{"__ignoreMap":14},[6995,51181,51182],{"class":244,"line":6997},[6995,51183,7001],{"class":7000},[6995,51185,51186,51188,51190,51192],{"class":244,"line":15},[6995,51187,7007],{"class":7006},[6995,51189,5102],{"class":7000},[6995,51191,7013],{"class":7012},[6995,51193,7016],{"class":7000},[6995,51195,51196,51198,51200,51202],{"class":244,"line":154},[6995,51197,7021],{"class":7006},[6995,51199,7024],{"class":7000},[6995,51201,7027],{"class":7006},[6995,51203,7030],{"class":7000},[6995,51205,51206,51208,51210],{"class":244,"line":7033},[6995,51207,7036],{"class":7006},[6995,51209,5102],{"class":7000},[6995,51211,7041],{"class":7012},[6995,51213,51214],{"class":244,"line":7044},[6995,51215,7047],{"class":7000},[34,51217,51218],{},[611,51219,7052],{},[616,51221,51222],{"className":6989,"code":39529,"language":6991,"meta":14,"style":14},[611,51223,51224,51228,51238,51248,51254,51258,51268,51278,51288,51298,51308,51318,51328,51338,51348,51358,51362],{"__ignoreMap":14},[6995,51225,51226],{"class":244,"line":6997},[6995,51227,7001],{"class":7000},[6995,51229,51230,51232,51234,51236],{"class":244,"line":15},[6995,51231,7007],{"class":7006},[6995,51233,5102],{"class":7000},[6995,51235,7013],{"class":7012},[6995,51237,7016],{"class":7000},[6995,51239,51240,51242,51244,51246],{"class":244,"line":154},[6995,51241,7021],{"class":7006},[6995,51243,7024],{"class":7000},[6995,51245,7027],{"class":7006},[6995,51247,7030],{"class":7000},[6995,51249,51250,51252],{"class":244,"line":7033},[6995,51251,7732],{"class":7006},[6995,51253,7532],{"class":7000},[6995,51255,51256],{"class":244,"line":7044},[6995,51257,7537],{"class":7000},[6995,51259,51260,51262,51264,51266],{"class":244,"line":7107},[6995,51261,22172],{"class":7006},[6995,51263,7746],{"class":7000},[6995,51265,21236],{"class":7006},[6995,51267,7030],{"class":7000},[6995,51269,51270,51272,51274,51276],{"class":244,"line":7120},[6995,51271,22183],{"class":7006},[6995,51273,7746],{"class":7000},[6995,51275,21011],{"class":7012},[6995,51277,7030],{"class":7000},[6995,51279,51280,51282,51284,51286],{"class":244,"line":7133},[6995,51281,29250],{"class":7006},[6995,51283,7024],{"class":7000},[6995,51285,29255],{"class":7006},[6995,51287,7030],{"class":7000},[6995,51289,51290,51292,51294,51296],{"class":244,"line":7146},[6995,51291,22194],{"class":7006},[6995,51293,7746],{"class":7000},[6995,51295,22199],{"class":7012},[6995,51297,7030],{"class":7000},[6995,51299,51300,51302,51304,51306],{"class":244,"line":7159},[6995,51301,29272],{"class":7006},[6995,51303,7024],{"class":7000},[6995,51305,8689],{"class":7006},[6995,51307,7030],{"class":7000},[6995,51309,51310,51312,51314,51316],{"class":244,"line":7172},[6995,51311,7241],{"class":7006},[6995,51313,7024],{"class":7000},[6995,51315,22210],{"class":7006},[6995,51317,7030],{"class":7000},[6995,51319,51320,51322,51324,51326],{"class":244,"line":7185},[6995,51321,7291],{"class":7006},[6995,51323,7024],{"class":7000},[6995,51325,7167],{"class":7006},[6995,51327,7030],{"class":7000},[6995,51329,51330,51332,51334,51336],{"class":244,"line":7198},[6995,51331,7316],{"class":7006},[6995,51333,7024],{"class":7000},[6995,51335,7180],{"class":7006},[6995,51337,7030],{"class":7000},[6995,51339,51340,51342,51344,51346],{"class":244,"line":7211},[6995,51341,7266],{"class":7006},[6995,51343,7024],{"class":7000},[6995,51345,22241],{"class":7006},[6995,51347,7030],{"class":7000},[6995,51349,51350,51352,51354,51356],{"class":244,"line":7220},[6995,51351,22259],{"class":7006},[6995,51353,7024],{"class":7000},[6995,51355,22264],{"class":7006},[6995,51357,7030],{"class":7000},[6995,51359,51360],{"class":244,"line":7226},[6995,51361,7615],{"class":7000},[6995,51363,51364],{"class":244,"line":7238},[6995,51365,7047],{"class":7000},[852,51367,51368,51372,51376,51380,51384,51388,51392],{},[59,51369,51370,22281],{},[611,51371,18147],{},[59,51373,51374,22287],{},[611,51375,22286],{},[59,51377,51378,22292],{},[611,51379,18150],{},[59,51381,51382,22298],{},[611,51383,22297],{},[59,51385,51386,22303],{},[611,51387,16328],{},[59,51389,51390,29373],{},[611,51391,25502],{},[59,51393,51394,29378],{},[611,51395,25499],{},[34,51397,29381,51398,2344],{},[611,51399,4979],{},[34,51401,51402],{},[611,51403,6986],{},[616,51405,51406],{"className":6989,"code":29390,"language":6991,"meta":14,"style":14},[611,51407,51408,51412,51422,51432,51442,51448,51456,51460],{"__ignoreMap":14},[6995,51409,51410],{"class":244,"line":6997},[6995,51411,7001],{"class":7000},[6995,51413,51414,51416,51418,51420],{"class":244,"line":15},[6995,51415,7007],{"class":7006},[6995,51417,5102],{"class":7000},[6995,51419,7013],{"class":7012},[6995,51421,7016],{"class":7000},[6995,51423,51424,51426,51428,51430],{"class":244,"line":154},[6995,51425,7021],{"class":7006},[6995,51427,7024],{"class":7000},[6995,51429,7027],{"class":7006},[6995,51431,7030],{"class":7000},[6995,51433,51434,51436,51438,51440],{"class":244,"line":7033},[6995,51435,7036],{"class":7006},[6995,51437,5102],{"class":7000},[6995,51439,17939],{"class":7012},[6995,51441,7030],{"class":7000},[6995,51443,51444,51446],{"class":244,"line":7044},[6995,51445,29431],{"class":7006},[6995,51447,7092],{"class":7000},[6995,51449,51450,51452,51454],{"class":244,"line":7107},[6995,51451,29438],{"class":7006},[6995,51453,7024],{"class":7000},[6995,51455,19668],{"class":7006},[6995,51457,51458],{"class":244,"line":7120},[6995,51459,15327],{"class":7000},[6995,51461,51462],{"class":244,"line":7133},[6995,51463,7047],{"class":7000},[852,51465,51466],{},[59,51467,51468,29457],{},[611,51469,18137],{},[34,51471,51472],{},[611,51473,7052],{},[616,51475,51476],{"className":6989,"code":39784,"language":6991,"meta":14,"style":14},[611,51477,51478,51482,51492,51502,51508,51518,51528,51538,51548,51558,51568,51578,51588,51598,51608,51614,51618,51628,51638,51648,51658,51668,51678,51688,51698,51708,51718,51728,51738,51748,51758,51768,51778,51788,51798,51808,51818,51828,51838,51848,51858,51868,51878,51888,51898,51906,51910,51914,51924,51934,51944,51954,51964,51974,51984,51994,52004,52014,52024,52034,52044,52054,52064,52074,52084,52094,52104,52114,52124,52134,52144,52154,52164,52174,52184,52194,52202,52206,52210,52214],{"__ignoreMap":14},[6995,51479,51480],{"class":244,"line":6997},[6995,51481,7001],{"class":7000},[6995,51483,51484,51486,51488,51490],{"class":244,"line":15},[6995,51485,7066],{"class":7006},[6995,51487,7024],{"class":7000},[6995,51489,7071],{"class":7006},[6995,51491,7030],{"class":7000},[6995,51493,51494,51496,51498,51500],{"class":244,"line":154},[6995,51495,7078],{"class":7006},[6995,51497,7024],{"class":7000},[6995,51499,7013],{"class":7012},[6995,51501,7030],{"class":7000},[6995,51503,51504,51506],{"class":244,"line":7033},[6995,51505,7089],{"class":7006},[6995,51507,7092],{"class":7000},[6995,51509,51510,51512,51514,51516],{"class":244,"line":7044},[6995,51511,7097],{"class":7006},[6995,51513,7746],{"class":7000},[6995,51515,21236],{"class":7006},[6995,51517,7030],{"class":7000},[6995,51519,51520,51522,51524,51526],{"class":244,"line":7107},[6995,51521,7110],{"class":7006},[6995,51523,7746],{"class":7000},[6995,51525,21011],{"class":7012},[6995,51527,7030],{"class":7000},[6995,51529,51530,51532,51534,51536],{"class":244,"line":7120},[6995,51531,29521],{"class":7006},[6995,51533,7024],{"class":7000},[6995,51535,29255],{"class":7006},[6995,51537,7030],{"class":7000},[6995,51539,51540,51542,51544,51546],{"class":244,"line":7133},[6995,51541,7136],{"class":7006},[6995,51543,7746],{"class":7000},[6995,51545,22199],{"class":7012},[6995,51547,7030],{"class":7000},[6995,51549,51550,51552,51554,51556],{"class":244,"line":7146},[6995,51551,29542],{"class":7006},[6995,51553,7024],{"class":7000},[6995,51555,8689],{"class":7006},[6995,51557,7030],{"class":7000},[6995,51559,51560,51562,51564,51566],{"class":244,"line":7159},[6995,51561,7149],{"class":7006},[6995,51563,7024],{"class":7000},[6995,51565,22210],{"class":7006},[6995,51567,7030],{"class":7000},[6995,51569,51570,51572,51574,51576],{"class":244,"line":7172},[6995,51571,7162],{"class":7006},[6995,51573,7024],{"class":7000},[6995,51575,7167],{"class":7006},[6995,51577,7030],{"class":7000},[6995,51579,51580,51582,51584,51586],{"class":244,"line":7185},[6995,51581,7175],{"class":7006},[6995,51583,7024],{"class":7000},[6995,51585,7180],{"class":7006},[6995,51587,7030],{"class":7000},[6995,51589,51590,51592,51594,51596],{"class":244,"line":7198},[6995,51591,7188],{"class":7006},[6995,51593,7024],{"class":7000},[6995,51595,22241],{"class":7006},[6995,51597,7030],{"class":7000},[6995,51599,51600,51602,51604,51606],{"class":244,"line":7211},[6995,51601,7123],{"class":7006},[6995,51603,7024],{"class":7000},[6995,51605,22264],{"class":7006},[6995,51607,7030],{"class":7000},[6995,51609,51610,51612],{"class":244,"line":7220},[6995,51611,7214],{"class":7006},[6995,51613,7217],{"class":7000},[6995,51615,51616],{"class":244,"line":7226},[6995,51617,7223],{"class":7000},[6995,51619,51620,51622,51624,51626],{"class":244,"line":7238},[6995,51621,7229],{"class":7006},[6995,51623,7024],{"class":7000},[6995,51625,7180],{"class":7006},[6995,51627,7030],{"class":7000},[6995,51629,51630,51632,51634,51636],{"class":244,"line":7250},[6995,51631,7241],{"class":7006},[6995,51633,7024],{"class":7000},[6995,51635,39945],{"class":7006},[6995,51637,7030],{"class":7000},[6995,51639,51640,51642,51644,51646],{"class":244,"line":7263},[6995,51641,39952],{"class":7006},[6995,51643,7024],{"class":7000},[6995,51645,7180],{"class":7006},[6995,51647,7030],{"class":7000},[6995,51649,51650,51652,51654,51656],{"class":244,"line":7275},[6995,51651,39963],{"class":7006},[6995,51653,7024],{"class":7000},[6995,51655,7405],{"class":7012},[6995,51657,7030],{"class":7000},[6995,51659,51660,51662,51664,51666],{"class":244,"line":7288},[6995,51661,39974],{"class":7006},[6995,51663,7024],{"class":7000},[6995,51665,39945],{"class":7006},[6995,51667,7030],{"class":7000},[6995,51669,51670,51672,51674,51676],{"class":244,"line":7300},[6995,51671,39985],{"class":7006},[6995,51673,7024],{"class":7000},[6995,51675,39990],{"class":7012},[6995,51677,7030],{"class":7000},[6995,51679,51680,51682,51684,51686],{"class":244,"line":7313},[6995,51681,7253],{"class":7006},[6995,51683,7024],{"class":7000},[6995,51685,39990],{"class":7012},[6995,51687,7030],{"class":7000},[6995,51689,51690,51692,51694,51696],{"class":244,"line":7325},[6995,51691,8585],{"class":7006},[6995,51693,7024],{"class":7000},[6995,51695,7180],{"class":7006},[6995,51697,7030],{"class":7000},[6995,51699,51700,51702,51704,51706],{"class":244,"line":7336},[6995,51701,8596],{"class":7006},[6995,51703,7024],{"class":7000},[6995,51705,7405],{"class":7012},[6995,51707,7030],{"class":7000},[6995,51709,51710,51712,51714,51716],{"class":244,"line":7342},[6995,51711,22248],{"class":7006},[6995,51713,7024],{"class":7000},[6995,51715,40031],{"class":7006},[6995,51717,7030],{"class":7000},[6995,51719,51720,51722,51724,51726],{"class":244,"line":7347},[6995,51721,40038],{"class":7006},[6995,51723,7024],{"class":7000},[6995,51725,40043],{"class":7012},[6995,51727,7030],{"class":7000},[6995,51729,51730,51732,51734,51736],{"class":244,"line":7363},[6995,51731,7266],{"class":7006},[6995,51733,7024],{"class":7000},[6995,51735,40031],{"class":7006},[6995,51737,7030],{"class":7000},[6995,51739,51740,51742,51744,51746],{"class":244,"line":7375},[6995,51741,40060],{"class":7006},[6995,51743,7024],{"class":7000},[6995,51745,7180],{"class":7006},[6995,51747,7030],{"class":7000},[6995,51749,51750,51752,51754,51756],{"class":244,"line":7387},[6995,51751,40071],{"class":7006},[6995,51753,7024],{"class":7000},[6995,51755,7405],{"class":7012},[6995,51757,7030],{"class":7000},[6995,51759,51760,51762,51764,51766],{"class":244,"line":7398},[6995,51761,40082],{"class":7006},[6995,51763,7024],{"class":7000},[6995,51765,40031],{"class":7006},[6995,51767,7030],{"class":7000},[6995,51769,51770,51772,51774,51776],{"class":244,"line":7410},[6995,51771,40093],{"class":7006},[6995,51773,7024],{"class":7000},[6995,51775,40043],{"class":7012},[6995,51777,7030],{"class":7000},[6995,51779,51780,51782,51784,51786],{"class":244,"line":7421},[6995,51781,7278],{"class":7006},[6995,51783,7024],{"class":7000},[6995,51785,40043],{"class":7012},[6995,51787,7030],{"class":7000},[6995,51789,51790,51792,51794,51796],{"class":244,"line":7432},[6995,51791,7291],{"class":7006},[6995,51793,7024],{"class":7000},[6995,51795,7180],{"class":7006},[6995,51797,7030],{"class":7000},[6995,51799,51800,51802,51804,51806],{"class":244,"line":7443},[6995,51801,40124],{"class":7006},[6995,51803,7024],{"class":7000},[6995,51805,7180],{"class":7006},[6995,51807,7030],{"class":7000},[6995,51809,51810,51812,51814,51816],{"class":244,"line":7452},[6995,51811,40135],{"class":7006},[6995,51813,7024],{"class":7000},[6995,51815,7405],{"class":7012},[6995,51817,7030],{"class":7000},[6995,51819,51820,51822,51824,51826],{"class":244,"line":7458},[6995,51821,40146],{"class":7006},[6995,51823,7024],{"class":7000},[6995,51825,7180],{"class":7006},[6995,51827,7030],{"class":7000},[6995,51829,51830,51832,51834,51836],{"class":244,"line":7464},[6995,51831,40157],{"class":7006},[6995,51833,7024],{"class":7000},[6995,51835,7405],{"class":7012},[6995,51837,7030],{"class":7000},[6995,51839,51840,51842,51844,51846],{"class":244,"line":7470},[6995,51841,7303],{"class":7006},[6995,51843,7024],{"class":7000},[6995,51845,7405],{"class":7012},[6995,51847,7030],{"class":7000},[6995,51849,51850,51852,51854,51856],{"class":244,"line":13197},[6995,51851,7316],{"class":7006},[6995,51853,7024],{"class":7000},[6995,51855,7180],{"class":7006},[6995,51857,7030],{"class":7000},[6995,51859,51860,51862,51864,51866],{"class":244,"line":13202},[6995,51861,40188],{"class":7006},[6995,51863,7024],{"class":7000},[6995,51865,7180],{"class":7006},[6995,51867,7030],{"class":7000},[6995,51869,51870,51872,51874,51876],{"class":244,"line":13214},[6995,51871,40199],{"class":7006},[6995,51873,7024],{"class":7000},[6995,51875,7405],{"class":7012},[6995,51877,7030],{"class":7000},[6995,51879,51880,51882,51884,51886],{"class":244,"line":13225},[6995,51881,40210],{"class":7006},[6995,51883,7024],{"class":7000},[6995,51885,7180],{"class":7006},[6995,51887,7030],{"class":7000},[6995,51889,51890,51892,51894,51896],{"class":244,"line":13237},[6995,51891,40221],{"class":7006},[6995,51893,7024],{"class":7000},[6995,51895,7405],{"class":7012},[6995,51897,7030],{"class":7000},[6995,51899,51900,51902,51904],{"class":244,"line":13248},[6995,51901,7328],{"class":7006},[6995,51903,7024],{"class":7000},[6995,51905,7333],{"class":7012},[6995,51907,51908],{"class":244,"line":13258},[6995,51909,7339],{"class":7000},[6995,51911,51912],{"class":244,"line":13263},[6995,51913,7223],{"class":7000},[6995,51915,51916,51918,51920,51922],{"class":244,"line":13268},[6995,51917,7229],{"class":7006},[6995,51919,7024],{"class":7000},[6995,51921,11136],{"class":7006},[6995,51923,7030],{"class":7000},[6995,51925,51926,51928,51930,51932],{"class":244,"line":13275},[6995,51927,7241],{"class":7006},[6995,51929,7024],{"class":7000},[6995,51931,40262],{"class":7006},[6995,51933,7030],{"class":7000},[6995,51935,51936,51938,51940,51942],{"class":244,"line":13280},[6995,51937,39952],{"class":7006},[6995,51939,7024],{"class":7000},[6995,51941,7180],{"class":7006},[6995,51943,7030],{"class":7000},[6995,51945,51946,51948,51950,51952],{"class":244,"line":13291},[6995,51947,39963],{"class":7006},[6995,51949,7024],{"class":7000},[6995,51951,7405],{"class":7012},[6995,51953,7030],{"class":7000},[6995,51955,51956,51958,51960,51962],{"class":244,"line":13303},[6995,51957,39974],{"class":7006},[6995,51959,7024],{"class":7000},[6995,51961,40262],{"class":7006},[6995,51963,7030],{"class":7000},[6995,51965,51966,51968,51970,51972],{"class":244,"line":13314},[6995,51967,39985],{"class":7006},[6995,51969,7024],{"class":7000},[6995,51971,40303],{"class":7012},[6995,51973,7030],{"class":7000},[6995,51975,51976,51978,51980,51982],{"class":244,"line":13324},[6995,51977,7253],{"class":7006},[6995,51979,7024],{"class":7000},[6995,51981,40303],{"class":7012},[6995,51983,7030],{"class":7000},[6995,51985,51986,51988,51990,51992],{"class":244,"line":13329},[6995,51987,8585],{"class":7006},[6995,51989,7024],{"class":7000},[6995,51991,7180],{"class":7006},[6995,51993,7030],{"class":7000},[6995,51995,51996,51998,52000,52002],{"class":244,"line":13334},[6995,51997,8596],{"class":7006},[6995,51999,7024],{"class":7000},[6995,52001,7405],{"class":7012},[6995,52003,7030],{"class":7000},[6995,52005,52006,52008,52010,52012],{"class":244,"line":13346},[6995,52007,22248],{"class":7006},[6995,52009,7024],{"class":7000},[6995,52011,7180],{"class":7006},[6995,52013,7030],{"class":7000},[6995,52015,52016,52018,52020,52022],{"class":244,"line":13357},[6995,52017,40038],{"class":7006},[6995,52019,7024],{"class":7000},[6995,52021,7405],{"class":7012},[6995,52023,7030],{"class":7000},[6995,52025,52026,52028,52030,52032],{"class":244,"line":13368},[6995,52027,7266],{"class":7006},[6995,52029,7024],{"class":7000},[6995,52031,7180],{"class":7006},[6995,52033,7030],{"class":7000},[6995,52035,52036,52038,52040,52042],{"class":244,"line":13379},[6995,52037,40060],{"class":7006},[6995,52039,7024],{"class":7000},[6995,52041,7180],{"class":7006},[6995,52043,7030],{"class":7000},[6995,52045,52046,52048,52050,52052],{"class":244,"line":13389},[6995,52047,40071],{"class":7006},[6995,52049,7024],{"class":7000},[6995,52051,7405],{"class":7012},[6995,52053,7030],{"class":7000},[6995,52055,52056,52058,52060,52062],{"class":244,"line":13394},[6995,52057,40082],{"class":7006},[6995,52059,7024],{"class":7000},[6995,52061,7180],{"class":7006},[6995,52063,7030],{"class":7000},[6995,52065,52066,52068,52070,52072],{"class":244,"line":13399},[6995,52067,40093],{"class":7006},[6995,52069,7024],{"class":7000},[6995,52071,7405],{"class":7012},[6995,52073,7030],{"class":7000},[6995,52075,52076,52078,52080,52082],{"class":244,"line":13411},[6995,52077,7278],{"class":7006},[6995,52079,7024],{"class":7000},[6995,52081,7405],{"class":7012},[6995,52083,7030],{"class":7000},[6995,52085,52086,52088,52090,52092],{"class":244,"line":13423},[6995,52087,7291],{"class":7006},[6995,52089,7024],{"class":7000},[6995,52091,7180],{"class":7006},[6995,52093,7030],{"class":7000},[6995,52095,52096,52098,52100,52102],{"class":244,"line":13434},[6995,52097,40124],{"class":7006},[6995,52099,7024],{"class":7000},[6995,52101,7180],{"class":7006},[6995,52103,7030],{"class":7000},[6995,52105,52106,52108,52110,52112],{"class":244,"line":13445},[6995,52107,40135],{"class":7006},[6995,52109,7024],{"class":7000},[6995,52111,7405],{"class":7012},[6995,52113,7030],{"class":7000},[6995,52115,52116,52118,52120,52122],{"class":244,"line":13457},[6995,52117,40146],{"class":7006},[6995,52119,7024],{"class":7000},[6995,52121,7180],{"class":7006},[6995,52123,7030],{"class":7000},[6995,52125,52126,52128,52130,52132],{"class":244,"line":13464},[6995,52127,40157],{"class":7006},[6995,52129,7024],{"class":7000},[6995,52131,7405],{"class":7012},[6995,52133,7030],{"class":7000},[6995,52135,52136,52138,52140,52142],{"class":244,"line":13471},[6995,52137,7303],{"class":7006},[6995,52139,7024],{"class":7000},[6995,52141,7405],{"class":7012},[6995,52143,7030],{"class":7000},[6995,52145,52146,52148,52150,52152],{"class":244,"line":13476},[6995,52147,7316],{"class":7006},[6995,52149,7024],{"class":7000},[6995,52151,7180],{"class":7006},[6995,52153,7030],{"class":7000},[6995,52155,52156,52158,52160,52162],{"class":244,"line":13488},[6995,52157,40188],{"class":7006},[6995,52159,7024],{"class":7000},[6995,52161,7180],{"class":7006},[6995,52163,7030],{"class":7000},[6995,52165,52166,52168,52170,52172],{"class":244,"line":13499},[6995,52167,40199],{"class":7006},[6995,52169,7024],{"class":7000},[6995,52171,7405],{"class":7012},[6995,52173,7030],{"class":7000},[6995,52175,52176,52178,52180,52182],{"class":244,"line":13511},[6995,52177,40210],{"class":7006},[6995,52179,7024],{"class":7000},[6995,52181,7180],{"class":7006},[6995,52183,7030],{"class":7000},[6995,52185,52186,52188,52190,52192],{"class":244,"line":13522},[6995,52187,40221],{"class":7006},[6995,52189,7024],{"class":7000},[6995,52191,7405],{"class":7012},[6995,52193,7030],{"class":7000},[6995,52195,52196,52198,52200],{"class":244,"line":13532},[6995,52197,7328],{"class":7006},[6995,52199,7024],{"class":7000},[6995,52201,7333],{"class":7012},[6995,52203,52204],{"class":244,"line":13537},[6995,52205,7455],{"class":7000},[6995,52207,52208],{"class":244,"line":13542},[6995,52209,7461],{"class":7000},[6995,52211,52212],{"class":244,"line":13549},[6995,52213,7467],{"class":7000},[6995,52215,52216],{"class":244,"line":13554},[6995,52217,7047],{"class":7000},[852,52219,52220,52232,52236,52240,52248,52252,52256,52264,52268,52272,52280,52284,52288,52296,52300],{},[59,52221,52222,40556,52224],{},[611,52223,18109],{},[852,52225,52226,52228,52230],{},[59,52227,18115],{},[59,52229,18118],{},[59,52231,18121],{},[59,52233,52234,40569],{},[611,52235,35322],{},[59,52237,52238,40574],{},[611,52239,35328],{},[59,52241,52242,40579,52244,1475,52246],{},[611,52243,18147],{},[611,52245,35322],{},[611,52247,35328],{},[59,52249,52250,40588],{},[611,52251,35334],{},[59,52253,52254,40593],{},[611,52255,35340],{},[59,52257,52258,40579,52260,1475,52262],{},[611,52259,22030],{},[611,52261,35334],{},[611,52263,35340],{},[59,52265,52266,40606],{},[611,52267,35346],{},[59,52269,52270,40611],{},[611,52271,35352],{},[59,52273,52274,40579,52276,1475,52278],{},[611,52275,22033],{},[611,52277,35346],{},[611,52279,35352],{},[59,52281,52282,40624],{},[611,52283,35358],{},[59,52285,52286,40629],{},[611,52287,35364],{},[59,52289,52290,40579,52292,1475,52294],{},[611,52291,18150],{},[611,52293,35358],{},[611,52295,35364],{},[59,52297,52298,40642],{},[611,52299,8665],{},[59,52301,52302,40647,52304,2231,52306,1475,52308],{},[611,52303,22297],{},[611,52305,35358],{},[611,52307,35364],{},[611,52309,8665],{},[34,52311,18124,52312,18127,52314,18130,52316,18134,52318,18138],{},[611,52313,18109],{},[611,52315,6869],{},[611,52317,18133],{},[611,52319,18137],{},[34,52321,18141,52322,18144,52324,2231,52326,18151,52328,8016,52330,18156,52332,18159,52334,18163],{},[8009,52323,8011],{},[611,52325,18147],{},[611,52327,18150],{},[611,52329,8015],{},[8009,52331,8019],{},[611,52333,8015],{},[611,52335,18162],{},[41,52337,18014],{"id":18014},[34,52339,22737],{},[34,52341,52342],{},[611,52343,6986],{},[616,52345,52346],{"className":6989,"code":22744,"language":6991,"meta":14,"style":14},[611,52347,52348,52352,52362,52372,52382,52388,52392,52402,52412,52418,52428,52436,52440,52444],{"__ignoreMap":14},[6995,52349,52350],{"class":244,"line":6997},[6995,52351,7001],{"class":7000},[6995,52353,52354,52356,52358,52360],{"class":244,"line":15},[6995,52355,7007],{"class":7006},[6995,52357,5102],{"class":7000},[6995,52359,7013],{"class":7012},[6995,52361,7016],{"class":7000},[6995,52363,52364,52366,52368,52370],{"class":244,"line":154},[6995,52365,7021],{"class":7006},[6995,52367,7024],{"class":7000},[6995,52369,7027],{"class":7006},[6995,52371,7030],{"class":7000},[6995,52373,52374,52376,52378,52380],{"class":244,"line":7033},[6995,52375,7036],{"class":7006},[6995,52377,5102],{"class":7000},[6995,52379,22779],{"class":7012},[6995,52381,7030],{"class":7000},[6995,52383,52384,52386],{"class":244,"line":7044},[6995,52385,7529],{"class":7006},[6995,52387,7811],{"class":7000},[6995,52389,52390],{"class":244,"line":7107},[6995,52391,7537],{"class":7000},[6995,52393,52394,52396,52398,52400],{"class":244,"line":7120},[6995,52395,21259],{"class":7006},[6995,52397,7024],{"class":7000},[6995,52399,22800],{"class":7006},[6995,52401,7030],{"class":7000},[6995,52403,52404,52406,52408,52410],{"class":244,"line":7133},[6995,52405,21248],{"class":7006},[6995,52407,7024],{"class":7000},[6995,52409,7180],{"class":7006},[6995,52411,7030],{"class":7000},[6995,52413,52414,52416],{"class":244,"line":7146},[6995,52415,22817],{"class":7006},[6995,52417,7092],{"class":7000},[6995,52419,52420,52422,52424,52426],{"class":244,"line":7159},[6995,52421,22824],{"class":7006},[6995,52423,7024],{"class":7000},[6995,52425,22829],{"class":7012},[6995,52427,7030],{"class":7000},[6995,52429,52430,52432,52434],{"class":244,"line":7172},[6995,52431,22836],{"class":7006},[6995,52433,7024],{"class":7000},[6995,52435,22841],{"class":7012},[6995,52437,52438],{"class":244,"line":7185},[6995,52439,15327],{"class":7000},[6995,52441,52442],{"class":244,"line":7198},[6995,52443,7615],{"class":7000},[6995,52445,52446],{"class":244,"line":7211},[6995,52447,7047],{"class":7000},[852,52449,52450,52454,52460,52464],{},[59,52451,52452,22860],{},[611,52453,12842],{},[59,52455,52456,22865,52458,181],{},[611,52457,21296],{},[611,52459,7180],{},[59,52461,52462,22873],{},[611,52463,22872],{},[59,52465,52466,22879],{},[611,52467,22878],{},[34,52469,52470],{},[611,52471,7052],{},[616,52473,52474],{"className":6989,"code":22886,"language":6991,"meta":14,"style":14},[611,52475,52476,52480,52490,52500,52506,52510,52520,52530,52540,52550,52560,52570,52580,52590,52598,52602],{"__ignoreMap":14},[6995,52477,52478],{"class":244,"line":6997},[6995,52479,7001],{"class":7000},[6995,52481,52482,52484,52486,52488],{"class":244,"line":15},[6995,52483,7007],{"class":7006},[6995,52485,7024],{"class":7000},[6995,52487,7013],{"class":7012},[6995,52489,7016],{"class":7000},[6995,52491,52492,52494,52496,52498],{"class":244,"line":154},[6995,52493,7021],{"class":7006},[6995,52495,7024],{"class":7000},[6995,52497,7027],{"class":7006},[6995,52499,7030],{"class":7000},[6995,52501,52502,52504],{"class":244,"line":7033},[6995,52503,7732],{"class":7006},[6995,52505,7532],{"class":7000},[6995,52507,52508],{"class":244,"line":7044},[6995,52509,19059],{"class":7000},[6995,52511,52512,52514,52516,52518],{"class":244,"line":7107},[6995,52513,12965],{"class":7006},[6995,52515,7024],{"class":7000},[6995,52517,7167],{"class":7006},[6995,52519,7030],{"class":7000},[6995,52521,52522,52524,52526,52528],{"class":244,"line":7120},[6995,52523,7229],{"class":7006},[6995,52525,7024],{"class":7000},[6995,52527,7180],{"class":7006},[6995,52529,7030],{"class":7000},[6995,52531,52532,52534,52536,52538],{"class":244,"line":7133},[6995,52533,8467],{"class":7006},[6995,52535,7024],{"class":7000},[6995,52537,22951],{"class":7006},[6995,52539,7030],{"class":7000},[6995,52541,52542,52544,52546,52548],{"class":244,"line":7146},[6995,52543,13052],{"class":7006},[6995,52545,7024],{"class":7000},[6995,52547,22962],{"class":7006},[6995,52549,7030],{"class":7000},[6995,52551,52552,52554,52556,52558],{"class":244,"line":7159},[6995,52553,11924],{"class":7006},[6995,52555,7024],{"class":7000},[6995,52557,22973],{"class":7012},[6995,52559,7030],{"class":7000},[6995,52561,52562,52564,52566,52568],{"class":244,"line":7172},[6995,52563,22980],{"class":7006},[6995,52565,7024],{"class":7000},[6995,52567,20884],{"class":7012},[6995,52569,7030],{"class":7000},[6995,52571,52572,52574,52576,52578],{"class":244,"line":7185},[6995,52573,22991],{"class":7006},[6995,52575,7024],{"class":7000},[6995,52577,19080],{"class":7012},[6995,52579,7030],{"class":7000},[6995,52581,52582,52584,52586,52588],{"class":244,"line":7198},[6995,52583,21018],{"class":7006},[6995,52585,7024],{"class":7000},[6995,52587,7511],{"class":7006},[6995,52589,7030],{"class":7000},[6995,52591,52592,52594,52596],{"class":244,"line":7211},[6995,52593,21029],{"class":7006},[6995,52595,7024],{"class":7000},[6995,52597,23016],{"class":7012},[6995,52599,52600],{"class":244,"line":7220},[6995,52601,21877],{"class":7000},[6995,52603,52604],{"class":244,"line":7226},[6995,52605,7047],{"class":7000},[852,52607,52608,52614],{},[59,52609,52610,23031,52612,8764],{},[611,52611,6869],{},[611,52613,4979],{},[59,52615,52616,23038],{},[611,52617,21309],{},[34,52619,52620],{},[611,52621,6986],{},[616,52623,52624],{"className":6989,"code":23045,"language":6991,"meta":14,"style":14},[611,52625,52626,52630,52640,52650,52660,52666,52676,52682,52690,52694,52698],{"__ignoreMap":14},[6995,52627,52628],{"class":244,"line":6997},[6995,52629,7001],{"class":7000},[6995,52631,52632,52634,52636,52638],{"class":244,"line":15},[6995,52633,7007],{"class":7006},[6995,52635,7024],{"class":7000},[6995,52637,7013],{"class":7012},[6995,52639,7030],{"class":7000},[6995,52641,52642,52644,52646,52648],{"class":244,"line":154},[6995,52643,7021],{"class":7006},[6995,52645,7024],{"class":7000},[6995,52647,7071],{"class":7006},[6995,52649,7030],{"class":7000},[6995,52651,52652,52654,52656,52658],{"class":244,"line":7033},[6995,52653,7036],{"class":7006},[6995,52655,7024],{"class":7000},[6995,52657,22779],{"class":7012},[6995,52659,7030],{"class":7000},[6995,52661,52662,52664],{"class":244,"line":7044},[6995,52663,7529],{"class":7006},[6995,52665,7092],{"class":7000},[6995,52667,52668,52670,52672,52674],{"class":244,"line":7107},[6995,52669,23092],{"class":7006},[6995,52671,7024],{"class":7000},[6995,52673,8689],{"class":7006},[6995,52675,7030],{"class":7000},[6995,52677,52678,52680],{"class":244,"line":7120},[6995,52679,21209],{"class":7006},[6995,52681,7092],{"class":7000},[6995,52683,52684,52686,52688],{"class":244,"line":7133},[6995,52685,23109],{"class":7006},[6995,52687,7024],{"class":7000},[6995,52689,7686],{"class":7006},[6995,52691,52692],{"class":244,"line":7146},[6995,52693,15327],{"class":7000},[6995,52695,52696],{"class":244,"line":7159},[6995,52697,7615],{"class":7000},[6995,52699,52700],{"class":244,"line":7172},[6995,52701,7047],{"class":7000},[34,52703,52704],{},[611,52705,7052],{},[616,52707,52708],{"className":6989,"code":23132,"language":6991,"meta":14,"style":14},[611,52709,52710,52714,52724,52734,52740,52744,52754,52764,52774,52784,52794,52804,52814,52824,52832,52836,52840],{"__ignoreMap":14},[6995,52711,52712],{"class":244,"line":6997},[6995,52713,7001],{"class":7000},[6995,52715,52716,52718,52720,52722],{"class":244,"line":15},[6995,52717,7066],{"class":7006},[6995,52719,7024],{"class":7000},[6995,52721,7071],{"class":7006},[6995,52723,7030],{"class":7000},[6995,52725,52726,52728,52730,52732],{"class":244,"line":154},[6995,52727,7078],{"class":7006},[6995,52729,7024],{"class":7000},[6995,52731,7013],{"class":7012},[6995,52733,7030],{"class":7000},[6995,52735,52736,52738],{"class":244,"line":7033},[6995,52737,7089],{"class":7006},[6995,52739,7217],{"class":7000},[6995,52741,52742],{"class":244,"line":7044},[6995,52743,7537],{"class":7000},[6995,52745,52746,52748,52750,52752],{"class":244,"line":7107},[6995,52747,23173],{"class":7006},[6995,52749,7024],{"class":7000},[6995,52751,23178],{"class":7006},[6995,52753,7030],{"class":7000},[6995,52755,52756,52758,52760,52762],{"class":244,"line":7120},[6995,52757,21509],{"class":7006},[6995,52759,7024],{"class":7000},[6995,52761,6679],{"class":7006},[6995,52763,7030],{"class":7000},[6995,52765,52766,52768,52770,52772],{"class":244,"line":7133},[6995,52767,23195],{"class":7006},[6995,52769,7024],{"class":7000},[6995,52771,23200],{"class":7012},[6995,52773,7030],{"class":7000},[6995,52775,52776,52778,52780,52782],{"class":244,"line":7146},[6995,52777,12663],{"class":7006},[6995,52779,7024],{"class":7000},[6995,52781,23211],{"class":7012},[6995,52783,7030],{"class":7000},[6995,52785,52786,52788,52790,52792],{"class":244,"line":7159},[6995,52787,12751],{"class":7006},[6995,52789,7024],{"class":7000},[6995,52791,23222],{"class":7006},[6995,52793,7030],{"class":7000},[6995,52795,52796,52798,52800,52802],{"class":244,"line":7172},[6995,52797,23229],{"class":7006},[6995,52799,7024],{"class":7000},[6995,52801,19080],{"class":7012},[6995,52803,7030],{"class":7000},[6995,52805,52806,52808,52810,52812],{"class":244,"line":7185},[6995,52807,21622],{"class":7006},[6995,52809,7024],{"class":7000},[6995,52811,6679],{"class":7006},[6995,52813,7030],{"class":7000},[6995,52815,52816,52818,52820,52822],{"class":244,"line":7198},[6995,52817,21633],{"class":7006},[6995,52819,7024],{"class":7000},[6995,52821,23254],{"class":7012},[6995,52823,7030],{"class":7000},[6995,52825,52826,52828,52830],{"class":244,"line":7211},[6995,52827,23261],{"class":7006},[6995,52829,7024],{"class":7000},[6995,52831,23266],{"class":7012},[6995,52833,52834],{"class":244,"line":7220},[6995,52835,7615],{"class":7000},[6995,52837,52838],{"class":244,"line":7226},[6995,52839,23275],{"class":7000},[6995,52841,52842],{"class":244,"line":7238},[6995,52843,7047],{"class":7000},[852,52845,52846,52860],{},[59,52847,52848,23286,52850,23290,52852,23294,52854,23298,52856,23302,52858,23306],{},[611,52849,11962],{},[611,52851,23289],{},[611,52853,23293],{},[611,52855,23297],{},[611,52857,23301],{},[611,52859,23305],{},[59,52861,52862,23286,52864,2231,52866,2231,52868,2231,52870,2231,52872,2231,52874,2231,52876,18637,52878,23335],{},[611,52863,12388],{},[611,52865,23313],{},[611,52867,23316],{},[611,52869,23319],{},[611,52871,23322],{},[611,52873,23325],{},[611,52875,23328],{},[611,52877,23331],{},[611,52879,23334],{},[41,52881,6935],{"id":6935},[34,52883,23340,52884,23343],{},[175,52885,6930],{"href":8044},[34,52887,52888],{},[611,52889,6986],{},[616,52891,52892],{"className":6989,"code":7767,"language":6991,"meta":14,"style":14},[611,52893,52894,52898,52908,52918,52928,52934,52938,52946,52950],{"__ignoreMap":14},[6995,52895,52896],{"class":244,"line":6997},[6995,52897,7001],{"class":7000},[6995,52899,52900,52902,52904,52906],{"class":244,"line":15},[6995,52901,7007],{"class":7006},[6995,52903,5102],{"class":7000},[6995,52905,7013],{"class":7012},[6995,52907,7016],{"class":7000},[6995,52909,52910,52912,52914,52916],{"class":244,"line":154},[6995,52911,7021],{"class":7006},[6995,52913,7024],{"class":7000},[6995,52915,7027],{"class":7006},[6995,52917,7030],{"class":7000},[6995,52919,52920,52922,52924,52926],{"class":244,"line":7033},[6995,52921,7036],{"class":7006},[6995,52923,7024],{"class":7000},[6995,52925,7802],{"class":7012},[6995,52927,7030],{"class":7000},[6995,52929,52930,52932],{"class":244,"line":7044},[6995,52931,7529],{"class":7006},[6995,52933,7811],{"class":7000},[6995,52935,52936],{"class":244,"line":7107},[6995,52937,7537],{"class":7000},[6995,52939,52940,52942,52944],{"class":244,"line":7120},[6995,52941,7229],{"class":7006},[6995,52943,7024],{"class":7000},[6995,52945,7686],{"class":7006},[6995,52947,52948],{"class":244,"line":7133},[6995,52949,7615],{"class":7000},[6995,52951,52952],{"class":244,"line":7146},[6995,52953,7047],{"class":7000},[852,52955,52956,52960],{},[59,52957,52958,7838],{},[611,52959,6869],{},[59,52961,52962,20314],{},[611,52963,20130],{},[34,52965,52966],{},[611,52967,7052],{},[616,52969,52970],{"className":6989,"code":30483,"language":6991,"meta":14,"style":14},[611,52971,52972,52976,52986,52996,53002,53006,53016,53026,53036,53046,53056,53066,53076,53082,53092,53102,53112,53122,53130,53134,53144,53154,53164,53172,53176],{"__ignoreMap":14},[6995,52973,52974],{"class":244,"line":6997},[6995,52975,7001],{"class":7000},[6995,52977,52978,52980,52982,52984],{"class":244,"line":15},[6995,52979,7021],{"class":7006},[6995,52981,7024],{"class":7000},[6995,52983,7071],{"class":7006},[6995,52985,7030],{"class":7000},[6995,52987,52988,52990,52992,52994],{"class":244,"line":154},[6995,52989,7007],{"class":7006},[6995,52991,7024],{"class":7000},[6995,52993,7013],{"class":7012},[6995,52995,7030],{"class":7000},[6995,52997,52998,53000],{"class":244,"line":7033},[6995,52999,7732],{"class":7006},[6995,53001,7673],{"class":7000},[6995,53003,53004],{"class":244,"line":7044},[6995,53005,7537],{"class":7000},[6995,53007,53008,53010,53012,53014],{"class":244,"line":7107},[6995,53009,7229],{"class":7006},[6995,53011,7024],{"class":7000},[6995,53013,6679],{"class":7006},[6995,53015,7030],{"class":7000},[6995,53017,53018,53020,53022,53024],{"class":244,"line":7120},[6995,53019,7896],{"class":7006},[6995,53021,7024],{"class":7000},[6995,53023,7370],{"class":7006},[6995,53025,7030],{"class":7000},[6995,53027,53028,53030,53032,53034],{"class":244,"line":7133},[6995,53029,7907],{"class":7006},[6995,53031,7024],{"class":7000},[6995,53033,7382],{"class":7012},[6995,53035,7030],{"class":7000},[6995,53037,53038,53040,53042,53044],{"class":244,"line":7146},[6995,53039,7918],{"class":7006},[6995,53041,7024],{"class":7000},[6995,53043,6679],{"class":7006},[6995,53045,7030],{"class":7000},[6995,53047,53048,53050,53052,53054],{"class":244,"line":7159},[6995,53049,7929],{"class":7006},[6995,53051,7024],{"class":7000},[6995,53053,7934],{"class":7006},[6995,53055,7030],{"class":7000},[6995,53057,53058,53060,53062,53064],{"class":244,"line":7172},[6995,53059,7941],{"class":7006},[6995,53061,7024],{"class":7000},[6995,53063,30578],{"class":7012},[6995,53065,7030],{"class":7000},[6995,53067,53068,53070,53072,53074],{"class":244,"line":7185},[6995,53069,30585],{"class":7006},[6995,53071,7024],{"class":7000},[6995,53073,8689],{"class":7006},[6995,53075,7030],{"class":7000},[6995,53077,53078,53080],{"class":244,"line":7198},[6995,53079,30596],{"class":7006},[6995,53081,7092],{"class":7000},[6995,53083,53084,53086,53088,53090],{"class":244,"line":7211},[6995,53085,30603],{"class":7006},[6995,53087,7024],{"class":7000},[6995,53089,30608],{"class":7012},[6995,53091,7030],{"class":7000},[6995,53093,53094,53096,53098,53100],{"class":244,"line":7220},[6995,53095,30615],{"class":7006},[6995,53097,7024],{"class":7000},[6995,53099,30620],{"class":7012},[6995,53101,7030],{"class":7000},[6995,53103,53104,53106,53108,53110],{"class":244,"line":7226},[6995,53105,30627],{"class":7006},[6995,53107,7024],{"class":7000},[6995,53109,30632],{"class":7012},[6995,53111,7030],{"class":7000},[6995,53113,53114,53116,53118,53120],{"class":244,"line":7238},[6995,53115,30639],{"class":7006},[6995,53117,7024],{"class":7000},[6995,53119,30644],{"class":7012},[6995,53121,7030],{"class":7000},[6995,53123,53124,53126,53128],{"class":244,"line":7250},[6995,53125,30651],{"class":7006},[6995,53127,7024],{"class":7000},[6995,53129,30656],{"class":7012},[6995,53131,53132],{"class":244,"line":7263},[6995,53133,21243],{"class":7000},[6995,53135,53136,53138,53140,53142],{"class":244,"line":7275},[6995,53137,30665],{"class":7006},[6995,53139,7024],{"class":7000},[6995,53141,8689],{"class":7006},[6995,53143,7030],{"class":7000},[6995,53145,53146,53148,53150,53152],{"class":244,"line":7288},[6995,53147,30676],{"class":7006},[6995,53149,7024],{"class":7000},[6995,53151,8689],{"class":7006},[6995,53153,7030],{"class":7000},[6995,53155,53156,53158,53160,53162],{"class":244,"line":7300},[6995,53157,7953],{"class":7006},[6995,53159,7024],{"class":7000},[6995,53161,7958],{"class":7012},[6995,53163,7030],{"class":7000},[6995,53165,53166,53168,53170],{"class":244,"line":7313},[6995,53167,7965],{"class":7006},[6995,53169,7024],{"class":7000},[6995,53171,7970],{"class":7006},[6995,53173,53174],{"class":244,"line":7325},[6995,53175,7615],{"class":7000},[6995,53177,53178],{"class":244,"line":7336},[6995,53179,7047],{"class":7000},[34,53181,7981,53182,181],{},[175,53183,7985],{"href":19812},[852,53185,53186,53190,53194,53208,53212,53216,53222,53226,53232,53236],{},[59,53187,53188,7992],{},[611,53189,6869],{},[59,53191,53192,7998],{},[611,53193,7997],{},[59,53195,53196,8003,53198,8007,53200,8012,53202,8016,53204,8020,53206,8023],{},[611,53197,1020],{},[611,53199,8006],{},[8009,53201,8011],{},[611,53203,8015],{},[8009,53205,8019],{},[611,53207,8015],{},[59,53209,53210,8029],{},[611,53211,8028],{},[59,53213,53214,8035],{},[611,53215,8034],{},[59,53217,53218,8041,53220,8045],{},[611,53219,8040],{},[175,53221,6930],{"href":8044},[59,53223,53224,30755],{},[611,53225,25511],{},[59,53227,53228,30760,53230,30763],{},[611,53229,25526],{},[611,53231,25511],{},[59,53233,53234,30768],{},[611,53235,25514],{},[59,53237,53238,30773,53240],{},[611,53239,25523],{},[175,53241,30778],{"href":30776,"rel":53242},[179],[41,53244,18340],{"id":18340},[34,53246,23596],{},[34,53248,53249],{},[611,53250,6986],{},[616,53252,53253],{"className":6989,"code":23603,"language":6991,"meta":14,"style":14},[611,53254,53255,53259,53269,53279,53287],{"__ignoreMap":14},[6995,53256,53257],{"class":244,"line":6997},[6995,53258,7001],{"class":7000},[6995,53260,53261,53263,53265,53267],{"class":244,"line":15},[6995,53262,7007],{"class":7006},[6995,53264,5102],{"class":7000},[6995,53266,7013],{"class":7012},[6995,53268,7016],{"class":7000},[6995,53270,53271,53273,53275,53277],{"class":244,"line":154},[6995,53272,7021],{"class":7006},[6995,53274,7024],{"class":7000},[6995,53276,7511],{"class":7006},[6995,53278,7030],{"class":7000},[6995,53280,53281,53283,53285],{"class":244,"line":7033},[6995,53282,7036],{"class":7006},[6995,53284,5102],{"class":7000},[6995,53286,23638],{"class":7012},[6995,53288,53289],{"class":244,"line":7044},[6995,53290,7047],{"class":7000},[34,53292,53293],{},[611,53294,7052],{},[616,53296,53297],{"className":6989,"code":23649,"language":6991,"meta":14,"style":14},[611,53298,53299,53303,53313,53323,53331],{"__ignoreMap":14},[6995,53300,53301],{"class":244,"line":6997},[6995,53302,7001],{"class":7000},[6995,53304,53305,53307,53309,53311],{"class":244,"line":15},[6995,53306,7007],{"class":7006},[6995,53308,5102],{"class":7000},[6995,53310,7013],{"class":7012},[6995,53312,7016],{"class":7000},[6995,53314,53315,53317,53319,53321],{"class":244,"line":154},[6995,53316,7021],{"class":7006},[6995,53318,7024],{"class":7000},[6995,53320,7511],{"class":7006},[6995,53322,7030],{"class":7000},[6995,53324,53325,53327,53329],{"class":244,"line":7033},[6995,53326,7732],{"class":7006},[6995,53328,5102],{"class":7000},[6995,53330,7749],{"class":7012},[6995,53332,53333],{"class":244,"line":7044},[6995,53334,7047],{"class":7000},[41,53336,18348],{"id":18348},[34,53338,23692,53339,181],{},[611,53340,8158],{},[34,53342,53343],{},[611,53344,6986],{},[616,53346,53347],{"className":6989,"code":23701,"language":6991,"meta":14,"style":14},[611,53348,53349,53353,53363,53373,53383,53389,53393,53401,53405],{"__ignoreMap":14},[6995,53350,53351],{"class":244,"line":6997},[6995,53352,7001],{"class":7000},[6995,53354,53355,53357,53359,53361],{"class":244,"line":15},[6995,53356,7007],{"class":7006},[6995,53358,5102],{"class":7000},[6995,53360,7013],{"class":7012},[6995,53362,7016],{"class":7000},[6995,53364,53365,53367,53369,53371],{"class":244,"line":154},[6995,53366,7021],{"class":7006},[6995,53368,7024],{"class":7000},[6995,53370,8439],{"class":7006},[6995,53372,7030],{"class":7000},[6995,53374,53375,53377,53379,53381],{"class":244,"line":7033},[6995,53376,7036],{"class":7006},[6995,53378,7024],{"class":7000},[6995,53380,23736],{"class":7012},[6995,53382,7016],{"class":7000},[6995,53384,53385,53387],{"class":244,"line":7044},[6995,53386,7529],{"class":7006},[6995,53388,7532],{"class":7000},[6995,53390,53391],{"class":244,"line":7107},[6995,53392,7537],{"class":7000},[6995,53394,53395,53397,53399],{"class":244,"line":7120},[6995,53396,7743],{"class":7006},[6995,53398,7746],{"class":7000},[6995,53400,20611],{"class":7012},[6995,53402,53403],{"class":244,"line":7133},[6995,53404,7615],{"class":7000},[6995,53406,53407],{"class":244,"line":7146},[6995,53408,7047],{"class":7000},[34,53410,53411],{},[611,53412,7052],{},[616,53414,53415],{"className":6989,"code":23771,"language":6991,"meta":14,"style":14},[611,53416,53417,53421,53431,53441,53447,53451,53459,53463],{"__ignoreMap":14},[6995,53418,53419],{"class":244,"line":6997},[6995,53420,7001],{"class":7000},[6995,53422,53423,53425,53427,53429],{"class":244,"line":15},[6995,53424,7007],{"class":7006},[6995,53426,5102],{"class":7000},[6995,53428,7013],{"class":7012},[6995,53430,7016],{"class":7000},[6995,53432,53433,53435,53437,53439],{"class":244,"line":154},[6995,53434,7021],{"class":7006},[6995,53436,7024],{"class":7000},[6995,53438,8439],{"class":7006},[6995,53440,7030],{"class":7000},[6995,53442,53443,53445],{"class":244,"line":7033},[6995,53444,7732],{"class":7006},[6995,53446,7673],{"class":7000},[6995,53448,53449],{"class":244,"line":7044},[6995,53450,7537],{"class":7000},[6995,53452,53453,53455,53457],{"class":244,"line":7107},[6995,53454,23812],{"class":7006},[6995,53456,7024],{"class":7000},[6995,53458,23817],{"class":7012},[6995,53460,53461],{"class":244,"line":7120},[6995,53462,7615],{"class":7000},[6995,53464,53465],{"class":244,"line":7133},[6995,53466,7047],{"class":7000},[852,53468,53469],{},[59,53470,53471,23833,53473,23836],{},[611,53472,23832],{},[175,53474,18356],{"href":18355},[34,53476,53477,23841],{},[37,53478,22074],{},[41,53480,18356],{"id":18356},[34,53482,23846,53483,181],{},[611,53484,23832],{},[34,53486,53487],{},[611,53488,6986],{},[616,53490,53491],{"className":6989,"code":23855,"language":6991,"meta":14,"style":14},[611,53492,53493,53497,53507,53517,53527,53533,53537,53545,53549],{"__ignoreMap":14},[6995,53494,53495],{"class":244,"line":6997},[6995,53496,7001],{"class":7000},[6995,53498,53499,53501,53503,53505],{"class":244,"line":15},[6995,53500,7007],{"class":7006},[6995,53502,5102],{"class":7000},[6995,53504,7013],{"class":7012},[6995,53506,7016],{"class":7000},[6995,53508,53509,53511,53513,53515],{"class":244,"line":154},[6995,53510,7021],{"class":7006},[6995,53512,7024],{"class":7000},[6995,53514,8439],{"class":7006},[6995,53516,7030],{"class":7000},[6995,53518,53519,53521,53523,53525],{"class":244,"line":7033},[6995,53520,7036],{"class":7006},[6995,53522,5102],{"class":7000},[6995,53524,23890],{"class":7012},[6995,53526,7016],{"class":7000},[6995,53528,53529,53531],{"class":244,"line":7044},[6995,53530,7529],{"class":7006},[6995,53532,7532],{"class":7000},[6995,53534,53535],{"class":244,"line":7107},[6995,53536,7537],{"class":7000},[6995,53538,53539,53541,53543],{"class":244,"line":7120},[6995,53540,23812],{"class":7006},[6995,53542,7746],{"class":7000},[6995,53544,23817],{"class":7012},[6995,53546,53547],{"class":244,"line":7133},[6995,53548,7615],{"class":7000},[6995,53550,53551],{"class":244,"line":7146},[6995,53552,7047],{"class":7000},[34,53554,53555],{},[611,53556,7052],{},[616,53558,53559],{"className":6989,"code":23925,"language":6991,"meta":14,"style":14},[611,53560,53561,53565,53575,53585,53591,53595,53605,53615,53625,53635,53645,53653,53657],{"__ignoreMap":14},[6995,53562,53563],{"class":244,"line":6997},[6995,53564,7001],{"class":7000},[6995,53566,53567,53569,53571,53573],{"class":244,"line":15},[6995,53568,7007],{"class":7006},[6995,53570,5102],{"class":7000},[6995,53572,7013],{"class":7012},[6995,53574,7016],{"class":7000},[6995,53576,53577,53579,53581,53583],{"class":244,"line":154},[6995,53578,7021],{"class":7006},[6995,53580,7024],{"class":7000},[6995,53582,8439],{"class":7006},[6995,53584,7030],{"class":7000},[6995,53586,53587,53589],{"class":244,"line":7033},[6995,53588,7732],{"class":7006},[6995,53590,7673],{"class":7000},[6995,53592,53593],{"class":244,"line":7044},[6995,53594,7537],{"class":7000},[6995,53596,53597,53599,53601,53603],{"class":244,"line":7107},[6995,53598,11902],{"class":7006},[6995,53600,7024],{"class":7000},[6995,53602,8689],{"class":7006},[6995,53604,7030],{"class":7000},[6995,53606,53607,53609,53611,53613],{"class":244,"line":7120},[6995,53608,7229],{"class":7006},[6995,53610,7024],{"class":7000},[6995,53612,7180],{"class":7006},[6995,53614,7030],{"class":7000},[6995,53616,53617,53619,53621,53623],{"class":244,"line":7133},[6995,53618,21006],{"class":7006},[6995,53620,23988],{"class":7000},[6995,53622,23991],{"class":7012},[6995,53624,7030],{"class":7000},[6995,53626,53627,53629,53631,53633],{"class":244,"line":7146},[6995,53628,20995],{"class":7006},[6995,53630,7024],{"class":7000},[6995,53632,24002],{"class":7012},[6995,53634,7030],{"class":7000},[6995,53636,53637,53639,53641,53643],{"class":244,"line":7159},[6995,53638,8467],{"class":7006},[6995,53640,23988],{"class":7000},[6995,53642,24013],{"class":7006},[6995,53644,7030],{"class":7000},[6995,53646,53647,53649,53651],{"class":244,"line":7172},[6995,53648,20983],{"class":7006},[6995,53650,23988],{"class":7000},[6995,53652,24024],{"class":7012},[6995,53654,53655],{"class":244,"line":7185},[6995,53656,7615],{"class":7000},[6995,53658,53659],{"class":244,"line":7198},[6995,53660,7047],{"class":7000},[852,53662,53663,53667,53671,53675,53679,53683],{},[59,53664,53665,24040],{},[611,53666,24039],{},[59,53668,53669,24046],{},[611,53670,24045],{},[59,53672,53673,24052],{},[611,53674,24051],{},[59,53676,53677,24057],{},[611,53678,8404],{},[59,53680,53681,24062],{},[611,53682,6869],{},[59,53684,53685,24067],{},[611,53686,12547],{},[34,53688,53689,24072],{},[37,53690,22074],{},[41,53692,18385],{"id":18385},[34,53694,24077],{},[34,53696,24080],{},[34,53698,53699],{},[611,53700,6986],{},[616,53702,53703],{"className":6989,"code":24087,"language":6991,"meta":14,"style":14},[611,53704,53705,53709,53719,53729,53739,53745,53749,53767,53775,53779],{"__ignoreMap":14},[6995,53706,53707],{"class":244,"line":6997},[6995,53708,7001],{"class":7000},[6995,53710,53711,53713,53715,53717],{"class":244,"line":15},[6995,53712,7007],{"class":7006},[6995,53714,7024],{"class":7000},[6995,53716,7013],{"class":7012},[6995,53718,7016],{"class":7000},[6995,53720,53721,53723,53725,53727],{"class":244,"line":154},[6995,53722,7021],{"class":7006},[6995,53724,7024],{"class":7000},[6995,53726,7511],{"class":7006},[6995,53728,7030],{"class":7000},[6995,53730,53731,53733,53735,53737],{"class":244,"line":7033},[6995,53732,7036],{"class":7006},[6995,53734,7024],{"class":7000},[6995,53736,24122],{"class":7012},[6995,53738,7016],{"class":7000},[6995,53740,53741,53743],{"class":244,"line":7044},[6995,53742,7529],{"class":7006},[6995,53744,7532],{"class":7000},[6995,53746,53747],{"class":244,"line":7107},[6995,53748,7537],{"class":7000},[6995,53750,53751,53753,53755,53757,53759,53761,53763,53765],{"class":244,"line":7120},[6995,53752,24139],{"class":7006},[6995,53754,24142],{"class":7000},[6995,53756,7167],{"class":7006},[6995,53758,2231],{"class":7000},[6995,53760,7167],{"class":7006},[6995,53762,2231],{"class":7000},[6995,53764,7167],{"class":7006},[6995,53766,19906],{"class":7000},[6995,53768,53769,53771,53773],{"class":244,"line":7133},[6995,53770,24159],{"class":7006},[6995,53772,7024],{"class":7000},[6995,53774,24164],{"class":7012},[6995,53776,53777],{"class":244,"line":7146},[6995,53778,7615],{"class":7000},[6995,53780,53781],{"class":244,"line":7159},[6995,53782,7047],{"class":7000},[34,53784,24175],{},[34,53786,53787],{},[611,53788,6986],{},[616,53790,53791],{"className":6989,"code":24182,"language":6991,"meta":14,"style":14},[611,53792,53793,53797,53807,53817,53827,53833,53837,53847,53855,53859],{"__ignoreMap":14},[6995,53794,53795],{"class":244,"line":6997},[6995,53796,7001],{"class":7000},[6995,53798,53799,53801,53803,53805],{"class":244,"line":15},[6995,53800,7007],{"class":7006},[6995,53802,7024],{"class":7000},[6995,53804,7013],{"class":7012},[6995,53806,7016],{"class":7000},[6995,53808,53809,53811,53813,53815],{"class":244,"line":154},[6995,53810,7021],{"class":7006},[6995,53812,7024],{"class":7000},[6995,53814,7511],{"class":7006},[6995,53816,7030],{"class":7000},[6995,53818,53819,53821,53823,53825],{"class":244,"line":7033},[6995,53820,7036],{"class":7006},[6995,53822,7024],{"class":7000},[6995,53824,24122],{"class":7012},[6995,53826,7016],{"class":7000},[6995,53828,53829,53831],{"class":244,"line":7044},[6995,53830,7529],{"class":7006},[6995,53832,7532],{"class":7000},[6995,53834,53835],{"class":244,"line":7107},[6995,53836,7537],{"class":7000},[6995,53838,53839,53841,53843,53845],{"class":244,"line":7120},[6995,53840,24233],{"class":7006},[6995,53842,7024],{"class":7000},[6995,53844,24238],{"class":7012},[6995,53846,7030],{"class":7000},[6995,53848,53849,53851,53853],{"class":244,"line":7133},[6995,53850,24159],{"class":7006},[6995,53852,7024],{"class":7000},[6995,53854,24164],{"class":7012},[6995,53856,53857],{"class":244,"line":7146},[6995,53858,7615],{"class":7000},[6995,53860,53861],{"class":244,"line":7159},[6995,53862,7047],{"class":7000},[852,53864,53865,53869,53873,53877],{},[59,53866,53867,24263],{},[611,53868,6411],{},[59,53870,53871,24269],{},[611,53872,24268],{},[59,53874,53875,24275],{},[611,53876,24274],{},[59,53878,53879,24281,53881,24284,53883,24288,53885,24291,53887,181],{},[611,53880,24280],{},[611,53882,8689],{},[611,53884,24287],{},[175,53886,18396],{"href":18395},[611,53888,8689],{},[34,53890,53891,24298,53893,181],{},[611,53892,6411],{},[611,53894,24268],{},[34,53896,53897],{},[611,53898,7052],{},[616,53900,53901],{"className":6989,"code":24307,"language":6991,"meta":14,"style":14},[611,53902,53903,53907,53917,53927,53933,53981,54007,54025,54029],{"__ignoreMap":14},[6995,53904,53905],{"class":244,"line":6997},[6995,53906,7001],{"class":7000},[6995,53908,53909,53911,53913,53915],{"class":244,"line":15},[6995,53910,7066],{"class":7006},[6995,53912,7024],{"class":7000},[6995,53914,7071],{"class":7006},[6995,53916,7030],{"class":7000},[6995,53918,53919,53921,53923,53925],{"class":244,"line":154},[6995,53920,7078],{"class":7006},[6995,53922,7024],{"class":7000},[6995,53924,7013],{"class":7012},[6995,53926,7030],{"class":7000},[6995,53928,53929,53931],{"class":244,"line":7033},[6995,53930,7089],{"class":7006},[6995,53932,7092],{"class":7000},[6995,53934,53935,53937,53939,53941,53943,53945,53947,53949,53951,53953,53955,53957,53959,53961,53963,53965,53967,53969,53971,53973,53975,53977,53979],{"class":244,"line":7044},[6995,53936,24344],{"class":7006},[6995,53938,7024],{"class":7000},[6995,53940,24349],{"class":7012},[6995,53942,24352],{"class":7006},[6995,53944,24355],{"class":7012},[6995,53946,24352],{"class":7006},[6995,53948,24360],{"class":7012},[6995,53950,24352],{"class":7006},[6995,53952,24365],{"class":7012},[6995,53954,24352],{"class":7006},[6995,53956,7024],{"class":7012},[6995,53958,24352],{"class":7006},[6995,53960,24374],{"class":7012},[6995,53962,24352],{"class":7006},[6995,53964,17176],{"class":7012},[6995,53966,24352],{"class":7006},[6995,53968,24383],{"class":7012},[6995,53970,24352],{"class":7006},[6995,53972,24388],{"class":7012},[6995,53974,24352],{"class":7006},[6995,53976,24365],{"class":7012},[6995,53978,24352],{"class":7006},[6995,53980,7673],{"class":7012},[6995,53982,53983,53985,53987,53989,53991,53993,53995,53997,53999,54001,54003,54005],{"class":244,"line":7107},[6995,53984,24401],{"class":7006},[6995,53986,24404],{"class":7012},[6995,53988,24352],{"class":7006},[6995,53990,17176],{"class":7012},[6995,53992,24352],{"class":7006},[6995,53994,24383],{"class":7012},[6995,53996,24352],{"class":7006},[6995,53998,24417],{"class":7012},[6995,54000,24352],{"class":7006},[6995,54002,24365],{"class":7012},[6995,54004,24352],{"class":7006},[6995,54006,7673],{"class":7012},[6995,54008,54009,54011,54013,54015,54017,54019,54021,54023],{"class":244,"line":7120},[6995,54010,24401],{"class":7006},[6995,54012,24432],{"class":7012},[6995,54014,24352],{"class":7006},[6995,54016,17176],{"class":7012},[6995,54018,24352],{"class":7006},[6995,54020,24383],{"class":7012},[6995,54022,24352],{"class":7006},[6995,54024,24445],{"class":7012},[6995,54026,54027],{"class":244,"line":7133},[6995,54028,7467],{"class":7000},[6995,54030,54031],{"class":244,"line":7146},[6995,54032,7047],{"class":7000},[852,54034,54035,54039,54043],{},[59,54036,54037,24460],{},[611,54038,16228],{},[59,54040,54041,24465],{},[611,54042,24287],{},[59,54044,54045,24471,54047],{},[611,54046,24470],{},[175,54048,18396],{"href":18395},[48,54050,24484],{"id":24483},[34,54052,24487],{},[48,54054,24491],{"id":24490},[34,54056,31597,54057,10670,54059,31602],{},[611,54058,6411],{},[611,54060,24268],{},[34,54062,54063],{},[611,54064,6986],{},[616,54066,54067],{"className":6989,"code":24509,"language":6991,"meta":14,"style":14},[611,54068,54069,54073,54083,54093,54103,54109,54119,54127,54131],{"__ignoreMap":14},[6995,54070,54071],{"class":244,"line":6997},[6995,54072,7001],{"class":7000},[6995,54074,54075,54077,54079,54081],{"class":244,"line":15},[6995,54076,7007],{"class":7006},[6995,54078,7024],{"class":7000},[6995,54080,7013],{"class":7012},[6995,54082,7030],{"class":7000},[6995,54084,54085,54087,54089,54091],{"class":244,"line":154},[6995,54086,7021],{"class":7006},[6995,54088,7024],{"class":7000},[6995,54090,7071],{"class":7006},[6995,54092,7030],{"class":7000},[6995,54094,54095,54097,54099,54101],{"class":244,"line":7033},[6995,54096,7036],{"class":7006},[6995,54098,7024],{"class":7000},[6995,54100,24122],{"class":7012},[6995,54102,7030],{"class":7000},[6995,54104,54105,54107],{"class":244,"line":7044},[6995,54106,7529],{"class":7006},[6995,54108,7092],{"class":7000},[6995,54110,54111,54113,54115,54117],{"class":244,"line":7107},[6995,54112,24233],{"class":7006},[6995,54114,7024],{"class":7000},[6995,54116,24560],{"class":7012},[6995,54118,7030],{"class":7000},[6995,54120,54121,54123,54125],{"class":244,"line":7120},[6995,54122,24159],{"class":7006},[6995,54124,7024],{"class":7000},[6995,54126,24571],{"class":7012},[6995,54128,54129],{"class":244,"line":7133},[6995,54130,7615],{"class":7000},[6995,54132,54133],{"class":244,"line":7146},[6995,54134,7047],{"class":7000},[34,54136,54137],{},[611,54138,7052],{},[616,54140,54141],{"className":6989,"code":24586,"language":6991,"meta":14,"style":14},[611,54142,54143,54147,54157,54167,54173,54197,54201],{"__ignoreMap":14},[6995,54144,54145],{"class":244,"line":6997},[6995,54146,7001],{"class":7000},[6995,54148,54149,54151,54153,54155],{"class":244,"line":15},[6995,54150,7066],{"class":7006},[6995,54152,7024],{"class":7000},[6995,54154,7071],{"class":7006},[6995,54156,7030],{"class":7000},[6995,54158,54159,54161,54163,54165],{"class":244,"line":154},[6995,54160,7078],{"class":7006},[6995,54162,7024],{"class":7000},[6995,54164,7013],{"class":7012},[6995,54166,7030],{"class":7000},[6995,54168,54169,54171],{"class":244,"line":7033},[6995,54170,7089],{"class":7006},[6995,54172,7092],{"class":7000},[6995,54174,54175,54177,54179,54181,54183,54185,54187,54189,54191,54193,54195],{"class":244,"line":7044},[6995,54176,24344],{"class":7006},[6995,54178,7024],{"class":7000},[6995,54180,24349],{"class":7012},[6995,54182,24352],{"class":7006},[6995,54184,15764],{"class":7012},[6995,54186,24352],{"class":7006},[6995,54188,7024],{"class":7012},[6995,54190,24352],{"class":7006},[6995,54192,24639],{"class":7012},[6995,54194,24352],{"class":7006},[6995,54196,24644],{"class":7012},[6995,54198,54199],{"class":244,"line":7107},[6995,54200,7467],{"class":7000},[6995,54202,54203],{"class":244,"line":7120},[6995,54204,7047],{"class":7000},[48,54206,31750],{"id":31749},[34,54208,31753,54209,31756,54211,31760],{},[611,54210,18385],{},[611,54212,31759],{},[852,54214,54215,54219],{},[59,54216,54217,31767],{},[611,54218,25535],{},[59,54220,54221,31772,54223,31775,54225,31778],{},[611,54222,25538],{},[611,54224,18385],{},[611,54226,25538],{},[41,54228,18396],{"id":18396},[34,54230,24657],{},[34,54232,54233],{},[611,54234,6986],{},[616,54236,54237],{"className":6989,"code":24664,"language":6991,"meta":14,"style":14},[611,54238,54239,54243,54253,54263,54273,54279,54297,54301],{"__ignoreMap":14},[6995,54240,54241],{"class":244,"line":6997},[6995,54242,7001],{"class":7000},[6995,54244,54245,54247,54249,54251],{"class":244,"line":15},[6995,54246,7007],{"class":7006},[6995,54248,7024],{"class":7000},[6995,54250,7013],{"class":7012},[6995,54252,7030],{"class":7000},[6995,54254,54255,54257,54259,54261],{"class":244,"line":154},[6995,54256,7021],{"class":7006},[6995,54258,7024],{"class":7000},[6995,54260,7071],{"class":7006},[6995,54262,7030],{"class":7000},[6995,54264,54265,54267,54269,54271],{"class":244,"line":7033},[6995,54266,7036],{"class":7006},[6995,54268,7024],{"class":7000},[6995,54270,24699],{"class":7012},[6995,54272,7030],{"class":7000},[6995,54274,54275,54277],{"class":244,"line":7044},[6995,54276,7529],{"class":7006},[6995,54278,7092],{"class":7000},[6995,54280,54281,54283,54285,54287,54289,54291,54293,54295],{"class":244,"line":7107},[6995,54282,24712],{"class":7006},[6995,54284,24142],{"class":7000},[6995,54286,7167],{"class":7006},[6995,54288,2231],{"class":7000},[6995,54290,7167],{"class":7006},[6995,54292,2231],{"class":7000},[6995,54294,7167],{"class":7006},[6995,54296,13671],{"class":7000},[6995,54298,54299],{"class":244,"line":7120},[6995,54300,7615],{"class":7000},[6995,54302,54303],{"class":244,"line":7133},[6995,54304,7047],{"class":7000},[852,54306,54307],{},[59,54308,54309,24741,54311,24744],{},[611,54310,15730],{},[175,54312,18385],{"href":18384},[34,54314,54315],{},[611,54316,7052],{},[616,54318,54319],{"className":6989,"code":24751,"language":6991,"meta":14,"style":14},[611,54320,54321,54325,54335,54345,54351,54359,54363],{"__ignoreMap":14},[6995,54322,54323],{"class":244,"line":6997},[6995,54324,7001],{"class":7000},[6995,54326,54327,54329,54331,54333],{"class":244,"line":15},[6995,54328,7066],{"class":7006},[6995,54330,7024],{"class":7000},[6995,54332,7071],{"class":7006},[6995,54334,7030],{"class":7000},[6995,54336,54337,54339,54341,54343],{"class":244,"line":154},[6995,54338,7078],{"class":7006},[6995,54340,7024],{"class":7000},[6995,54342,7013],{"class":7012},[6995,54344,7030],{"class":7000},[6995,54346,54347,54349],{"class":244,"line":7033},[6995,54348,7089],{"class":7006},[6995,54350,7092],{"class":7000},[6995,54352,54353,54355,54357],{"class":244,"line":7044},[6995,54354,24788],{"class":7006},[6995,54356,7024],{"class":7000},[6995,54358,24793],{"class":7012},[6995,54360,54361],{"class":244,"line":7107},[6995,54362,7467],{"class":7000},[6995,54364,54365],{"class":244,"line":7120},[6995,54366,7047],{"class":7000},[852,54368,54369],{},[59,54370,54371,24808],{},[611,54372,24287],{},[41,54374,6940],{"id":6940},[34,54376,24813,54377],{},[611,54378,8404],{},[34,54380,54381],{},[611,54382,6986],{},[616,54384,54385],{"className":6989,"code":8414,"language":6991,"meta":14,"style":14},[611,54386,54387,54391,54401,54411,54421,54427,54431,54441,54451,54461,54469,54473],{"__ignoreMap":14},[6995,54388,54389],{"class":244,"line":6997},[6995,54390,7001],{"class":7000},[6995,54392,54393,54395,54397,54399],{"class":244,"line":15},[6995,54394,7007],{"class":7006},[6995,54396,5102],{"class":7000},[6995,54398,7013],{"class":7012},[6995,54400,7016],{"class":7000},[6995,54402,54403,54405,54407,54409],{"class":244,"line":154},[6995,54404,7021],{"class":7006},[6995,54406,7024],{"class":7000},[6995,54408,8439],{"class":7006},[6995,54410,7030],{"class":7000},[6995,54412,54413,54415,54417,54419],{"class":244,"line":7033},[6995,54414,7036],{"class":7006},[6995,54416,5102],{"class":7000},[6995,54418,8450],{"class":7012},[6995,54420,7016],{"class":7000},[6995,54422,54423,54425],{"class":244,"line":7044},[6995,54424,7529],{"class":7006},[6995,54426,7532],{"class":7000},[6995,54428,54429],{"class":244,"line":7107},[6995,54430,7537],{"class":7000},[6995,54432,54433,54435,54437,54439],{"class":244,"line":7120},[6995,54434,8467],{"class":7006},[6995,54436,7746],{"class":7000},[6995,54438,8472],{"class":7006},[6995,54440,7030],{"class":7000},[6995,54442,54443,54445,54447,54449],{"class":244,"line":7133},[6995,54444,7229],{"class":7006},[6995,54446,7024],{"class":7000},[6995,54448,7511],{"class":7006},[6995,54450,7030],{"class":7000},[6995,54452,54453,54455,54457,54459],{"class":244,"line":7146},[6995,54454,7554],{"class":7006},[6995,54456,7024],{"class":7000},[6995,54458,8493],{"class":7006},[6995,54460,7030],{"class":7000},[6995,54462,54463,54465,54467],{"class":244,"line":7159},[6995,54464,8500],{"class":7006},[6995,54466,7024],{"class":7000},[6995,54468,8505],{"class":7006},[6995,54470,54471],{"class":244,"line":7172},[6995,54472,7615],{"class":7000},[6995,54474,54475],{"class":244,"line":7185},[6995,54476,7047],{"class":7000},[34,54478,54479],{},[611,54480,7052],{},[616,54482,54483],{"className":6989,"code":8520,"language":6991,"meta":14,"style":14},[611,54484,54485,54489,54499,54509,54515,54519,54529,54539,54549,54559,54569,54577,54581],{"__ignoreMap":14},[6995,54486,54487],{"class":244,"line":6997},[6995,54488,7001],{"class":7000},[6995,54490,54491,54493,54495,54497],{"class":244,"line":15},[6995,54492,7007],{"class":7006},[6995,54494,5102],{"class":7000},[6995,54496,7013],{"class":7012},[6995,54498,7016],{"class":7000},[6995,54500,54501,54503,54505,54507],{"class":244,"line":154},[6995,54502,7021],{"class":7006},[6995,54504,7024],{"class":7000},[6995,54506,8439],{"class":7006},[6995,54508,7030],{"class":7000},[6995,54510,54511,54513],{"class":244,"line":7033},[6995,54512,7732],{"class":7006},[6995,54514,7532],{"class":7000},[6995,54516,54517],{"class":244,"line":7044},[6995,54518,7537],{"class":7000},[6995,54520,54521,54523,54525,54527],{"class":244,"line":7107},[6995,54522,8561],{"class":7006},[6995,54524,7024],{"class":7000},[6995,54526,8566],{"class":7006},[6995,54528,7030],{"class":7000},[6995,54530,54531,54533,54535,54537],{"class":244,"line":7120},[6995,54532,8573],{"class":7006},[6995,54534,7024],{"class":7000},[6995,54536,8578],{"class":7012},[6995,54538,7030],{"class":7000},[6995,54540,54541,54543,54545,54547],{"class":244,"line":7133},[6995,54542,8585],{"class":7006},[6995,54544,7024],{"class":7000},[6995,54546,8566],{"class":7006},[6995,54548,7030],{"class":7000},[6995,54550,54551,54553,54555,54557],{"class":244,"line":7146},[6995,54552,8596],{"class":7006},[6995,54554,7024],{"class":7000},[6995,54556,8578],{"class":7012},[6995,54558,7030],{"class":7000},[6995,54560,54561,54563,54565,54567],{"class":244,"line":7159},[6995,54562,8607],{"class":7006},[6995,54564,7024],{"class":7000},[6995,54566,8612],{"class":7006},[6995,54568,7030],{"class":7000},[6995,54570,54571,54573,54575],{"class":244,"line":7172},[6995,54572,8619],{"class":7006},[6995,54574,7024],{"class":7000},[6995,54576,8624],{"class":7012},[6995,54578,54579],{"class":244,"line":7185},[6995,54580,7615],{"class":7000},[6995,54582,54583],{"class":244,"line":7198},[6995,54584,7047],{"class":7000},[34,54586,8635],{},[852,54588,54589,54593,54597,54601,54607,54617,54621],{},[59,54590,54591,8642],{},[611,54592,8404],{},[59,54594,54595,25034],{},[611,54596,6869],{},[59,54598,54599,8652],{},[611,54600,8147],{},[59,54602,54603,8658,54605],{},[611,54604,8657],{},[611,54606,6869],{},[59,54608,54609,8666,54611,1475,54613,8671,54615,8675],{},[611,54610,8665],{},[611,54612,8657],{},[611,54614,8665],{},[611,54616,8674],{},[59,54618,54619,8681],{},[611,54620,8680],{},[59,54622,54623,98,54625,8690],{},[611,54624,8686],{},[611,54626,8689],{},[41,54628,18406],{"id":18406},[34,54630,25069],{},[34,54632,54633],{},[611,54634,6986],{},[616,54636,54637],{"className":6989,"code":25076,"language":6991,"meta":14,"style":14},[611,54638,54639,54643,54653,54663,54673,54679,54683,54691,54695],{"__ignoreMap":14},[6995,54640,54641],{"class":244,"line":6997},[6995,54642,7001],{"class":7000},[6995,54644,54645,54647,54649,54651],{"class":244,"line":15},[6995,54646,7007],{"class":7006},[6995,54648,7024],{"class":7000},[6995,54650,7013],{"class":7012},[6995,54652,7016],{"class":7000},[6995,54654,54655,54657,54659,54661],{"class":244,"line":154},[6995,54656,7021],{"class":7006},[6995,54658,7024],{"class":7000},[6995,54660,7511],{"class":7006},[6995,54662,7030],{"class":7000},[6995,54664,54665,54667,54669,54671],{"class":244,"line":7033},[6995,54666,7036],{"class":7006},[6995,54668,7024],{"class":7000},[6995,54670,25111],{"class":7012},[6995,54672,7016],{"class":7000},[6995,54674,54675,54677],{"class":244,"line":7044},[6995,54676,7529],{"class":7006},[6995,54678,7532],{"class":7000},[6995,54680,54681],{"class":244,"line":7107},[6995,54682,7537],{"class":7000},[6995,54684,54685,54687,54689],{"class":244,"line":7120},[6995,54686,21741],{"class":7006},[6995,54688,7024],{"class":7000},[6995,54690,25132],{"class":7006},[6995,54692,54693],{"class":244,"line":7133},[6995,54694,7615],{"class":7000},[6995,54696,54697],{"class":244,"line":7146},[6995,54698,7047],{"class":7000},[852,54700,54701],{},[59,54702,54703,25147],{},[611,54704,12542],{},[34,54706,54707],{},[611,54708,7052],{},[616,54710,54711],{"className":6989,"code":25154,"language":6991,"meta":14,"style":14},[611,54712,54713,54717,54727,54737,54743,54747,54757,54767,54777,54787,54797,54807,54817,54827,54837,54847,54855,54859],{"__ignoreMap":14},[6995,54714,54715],{"class":244,"line":6997},[6995,54716,7001],{"class":7000},[6995,54718,54719,54721,54723,54725],{"class":244,"line":15},[6995,54720,7007],{"class":7006},[6995,54722,5102],{"class":7000},[6995,54724,7013],{"class":7012},[6995,54726,7016],{"class":7000},[6995,54728,54729,54731,54733,54735],{"class":244,"line":154},[6995,54730,7021],{"class":7006},[6995,54732,7024],{"class":7000},[6995,54734,8439],{"class":7006},[6995,54736,7030],{"class":7000},[6995,54738,54739,54741],{"class":244,"line":7033},[6995,54740,7732],{"class":7006},[6995,54742,7532],{"class":7000},[6995,54744,54745],{"class":244,"line":7044},[6995,54746,7537],{"class":7000},[6995,54748,54749,54751,54753,54755],{"class":244,"line":7107},[6995,54750,25195],{"class":7006},[6995,54752,7024],{"class":7000},[6995,54754,25200],{"class":7012},[6995,54756,7030],{"class":7000},[6995,54758,54759,54761,54763,54765],{"class":244,"line":7120},[6995,54760,25207],{"class":7006},[6995,54762,7024],{"class":7000},[6995,54764,25212],{"class":7012},[6995,54766,7030],{"class":7000},[6995,54768,54769,54771,54773,54775],{"class":244,"line":7133},[6995,54770,25219],{"class":7006},[6995,54772,7024],{"class":7000},[6995,54774,25224],{"class":7012},[6995,54776,7030],{"class":7000},[6995,54778,54779,54781,54783,54785],{"class":244,"line":7146},[6995,54780,22259],{"class":7006},[6995,54782,7024],{"class":7000},[6995,54784,25235],{"class":7006},[6995,54786,7030],{"class":7000},[6995,54788,54789,54791,54793,54795],{"class":244,"line":7159},[6995,54790,21741],{"class":7006},[6995,54792,7024],{"class":7000},[6995,54794,11001],{"class":7006},[6995,54796,7030],{"class":7000},[6995,54798,54799,54801,54803,54805],{"class":244,"line":7172},[6995,54800,25252],{"class":7006},[6995,54802,7024],{"class":7000},[6995,54804,25257],{"class":7012},[6995,54806,7030],{"class":7000},[6995,54808,54809,54811,54813,54815],{"class":244,"line":7185},[6995,54810,25264],{"class":7006},[6995,54812,7024],{"class":7000},[6995,54814,25269],{"class":7006},[6995,54816,7030],{"class":7000},[6995,54818,54819,54821,54823,54825],{"class":244,"line":7198},[6995,54820,25276],{"class":7006},[6995,54822,7024],{"class":7000},[6995,54824,25281],{"class":7012},[6995,54826,7030],{"class":7000},[6995,54828,54829,54831,54833,54835],{"class":244,"line":7211},[6995,54830,25288],{"class":7006},[6995,54832,7024],{"class":7000},[6995,54834,25293],{"class":7012},[6995,54836,7030],{"class":7000},[6995,54838,54839,54841,54843,54845],{"class":244,"line":7220},[6995,54840,25300],{"class":7006},[6995,54842,7024],{"class":7000},[6995,54844,25305],{"class":7012},[6995,54846,7030],{"class":7000},[6995,54848,54849,54851,54853],{"class":244,"line":7226},[6995,54850,25312],{"class":7006},[6995,54852,7024],{"class":7000},[6995,54854,25317],{"class":7006},[6995,54856,54857],{"class":244,"line":7238},[6995,54858,7615],{"class":7000},[6995,54860,54861],{"class":244,"line":7250},[6995,54862,7047],{"class":7000},[852,54864,54865,54869,54873,54877,54881,54885,54889,54893,54897,54901,54905],{},[59,54866,54867,25333],{},[611,54868,25332],{},[59,54870,54871,25339],{},[611,54872,25338],{},[59,54874,54875,25344],{},[611,54876,14358],{},[59,54878,54879,25349],{},[611,54880,16328],{},[59,54882,54883,25354],{},[611,54884,12542],{},[59,54886,54887,25360],{},[611,54888,25359],{},[59,54890,54891,25366],{},[611,54892,25365],{},[59,54894,54895,25372],{},[611,54896,25371],{},[59,54898,54899,25378],{},[611,54900,25377],{},[59,54902,54903,25384],{},[611,54904,25383],{},[59,54906,54907,25390],{},[611,54908,25389],{},[41,54910,25472],{"id":25472},[34,54912,32469],{},[34,54914,54915],{},[611,54916,6986],{},[616,54918,54919],{"className":6989,"code":32476,"language":6991,"meta":14,"style":14},[611,54920,54921,54925,54935,54945,54953],{"__ignoreMap":14},[6995,54922,54923],{"class":244,"line":6997},[6995,54924,7001],{"class":7000},[6995,54926,54927,54929,54931,54933],{"class":244,"line":15},[6995,54928,7007],{"class":7006},[6995,54930,7024],{"class":7000},[6995,54932,7013],{"class":7012},[6995,54934,7016],{"class":7000},[6995,54936,54937,54939,54941,54943],{"class":244,"line":154},[6995,54938,7021],{"class":7006},[6995,54940,7024],{"class":7000},[6995,54942,6679],{"class":7006},[6995,54944,7030],{"class":7000},[6995,54946,54947,54949,54951],{"class":244,"line":7033},[6995,54948,7036],{"class":7006},[6995,54950,7024],{"class":7000},[6995,54952,32511],{"class":7012},[6995,54954,54955],{"class":244,"line":7044},[6995,54956,7047],{"class":7000},[34,54958,54959],{},[611,54960,7052],{},[616,54962,54963],{"className":6989,"code":32522,"language":6991,"meta":14,"style":14},[611,54964,54965,54969,54979,54989,54995,55005,55015,55025,55035,55045,55055,55065,55075,55083,55087],{"__ignoreMap":14},[6995,54966,54967],{"class":244,"line":6997},[6995,54968,7001],{"class":7000},[6995,54970,54971,54973,54975,54977],{"class":244,"line":15},[6995,54972,7066],{"class":7006},[6995,54974,7024],{"class":7000},[6995,54976,6679],{"class":7006},[6995,54978,7030],{"class":7000},[6995,54980,54981,54983,54985,54987],{"class":244,"line":154},[6995,54982,7078],{"class":7006},[6995,54984,7024],{"class":7000},[6995,54986,7013],{"class":7012},[6995,54988,7030],{"class":7000},[6995,54990,54991,54993],{"class":244,"line":7033},[6995,54992,7089],{"class":7006},[6995,54994,7092],{"class":7000},[6995,54996,54997,54999,55001,55003],{"class":244,"line":7044},[6995,54998,32559],{"class":7006},[6995,55000,7024],{"class":7000},[6995,55002,32564],{"class":7012},[6995,55004,7030],{"class":7000},[6995,55006,55007,55009,55011,55013],{"class":244,"line":7107},[6995,55008,32571],{"class":7006},[6995,55010,7024],{"class":7000},[6995,55012,7027],{"class":7006},[6995,55014,7030],{"class":7000},[6995,55016,55017,55019,55021,55023],{"class":244,"line":7120},[6995,55018,32582],{"class":7006},[6995,55020,7024],{"class":7000},[6995,55022,6679],{"class":7006},[6995,55024,7030],{"class":7000},[6995,55026,55027,55029,55031,55033],{"class":244,"line":7133},[6995,55028,32593],{"class":7006},[6995,55030,7024],{"class":7000},[6995,55032,32598],{"class":7012},[6995,55034,7030],{"class":7000},[6995,55036,55037,55039,55041,55043],{"class":244,"line":7146},[6995,55038,32605],{"class":7006},[6995,55040,7024],{"class":7000},[6995,55042,32610],{"class":7012},[6995,55044,7030],{"class":7000},[6995,55046,55047,55049,55051,55053],{"class":244,"line":7159},[6995,55048,32617],{"class":7006},[6995,55050,7024],{"class":7000},[6995,55052,32622],{"class":7012},[6995,55054,7030],{"class":7000},[6995,55056,55057,55059,55061,55063],{"class":244,"line":7172},[6995,55058,32629],{"class":7006},[6995,55060,7024],{"class":7000},[6995,55062,7027],{"class":7006},[6995,55064,7030],{"class":7000},[6995,55066,55067,55069,55071,55073],{"class":244,"line":7185},[6995,55068,32640],{"class":7006},[6995,55070,7024],{"class":7000},[6995,55072,6679],{"class":7006},[6995,55074,7030],{"class":7000},[6995,55076,55077,55079,55081],{"class":244,"line":7198},[6995,55078,32651],{"class":7006},[6995,55080,7024],{"class":7000},[6995,55082,32656],{"class":7006},[6995,55084,55085],{"class":244,"line":7211},[6995,55086,7467],{"class":7000},[6995,55088,55089],{"class":244,"line":7220},[6995,55090,7047],{"class":7000},[852,55092,55093,55097],{},[59,55094,55095,32672],{},[611,55096,32671],{},[59,55098,55099,32678,55101,8764],{},[611,55100,32677],{},[175,55102,32681],{"href":32681,"rel":55103},[179],[41,55105,35407],{"id":35407},[34,55107,43452],{},[34,55109,55110],{},[611,55111,6986],{},[616,55113,55114],{"className":6989,"code":43459,"language":6991,"meta":14,"style":14},[611,55115,55116,55120,55130,55140,55150,55156,55160,55178,55188,55196,55200],{"__ignoreMap":14},[6995,55117,55118],{"class":244,"line":6997},[6995,55119,7001],{"class":7000},[6995,55121,55122,55124,55126,55128],{"class":244,"line":15},[6995,55123,7007],{"class":7006},[6995,55125,5102],{"class":7000},[6995,55127,7013],{"class":7012},[6995,55129,7016],{"class":7000},[6995,55131,55132,55134,55136,55138],{"class":244,"line":154},[6995,55133,7021],{"class":7006},[6995,55135,7024],{"class":7000},[6995,55137,6679],{"class":7006},[6995,55139,7030],{"class":7000},[6995,55141,55142,55144,55146,55148],{"class":244,"line":7033},[6995,55143,7036],{"class":7006},[6995,55145,7024],{"class":7000},[6995,55147,43494],{"class":7012},[6995,55149,7016],{"class":7000},[6995,55151,55152,55154],{"class":244,"line":7044},[6995,55153,7529],{"class":7006},[6995,55155,7532],{"class":7000},[6995,55157,55158],{"class":244,"line":7107},[6995,55159,7537],{"class":7000},[6995,55161,55162,55164,55166,55168,55170,55172,55174,55176],{"class":244,"line":7120},[6995,55163,24712],{"class":7006},[6995,55165,19886],{"class":7000},[6995,55167,6679],{"class":7006},[6995,55169,2231],{"class":7000},[6995,55171,7511],{"class":7006},[6995,55173,2231],{"class":7000},[6995,55175,11136],{"class":7006},[6995,55177,19906],{"class":7000},[6995,55179,55180,55182,55184,55186],{"class":244,"line":7133},[6995,55181,43529],{"class":7006},[6995,55183,43532],{"class":7000},[6995,55185,8689],{"class":7006},[6995,55187,7030],{"class":7000},[6995,55189,55190,55192,55194],{"class":244,"line":7146},[6995,55191,43541],{"class":7006},[6995,55193,7024],{"class":7000},[6995,55195,43546],{"class":7006},[6995,55197,55198],{"class":244,"line":7159},[6995,55199,7615],{"class":7000},[6995,55201,55202],{"class":244,"line":7172},[6995,55203,7047],{"class":7000},[852,55205,55206,55210,55218],{},[59,55207,55208,43561],{},[611,55209,15730],{},[59,55211,55212,43567,55214,43570,55216,181],{},[611,55213,43566],{},[611,55215,8689],{},[611,55217,8689],{},[59,55219,55220,43578],{},[611,55221,43577],{},[34,55223,55224],{},[611,55225,7052],{},[616,55227,55228],{"className":6989,"code":43585,"language":6991,"meta":14,"style":14},[611,55229,55230,55234,55244,55254,55260,55264,55274,55282,55286],{"__ignoreMap":14},[6995,55231,55232],{"class":244,"line":6997},[6995,55233,7001],{"class":7000},[6995,55235,55236,55238,55240,55242],{"class":244,"line":15},[6995,55237,7007],{"class":7006},[6995,55239,5102],{"class":7000},[6995,55241,7013],{"class":7012},[6995,55243,7016],{"class":7000},[6995,55245,55246,55248,55250,55252],{"class":244,"line":154},[6995,55247,7021],{"class":7006},[6995,55249,7024],{"class":7000},[6995,55251,6679],{"class":7006},[6995,55253,7030],{"class":7000},[6995,55255,55256,55258],{"class":244,"line":7033},[6995,55257,7732],{"class":7006},[6995,55259,11893],{"class":7000},[6995,55261,55262],{"class":244,"line":7044},[6995,55263,7537],{"class":7000},[6995,55265,55266,55268,55270,55272],{"class":244,"line":7107},[6995,55267,43626],{"class":7006},[6995,55269,7746],{"class":7000},[6995,55271,43631],{"class":7012},[6995,55273,7030],{"class":7000},[6995,55275,55276,55278,55280],{"class":244,"line":7120},[6995,55277,43638],{"class":7006},[6995,55279,7024],{"class":7000},[6995,55281,8505],{"class":7006},[6995,55283,55284],{"class":244,"line":7133},[6995,55285,7615],{"class":7000},[6995,55287,55288],{"class":244,"line":7146},[6995,55289,7047],{"class":7000},[852,55291,55292,55296],{},[59,55293,55294,43657],{},[611,55295,1149],{},[59,55297,55298,43663],{},[611,55299,43662],{},[41,55301,35417],{"id":35417},[34,55303,43668],{},[34,55305,55306],{},[611,55307,6986],{},[616,55309,55310],{"className":6989,"code":43675,"language":6991,"meta":14,"style":14},[611,55311,55312,55316,55326,55336,55346,55352,55356,55374,55382,55386],{"__ignoreMap":14},[6995,55313,55314],{"class":244,"line":6997},[6995,55315,7001],{"class":7000},[6995,55317,55318,55320,55322,55324],{"class":244,"line":15},[6995,55319,7007],{"class":7006},[6995,55321,5102],{"class":7000},[6995,55323,7013],{"class":7012},[6995,55325,7016],{"class":7000},[6995,55327,55328,55330,55332,55334],{"class":244,"line":154},[6995,55329,7021],{"class":7006},[6995,55331,7024],{"class":7000},[6995,55333,6679],{"class":7006},[6995,55335,7030],{"class":7000},[6995,55337,55338,55340,55342,55344],{"class":244,"line":7033},[6995,55339,7036],{"class":7006},[6995,55341,7024],{"class":7000},[6995,55343,43710],{"class":7012},[6995,55345,7016],{"class":7000},[6995,55347,55348,55350],{"class":244,"line":7044},[6995,55349,7529],{"class":7006},[6995,55351,7532],{"class":7000},[6995,55353,55354],{"class":244,"line":7107},[6995,55355,7537],{"class":7000},[6995,55357,55358,55360,55362,55364,55366,55368,55370,55372],{"class":244,"line":7120},[6995,55359,24712],{"class":7006},[6995,55361,19886],{"class":7000},[6995,55363,6679],{"class":7006},[6995,55365,2231],{"class":7000},[6995,55367,7511],{"class":7006},[6995,55369,2231],{"class":7000},[6995,55371,11136],{"class":7006},[6995,55373,19906],{"class":7000},[6995,55375,55376,55378,55380],{"class":244,"line":7133},[6995,55377,43541],{"class":7006},[6995,55379,7024],{"class":7000},[6995,55381,43546],{"class":7006},[6995,55383,55384],{"class":244,"line":7146},[6995,55385,7615],{"class":7000},[6995,55387,55388],{"class":244,"line":7159},[6995,55389,7047],{"class":7000},[852,55391,55392,55396],{},[59,55393,55394,43763],{},[611,55395,15730],{},[59,55397,55398,43578],{},[611,55399,43577],{},[34,55401,55402],{},[611,55403,7052],{},[616,55405,55406],{"className":6989,"code":43774,"language":6991,"meta":14,"style":14},[611,55407,55408,55412,55422,55432,55438,55442,55450,55454],{"__ignoreMap":14},[6995,55409,55410],{"class":244,"line":6997},[6995,55411,7001],{"class":7000},[6995,55413,55414,55416,55418,55420],{"class":244,"line":15},[6995,55415,7007],{"class":7006},[6995,55417,5102],{"class":7000},[6995,55419,7013],{"class":7012},[6995,55421,7016],{"class":7000},[6995,55423,55424,55426,55428,55430],{"class":244,"line":154},[6995,55425,7021],{"class":7006},[6995,55427,7024],{"class":7000},[6995,55429,6679],{"class":7006},[6995,55431,7030],{"class":7000},[6995,55433,55434,55436],{"class":244,"line":7033},[6995,55435,7732],{"class":7006},[6995,55437,11893],{"class":7000},[6995,55439,55440],{"class":244,"line":7044},[6995,55441,7537],{"class":7000},[6995,55443,55444,55446,55448],{"class":244,"line":7107},[6995,55445,43626],{"class":7006},[6995,55447,7746],{"class":7000},[6995,55449,43819],{"class":7012},[6995,55451,55452],{"class":244,"line":7120},[6995,55453,7615],{"class":7000},[6995,55455,55456],{"class":244,"line":7133},[6995,55457,7047],{"class":7000},[852,55459,55460],{},[59,55461,55462,43834],{},[611,55463,1149],{},[41,55465,35427],{"id":35427},[34,55467,43839],{},[34,55469,55470],{},[611,55471,6986],{},[616,55473,55474],{"className":6989,"code":43846,"language":6991,"meta":14,"style":14},[611,55475,55476,55480,55490,55500,55510,55516,55520,55530,55538,55542],{"__ignoreMap":14},[6995,55477,55478],{"class":244,"line":6997},[6995,55479,7001],{"class":7000},[6995,55481,55482,55484,55486,55488],{"class":244,"line":15},[6995,55483,7007],{"class":7006},[6995,55485,5102],{"class":7000},[6995,55487,7013],{"class":7012},[6995,55489,7016],{"class":7000},[6995,55491,55492,55494,55496,55498],{"class":244,"line":154},[6995,55493,7021],{"class":7006},[6995,55495,7024],{"class":7000},[6995,55497,6679],{"class":7006},[6995,55499,7030],{"class":7000},[6995,55501,55502,55504,55506,55508],{"class":244,"line":7033},[6995,55503,7036],{"class":7006},[6995,55505,7024],{"class":7000},[6995,55507,43881],{"class":7012},[6995,55509,7016],{"class":7000},[6995,55511,55512,55514],{"class":244,"line":7044},[6995,55513,7529],{"class":7006},[6995,55515,7532],{"class":7000},[6995,55517,55518],{"class":244,"line":7107},[6995,55519,7537],{"class":7000},[6995,55521,55522,55524,55526,55528],{"class":244,"line":7120},[6995,55523,43626],{"class":7006},[6995,55525,7746],{"class":7000},[6995,55527,43631],{"class":7012},[6995,55529,7030],{"class":7000},[6995,55531,55532,55534,55536],{"class":244,"line":7133},[6995,55533,43541],{"class":7006},[6995,55535,7024],{"class":7000},[6995,55537,43546],{"class":7006},[6995,55539,55540],{"class":244,"line":7146},[6995,55541,7615],{"class":7000},[6995,55543,55544],{"class":244,"line":7159},[6995,55545,7047],{"class":7000},[852,55547,55548,55552],{},[59,55549,55550,43926],{},[611,55551,1149],{},[59,55553,55554,43578],{},[611,55555,43577],{},[34,55557,55558],{},[611,55559,7052],{},[616,55561,55562],{"className":6989,"code":43937,"language":6991,"meta":14,"style":14},[611,55563,55564,55568,55578,55588,55594,55598,55608,55626,55630],{"__ignoreMap":14},[6995,55565,55566],{"class":244,"line":6997},[6995,55567,7001],{"class":7000},[6995,55569,55570,55572,55574,55576],{"class":244,"line":15},[6995,55571,7007],{"class":7006},[6995,55573,5102],{"class":7000},[6995,55575,7013],{"class":7012},[6995,55577,7016],{"class":7000},[6995,55579,55580,55582,55584,55586],{"class":244,"line":154},[6995,55581,7021],{"class":7006},[6995,55583,7024],{"class":7000},[6995,55585,6679],{"class":7006},[6995,55587,7030],{"class":7000},[6995,55589,55590,55592],{"class":244,"line":7033},[6995,55591,7732],{"class":7006},[6995,55593,11893],{"class":7000},[6995,55595,55596],{"class":244,"line":7044},[6995,55597,7537],{"class":7000},[6995,55599,55600,55602,55604,55606],{"class":244,"line":7107},[6995,55601,43626],{"class":7006},[6995,55603,7746],{"class":7000},[6995,55605,43631],{"class":7012},[6995,55607,7030],{"class":7000},[6995,55609,55610,55612,55614,55616,55618,55620,55622,55624],{"class":244,"line":7120},[6995,55611,24712],{"class":7006},[6995,55613,19886],{"class":7000},[6995,55615,6679],{"class":7006},[6995,55617,2231],{"class":7000},[6995,55619,7511],{"class":7006},[6995,55621,2231],{"class":7000},[6995,55623,11136],{"class":7006},[6995,55625,13671],{"class":7000},[6995,55627,55628],{"class":244,"line":7133},[6995,55629,7615],{"class":7000},[6995,55631,55632],{"class":244,"line":7146},[6995,55633,7047],{"class":7000},[852,55635,55636,55640],{},[59,55637,55638,43834],{},[611,55639,1149],{},[59,55641,55642,44020],{},[611,55643,15730],{},[41,55645,35437],{"id":35437},[34,55647,44025,55648,44028],{},[611,55649,35427],{},[34,55651,55652],{},[611,55653,6986],{},[616,55655,55656],{"className":6989,"code":44035,"language":6991,"meta":14,"style":14},[611,55657,55658,55662,55672,55682,55692,55698,55702,55712,55720,55724],{"__ignoreMap":14},[6995,55659,55660],{"class":244,"line":6997},[6995,55661,7001],{"class":7000},[6995,55663,55664,55666,55668,55670],{"class":244,"line":15},[6995,55665,7007],{"class":7006},[6995,55667,5102],{"class":7000},[6995,55669,7013],{"class":7012},[6995,55671,7016],{"class":7000},[6995,55673,55674,55676,55678,55680],{"class":244,"line":154},[6995,55675,7021],{"class":7006},[6995,55677,7024],{"class":7000},[6995,55679,6679],{"class":7006},[6995,55681,7030],{"class":7000},[6995,55683,55684,55686,55688,55690],{"class":244,"line":7033},[6995,55685,7036],{"class":7006},[6995,55687,7024],{"class":7000},[6995,55689,44070],{"class":7012},[6995,55691,7016],{"class":7000},[6995,55693,55694,55696],{"class":244,"line":7044},[6995,55695,7529],{"class":7006},[6995,55697,7532],{"class":7000},[6995,55699,55700],{"class":244,"line":7107},[6995,55701,7537],{"class":7000},[6995,55703,55704,55706,55708,55710],{"class":244,"line":7120},[6995,55705,43626],{"class":7006},[6995,55707,7746],{"class":7000},[6995,55709,43631],{"class":7012},[6995,55711,7030],{"class":7000},[6995,55713,55714,55716,55718],{"class":244,"line":7133},[6995,55715,43541],{"class":7006},[6995,55717,7024],{"class":7000},[6995,55719,43546],{"class":7006},[6995,55721,55722],{"class":244,"line":7146},[6995,55723,7615],{"class":7000},[6995,55725,55726],{"class":244,"line":7159},[6995,55727,7047],{"class":7000},[852,55729,55730,55734],{},[59,55731,55732,44115],{},[611,55733,1149],{},[59,55735,55736,43578],{},[611,55737,43577],{},[34,55739,55740],{},[611,55741,7052],{},[616,55743,55744],{"className":6989,"code":43774,"language":6991,"meta":14,"style":14},[611,55745,55746,55750,55760,55770,55776,55780,55788,55792],{"__ignoreMap":14},[6995,55747,55748],{"class":244,"line":6997},[6995,55749,7001],{"class":7000},[6995,55751,55752,55754,55756,55758],{"class":244,"line":15},[6995,55753,7007],{"class":7006},[6995,55755,5102],{"class":7000},[6995,55757,7013],{"class":7012},[6995,55759,7016],{"class":7000},[6995,55761,55762,55764,55766,55768],{"class":244,"line":154},[6995,55763,7021],{"class":7006},[6995,55765,7024],{"class":7000},[6995,55767,6679],{"class":7006},[6995,55769,7030],{"class":7000},[6995,55771,55772,55774],{"class":244,"line":7033},[6995,55773,7732],{"class":7006},[6995,55775,11893],{"class":7000},[6995,55777,55778],{"class":244,"line":7044},[6995,55779,7537],{"class":7000},[6995,55781,55782,55784,55786],{"class":244,"line":7107},[6995,55783,43626],{"class":7006},[6995,55785,7746],{"class":7000},[6995,55787,43819],{"class":7012},[6995,55789,55790],{"class":244,"line":7120},[6995,55791,7615],{"class":7000},[6995,55793,55794],{"class":244,"line":7133},[6995,55795,7047],{"class":7000},[852,55797,55798],{},[59,55799,55800,44184],{},[611,55801,1149],{},[41,55803,35447],{"id":35447},[34,55805,44189,55806,44192],{},[611,55807,35427],{},[34,55809,55810],{},[611,55811,6986],{},[616,55813,55814],{"className":6989,"code":44199,"language":6991,"meta":14,"style":14},[611,55815,55816,55820,55830,55840,55850,55856,55860,55868,55872],{"__ignoreMap":14},[6995,55817,55818],{"class":244,"line":6997},[6995,55819,7001],{"class":7000},[6995,55821,55822,55824,55826,55828],{"class":244,"line":15},[6995,55823,7007],{"class":7006},[6995,55825,5102],{"class":7000},[6995,55827,7013],{"class":7012},[6995,55829,7016],{"class":7000},[6995,55831,55832,55834,55836,55838],{"class":244,"line":154},[6995,55833,7021],{"class":7006},[6995,55835,7024],{"class":7000},[6995,55837,6679],{"class":7006},[6995,55839,7030],{"class":7000},[6995,55841,55842,55844,55846,55848],{"class":244,"line":7033},[6995,55843,7036],{"class":7006},[6995,55845,7024],{"class":7000},[6995,55847,44234],{"class":7012},[6995,55849,7016],{"class":7000},[6995,55851,55852,55854],{"class":244,"line":7044},[6995,55853,7529],{"class":7006},[6995,55855,7532],{"class":7000},[6995,55857,55858],{"class":244,"line":7107},[6995,55859,7537],{"class":7000},[6995,55861,55862,55864,55866],{"class":244,"line":7120},[6995,55863,43626],{"class":7006},[6995,55865,7746],{"class":7000},[6995,55867,43819],{"class":7012},[6995,55869,55870],{"class":244,"line":7133},[6995,55871,7615],{"class":7000},[6995,55873,55874],{"class":244,"line":7146},[6995,55875,7047],{"class":7000},[852,55877,55878],{},[59,55879,55880,44269],{},[611,55881,1149],{},[34,55883,55884],{},[611,55885,7052],{},[616,55887,55888],{"className":6989,"code":43774,"language":6991,"meta":14,"style":14},[611,55889,55890,55894,55904,55914,55920,55924,55932,55936],{"__ignoreMap":14},[6995,55891,55892],{"class":244,"line":6997},[6995,55893,7001],{"class":7000},[6995,55895,55896,55898,55900,55902],{"class":244,"line":15},[6995,55897,7007],{"class":7006},[6995,55899,5102],{"class":7000},[6995,55901,7013],{"class":7012},[6995,55903,7016],{"class":7000},[6995,55905,55906,55908,55910,55912],{"class":244,"line":154},[6995,55907,7021],{"class":7006},[6995,55909,7024],{"class":7000},[6995,55911,6679],{"class":7006},[6995,55913,7030],{"class":7000},[6995,55915,55916,55918],{"class":244,"line":7033},[6995,55917,7732],{"class":7006},[6995,55919,11893],{"class":7000},[6995,55921,55922],{"class":244,"line":7044},[6995,55923,7537],{"class":7000},[6995,55925,55926,55928,55930],{"class":244,"line":7107},[6995,55927,43626],{"class":7006},[6995,55929,7746],{"class":7000},[6995,55931,43819],{"class":7012},[6995,55933,55934],{"class":244,"line":7120},[6995,55935,7615],{"class":7000},[6995,55937,55938],{"class":244,"line":7133},[6995,55939,7047],{"class":7000},[852,55941,55942],{},[59,55943,55944,44334],{},[611,55945,1149],{},[41,55947,35457],{"id":35457},[34,55949,44339],{},[34,55951,55952],{},[611,55953,6986],{},[616,55955,55956],{"className":6989,"code":44346,"language":6991,"meta":14,"style":14},[611,55957,55958,55962,55972,55982,55992,55998,56002,56010,56014],{"__ignoreMap":14},[6995,55959,55960],{"class":244,"line":6997},[6995,55961,7001],{"class":7000},[6995,55963,55964,55966,55968,55970],{"class":244,"line":15},[6995,55965,7007],{"class":7006},[6995,55967,5102],{"class":7000},[6995,55969,7013],{"class":7012},[6995,55971,7016],{"class":7000},[6995,55973,55974,55976,55978,55980],{"class":244,"line":154},[6995,55975,7021],{"class":7006},[6995,55977,7024],{"class":7000},[6995,55979,6679],{"class":7006},[6995,55981,7030],{"class":7000},[6995,55983,55984,55986,55988,55990],{"class":244,"line":7033},[6995,55985,7036],{"class":7006},[6995,55987,7024],{"class":7000},[6995,55989,44381],{"class":7012},[6995,55991,7016],{"class":7000},[6995,55993,55994,55996],{"class":244,"line":7044},[6995,55995,7529],{"class":7006},[6995,55997,7532],{"class":7000},[6995,55999,56000],{"class":244,"line":7107},[6995,56001,7537],{"class":7000},[6995,56003,56004,56006,56008],{"class":244,"line":7120},[6995,56005,43541],{"class":7006},[6995,56007,7746],{"class":7000},[6995,56009,44402],{"class":7006},[6995,56011,56012],{"class":244,"line":7133},[6995,56013,7615],{"class":7000},[6995,56015,56016],{"class":244,"line":7146},[6995,56017,7047],{"class":7000},[852,56019,56020],{},[59,56021,56022,43578],{},[611,56023,43577],{},[34,56025,56026],{},[611,56027,7052],{},[616,56029,56030],{"className":6989,"code":44423,"language":6991,"meta":14,"style":14},[611,56031,56032,56036,56046,56056,56062,56066,56074,56078],{"__ignoreMap":14},[6995,56033,56034],{"class":244,"line":6997},[6995,56035,7001],{"class":7000},[6995,56037,56038,56040,56042,56044],{"class":244,"line":15},[6995,56039,7007],{"class":7006},[6995,56041,5102],{"class":7000},[6995,56043,7013],{"class":7012},[6995,56045,7016],{"class":7000},[6995,56047,56048,56050,56052,56054],{"class":244,"line":154},[6995,56049,7021],{"class":7006},[6995,56051,7024],{"class":7000},[6995,56053,6679],{"class":7006},[6995,56055,7030],{"class":7000},[6995,56057,56058,56060],{"class":244,"line":7033},[6995,56059,7732],{"class":7006},[6995,56061,11893],{"class":7000},[6995,56063,56064],{"class":244,"line":7044},[6995,56065,7537],{"class":7000},[6995,56067,56068,56070,56072],{"class":244,"line":7107},[6995,56069,44464],{"class":7006},[6995,56071,7746],{"class":7000},[6995,56073,8505],{"class":7006},[6995,56075,56076],{"class":244,"line":7120},[6995,56077,7615],{"class":7000},[6995,56079,56080],{"class":244,"line":7133},[6995,56081,7047],{"class":7000},[852,56083,56084],{},[59,56085,56086,44483],{},[611,56087,15735],{},[41,56089,25480],{"id":25480},[34,56091,32687],{},[34,56093,56094],{},[611,56095,6986],{},[616,56097,56098],{"className":6989,"code":32694,"language":6991,"meta":14,"style":14},[611,56099,56100,56104,56114,56124,56134,56140,56150,56160,56170,56180,56190,56198,56202],{"__ignoreMap":14},[6995,56101,56102],{"class":244,"line":6997},[6995,56103,7001],{"class":7000},[6995,56105,56106,56108,56110,56112],{"class":244,"line":15},[6995,56107,7007],{"class":7006},[6995,56109,7024],{"class":7000},[6995,56111,7013],{"class":7012},[6995,56113,7016],{"class":7000},[6995,56115,56116,56118,56120,56122],{"class":244,"line":154},[6995,56117,7021],{"class":7006},[6995,56119,7024],{"class":7000},[6995,56121,6679],{"class":7006},[6995,56123,7030],{"class":7000},[6995,56125,56126,56128,56130,56132],{"class":244,"line":7033},[6995,56127,7036],{"class":7006},[6995,56129,7024],{"class":7000},[6995,56131,32729],{"class":7012},[6995,56133,7030],{"class":7000},[6995,56135,56136,56138],{"class":244,"line":7044},[6995,56137,7529],{"class":7006},[6995,56139,7092],{"class":7000},[6995,56141,56142,56144,56146,56148],{"class":244,"line":7107},[6995,56143,32742],{"class":7006},[6995,56145,7024],{"class":7000},[6995,56147,8689],{"class":7006},[6995,56149,7030],{"class":7000},[6995,56151,56152,56154,56156,56158],{"class":244,"line":7120},[6995,56153,32753],{"class":7006},[6995,56155,7024],{"class":7000},[6995,56157,8689],{"class":7006},[6995,56159,7030],{"class":7000},[6995,56161,56162,56164,56166,56168],{"class":244,"line":7133},[6995,56163,32764],{"class":7006},[6995,56165,7024],{"class":7000},[6995,56167,8689],{"class":7006},[6995,56169,7030],{"class":7000},[6995,56171,56172,56174,56176,56178],{"class":244,"line":7146},[6995,56173,32775],{"class":7006},[6995,56175,7024],{"class":7000},[6995,56177,8689],{"class":7006},[6995,56179,7030],{"class":7000},[6995,56181,56182,56184,56186,56188],{"class":244,"line":7159},[6995,56183,32786],{"class":7006},[6995,56185,7024],{"class":7000},[6995,56187,8689],{"class":7006},[6995,56189,7030],{"class":7000},[6995,56191,56192,56194,56196],{"class":244,"line":7172},[6995,56193,32797],{"class":7006},[6995,56195,7024],{"class":7000},[6995,56197,8505],{"class":7006},[6995,56199,56200],{"class":244,"line":7185},[6995,56201,7615],{"class":7000},[6995,56203,56204],{"class":244,"line":7198},[6995,56205,7047],{"class":7000},[34,56207,56208],{},[611,56209,7052],{},[616,56211,56212],{"className":6989,"code":32816,"language":6991,"meta":14,"style":14},[611,56213,56214,56218,56228,56238,56246],{"__ignoreMap":14},[6995,56215,56216],{"class":244,"line":6997},[6995,56217,7001],{"class":7000},[6995,56219,56220,56222,56224,56226],{"class":244,"line":15},[6995,56221,7066],{"class":7006},[6995,56223,7024],{"class":7000},[6995,56225,6679],{"class":7006},[6995,56227,7030],{"class":7000},[6995,56229,56230,56232,56234,56236],{"class":244,"line":154},[6995,56231,7078],{"class":7006},[6995,56233,7024],{"class":7000},[6995,56235,7013],{"class":7012},[6995,56237,7030],{"class":7000},[6995,56239,56240,56242,56244],{"class":244,"line":7033},[6995,56241,7089],{"class":7006},[6995,56243,7024],{"class":7000},[6995,56245,8505],{"class":7006},[6995,56247,56248],{"class":244,"line":7044},[6995,56249,7047],{"class":7000},[852,56251,56252],{},[59,56253,56254,32862,56256,32865],{},[611,56255,32861],{},[611,56257,32861],{},[41,56259,25551],{"id":25551},[34,56261,32967],{},[852,56263,56264,56266],{},[59,56265,32972],{},[59,56267,32975],{},[34,56269,32978],{},[34,56271,56272],{},[611,56273,32983],{},[616,56275,56276],{"className":6989,"code":32986,"language":6991,"meta":14,"style":14},[611,56277,56278,56282,56292,56302,56308,56318,56328,56338,56348,56358,56368,56378,56388,56398,56408,56416,56420],{"__ignoreMap":14},[6995,56279,56280],{"class":244,"line":6997},[6995,56281,7001],{"class":7000},[6995,56283,56284,56286,56288,56290],{"class":244,"line":15},[6995,56285,7066],{"class":7006},[6995,56287,7024],{"class":7000},[6995,56289,33001],{"class":7012},[6995,56291,7030],{"class":7000},[6995,56293,56294,56296,56298,56300],{"class":244,"line":154},[6995,56295,7078],{"class":7006},[6995,56297,7024],{"class":7000},[6995,56299,7013],{"class":7012},[6995,56301,7030],{"class":7000},[6995,56303,56304,56306],{"class":244,"line":7033},[6995,56305,7089],{"class":7006},[6995,56307,7092],{"class":7000},[6995,56309,56310,56312,56314,56316],{"class":244,"line":7044},[6995,56311,7097],{"class":7006},[6995,56313,7024],{"class":7000},[6995,56315,33028],{"class":7006},[6995,56317,7030],{"class":7000},[6995,56319,56320,56322,56324,56326],{"class":244,"line":7107},[6995,56321,7110],{"class":7006},[6995,56323,7024],{"class":7000},[6995,56325,33039],{"class":7012},[6995,56327,7030],{"class":7000},[6995,56329,56330,56332,56334,56336],{"class":244,"line":7120},[6995,56331,29521],{"class":7006},[6995,56333,7024],{"class":7000},[6995,56335,33050],{"class":7006},[6995,56337,7030],{"class":7000},[6995,56339,56340,56342,56344,56346],{"class":244,"line":7133},[6995,56341,33057],{"class":7006},[6995,56343,7024],{"class":7000},[6995,56345,7180],{"class":7006},[6995,56347,7030],{"class":7000},[6995,56349,56350,56352,56354,56356],{"class":244,"line":7146},[6995,56351,33068],{"class":7006},[6995,56353,7024],{"class":7000},[6995,56355,7511],{"class":7006},[6995,56357,7030],{"class":7000},[6995,56359,56360,56362,56364,56366],{"class":244,"line":7159},[6995,56361,29542],{"class":7006},[6995,56363,7024],{"class":7000},[6995,56365,8689],{"class":7006},[6995,56367,7030],{"class":7000},[6995,56369,56370,56372,56374,56376],{"class":244,"line":7172},[6995,56371,7136],{"class":7006},[6995,56373,7024],{"class":7000},[6995,56375,33093],{"class":7012},[6995,56377,7030],{"class":7000},[6995,56379,56380,56382,56384,56386],{"class":244,"line":7185},[6995,56381,33100],{"class":7006},[6995,56383,7024],{"class":7000},[6995,56385,33105],{"class":7006},[6995,56387,7030],{"class":7000},[6995,56389,56390,56392,56394,56396],{"class":244,"line":7198},[6995,56391,33112],{"class":7006},[6995,56393,7024],{"class":7000},[6995,56395,33039],{"class":7012},[6995,56397,7030],{"class":7000},[6995,56399,56400,56402,56404,56406],{"class":244,"line":7211},[6995,56401,33123],{"class":7006},[6995,56403,7024],{"class":7000},[6995,56405,33128],{"class":7012},[6995,56407,7030],{"class":7000},[6995,56409,56410,56412,56414],{"class":244,"line":7220},[6995,56411,33135],{"class":7006},[6995,56413,7024],{"class":7000},[6995,56415,33140],{"class":7006},[6995,56417,56418],{"class":244,"line":7226},[6995,56419,7467],{"class":7000},[6995,56421,56422],{"class":244,"line":7238},[6995,56423,7047],{"class":7000},[34,56425,33151,56426,10072,56428,33158,56430,33162,56432,33165,56434,33168,56436,33171,56438,33174],{},[611,56427,33154],{},[611,56429,33157],{},[611,56431,33161],{},[611,56433,33157],{},[611,56435,33154],{},[611,56437,25499],{},[611,56439,25499],{},[34,56441,56442],{},[611,56443,33179],{},[616,56445,56446],{"className":6989,"code":33182,"language":6991,"meta":14,"style":14},[611,56447,56448,56452,56462,56472,56478,56488,56498,56508,56518,56528,56538,56548,56558,56568,56578,56586,56590],{"__ignoreMap":14},[6995,56449,56450],{"class":244,"line":6997},[6995,56451,7001],{"class":7000},[6995,56453,56454,56456,56458,56460],{"class":244,"line":15},[6995,56455,7066],{"class":7006},[6995,56457,7024],{"class":7000},[6995,56459,33001],{"class":7012},[6995,56461,7030],{"class":7000},[6995,56463,56464,56466,56468,56470],{"class":244,"line":154},[6995,56465,7078],{"class":7006},[6995,56467,7024],{"class":7000},[6995,56469,7013],{"class":7012},[6995,56471,7030],{"class":7000},[6995,56473,56474,56476],{"class":244,"line":7033},[6995,56475,7089],{"class":7006},[6995,56477,7092],{"class":7000},[6995,56479,56480,56482,56484,56486],{"class":244,"line":7044},[6995,56481,7097],{"class":7006},[6995,56483,7024],{"class":7000},[6995,56485,33028],{"class":7006},[6995,56487,7030],{"class":7000},[6995,56489,56490,56492,56494,56496],{"class":244,"line":7107},[6995,56491,7110],{"class":7006},[6995,56493,7024],{"class":7000},[6995,56495,33039],{"class":7012},[6995,56497,7030],{"class":7000},[6995,56499,56500,56502,56504,56506],{"class":244,"line":7120},[6995,56501,29521],{"class":7006},[6995,56503,7024],{"class":7000},[6995,56505,33050],{"class":7006},[6995,56507,7030],{"class":7000},[6995,56509,56510,56512,56514,56516],{"class":244,"line":7133},[6995,56511,33057],{"class":7006},[6995,56513,7024],{"class":7000},[6995,56515,6679],{"class":7006},[6995,56517,7030],{"class":7000},[6995,56519,56520,56522,56524,56526],{"class":244,"line":7146},[6995,56521,33068],{"class":7006},[6995,56523,7024],{"class":7000},[6995,56525,7511],{"class":7006},[6995,56527,7030],{"class":7000},[6995,56529,56530,56532,56534,56536],{"class":244,"line":7159},[6995,56531,29542],{"class":7006},[6995,56533,7024],{"class":7000},[6995,56535,8689],{"class":7006},[6995,56537,7030],{"class":7000},[6995,56539,56540,56542,56544,56546],{"class":244,"line":7172},[6995,56541,7136],{"class":7006},[6995,56543,7024],{"class":7000},[6995,56545,33093],{"class":7012},[6995,56547,7030],{"class":7000},[6995,56549,56550,56552,56554,56556],{"class":244,"line":7185},[6995,56551,33100],{"class":7006},[6995,56553,7024],{"class":7000},[6995,56555,33105],{"class":7006},[6995,56557,7030],{"class":7000},[6995,56559,56560,56562,56564,56566],{"class":244,"line":7198},[6995,56561,33112],{"class":7006},[6995,56563,7024],{"class":7000},[6995,56565,33039],{"class":7012},[6995,56567,7030],{"class":7000},[6995,56569,56570,56572,56574,56576],{"class":244,"line":7211},[6995,56571,33123],{"class":7006},[6995,56573,7024],{"class":7000},[6995,56575,33128],{"class":7012},[6995,56577,7030],{"class":7000},[6995,56579,56580,56582,56584],{"class":244,"line":7220},[6995,56581,33135],{"class":7006},[6995,56583,7024],{"class":7000},[6995,56585,33140],{"class":7006},[6995,56587,56588],{"class":244,"line":7226},[6995,56589,7467],{"class":7000},[6995,56591,56592],{"class":244,"line":7238},[6995,56593,7047],{"class":7000},[34,56595,33333,56596,33336,56598,33340],{},[611,56597,33161],{},[611,56599,33339],{},[34,56601,56602],{},[611,56603,33345],{},[616,56605,56606],{"className":6989,"code":33348,"language":6991,"meta":14,"style":14},[611,56607,56608,56612,56622,56632,56638,56648,56658,56668,56678,56688,56698,56708,56718,56728,56738,56746,56750,56754,56758,56782,56786,56794,56798,56802,56812,56822,56828,56838,56848,56858,56868,56878,56888,56898,56908,56918,56928,56936,56940],{"__ignoreMap":14},[6995,56609,56610],{"class":244,"line":6997},[6995,56611,7001],{"class":7000},[6995,56613,56614,56616,56618,56620],{"class":244,"line":15},[6995,56615,7066],{"class":7006},[6995,56617,7024],{"class":7000},[6995,56619,33001],{"class":7012},[6995,56621,7030],{"class":7000},[6995,56623,56624,56626,56628,56630],{"class":244,"line":154},[6995,56625,7078],{"class":7006},[6995,56627,7024],{"class":7000},[6995,56629,7013],{"class":7012},[6995,56631,7030],{"class":7000},[6995,56633,56634,56636],{"class":244,"line":7033},[6995,56635,7089],{"class":7006},[6995,56637,7092],{"class":7000},[6995,56639,56640,56642,56644,56646],{"class":244,"line":7044},[6995,56641,7097],{"class":7006},[6995,56643,7024],{"class":7000},[6995,56645,33028],{"class":7006},[6995,56647,7030],{"class":7000},[6995,56649,56650,56652,56654,56656],{"class":244,"line":7107},[6995,56651,7110],{"class":7006},[6995,56653,7024],{"class":7000},[6995,56655,33039],{"class":7012},[6995,56657,7030],{"class":7000},[6995,56659,56660,56662,56664,56666],{"class":244,"line":7120},[6995,56661,29521],{"class":7006},[6995,56663,7024],{"class":7000},[6995,56665,33050],{"class":7006},[6995,56667,7030],{"class":7000},[6995,56669,56670,56672,56674,56676],{"class":244,"line":7133},[6995,56671,33057],{"class":7006},[6995,56673,7024],{"class":7000},[6995,56675,7511],{"class":7006},[6995,56677,7030],{"class":7000},[6995,56679,56680,56682,56684,56686],{"class":244,"line":7146},[6995,56681,33068],{"class":7006},[6995,56683,7024],{"class":7000},[6995,56685,7511],{"class":7006},[6995,56687,7030],{"class":7000},[6995,56689,56690,56692,56694,56696],{"class":244,"line":7159},[6995,56691,29542],{"class":7006},[6995,56693,7024],{"class":7000},[6995,56695,8689],{"class":7006},[6995,56697,7030],{"class":7000},[6995,56699,56700,56702,56704,56706],{"class":244,"line":7172},[6995,56701,7136],{"class":7006},[6995,56703,7024],{"class":7000},[6995,56705,33093],{"class":7012},[6995,56707,7030],{"class":7000},[6995,56709,56710,56712,56714,56716],{"class":244,"line":7185},[6995,56711,33100],{"class":7006},[6995,56713,7024],{"class":7000},[6995,56715,33105],{"class":7006},[6995,56717,7030],{"class":7000},[6995,56719,56720,56722,56724,56726],{"class":244,"line":7198},[6995,56721,33112],{"class":7006},[6995,56723,7024],{"class":7000},[6995,56725,33039],{"class":7012},[6995,56727,7030],{"class":7000},[6995,56729,56730,56732,56734,56736],{"class":244,"line":7211},[6995,56731,33123],{"class":7006},[6995,56733,7024],{"class":7000},[6995,56735,33128],{"class":7012},[6995,56737,7030],{"class":7000},[6995,56739,56740,56742,56744],{"class":244,"line":7220},[6995,56741,33135],{"class":7006},[6995,56743,7024],{"class":7000},[6995,56745,33140],{"class":7006},[6995,56747,56748],{"class":244,"line":7226},[6995,56749,7467],{"class":7000},[6995,56751,56752],{"class":244,"line":7238},[6995,56753,7047],{"class":7000},[6995,56755,56756],{"class":244,"line":7250},[6995,56757,14371],{"emptyLinePlaceholder":20},[6995,56759,56760,56762,56764,56766,56768,56770,56772,56774,56776,56778,56780],{"class":244,"line":7263},[6995,56761,33505],{"class":7000},[6995,56763,11136],{"class":7006},[6995,56765,33510],{"class":7000},[6995,56767,7511],{"class":7006},[6995,56769,33515],{"class":7000},[6995,56771,7511],{"class":7006},[6995,56773,33520],{"class":7000},[6995,56775,7511],{"class":7006},[6995,56777,33525],{"class":7000},[6995,56779,33028],{"class":7006},[6995,56781,33530],{"class":7000},[6995,56783,56784],{"class":244,"line":7275},[6995,56785,14371],{"emptyLinePlaceholder":20},[6995,56787,56788,56790,56792],{"class":244,"line":7288},[6995,56789,33539],{"class":7000},[6995,56791,8439],{"class":7006},[6995,56793,33544],{"class":7000},[6995,56795,56796],{"class":244,"line":7300},[6995,56797,33549],{"class":7000},[6995,56799,56800],{"class":244,"line":7313},[6995,56801,7001],{"class":7000},[6995,56803,56804,56806,56808,56810],{"class":244,"line":7325},[6995,56805,7066],{"class":7006},[6995,56807,7024],{"class":7000},[6995,56809,33001],{"class":7012},[6995,56811,7030],{"class":7000},[6995,56813,56814,56816,56818,56820],{"class":244,"line":7336},[6995,56815,7078],{"class":7006},[6995,56817,7024],{"class":7000},[6995,56819,7013],{"class":7012},[6995,56821,7030],{"class":7000},[6995,56823,56824,56826],{"class":244,"line":7342},[6995,56825,7089],{"class":7006},[6995,56827,7092],{"class":7000},[6995,56829,56830,56832,56834,56836],{"class":244,"line":7347},[6995,56831,7097],{"class":7006},[6995,56833,7024],{"class":7000},[6995,56835,33105],{"class":7006},[6995,56837,7030],{"class":7000},[6995,56839,56840,56842,56844,56846],{"class":244,"line":7363},[6995,56841,7110],{"class":7006},[6995,56843,7024],{"class":7000},[6995,56845,33128],{"class":7012},[6995,56847,7030],{"class":7000},[6995,56849,56850,56852,56854,56856],{"class":244,"line":7375},[6995,56851,29521],{"class":7006},[6995,56853,7024],{"class":7000},[6995,56855,33050],{"class":7006},[6995,56857,7030],{"class":7000},[6995,56859,56860,56862,56864,56866],{"class":244,"line":7387},[6995,56861,33057],{"class":7006},[6995,56863,7024],{"class":7000},[6995,56865,7511],{"class":7006},[6995,56867,7030],{"class":7000},[6995,56869,56870,56872,56874,56876],{"class":244,"line":7398},[6995,56871,33068],{"class":7006},[6995,56873,7024],{"class":7000},[6995,56875,7511],{"class":7006},[6995,56877,7030],{"class":7000},[6995,56879,56880,56882,56884,56886],{"class":244,"line":7410},[6995,56881,29542],{"class":7006},[6995,56883,7024],{"class":7000},[6995,56885,8689],{"class":7006},[6995,56887,7030],{"class":7000},[6995,56889,56890,56892,56894,56896],{"class":244,"line":7421},[6995,56891,7136],{"class":7006},[6995,56893,7024],{"class":7000},[6995,56895,33039],{"class":7012},[6995,56897,7030],{"class":7000},[6995,56899,56900,56902,56904,56906],{"class":244,"line":7432},[6995,56901,33100],{"class":7006},[6995,56903,7024],{"class":7000},[6995,56905,33105],{"class":7006},[6995,56907,7030],{"class":7000},[6995,56909,56910,56912,56914,56916],{"class":244,"line":7443},[6995,56911,33112],{"class":7006},[6995,56913,7024],{"class":7000},[6995,56915,33039],{"class":7012},[6995,56917,7030],{"class":7000},[6995,56919,56920,56922,56924,56926],{"class":244,"line":7452},[6995,56921,33123],{"class":7006},[6995,56923,7024],{"class":7000},[6995,56925,33128],{"class":7012},[6995,56927,7030],{"class":7000},[6995,56929,56930,56932,56934],{"class":244,"line":7458},[6995,56931,33135],{"class":7006},[6995,56933,7024],{"class":7000},[6995,56935,33140],{"class":7006},[6995,56937,56938],{"class":244,"line":7464},[6995,56939,7467],{"class":7000},[6995,56941,56942],{"class":244,"line":7470},[6995,56943,7047],{"class":7000},[34,56945,33698,56946,33701,56948,33704,56950,33701,56952,33711,56954,33701,56956,2344],{},[611,56947,33339],{},[611,56949,33161],{},[611,56951,33707],{},[611,56953,33710],{},[611,56955,33154],{},[611,56957,33157],{},[41,56959,25559],{"id":25559},[34,56961,33720],{},[34,56963,56964],{},[611,56965,7052],{},[616,56967,56968],{"className":6989,"code":33727,"language":6991,"meta":14,"style":14},[611,56969,56970,56974,56984,56994,57000,57010,57020,57030,57040,57050,57060,57070,57080,57088,57092],{"__ignoreMap":14},[6995,56971,56972],{"class":244,"line":6997},[6995,56973,7001],{"class":7000},[6995,56975,56976,56978,56980,56982],{"class":244,"line":15},[6995,56977,7066],{"class":7006},[6995,56979,7024],{"class":7000},[6995,56981,33742],{"class":7012},[6995,56983,7030],{"class":7000},[6995,56985,56986,56988,56990,56992],{"class":244,"line":154},[6995,56987,7078],{"class":7006},[6995,56989,7024],{"class":7000},[6995,56991,7013],{"class":7012},[6995,56993,7030],{"class":7000},[6995,56995,56996,56998],{"class":244,"line":7033},[6995,56997,7089],{"class":7006},[6995,56999,7092],{"class":7000},[6995,57001,57002,57004,57006,57008],{"class":244,"line":7044},[6995,57003,7097],{"class":7006},[6995,57005,7024],{"class":7000},[6995,57007,33769],{"class":7006},[6995,57009,7030],{"class":7000},[6995,57011,57012,57014,57016,57018],{"class":244,"line":7107},[6995,57013,7110],{"class":7006},[6995,57015,7024],{"class":7000},[6995,57017,33780],{"class":7012},[6995,57019,7030],{"class":7000},[6995,57021,57022,57024,57026,57028],{"class":244,"line":7120},[6995,57023,29521],{"class":7006},[6995,57025,7024],{"class":7000},[6995,57027,33791],{"class":7006},[6995,57029,7030],{"class":7000},[6995,57031,57032,57034,57036,57038],{"class":244,"line":7133},[6995,57033,29542],{"class":7006},[6995,57035,7024],{"class":7000},[6995,57037,8689],{"class":7006},[6995,57039,7030],{"class":7000},[6995,57041,57042,57044,57046,57048],{"class":244,"line":7146},[6995,57043,7136],{"class":7006},[6995,57045,7024],{"class":7000},[6995,57047,33812],{"class":7012},[6995,57049,7030],{"class":7000},[6995,57051,57052,57054,57056,57058],{"class":244,"line":7159},[6995,57053,33100],{"class":7006},[6995,57055,7024],{"class":7000},[6995,57057,33769],{"class":7006},[6995,57059,7030],{"class":7000},[6995,57061,57062,57064,57066,57068],{"class":244,"line":7172},[6995,57063,33112],{"class":7006},[6995,57065,7024],{"class":7000},[6995,57067,33812],{"class":7012},[6995,57069,7030],{"class":7000},[6995,57071,57072,57074,57076,57078],{"class":244,"line":7185},[6995,57073,33123],{"class":7006},[6995,57075,7024],{"class":7000},[6995,57077,33780],{"class":7012},[6995,57079,7030],{"class":7000},[6995,57081,57082,57084,57086],{"class":244,"line":7198},[6995,57083,33135],{"class":7006},[6995,57085,7024],{"class":7000},[6995,57087,33853],{"class":7006},[6995,57089,57090],{"class":244,"line":7211},[6995,57091,7467],{"class":7000},[6995,57093,57094],{"class":244,"line":7220},[6995,57095,7047],{"class":7000},[41,57097,25567],{"id":25567},[34,57099,33866],{},[34,57101,57102],{},[611,57103,7052],{},[616,57105,57106],{"className":6989,"code":33873,"language":6991,"meta":14,"style":14},[611,57107,57108,57112,57122,57132,57138,57148,57158,57164,57168,57178,57188,57198,57208,57218,57228,57238,57248,57258,57268,57278,57286,57290,57294,57304,57314,57324,57334,57344,57354,57364,57374,57384,57394,57404,57412,57416,57420,57424],{"__ignoreMap":14},[6995,57109,57110],{"class":244,"line":6997},[6995,57111,7001],{"class":7000},[6995,57113,57114,57116,57118,57120],{"class":244,"line":15},[6995,57115,7066],{"class":7006},[6995,57117,7024],{"class":7000},[6995,57119,33888],{"class":7012},[6995,57121,7030],{"class":7000},[6995,57123,57124,57126,57128,57130],{"class":244,"line":154},[6995,57125,7078],{"class":7006},[6995,57127,7024],{"class":7000},[6995,57129,7013],{"class":7012},[6995,57131,7030],{"class":7000},[6995,57133,57134,57136],{"class":244,"line":7033},[6995,57135,7089],{"class":7006},[6995,57137,7092],{"class":7000},[6995,57139,57140,57142,57144,57146],{"class":244,"line":7044},[6995,57141,33911],{"class":7006},[6995,57143,7024],{"class":7000},[6995,57145,11136],{"class":7006},[6995,57147,7030],{"class":7000},[6995,57149,57150,57152,57154,57156],{"class":244,"line":7107},[6995,57151,33922],{"class":7006},[6995,57153,7024],{"class":7000},[6995,57155,33927],{"class":7012},[6995,57157,7030],{"class":7000},[6995,57159,57160,57162],{"class":244,"line":7120},[6995,57161,33934],{"class":7006},[6995,57163,7217],{"class":7000},[6995,57165,57166],{"class":244,"line":7133},[6995,57167,33941],{"class":7000},[6995,57169,57170,57172,57174,57176],{"class":244,"line":7146},[6995,57171,33946],{"class":7006},[6995,57173,7024],{"class":7000},[6995,57175,33951],{"class":7012},[6995,57177,7030],{"class":7000},[6995,57179,57180,57182,57184,57186],{"class":244,"line":7159},[6995,57181,33958],{"class":7006},[6995,57183,7024],{"class":7000},[6995,57185,19080],{"class":7012},[6995,57187,7030],{"class":7000},[6995,57189,57190,57192,57194,57196],{"class":244,"line":7172},[6995,57191,33969],{"class":7006},[6995,57193,7024],{"class":7000},[6995,57195,19080],{"class":7012},[6995,57197,7030],{"class":7000},[6995,57199,57200,57202,57204,57206],{"class":244,"line":7185},[6995,57201,33980],{"class":7006},[6995,57203,7024],{"class":7000},[6995,57205,19092],{"class":7006},[6995,57207,7030],{"class":7000},[6995,57209,57210,57212,57214,57216],{"class":244,"line":7198},[6995,57211,33991],{"class":7006},[6995,57213,7024],{"class":7000},[6995,57215,19104],{"class":7006},[6995,57217,7030],{"class":7000},[6995,57219,57220,57222,57224,57226],{"class":244,"line":7211},[6995,57221,34002],{"class":7006},[6995,57223,7024],{"class":7000},[6995,57225,8689],{"class":7006},[6995,57227,7030],{"class":7000},[6995,57229,57230,57232,57234,57236],{"class":244,"line":7220},[6995,57231,34013],{"class":7006},[6995,57233,7024],{"class":7000},[6995,57235,8689],{"class":7006},[6995,57237,7030],{"class":7000},[6995,57239,57240,57242,57244,57246],{"class":244,"line":7226},[6995,57241,34024],{"class":7006},[6995,57243,7024],{"class":7000},[6995,57245,19147],{"class":7006},[6995,57247,7030],{"class":7000},[6995,57249,57250,57252,57254,57256],{"class":244,"line":7238},[6995,57251,34035],{"class":7006},[6995,57253,7024],{"class":7000},[6995,57255,19159],{"class":7012},[6995,57257,7030],{"class":7000},[6995,57259,57260,57262,57264,57266],{"class":244,"line":7250},[6995,57261,34046],{"class":7006},[6995,57263,7024],{"class":7000},[6995,57265,19171],{"class":7012},[6995,57267,7030],{"class":7000},[6995,57269,57270,57272,57274,57276],{"class":244,"line":7263},[6995,57271,34057],{"class":7006},[6995,57273,7024],{"class":7000},[6995,57275,11929],{"class":7012},[6995,57277,7030],{"class":7000},[6995,57279,57280,57282,57284],{"class":244,"line":7275},[6995,57281,34068],{"class":7006},[6995,57283,7024],{"class":7000},[6995,57285,34073],{"class":7012},[6995,57287,57288],{"class":244,"line":7288},[6995,57289,34078],{"class":7000},[6995,57291,57292],{"class":244,"line":7300},[6995,57293,33941],{"class":7000},[6995,57295,57296,57298,57300,57302],{"class":244,"line":7313},[6995,57297,33946],{"class":7006},[6995,57299,7024],{"class":7000},[6995,57301,34091],{"class":7012},[6995,57303,7030],{"class":7000},[6995,57305,57306,57308,57310,57312],{"class":244,"line":7325},[6995,57307,33958],{"class":7006},[6995,57309,7024],{"class":7000},[6995,57311,19080],{"class":7012},[6995,57313,7030],{"class":7000},[6995,57315,57316,57318,57320,57322],{"class":244,"line":7336},[6995,57317,33980],{"class":7006},[6995,57319,7024],{"class":7000},[6995,57321,19092],{"class":7006},[6995,57323,7030],{"class":7000},[6995,57325,57326,57328,57330,57332],{"class":244,"line":7342},[6995,57327,33991],{"class":7006},[6995,57329,7024],{"class":7000},[6995,57331,19104],{"class":7006},[6995,57333,7030],{"class":7000},[6995,57335,57336,57338,57340,57342],{"class":244,"line":7347},[6995,57337,34002],{"class":7006},[6995,57339,7024],{"class":7000},[6995,57341,8689],{"class":7006},[6995,57343,7030],{"class":7000},[6995,57345,57346,57348,57350,57352],{"class":244,"line":7363},[6995,57347,33969],{"class":7006},[6995,57349,7024],{"class":7000},[6995,57351,19080],{"class":7012},[6995,57353,7030],{"class":7000},[6995,57355,57356,57358,57360,57362],{"class":244,"line":7375},[6995,57357,34013],{"class":7006},[6995,57359,7024],{"class":7000},[6995,57361,8689],{"class":7006},[6995,57363,7030],{"class":7000},[6995,57365,57366,57368,57370,57372],{"class":244,"line":7387},[6995,57367,34024],{"class":7006},[6995,57369,7024],{"class":7000},[6995,57371,19147],{"class":7006},[6995,57373,7030],{"class":7000},[6995,57375,57376,57378,57380,57382],{"class":244,"line":7398},[6995,57377,34035],{"class":7006},[6995,57379,7024],{"class":7000},[6995,57381,19159],{"class":7012},[6995,57383,7030],{"class":7000},[6995,57385,57386,57388,57390,57392],{"class":244,"line":7410},[6995,57387,34046],{"class":7006},[6995,57389,7024],{"class":7000},[6995,57391,34182],{"class":7012},[6995,57393,7030],{"class":7000},[6995,57395,57396,57398,57400,57402],{"class":244,"line":7421},[6995,57397,34057],{"class":7006},[6995,57399,7024],{"class":7000},[6995,57401,12303],{"class":7012},[6995,57403,7030],{"class":7000},[6995,57405,57406,57408,57410],{"class":244,"line":7432},[6995,57407,34068],{"class":7006},[6995,57409,7024],{"class":7000},[6995,57411,34203],{"class":7012},[6995,57413,57414],{"class":244,"line":7443},[6995,57415,34208],{"class":7000},[6995,57417,57418],{"class":244,"line":7452},[6995,57419,34213],{"class":7000},[6995,57421,57422],{"class":244,"line":7458},[6995,57423,7467],{"class":7000},[6995,57425,57426],{"class":244,"line":7464},[6995,57427,7047],{"class":7000},[852,57429,57430,57438],{},[59,57431,57432,2231,57434,34230,57436,34234],{},[611,57433,8665],{},[611,57435,32955],{},[175,57437,32902],{"href":34233},[59,57439,57440,34240],{},[611,57441,34239],{},[41,57443,25575],{"id":25575},[34,57445,34245,57446,34248],{},[175,57447,6930],{"href":8044},[34,57449,34251],{},[34,57451,57452],{},[611,57453,34256],{},[616,57455,57456],{"className":6989,"code":34259,"language":6991,"meta":14,"style":14},[611,57457,57458,57462,57472,57482,57488,57498,57508,57514,57526,57538,57542,57546],{"__ignoreMap":14},[6995,57459,57460],{"class":244,"line":6997},[6995,57461,7001],{"class":7000},[6995,57463,57464,57466,57468,57470],{"class":244,"line":15},[6995,57465,7066],{"class":7006},[6995,57467,7024],{"class":7000},[6995,57469,34274],{"class":7012},[6995,57471,7030],{"class":7000},[6995,57473,57474,57476,57478,57480],{"class":244,"line":154},[6995,57475,7078],{"class":7006},[6995,57477,7024],{"class":7000},[6995,57479,7013],{"class":7012},[6995,57481,7030],{"class":7000},[6995,57483,57484,57486],{"class":244,"line":7033},[6995,57485,7089],{"class":7006},[6995,57487,34293],{"class":7000},[6995,57489,57490,57492,57494,57496],{"class":244,"line":7044},[6995,57491,33911],{"class":7006},[6995,57493,7024],{"class":7000},[6995,57495,6679],{"class":7006},[6995,57497,7030],{"class":7000},[6995,57499,57500,57502,57504,57506],{"class":244,"line":7107},[6995,57501,33922],{"class":7006},[6995,57503,7024],{"class":7000},[6995,57505,34312],{"class":7012},[6995,57507,7030],{"class":7000},[6995,57509,57510,57512],{"class":244,"line":7120},[6995,57511,34319],{"class":7006},[6995,57513,7217],{"class":7000},[6995,57515,57516,57518,57520,57522,57524],{"class":244,"line":7133},[6995,57517,34326],{"class":7000},[6995,57519,7478],{"class":7006},[6995,57521,7024],{"class":7000},[6995,57523,34333],{"class":7006},[6995,57525,34336],{"class":7000},[6995,57527,57528,57530,57532,57534,57536],{"class":244,"line":7146},[6995,57529,34326],{"class":7000},[6995,57531,7478],{"class":7006},[6995,57533,7024],{"class":7000},[6995,57535,34347],{"class":7006},[6995,57537,34350],{"class":7000},[6995,57539,57540],{"class":244,"line":7159},[6995,57541,34213],{"class":7000},[6995,57543,57544],{"class":244,"line":7172},[6995,57545,7467],{"class":7000},[6995,57547,57548],{"class":244,"line":7185},[6995,57549,7047],{"class":7000},[852,57551,57552,57560],{},[59,57553,57554,2231,57556,34230,57558,34234],{},[611,57555,8665],{},[611,57557,32955],{},[175,57559,32902],{"href":34233},[59,57561,57562,34378,57564,34381],{},[611,57563,34377],{},[611,57565,32933],{},[34,57567,34384],{},[34,57569,57570],{},[611,57571,34256],{},[616,57573,57574],{"className":6989,"code":34391,"language":6991,"meta":14,"style":14},[611,57575,57576,57580,57590,57600,57606,57616,57626,57632,57636,57646,57656,57666,57676,57686,57696,57706,57712,57722,57732,57742,57752,57760,57764,57774,57784,57794,57802,57806,57810,57814],{"__ignoreMap":14},[6995,57577,57578],{"class":244,"line":6997},[6995,57579,7001],{"class":7000},[6995,57581,57582,57584,57586,57588],{"class":244,"line":15},[6995,57583,7021],{"class":7006},[6995,57585,7024],{"class":7000},[6995,57587,34274],{"class":7012},[6995,57589,7030],{"class":7000},[6995,57591,57592,57594,57596,57598],{"class":244,"line":154},[6995,57593,7007],{"class":7006},[6995,57595,7024],{"class":7000},[6995,57597,7013],{"class":7012},[6995,57599,7030],{"class":7000},[6995,57601,57602,57604],{"class":244,"line":7033},[6995,57603,7732],{"class":7006},[6995,57605,7092],{"class":7000},[6995,57607,57608,57610,57612,57614],{"class":244,"line":7044},[6995,57609,8585],{"class":7006},[6995,57611,7024],{"class":7000},[6995,57613,11136],{"class":7006},[6995,57615,7030],{"class":7000},[6995,57617,57618,57620,57622,57624],{"class":244,"line":7107},[6995,57619,8596],{"class":7006},[6995,57621,7024],{"class":7000},[6995,57623,33927],{"class":7012},[6995,57625,7030],{"class":7000},[6995,57627,57628,57630],{"class":244,"line":7120},[6995,57629,23092],{"class":7006},[6995,57631,7217],{"class":7000},[6995,57633,57634],{"class":244,"line":7133},[6995,57635,34454],{"class":7000},[6995,57637,57638,57640,57642,57644],{"class":244,"line":7146},[6995,57639,34459],{"class":7006},[6995,57641,7024],{"class":7000},[6995,57643,6679],{"class":7006},[6995,57645,7030],{"class":7000},[6995,57647,57648,57650,57652,57654],{"class":244,"line":7159},[6995,57649,34470],{"class":7006},[6995,57651,7024],{"class":7000},[6995,57653,7370],{"class":7006},[6995,57655,7030],{"class":7000},[6995,57657,57658,57660,57662,57664],{"class":244,"line":7172},[6995,57659,34481],{"class":7006},[6995,57661,7024],{"class":7000},[6995,57663,7382],{"class":7012},[6995,57665,7030],{"class":7000},[6995,57667,57668,57670,57672,57674],{"class":244,"line":7185},[6995,57669,34492],{"class":7006},[6995,57671,7024],{"class":7000},[6995,57673,6679],{"class":7006},[6995,57675,7030],{"class":7000},[6995,57677,57678,57680,57682,57684],{"class":244,"line":7198},[6995,57679,34503],{"class":7006},[6995,57681,7024],{"class":7000},[6995,57683,7934],{"class":7006},[6995,57685,7030],{"class":7000},[6995,57687,57688,57690,57692,57694],{"class":244,"line":7211},[6995,57689,34514],{"class":7006},[6995,57691,7024],{"class":7000},[6995,57693,30578],{"class":7012},[6995,57695,7030],{"class":7000},[6995,57697,57698,57700,57702,57704],{"class":244,"line":7220},[6995,57699,34525],{"class":7006},[6995,57701,7024],{"class":7000},[6995,57703,8689],{"class":7006},[6995,57705,7030],{"class":7000},[6995,57707,57708,57710],{"class":244,"line":7226},[6995,57709,34536],{"class":7006},[6995,57711,7092],{"class":7000},[6995,57713,57714,57716,57718,57720],{"class":244,"line":7238},[6995,57715,34543],{"class":7006},[6995,57717,7024],{"class":7000},[6995,57719,30608],{"class":7012},[6995,57721,7030],{"class":7000},[6995,57723,57724,57726,57728,57730],{"class":244,"line":7250},[6995,57725,34554],{"class":7006},[6995,57727,7024],{"class":7000},[6995,57729,30620],{"class":7012},[6995,57731,7030],{"class":7000},[6995,57733,57734,57736,57738,57740],{"class":244,"line":7263},[6995,57735,34565],{"class":7006},[6995,57737,7024],{"class":7000},[6995,57739,30632],{"class":7012},[6995,57741,7030],{"class":7000},[6995,57743,57744,57746,57748,57750],{"class":244,"line":7275},[6995,57745,34576],{"class":7006},[6995,57747,7024],{"class":7000},[6995,57749,30644],{"class":7012},[6995,57751,7030],{"class":7000},[6995,57753,57754,57756,57758],{"class":244,"line":7288},[6995,57755,34587],{"class":7006},[6995,57757,7024],{"class":7000},[6995,57759,30656],{"class":7012},[6995,57761,57762],{"class":244,"line":7300},[6995,57763,34596],{"class":7000},[6995,57765,57766,57768,57770,57772],{"class":244,"line":7313},[6995,57767,34601],{"class":7006},[6995,57769,7024],{"class":7000},[6995,57771,8689],{"class":7006},[6995,57773,7030],{"class":7000},[6995,57775,57776,57778,57780,57782],{"class":244,"line":7325},[6995,57777,34612],{"class":7006},[6995,57779,7024],{"class":7000},[6995,57781,8689],{"class":7006},[6995,57783,7030],{"class":7000},[6995,57785,57786,57788,57790,57792],{"class":244,"line":7336},[6995,57787,34623],{"class":7006},[6995,57789,7024],{"class":7000},[6995,57791,7958],{"class":7012},[6995,57793,7030],{"class":7000},[6995,57795,57796,57798,57800],{"class":244,"line":7342},[6995,57797,34634],{"class":7006},[6995,57799,7024],{"class":7000},[6995,57801,7970],{"class":7006},[6995,57803,57804],{"class":244,"line":7347},[6995,57805,34208],{"class":7000},[6995,57807,57808],{"class":244,"line":7363},[6995,57809,34647],{"class":7000},[6995,57811,57812],{"class":244,"line":7375},[6995,57813,7615],{"class":7000},[6995,57815,57816],{"class":244,"line":7387},[6995,57817,7047],{"class":7000},[852,57819,57820,57828],{},[59,57821,57822,2231,57824,34230,57826,34234],{},[611,57823,8665],{},[611,57825,32955],{},[175,57827,32902],{"href":34233},[59,57829,57830,34670,57832,34673],{},[611,57831,34377],{},[175,57833,6935],{"href":18363},[41,57835,25581],{"id":25581},[34,57837,34678,57838,2344],{},[611,57839,4979],{},[34,57841,57842],{},[611,57843,34256],{},[616,57845,57846],{"className":6989,"code":34687,"language":6991,"meta":14,"style":14},[611,57847,57848,57852,57862,57872,57878,57888,57898,57904,57908,57918,57928,57938,57948,57958,57968,57978,57988,57996,58000,58004,58008],{"__ignoreMap":14},[6995,57849,57850],{"class":244,"line":6997},[6995,57851,7001],{"class":7000},[6995,57853,57854,57856,57858,57860],{"class":244,"line":15},[6995,57855,7021],{"class":7006},[6995,57857,7024],{"class":7000},[6995,57859,34702],{"class":7012},[6995,57861,7030],{"class":7000},[6995,57863,57864,57866,57868,57870],{"class":244,"line":154},[6995,57865,7007],{"class":7006},[6995,57867,7024],{"class":7000},[6995,57869,7013],{"class":7012},[6995,57871,7030],{"class":7000},[6995,57873,57874,57876],{"class":244,"line":7033},[6995,57875,7732],{"class":7006},[6995,57877,7092],{"class":7000},[6995,57879,57880,57882,57884,57886],{"class":244,"line":7044},[6995,57881,8585],{"class":7006},[6995,57883,7024],{"class":7000},[6995,57885,11136],{"class":7006},[6995,57887,7030],{"class":7000},[6995,57889,57890,57892,57894,57896],{"class":244,"line":7107},[6995,57891,8596],{"class":7006},[6995,57893,7024],{"class":7000},[6995,57895,33927],{"class":7012},[6995,57897,7030],{"class":7000},[6995,57899,57900,57902],{"class":244,"line":7120},[6995,57901,34745],{"class":7006},[6995,57903,7217],{"class":7000},[6995,57905,57906],{"class":244,"line":7133},[6995,57907,15683],{"class":7000},[6995,57909,57910,57912,57914,57916],{"class":244,"line":7146},[6995,57911,34756],{"class":7006},[6995,57913,7024],{"class":7000},[6995,57915,7167],{"class":7006},[6995,57917,7030],{"class":7000},[6995,57919,57920,57922,57924,57926],{"class":244,"line":7159},[6995,57921,34767],{"class":7006},[6995,57923,7024],{"class":7000},[6995,57925,7180],{"class":7006},[6995,57927,7030],{"class":7000},[6995,57929,57930,57932,57934,57936],{"class":244,"line":7172},[6995,57931,34778],{"class":7006},[6995,57933,7024],{"class":7000},[6995,57935,22951],{"class":7006},[6995,57937,7030],{"class":7000},[6995,57939,57940,57942,57944,57946],{"class":244,"line":7185},[6995,57941,34789],{"class":7006},[6995,57943,7024],{"class":7000},[6995,57945,22962],{"class":7006},[6995,57947,7030],{"class":7000},[6995,57949,57950,57952,57954,57956],{"class":244,"line":7198},[6995,57951,34800],{"class":7006},[6995,57953,7024],{"class":7000},[6995,57955,22973],{"class":7012},[6995,57957,7030],{"class":7000},[6995,57959,57960,57962,57964,57966],{"class":244,"line":7211},[6995,57961,34811],{"class":7006},[6995,57963,7024],{"class":7000},[6995,57965,20884],{"class":7012},[6995,57967,7030],{"class":7000},[6995,57969,57970,57972,57974,57976],{"class":244,"line":7220},[6995,57971,34822],{"class":7006},[6995,57973,7024],{"class":7000},[6995,57975,19080],{"class":7012},[6995,57977,7030],{"class":7000},[6995,57979,57980,57982,57984,57986],{"class":244,"line":7226},[6995,57981,34833],{"class":7006},[6995,57983,7024],{"class":7000},[6995,57985,7511],{"class":7006},[6995,57987,7030],{"class":7000},[6995,57989,57990,57992,57994],{"class":244,"line":7238},[6995,57991,34844],{"class":7006},[6995,57993,7024],{"class":7000},[6995,57995,23016],{"class":7012},[6995,57997,57998],{"class":244,"line":7250},[6995,57999,34853],{"class":7000},[6995,58001,58002],{"class":244,"line":7263},[6995,58003,34858],{"class":7000},[6995,58005,58006],{"class":244,"line":7275},[6995,58007,7615],{"class":7000},[6995,58009,58010],{"class":244,"line":7288},[6995,58011,7047],{"class":7000},[852,58013,58014,58022],{},[59,58015,58016,2231,58018,34230,58020,34234],{},[611,58017,8665],{},[611,58019,32955],{},[175,58021,32902],{"href":34233},[59,58023,58024,34881,58026,34673],{},[611,58025,14350],{},[175,58027,18014],{"href":18321},[41,58029,25587],{"id":25587},[34,58031,34888],{},[34,58033,58034],{},[611,58035,34256],{},[616,58037,58038],{"className":6989,"code":46434,"language":6991,"meta":14,"style":14},[611,58039,58040,58044,58054,58064,58070,58080,58090,58096,58100,58110,58120,58130,58140,58150,58160,58170,58180,58190,58200,58210,58220,58230,58240,58250,58256,58266,58276,58284,58288,58292,58296],{"__ignoreMap":14},[6995,58041,58042],{"class":244,"line":6997},[6995,58043,7001],{"class":7000},[6995,58045,58046,58048,58050,58052],{"class":244,"line":15},[6995,58047,7021],{"class":7006},[6995,58049,7024],{"class":7000},[6995,58051,34910],{"class":7012},[6995,58053,7030],{"class":7000},[6995,58055,58056,58058,58060,58062],{"class":244,"line":154},[6995,58057,7007],{"class":7006},[6995,58059,7024],{"class":7000},[6995,58061,7013],{"class":7012},[6995,58063,7030],{"class":7000},[6995,58065,58066,58068],{"class":244,"line":7033},[6995,58067,7732],{"class":7006},[6995,58069,7092],{"class":7000},[6995,58071,58072,58074,58076,58078],{"class":244,"line":7044},[6995,58073,8585],{"class":7006},[6995,58075,7024],{"class":7000},[6995,58077,11136],{"class":7006},[6995,58079,7030],{"class":7000},[6995,58081,58082,58084,58086,58088],{"class":244,"line":7107},[6995,58083,8596],{"class":7006},[6995,58085,7024],{"class":7000},[6995,58087,33927],{"class":7012},[6995,58089,7030],{"class":7000},[6995,58091,58092,58094],{"class":244,"line":7120},[6995,58093,34953],{"class":7006},[6995,58095,7217],{"class":7000},[6995,58097,58098],{"class":244,"line":7133},[6995,58099,15683],{"class":7000},[6995,58101,58102,58104,58106,58108],{"class":244,"line":7146},[6995,58103,34964],{"class":7006},[6995,58105,7746],{"class":7000},[6995,58107,20884],{"class":7012},[6995,58109,7030],{"class":7000},[6995,58111,58112,58114,58116,58118],{"class":244,"line":7159},[6995,58113,34767],{"class":7006},[6995,58115,7024],{"class":7000},[6995,58117,7180],{"class":7006},[6995,58119,7030],{"class":7000},[6995,58121,58122,58124,58126,58128],{"class":244,"line":7172},[6995,58123,34985],{"class":7006},[6995,58125,7024],{"class":7000},[6995,58127,19080],{"class":7012},[6995,58129,7030],{"class":7000},[6995,58131,58132,58134,58136,58138],{"class":244,"line":7185},[6995,58133,34996],{"class":7006},[6995,58135,7024],{"class":7000},[6995,58137,10984],{"class":7006},[6995,58139,7030],{"class":7000},[6995,58141,58142,58144,58146,58148],{"class":244,"line":7198},[6995,58143,35007],{"class":7006},[6995,58145,7024],{"class":7000},[6995,58147,20988],{"class":7012},[6995,58149,7030],{"class":7000},[6995,58151,58152,58154,58156,58158],{"class":244,"line":7211},[6995,58153,35018],{"class":7006},[6995,58155,7024],{"class":7000},[6995,58157,7570],{"class":7012},[6995,58159,7030],{"class":7000},[6995,58161,58162,58164,58166,58168],{"class":244,"line":7220},[6995,58163,35029],{"class":7006},[6995,58165,7024],{"class":7000},[6995,58167,21011],{"class":7012},[6995,58169,7030],{"class":7000},[6995,58171,58172,58174,58176,58178],{"class":244,"line":7226},[6995,58173,34833],{"class":7006},[6995,58175,7024],{"class":7000},[6995,58177,8439],{"class":7006},[6995,58179,7030],{"class":7000},[6995,58181,58182,58184,58186,58188],{"class":244,"line":7238},[6995,58183,34844],{"class":7006},[6995,58185,7746],{"class":7000},[6995,58187,21034],{"class":7012},[6995,58189,7030],{"class":7000},[6995,58191,58192,58194,58196,58198],{"class":244,"line":7250},[6995,58193,35060],{"class":7006},[6995,58195,7024],{"class":7000},[6995,58197,7180],{"class":7006},[6995,58199,7030],{"class":7000},[6995,58201,58202,58204,58206,58208],{"class":244,"line":7263},[6995,58203,35071],{"class":7006},[6995,58205,7024],{"class":7000},[6995,58207,21057],{"class":7012},[6995,58209,7030],{"class":7000},[6995,58211,58212,58214,58216,58218],{"class":244,"line":7275},[6995,58213,35082],{"class":7006},[6995,58215,7746],{"class":7000},[6995,58217,21069],{"class":7012},[6995,58219,7030],{"class":7000},[6995,58221,58222,58224,58226,58228],{"class":244,"line":7288},[6995,58223,35093],{"class":7006},[6995,58225,7024],{"class":7000},[6995,58227,7547],{"class":7006},[6995,58229,7030],{"class":7000},[6995,58231,58232,58234,58236,58238],{"class":244,"line":7300},[6995,58233,35104],{"class":7006},[6995,58235,7746],{"class":7000},[6995,58237,21090],{"class":7006},[6995,58239,7030],{"class":7000},[6995,58241,58242,58244,58246,58248],{"class":244,"line":7313},[6995,58243,35115],{"class":7006},[6995,58245,7746],{"class":7000},[6995,58247,11094],{"class":7006},[6995,58249,7030],{"class":7000},[6995,58251,58252,58254],{"class":244,"line":7325},[6995,58253,46651],{"class":7006},[6995,58255,12624],{"class":7000},[6995,58257,58258,58260,58262,58264],{"class":244,"line":7336},[6995,58259,35126],{"class":7006},[6995,58261,7024],{"class":7000},[6995,58263,21113],{"class":7012},[6995,58265,7030],{"class":7000},[6995,58267,58268,58270,58272,58274],{"class":244,"line":7342},[6995,58269,35137],{"class":7006},[6995,58271,7024],{"class":7000},[6995,58273,19171],{"class":7012},[6995,58275,7030],{"class":7000},[6995,58277,58278,58280,58282],{"class":244,"line":7347},[6995,58279,35148],{"class":7006},[6995,58281,7024],{"class":7000},[6995,58283,21136],{"class":7012},[6995,58285,58286],{"class":244,"line":7363},[6995,58287,34853],{"class":7000},[6995,58289,58290],{"class":244,"line":7375},[6995,58291,34858],{"class":7000},[6995,58293,58294],{"class":244,"line":7387},[6995,58295,7615],{"class":7000},[6995,58297,58298],{"class":244,"line":7398},[6995,58299,7047],{"class":7000},[852,58301,58302,58310],{},[59,58303,58304,2231,58306,34230,58308,34234],{},[611,58305,8665],{},[611,58307,32955],{},[175,58309,32902],{"href":34233},[59,58311,58312,35184,58314,34673],{},[611,58313,35183],{},[175,58315,18293],{"href":18292},[11,58317,35314],{"id":35314},[34,58319,46718],{},[34,58321,58322],{},[611,58323,7052],{},[616,58325,58326],{"className":6989,"code":46725,"language":6991,"meta":14,"style":14},[611,58327,58328,58332,58342,58352,58358,58368,58378,58382],{"__ignoreMap":14},[6995,58329,58330],{"class":244,"line":6997},[6995,58331,7001],{"class":7000},[6995,58333,58334,58336,58338,58340],{"class":244,"line":15},[6995,58335,7066],{"class":7006},[6995,58337,7024],{"class":7000},[6995,58339,46740],{"class":7012},[6995,58341,7030],{"class":7000},[6995,58343,58344,58346,58348,58350],{"class":244,"line":154},[6995,58345,7078],{"class":7006},[6995,58347,7024],{"class":7000},[6995,58349,7013],{"class":7012},[6995,58351,7030],{"class":7000},[6995,58353,58354,58356],{"class":244,"line":7033},[6995,58355,7089],{"class":7006},[6995,58357,7092],{"class":7000},[6995,58359,58360,58362,58364,58366],{"class":244,"line":7044},[6995,58361,46763],{"class":7006},[6995,58363,7024],{"class":7000},[6995,58365,8689],{"class":7006},[6995,58367,7030],{"class":7000},[6995,58369,58370,58372,58374,58376],{"class":244,"line":7107},[6995,58371,46774],{"class":7006},[6995,58373,7024],{"class":7000},[6995,58375,11094],{"class":7006},[6995,58377,7030],{"class":7000},[6995,58379,58380],{"class":244,"line":7120},[6995,58381,7467],{"class":7000},[6995,58383,58384],{"class":244,"line":7133},[6995,58385,7047],{"class":7000},[852,58387,58388,58394,58400],{},[59,58389,58390,46796,58392,46799],{},[611,58391,46795],{},[611,58393,8689],{},[59,58395,58396,10072,58398,46807],{},[611,58397,46804],{},[611,58399,8689],{},[59,58401,58402,46813],{},[611,58403,46812],{},[41,58405,35467],{"id":35467},[34,58407,46818],{},[34,58409,58410],{},[611,58411,6986],{},[616,58413,58414],{"className":6989,"code":46825,"language":6991,"meta":14,"style":14},[611,58415,58416,58420,58430,58440,58450,58456,58460,58470,58478,58482],{"__ignoreMap":14},[6995,58417,58418],{"class":244,"line":6997},[6995,58419,7001],{"class":7000},[6995,58421,58422,58424,58426,58428],{"class":244,"line":15},[6995,58423,7007],{"class":7006},[6995,58425,5102],{"class":7000},[6995,58427,7013],{"class":7012},[6995,58429,7016],{"class":7000},[6995,58431,58432,58434,58436,58438],{"class":244,"line":154},[6995,58433,7021],{"class":7006},[6995,58435,7024],{"class":7000},[6995,58437,6679],{"class":7006},[6995,58439,7030],{"class":7000},[6995,58441,58442,58444,58446,58448],{"class":244,"line":7033},[6995,58443,7036],{"class":7006},[6995,58445,7024],{"class":7000},[6995,58447,46860],{"class":7012},[6995,58449,7016],{"class":7000},[6995,58451,58452,58454],{"class":244,"line":7044},[6995,58453,7529],{"class":7006},[6995,58455,7532],{"class":7000},[6995,58457,58458],{"class":244,"line":7107},[6995,58459,7537],{"class":7000},[6995,58461,58462,58464,58466,58468],{"class":244,"line":7120},[6995,58463,46877],{"class":7006},[6995,58465,7746],{"class":7000},[6995,58467,46882],{"class":7012},[6995,58469,7030],{"class":7000},[6995,58471,58472,58474,58476],{"class":244,"line":7133},[6995,58473,46889],{"class":7006},[6995,58475,7024],{"class":7000},[6995,58477,46894],{"class":7012},[6995,58479,58480],{"class":244,"line":7146},[6995,58481,7615],{"class":7000},[6995,58483,58484],{"class":244,"line":7159},[6995,58485,7047],{"class":7000},[852,58487,58488,58492],{},[59,58489,58490,46909],{},[611,58491,17982],{},[59,58493,58494,46915],{},[611,58495,46914],{},[34,58497,58498],{},[611,58499,7052],{},[616,58501,58502],{"className":6989,"code":46922,"language":6991,"meta":14,"style":14},[611,58503,58504,58508,58518,58528,58534,58538,58546,58550],{"__ignoreMap":14},[6995,58505,58506],{"class":244,"line":6997},[6995,58507,7001],{"class":7000},[6995,58509,58510,58512,58514,58516],{"class":244,"line":15},[6995,58511,7007],{"class":7006},[6995,58513,5102],{"class":7000},[6995,58515,7013],{"class":7012},[6995,58517,7016],{"class":7000},[6995,58519,58520,58522,58524,58526],{"class":244,"line":154},[6995,58521,7021],{"class":7006},[6995,58523,7024],{"class":7000},[6995,58525,6679],{"class":7006},[6995,58527,7030],{"class":7000},[6995,58529,58530,58532],{"class":244,"line":7033},[6995,58531,7732],{"class":7006},[6995,58533,11893],{"class":7000},[6995,58535,58536],{"class":244,"line":7044},[6995,58537,7537],{"class":7000},[6995,58539,58540,58542,58544],{"class":244,"line":7107},[6995,58541,46963],{"class":7006},[6995,58543,7746],{"class":7000},[6995,58545,46968],{"class":7012},[6995,58547,58548],{"class":244,"line":7120},[6995,58549,7615],{"class":7000},[6995,58551,58552],{"class":244,"line":7133},[6995,58553,7047],{"class":7000},[852,58555,58556],{},[59,58557,58558,46984],{},[611,58559,46983],{},[41,58561,35475],{"id":35475},[34,58563,46989],{},[34,58565,58566],{},[611,58567,6986],{},[616,58569,58570],{"className":6989,"code":46996,"language":6991,"meta":14,"style":14},[611,58571,58572,58576,58586,58596,58606,58612,58616,58626,58636,58644,58648],{"__ignoreMap":14},[6995,58573,58574],{"class":244,"line":6997},[6995,58575,7001],{"class":7000},[6995,58577,58578,58580,58582,58584],{"class":244,"line":15},[6995,58579,7007],{"class":7006},[6995,58581,5102],{"class":7000},[6995,58583,7013],{"class":7012},[6995,58585,7016],{"class":7000},[6995,58587,58588,58590,58592,58594],{"class":244,"line":154},[6995,58589,7021],{"class":7006},[6995,58591,7024],{"class":7000},[6995,58593,6679],{"class":7006},[6995,58595,7030],{"class":7000},[6995,58597,58598,58600,58602,58604],{"class":244,"line":7033},[6995,58599,7036],{"class":7006},[6995,58601,7024],{"class":7000},[6995,58603,47031],{"class":7012},[6995,58605,7016],{"class":7000},[6995,58607,58608,58610],{"class":244,"line":7044},[6995,58609,7529],{"class":7006},[6995,58611,7532],{"class":7000},[6995,58613,58614],{"class":244,"line":7107},[6995,58615,7537],{"class":7000},[6995,58617,58618,58620,58622,58624],{"class":244,"line":7120},[6995,58619,46877],{"class":7006},[6995,58621,7746],{"class":7000},[6995,58623,46882],{"class":7012},[6995,58625,7030],{"class":7000},[6995,58627,58628,58630,58632,58634],{"class":244,"line":7133},[6995,58629,47058],{"class":7006},[6995,58631,7024],{"class":7000},[6995,58633,47063],{"class":7012},[6995,58635,7030],{"class":7000},[6995,58637,58638,58640,58642],{"class":244,"line":7146},[6995,58639,46963],{"class":7006},[6995,58641,7024],{"class":7000},[6995,58643,46968],{"class":7012},[6995,58645,58646],{"class":244,"line":7159},[6995,58647,7615],{"class":7000},[6995,58649,58650],{"class":244,"line":7172},[6995,58651,7047],{"class":7000},[852,58653,58654,58658,58662],{},[59,58655,58656,46909],{},[611,58657,17982],{},[59,58659,58660,47093],{},[611,58661,47092],{},[59,58663,58664,47098],{},[611,58665,46983],{},[34,58667,58668],{},[611,58669,7052],{},[616,58671,58672],{"className":6989,"code":47105,"language":6991,"meta":14,"style":14},[611,58673,58674,58678,58688,58698,58706],{"__ignoreMap":14},[6995,58675,58676],{"class":244,"line":6997},[6995,58677,7001],{"class":7000},[6995,58679,58680,58682,58684,58686],{"class":244,"line":15},[6995,58681,7007],{"class":7006},[6995,58683,5102],{"class":7000},[6995,58685,7013],{"class":7012},[6995,58687,7016],{"class":7000},[6995,58689,58690,58692,58694,58696],{"class":244,"line":154},[6995,58691,7021],{"class":7006},[6995,58693,7024],{"class":7000},[6995,58695,6679],{"class":7006},[6995,58697,7030],{"class":7000},[6995,58699,58700,58702,58704],{"class":244,"line":7033},[6995,58701,7732],{"class":7006},[6995,58703,7746],{"class":7000},[6995,58705,8505],{"class":7006},[6995,58707,58708],{"class":244,"line":7044},[6995,58709,7047],{"class":7000},[41,58711,47235],{"id":47235},[34,58713,58714],{},"Derives per-seed, per-app (if called from DApp), per-tag unique ID for DApps use.",[34,58716,58717],{},[611,58718,6986],{},[616,58720,58722],{"className":6989,"code":58721,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"derive_id\", \n    \"params\":\n    {\n        \"tag\" : \"anything\",\n    }\n}\n",[611,58723,58724,58728,58738,58748,58759,58765,58769,58781,58785],{"__ignoreMap":14},[6995,58725,58726],{"class":244,"line":6997},[6995,58727,7001],{"class":7000},[6995,58729,58730,58732,58734,58736],{"class":244,"line":15},[6995,58731,7007],{"class":7006},[6995,58733,5102],{"class":7000},[6995,58735,7013],{"class":7012},[6995,58737,7016],{"class":7000},[6995,58739,58740,58742,58744,58746],{"class":244,"line":154},[6995,58741,7021],{"class":7006},[6995,58743,7024],{"class":7000},[6995,58745,6679],{"class":7006},[6995,58747,7030],{"class":7000},[6995,58749,58750,58752,58754,58757],{"class":244,"line":7033},[6995,58751,7036],{"class":7006},[6995,58753,7024],{"class":7000},[6995,58755,58756],{"class":7012},"\"derive_id\"",[6995,58758,7016],{"class":7000},[6995,58760,58761,58763],{"class":244,"line":7044},[6995,58762,7529],{"class":7006},[6995,58764,7532],{"class":7000},[6995,58766,58767],{"class":244,"line":7107},[6995,58768,7537],{"class":7000},[6995,58770,58771,58774,58776,58779],{"class":244,"line":7120},[6995,58772,58773],{"class":7006},"        \"tag\"",[6995,58775,7746],{"class":7000},[6995,58777,58778],{"class":7012},"\"anything\"",[6995,58780,7030],{"class":7000},[6995,58782,58783],{"class":244,"line":7133},[6995,58784,7615],{"class":7000},[6995,58786,58787],{"class":244,"line":7146},[6995,58788,7047],{"class":7000},[852,58790,58791],{},[59,58792,58793,58796],{},[611,58794,58795],{},"tag"," arbitrary string, cannot be empty. Every dapp would have different ID even with the same tag.",[34,58798,58799],{},[611,58800,7052],{},[616,58802,58804],{"className":6989,"code":58803,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : {\n       \"hash\": \"bd1109eb4499d4c420c66d7b827f10ec3b6171a58f22c6c2f6168fdc58db595c01\"\n    }\n}\n",[611,58805,58806,58810,58820,58830,58837,58847,58851],{"__ignoreMap":14},[6995,58807,58808],{"class":244,"line":6997},[6995,58809,7001],{"class":7000},[6995,58811,58812,58814,58816,58818],{"class":244,"line":15},[6995,58813,7007],{"class":7006},[6995,58815,5102],{"class":7000},[6995,58817,7013],{"class":7012},[6995,58819,7016],{"class":7000},[6995,58821,58822,58824,58826,58828],{"class":244,"line":154},[6995,58823,7021],{"class":7006},[6995,58825,7024],{"class":7000},[6995,58827,6679],{"class":7006},[6995,58829,7030],{"class":7000},[6995,58831,58832,58834],{"class":244,"line":7033},[6995,58833,7732],{"class":7006},[6995,58835,58836],{"class":7000}," : {\n",[6995,58838,58839,58842,58844],{"class":244,"line":7044},[6995,58840,58841],{"class":7006},"       \"hash\"",[6995,58843,7024],{"class":7000},[6995,58845,58846],{"class":7012},"\"bd1109eb4499d4c420c66d7b827f10ec3b6171a58f22c6c2f6168fdc58db595c01\"\n",[6995,58848,58849],{"class":244,"line":7107},[6995,58850,7615],{"class":7000},[6995,58852,58853],{"class":244,"line":7120},[6995,58854,7047],{"class":7000},[8692,58856,14042],{},{"title":14,"searchDepth":15,"depth":15,"links":58858},[58859,58862,58863,58868,58869,58870,58871,58872,58875,58876,58877,58878,58879,58880,58881,58882,58883,58884,58885,58890,58891,58892,58893,58894,58895,58896,58901,58902,58903,58904,58905,58906,58907,58908,58909,58910,58911,58912,58913,58914,58915,58916,58917,58918,58919,58920],{"id":47224,"depth":15,"text":47225,"children":58860},[58861],{"id":25463,"depth":154,"text":25464},{"id":18076,"depth":15,"text":18077},{"id":18219,"depth":15,"text":18220,"children":58864},[58865,58866,58867],{"id":35560,"depth":154,"text":35561},{"id":35742,"depth":154,"text":35743},{"id":35796,"depth":154,"text":35797},{"id":32868,"depth":15,"text":35809},{"id":24476,"depth":15,"text":24477},{"id":12194,"depth":15,"text":12194},{"id":11852,"depth":15,"text":11852},{"id":18255,"depth":15,"text":18255,"children":58873},[58874],{"id":19226,"depth":154,"text":8763},{"id":18239,"depth":15,"text":18239},{"id":18247,"depth":15,"text":18247},{"id":6905,"depth":15,"text":6905},{"id":6910,"depth":15,"text":6910},{"id":6920,"depth":15,"text":6920},{"id":6925,"depth":15,"text":6925},{"id":6930,"depth":15,"text":6930},{"id":18306,"depth":15,"text":18306},{"id":18314,"depth":15,"text":18314},{"id":18293,"depth":15,"text":18293},{"id":18327,"depth":15,"text":18327,"children":58886},[58887,58888,58889],{"id":21955,"depth":154,"text":21956},{"id":21959,"depth":154,"text":21960},{"id":22039,"depth":154,"text":22040},{"id":6900,"depth":15,"text":6900},{"id":18014,"depth":15,"text":18014},{"id":6935,"depth":15,"text":6935},{"id":18340,"depth":15,"text":18340},{"id":18348,"depth":15,"text":18348},{"id":18356,"depth":15,"text":18356},{"id":18385,"depth":15,"text":18385,"children":58897},[58898,58899,58900],{"id":24483,"depth":154,"text":24484},{"id":24490,"depth":154,"text":24491},{"id":31749,"depth":154,"text":31750},{"id":18396,"depth":15,"text":18396},{"id":6940,"depth":15,"text":6940},{"id":18406,"depth":15,"text":18406},{"id":25472,"depth":15,"text":25472},{"id":35407,"depth":15,"text":35407},{"id":35417,"depth":15,"text":35417},{"id":35427,"depth":15,"text":35427},{"id":35437,"depth":15,"text":35437},{"id":35447,"depth":15,"text":35447},{"id":35457,"depth":15,"text":35457},{"id":25480,"depth":15,"text":25480},{"id":25551,"depth":15,"text":25551},{"id":25559,"depth":15,"text":25559},{"id":25567,"depth":15,"text":25567},{"id":25575,"depth":15,"text":25575},{"id":25581,"depth":15,"text":25581},{"id":25587,"depth":15,"text":25587},{"id":35467,"depth":15,"text":35467},{"id":35475,"depth":15,"text":35475},{"id":47235,"depth":15,"text":47235},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v7.1",{"description":14},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.1","c69zdNhpmurqYi-UazkzENtbePBbWYQRBM1jlF2OS-0",{"id":58927,"title":58928,"body":58929,"description":14,"extension":17,"image":18,"meta":71636,"navTitle":18,"navigation":20,"path":71637,"seo":71638,"stem":71639,"__hash__":71640},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.2.md","Beam Wallet Protocol API V72",{"type":8,"value":58930,"toc":71567},[58931,58935,58937,58943,58969,58971,58973,59025,59027,59029,59213,59215,59265,59269,59278,59282,59290,59308,59310,59316,59356,59410,59412,59414,59416,59418,59422,59516,59601,59623,59627,59667,59669,59673,59677,59741,59745,59829,59843,59845,59847,59851,59915,59925,59929,60093,60133,60135,60143,60145,60147,60151,60215,60219,60259,60261,60269,60273,60357,60361,60401,60403,60405,60409,60533,60581,60587,60591,60645,60649,60651,60653,60657,60661,60757,60761,60815,60837,60839,60843,60847,60851,60925,60947,60953,60957,61011,61015,61017,61021,61025,61029,61103,61125,61131,61135,61189,61193,61195,61199,61203,61207,61271,61285,61287,61291,61345,61349,61351,61353,61357,61421,61427,61431,61471,61477,61479,61481,61485,61549,61555,61559,61599,61605,61607,61611,61615,61689,61703,61707,61931,61933,61935,61939,62057,62083,62087,62095,62099,62745,62851,62853,62855,62905,62907,62927,62931,62933,62935,62939,62979,62983,63129,63159,63163,63167,63227,63233,63237,63981,64073,64083,64099,64101,64103,64107,64211,64231,64235,64369,64381,64385,64465,64469,64607,64643,64645,64649,64653,64717,64727,64731,64943,64947,65006,65008,65010,65014,65054,65058,65098,65100,65104,65108,65172,65176,65230,65238,65242,65244,65248,65252,65316,65320,65424,65450,65454,65456,65458,65460,65464,65546,65548,65552,65626,65652,65658,65662,65796,65812,65814,65816,65818,65824,65828,65898,65902,65968,65970,65976,65990,65992,65994,65998,66068,66076,66080,66130,66136,66138,66142,66146,66240,66244,66348,66350,66390,66392,66394,66398,66462,66468,66472,66626,66672,66674,66676,66680,66720,66724,66854,66867,66869,66871,66875,66967,66985,66989,67053,67063,67065,67067,67071,67153,67163,67167,67221,67227,67229,67231,67235,67309,67319,67323,67397,67407,67409,67413,67417,67491,67501,67505,67559,67565,67567,67571,67575,67639,67645,67649,67703,67709,67711,67713,67717,67781,67787,67791,67845,67851,67853,67855,67859,67969,67973,68013,68021,68023,68025,68031,68033,68037,68187,68203,68207,68357,68363,68367,68707,68721,68723,68725,68729,68859,68861,68863,68867,69191,69205,69207,69211,69213,69217,69313,69329,69331,69335,69581,69597,69599,69603,69607,69775,69791,69793,69795,69799,70063,70079,70081,70083,70087,70149,70167,70169,70171,70175,70249,70259,70263,70317,70323,70325,70327,70331,70415,70429,70433,70473,70475,70477,70481,70547,70553,70557,70607,70609,70612,70616,70658,70662,70934,70936,70939,70943,71061,71065,71220,71222,71225,71229,71293,71297,71338,71340,71343,71347,71410,71414,71565],[41,58932,58934],{"id":58933},"whats-new-in-v72","What's new in v7.2",[48,58936,25464],{"id":25463},[34,58938,58939,58940],{},"If you build wallet-api with BEAM_ASSET_SWAP_SUPPORT then you can use additional ",[6995,58941,58942],{},"ASSET SWAP API methods",[852,58944,58945,58951,58957,58963],{},[59,58946,58947],{},[175,58948,58950],{"href":58949},"#assets_swap_offers_list","assets_swap_offers_list",[59,58952,58953],{},[175,58954,58956],{"href":58955},"#assets_swap_create","assets_swap_create",[59,58958,58959],{},[175,58960,58962],{"href":58961},"#assets_swap_cancel","assets_swap_cancel",[59,58964,58965],{},[175,58966,58968],{"href":58967},"#assets_swap_accept","assets_swap_accept",[41,58970,18077],{"id":18076},[34,58972,18080],{},[852,58974,58975,58977,58979,58981,58983,58985,58987,58989,58991,58993,58995,58997,58999,59001,59003,59005,59007,59009,59011,59013,59015,59017,59019,59021,59023],{},[59,58976,18085],{},[59,58978,18088],{},[59,58980,18091],{},[59,58982,18094],{},[59,58984,18097],{},[59,58986,18100],{},[59,58988,18103],{},[59,58990,25612],{},[59,58992,18168],{},[59,58994,18171],{},[59,58996,18174],{},[59,58998,18177],{},[59,59000,18180],{},[59,59002,18183],{},[59,59004,18186],{},[59,59006,18189],{},[59,59008,18192],{},[59,59010,18195],{},[59,59012,18198],{},[59,59014,18201],{},[59,59016,18204],{},[59,59018,18207],{},[59,59020,18210],{},[59,59022,18213],{},[59,59024,18216],{},[41,59026,18220],{"id":18219},[48,59028,35561],{"id":35560},[852,59030,59031,59037,59043,59049,59055,59061,59067,59071,59075,59081,59087,59091,59097,59103,59107,59113,59119,59125,59131,59137,59143,59147,59153,59161,59169,59177,59183,59189,59195,59201,59207],{},[59,59032,59033,98,59035],{},[175,59034,12194],{"href":18230},[241,59036],{"alt":14,"src":18233},[59,59038,59039,98,59041],{},[175,59040,18239],{"href":18238},[241,59042],{"alt":14,"src":18233},[59,59044,59045,98,59047],{},[175,59046,18247],{"href":18246},[241,59048],{"alt":14,"src":18233},[59,59050,59051,98,59053],{},[175,59052,18255],{"href":18254},[241,59054],{"alt":14,"src":18233},[59,59056,59057,98,59059],{},[175,59058,11852],{"href":18262},[241,59060],{"alt":14,"src":18233},[59,59062,59063,98,59065],{},[175,59064,6905],{"href":18269},[241,59066],{"alt":14,"src":18233},[59,59068,59069],{},[175,59070,6920],{"href":18276},[59,59072,59073],{},[175,59074,6925],{"href":18281},[59,59076,59077,98,59079],{},[175,59078,6930],{"href":8044},[241,59080],{"alt":14,"src":18233},[59,59082,59083,98,59085],{},[175,59084,18293],{"href":18292},[241,59086],{"alt":14,"src":18233},[59,59088,59089],{},[175,59090,6910],{"href":18300},[59,59092,59093,98,59095],{},[175,59094,18306],{"href":18305},[241,59096],{"alt":14,"src":18233},[59,59098,59099,98,59101],{},[175,59100,18314],{"href":18313},[241,59102],{"alt":14,"src":18233},[59,59104,59105],{},[175,59106,18014],{"href":18321},[59,59108,59109,98,59111],{},[175,59110,18327],{"href":18326},[241,59112],{"alt":14,"src":18233},[59,59114,59115,98,59117],{},[175,59116,6900],{"href":18334},[241,59118],{"alt":14,"src":18233},[59,59120,59121,98,59123],{},[175,59122,18340],{"href":18339},[241,59124],{"alt":14,"src":18233},[59,59126,59127,98,59129],{},[175,59128,18348],{"href":18347},[241,59130],{"alt":14,"src":18233},[59,59132,59133,98,59135],{},[175,59134,18356],{"href":18355},[241,59136],{"alt":14,"src":18233},[59,59138,59139,98,59141],{},[175,59140,6935],{"href":18363},[241,59142],{"alt":14,"src":18233},[59,59144,59145],{},[175,59146,18371],{"href":18370},[59,59148,59149,98,59151],{},[175,59150,18377],{"href":18376},[241,59152],{"alt":14,"src":18233},[59,59154,59155,98,59157,59159],{},[175,59156,18385],{"href":18384},[241,59158],{"alt":14,"src":18233},[241,59160],{"alt":14,"src":25783},[59,59162,59163,98,59165,59167],{},[175,59164,18396],{"href":18395},[241,59166],{"alt":14,"src":18233},[241,59168],{"alt":14,"src":25783},[59,59170,59171,98,59173,59175],{},[175,59172,18406],{"href":18405},[241,59174],{"alt":14,"src":18233},[241,59176],{"alt":14,"src":25783},[59,59178,59179,98,59181],{},[175,59180,6940],{"href":18415},[241,59182],{"alt":14,"src":18233},[59,59184,59185,98,59187],{},[175,59186,25472],{"href":25471},[241,59188],{"alt":14,"src":18233},[59,59190,59191,98,59193],{},[175,59192,25480],{"href":25479},[241,59194],{"alt":14,"src":18233},[59,59196,59197,98,59199],{},[175,59198,35467],{"href":35466},[241,59200],{"alt":14,"src":18233},[59,59202,59203,98,59205],{},[175,59204,35475],{"href":35474},[241,59206],{"alt":14,"src":18233},[59,59208,59209,98,59211],{},[175,59210,47235],{"href":47234},[241,59212],{"alt":14,"src":18233},[48,59214,35743],{"id":35742},[852,59216,59217,59225,59233,59241,59249,59257],{},[59,59218,59219,98,59221,59223],{},[175,59220,35407],{"href":35406},[241,59222],{"alt":14,"src":18233},[241,59224],{"alt":14,"src":25783},[59,59226,59227,98,59229,59231],{},[175,59228,35417],{"href":35416},[241,59230],{"alt":14,"src":18233},[241,59232],{"alt":14,"src":25783},[59,59234,59235,98,59237,59239],{},[175,59236,35427],{"href":35426},[241,59238],{"alt":14,"src":18233},[241,59240],{"alt":14,"src":25783},[59,59242,59243,98,59245,59247],{},[175,59244,35437],{"href":35436},[241,59246],{"alt":14,"src":18233},[241,59248],{"alt":14,"src":25783},[59,59250,59251,98,59253,59255],{},[175,59252,35447],{"href":35446},[241,59254],{"alt":14,"src":18233},[241,59256],{"alt":14,"src":25783},[59,59258,59259,98,59261,59263],{},[175,59260,35457],{"href":35456},[241,59262],{"alt":14,"src":18233},[241,59264],{"alt":14,"src":25783},[48,59266,59268],{"id":59267},"atomic-swap-methods","ATOMIC SWAP methods",[34,59270,18424,59271,18427,59273,18431,59275,181],{},[611,59272,6883],{},[611,59274,18430],{},[175,59276,18436],{"href":18434,"rel":59277},[179],[48,59279,59281],{"id":59280},"asset-swap-methods","ASSET SWAP methods",[34,59283,59284,59286,59287,59289],{},[611,59285,6883],{}," must be started with ",[611,59288,4979],{}," key",[852,59291,59292,59296,59300,59304],{},[59,59293,59294],{},[175,59295,58950],{"href":58949},[59,59297,59298],{},[175,59299,58956],{"href":58955},[59,59301,59302],{},[175,59303,58962],{"href":58961},[59,59305,59306],{},[175,59307,58968],{"href":58967},[41,59309,35809],{"id":32868},[34,59311,35812,59312,35815,59314,32909],{},[175,59313,25480],{"href":25479},[611,59315,32908],{},[852,59317,59318,59348,59354],{},[59,59319,59320,32916,59322],{},[611,59321,8665],{},[852,59323,59324,59330,59336,59342],{},[59,59325,59326,2231,59328,32926],{},[611,59327,7180],{},[611,59329,32925],{},[59,59331,59332,2231,59334,32934],{},[611,59333,6679],{},[611,59335,32933],{},[59,59337,59338,2231,59340,32942],{},[611,59339,7511],{},[611,59341,32941],{},[59,59343,59344,2231,59346,32950],{},[611,59345,11136],{},[611,59347,32949],{},[59,59349,59350,32956,59352,32959],{},[611,59351,35854],{},[611,59353,8665],{},[59,59355,32962],{},[852,59357,59358,59366,59374,59382,59388,59394,59402],{},[59,59359,59360,98,59362,59364],{},[175,59361,25551],{"href":25550},[241,59363],{"alt":14,"src":18233},[241,59365],{"alt":14,"src":25783},[59,59367,59368,98,59370,59372],{},[175,59369,25559],{"href":25558},[241,59371],{"alt":14,"src":18233},[241,59373],{"alt":14,"src":25783},[59,59375,59376,98,59378,59380],{},[175,59377,25567],{"href":25566},[241,59379],{"alt":14,"src":18233},[241,59381],{"alt":14,"src":25783},[59,59383,59384,98,59386],{},[175,59385,25575],{"href":25574},[241,59387],{"alt":14,"src":25783},[59,59389,59390,98,59392],{},[175,59391,25581],{"href":25580},[241,59393],{"alt":14,"src":25783},[59,59395,59396,98,59398,59400],{},[175,59397,25587],{"href":25586},[241,59399],{"alt":14,"src":18233},[241,59401],{"alt":14,"src":25783},[59,59403,59404,98,59406,59408],{},[175,59405,35314],{"href":35313},[241,59407],{"alt":14,"src":18233},[241,59409],{"alt":14,"src":25783},[41,59411,24477],{"id":24476},[34,59413,35917],{},[41,59415,12194],{"id":12194},[34,59417,18441],{},[34,59419,59420],{},[611,59421,6986],{},[616,59423,59424],{"className":6989,"code":18448,"language":6991,"meta":14,"style":14},[611,59425,59426,59430,59440,59450,59460,59466,59470,59480,59490,59500,59508,59512],{"__ignoreMap":14},[6995,59427,59428],{"class":244,"line":6997},[6995,59429,7001],{"class":7000},[6995,59431,59432,59434,59436,59438],{"class":244,"line":15},[6995,59433,7007],{"class":7006},[6995,59435,7024],{"class":7000},[6995,59437,7013],{"class":7012},[6995,59439,7016],{"class":7000},[6995,59441,59442,59444,59446,59448],{"class":244,"line":154},[6995,59443,7021],{"class":7006},[6995,59445,7024],{"class":7000},[6995,59447,6679],{"class":7006},[6995,59449,7030],{"class":7000},[6995,59451,59452,59454,59456,59458],{"class":244,"line":7033},[6995,59453,7036],{"class":7006},[6995,59455,7024],{"class":7000},[6995,59457,12237],{"class":7012},[6995,59459,7016],{"class":7000},[6995,59461,59462,59464],{"class":244,"line":7044},[6995,59463,7529],{"class":7006},[6995,59465,7532],{"class":7000},[6995,59467,59468],{"class":244,"line":7107},[6995,59469,7537],{"class":7000},[6995,59471,59472,59474,59476,59478],{"class":244,"line":7120},[6995,59473,11924],{"class":7006},[6995,59475,7024],{"class":7000},[6995,59477,12303],{"class":7012},[6995,59479,7030],{"class":7000},[6995,59481,59482,59484,59486,59488],{"class":244,"line":7133},[6995,59483,12268],{"class":7006},[6995,59485,7024],{"class":7000},[6995,59487,12273],{"class":7012},[6995,59489,7030],{"class":7000},[6995,59491,59492,59494,59496,59498],{"class":244,"line":7146},[6995,59493,7588],{"class":7006},[6995,59495,7024],{"class":7000},[6995,59497,18523],{"class":7012},[6995,59499,7030],{"class":7000},[6995,59501,59502,59504,59506],{"class":244,"line":7159},[6995,59503,18530],{"class":7006},[6995,59505,7746],{"class":7000},[6995,59507,8505],{"class":7006},[6995,59509,59510],{"class":244,"line":7172},[6995,59511,7615],{"class":7000},[6995,59513,59514],{"class":244,"line":7185},[6995,59515,7047],{"class":7000},[852,59517,59518,59553,59573,59577,59591],{},[59,59519,59520,11963,59522,59544,18578,59546,18584,59549,18587,59551],{},[611,59521,11962],{},[852,59523,59524,59528,59532,59536,59540],{},[59,59525,59526,18555],{},[611,59527,11803],{},[59,59529,59530,18560],{},[611,59531,11810],{},[59,59533,59534,18565],{},[611,59535,11989],{},[59,59537,59538,18570],{},[611,59539,12000],{},[59,59541,59542,18575],{},[611,59543,12010],{},[4953,59545],{},[175,59547,18583],{"href":18581,"rel":59548},[179],[611,59550,11810],{},[611,59552,18590],{},[59,59554,59555,59557,59567,18612,59569,18616,59571,18619],{},[611,59556,18595],{},[852,59558,59559,59563],{},[59,59560,18600,59561,181],{},[611,59562,18603],{},[59,59564,18606,59565,181],{},[611,59566,18609],{},[4953,59568],{},[611,59570,18615],{},[611,59572,18615],{},[59,59574,59575,18625],{},[611,59576,18624],{},[59,59578,59579,18631,59581,18634,59583,18637,59585,18641,59587,18645,59589,181],{},[611,59580,18630],{},[611,59582,8689],{},[611,59584,11803],{},[611,59586,18640],{},[611,59588,18644],{},[611,59590,18648],{},[59,59592,59593,18654,59595,18657,59597,18660,59599,181],{},[611,59594,18653],{},[611,59596,11810],{},[611,59598,6679],{},[611,59600,18663],{},[34,59602,18666,59603,18669,59605,18672,59607,18675,59609,18678,59611,2231,59613,1475,59615,18685,59617,10670,59619,10670,59621,18692],{},[611,59604,738],{},[175,59606,15797],{"href":18269},[611,59608,12315],{},[611,59610,6883],{},[611,59612,11810],{},[611,59614,11989],{},[611,59616,12000],{},[611,59618,11810],{},[611,59620,11989],{},[611,59622,12000],{},[34,59624,59625],{},[611,59626,7052],{},[616,59628,59629],{"className":6989,"code":18699,"language":6991,"meta":14,"style":14},[611,59630,59631,59635,59645,59655,59663],{"__ignoreMap":14},[6995,59632,59633],{"class":244,"line":6997},[6995,59634,7001],{"class":7000},[6995,59636,59637,59639,59641,59643],{"class":244,"line":15},[6995,59638,7007],{"class":7006},[6995,59640,7746],{"class":7000},[6995,59642,7013],{"class":7012},[6995,59644,7016],{"class":7000},[6995,59646,59647,59649,59651,59653],{"class":244,"line":154},[6995,59648,7021],{"class":7006},[6995,59650,7746],{"class":7000},[6995,59652,6679],{"class":7006},[6995,59654,7030],{"class":7000},[6995,59656,59657,59659,59661],{"class":244,"line":7033},[6995,59658,7732],{"class":7006},[6995,59660,7746],{"class":7000},[6995,59662,18734],{"class":7012},[6995,59664,59665],{"class":244,"line":7044},[6995,59666,7047],{"class":7000},[41,59668,11852],{"id":11852},[34,59670,18743,59671,18747],{},[611,59672,18746],{},[34,59674,59675],{},[611,59676,6986],{},[616,59678,59679],{"className":6989,"code":18754,"language":6991,"meta":14,"style":14},[611,59680,59681,59685,59695,59705,59715,59721,59725,59733,59737],{"__ignoreMap":14},[6995,59682,59683],{"class":244,"line":6997},[6995,59684,7001],{"class":7000},[6995,59686,59687,59689,59691,59693],{"class":244,"line":15},[6995,59688,7007],{"class":7006},[6995,59690,5102],{"class":7000},[6995,59692,7013],{"class":7012},[6995,59694,7016],{"class":7000},[6995,59696,59697,59699,59701,59703],{"class":244,"line":154},[6995,59698,7021],{"class":7006},[6995,59700,7024],{"class":7000},[6995,59702,6679],{"class":7006},[6995,59704,7030],{"class":7000},[6995,59706,59707,59709,59711,59713],{"class":244,"line":7033},[6995,59708,7036],{"class":7006},[6995,59710,7024],{"class":7000},[6995,59712,18789],{"class":7012},[6995,59714,7016],{"class":7000},[6995,59716,59717,59719],{"class":244,"line":7044},[6995,59718,7529],{"class":7006},[6995,59720,7532],{"class":7000},[6995,59722,59723],{"class":244,"line":7107},[6995,59724,7537],{"class":7000},[6995,59726,59727,59729,59731],{"class":244,"line":7120},[6995,59728,7577],{"class":7006},[6995,59730,7746],{"class":7000},[6995,59732,18734],{"class":7012},[6995,59734,59735],{"class":244,"line":7133},[6995,59736,7615],{"class":7000},[6995,59738,59739],{"class":244,"line":7146},[6995,59740,7047],{"class":7000},[34,59742,59743],{},[611,59744,7052],{},[616,59746,59747],{"className":6989,"code":18824,"language":6991,"meta":14,"style":14},[611,59748,59749,59753,59763,59773,59779,59783,59793,59803,59813,59821,59825],{"__ignoreMap":14},[6995,59750,59751],{"class":244,"line":6997},[6995,59752,7001],{"class":7000},[6995,59754,59755,59757,59759,59761],{"class":244,"line":15},[6995,59756,7007],{"class":7006},[6995,59758,5102],{"class":7000},[6995,59760,7013],{"class":7012},[6995,59762,7016],{"class":7000},[6995,59764,59765,59767,59769,59771],{"class":244,"line":154},[6995,59766,7021],{"class":7006},[6995,59768,7024],{"class":7000},[6995,59770,6679],{"class":7006},[6995,59772,7030],{"class":7000},[6995,59774,59775,59777],{"class":244,"line":7033},[6995,59776,7732],{"class":7006},[6995,59778,11893],{"class":7000},[6995,59780,59781],{"class":244,"line":7044},[6995,59782,7537],{"class":7000},[6995,59784,59785,59787,59789,59791],{"class":244,"line":7107},[6995,59786,11902],{"class":7006},[6995,59788,7746],{"class":7000},[6995,59790,8689],{"class":7006},[6995,59792,7030],{"class":7000},[6995,59794,59795,59797,59799,59801],{"class":244,"line":7120},[6995,59796,11913],{"class":7006},[6995,59798,7746],{"class":7000},[6995,59800,11094],{"class":7006},[6995,59802,7030],{"class":7000},[6995,59804,59805,59807,59809,59811],{"class":244,"line":7133},[6995,59806,11924],{"class":7006},[6995,59808,7024],{"class":7000},[6995,59810,11929],{"class":7012},[6995,59812,7016],{"class":7000},[6995,59814,59815,59817,59819],{"class":244,"line":7146},[6995,59816,11940],{"class":7006},[6995,59818,7024],{"class":7000},[6995,59820,18899],{"class":7006},[6995,59822,59823],{"class":244,"line":7159},[6995,59824,7615],{"class":7000},[6995,59826,59827],{"class":244,"line":7172},[6995,59828,7047],{"class":7000},[852,59830,59831,59837],{},[59,59832,59833,18914,59835,18917],{},[611,59834,11962],{},[175,59836,12194],{"href":18230},[59,59838,59839,18922,59841,12022],{},[611,59840,12018],{},[611,59842,11810],{},[41,59844,18255],{"id":18255},[34,59846,18929],{},[34,59848,59849],{},[611,59850,6986],{},[616,59852,59853],{"className":6989,"code":18936,"language":6991,"meta":14,"style":14},[611,59854,59855,59859,59869,59879,59889,59895,59899,59907,59911],{"__ignoreMap":14},[6995,59856,59857],{"class":244,"line":6997},[6995,59858,7001],{"class":7000},[6995,59860,59861,59863,59865,59867],{"class":244,"line":15},[6995,59862,7007],{"class":7006},[6995,59864,5102],{"class":7000},[6995,59866,7013],{"class":7012},[6995,59868,7016],{"class":7000},[6995,59870,59871,59873,59875,59877],{"class":244,"line":154},[6995,59872,7021],{"class":7006},[6995,59874,7024],{"class":7000},[6995,59876,18961],{"class":7006},[6995,59878,7030],{"class":7000},[6995,59880,59881,59883,59885,59887],{"class":244,"line":7033},[6995,59882,7036],{"class":7006},[6995,59884,5102],{"class":7000},[6995,59886,18972],{"class":7012},[6995,59888,7030],{"class":7000},[6995,59890,59891,59893],{"class":244,"line":7044},[6995,59892,7529],{"class":7006},[6995,59894,7532],{"class":7000},[6995,59896,59897],{"class":244,"line":7107},[6995,59898,7537],{"class":7000},[6995,59900,59901,59903,59905],{"class":244,"line":7120},[6995,59902,18989],{"class":7006},[6995,59904,7746],{"class":7000},[6995,59906,8505],{"class":7006},[6995,59908,59909],{"class":244,"line":7133},[6995,59910,7615],{"class":7000},[6995,59912,59913],{"class":244,"line":7146},[6995,59914,7047],{"class":7000},[852,59916,59917],{},[59,59918,59919,19009,59921,19012,59923,19015],{},[611,59920,19008],{},[611,59922,8689],{},[611,59924,11094],{},[34,59926,59927],{},[611,59928,7052],{},[616,59930,59931],{"className":6989,"code":19022,"language":6991,"meta":14,"style":14},[611,59932,59933,59937,59947,59957,59963,59967,59977,59987,59997,60007,60017,60027,60037,60047,60057,60067,60077,60085,60089],{"__ignoreMap":14},[6995,59934,59935],{"class":244,"line":6997},[6995,59936,7001],{"class":7000},[6995,59938,59939,59941,59943,59945],{"class":244,"line":15},[6995,59940,7021],{"class":7006},[6995,59942,7024],{"class":7000},[6995,59944,18961],{"class":7006},[6995,59946,7030],{"class":7000},[6995,59948,59949,59951,59953,59955],{"class":244,"line":154},[6995,59950,7007],{"class":7006},[6995,59952,7024],{"class":7000},[6995,59954,7013],{"class":7012},[6995,59956,7030],{"class":7000},[6995,59958,59959,59961],{"class":244,"line":7033},[6995,59960,7732],{"class":7006},[6995,59962,7532],{"class":7000},[6995,59964,59965],{"class":244,"line":7044},[6995,59966,19059],{"class":7000},[6995,59968,59969,59971,59973,59975],{"class":244,"line":7107},[6995,59970,7577],{"class":7006},[6995,59972,7024],{"class":7000},[6995,59974,19068],{"class":7012},[6995,59976,7030],{"class":7000},[6995,59978,59979,59981,59983,59985],{"class":244,"line":7120},[6995,59980,19075],{"class":7006},[6995,59982,7024],{"class":7000},[6995,59984,19080],{"class":7012},[6995,59986,7030],{"class":7000},[6995,59988,59989,59991,59993,59995],{"class":244,"line":7133},[6995,59990,19087],{"class":7006},[6995,59992,7024],{"class":7000},[6995,59994,19092],{"class":7006},[6995,59996,7030],{"class":7000},[6995,59998,59999,60001,60003,60005],{"class":244,"line":7146},[6995,60000,19099],{"class":7006},[6995,60002,7024],{"class":7000},[6995,60004,19104],{"class":7006},[6995,60006,7030],{"class":7000},[6995,60008,60009,60011,60013,60015],{"class":244,"line":7159},[6995,60010,19111],{"class":7006},[6995,60012,7024],{"class":7000},[6995,60014,8689],{"class":7006},[6995,60016,7030],{"class":7000},[6995,60018,60019,60021,60023,60025],{"class":244,"line":7172},[6995,60020,7588],{"class":7006},[6995,60022,7024],{"class":7000},[6995,60024,19080],{"class":7012},[6995,60026,7030],{"class":7000},[6995,60028,60029,60031,60033,60035],{"class":244,"line":7185},[6995,60030,18989],{"class":7006},[6995,60032,7024],{"class":7000},[6995,60034,8689],{"class":7006},[6995,60036,7030],{"class":7000},[6995,60038,60039,60041,60043,60045],{"class":244,"line":7198},[6995,60040,19142],{"class":7006},[6995,60042,7024],{"class":7000},[6995,60044,19147],{"class":7006},[6995,60046,7030],{"class":7000},[6995,60048,60049,60051,60053,60055],{"class":244,"line":7211},[6995,60050,19154],{"class":7006},[6995,60052,7024],{"class":7000},[6995,60054,19159],{"class":7012},[6995,60056,7030],{"class":7000},[6995,60058,60059,60061,60063,60065],{"class":244,"line":7220},[6995,60060,19166],{"class":7006},[6995,60062,7024],{"class":7000},[6995,60064,19171],{"class":7012},[6995,60066,7030],{"class":7000},[6995,60068,60069,60071,60073,60075],{"class":244,"line":7226},[6995,60070,11924],{"class":7006},[6995,60072,7024],{"class":7000},[6995,60074,12303],{"class":7012},[6995,60076,7030],{"class":7000},[6995,60078,60079,60081,60083],{"class":244,"line":7238},[6995,60080,19188],{"class":7006},[6995,60082,7024],{"class":7000},[6995,60084,19193],{"class":7012},[6995,60086,60087],{"class":244,"line":7250},[6995,60088,19198],{"class":7000},[6995,60090,60091],{"class":244,"line":7263},[6995,60092,7047],{"class":7000},[852,60094,60095,60099,60103,60107,60111,60117],{},[59,60096,60097,19209],{},[611,60098,738],{},[59,60100,60101,19215],{},[611,60102,19214],{},[59,60104,60105,19221],{},[611,60106,19220],{},[59,60108,60109,26526],{},[611,60110,19226],{},[59,60112,60113,19232,60115,19235],{},[611,60114,11962],{},[175,60116,12194],{"href":18230},[59,60118,60119,19241,60121,19244,60123,19247,60125,19250,60127,2231,60129,1475,60131,12028],{},[611,60120,19240],{},[611,60122,11989],{},[611,60124,19240],{},[611,60126,11989],{},[611,60128,11803],{},[611,60130,12010],{},[611,60132,11810],{},[48,60134,8763],{"id":19226},[34,60136,19261,60137,26555,60139,19267,60141,19271],{},[611,60138,19226],{},[611,60140,19226],{},[100,60142,19270],{},[41,60144,18239],{"id":18239},[34,60146,19276],{},[34,60148,60149],{},[611,60150,6986],{},[616,60152,60153],{"className":6989,"code":19283,"language":6991,"meta":14,"style":14},[611,60154,60155,60159,60169,60179,60189,60195,60199,60207,60211],{"__ignoreMap":14},[6995,60156,60157],{"class":244,"line":6997},[6995,60158,7001],{"class":7000},[6995,60160,60161,60163,60165,60167],{"class":244,"line":15},[6995,60162,7007],{"class":7006},[6995,60164,5102],{"class":7000},[6995,60166,7013],{"class":7012},[6995,60168,7016],{"class":7000},[6995,60170,60171,60173,60175,60177],{"class":244,"line":154},[6995,60172,7021],{"class":7006},[6995,60174,7024],{"class":7000},[6995,60176,18961],{"class":7006},[6995,60178,7030],{"class":7000},[6995,60180,60181,60183,60185,60187],{"class":244,"line":7033},[6995,60182,7036],{"class":7006},[6995,60184,5102],{"class":7000},[6995,60186,19318],{"class":7012},[6995,60188,7030],{"class":7000},[6995,60190,60191,60193],{"class":244,"line":7044},[6995,60192,7529],{"class":7006},[6995,60194,7532],{"class":7000},[6995,60196,60197],{"class":244,"line":7107},[6995,60198,7537],{"class":7000},[6995,60200,60201,60203,60205],{"class":244,"line":7120},[6995,60202,7577],{"class":7006},[6995,60204,7746],{"class":7000},[6995,60206,19193],{"class":7012},[6995,60208,60209],{"class":244,"line":7133},[6995,60210,7615],{"class":7000},[6995,60212,60213],{"class":244,"line":7146},[6995,60214,7047],{"class":7000},[34,60216,60217],{},[611,60218,7052],{},[616,60220,60221],{"className":6989,"code":19353,"language":6991,"meta":14,"style":14},[611,60222,60223,60227,60237,60247,60255],{"__ignoreMap":14},[6995,60224,60225],{"class":244,"line":6997},[6995,60226,7001],{"class":7000},[6995,60228,60229,60231,60233,60235],{"class":244,"line":15},[6995,60230,7021],{"class":7006},[6995,60232,7024],{"class":7000},[6995,60234,18961],{"class":7006},[6995,60236,7030],{"class":7000},[6995,60238,60239,60241,60243,60245],{"class":244,"line":154},[6995,60240,7007],{"class":7006},[6995,60242,7024],{"class":7000},[6995,60244,7013],{"class":7012},[6995,60246,7030],{"class":7000},[6995,60248,60249,60251,60253],{"class":244,"line":7033},[6995,60250,7732],{"class":7006},[6995,60252,7024],{"class":7000},[6995,60254,19388],{"class":7012},[6995,60256,60257],{"class":244,"line":7044},[6995,60258,7047],{"class":7000},[41,60260,18247],{"id":18247},[34,60262,19397,60263,19400,60265,19403,60267,19406],{},[611,60264,18624],{},[611,60266,18595],{},[175,60268,12194],{"href":18230},[34,60270,60271],{},[611,60272,6986],{},[616,60274,60275],{"className":6989,"code":19413,"language":6991,"meta":14,"style":14},[611,60276,60277,60281,60291,60301,60311,60317,60321,60331,60341,60349,60353],{"__ignoreMap":14},[6995,60278,60279],{"class":244,"line":6997},[6995,60280,7001],{"class":7000},[6995,60282,60283,60285,60287,60289],{"class":244,"line":15},[6995,60284,7007],{"class":7006},[6995,60286,5102],{"class":7000},[6995,60288,7013],{"class":7012},[6995,60290,7016],{"class":7000},[6995,60292,60293,60295,60297,60299],{"class":244,"line":154},[6995,60294,7021],{"class":7006},[6995,60296,7024],{"class":7000},[6995,60298,18961],{"class":7006},[6995,60300,7030],{"class":7000},[6995,60302,60303,60305,60307,60309],{"class":244,"line":7033},[6995,60304,7036],{"class":7006},[6995,60306,5102],{"class":7000},[6995,60308,19448],{"class":7012},[6995,60310,7030],{"class":7000},[6995,60312,60313,60315],{"class":244,"line":7044},[6995,60314,7529],{"class":7006},[6995,60316,7532],{"class":7000},[6995,60318,60319],{"class":244,"line":7107},[6995,60320,7537],{"class":7000},[6995,60322,60323,60325,60327,60329],{"class":244,"line":7120},[6995,60324,7577],{"class":7006},[6995,60326,7746],{"class":7000},[6995,60328,19068],{"class":7012},[6995,60330,7030],{"class":7000},[6995,60332,60333,60335,60337,60339],{"class":244,"line":7133},[6995,60334,7588],{"class":7006},[6995,60336,7746],{"class":7000},[6995,60338,18523],{"class":7012},[6995,60340,7030],{"class":7000},[6995,60342,60343,60345,60347],{"class":244,"line":7146},[6995,60344,12268],{"class":7006},[6995,60346,7746],{"class":7000},[6995,60348,19489],{"class":7012},[6995,60350,60351],{"class":244,"line":7159},[6995,60352,7615],{"class":7000},[6995,60354,60355],{"class":244,"line":7172},[6995,60356,7047],{"class":7000},[34,60358,60359],{},[611,60360,7052],{},[616,60362,60363],{"className":6989,"code":19353,"language":6991,"meta":14,"style":14},[611,60364,60365,60369,60379,60389,60397],{"__ignoreMap":14},[6995,60366,60367],{"class":244,"line":6997},[6995,60368,7001],{"class":7000},[6995,60370,60371,60373,60375,60377],{"class":244,"line":15},[6995,60372,7021],{"class":7006},[6995,60374,7024],{"class":7000},[6995,60376,18961],{"class":7006},[6995,60378,7030],{"class":7000},[6995,60380,60381,60383,60385,60387],{"class":244,"line":154},[6995,60382,7007],{"class":7006},[6995,60384,7024],{"class":7000},[6995,60386,7013],{"class":7012},[6995,60388,7030],{"class":7000},[6995,60390,60391,60393,60395],{"class":244,"line":7033},[6995,60392,7732],{"class":7006},[6995,60394,7024],{"class":7000},[6995,60396,19388],{"class":7012},[6995,60398,60399],{"class":244,"line":7044},[6995,60400,7047],{"class":7000},[41,60402,6905],{"id":6905},[34,60404,19546],{},[34,60406,60407],{},[611,60408,6986],{},[616,60410,60411],{"className":6989,"code":19553,"language":6991,"meta":14,"style":14},[611,60412,60413,60417,60427,60437,60447,60453,60457,60467,60477,60487,60497,60507,60517,60525,60529],{"__ignoreMap":14},[6995,60414,60415],{"class":244,"line":6997},[6995,60416,7001],{"class":7000},[6995,60418,60419,60421,60423,60425],{"class":244,"line":15},[6995,60420,7007],{"class":7006},[6995,60422,5102],{"class":7000},[6995,60424,7013],{"class":7012},[6995,60426,7016],{"class":7000},[6995,60428,60429,60431,60433,60435],{"class":244,"line":154},[6995,60430,7021],{"class":7006},[6995,60432,7024],{"class":7000},[6995,60434,7511],{"class":7006},[6995,60436,7030],{"class":7000},[6995,60438,60439,60441,60443,60445],{"class":244,"line":7033},[6995,60440,7036],{"class":7006},[6995,60442,5102],{"class":7000},[6995,60444,7522],{"class":7012},[6995,60446,7016],{"class":7000},[6995,60448,60449,60451],{"class":244,"line":7044},[6995,60450,7529],{"class":7006},[6995,60452,7532],{"class":7000},[6995,60454,60455],{"class":244,"line":7107},[6995,60456,7537],{"class":7000},[6995,60458,60459,60461,60463,60465],{"class":244,"line":7120},[6995,60460,7542],{"class":7006},[6995,60462,7024],{"class":7000},[6995,60464,7547],{"class":7006},[6995,60466,7030],{"class":7000},[6995,60468,60469,60471,60473,60475],{"class":244,"line":7133},[6995,60470,7554],{"class":7006},[6995,60472,7024],{"class":7000},[6995,60474,7511],{"class":7006},[6995,60476,7030],{"class":7000},[6995,60478,60479,60481,60483,60485],{"class":244,"line":7146},[6995,60480,7565],{"class":7006},[6995,60482,7024],{"class":7000},[6995,60484,7570],{"class":7012},[6995,60486,7030],{"class":7000},[6995,60488,60489,60491,60493,60495],{"class":244,"line":7159},[6995,60490,7577],{"class":7006},[6995,60492,7024],{"class":7000},[6995,60494,7570],{"class":7012},[6995,60496,7030],{"class":7000},[6995,60498,60499,60501,60503,60505],{"class":244,"line":7172},[6995,60500,7588],{"class":7006},[6995,60502,7024],{"class":7000},[6995,60504,7593],{"class":7012},[6995,60506,7030],{"class":7000},[6995,60508,60509,60511,60513,60515],{"class":244,"line":7185},[6995,60510,7229],{"class":7006},[6995,60512,7024],{"class":7000},[6995,60514,6679],{"class":7006},[6995,60516,7030],{"class":7000},[6995,60518,60519,60521,60523],{"class":244,"line":7198},[6995,60520,12158],{"class":7006},[6995,60522,7024],{"class":7000},[6995,60524,19668],{"class":7006},[6995,60526,60527],{"class":244,"line":7211},[6995,60528,7615],{"class":7000},[6995,60530,60531],{"class":244,"line":7220},[6995,60532,7047],{"class":7000},[852,60534,60535,60539,60543,60547,60557,60561,60565,60573],{},[59,60536,60537,19683],{},[611,60538,8141],{},[59,60540,60541,19688],{},[611,60542,8147],{},[59,60544,60545,19694],{},[611,60546,19693],{},[59,60548,60549,19699,60551,19702,60553,1475,60555,181],{},[611,60550,738],{},[100,60552,11775],{},[611,60554,738],{},[611,60556,19226],{},[59,60558,60559,19711],{},[611,60560,18624],{},[59,60562,60563,19716],{},[611,60564,8158],{},[59,60566,60567,19721,60569,19724,60571,19727],{},[611,60568,6869],{},[611,60570,6869],{},[611,60572,4979],{},[59,60574,60575,19732,60577,19736,60579,19739],{},[611,60576,11810],{},[611,60578,19735],{},[611,60580,11810],{},[34,60582,19742,60583,19745,60585,19749],{},[611,60584,14350],{},[611,60586,19748],{},[34,60588,60589],{},[611,60590,7052],{},[616,60592,60593],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,60594,60595,60599,60609,60619,60625,60629,60637,60641],{"__ignoreMap":14},[6995,60596,60597],{"class":244,"line":6997},[6995,60598,7001],{"class":7000},[6995,60600,60601,60603,60605,60607],{"class":244,"line":15},[6995,60602,7007],{"class":7006},[6995,60604,5102],{"class":7000},[6995,60606,7013],{"class":7012},[6995,60608,7016],{"class":7000},[6995,60610,60611,60613,60615,60617],{"class":244,"line":154},[6995,60612,7021],{"class":7006},[6995,60614,7024],{"class":7000},[6995,60616,7511],{"class":7006},[6995,60618,7030],{"class":7000},[6995,60620,60621,60623],{"class":244,"line":7033},[6995,60622,7732],{"class":7006},[6995,60624,7532],{"class":7000},[6995,60626,60627],{"class":244,"line":7044},[6995,60628,7537],{"class":7000},[6995,60630,60631,60633,60635],{"class":244,"line":7107},[6995,60632,7743],{"class":7006},[6995,60634,7746],{"class":7000},[6995,60636,7749],{"class":7012},[6995,60638,60639],{"class":244,"line":7120},[6995,60640,7615],{"class":7000},[6995,60642,60643],{"class":244,"line":7133},[6995,60644,7047],{"class":7000},[34,60646,8221,60647,181],{},[175,60648,7985],{"href":19812},[41,60650,6910],{"id":6910},[34,60652,19817],{},[34,60654,19820,60655,19824],{},[611,60656,19823],{},[34,60658,60659],{},[611,60660,6986],{},[616,60662,60663],{"className":6989,"code":19831,"language":6991,"meta":14,"style":14},[611,60664,60665,60669,60679,60689,60699,60705,60709,60731,60741,60749,60753],{"__ignoreMap":14},[6995,60666,60667],{"class":244,"line":6997},[6995,60668,7001],{"class":7000},[6995,60670,60671,60673,60675,60677],{"class":244,"line":15},[6995,60672,7007],{"class":7006},[6995,60674,5102],{"class":7000},[6995,60676,7013],{"class":7012},[6995,60678,7016],{"class":7000},[6995,60680,60681,60683,60685,60687],{"class":244,"line":154},[6995,60682,7021],{"class":7006},[6995,60684,7024],{"class":7000},[6995,60686,14095],{"class":7006},[6995,60688,7030],{"class":7000},[6995,60690,60691,60693,60695,60697],{"class":244,"line":7033},[6995,60692,7036],{"class":7006},[6995,60694,5102],{"class":7000},[6995,60696,19866],{"class":7012},[6995,60698,7016],{"class":7000},[6995,60700,60701,60703],{"class":244,"line":7044},[6995,60702,7529],{"class":7006},[6995,60704,7532],{"class":7000},[6995,60706,60707],{"class":244,"line":7107},[6995,60708,7537],{"class":7000},[6995,60710,60711,60713,60715,60717,60719,60721,60723,60725,60727,60729],{"class":244,"line":7120},[6995,60712,19883],{"class":7006},[6995,60714,19886],{"class":7000},[6995,60716,19889],{"class":7006},[6995,60718,2231],{"class":7000},[6995,60720,8566],{"class":7006},[6995,60722,2231],{"class":7000},[6995,60724,19898],{"class":7006},[6995,60726,2231],{"class":7000},[6995,60728,19903],{"class":7006},[6995,60730,19906],{"class":7000},[6995,60732,60733,60735,60737,60739],{"class":244,"line":7133},[6995,60734,7554],{"class":7006},[6995,60736,7746],{"class":7000},[6995,60738,10984],{"class":7006},[6995,60740,7030],{"class":7000},[6995,60742,60743,60745,60747],{"class":244,"line":7146},[6995,60744,7229],{"class":7006},[6995,60746,7024],{"class":7000},[6995,60748,7686],{"class":7006},[6995,60750,60751],{"class":244,"line":7159},[6995,60752,7615],{"class":7000},[6995,60754,60755],{"class":244,"line":7172},[6995,60756,7047],{"class":7000},[34,60758,60759],{},[611,60760,7052],{},[616,60762,60763],{"className":6989,"code":19939,"language":6991,"meta":14,"style":14},[611,60764,60765,60769,60779,60789,60795,60799,60807,60811],{"__ignoreMap":14},[6995,60766,60767],{"class":244,"line":6997},[6995,60768,7001],{"class":7000},[6995,60770,60771,60773,60775,60777],{"class":244,"line":15},[6995,60772,7007],{"class":7006},[6995,60774,5102],{"class":7000},[6995,60776,7013],{"class":7012},[6995,60778,7016],{"class":7000},[6995,60780,60781,60783,60785,60787],{"class":244,"line":154},[6995,60782,7021],{"class":7006},[6995,60784,7024],{"class":7000},[6995,60786,14095],{"class":7006},[6995,60788,7030],{"class":7000},[6995,60790,60791,60793],{"class":244,"line":7033},[6995,60792,7732],{"class":7006},[6995,60794,7532],{"class":7000},[6995,60796,60797],{"class":244,"line":7044},[6995,60798,7537],{"class":7000},[6995,60800,60801,60803,60805],{"class":244,"line":7107},[6995,60802,7743],{"class":7006},[6995,60804,7746],{"class":7000},[6995,60806,7749],{"class":7012},[6995,60808,60809],{"class":244,"line":7120},[6995,60810,7615],{"class":7000},[6995,60812,60813],{"class":244,"line":7133},[6995,60814,7047],{"class":7000},[852,60816,60817,60821,60825,60829],{},[59,60818,60819,19998],{},[611,60820,8147],{},[59,60822,60823,20003],{},[611,60824,14350],{},[59,60826,60827,20008],{},[611,60828,8158],{},[59,60830,60831,20013,60833,19724,60835,19727],{},[611,60832,6869],{},[611,60834,6869],{},[611,60836,4979],{},[41,60838,6920],{"id":6920},[34,60840,20022,60841,19727],{},[611,60842,4979],{},[34,60844,20027,60845,8054],{},[175,60846,6930],{"href":8044},[34,60848,60849],{},[611,60850,6986],{},[616,60852,60853],{"className":6989,"code":8061,"language":6991,"meta":14,"style":14},[611,60854,60855,60859,60869,60879,60889,60895,60899,60909,60917,60921],{"__ignoreMap":14},[6995,60856,60857],{"class":244,"line":6997},[6995,60858,7001],{"class":7000},[6995,60860,60861,60863,60865,60867],{"class":244,"line":15},[6995,60862,7007],{"class":7006},[6995,60864,7024],{"class":7000},[6995,60866,7013],{"class":7012},[6995,60868,7016],{"class":7000},[6995,60870,60871,60873,60875,60877],{"class":244,"line":154},[6995,60872,7021],{"class":7006},[6995,60874,7024],{"class":7000},[6995,60876,7511],{"class":7006},[6995,60878,7030],{"class":7000},[6995,60880,60881,60883,60885,60887],{"class":244,"line":7033},[6995,60882,7036],{"class":7006},[6995,60884,7024],{"class":7000},[6995,60886,8096],{"class":7012},[6995,60888,7016],{"class":7000},[6995,60890,60891,60893],{"class":244,"line":7044},[6995,60892,7529],{"class":7006},[6995,60894,7532],{"class":7000},[6995,60896,60897],{"class":244,"line":7107},[6995,60898,7537],{"class":7000},[6995,60900,60901,60903,60905,60907],{"class":244,"line":7120},[6995,60902,7542],{"class":7006},[6995,60904,7024],{"class":7000},[6995,60906,7027],{"class":7006},[6995,60908,7030],{"class":7000},[6995,60910,60911,60913,60915],{"class":244,"line":7133},[6995,60912,7229],{"class":7006},[6995,60914,7024],{"class":7000},[6995,60916,7686],{"class":7006},[6995,60918,60919],{"class":244,"line":7146},[6995,60920,7615],{"class":7000},[6995,60922,60923],{"class":244,"line":7159},[6995,60924,7047],{"class":7000},[852,60926,60927,60931,60935,60939,60943],{},[59,60928,60929,8142],{},[611,60930,8141],{},[59,60932,60933,8148],{},[611,60934,8147],{},[59,60936,60937,8153],{},[611,60938,6869],{},[59,60940,60941,8159],{},[611,60942,8158],{},[59,60944,60945,20131],{},[611,60946,20130],{},[34,60948,20134,60949,20137,60951],{},[611,60950,14350],{},[611,60952,19748],{},[34,60954,60955],{},[611,60956,7052],{},[616,60958,60959],{"className":6989,"code":8166,"language":6991,"meta":14,"style":14},[611,60960,60961,60965,60975,60985,60991,60995,61003,61007],{"__ignoreMap":14},[6995,60962,60963],{"class":244,"line":6997},[6995,60964,7001],{"class":7000},[6995,60966,60967,60969,60971,60973],{"class":244,"line":15},[6995,60968,7007],{"class":7006},[6995,60970,7024],{"class":7000},[6995,60972,7013],{"class":7012},[6995,60974,7016],{"class":7000},[6995,60976,60977,60979,60981,60983],{"class":244,"line":154},[6995,60978,7021],{"class":7006},[6995,60980,7024],{"class":7000},[6995,60982,7511],{"class":7006},[6995,60984,7030],{"class":7000},[6995,60986,60987,60989],{"class":244,"line":7033},[6995,60988,7732],{"class":7006},[6995,60990,7532],{"class":7000},[6995,60992,60993],{"class":244,"line":7044},[6995,60994,7537],{"class":7000},[6995,60996,60997,60999,61001],{"class":244,"line":7107},[6995,60998,7743],{"class":7006},[6995,61000,7746],{"class":7000},[6995,61002,7749],{"class":7012},[6995,61004,61005],{"class":244,"line":7120},[6995,61006,7615],{"class":7000},[6995,61008,61009],{"class":244,"line":7133},[6995,61010,7047],{"class":7000},[34,61012,8221,61013,181],{},[175,61014,7985],{"href":19812},[41,61016,6925],{"id":6925},[34,61018,20022,61019,19727],{},[611,61020,4979],{},[34,61022,20210,61023,20213],{},[175,61024,6930],{"href":8044},[34,61026,61027],{},[611,61028,6986],{},[616,61030,61031],{"className":6989,"code":8236,"language":6991,"meta":14,"style":14},[611,61032,61033,61037,61047,61057,61067,61073,61077,61087,61095,61099],{"__ignoreMap":14},[6995,61034,61035],{"class":244,"line":6997},[6995,61036,7001],{"class":7000},[6995,61038,61039,61041,61043,61045],{"class":244,"line":15},[6995,61040,7007],{"class":7006},[6995,61042,5102],{"class":7000},[6995,61044,7013],{"class":7012},[6995,61046,7016],{"class":7000},[6995,61048,61049,61051,61053,61055],{"class":244,"line":154},[6995,61050,7021],{"class":7006},[6995,61052,7024],{"class":7000},[6995,61054,7511],{"class":7006},[6995,61056,7030],{"class":7000},[6995,61058,61059,61061,61063,61065],{"class":244,"line":7033},[6995,61060,7036],{"class":7006},[6995,61062,5102],{"class":7000},[6995,61064,8271],{"class":7012},[6995,61066,7016],{"class":7000},[6995,61068,61069,61071],{"class":244,"line":7044},[6995,61070,7529],{"class":7006},[6995,61072,7532],{"class":7000},[6995,61074,61075],{"class":244,"line":7107},[6995,61076,7537],{"class":7000},[6995,61078,61079,61081,61083,61085],{"class":244,"line":7120},[6995,61080,7542],{"class":7006},[6995,61082,7024],{"class":7000},[6995,61084,7027],{"class":7006},[6995,61086,7030],{"class":7000},[6995,61088,61089,61091,61093],{"class":244,"line":7133},[6995,61090,7229],{"class":7006},[6995,61092,7024],{"class":7000},[6995,61094,7686],{"class":7006},[6995,61096,61097],{"class":244,"line":7146},[6995,61098,7615],{"class":7000},[6995,61100,61101],{"class":244,"line":7159},[6995,61102,7047],{"class":7000},[852,61104,61105,61109,61113,61117,61121],{},[59,61106,61107,8316],{},[611,61108,8141],{},[59,61110,61111,8321],{},[611,61112,8147],{},[59,61114,61115,8326],{},[611,61116,6869],{},[59,61118,61119,8331],{},[611,61120,8158],{},[59,61122,61123,20314],{},[611,61124,20130],{},[34,61126,20317,61127,20137,61129,20322],{},[611,61128,14350],{},[611,61130,19748],{},[34,61132,61133],{},[611,61134,7052],{},[616,61136,61137],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,61138,61139,61143,61153,61163,61169,61173,61181,61185],{"__ignoreMap":14},[6995,61140,61141],{"class":244,"line":6997},[6995,61142,7001],{"class":7000},[6995,61144,61145,61147,61149,61151],{"class":244,"line":15},[6995,61146,7007],{"class":7006},[6995,61148,5102],{"class":7000},[6995,61150,7013],{"class":7012},[6995,61152,7016],{"class":7000},[6995,61154,61155,61157,61159,61161],{"class":244,"line":154},[6995,61156,7021],{"class":7006},[6995,61158,7024],{"class":7000},[6995,61160,7511],{"class":7006},[6995,61162,7030],{"class":7000},[6995,61164,61165,61167],{"class":244,"line":7033},[6995,61166,7732],{"class":7006},[6995,61168,7532],{"class":7000},[6995,61170,61171],{"class":244,"line":7044},[6995,61172,7537],{"class":7000},[6995,61174,61175,61177,61179],{"class":244,"line":7107},[6995,61176,7743],{"class":7006},[6995,61178,7746],{"class":7000},[6995,61180,7749],{"class":7012},[6995,61182,61183],{"class":244,"line":7120},[6995,61184,7615],{"class":7000},[6995,61186,61187],{"class":244,"line":7133},[6995,61188,7047],{"class":7000},[34,61190,8221,61191,181],{},[175,61192,7985],{"href":19812},[41,61194,6930],{"id":6930},[34,61196,20022,61197,19727],{},[611,61198,4979],{},[34,61200,20393,61201,20396],{},[175,61202,6935],{"href":18363},[34,61204,61205],{},[611,61206,6986],{},[616,61208,61209],{"className":6989,"code":7629,"language":6991,"meta":14,"style":14},[611,61210,61211,61215,61225,61235,61245,61251,61255,61263,61267],{"__ignoreMap":14},[6995,61212,61213],{"class":244,"line":6997},[6995,61214,7001],{"class":7000},[6995,61216,61217,61219,61221,61223],{"class":244,"line":15},[6995,61218,7007],{"class":7006},[6995,61220,5102],{"class":7000},[6995,61222,7013],{"class":7012},[6995,61224,7016],{"class":7000},[6995,61226,61227,61229,61231,61233],{"class":244,"line":154},[6995,61228,7021],{"class":7006},[6995,61230,7024],{"class":7000},[6995,61232,7511],{"class":7006},[6995,61234,7030],{"class":7000},[6995,61236,61237,61239,61241,61243],{"class":244,"line":7033},[6995,61238,7036],{"class":7006},[6995,61240,7024],{"class":7000},[6995,61242,7664],{"class":7012},[6995,61244,7030],{"class":7000},[6995,61246,61247,61249],{"class":244,"line":7044},[6995,61248,7529],{"class":7006},[6995,61250,7673],{"class":7000},[6995,61252,61253],{"class":244,"line":7107},[6995,61254,7537],{"class":7000},[6995,61256,61257,61259,61261],{"class":244,"line":7120},[6995,61258,7229],{"class":7006},[6995,61260,7024],{"class":7000},[6995,61262,7686],{"class":7006},[6995,61264,61265],{"class":244,"line":7133},[6995,61266,7615],{"class":7000},[6995,61268,61269],{"class":244,"line":7146},[6995,61270,7047],{"class":7000},[852,61272,61273,61277,61281],{},[59,61274,61275,7838],{},[611,61276,6869],{},[59,61278,61279,8331],{},[611,61280,8158],{},[59,61282,61283,20314],{},[611,61284,20130],{},[34,61286,20481],{},[34,61288,61289],{},[611,61290,7052],{},[616,61292,61293],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,61294,61295,61299,61309,61319,61325,61329,61337,61341],{"__ignoreMap":14},[6995,61296,61297],{"class":244,"line":6997},[6995,61298,7001],{"class":7000},[6995,61300,61301,61303,61305,61307],{"class":244,"line":15},[6995,61302,7007],{"class":7006},[6995,61304,5102],{"class":7000},[6995,61306,7013],{"class":7012},[6995,61308,7016],{"class":7000},[6995,61310,61311,61313,61315,61317],{"class":244,"line":154},[6995,61312,7021],{"class":7006},[6995,61314,7024],{"class":7000},[6995,61316,7511],{"class":7006},[6995,61318,7030],{"class":7000},[6995,61320,61321,61323],{"class":244,"line":7033},[6995,61322,7732],{"class":7006},[6995,61324,7532],{"class":7000},[6995,61326,61327],{"class":244,"line":7044},[6995,61328,7537],{"class":7000},[6995,61330,61331,61333,61335],{"class":244,"line":7107},[6995,61332,7743],{"class":7006},[6995,61334,7746],{"class":7000},[6995,61336,7749],{"class":7012},[6995,61338,61339],{"class":244,"line":7120},[6995,61340,7615],{"class":7000},[6995,61342,61343],{"class":244,"line":7133},[6995,61344,7047],{"class":7000},[34,61346,8221,61347,181],{},[175,61348,7985],{"href":19812},[41,61350,18306],{"id":18306},[34,61352,20548],{},[34,61354,61355],{},[611,61356,6986],{},[616,61358,61359],{"className":6989,"code":20555,"language":6991,"meta":14,"style":14},[611,61360,61361,61365,61375,61385,61395,61401,61405,61413,61417],{"__ignoreMap":14},[6995,61362,61363],{"class":244,"line":6997},[6995,61364,7001],{"class":7000},[6995,61366,61367,61369,61371,61373],{"class":244,"line":15},[6995,61368,7007],{"class":7006},[6995,61370,5102],{"class":7000},[6995,61372,7013],{"class":7012},[6995,61374,7016],{"class":7000},[6995,61376,61377,61379,61381,61383],{"class":244,"line":154},[6995,61378,7021],{"class":7006},[6995,61380,7024],{"class":7000},[6995,61382,8439],{"class":7006},[6995,61384,7030],{"class":7000},[6995,61386,61387,61389,61391,61393],{"class":244,"line":7033},[6995,61388,7036],{"class":7006},[6995,61390,5102],{"class":7000},[6995,61392,20590],{"class":7012},[6995,61394,7016],{"class":7000},[6995,61396,61397,61399],{"class":244,"line":7044},[6995,61398,7529],{"class":7006},[6995,61400,7532],{"class":7000},[6995,61402,61403],{"class":244,"line":7107},[6995,61404,7537],{"class":7000},[6995,61406,61407,61409,61411],{"class":244,"line":7120},[6995,61408,7743],{"class":7006},[6995,61410,7746],{"class":7000},[6995,61412,20611],{"class":7012},[6995,61414,61415],{"class":244,"line":7133},[6995,61416,7615],{"class":7000},[6995,61418,61419],{"class":244,"line":7146},[6995,61420,7047],{"class":7000},[852,61422,61423],{},[59,61424,61425,20626],{},[611,61426,8158],{},[34,61428,61429],{},[611,61430,7052],{},[616,61432,61433],{"className":6989,"code":20633,"language":6991,"meta":14,"style":14},[611,61434,61435,61439,61449,61459,61467],{"__ignoreMap":14},[6995,61436,61437],{"class":244,"line":6997},[6995,61438,7001],{"class":7000},[6995,61440,61441,61443,61445,61447],{"class":244,"line":15},[6995,61442,7007],{"class":7006},[6995,61444,5102],{"class":7000},[6995,61446,7013],{"class":7012},[6995,61448,7016],{"class":7000},[6995,61450,61451,61453,61455,61457],{"class":244,"line":154},[6995,61452,7021],{"class":7006},[6995,61454,7024],{"class":7000},[6995,61456,8439],{"class":7006},[6995,61458,7030],{"class":7000},[6995,61460,61461,61463,61465],{"class":244,"line":7033},[6995,61462,7732],{"class":7006},[6995,61464,7024],{"class":7000},[6995,61466,8505],{"class":7006},[6995,61468,61469],{"class":244,"line":7044},[6995,61470,7047],{"class":7000},[34,61472,20674,61473,20677,61475,20680],{},[611,61474,8689],{},[175,61476,7985],{"href":19812},[41,61478,18314],{"id":18314},[34,61480,20685],{},[34,61482,61483],{},[611,61484,6986],{},[616,61486,61487],{"className":6989,"code":20692,"language":6991,"meta":14,"style":14},[611,61488,61489,61493,61503,61513,61523,61529,61533,61541,61545],{"__ignoreMap":14},[6995,61490,61491],{"class":244,"line":6997},[6995,61492,7001],{"class":7000},[6995,61494,61495,61497,61499,61501],{"class":244,"line":15},[6995,61496,7007],{"class":7006},[6995,61498,5102],{"class":7000},[6995,61500,7013],{"class":7012},[6995,61502,7016],{"class":7000},[6995,61504,61505,61507,61509,61511],{"class":244,"line":154},[6995,61506,7021],{"class":7006},[6995,61508,7024],{"class":7000},[6995,61510,8439],{"class":7006},[6995,61512,7030],{"class":7000},[6995,61514,61515,61517,61519,61521],{"class":244,"line":7033},[6995,61516,7036],{"class":7006},[6995,61518,5102],{"class":7000},[6995,61520,20727],{"class":7012},[6995,61522,7016],{"class":7000},[6995,61524,61525,61527],{"class":244,"line":7044},[6995,61526,7529],{"class":7006},[6995,61528,7532],{"class":7000},[6995,61530,61531],{"class":244,"line":7107},[6995,61532,7537],{"class":7000},[6995,61534,61535,61537,61539],{"class":244,"line":7120},[6995,61536,7743],{"class":7006},[6995,61538,7746],{"class":7000},[6995,61540,20611],{"class":7012},[6995,61542,61543],{"class":244,"line":7133},[6995,61544,7615],{"class":7000},[6995,61546,61547],{"class":244,"line":7146},[6995,61548,7047],{"class":7000},[852,61550,61551],{},[59,61552,61553,20762],{},[611,61554,8158],{},[34,61556,61557],{},[611,61558,7052],{},[616,61560,61561],{"className":6989,"code":20633,"language":6991,"meta":14,"style":14},[611,61562,61563,61567,61577,61587,61595],{"__ignoreMap":14},[6995,61564,61565],{"class":244,"line":6997},[6995,61566,7001],{"class":7000},[6995,61568,61569,61571,61573,61575],{"class":244,"line":15},[6995,61570,7007],{"class":7006},[6995,61572,5102],{"class":7000},[6995,61574,7013],{"class":7012},[6995,61576,7016],{"class":7000},[6995,61578,61579,61581,61583,61585],{"class":244,"line":154},[6995,61580,7021],{"class":7006},[6995,61582,7024],{"class":7000},[6995,61584,8439],{"class":7006},[6995,61586,7030],{"class":7000},[6995,61588,61589,61591,61593],{"class":244,"line":7033},[6995,61590,7732],{"class":7006},[6995,61592,7024],{"class":7000},[6995,61594,8505],{"class":7006},[6995,61596,61597],{"class":244,"line":7044},[6995,61598,7047],{"class":7000},[34,61600,20674,61601,20811,61603,20680],{},[611,61602,8689],{},[175,61604,7985],{"href":19812},[41,61606,18293],{"id":18293},[34,61608,20818,61609,20821],{},[175,61610,18327],{"href":18326},[34,61612,61613],{},[611,61614,6986],{},[616,61616,61617],{"className":6989,"code":38121,"language":6991,"meta":14,"style":14},[611,61618,61619,61623,61633,61643,61653,61659,61663,61673,61681,61685],{"__ignoreMap":14},[6995,61620,61621],{"class":244,"line":6997},[6995,61622,7001],{"class":7000},[6995,61624,61625,61627,61629,61631],{"class":244,"line":15},[6995,61626,7007],{"class":7006},[6995,61628,5102],{"class":7000},[6995,61630,7013],{"class":7012},[6995,61632,7016],{"class":7000},[6995,61634,61635,61637,61639,61641],{"class":244,"line":154},[6995,61636,7021],{"class":7006},[6995,61638,7024],{"class":7000},[6995,61640,8439],{"class":7006},[6995,61642,7030],{"class":7000},[6995,61644,61645,61647,61649,61651],{"class":244,"line":7033},[6995,61646,7036],{"class":7006},[6995,61648,5102],{"class":7000},[6995,61650,20863],{"class":7012},[6995,61652,7016],{"class":7000},[6995,61654,61655,61657],{"class":244,"line":7044},[6995,61656,7529],{"class":7006},[6995,61658,7532],{"class":7000},[6995,61660,61661],{"class":244,"line":7107},[6995,61662,7537],{"class":7000},[6995,61664,61665,61667,61669,61671],{"class":244,"line":7120},[6995,61666,7743],{"class":7006},[6995,61668,7746],{"class":7000},[6995,61670,20884],{"class":7012},[6995,61672,7030],{"class":7000},[6995,61674,61675,61677,61679],{"class":244,"line":7133},[6995,61676,38182],{"class":7006},[6995,61678,7024],{"class":7000},[6995,61680,19668],{"class":7006},[6995,61682,61683],{"class":244,"line":7146},[6995,61684,7615],{"class":7000},[6995,61686,61687],{"class":244,"line":7159},[6995,61688,7047],{"class":7000},[852,61690,61691,61695],{},[59,61692,61693,38201],{},[611,61694,8158],{},[59,61696,61697,38206,61699,38209,61701,181],{},[611,61698,35307],{},[611,61700,8689],{},[611,61702,11094],{},[34,61704,61705],{},[611,61706,7052],{},[616,61708,61709],{"className":6989,"code":20901,"language":6991,"meta":14,"style":14},[611,61710,61711,61715,61725,61735,61741,61745,61755,61765,61775,61785,61795,61805,61815,61825,61835,61845,61855,61865,61875,61885,61895,61905,61915,61923,61927],{"__ignoreMap":14},[6995,61712,61713],{"class":244,"line":6997},[6995,61714,7001],{"class":7000},[6995,61716,61717,61719,61721,61723],{"class":244,"line":15},[6995,61718,7007],{"class":7006},[6995,61720,5102],{"class":7000},[6995,61722,7013],{"class":7012},[6995,61724,7016],{"class":7000},[6995,61726,61727,61729,61731,61733],{"class":244,"line":154},[6995,61728,7021],{"class":7006},[6995,61730,7024],{"class":7000},[6995,61732,8439],{"class":7006},[6995,61734,7030],{"class":7000},[6995,61736,61737,61739],{"class":244,"line":7033},[6995,61738,7732],{"class":7006},[6995,61740,7532],{"class":7000},[6995,61742,61743],{"class":244,"line":7044},[6995,61744,20938],{"class":7000},[6995,61746,61747,61749,61751,61753],{"class":244,"line":7107},[6995,61748,7743],{"class":7006},[6995,61750,7746],{"class":7000},[6995,61752,20884],{"class":7012},[6995,61754,7030],{"class":7000},[6995,61756,61757,61759,61761,61763],{"class":244,"line":7120},[6995,61758,7229],{"class":7006},[6995,61760,7024],{"class":7000},[6995,61762,7180],{"class":7006},[6995,61764,7030],{"class":7000},[6995,61766,61767,61769,61771,61773],{"class":244,"line":7133},[6995,61768,7588],{"class":7006},[6995,61770,7024],{"class":7000},[6995,61772,19080],{"class":7012},[6995,61774,7030],{"class":7000},[6995,61776,61777,61779,61781,61783],{"class":244,"line":7146},[6995,61778,7554],{"class":7006},[6995,61780,7024],{"class":7000},[6995,61782,10984],{"class":7006},[6995,61784,7030],{"class":7000},[6995,61786,61787,61789,61791,61793],{"class":244,"line":7159},[6995,61788,20983],{"class":7006},[6995,61790,7024],{"class":7000},[6995,61792,20988],{"class":7012},[6995,61794,7030],{"class":7000},[6995,61796,61797,61799,61801,61803],{"class":244,"line":7172},[6995,61798,20995],{"class":7006},[6995,61800,7024],{"class":7000},[6995,61802,7570],{"class":7012},[6995,61804,7030],{"class":7000},[6995,61806,61807,61809,61811,61813],{"class":244,"line":7185},[6995,61808,21006],{"class":7006},[6995,61810,7024],{"class":7000},[6995,61812,21011],{"class":7012},[6995,61814,7030],{"class":7000},[6995,61816,61817,61819,61821,61823],{"class":244,"line":7198},[6995,61818,21018],{"class":7006},[6995,61820,7024],{"class":7000},[6995,61822,8439],{"class":7006},[6995,61824,7030],{"class":7000},[6995,61826,61827,61829,61831,61833],{"class":244,"line":7211},[6995,61828,21029],{"class":7006},[6995,61830,7746],{"class":7000},[6995,61832,21034],{"class":7012},[6995,61834,7030],{"class":7000},[6995,61836,61837,61839,61841,61843],{"class":244,"line":7220},[6995,61838,21041],{"class":7006},[6995,61840,7024],{"class":7000},[6995,61842,7180],{"class":7006},[6995,61844,7030],{"class":7000},[6995,61846,61847,61849,61851,61853],{"class":244,"line":7226},[6995,61848,21052],{"class":7006},[6995,61850,7024],{"class":7000},[6995,61852,21057],{"class":7012},[6995,61854,7030],{"class":7000},[6995,61856,61857,61859,61861,61863],{"class":244,"line":7238},[6995,61858,21064],{"class":7006},[6995,61860,7746],{"class":7000},[6995,61862,21069],{"class":7012},[6995,61864,7030],{"class":7000},[6995,61866,61867,61869,61871,61873],{"class":244,"line":7250},[6995,61868,7542],{"class":7006},[6995,61870,7024],{"class":7000},[6995,61872,7547],{"class":7006},[6995,61874,7030],{"class":7000},[6995,61876,61877,61879,61881,61883],{"class":244,"line":7263},[6995,61878,19087],{"class":7006},[6995,61880,7746],{"class":7000},[6995,61882,21090],{"class":7006},[6995,61884,7030],{"class":7000},[6995,61886,61887,61889,61891,61893],{"class":244,"line":7275},[6995,61888,21097],{"class":7006},[6995,61890,7746],{"class":7000},[6995,61892,11094],{"class":7006},[6995,61894,7030],{"class":7000},[6995,61896,61897,61899,61901,61903],{"class":244,"line":7288},[6995,61898,21108],{"class":7006},[6995,61900,7024],{"class":7000},[6995,61902,21113],{"class":7012},[6995,61904,7030],{"class":7000},[6995,61906,61907,61909,61911,61913],{"class":244,"line":7300},[6995,61908,21120],{"class":7006},[6995,61910,7024],{"class":7000},[6995,61912,19171],{"class":7012},[6995,61914,7030],{"class":7000},[6995,61916,61917,61919,61921],{"class":244,"line":7313},[6995,61918,21131],{"class":7006},[6995,61920,7024],{"class":7000},[6995,61922,21136],{"class":7012},[6995,61924,61925],{"class":244,"line":7325},[6995,61926,21141],{"class":7000},[6995,61928,61929],{"class":244,"line":7336},[6995,61930,7047],{"class":7000},[41,61932,18327],{"id":18327},[34,61934,21150],{},[34,61936,61937],{},[611,61938,6986],{},[616,61940,61941],{"className":6989,"code":38450,"language":6991,"meta":14,"style":14},[611,61942,61943,61947,61957,61967,61977,61983,61987,61993,61997,62007,62017,62021,62031,62041,62049,62053],{"__ignoreMap":14},[6995,61944,61945],{"class":244,"line":6997},[6995,61946,7001],{"class":7000},[6995,61948,61949,61951,61953,61955],{"class":244,"line":15},[6995,61950,7007],{"class":7006},[6995,61952,5102],{"class":7000},[6995,61954,7013],{"class":7012},[6995,61956,7016],{"class":7000},[6995,61958,61959,61961,61963,61965],{"class":244,"line":154},[6995,61960,7021],{"class":7006},[6995,61962,7024],{"class":7000},[6995,61964,18961],{"class":7006},[6995,61966,7030],{"class":7000},[6995,61968,61969,61971,61973,61975],{"class":244,"line":7033},[6995,61970,7036],{"class":7006},[6995,61972,5102],{"class":7000},[6995,61974,21192],{"class":7012},[6995,61976,7030],{"class":7000},[6995,61978,61979,61981],{"class":244,"line":7044},[6995,61980,7529],{"class":7006},[6995,61982,7532],{"class":7000},[6995,61984,61985],{"class":244,"line":7107},[6995,61986,7537],{"class":7000},[6995,61988,61989,61991],{"class":244,"line":7120},[6995,61990,21209],{"class":7006},[6995,61992,11893],{"class":7000},[6995,61994,61995],{"class":244,"line":7133},[6995,61996,14405],{"class":7000},[6995,61998,61999,62001,62003,62005],{"class":244,"line":7146},[6995,62000,21220],{"class":7006},[6995,62002,5102],{"class":7000},[6995,62004,8439],{"class":7006},[6995,62006,7030],{"class":7000},[6995,62008,62009,62011,62013,62015],{"class":244,"line":7159},[6995,62010,21231],{"class":7006},[6995,62012,5102],{"class":7000},[6995,62014,21236],{"class":7006},[6995,62016,7030],{"class":7000},[6995,62018,62019],{"class":244,"line":7172},[6995,62020,21243],{"class":7000},[6995,62022,62023,62025,62027,62029],{"class":244,"line":7185},[6995,62024,38182],{"class":7006},[6995,62026,7024],{"class":7000},[6995,62028,8689],{"class":7006},[6995,62030,7030],{"class":7000},[6995,62032,62033,62035,62037,62039],{"class":244,"line":7198},[6995,62034,21248],{"class":7006},[6995,62036,7746],{"class":7000},[6995,62038,7180],{"class":7006},[6995,62040,7030],{"class":7000},[6995,62042,62043,62045,62047],{"class":244,"line":7211},[6995,62044,21259],{"class":7006},[6995,62046,7746],{"class":7000},[6995,62048,21264],{"class":7006},[6995,62050,62051],{"class":244,"line":7220},[6995,62052,7615],{"class":7000},[6995,62054,62055],{"class":244,"line":7226},[6995,62056,7047],{"class":7000},[852,62058,62059,62063,62067,62071,62075],{},[59,62060,62061,21280],{},[611,62062,21279],{},[59,62064,62065,21286],{},[611,62066,21285],{},[59,62068,62069,21291],{},[611,62070,12842],{},[59,62072,62073,21297],{},[611,62074,21296],{},[59,62076,62077,38589,62079,38209,62081,181],{},[611,62078,35307],{},[611,62080,8689],{},[611,62082,11094],{},[34,62084,21300,62085,2344],{},[611,62086,4979],{},[852,62088,62089],{},[59,62090,62091,21310,62093,21313],{},[611,62092,21309],{},[611,62094,21309],{},[34,62096,62097],{},[611,62098,7052],{},[616,62100,62101],{"className":6989,"code":38612,"language":6991,"meta":14,"style":14},[611,62102,62103,62107,62117,62127,62133,62137,62147,62157,62167,62177,62187,62197,62207,62217,62227,62237,62247,62257,62267,62277,62283,62287,62297,62307,62317,62325,62329,62333,62343,62353,62363,62371,62375,62379,62383,62387,62397,62407,62417,62427,62437,62447,62457,62467,62477,62487,62497,62507,62517,62527,62537,62547,62553,62557,62561,62571,62581,62591,62601,62611,62621,62631,62641,62651,62661,62671,62681,62691,62701,62711,62721,62731,62737,62741],{"__ignoreMap":14},[6995,62104,62105],{"class":244,"line":6997},[6995,62106,7001],{"class":7000},[6995,62108,62109,62111,62113,62115],{"class":244,"line":15},[6995,62110,7007],{"class":7006},[6995,62112,5102],{"class":7000},[6995,62114,7013],{"class":7012},[6995,62116,7016],{"class":7000},[6995,62118,62119,62121,62123,62125],{"class":244,"line":154},[6995,62120,7021],{"class":7006},[6995,62122,7024],{"class":7000},[6995,62124,18961],{"class":7006},[6995,62126,7030],{"class":7000},[6995,62128,62129,62131],{"class":244,"line":7033},[6995,62130,7732],{"class":7006},[6995,62132,7532],{"class":7000},[6995,62134,62135],{"class":244,"line":7044},[6995,62136,21357],{"class":7000},[6995,62138,62139,62141,62143,62145],{"class":244,"line":7107},[6995,62140,7229],{"class":7006},[6995,62142,7024],{"class":7000},[6995,62144,7180],{"class":7006},[6995,62146,7030],{"class":7000},[6995,62148,62149,62151,62153,62155],{"class":244,"line":7120},[6995,62150,7743],{"class":7006},[6995,62152,7746],{"class":7000},[6995,62154,20884],{"class":7012},[6995,62156,7030],{"class":7000},[6995,62158,62159,62161,62163,62165],{"class":244,"line":7133},[6995,62160,7588],{"class":7006},[6995,62162,7024],{"class":7000},[6995,62164,19080],{"class":7012},[6995,62166,7030],{"class":7000},[6995,62168,62169,62171,62173,62175],{"class":244,"line":7146},[6995,62170,7554],{"class":7006},[6995,62172,7024],{"class":7000},[6995,62174,7180],{"class":7006},[6995,62176,7030],{"class":7000},[6995,62178,62179,62181,62183,62185],{"class":244,"line":7159},[6995,62180,20983],{"class":7006},[6995,62182,7024],{"class":7000},[6995,62184,20988],{"class":7012},[6995,62186,7030],{"class":7000},[6995,62188,62189,62191,62193,62195],{"class":244,"line":7172},[6995,62190,20995],{"class":7006},[6995,62192,7024],{"class":7000},[6995,62194,7570],{"class":7012},[6995,62196,7030],{"class":7000},[6995,62198,62199,62201,62203,62205],{"class":244,"line":7185},[6995,62200,21006],{"class":7006},[6995,62202,7024],{"class":7000},[6995,62204,21011],{"class":7012},[6995,62206,7030],{"class":7000},[6995,62208,62209,62211,62213,62215],{"class":244,"line":7198},[6995,62210,21018],{"class":7006},[6995,62212,7024],{"class":7000},[6995,62214,8439],{"class":7006},[6995,62216,7030],{"class":7000},[6995,62218,62219,62221,62223,62225],{"class":244,"line":7211},[6995,62220,21029],{"class":7006},[6995,62222,7746],{"class":7000},[6995,62224,21034],{"class":7012},[6995,62226,7030],{"class":7000},[6995,62228,62229,62231,62233,62235],{"class":244,"line":7220},[6995,62230,21064],{"class":7006},[6995,62232,7746],{"class":7000},[6995,62234,21069],{"class":7012},[6995,62236,7030],{"class":7000},[6995,62238,62239,62241,62243,62245],{"class":244,"line":7226},[6995,62240,7542],{"class":7006},[6995,62242,7024],{"class":7000},[6995,62244,7547],{"class":7006},[6995,62246,7030],{"class":7000},[6995,62248,62249,62251,62253,62255],{"class":244,"line":7238},[6995,62250,19087],{"class":7006},[6995,62252,7746],{"class":7000},[6995,62254,21090],{"class":7006},[6995,62256,7030],{"class":7000},[6995,62258,62259,62261,62263,62265],{"class":244,"line":7250},[6995,62260,21097],{"class":7006},[6995,62262,7746],{"class":7000},[6995,62264,11094],{"class":7006},[6995,62266,7030],{"class":7000},[6995,62268,62269,62271,62273,62275],{"class":244,"line":7263},[6995,62270,21131],{"class":7006},[6995,62272,7024],{"class":7000},[6995,62274,38787],{"class":7012},[6995,62276,7030],{"class":7000},[6995,62278,62279,62281],{"class":244,"line":7275},[6995,62280,38182],{"class":7006},[6995,62282,7217],{"class":7000},[6995,62284,62285],{"class":244,"line":7288},[6995,62286,15683],{"class":7000},[6995,62288,62289,62291,62293,62295],{"class":244,"line":7300},[6995,62290,38804],{"class":7006},[6995,62292,7024],{"class":7000},[6995,62294,11136],{"class":7006},[6995,62296,7030],{"class":7000},[6995,62298,62299,62301,62303,62305],{"class":244,"line":7313},[6995,62300,38815],{"class":7006},[6995,62302,7024],{"class":7000},[6995,62304,38820],{"class":7006},[6995,62306,7030],{"class":7000},[6995,62308,62309,62311,62313,62315],{"class":244,"line":7325},[6995,62310,38827],{"class":7006},[6995,62312,7024],{"class":7000},[6995,62314,38832],{"class":7012},[6995,62316,7030],{"class":7000},[6995,62318,62319,62321,62323],{"class":244,"line":7336},[6995,62320,38839],{"class":7006},[6995,62322,7024],{"class":7000},[6995,62324,38844],{"class":7012},[6995,62326,62327],{"class":244,"line":7342},[6995,62328,38849],{"class":7000},[6995,62330,62331],{"class":244,"line":7347},[6995,62332,15683],{"class":7000},[6995,62334,62335,62337,62339,62341],{"class":244,"line":7363},[6995,62336,38804],{"class":7006},[6995,62338,7024],{"class":7000},[6995,62340,7180],{"class":7006},[6995,62342,7030],{"class":7000},[6995,62344,62345,62347,62349,62351],{"class":244,"line":7375},[6995,62346,38815],{"class":7006},[6995,62348,7024],{"class":7000},[6995,62350,19903],{"class":7006},[6995,62352,7030],{"class":7000},[6995,62354,62355,62357,62359,62361],{"class":244,"line":7387},[6995,62356,38827],{"class":7006},[6995,62358,7024],{"class":7000},[6995,62360,38882],{"class":7012},[6995,62362,7030],{"class":7000},[6995,62364,62365,62367,62369],{"class":244,"line":7398},[6995,62366,38839],{"class":7006},[6995,62368,7024],{"class":7000},[6995,62370,38893],{"class":7012},[6995,62372,62373],{"class":244,"line":7410},[6995,62374,15811],{"class":7000},[6995,62376,62377],{"class":244,"line":7421},[6995,62378,34858],{"class":7000},[6995,62380,62381],{"class":244,"line":7432},[6995,62382,21500],{"class":7000},[6995,62384,62385],{"class":244,"line":7443},[6995,62386,7537],{"class":7000},[6995,62388,62389,62391,62393,62395],{"class":244,"line":7452},[6995,62390,21509],{"class":7006},[6995,62392,7024],{"class":7000},[6995,62394,6679],{"class":7006},[6995,62396,7030],{"class":7000},[6995,62398,62399,62401,62403,62405],{"class":244,"line":7458},[6995,62400,21520],{"class":7006},[6995,62402,7024],{"class":7000},[6995,62404,21525],{"class":7012},[6995,62406,7030],{"class":7000},[6995,62408,62409,62411,62413,62415],{"class":244,"line":7464},[6995,62410,21532],{"class":7006},[6995,62412,7024],{"class":7000},[6995,62414,19080],{"class":7012},[6995,62416,7030],{"class":7000},[6995,62418,62419,62421,62423,62425],{"class":244,"line":7470},[6995,62420,21543],{"class":7006},[6995,62422,7024],{"class":7000},[6995,62424,21548],{"class":7006},[6995,62426,7030],{"class":7000},[6995,62428,62429,62431,62433,62435],{"class":244,"line":13197},[6995,62430,21555],{"class":7006},[6995,62432,7024],{"class":7000},[6995,62434,21560],{"class":7006},[6995,62436,7030],{"class":7000},[6995,62438,62439,62441,62443,62445],{"class":244,"line":13202},[6995,62440,12652],{"class":7006},[6995,62442,7024],{"class":7000},[6995,62444,7180],{"class":7006},[6995,62446,7030],{"class":7000},[6995,62448,62449,62451,62453,62455],{"class":244,"line":13214},[6995,62450,21577],{"class":7006},[6995,62452,7024],{"class":7000},[6995,62454,21582],{"class":7006},[6995,62456,7030],{"class":7000},[6995,62458,62459,62461,62463,62465],{"class":244,"line":13225},[6995,62460,21589],{"class":7006},[6995,62462,7024],{"class":7000},[6995,62464,11094],{"class":7006},[6995,62466,7030],{"class":7000},[6995,62468,62469,62471,62473,62475],{"class":244,"line":13237},[6995,62470,21600],{"class":7006},[6995,62472,7024],{"class":7000},[6995,62474,7405],{"class":7012},[6995,62476,7030],{"class":7000},[6995,62478,62479,62481,62483,62485],{"class":244,"line":13248},[6995,62480,21611],{"class":7006},[6995,62482,7024],{"class":7000},[6995,62484,7405],{"class":7012},[6995,62486,7030],{"class":7000},[6995,62488,62489,62491,62493,62495],{"class":244,"line":13258},[6995,62490,21622],{"class":7006},[6995,62492,7024],{"class":7000},[6995,62494,11136],{"class":7006},[6995,62496,7030],{"class":7000},[6995,62498,62499,62501,62503,62505],{"class":244,"line":13263},[6995,62500,21633],{"class":7006},[6995,62502,7024],{"class":7000},[6995,62504,21638],{"class":7012},[6995,62506,7030],{"class":7000},[6995,62508,62509,62511,62513,62515],{"class":244,"line":13268},[6995,62510,21645],{"class":7006},[6995,62512,7024],{"class":7000},[6995,62514,21650],{"class":7012},[6995,62516,7030],{"class":7000},[6995,62518,62519,62521,62523,62525],{"class":244,"line":13275},[6995,62520,21657],{"class":7006},[6995,62522,7024],{"class":7000},[6995,62524,7027],{"class":7006},[6995,62526,7030],{"class":7000},[6995,62528,62529,62531,62533,62535],{"class":244,"line":13280},[6995,62530,21668],{"class":7006},[6995,62532,7024],{"class":7000},[6995,62534,21673],{"class":7012},[6995,62536,7030],{"class":7000},[6995,62538,62539,62541,62543,62545],{"class":244,"line":13291},[6995,62540,21680],{"class":7006},[6995,62542,7024],{"class":7000},[6995,62544,7180],{"class":7006},[6995,62546,7030],{"class":7000},[6995,62548,62549,62551],{"class":244,"line":13303},[6995,62550,39074],{"class":7006},[6995,62552,39077],{"class":7000},[6995,62554,62555],{"class":244,"line":13314},[6995,62556,21500],{"class":7000},[6995,62558,62559],{"class":244,"line":13324},[6995,62560,7537],{"class":7000},[6995,62562,62563,62565,62567,62569],{"class":244,"line":13329},[6995,62564,7229],{"class":7006},[6995,62566,7024],{"class":7000},[6995,62568,6679],{"class":7006},[6995,62570,7030],{"class":7000},[6995,62572,62573,62575,62577,62579],{"class":244,"line":13334},[6995,62574,21708],{"class":7006},[6995,62576,7024],{"class":7000},[6995,62578,21525],{"class":7012},[6995,62580,7030],{"class":7000},[6995,62582,62583,62585,62587,62589],{"class":244,"line":13346},[6995,62584,7588],{"class":7006},[6995,62586,7024],{"class":7000},[6995,62588,19080],{"class":7012},[6995,62590,7030],{"class":7000},[6995,62592,62593,62595,62597,62599],{"class":244,"line":13357},[6995,62594,21729],{"class":7006},[6995,62596,7024],{"class":7000},[6995,62598,21734],{"class":7006},[6995,62600,7030],{"class":7000},[6995,62602,62603,62605,62607,62609],{"class":244,"line":13368},[6995,62604,21741],{"class":7006},[6995,62606,7024],{"class":7000},[6995,62608,21746],{"class":7006},[6995,62610,7030],{"class":7000},[6995,62612,62613,62615,62617,62619],{"class":244,"line":13379},[6995,62614,19087],{"class":7006},[6995,62616,7024],{"class":7000},[6995,62618,21757],{"class":7006},[6995,62620,7030],{"class":7000},[6995,62622,62623,62625,62627,62629],{"class":244,"line":13389},[6995,62624,7554],{"class":7006},[6995,62626,7024],{"class":7000},[6995,62628,10984],{"class":7006},[6995,62630,7030],{"class":7000},[6995,62632,62633,62635,62637,62639],{"class":244,"line":13394},[6995,62634,21097],{"class":7006},[6995,62636,7024],{"class":7000},[6995,62638,11094],{"class":7006},[6995,62640,7030],{"class":7000},[6995,62642,62643,62645,62647,62649],{"class":244,"line":13399},[6995,62644,20983],{"class":7006},[6995,62646,7024],{"class":7000},[6995,62648,21788],{"class":7012},[6995,62650,7030],{"class":7000},[6995,62652,62653,62655,62657,62659],{"class":244,"line":13411},[6995,62654,20995],{"class":7006},[6995,62656,7024],{"class":7000},[6995,62658,7405],{"class":7012},[6995,62660,7030],{"class":7000},[6995,62662,62663,62665,62667,62669],{"class":244,"line":13423},[6995,62664,21006],{"class":7006},[6995,62666,7024],{"class":7000},[6995,62668,7405],{"class":7012},[6995,62670,7030],{"class":7000},[6995,62672,62673,62675,62677,62679],{"class":244,"line":13434},[6995,62674,21018],{"class":7006},[6995,62676,7024],{"class":7000},[6995,62678,11136],{"class":7006},[6995,62680,7030],{"class":7000},[6995,62682,62683,62685,62687,62689],{"class":244,"line":13445},[6995,62684,21029],{"class":7006},[6995,62686,7024],{"class":7000},[6995,62688,21829],{"class":7012},[6995,62690,7030],{"class":7000},[6995,62692,62693,62695,62697,62699],{"class":244,"line":13457},[6995,62694,7743],{"class":7006},[6995,62696,7024],{"class":7000},[6995,62698,21840],{"class":7012},[6995,62700,7030],{"class":7000},[6995,62702,62703,62705,62707,62709],{"class":244,"line":13464},[6995,62704,21041],{"class":7006},[6995,62706,7024],{"class":7000},[6995,62708,7511],{"class":7006},[6995,62710,7030],{"class":7000},[6995,62712,62713,62715,62717,62719],{"class":244,"line":13471},[6995,62714,21052],{"class":7006},[6995,62716,7024],{"class":7000},[6995,62718,21861],{"class":7012},[6995,62720,7030],{"class":7000},[6995,62722,62723,62725,62727,62729],{"class":244,"line":13476},[6995,62724,7542],{"class":7006},[6995,62726,7024],{"class":7000},[6995,62728,23178],{"class":7006},[6995,62730,7030],{"class":7000},[6995,62732,62733,62735],{"class":244,"line":13488},[6995,62734,38182],{"class":7006},[6995,62736,39077],{"class":7000},[6995,62738,62739],{"class":244,"line":13499},[6995,62740,21877],{"class":7000},[6995,62742,62743],{"class":244,"line":13511},[6995,62744,7047],{"class":7000},[852,62746,62747,62751,62757,62761,62767,62773,62777,62781,62785,62789,62793,62797,62801,62805,62809,62823,62829],{},[59,62748,62749,21889],{},[611,62750,21888],{},[59,62752,62753,1475,62755,21897],{},[611,62754,12542],{},[611,62756,21896],{},[59,62758,62759,21902],{},[611,62760,21896],{},[59,62762,62763,1475,62765,29024],{},[611,62764,21907],{},[611,62766,21910],{},[59,62768,62769,21917,62771,21920],{},[611,62770,21916],{},[611,62772,12388],{},[59,62774,62775,21925],{},[611,62776,20130],{},[59,62778,62779,21931],{},[611,62780,21930],{},[59,62782,62783,21937],{},[611,62784,21936],{},[59,62786,62787,21942],{},[611,62788,6869],{},[59,62790,62791,21947],{},[611,62792,20130],{},[59,62794,62795,21952],{},[611,62796,12547],{},[59,62798,62799,39326],{},[611,62800,35296],{},[59,62802,62803,39331],{},[611,62804,35293],{},[59,62806,62807,39336],{},[611,62808,35307],{},[59,62810,62811,1475,62813,39345,62815,39349,62817,39353,62819,2231,62821,39360],{},[611,62812,39341],{},[611,62814,39344],{},[611,62816,39348],{},[611,62818,39352],{},[611,62820,39356],{},[611,62822,39359],{},[59,62824,62825,1475,62827,39369],{},[611,62826,39365],{},[611,62828,39368],{},[59,62830,62831,39374,62833,1475,62835,39380,62837],{},[611,62832,35389],{},[175,62834,12194],{"href":18230},[175,62836,22040],{"href":39379},[852,62838,62839,62843,62847],{},[59,62840,62841],{},[611,62842,11810],{},[59,62844,62845],{},[611,62846,12000],{},[59,62848,62849],{},[611,62850,11989],{},[48,62852,21956],{"id":21955},[48,62854,21960],{"id":21959},[852,62856,62857,62861,62871,62875,62889,62895],{},[59,62858,21965,62859,21969],{},[611,62860,21968],{},[59,62862,21972,62863,10670,62865,10670,62867,10670,62869,21985],{},[611,62864,21975],{},[611,62866,21978],{},[611,62868,21981],{},[611,62870,21984],{},[59,62872,21988,62873,21992],{},[611,62874,21991],{},[59,62876,21995,62877,10670,62879,10670,62881,10670,62883,10670,62885,10670,62887],{},[611,62878,21998],{},[611,62880,6768],{},[611,62882,22003],{},[611,62884,22006],{},[611,62886,22009],{},[611,62888,22012],{},[59,62890,22015,62891,22019,62893],{},[611,62892,22018],{},[611,62894,22022],{},[59,62896,22025,62897,10670,62899,10670,62901,10670,62903,22036],{},[611,62898,21975],{},[611,62900,22030],{},[611,62902,22033],{},[611,62904,21984],{},[48,62906,22040],{"id":22039},[852,62908,62909,62911,62913,62915,62917,62919,62921,62923,62925],{},[59,62910,22045],{},[59,62912,22048],{},[59,62914,22051],{},[59,62916,22054],{},[59,62918,22057],{},[59,62920,22060],{},[59,62922,22063],{},[59,62924,22066],{},[59,62926,22069],{},[34,62928,62929,22075],{},[37,62930,22074],{},[41,62932,6900],{"id":6900},[34,62934,22080],{},[34,62936,62937],{},[611,62938,6986],{},[616,62940,62941],{"className":6989,"code":6990,"language":6991,"meta":14,"style":14},[611,62942,62943,62947,62957,62967,62975],{"__ignoreMap":14},[6995,62944,62945],{"class":244,"line":6997},[6995,62946,7001],{"class":7000},[6995,62948,62949,62951,62953,62955],{"class":244,"line":15},[6995,62950,7007],{"class":7006},[6995,62952,5102],{"class":7000},[6995,62954,7013],{"class":7012},[6995,62956,7016],{"class":7000},[6995,62958,62959,62961,62963,62965],{"class":244,"line":154},[6995,62960,7021],{"class":7006},[6995,62962,7024],{"class":7000},[6995,62964,7027],{"class":7006},[6995,62966,7030],{"class":7000},[6995,62968,62969,62971,62973],{"class":244,"line":7033},[6995,62970,7036],{"class":7006},[6995,62972,5102],{"class":7000},[6995,62974,7041],{"class":7012},[6995,62976,62977],{"class":244,"line":7044},[6995,62978,7047],{"class":7000},[34,62980,62981],{},[611,62982,7052],{},[616,62984,62985],{"className":6989,"code":39529,"language":6991,"meta":14,"style":14},[611,62986,62987,62991,63001,63011,63017,63021,63031,63041,63051,63061,63071,63081,63091,63101,63111,63121,63125],{"__ignoreMap":14},[6995,62988,62989],{"class":244,"line":6997},[6995,62990,7001],{"class":7000},[6995,62992,62993,62995,62997,62999],{"class":244,"line":15},[6995,62994,7007],{"class":7006},[6995,62996,5102],{"class":7000},[6995,62998,7013],{"class":7012},[6995,63000,7016],{"class":7000},[6995,63002,63003,63005,63007,63009],{"class":244,"line":154},[6995,63004,7021],{"class":7006},[6995,63006,7024],{"class":7000},[6995,63008,7027],{"class":7006},[6995,63010,7030],{"class":7000},[6995,63012,63013,63015],{"class":244,"line":7033},[6995,63014,7732],{"class":7006},[6995,63016,7532],{"class":7000},[6995,63018,63019],{"class":244,"line":7044},[6995,63020,7537],{"class":7000},[6995,63022,63023,63025,63027,63029],{"class":244,"line":7107},[6995,63024,22172],{"class":7006},[6995,63026,7746],{"class":7000},[6995,63028,21236],{"class":7006},[6995,63030,7030],{"class":7000},[6995,63032,63033,63035,63037,63039],{"class":244,"line":7120},[6995,63034,22183],{"class":7006},[6995,63036,7746],{"class":7000},[6995,63038,21011],{"class":7012},[6995,63040,7030],{"class":7000},[6995,63042,63043,63045,63047,63049],{"class":244,"line":7133},[6995,63044,29250],{"class":7006},[6995,63046,7024],{"class":7000},[6995,63048,29255],{"class":7006},[6995,63050,7030],{"class":7000},[6995,63052,63053,63055,63057,63059],{"class":244,"line":7146},[6995,63054,22194],{"class":7006},[6995,63056,7746],{"class":7000},[6995,63058,22199],{"class":7012},[6995,63060,7030],{"class":7000},[6995,63062,63063,63065,63067,63069],{"class":244,"line":7159},[6995,63064,29272],{"class":7006},[6995,63066,7024],{"class":7000},[6995,63068,8689],{"class":7006},[6995,63070,7030],{"class":7000},[6995,63072,63073,63075,63077,63079],{"class":244,"line":7172},[6995,63074,7241],{"class":7006},[6995,63076,7024],{"class":7000},[6995,63078,22210],{"class":7006},[6995,63080,7030],{"class":7000},[6995,63082,63083,63085,63087,63089],{"class":244,"line":7185},[6995,63084,7291],{"class":7006},[6995,63086,7024],{"class":7000},[6995,63088,7167],{"class":7006},[6995,63090,7030],{"class":7000},[6995,63092,63093,63095,63097,63099],{"class":244,"line":7198},[6995,63094,7316],{"class":7006},[6995,63096,7024],{"class":7000},[6995,63098,7180],{"class":7006},[6995,63100,7030],{"class":7000},[6995,63102,63103,63105,63107,63109],{"class":244,"line":7211},[6995,63104,7266],{"class":7006},[6995,63106,7024],{"class":7000},[6995,63108,22241],{"class":7006},[6995,63110,7030],{"class":7000},[6995,63112,63113,63115,63117,63119],{"class":244,"line":7220},[6995,63114,22259],{"class":7006},[6995,63116,7024],{"class":7000},[6995,63118,22264],{"class":7006},[6995,63120,7030],{"class":7000},[6995,63122,63123],{"class":244,"line":7226},[6995,63124,7615],{"class":7000},[6995,63126,63127],{"class":244,"line":7238},[6995,63128,7047],{"class":7000},[852,63130,63131,63135,63139,63143,63147,63151,63155],{},[59,63132,63133,22281],{},[611,63134,18147],{},[59,63136,63137,22287],{},[611,63138,22286],{},[59,63140,63141,22292],{},[611,63142,18150],{},[59,63144,63145,22298],{},[611,63146,22297],{},[59,63148,63149,22303],{},[611,63150,16328],{},[59,63152,63153,29373],{},[611,63154,25502],{},[59,63156,63157,29378],{},[611,63158,25499],{},[34,63160,29381,63161,2344],{},[611,63162,4979],{},[34,63164,63165],{},[611,63166,6986],{},[616,63168,63169],{"className":6989,"code":29390,"language":6991,"meta":14,"style":14},[611,63170,63171,63175,63185,63195,63205,63211,63219,63223],{"__ignoreMap":14},[6995,63172,63173],{"class":244,"line":6997},[6995,63174,7001],{"class":7000},[6995,63176,63177,63179,63181,63183],{"class":244,"line":15},[6995,63178,7007],{"class":7006},[6995,63180,5102],{"class":7000},[6995,63182,7013],{"class":7012},[6995,63184,7016],{"class":7000},[6995,63186,63187,63189,63191,63193],{"class":244,"line":154},[6995,63188,7021],{"class":7006},[6995,63190,7024],{"class":7000},[6995,63192,7027],{"class":7006},[6995,63194,7030],{"class":7000},[6995,63196,63197,63199,63201,63203],{"class":244,"line":7033},[6995,63198,7036],{"class":7006},[6995,63200,5102],{"class":7000},[6995,63202,17939],{"class":7012},[6995,63204,7030],{"class":7000},[6995,63206,63207,63209],{"class":244,"line":7044},[6995,63208,29431],{"class":7006},[6995,63210,7092],{"class":7000},[6995,63212,63213,63215,63217],{"class":244,"line":7107},[6995,63214,29438],{"class":7006},[6995,63216,7024],{"class":7000},[6995,63218,19668],{"class":7006},[6995,63220,63221],{"class":244,"line":7120},[6995,63222,15327],{"class":7000},[6995,63224,63225],{"class":244,"line":7133},[6995,63226,7047],{"class":7000},[852,63228,63229],{},[59,63230,63231,29457],{},[611,63232,18137],{},[34,63234,63235],{},[611,63236,7052],{},[616,63238,63239],{"className":6989,"code":39784,"language":6991,"meta":14,"style":14},[611,63240,63241,63245,63255,63265,63271,63281,63291,63301,63311,63321,63331,63341,63351,63361,63371,63377,63381,63391,63401,63411,63421,63431,63441,63451,63461,63471,63481,63491,63501,63511,63521,63531,63541,63551,63561,63571,63581,63591,63601,63611,63621,63631,63641,63651,63661,63669,63673,63677,63687,63697,63707,63717,63727,63737,63747,63757,63767,63777,63787,63797,63807,63817,63827,63837,63847,63857,63867,63877,63887,63897,63907,63917,63927,63937,63947,63957,63965,63969,63973,63977],{"__ignoreMap":14},[6995,63242,63243],{"class":244,"line":6997},[6995,63244,7001],{"class":7000},[6995,63246,63247,63249,63251,63253],{"class":244,"line":15},[6995,63248,7066],{"class":7006},[6995,63250,7024],{"class":7000},[6995,63252,7071],{"class":7006},[6995,63254,7030],{"class":7000},[6995,63256,63257,63259,63261,63263],{"class":244,"line":154},[6995,63258,7078],{"class":7006},[6995,63260,7024],{"class":7000},[6995,63262,7013],{"class":7012},[6995,63264,7030],{"class":7000},[6995,63266,63267,63269],{"class":244,"line":7033},[6995,63268,7089],{"class":7006},[6995,63270,7092],{"class":7000},[6995,63272,63273,63275,63277,63279],{"class":244,"line":7044},[6995,63274,7097],{"class":7006},[6995,63276,7746],{"class":7000},[6995,63278,21236],{"class":7006},[6995,63280,7030],{"class":7000},[6995,63282,63283,63285,63287,63289],{"class":244,"line":7107},[6995,63284,7110],{"class":7006},[6995,63286,7746],{"class":7000},[6995,63288,21011],{"class":7012},[6995,63290,7030],{"class":7000},[6995,63292,63293,63295,63297,63299],{"class":244,"line":7120},[6995,63294,29521],{"class":7006},[6995,63296,7024],{"class":7000},[6995,63298,29255],{"class":7006},[6995,63300,7030],{"class":7000},[6995,63302,63303,63305,63307,63309],{"class":244,"line":7133},[6995,63304,7136],{"class":7006},[6995,63306,7746],{"class":7000},[6995,63308,22199],{"class":7012},[6995,63310,7030],{"class":7000},[6995,63312,63313,63315,63317,63319],{"class":244,"line":7146},[6995,63314,29542],{"class":7006},[6995,63316,7024],{"class":7000},[6995,63318,8689],{"class":7006},[6995,63320,7030],{"class":7000},[6995,63322,63323,63325,63327,63329],{"class":244,"line":7159},[6995,63324,7149],{"class":7006},[6995,63326,7024],{"class":7000},[6995,63328,22210],{"class":7006},[6995,63330,7030],{"class":7000},[6995,63332,63333,63335,63337,63339],{"class":244,"line":7172},[6995,63334,7162],{"class":7006},[6995,63336,7024],{"class":7000},[6995,63338,7167],{"class":7006},[6995,63340,7030],{"class":7000},[6995,63342,63343,63345,63347,63349],{"class":244,"line":7185},[6995,63344,7175],{"class":7006},[6995,63346,7024],{"class":7000},[6995,63348,7180],{"class":7006},[6995,63350,7030],{"class":7000},[6995,63352,63353,63355,63357,63359],{"class":244,"line":7198},[6995,63354,7188],{"class":7006},[6995,63356,7024],{"class":7000},[6995,63358,22241],{"class":7006},[6995,63360,7030],{"class":7000},[6995,63362,63363,63365,63367,63369],{"class":244,"line":7211},[6995,63364,7123],{"class":7006},[6995,63366,7024],{"class":7000},[6995,63368,22264],{"class":7006},[6995,63370,7030],{"class":7000},[6995,63372,63373,63375],{"class":244,"line":7220},[6995,63374,7214],{"class":7006},[6995,63376,7217],{"class":7000},[6995,63378,63379],{"class":244,"line":7226},[6995,63380,7223],{"class":7000},[6995,63382,63383,63385,63387,63389],{"class":244,"line":7238},[6995,63384,7229],{"class":7006},[6995,63386,7024],{"class":7000},[6995,63388,7180],{"class":7006},[6995,63390,7030],{"class":7000},[6995,63392,63393,63395,63397,63399],{"class":244,"line":7250},[6995,63394,7241],{"class":7006},[6995,63396,7024],{"class":7000},[6995,63398,39945],{"class":7006},[6995,63400,7030],{"class":7000},[6995,63402,63403,63405,63407,63409],{"class":244,"line":7263},[6995,63404,39952],{"class":7006},[6995,63406,7024],{"class":7000},[6995,63408,7180],{"class":7006},[6995,63410,7030],{"class":7000},[6995,63412,63413,63415,63417,63419],{"class":244,"line":7275},[6995,63414,39963],{"class":7006},[6995,63416,7024],{"class":7000},[6995,63418,7405],{"class":7012},[6995,63420,7030],{"class":7000},[6995,63422,63423,63425,63427,63429],{"class":244,"line":7288},[6995,63424,39974],{"class":7006},[6995,63426,7024],{"class":7000},[6995,63428,39945],{"class":7006},[6995,63430,7030],{"class":7000},[6995,63432,63433,63435,63437,63439],{"class":244,"line":7300},[6995,63434,39985],{"class":7006},[6995,63436,7024],{"class":7000},[6995,63438,39990],{"class":7012},[6995,63440,7030],{"class":7000},[6995,63442,63443,63445,63447,63449],{"class":244,"line":7313},[6995,63444,7253],{"class":7006},[6995,63446,7024],{"class":7000},[6995,63448,39990],{"class":7012},[6995,63450,7030],{"class":7000},[6995,63452,63453,63455,63457,63459],{"class":244,"line":7325},[6995,63454,8585],{"class":7006},[6995,63456,7024],{"class":7000},[6995,63458,7180],{"class":7006},[6995,63460,7030],{"class":7000},[6995,63462,63463,63465,63467,63469],{"class":244,"line":7336},[6995,63464,8596],{"class":7006},[6995,63466,7024],{"class":7000},[6995,63468,7405],{"class":7012},[6995,63470,7030],{"class":7000},[6995,63472,63473,63475,63477,63479],{"class":244,"line":7342},[6995,63474,22248],{"class":7006},[6995,63476,7024],{"class":7000},[6995,63478,40031],{"class":7006},[6995,63480,7030],{"class":7000},[6995,63482,63483,63485,63487,63489],{"class":244,"line":7347},[6995,63484,40038],{"class":7006},[6995,63486,7024],{"class":7000},[6995,63488,40043],{"class":7012},[6995,63490,7030],{"class":7000},[6995,63492,63493,63495,63497,63499],{"class":244,"line":7363},[6995,63494,7266],{"class":7006},[6995,63496,7024],{"class":7000},[6995,63498,40031],{"class":7006},[6995,63500,7030],{"class":7000},[6995,63502,63503,63505,63507,63509],{"class":244,"line":7375},[6995,63504,40060],{"class":7006},[6995,63506,7024],{"class":7000},[6995,63508,7180],{"class":7006},[6995,63510,7030],{"class":7000},[6995,63512,63513,63515,63517,63519],{"class":244,"line":7387},[6995,63514,40071],{"class":7006},[6995,63516,7024],{"class":7000},[6995,63518,7405],{"class":7012},[6995,63520,7030],{"class":7000},[6995,63522,63523,63525,63527,63529],{"class":244,"line":7398},[6995,63524,40082],{"class":7006},[6995,63526,7024],{"class":7000},[6995,63528,40031],{"class":7006},[6995,63530,7030],{"class":7000},[6995,63532,63533,63535,63537,63539],{"class":244,"line":7410},[6995,63534,40093],{"class":7006},[6995,63536,7024],{"class":7000},[6995,63538,40043],{"class":7012},[6995,63540,7030],{"class":7000},[6995,63542,63543,63545,63547,63549],{"class":244,"line":7421},[6995,63544,7278],{"class":7006},[6995,63546,7024],{"class":7000},[6995,63548,40043],{"class":7012},[6995,63550,7030],{"class":7000},[6995,63552,63553,63555,63557,63559],{"class":244,"line":7432},[6995,63554,7291],{"class":7006},[6995,63556,7024],{"class":7000},[6995,63558,7180],{"class":7006},[6995,63560,7030],{"class":7000},[6995,63562,63563,63565,63567,63569],{"class":244,"line":7443},[6995,63564,40124],{"class":7006},[6995,63566,7024],{"class":7000},[6995,63568,7180],{"class":7006},[6995,63570,7030],{"class":7000},[6995,63572,63573,63575,63577,63579],{"class":244,"line":7452},[6995,63574,40135],{"class":7006},[6995,63576,7024],{"class":7000},[6995,63578,7405],{"class":7012},[6995,63580,7030],{"class":7000},[6995,63582,63583,63585,63587,63589],{"class":244,"line":7458},[6995,63584,40146],{"class":7006},[6995,63586,7024],{"class":7000},[6995,63588,7180],{"class":7006},[6995,63590,7030],{"class":7000},[6995,63592,63593,63595,63597,63599],{"class":244,"line":7464},[6995,63594,40157],{"class":7006},[6995,63596,7024],{"class":7000},[6995,63598,7405],{"class":7012},[6995,63600,7030],{"class":7000},[6995,63602,63603,63605,63607,63609],{"class":244,"line":7470},[6995,63604,7303],{"class":7006},[6995,63606,7024],{"class":7000},[6995,63608,7405],{"class":7012},[6995,63610,7030],{"class":7000},[6995,63612,63613,63615,63617,63619],{"class":244,"line":13197},[6995,63614,7316],{"class":7006},[6995,63616,7024],{"class":7000},[6995,63618,7180],{"class":7006},[6995,63620,7030],{"class":7000},[6995,63622,63623,63625,63627,63629],{"class":244,"line":13202},[6995,63624,40188],{"class":7006},[6995,63626,7024],{"class":7000},[6995,63628,7180],{"class":7006},[6995,63630,7030],{"class":7000},[6995,63632,63633,63635,63637,63639],{"class":244,"line":13214},[6995,63634,40199],{"class":7006},[6995,63636,7024],{"class":7000},[6995,63638,7405],{"class":7012},[6995,63640,7030],{"class":7000},[6995,63642,63643,63645,63647,63649],{"class":244,"line":13225},[6995,63644,40210],{"class":7006},[6995,63646,7024],{"class":7000},[6995,63648,7180],{"class":7006},[6995,63650,7030],{"class":7000},[6995,63652,63653,63655,63657,63659],{"class":244,"line":13237},[6995,63654,40221],{"class":7006},[6995,63656,7024],{"class":7000},[6995,63658,7405],{"class":7012},[6995,63660,7030],{"class":7000},[6995,63662,63663,63665,63667],{"class":244,"line":13248},[6995,63664,7328],{"class":7006},[6995,63666,7024],{"class":7000},[6995,63668,7333],{"class":7012},[6995,63670,63671],{"class":244,"line":13258},[6995,63672,7339],{"class":7000},[6995,63674,63675],{"class":244,"line":13263},[6995,63676,7223],{"class":7000},[6995,63678,63679,63681,63683,63685],{"class":244,"line":13268},[6995,63680,7229],{"class":7006},[6995,63682,7024],{"class":7000},[6995,63684,11136],{"class":7006},[6995,63686,7030],{"class":7000},[6995,63688,63689,63691,63693,63695],{"class":244,"line":13275},[6995,63690,7241],{"class":7006},[6995,63692,7024],{"class":7000},[6995,63694,40262],{"class":7006},[6995,63696,7030],{"class":7000},[6995,63698,63699,63701,63703,63705],{"class":244,"line":13280},[6995,63700,39952],{"class":7006},[6995,63702,7024],{"class":7000},[6995,63704,7180],{"class":7006},[6995,63706,7030],{"class":7000},[6995,63708,63709,63711,63713,63715],{"class":244,"line":13291},[6995,63710,39963],{"class":7006},[6995,63712,7024],{"class":7000},[6995,63714,7405],{"class":7012},[6995,63716,7030],{"class":7000},[6995,63718,63719,63721,63723,63725],{"class":244,"line":13303},[6995,63720,39974],{"class":7006},[6995,63722,7024],{"class":7000},[6995,63724,40262],{"class":7006},[6995,63726,7030],{"class":7000},[6995,63728,63729,63731,63733,63735],{"class":244,"line":13314},[6995,63730,39985],{"class":7006},[6995,63732,7024],{"class":7000},[6995,63734,40303],{"class":7012},[6995,63736,7030],{"class":7000},[6995,63738,63739,63741,63743,63745],{"class":244,"line":13324},[6995,63740,7253],{"class":7006},[6995,63742,7024],{"class":7000},[6995,63744,40303],{"class":7012},[6995,63746,7030],{"class":7000},[6995,63748,63749,63751,63753,63755],{"class":244,"line":13329},[6995,63750,8585],{"class":7006},[6995,63752,7024],{"class":7000},[6995,63754,7180],{"class":7006},[6995,63756,7030],{"class":7000},[6995,63758,63759,63761,63763,63765],{"class":244,"line":13334},[6995,63760,8596],{"class":7006},[6995,63762,7024],{"class":7000},[6995,63764,7405],{"class":7012},[6995,63766,7030],{"class":7000},[6995,63768,63769,63771,63773,63775],{"class":244,"line":13346},[6995,63770,22248],{"class":7006},[6995,63772,7024],{"class":7000},[6995,63774,7180],{"class":7006},[6995,63776,7030],{"class":7000},[6995,63778,63779,63781,63783,63785],{"class":244,"line":13357},[6995,63780,40038],{"class":7006},[6995,63782,7024],{"class":7000},[6995,63784,7405],{"class":7012},[6995,63786,7030],{"class":7000},[6995,63788,63789,63791,63793,63795],{"class":244,"line":13368},[6995,63790,7266],{"class":7006},[6995,63792,7024],{"class":7000},[6995,63794,7180],{"class":7006},[6995,63796,7030],{"class":7000},[6995,63798,63799,63801,63803,63805],{"class":244,"line":13379},[6995,63800,40060],{"class":7006},[6995,63802,7024],{"class":7000},[6995,63804,7180],{"class":7006},[6995,63806,7030],{"class":7000},[6995,63808,63809,63811,63813,63815],{"class":244,"line":13389},[6995,63810,40071],{"class":7006},[6995,63812,7024],{"class":7000},[6995,63814,7405],{"class":7012},[6995,63816,7030],{"class":7000},[6995,63818,63819,63821,63823,63825],{"class":244,"line":13394},[6995,63820,40082],{"class":7006},[6995,63822,7024],{"class":7000},[6995,63824,7180],{"class":7006},[6995,63826,7030],{"class":7000},[6995,63828,63829,63831,63833,63835],{"class":244,"line":13399},[6995,63830,40093],{"class":7006},[6995,63832,7024],{"class":7000},[6995,63834,7405],{"class":7012},[6995,63836,7030],{"class":7000},[6995,63838,63839,63841,63843,63845],{"class":244,"line":13411},[6995,63840,7278],{"class":7006},[6995,63842,7024],{"class":7000},[6995,63844,7405],{"class":7012},[6995,63846,7030],{"class":7000},[6995,63848,63849,63851,63853,63855],{"class":244,"line":13423},[6995,63850,7291],{"class":7006},[6995,63852,7024],{"class":7000},[6995,63854,7180],{"class":7006},[6995,63856,7030],{"class":7000},[6995,63858,63859,63861,63863,63865],{"class":244,"line":13434},[6995,63860,40124],{"class":7006},[6995,63862,7024],{"class":7000},[6995,63864,7180],{"class":7006},[6995,63866,7030],{"class":7000},[6995,63868,63869,63871,63873,63875],{"class":244,"line":13445},[6995,63870,40135],{"class":7006},[6995,63872,7024],{"class":7000},[6995,63874,7405],{"class":7012},[6995,63876,7030],{"class":7000},[6995,63878,63879,63881,63883,63885],{"class":244,"line":13457},[6995,63880,40146],{"class":7006},[6995,63882,7024],{"class":7000},[6995,63884,7180],{"class":7006},[6995,63886,7030],{"class":7000},[6995,63888,63889,63891,63893,63895],{"class":244,"line":13464},[6995,63890,40157],{"class":7006},[6995,63892,7024],{"class":7000},[6995,63894,7405],{"class":7012},[6995,63896,7030],{"class":7000},[6995,63898,63899,63901,63903,63905],{"class":244,"line":13471},[6995,63900,7303],{"class":7006},[6995,63902,7024],{"class":7000},[6995,63904,7405],{"class":7012},[6995,63906,7030],{"class":7000},[6995,63908,63909,63911,63913,63915],{"class":244,"line":13476},[6995,63910,7316],{"class":7006},[6995,63912,7024],{"class":7000},[6995,63914,7180],{"class":7006},[6995,63916,7030],{"class":7000},[6995,63918,63919,63921,63923,63925],{"class":244,"line":13488},[6995,63920,40188],{"class":7006},[6995,63922,7024],{"class":7000},[6995,63924,7180],{"class":7006},[6995,63926,7030],{"class":7000},[6995,63928,63929,63931,63933,63935],{"class":244,"line":13499},[6995,63930,40199],{"class":7006},[6995,63932,7024],{"class":7000},[6995,63934,7405],{"class":7012},[6995,63936,7030],{"class":7000},[6995,63938,63939,63941,63943,63945],{"class":244,"line":13511},[6995,63940,40210],{"class":7006},[6995,63942,7024],{"class":7000},[6995,63944,7180],{"class":7006},[6995,63946,7030],{"class":7000},[6995,63948,63949,63951,63953,63955],{"class":244,"line":13522},[6995,63950,40221],{"class":7006},[6995,63952,7024],{"class":7000},[6995,63954,7405],{"class":7012},[6995,63956,7030],{"class":7000},[6995,63958,63959,63961,63963],{"class":244,"line":13532},[6995,63960,7328],{"class":7006},[6995,63962,7024],{"class":7000},[6995,63964,7333],{"class":7012},[6995,63966,63967],{"class":244,"line":13537},[6995,63968,7455],{"class":7000},[6995,63970,63971],{"class":244,"line":13542},[6995,63972,7461],{"class":7000},[6995,63974,63975],{"class":244,"line":13549},[6995,63976,7467],{"class":7000},[6995,63978,63979],{"class":244,"line":13554},[6995,63980,7047],{"class":7000},[852,63982,63983,63995,63999,64003,64011,64015,64019,64027,64031,64035,64043,64047,64051,64059,64063],{},[59,63984,63985,40556,63987],{},[611,63986,18109],{},[852,63988,63989,63991,63993],{},[59,63990,18115],{},[59,63992,18118],{},[59,63994,18121],{},[59,63996,63997,40569],{},[611,63998,35322],{},[59,64000,64001,40574],{},[611,64002,35328],{},[59,64004,64005,40579,64007,1475,64009],{},[611,64006,18147],{},[611,64008,35322],{},[611,64010,35328],{},[59,64012,64013,40588],{},[611,64014,35334],{},[59,64016,64017,40593],{},[611,64018,35340],{},[59,64020,64021,40579,64023,1475,64025],{},[611,64022,22030],{},[611,64024,35334],{},[611,64026,35340],{},[59,64028,64029,40606],{},[611,64030,35346],{},[59,64032,64033,40611],{},[611,64034,35352],{},[59,64036,64037,40579,64039,1475,64041],{},[611,64038,22033],{},[611,64040,35346],{},[611,64042,35352],{},[59,64044,64045,40624],{},[611,64046,35358],{},[59,64048,64049,40629],{},[611,64050,35364],{},[59,64052,64053,40579,64055,1475,64057],{},[611,64054,18150],{},[611,64056,35358],{},[611,64058,35364],{},[59,64060,64061,40642],{},[611,64062,8665],{},[59,64064,64065,40647,64067,2231,64069,1475,64071],{},[611,64066,22297],{},[611,64068,35358],{},[611,64070,35364],{},[611,64072,8665],{},[34,64074,18124,64075,18127,64077,18130,64079,18134,64081,18138],{},[611,64076,18109],{},[611,64078,6869],{},[611,64080,18133],{},[611,64082,18137],{},[34,64084,18141,64085,18144,64087,2231,64089,18151,64091,8016,64093,18156,64095,18159,64097,18163],{},[8009,64086,8011],{},[611,64088,18147],{},[611,64090,18150],{},[611,64092,8015],{},[8009,64094,8019],{},[611,64096,8015],{},[611,64098,18162],{},[41,64100,18014],{"id":18014},[34,64102,22737],{},[34,64104,64105],{},[611,64106,6986],{},[616,64108,64109],{"className":6989,"code":22744,"language":6991,"meta":14,"style":14},[611,64110,64111,64115,64125,64135,64145,64151,64155,64165,64175,64181,64191,64199,64203,64207],{"__ignoreMap":14},[6995,64112,64113],{"class":244,"line":6997},[6995,64114,7001],{"class":7000},[6995,64116,64117,64119,64121,64123],{"class":244,"line":15},[6995,64118,7007],{"class":7006},[6995,64120,5102],{"class":7000},[6995,64122,7013],{"class":7012},[6995,64124,7016],{"class":7000},[6995,64126,64127,64129,64131,64133],{"class":244,"line":154},[6995,64128,7021],{"class":7006},[6995,64130,7024],{"class":7000},[6995,64132,7027],{"class":7006},[6995,64134,7030],{"class":7000},[6995,64136,64137,64139,64141,64143],{"class":244,"line":7033},[6995,64138,7036],{"class":7006},[6995,64140,5102],{"class":7000},[6995,64142,22779],{"class":7012},[6995,64144,7030],{"class":7000},[6995,64146,64147,64149],{"class":244,"line":7044},[6995,64148,7529],{"class":7006},[6995,64150,7811],{"class":7000},[6995,64152,64153],{"class":244,"line":7107},[6995,64154,7537],{"class":7000},[6995,64156,64157,64159,64161,64163],{"class":244,"line":7120},[6995,64158,21259],{"class":7006},[6995,64160,7024],{"class":7000},[6995,64162,22800],{"class":7006},[6995,64164,7030],{"class":7000},[6995,64166,64167,64169,64171,64173],{"class":244,"line":7133},[6995,64168,21248],{"class":7006},[6995,64170,7024],{"class":7000},[6995,64172,7180],{"class":7006},[6995,64174,7030],{"class":7000},[6995,64176,64177,64179],{"class":244,"line":7146},[6995,64178,22817],{"class":7006},[6995,64180,7092],{"class":7000},[6995,64182,64183,64185,64187,64189],{"class":244,"line":7159},[6995,64184,22824],{"class":7006},[6995,64186,7024],{"class":7000},[6995,64188,22829],{"class":7012},[6995,64190,7030],{"class":7000},[6995,64192,64193,64195,64197],{"class":244,"line":7172},[6995,64194,22836],{"class":7006},[6995,64196,7024],{"class":7000},[6995,64198,22841],{"class":7012},[6995,64200,64201],{"class":244,"line":7185},[6995,64202,15327],{"class":7000},[6995,64204,64205],{"class":244,"line":7198},[6995,64206,7615],{"class":7000},[6995,64208,64209],{"class":244,"line":7211},[6995,64210,7047],{"class":7000},[852,64212,64213,64217,64223,64227],{},[59,64214,64215,22860],{},[611,64216,12842],{},[59,64218,64219,22865,64221,181],{},[611,64220,21296],{},[611,64222,7180],{},[59,64224,64225,22873],{},[611,64226,22872],{},[59,64228,64229,22879],{},[611,64230,22878],{},[34,64232,64233],{},[611,64234,7052],{},[616,64236,64237],{"className":6989,"code":22886,"language":6991,"meta":14,"style":14},[611,64238,64239,64243,64253,64263,64269,64273,64283,64293,64303,64313,64323,64333,64343,64353,64361,64365],{"__ignoreMap":14},[6995,64240,64241],{"class":244,"line":6997},[6995,64242,7001],{"class":7000},[6995,64244,64245,64247,64249,64251],{"class":244,"line":15},[6995,64246,7007],{"class":7006},[6995,64248,7024],{"class":7000},[6995,64250,7013],{"class":7012},[6995,64252,7016],{"class":7000},[6995,64254,64255,64257,64259,64261],{"class":244,"line":154},[6995,64256,7021],{"class":7006},[6995,64258,7024],{"class":7000},[6995,64260,7027],{"class":7006},[6995,64262,7030],{"class":7000},[6995,64264,64265,64267],{"class":244,"line":7033},[6995,64266,7732],{"class":7006},[6995,64268,7532],{"class":7000},[6995,64270,64271],{"class":244,"line":7044},[6995,64272,19059],{"class":7000},[6995,64274,64275,64277,64279,64281],{"class":244,"line":7107},[6995,64276,12965],{"class":7006},[6995,64278,7024],{"class":7000},[6995,64280,7167],{"class":7006},[6995,64282,7030],{"class":7000},[6995,64284,64285,64287,64289,64291],{"class":244,"line":7120},[6995,64286,7229],{"class":7006},[6995,64288,7024],{"class":7000},[6995,64290,7180],{"class":7006},[6995,64292,7030],{"class":7000},[6995,64294,64295,64297,64299,64301],{"class":244,"line":7133},[6995,64296,8467],{"class":7006},[6995,64298,7024],{"class":7000},[6995,64300,22951],{"class":7006},[6995,64302,7030],{"class":7000},[6995,64304,64305,64307,64309,64311],{"class":244,"line":7146},[6995,64306,13052],{"class":7006},[6995,64308,7024],{"class":7000},[6995,64310,22962],{"class":7006},[6995,64312,7030],{"class":7000},[6995,64314,64315,64317,64319,64321],{"class":244,"line":7159},[6995,64316,11924],{"class":7006},[6995,64318,7024],{"class":7000},[6995,64320,22973],{"class":7012},[6995,64322,7030],{"class":7000},[6995,64324,64325,64327,64329,64331],{"class":244,"line":7172},[6995,64326,22980],{"class":7006},[6995,64328,7024],{"class":7000},[6995,64330,20884],{"class":7012},[6995,64332,7030],{"class":7000},[6995,64334,64335,64337,64339,64341],{"class":244,"line":7185},[6995,64336,22991],{"class":7006},[6995,64338,7024],{"class":7000},[6995,64340,19080],{"class":7012},[6995,64342,7030],{"class":7000},[6995,64344,64345,64347,64349,64351],{"class":244,"line":7198},[6995,64346,21018],{"class":7006},[6995,64348,7024],{"class":7000},[6995,64350,7511],{"class":7006},[6995,64352,7030],{"class":7000},[6995,64354,64355,64357,64359],{"class":244,"line":7211},[6995,64356,21029],{"class":7006},[6995,64358,7024],{"class":7000},[6995,64360,23016],{"class":7012},[6995,64362,64363],{"class":244,"line":7220},[6995,64364,21877],{"class":7000},[6995,64366,64367],{"class":244,"line":7226},[6995,64368,7047],{"class":7000},[852,64370,64371,64377],{},[59,64372,64373,23031,64375,8764],{},[611,64374,6869],{},[611,64376,4979],{},[59,64378,64379,23038],{},[611,64380,21309],{},[34,64382,64383],{},[611,64384,6986],{},[616,64386,64387],{"className":6989,"code":23045,"language":6991,"meta":14,"style":14},[611,64388,64389,64393,64403,64413,64423,64429,64439,64445,64453,64457,64461],{"__ignoreMap":14},[6995,64390,64391],{"class":244,"line":6997},[6995,64392,7001],{"class":7000},[6995,64394,64395,64397,64399,64401],{"class":244,"line":15},[6995,64396,7007],{"class":7006},[6995,64398,7024],{"class":7000},[6995,64400,7013],{"class":7012},[6995,64402,7030],{"class":7000},[6995,64404,64405,64407,64409,64411],{"class":244,"line":154},[6995,64406,7021],{"class":7006},[6995,64408,7024],{"class":7000},[6995,64410,7071],{"class":7006},[6995,64412,7030],{"class":7000},[6995,64414,64415,64417,64419,64421],{"class":244,"line":7033},[6995,64416,7036],{"class":7006},[6995,64418,7024],{"class":7000},[6995,64420,22779],{"class":7012},[6995,64422,7030],{"class":7000},[6995,64424,64425,64427],{"class":244,"line":7044},[6995,64426,7529],{"class":7006},[6995,64428,7092],{"class":7000},[6995,64430,64431,64433,64435,64437],{"class":244,"line":7107},[6995,64432,23092],{"class":7006},[6995,64434,7024],{"class":7000},[6995,64436,8689],{"class":7006},[6995,64438,7030],{"class":7000},[6995,64440,64441,64443],{"class":244,"line":7120},[6995,64442,21209],{"class":7006},[6995,64444,7092],{"class":7000},[6995,64446,64447,64449,64451],{"class":244,"line":7133},[6995,64448,23109],{"class":7006},[6995,64450,7024],{"class":7000},[6995,64452,7686],{"class":7006},[6995,64454,64455],{"class":244,"line":7146},[6995,64456,15327],{"class":7000},[6995,64458,64459],{"class":244,"line":7159},[6995,64460,7615],{"class":7000},[6995,64462,64463],{"class":244,"line":7172},[6995,64464,7047],{"class":7000},[34,64466,64467],{},[611,64468,7052],{},[616,64470,64471],{"className":6989,"code":23132,"language":6991,"meta":14,"style":14},[611,64472,64473,64477,64487,64497,64503,64507,64517,64527,64537,64547,64557,64567,64577,64587,64595,64599,64603],{"__ignoreMap":14},[6995,64474,64475],{"class":244,"line":6997},[6995,64476,7001],{"class":7000},[6995,64478,64479,64481,64483,64485],{"class":244,"line":15},[6995,64480,7066],{"class":7006},[6995,64482,7024],{"class":7000},[6995,64484,7071],{"class":7006},[6995,64486,7030],{"class":7000},[6995,64488,64489,64491,64493,64495],{"class":244,"line":154},[6995,64490,7078],{"class":7006},[6995,64492,7024],{"class":7000},[6995,64494,7013],{"class":7012},[6995,64496,7030],{"class":7000},[6995,64498,64499,64501],{"class":244,"line":7033},[6995,64500,7089],{"class":7006},[6995,64502,7217],{"class":7000},[6995,64504,64505],{"class":244,"line":7044},[6995,64506,7537],{"class":7000},[6995,64508,64509,64511,64513,64515],{"class":244,"line":7107},[6995,64510,23173],{"class":7006},[6995,64512,7024],{"class":7000},[6995,64514,23178],{"class":7006},[6995,64516,7030],{"class":7000},[6995,64518,64519,64521,64523,64525],{"class":244,"line":7120},[6995,64520,21509],{"class":7006},[6995,64522,7024],{"class":7000},[6995,64524,6679],{"class":7006},[6995,64526,7030],{"class":7000},[6995,64528,64529,64531,64533,64535],{"class":244,"line":7133},[6995,64530,23195],{"class":7006},[6995,64532,7024],{"class":7000},[6995,64534,23200],{"class":7012},[6995,64536,7030],{"class":7000},[6995,64538,64539,64541,64543,64545],{"class":244,"line":7146},[6995,64540,12663],{"class":7006},[6995,64542,7024],{"class":7000},[6995,64544,23211],{"class":7012},[6995,64546,7030],{"class":7000},[6995,64548,64549,64551,64553,64555],{"class":244,"line":7159},[6995,64550,12751],{"class":7006},[6995,64552,7024],{"class":7000},[6995,64554,23222],{"class":7006},[6995,64556,7030],{"class":7000},[6995,64558,64559,64561,64563,64565],{"class":244,"line":7172},[6995,64560,23229],{"class":7006},[6995,64562,7024],{"class":7000},[6995,64564,19080],{"class":7012},[6995,64566,7030],{"class":7000},[6995,64568,64569,64571,64573,64575],{"class":244,"line":7185},[6995,64570,21622],{"class":7006},[6995,64572,7024],{"class":7000},[6995,64574,6679],{"class":7006},[6995,64576,7030],{"class":7000},[6995,64578,64579,64581,64583,64585],{"class":244,"line":7198},[6995,64580,21633],{"class":7006},[6995,64582,7024],{"class":7000},[6995,64584,23254],{"class":7012},[6995,64586,7030],{"class":7000},[6995,64588,64589,64591,64593],{"class":244,"line":7211},[6995,64590,23261],{"class":7006},[6995,64592,7024],{"class":7000},[6995,64594,23266],{"class":7012},[6995,64596,64597],{"class":244,"line":7220},[6995,64598,7615],{"class":7000},[6995,64600,64601],{"class":244,"line":7226},[6995,64602,23275],{"class":7000},[6995,64604,64605],{"class":244,"line":7238},[6995,64606,7047],{"class":7000},[852,64608,64609,64623],{},[59,64610,64611,23286,64613,23290,64615,23294,64617,23298,64619,23302,64621,23306],{},[611,64612,11962],{},[611,64614,23289],{},[611,64616,23293],{},[611,64618,23297],{},[611,64620,23301],{},[611,64622,23305],{},[59,64624,64625,23286,64627,2231,64629,2231,64631,2231,64633,2231,64635,2231,64637,2231,64639,18637,64641,23335],{},[611,64626,12388],{},[611,64628,23313],{},[611,64630,23316],{},[611,64632,23319],{},[611,64634,23322],{},[611,64636,23325],{},[611,64638,23328],{},[611,64640,23331],{},[611,64642,23334],{},[41,64644,6935],{"id":6935},[34,64646,23340,64647,23343],{},[175,64648,6930],{"href":8044},[34,64650,64651],{},[611,64652,6986],{},[616,64654,64655],{"className":6989,"code":7767,"language":6991,"meta":14,"style":14},[611,64656,64657,64661,64671,64681,64691,64697,64701,64709,64713],{"__ignoreMap":14},[6995,64658,64659],{"class":244,"line":6997},[6995,64660,7001],{"class":7000},[6995,64662,64663,64665,64667,64669],{"class":244,"line":15},[6995,64664,7007],{"class":7006},[6995,64666,5102],{"class":7000},[6995,64668,7013],{"class":7012},[6995,64670,7016],{"class":7000},[6995,64672,64673,64675,64677,64679],{"class":244,"line":154},[6995,64674,7021],{"class":7006},[6995,64676,7024],{"class":7000},[6995,64678,7027],{"class":7006},[6995,64680,7030],{"class":7000},[6995,64682,64683,64685,64687,64689],{"class":244,"line":7033},[6995,64684,7036],{"class":7006},[6995,64686,7024],{"class":7000},[6995,64688,7802],{"class":7012},[6995,64690,7030],{"class":7000},[6995,64692,64693,64695],{"class":244,"line":7044},[6995,64694,7529],{"class":7006},[6995,64696,7811],{"class":7000},[6995,64698,64699],{"class":244,"line":7107},[6995,64700,7537],{"class":7000},[6995,64702,64703,64705,64707],{"class":244,"line":7120},[6995,64704,7229],{"class":7006},[6995,64706,7024],{"class":7000},[6995,64708,7686],{"class":7006},[6995,64710,64711],{"class":244,"line":7133},[6995,64712,7615],{"class":7000},[6995,64714,64715],{"class":244,"line":7146},[6995,64716,7047],{"class":7000},[852,64718,64719,64723],{},[59,64720,64721,7838],{},[611,64722,6869],{},[59,64724,64725,20314],{},[611,64726,20130],{},[34,64728,64729],{},[611,64730,7052],{},[616,64732,64733],{"className":6989,"code":30483,"language":6991,"meta":14,"style":14},[611,64734,64735,64739,64749,64759,64765,64769,64779,64789,64799,64809,64819,64829,64839,64845,64855,64865,64875,64885,64893,64897,64907,64917,64927,64935,64939],{"__ignoreMap":14},[6995,64736,64737],{"class":244,"line":6997},[6995,64738,7001],{"class":7000},[6995,64740,64741,64743,64745,64747],{"class":244,"line":15},[6995,64742,7021],{"class":7006},[6995,64744,7024],{"class":7000},[6995,64746,7071],{"class":7006},[6995,64748,7030],{"class":7000},[6995,64750,64751,64753,64755,64757],{"class":244,"line":154},[6995,64752,7007],{"class":7006},[6995,64754,7024],{"class":7000},[6995,64756,7013],{"class":7012},[6995,64758,7030],{"class":7000},[6995,64760,64761,64763],{"class":244,"line":7033},[6995,64762,7732],{"class":7006},[6995,64764,7673],{"class":7000},[6995,64766,64767],{"class":244,"line":7044},[6995,64768,7537],{"class":7000},[6995,64770,64771,64773,64775,64777],{"class":244,"line":7107},[6995,64772,7229],{"class":7006},[6995,64774,7024],{"class":7000},[6995,64776,6679],{"class":7006},[6995,64778,7030],{"class":7000},[6995,64780,64781,64783,64785,64787],{"class":244,"line":7120},[6995,64782,7896],{"class":7006},[6995,64784,7024],{"class":7000},[6995,64786,7370],{"class":7006},[6995,64788,7030],{"class":7000},[6995,64790,64791,64793,64795,64797],{"class":244,"line":7133},[6995,64792,7907],{"class":7006},[6995,64794,7024],{"class":7000},[6995,64796,7382],{"class":7012},[6995,64798,7030],{"class":7000},[6995,64800,64801,64803,64805,64807],{"class":244,"line":7146},[6995,64802,7918],{"class":7006},[6995,64804,7024],{"class":7000},[6995,64806,6679],{"class":7006},[6995,64808,7030],{"class":7000},[6995,64810,64811,64813,64815,64817],{"class":244,"line":7159},[6995,64812,7929],{"class":7006},[6995,64814,7024],{"class":7000},[6995,64816,7934],{"class":7006},[6995,64818,7030],{"class":7000},[6995,64820,64821,64823,64825,64827],{"class":244,"line":7172},[6995,64822,7941],{"class":7006},[6995,64824,7024],{"class":7000},[6995,64826,30578],{"class":7012},[6995,64828,7030],{"class":7000},[6995,64830,64831,64833,64835,64837],{"class":244,"line":7185},[6995,64832,30585],{"class":7006},[6995,64834,7024],{"class":7000},[6995,64836,8689],{"class":7006},[6995,64838,7030],{"class":7000},[6995,64840,64841,64843],{"class":244,"line":7198},[6995,64842,30596],{"class":7006},[6995,64844,7092],{"class":7000},[6995,64846,64847,64849,64851,64853],{"class":244,"line":7211},[6995,64848,30603],{"class":7006},[6995,64850,7024],{"class":7000},[6995,64852,30608],{"class":7012},[6995,64854,7030],{"class":7000},[6995,64856,64857,64859,64861,64863],{"class":244,"line":7220},[6995,64858,30615],{"class":7006},[6995,64860,7024],{"class":7000},[6995,64862,30620],{"class":7012},[6995,64864,7030],{"class":7000},[6995,64866,64867,64869,64871,64873],{"class":244,"line":7226},[6995,64868,30627],{"class":7006},[6995,64870,7024],{"class":7000},[6995,64872,30632],{"class":7012},[6995,64874,7030],{"class":7000},[6995,64876,64877,64879,64881,64883],{"class":244,"line":7238},[6995,64878,30639],{"class":7006},[6995,64880,7024],{"class":7000},[6995,64882,30644],{"class":7012},[6995,64884,7030],{"class":7000},[6995,64886,64887,64889,64891],{"class":244,"line":7250},[6995,64888,30651],{"class":7006},[6995,64890,7024],{"class":7000},[6995,64892,30656],{"class":7012},[6995,64894,64895],{"class":244,"line":7263},[6995,64896,21243],{"class":7000},[6995,64898,64899,64901,64903,64905],{"class":244,"line":7275},[6995,64900,30665],{"class":7006},[6995,64902,7024],{"class":7000},[6995,64904,8689],{"class":7006},[6995,64906,7030],{"class":7000},[6995,64908,64909,64911,64913,64915],{"class":244,"line":7288},[6995,64910,30676],{"class":7006},[6995,64912,7024],{"class":7000},[6995,64914,8689],{"class":7006},[6995,64916,7030],{"class":7000},[6995,64918,64919,64921,64923,64925],{"class":244,"line":7300},[6995,64920,7953],{"class":7006},[6995,64922,7024],{"class":7000},[6995,64924,7958],{"class":7012},[6995,64926,7030],{"class":7000},[6995,64928,64929,64931,64933],{"class":244,"line":7313},[6995,64930,7965],{"class":7006},[6995,64932,7024],{"class":7000},[6995,64934,7970],{"class":7006},[6995,64936,64937],{"class":244,"line":7325},[6995,64938,7615],{"class":7000},[6995,64940,64941],{"class":244,"line":7336},[6995,64942,7047],{"class":7000},[34,64944,7981,64945,181],{},[175,64946,7985],{"href":19812},[852,64948,64949,64953,64957,64971,64975,64979,64985,64989,64995,64999],{},[59,64950,64951,7992],{},[611,64952,6869],{},[59,64954,64955,7998],{},[611,64956,7997],{},[59,64958,64959,8003,64961,8007,64963,8012,64965,8016,64967,8020,64969,8023],{},[611,64960,1020],{},[611,64962,8006],{},[8009,64964,8011],{},[611,64966,8015],{},[8009,64968,8019],{},[611,64970,8015],{},[59,64972,64973,8029],{},[611,64974,8028],{},[59,64976,64977,8035],{},[611,64978,8034],{},[59,64980,64981,8041,64983,8045],{},[611,64982,8040],{},[175,64984,6930],{"href":8044},[59,64986,64987,30755],{},[611,64988,25511],{},[59,64990,64991,30760,64993,30763],{},[611,64992,25526],{},[611,64994,25511],{},[59,64996,64997,30768],{},[611,64998,25514],{},[59,65000,65001,30773,65003],{},[611,65002,25523],{},[175,65004,30778],{"href":30776,"rel":65005},[179],[41,65007,18340],{"id":18340},[34,65009,23596],{},[34,65011,65012],{},[611,65013,6986],{},[616,65015,65016],{"className":6989,"code":23603,"language":6991,"meta":14,"style":14},[611,65017,65018,65022,65032,65042,65050],{"__ignoreMap":14},[6995,65019,65020],{"class":244,"line":6997},[6995,65021,7001],{"class":7000},[6995,65023,65024,65026,65028,65030],{"class":244,"line":15},[6995,65025,7007],{"class":7006},[6995,65027,5102],{"class":7000},[6995,65029,7013],{"class":7012},[6995,65031,7016],{"class":7000},[6995,65033,65034,65036,65038,65040],{"class":244,"line":154},[6995,65035,7021],{"class":7006},[6995,65037,7024],{"class":7000},[6995,65039,7511],{"class":7006},[6995,65041,7030],{"class":7000},[6995,65043,65044,65046,65048],{"class":244,"line":7033},[6995,65045,7036],{"class":7006},[6995,65047,5102],{"class":7000},[6995,65049,23638],{"class":7012},[6995,65051,65052],{"class":244,"line":7044},[6995,65053,7047],{"class":7000},[34,65055,65056],{},[611,65057,7052],{},[616,65059,65060],{"className":6989,"code":23649,"language":6991,"meta":14,"style":14},[611,65061,65062,65066,65076,65086,65094],{"__ignoreMap":14},[6995,65063,65064],{"class":244,"line":6997},[6995,65065,7001],{"class":7000},[6995,65067,65068,65070,65072,65074],{"class":244,"line":15},[6995,65069,7007],{"class":7006},[6995,65071,5102],{"class":7000},[6995,65073,7013],{"class":7012},[6995,65075,7016],{"class":7000},[6995,65077,65078,65080,65082,65084],{"class":244,"line":154},[6995,65079,7021],{"class":7006},[6995,65081,7024],{"class":7000},[6995,65083,7511],{"class":7006},[6995,65085,7030],{"class":7000},[6995,65087,65088,65090,65092],{"class":244,"line":7033},[6995,65089,7732],{"class":7006},[6995,65091,5102],{"class":7000},[6995,65093,7749],{"class":7012},[6995,65095,65096],{"class":244,"line":7044},[6995,65097,7047],{"class":7000},[41,65099,18348],{"id":18348},[34,65101,23692,65102,181],{},[611,65103,8158],{},[34,65105,65106],{},[611,65107,6986],{},[616,65109,65110],{"className":6989,"code":23701,"language":6991,"meta":14,"style":14},[611,65111,65112,65116,65126,65136,65146,65152,65156,65164,65168],{"__ignoreMap":14},[6995,65113,65114],{"class":244,"line":6997},[6995,65115,7001],{"class":7000},[6995,65117,65118,65120,65122,65124],{"class":244,"line":15},[6995,65119,7007],{"class":7006},[6995,65121,5102],{"class":7000},[6995,65123,7013],{"class":7012},[6995,65125,7016],{"class":7000},[6995,65127,65128,65130,65132,65134],{"class":244,"line":154},[6995,65129,7021],{"class":7006},[6995,65131,7024],{"class":7000},[6995,65133,8439],{"class":7006},[6995,65135,7030],{"class":7000},[6995,65137,65138,65140,65142,65144],{"class":244,"line":7033},[6995,65139,7036],{"class":7006},[6995,65141,7024],{"class":7000},[6995,65143,23736],{"class":7012},[6995,65145,7016],{"class":7000},[6995,65147,65148,65150],{"class":244,"line":7044},[6995,65149,7529],{"class":7006},[6995,65151,7532],{"class":7000},[6995,65153,65154],{"class":244,"line":7107},[6995,65155,7537],{"class":7000},[6995,65157,65158,65160,65162],{"class":244,"line":7120},[6995,65159,7743],{"class":7006},[6995,65161,7746],{"class":7000},[6995,65163,20611],{"class":7012},[6995,65165,65166],{"class":244,"line":7133},[6995,65167,7615],{"class":7000},[6995,65169,65170],{"class":244,"line":7146},[6995,65171,7047],{"class":7000},[34,65173,65174],{},[611,65175,7052],{},[616,65177,65178],{"className":6989,"code":23771,"language":6991,"meta":14,"style":14},[611,65179,65180,65184,65194,65204,65210,65214,65222,65226],{"__ignoreMap":14},[6995,65181,65182],{"class":244,"line":6997},[6995,65183,7001],{"class":7000},[6995,65185,65186,65188,65190,65192],{"class":244,"line":15},[6995,65187,7007],{"class":7006},[6995,65189,5102],{"class":7000},[6995,65191,7013],{"class":7012},[6995,65193,7016],{"class":7000},[6995,65195,65196,65198,65200,65202],{"class":244,"line":154},[6995,65197,7021],{"class":7006},[6995,65199,7024],{"class":7000},[6995,65201,8439],{"class":7006},[6995,65203,7030],{"class":7000},[6995,65205,65206,65208],{"class":244,"line":7033},[6995,65207,7732],{"class":7006},[6995,65209,7673],{"class":7000},[6995,65211,65212],{"class":244,"line":7044},[6995,65213,7537],{"class":7000},[6995,65215,65216,65218,65220],{"class":244,"line":7107},[6995,65217,23812],{"class":7006},[6995,65219,7024],{"class":7000},[6995,65221,23817],{"class":7012},[6995,65223,65224],{"class":244,"line":7120},[6995,65225,7615],{"class":7000},[6995,65227,65228],{"class":244,"line":7133},[6995,65229,7047],{"class":7000},[852,65231,65232],{},[59,65233,65234,23833,65236,23836],{},[611,65235,23832],{},[175,65237,18356],{"href":18355},[34,65239,65240,23841],{},[37,65241,22074],{},[41,65243,18356],{"id":18356},[34,65245,23846,65246,181],{},[611,65247,23832],{},[34,65249,65250],{},[611,65251,6986],{},[616,65253,65254],{"className":6989,"code":23855,"language":6991,"meta":14,"style":14},[611,65255,65256,65260,65270,65280,65290,65296,65300,65308,65312],{"__ignoreMap":14},[6995,65257,65258],{"class":244,"line":6997},[6995,65259,7001],{"class":7000},[6995,65261,65262,65264,65266,65268],{"class":244,"line":15},[6995,65263,7007],{"class":7006},[6995,65265,5102],{"class":7000},[6995,65267,7013],{"class":7012},[6995,65269,7016],{"class":7000},[6995,65271,65272,65274,65276,65278],{"class":244,"line":154},[6995,65273,7021],{"class":7006},[6995,65275,7024],{"class":7000},[6995,65277,8439],{"class":7006},[6995,65279,7030],{"class":7000},[6995,65281,65282,65284,65286,65288],{"class":244,"line":7033},[6995,65283,7036],{"class":7006},[6995,65285,5102],{"class":7000},[6995,65287,23890],{"class":7012},[6995,65289,7016],{"class":7000},[6995,65291,65292,65294],{"class":244,"line":7044},[6995,65293,7529],{"class":7006},[6995,65295,7532],{"class":7000},[6995,65297,65298],{"class":244,"line":7107},[6995,65299,7537],{"class":7000},[6995,65301,65302,65304,65306],{"class":244,"line":7120},[6995,65303,23812],{"class":7006},[6995,65305,7746],{"class":7000},[6995,65307,23817],{"class":7012},[6995,65309,65310],{"class":244,"line":7133},[6995,65311,7615],{"class":7000},[6995,65313,65314],{"class":244,"line":7146},[6995,65315,7047],{"class":7000},[34,65317,65318],{},[611,65319,7052],{},[616,65321,65322],{"className":6989,"code":23925,"language":6991,"meta":14,"style":14},[611,65323,65324,65328,65338,65348,65354,65358,65368,65378,65388,65398,65408,65416,65420],{"__ignoreMap":14},[6995,65325,65326],{"class":244,"line":6997},[6995,65327,7001],{"class":7000},[6995,65329,65330,65332,65334,65336],{"class":244,"line":15},[6995,65331,7007],{"class":7006},[6995,65333,5102],{"class":7000},[6995,65335,7013],{"class":7012},[6995,65337,7016],{"class":7000},[6995,65339,65340,65342,65344,65346],{"class":244,"line":154},[6995,65341,7021],{"class":7006},[6995,65343,7024],{"class":7000},[6995,65345,8439],{"class":7006},[6995,65347,7030],{"class":7000},[6995,65349,65350,65352],{"class":244,"line":7033},[6995,65351,7732],{"class":7006},[6995,65353,7673],{"class":7000},[6995,65355,65356],{"class":244,"line":7044},[6995,65357,7537],{"class":7000},[6995,65359,65360,65362,65364,65366],{"class":244,"line":7107},[6995,65361,11902],{"class":7006},[6995,65363,7024],{"class":7000},[6995,65365,8689],{"class":7006},[6995,65367,7030],{"class":7000},[6995,65369,65370,65372,65374,65376],{"class":244,"line":7120},[6995,65371,7229],{"class":7006},[6995,65373,7024],{"class":7000},[6995,65375,7180],{"class":7006},[6995,65377,7030],{"class":7000},[6995,65379,65380,65382,65384,65386],{"class":244,"line":7133},[6995,65381,21006],{"class":7006},[6995,65383,23988],{"class":7000},[6995,65385,23991],{"class":7012},[6995,65387,7030],{"class":7000},[6995,65389,65390,65392,65394,65396],{"class":244,"line":7146},[6995,65391,20995],{"class":7006},[6995,65393,7024],{"class":7000},[6995,65395,24002],{"class":7012},[6995,65397,7030],{"class":7000},[6995,65399,65400,65402,65404,65406],{"class":244,"line":7159},[6995,65401,8467],{"class":7006},[6995,65403,23988],{"class":7000},[6995,65405,24013],{"class":7006},[6995,65407,7030],{"class":7000},[6995,65409,65410,65412,65414],{"class":244,"line":7172},[6995,65411,20983],{"class":7006},[6995,65413,23988],{"class":7000},[6995,65415,24024],{"class":7012},[6995,65417,65418],{"class":244,"line":7185},[6995,65419,7615],{"class":7000},[6995,65421,65422],{"class":244,"line":7198},[6995,65423,7047],{"class":7000},[852,65425,65426,65430,65434,65438,65442,65446],{},[59,65427,65428,24040],{},[611,65429,24039],{},[59,65431,65432,24046],{},[611,65433,24045],{},[59,65435,65436,24052],{},[611,65437,24051],{},[59,65439,65440,24057],{},[611,65441,8404],{},[59,65443,65444,24062],{},[611,65445,6869],{},[59,65447,65448,24067],{},[611,65449,12547],{},[34,65451,65452,24072],{},[37,65453,22074],{},[41,65455,18385],{"id":18385},[34,65457,24077],{},[34,65459,24080],{},[34,65461,65462],{},[611,65463,6986],{},[616,65465,65466],{"className":6989,"code":24087,"language":6991,"meta":14,"style":14},[611,65467,65468,65472,65482,65492,65502,65508,65512,65530,65538,65542],{"__ignoreMap":14},[6995,65469,65470],{"class":244,"line":6997},[6995,65471,7001],{"class":7000},[6995,65473,65474,65476,65478,65480],{"class":244,"line":15},[6995,65475,7007],{"class":7006},[6995,65477,7024],{"class":7000},[6995,65479,7013],{"class":7012},[6995,65481,7016],{"class":7000},[6995,65483,65484,65486,65488,65490],{"class":244,"line":154},[6995,65485,7021],{"class":7006},[6995,65487,7024],{"class":7000},[6995,65489,7511],{"class":7006},[6995,65491,7030],{"class":7000},[6995,65493,65494,65496,65498,65500],{"class":244,"line":7033},[6995,65495,7036],{"class":7006},[6995,65497,7024],{"class":7000},[6995,65499,24122],{"class":7012},[6995,65501,7016],{"class":7000},[6995,65503,65504,65506],{"class":244,"line":7044},[6995,65505,7529],{"class":7006},[6995,65507,7532],{"class":7000},[6995,65509,65510],{"class":244,"line":7107},[6995,65511,7537],{"class":7000},[6995,65513,65514,65516,65518,65520,65522,65524,65526,65528],{"class":244,"line":7120},[6995,65515,24139],{"class":7006},[6995,65517,24142],{"class":7000},[6995,65519,7167],{"class":7006},[6995,65521,2231],{"class":7000},[6995,65523,7167],{"class":7006},[6995,65525,2231],{"class":7000},[6995,65527,7167],{"class":7006},[6995,65529,19906],{"class":7000},[6995,65531,65532,65534,65536],{"class":244,"line":7133},[6995,65533,24159],{"class":7006},[6995,65535,7024],{"class":7000},[6995,65537,24164],{"class":7012},[6995,65539,65540],{"class":244,"line":7146},[6995,65541,7615],{"class":7000},[6995,65543,65544],{"class":244,"line":7159},[6995,65545,7047],{"class":7000},[34,65547,24175],{},[34,65549,65550],{},[611,65551,6986],{},[616,65553,65554],{"className":6989,"code":24182,"language":6991,"meta":14,"style":14},[611,65555,65556,65560,65570,65580,65590,65596,65600,65610,65618,65622],{"__ignoreMap":14},[6995,65557,65558],{"class":244,"line":6997},[6995,65559,7001],{"class":7000},[6995,65561,65562,65564,65566,65568],{"class":244,"line":15},[6995,65563,7007],{"class":7006},[6995,65565,7024],{"class":7000},[6995,65567,7013],{"class":7012},[6995,65569,7016],{"class":7000},[6995,65571,65572,65574,65576,65578],{"class":244,"line":154},[6995,65573,7021],{"class":7006},[6995,65575,7024],{"class":7000},[6995,65577,7511],{"class":7006},[6995,65579,7030],{"class":7000},[6995,65581,65582,65584,65586,65588],{"class":244,"line":7033},[6995,65583,7036],{"class":7006},[6995,65585,7024],{"class":7000},[6995,65587,24122],{"class":7012},[6995,65589,7016],{"class":7000},[6995,65591,65592,65594],{"class":244,"line":7044},[6995,65593,7529],{"class":7006},[6995,65595,7532],{"class":7000},[6995,65597,65598],{"class":244,"line":7107},[6995,65599,7537],{"class":7000},[6995,65601,65602,65604,65606,65608],{"class":244,"line":7120},[6995,65603,24233],{"class":7006},[6995,65605,7024],{"class":7000},[6995,65607,24238],{"class":7012},[6995,65609,7030],{"class":7000},[6995,65611,65612,65614,65616],{"class":244,"line":7133},[6995,65613,24159],{"class":7006},[6995,65615,7024],{"class":7000},[6995,65617,24164],{"class":7012},[6995,65619,65620],{"class":244,"line":7146},[6995,65621,7615],{"class":7000},[6995,65623,65624],{"class":244,"line":7159},[6995,65625,7047],{"class":7000},[852,65627,65628,65632,65636,65640],{},[59,65629,65630,24263],{},[611,65631,6411],{},[59,65633,65634,24269],{},[611,65635,24268],{},[59,65637,65638,24275],{},[611,65639,24274],{},[59,65641,65642,24281,65644,24284,65646,24288,65648,24291,65650,181],{},[611,65643,24280],{},[611,65645,8689],{},[611,65647,24287],{},[175,65649,18396],{"href":18395},[611,65651,8689],{},[34,65653,65654,24298,65656,181],{},[611,65655,6411],{},[611,65657,24268],{},[34,65659,65660],{},[611,65661,7052],{},[616,65663,65664],{"className":6989,"code":24307,"language":6991,"meta":14,"style":14},[611,65665,65666,65670,65680,65690,65696,65744,65770,65788,65792],{"__ignoreMap":14},[6995,65667,65668],{"class":244,"line":6997},[6995,65669,7001],{"class":7000},[6995,65671,65672,65674,65676,65678],{"class":244,"line":15},[6995,65673,7066],{"class":7006},[6995,65675,7024],{"class":7000},[6995,65677,7071],{"class":7006},[6995,65679,7030],{"class":7000},[6995,65681,65682,65684,65686,65688],{"class":244,"line":154},[6995,65683,7078],{"class":7006},[6995,65685,7024],{"class":7000},[6995,65687,7013],{"class":7012},[6995,65689,7030],{"class":7000},[6995,65691,65692,65694],{"class":244,"line":7033},[6995,65693,7089],{"class":7006},[6995,65695,7092],{"class":7000},[6995,65697,65698,65700,65702,65704,65706,65708,65710,65712,65714,65716,65718,65720,65722,65724,65726,65728,65730,65732,65734,65736,65738,65740,65742],{"class":244,"line":7044},[6995,65699,24344],{"class":7006},[6995,65701,7024],{"class":7000},[6995,65703,24349],{"class":7012},[6995,65705,24352],{"class":7006},[6995,65707,24355],{"class":7012},[6995,65709,24352],{"class":7006},[6995,65711,24360],{"class":7012},[6995,65713,24352],{"class":7006},[6995,65715,24365],{"class":7012},[6995,65717,24352],{"class":7006},[6995,65719,7024],{"class":7012},[6995,65721,24352],{"class":7006},[6995,65723,24374],{"class":7012},[6995,65725,24352],{"class":7006},[6995,65727,17176],{"class":7012},[6995,65729,24352],{"class":7006},[6995,65731,24383],{"class":7012},[6995,65733,24352],{"class":7006},[6995,65735,24388],{"class":7012},[6995,65737,24352],{"class":7006},[6995,65739,24365],{"class":7012},[6995,65741,24352],{"class":7006},[6995,65743,7673],{"class":7012},[6995,65745,65746,65748,65750,65752,65754,65756,65758,65760,65762,65764,65766,65768],{"class":244,"line":7107},[6995,65747,24401],{"class":7006},[6995,65749,24404],{"class":7012},[6995,65751,24352],{"class":7006},[6995,65753,17176],{"class":7012},[6995,65755,24352],{"class":7006},[6995,65757,24383],{"class":7012},[6995,65759,24352],{"class":7006},[6995,65761,24417],{"class":7012},[6995,65763,24352],{"class":7006},[6995,65765,24365],{"class":7012},[6995,65767,24352],{"class":7006},[6995,65769,7673],{"class":7012},[6995,65771,65772,65774,65776,65778,65780,65782,65784,65786],{"class":244,"line":7120},[6995,65773,24401],{"class":7006},[6995,65775,24432],{"class":7012},[6995,65777,24352],{"class":7006},[6995,65779,17176],{"class":7012},[6995,65781,24352],{"class":7006},[6995,65783,24383],{"class":7012},[6995,65785,24352],{"class":7006},[6995,65787,24445],{"class":7012},[6995,65789,65790],{"class":244,"line":7133},[6995,65791,7467],{"class":7000},[6995,65793,65794],{"class":244,"line":7146},[6995,65795,7047],{"class":7000},[852,65797,65798,65802,65806],{},[59,65799,65800,24460],{},[611,65801,16228],{},[59,65803,65804,24465],{},[611,65805,24287],{},[59,65807,65808,24471,65810],{},[611,65809,24470],{},[175,65811,18396],{"href":18395},[48,65813,24484],{"id":24483},[34,65815,24487],{},[48,65817,24491],{"id":24490},[34,65819,31597,65820,10670,65822,31602],{},[611,65821,6411],{},[611,65823,24268],{},[34,65825,65826],{},[611,65827,6986],{},[616,65829,65830],{"className":6989,"code":24509,"language":6991,"meta":14,"style":14},[611,65831,65832,65836,65846,65856,65866,65872,65882,65890,65894],{"__ignoreMap":14},[6995,65833,65834],{"class":244,"line":6997},[6995,65835,7001],{"class":7000},[6995,65837,65838,65840,65842,65844],{"class":244,"line":15},[6995,65839,7007],{"class":7006},[6995,65841,7024],{"class":7000},[6995,65843,7013],{"class":7012},[6995,65845,7030],{"class":7000},[6995,65847,65848,65850,65852,65854],{"class":244,"line":154},[6995,65849,7021],{"class":7006},[6995,65851,7024],{"class":7000},[6995,65853,7071],{"class":7006},[6995,65855,7030],{"class":7000},[6995,65857,65858,65860,65862,65864],{"class":244,"line":7033},[6995,65859,7036],{"class":7006},[6995,65861,7024],{"class":7000},[6995,65863,24122],{"class":7012},[6995,65865,7030],{"class":7000},[6995,65867,65868,65870],{"class":244,"line":7044},[6995,65869,7529],{"class":7006},[6995,65871,7092],{"class":7000},[6995,65873,65874,65876,65878,65880],{"class":244,"line":7107},[6995,65875,24233],{"class":7006},[6995,65877,7024],{"class":7000},[6995,65879,24560],{"class":7012},[6995,65881,7030],{"class":7000},[6995,65883,65884,65886,65888],{"class":244,"line":7120},[6995,65885,24159],{"class":7006},[6995,65887,7024],{"class":7000},[6995,65889,24571],{"class":7012},[6995,65891,65892],{"class":244,"line":7133},[6995,65893,7615],{"class":7000},[6995,65895,65896],{"class":244,"line":7146},[6995,65897,7047],{"class":7000},[34,65899,65900],{},[611,65901,7052],{},[616,65903,65904],{"className":6989,"code":24586,"language":6991,"meta":14,"style":14},[611,65905,65906,65910,65920,65930,65936,65960,65964],{"__ignoreMap":14},[6995,65907,65908],{"class":244,"line":6997},[6995,65909,7001],{"class":7000},[6995,65911,65912,65914,65916,65918],{"class":244,"line":15},[6995,65913,7066],{"class":7006},[6995,65915,7024],{"class":7000},[6995,65917,7071],{"class":7006},[6995,65919,7030],{"class":7000},[6995,65921,65922,65924,65926,65928],{"class":244,"line":154},[6995,65923,7078],{"class":7006},[6995,65925,7024],{"class":7000},[6995,65927,7013],{"class":7012},[6995,65929,7030],{"class":7000},[6995,65931,65932,65934],{"class":244,"line":7033},[6995,65933,7089],{"class":7006},[6995,65935,7092],{"class":7000},[6995,65937,65938,65940,65942,65944,65946,65948,65950,65952,65954,65956,65958],{"class":244,"line":7044},[6995,65939,24344],{"class":7006},[6995,65941,7024],{"class":7000},[6995,65943,24349],{"class":7012},[6995,65945,24352],{"class":7006},[6995,65947,15764],{"class":7012},[6995,65949,24352],{"class":7006},[6995,65951,7024],{"class":7012},[6995,65953,24352],{"class":7006},[6995,65955,24639],{"class":7012},[6995,65957,24352],{"class":7006},[6995,65959,24644],{"class":7012},[6995,65961,65962],{"class":244,"line":7107},[6995,65963,7467],{"class":7000},[6995,65965,65966],{"class":244,"line":7120},[6995,65967,7047],{"class":7000},[48,65969,31750],{"id":31749},[34,65971,31753,65972,31756,65974,31760],{},[611,65973,18385],{},[611,65975,31759],{},[852,65977,65978,65982],{},[59,65979,65980,31767],{},[611,65981,25535],{},[59,65983,65984,31772,65986,31775,65988,31778],{},[611,65985,25538],{},[611,65987,18385],{},[611,65989,25538],{},[41,65991,18396],{"id":18396},[34,65993,24657],{},[34,65995,65996],{},[611,65997,6986],{},[616,65999,66000],{"className":6989,"code":24664,"language":6991,"meta":14,"style":14},[611,66001,66002,66006,66016,66026,66036,66042,66060,66064],{"__ignoreMap":14},[6995,66003,66004],{"class":244,"line":6997},[6995,66005,7001],{"class":7000},[6995,66007,66008,66010,66012,66014],{"class":244,"line":15},[6995,66009,7007],{"class":7006},[6995,66011,7024],{"class":7000},[6995,66013,7013],{"class":7012},[6995,66015,7030],{"class":7000},[6995,66017,66018,66020,66022,66024],{"class":244,"line":154},[6995,66019,7021],{"class":7006},[6995,66021,7024],{"class":7000},[6995,66023,7071],{"class":7006},[6995,66025,7030],{"class":7000},[6995,66027,66028,66030,66032,66034],{"class":244,"line":7033},[6995,66029,7036],{"class":7006},[6995,66031,7024],{"class":7000},[6995,66033,24699],{"class":7012},[6995,66035,7030],{"class":7000},[6995,66037,66038,66040],{"class":244,"line":7044},[6995,66039,7529],{"class":7006},[6995,66041,7092],{"class":7000},[6995,66043,66044,66046,66048,66050,66052,66054,66056,66058],{"class":244,"line":7107},[6995,66045,24712],{"class":7006},[6995,66047,24142],{"class":7000},[6995,66049,7167],{"class":7006},[6995,66051,2231],{"class":7000},[6995,66053,7167],{"class":7006},[6995,66055,2231],{"class":7000},[6995,66057,7167],{"class":7006},[6995,66059,13671],{"class":7000},[6995,66061,66062],{"class":244,"line":7120},[6995,66063,7615],{"class":7000},[6995,66065,66066],{"class":244,"line":7133},[6995,66067,7047],{"class":7000},[852,66069,66070],{},[59,66071,66072,24741,66074,24744],{},[611,66073,15730],{},[175,66075,18385],{"href":18384},[34,66077,66078],{},[611,66079,7052],{},[616,66081,66082],{"className":6989,"code":24751,"language":6991,"meta":14,"style":14},[611,66083,66084,66088,66098,66108,66114,66122,66126],{"__ignoreMap":14},[6995,66085,66086],{"class":244,"line":6997},[6995,66087,7001],{"class":7000},[6995,66089,66090,66092,66094,66096],{"class":244,"line":15},[6995,66091,7066],{"class":7006},[6995,66093,7024],{"class":7000},[6995,66095,7071],{"class":7006},[6995,66097,7030],{"class":7000},[6995,66099,66100,66102,66104,66106],{"class":244,"line":154},[6995,66101,7078],{"class":7006},[6995,66103,7024],{"class":7000},[6995,66105,7013],{"class":7012},[6995,66107,7030],{"class":7000},[6995,66109,66110,66112],{"class":244,"line":7033},[6995,66111,7089],{"class":7006},[6995,66113,7092],{"class":7000},[6995,66115,66116,66118,66120],{"class":244,"line":7044},[6995,66117,24788],{"class":7006},[6995,66119,7024],{"class":7000},[6995,66121,24793],{"class":7012},[6995,66123,66124],{"class":244,"line":7107},[6995,66125,7467],{"class":7000},[6995,66127,66128],{"class":244,"line":7120},[6995,66129,7047],{"class":7000},[852,66131,66132],{},[59,66133,66134,24808],{},[611,66135,24287],{},[41,66137,6940],{"id":6940},[34,66139,24813,66140],{},[611,66141,8404],{},[34,66143,66144],{},[611,66145,6986],{},[616,66147,66148],{"className":6989,"code":8414,"language":6991,"meta":14,"style":14},[611,66149,66150,66154,66164,66174,66184,66190,66194,66204,66214,66224,66232,66236],{"__ignoreMap":14},[6995,66151,66152],{"class":244,"line":6997},[6995,66153,7001],{"class":7000},[6995,66155,66156,66158,66160,66162],{"class":244,"line":15},[6995,66157,7007],{"class":7006},[6995,66159,5102],{"class":7000},[6995,66161,7013],{"class":7012},[6995,66163,7016],{"class":7000},[6995,66165,66166,66168,66170,66172],{"class":244,"line":154},[6995,66167,7021],{"class":7006},[6995,66169,7024],{"class":7000},[6995,66171,8439],{"class":7006},[6995,66173,7030],{"class":7000},[6995,66175,66176,66178,66180,66182],{"class":244,"line":7033},[6995,66177,7036],{"class":7006},[6995,66179,5102],{"class":7000},[6995,66181,8450],{"class":7012},[6995,66183,7016],{"class":7000},[6995,66185,66186,66188],{"class":244,"line":7044},[6995,66187,7529],{"class":7006},[6995,66189,7532],{"class":7000},[6995,66191,66192],{"class":244,"line":7107},[6995,66193,7537],{"class":7000},[6995,66195,66196,66198,66200,66202],{"class":244,"line":7120},[6995,66197,8467],{"class":7006},[6995,66199,7746],{"class":7000},[6995,66201,8472],{"class":7006},[6995,66203,7030],{"class":7000},[6995,66205,66206,66208,66210,66212],{"class":244,"line":7133},[6995,66207,7229],{"class":7006},[6995,66209,7024],{"class":7000},[6995,66211,7511],{"class":7006},[6995,66213,7030],{"class":7000},[6995,66215,66216,66218,66220,66222],{"class":244,"line":7146},[6995,66217,7554],{"class":7006},[6995,66219,7024],{"class":7000},[6995,66221,8493],{"class":7006},[6995,66223,7030],{"class":7000},[6995,66225,66226,66228,66230],{"class":244,"line":7159},[6995,66227,8500],{"class":7006},[6995,66229,7024],{"class":7000},[6995,66231,8505],{"class":7006},[6995,66233,66234],{"class":244,"line":7172},[6995,66235,7615],{"class":7000},[6995,66237,66238],{"class":244,"line":7185},[6995,66239,7047],{"class":7000},[34,66241,66242],{},[611,66243,7052],{},[616,66245,66246],{"className":6989,"code":8520,"language":6991,"meta":14,"style":14},[611,66247,66248,66252,66262,66272,66278,66282,66292,66302,66312,66322,66332,66340,66344],{"__ignoreMap":14},[6995,66249,66250],{"class":244,"line":6997},[6995,66251,7001],{"class":7000},[6995,66253,66254,66256,66258,66260],{"class":244,"line":15},[6995,66255,7007],{"class":7006},[6995,66257,5102],{"class":7000},[6995,66259,7013],{"class":7012},[6995,66261,7016],{"class":7000},[6995,66263,66264,66266,66268,66270],{"class":244,"line":154},[6995,66265,7021],{"class":7006},[6995,66267,7024],{"class":7000},[6995,66269,8439],{"class":7006},[6995,66271,7030],{"class":7000},[6995,66273,66274,66276],{"class":244,"line":7033},[6995,66275,7732],{"class":7006},[6995,66277,7532],{"class":7000},[6995,66279,66280],{"class":244,"line":7044},[6995,66281,7537],{"class":7000},[6995,66283,66284,66286,66288,66290],{"class":244,"line":7107},[6995,66285,8561],{"class":7006},[6995,66287,7024],{"class":7000},[6995,66289,8566],{"class":7006},[6995,66291,7030],{"class":7000},[6995,66293,66294,66296,66298,66300],{"class":244,"line":7120},[6995,66295,8573],{"class":7006},[6995,66297,7024],{"class":7000},[6995,66299,8578],{"class":7012},[6995,66301,7030],{"class":7000},[6995,66303,66304,66306,66308,66310],{"class":244,"line":7133},[6995,66305,8585],{"class":7006},[6995,66307,7024],{"class":7000},[6995,66309,8566],{"class":7006},[6995,66311,7030],{"class":7000},[6995,66313,66314,66316,66318,66320],{"class":244,"line":7146},[6995,66315,8596],{"class":7006},[6995,66317,7024],{"class":7000},[6995,66319,8578],{"class":7012},[6995,66321,7030],{"class":7000},[6995,66323,66324,66326,66328,66330],{"class":244,"line":7159},[6995,66325,8607],{"class":7006},[6995,66327,7024],{"class":7000},[6995,66329,8612],{"class":7006},[6995,66331,7030],{"class":7000},[6995,66333,66334,66336,66338],{"class":244,"line":7172},[6995,66335,8619],{"class":7006},[6995,66337,7024],{"class":7000},[6995,66339,8624],{"class":7012},[6995,66341,66342],{"class":244,"line":7185},[6995,66343,7615],{"class":7000},[6995,66345,66346],{"class":244,"line":7198},[6995,66347,7047],{"class":7000},[34,66349,8635],{},[852,66351,66352,66356,66360,66364,66370,66380,66384],{},[59,66353,66354,8642],{},[611,66355,8404],{},[59,66357,66358,25034],{},[611,66359,6869],{},[59,66361,66362,8652],{},[611,66363,8147],{},[59,66365,66366,8658,66368],{},[611,66367,8657],{},[611,66369,6869],{},[59,66371,66372,8666,66374,1475,66376,8671,66378,8675],{},[611,66373,8665],{},[611,66375,8657],{},[611,66377,8665],{},[611,66379,8674],{},[59,66381,66382,8681],{},[611,66383,8680],{},[59,66385,66386,98,66388,8690],{},[611,66387,8686],{},[611,66389,8689],{},[41,66391,18406],{"id":18406},[34,66393,25069],{},[34,66395,66396],{},[611,66397,6986],{},[616,66399,66400],{"className":6989,"code":25076,"language":6991,"meta":14,"style":14},[611,66401,66402,66406,66416,66426,66436,66442,66446,66454,66458],{"__ignoreMap":14},[6995,66403,66404],{"class":244,"line":6997},[6995,66405,7001],{"class":7000},[6995,66407,66408,66410,66412,66414],{"class":244,"line":15},[6995,66409,7007],{"class":7006},[6995,66411,7024],{"class":7000},[6995,66413,7013],{"class":7012},[6995,66415,7016],{"class":7000},[6995,66417,66418,66420,66422,66424],{"class":244,"line":154},[6995,66419,7021],{"class":7006},[6995,66421,7024],{"class":7000},[6995,66423,7511],{"class":7006},[6995,66425,7030],{"class":7000},[6995,66427,66428,66430,66432,66434],{"class":244,"line":7033},[6995,66429,7036],{"class":7006},[6995,66431,7024],{"class":7000},[6995,66433,25111],{"class":7012},[6995,66435,7016],{"class":7000},[6995,66437,66438,66440],{"class":244,"line":7044},[6995,66439,7529],{"class":7006},[6995,66441,7532],{"class":7000},[6995,66443,66444],{"class":244,"line":7107},[6995,66445,7537],{"class":7000},[6995,66447,66448,66450,66452],{"class":244,"line":7120},[6995,66449,21741],{"class":7006},[6995,66451,7024],{"class":7000},[6995,66453,25132],{"class":7006},[6995,66455,66456],{"class":244,"line":7133},[6995,66457,7615],{"class":7000},[6995,66459,66460],{"class":244,"line":7146},[6995,66461,7047],{"class":7000},[852,66463,66464],{},[59,66465,66466,25147],{},[611,66467,12542],{},[34,66469,66470],{},[611,66471,7052],{},[616,66473,66474],{"className":6989,"code":25154,"language":6991,"meta":14,"style":14},[611,66475,66476,66480,66490,66500,66506,66510,66520,66530,66540,66550,66560,66570,66580,66590,66600,66610,66618,66622],{"__ignoreMap":14},[6995,66477,66478],{"class":244,"line":6997},[6995,66479,7001],{"class":7000},[6995,66481,66482,66484,66486,66488],{"class":244,"line":15},[6995,66483,7007],{"class":7006},[6995,66485,5102],{"class":7000},[6995,66487,7013],{"class":7012},[6995,66489,7016],{"class":7000},[6995,66491,66492,66494,66496,66498],{"class":244,"line":154},[6995,66493,7021],{"class":7006},[6995,66495,7024],{"class":7000},[6995,66497,8439],{"class":7006},[6995,66499,7030],{"class":7000},[6995,66501,66502,66504],{"class":244,"line":7033},[6995,66503,7732],{"class":7006},[6995,66505,7532],{"class":7000},[6995,66507,66508],{"class":244,"line":7044},[6995,66509,7537],{"class":7000},[6995,66511,66512,66514,66516,66518],{"class":244,"line":7107},[6995,66513,25195],{"class":7006},[6995,66515,7024],{"class":7000},[6995,66517,25200],{"class":7012},[6995,66519,7030],{"class":7000},[6995,66521,66522,66524,66526,66528],{"class":244,"line":7120},[6995,66523,25207],{"class":7006},[6995,66525,7024],{"class":7000},[6995,66527,25212],{"class":7012},[6995,66529,7030],{"class":7000},[6995,66531,66532,66534,66536,66538],{"class":244,"line":7133},[6995,66533,25219],{"class":7006},[6995,66535,7024],{"class":7000},[6995,66537,25224],{"class":7012},[6995,66539,7030],{"class":7000},[6995,66541,66542,66544,66546,66548],{"class":244,"line":7146},[6995,66543,22259],{"class":7006},[6995,66545,7024],{"class":7000},[6995,66547,25235],{"class":7006},[6995,66549,7030],{"class":7000},[6995,66551,66552,66554,66556,66558],{"class":244,"line":7159},[6995,66553,21741],{"class":7006},[6995,66555,7024],{"class":7000},[6995,66557,11001],{"class":7006},[6995,66559,7030],{"class":7000},[6995,66561,66562,66564,66566,66568],{"class":244,"line":7172},[6995,66563,25252],{"class":7006},[6995,66565,7024],{"class":7000},[6995,66567,25257],{"class":7012},[6995,66569,7030],{"class":7000},[6995,66571,66572,66574,66576,66578],{"class":244,"line":7185},[6995,66573,25264],{"class":7006},[6995,66575,7024],{"class":7000},[6995,66577,25269],{"class":7006},[6995,66579,7030],{"class":7000},[6995,66581,66582,66584,66586,66588],{"class":244,"line":7198},[6995,66583,25276],{"class":7006},[6995,66585,7024],{"class":7000},[6995,66587,25281],{"class":7012},[6995,66589,7030],{"class":7000},[6995,66591,66592,66594,66596,66598],{"class":244,"line":7211},[6995,66593,25288],{"class":7006},[6995,66595,7024],{"class":7000},[6995,66597,25293],{"class":7012},[6995,66599,7030],{"class":7000},[6995,66601,66602,66604,66606,66608],{"class":244,"line":7220},[6995,66603,25300],{"class":7006},[6995,66605,7024],{"class":7000},[6995,66607,25305],{"class":7012},[6995,66609,7030],{"class":7000},[6995,66611,66612,66614,66616],{"class":244,"line":7226},[6995,66613,25312],{"class":7006},[6995,66615,7024],{"class":7000},[6995,66617,25317],{"class":7006},[6995,66619,66620],{"class":244,"line":7238},[6995,66621,7615],{"class":7000},[6995,66623,66624],{"class":244,"line":7250},[6995,66625,7047],{"class":7000},[852,66627,66628,66632,66636,66640,66644,66648,66652,66656,66660,66664,66668],{},[59,66629,66630,25333],{},[611,66631,25332],{},[59,66633,66634,25339],{},[611,66635,25338],{},[59,66637,66638,25344],{},[611,66639,14358],{},[59,66641,66642,25349],{},[611,66643,16328],{},[59,66645,66646,25354],{},[611,66647,12542],{},[59,66649,66650,25360],{},[611,66651,25359],{},[59,66653,66654,25366],{},[611,66655,25365],{},[59,66657,66658,25372],{},[611,66659,25371],{},[59,66661,66662,25378],{},[611,66663,25377],{},[59,66665,66666,25384],{},[611,66667,25383],{},[59,66669,66670,25390],{},[611,66671,25389],{},[41,66673,25472],{"id":25472},[34,66675,32469],{},[34,66677,66678],{},[611,66679,6986],{},[616,66681,66682],{"className":6989,"code":32476,"language":6991,"meta":14,"style":14},[611,66683,66684,66688,66698,66708,66716],{"__ignoreMap":14},[6995,66685,66686],{"class":244,"line":6997},[6995,66687,7001],{"class":7000},[6995,66689,66690,66692,66694,66696],{"class":244,"line":15},[6995,66691,7007],{"class":7006},[6995,66693,7024],{"class":7000},[6995,66695,7013],{"class":7012},[6995,66697,7016],{"class":7000},[6995,66699,66700,66702,66704,66706],{"class":244,"line":154},[6995,66701,7021],{"class":7006},[6995,66703,7024],{"class":7000},[6995,66705,6679],{"class":7006},[6995,66707,7030],{"class":7000},[6995,66709,66710,66712,66714],{"class":244,"line":7033},[6995,66711,7036],{"class":7006},[6995,66713,7024],{"class":7000},[6995,66715,32511],{"class":7012},[6995,66717,66718],{"class":244,"line":7044},[6995,66719,7047],{"class":7000},[34,66721,66722],{},[611,66723,7052],{},[616,66725,66726],{"className":6989,"code":32522,"language":6991,"meta":14,"style":14},[611,66727,66728,66732,66742,66752,66758,66768,66778,66788,66798,66808,66818,66828,66838,66846,66850],{"__ignoreMap":14},[6995,66729,66730],{"class":244,"line":6997},[6995,66731,7001],{"class":7000},[6995,66733,66734,66736,66738,66740],{"class":244,"line":15},[6995,66735,7066],{"class":7006},[6995,66737,7024],{"class":7000},[6995,66739,6679],{"class":7006},[6995,66741,7030],{"class":7000},[6995,66743,66744,66746,66748,66750],{"class":244,"line":154},[6995,66745,7078],{"class":7006},[6995,66747,7024],{"class":7000},[6995,66749,7013],{"class":7012},[6995,66751,7030],{"class":7000},[6995,66753,66754,66756],{"class":244,"line":7033},[6995,66755,7089],{"class":7006},[6995,66757,7092],{"class":7000},[6995,66759,66760,66762,66764,66766],{"class":244,"line":7044},[6995,66761,32559],{"class":7006},[6995,66763,7024],{"class":7000},[6995,66765,32564],{"class":7012},[6995,66767,7030],{"class":7000},[6995,66769,66770,66772,66774,66776],{"class":244,"line":7107},[6995,66771,32571],{"class":7006},[6995,66773,7024],{"class":7000},[6995,66775,7027],{"class":7006},[6995,66777,7030],{"class":7000},[6995,66779,66780,66782,66784,66786],{"class":244,"line":7120},[6995,66781,32582],{"class":7006},[6995,66783,7024],{"class":7000},[6995,66785,6679],{"class":7006},[6995,66787,7030],{"class":7000},[6995,66789,66790,66792,66794,66796],{"class":244,"line":7133},[6995,66791,32593],{"class":7006},[6995,66793,7024],{"class":7000},[6995,66795,32598],{"class":7012},[6995,66797,7030],{"class":7000},[6995,66799,66800,66802,66804,66806],{"class":244,"line":7146},[6995,66801,32605],{"class":7006},[6995,66803,7024],{"class":7000},[6995,66805,32610],{"class":7012},[6995,66807,7030],{"class":7000},[6995,66809,66810,66812,66814,66816],{"class":244,"line":7159},[6995,66811,32617],{"class":7006},[6995,66813,7024],{"class":7000},[6995,66815,32622],{"class":7012},[6995,66817,7030],{"class":7000},[6995,66819,66820,66822,66824,66826],{"class":244,"line":7172},[6995,66821,32629],{"class":7006},[6995,66823,7024],{"class":7000},[6995,66825,7027],{"class":7006},[6995,66827,7030],{"class":7000},[6995,66829,66830,66832,66834,66836],{"class":244,"line":7185},[6995,66831,32640],{"class":7006},[6995,66833,7024],{"class":7000},[6995,66835,6679],{"class":7006},[6995,66837,7030],{"class":7000},[6995,66839,66840,66842,66844],{"class":244,"line":7198},[6995,66841,32651],{"class":7006},[6995,66843,7024],{"class":7000},[6995,66845,32656],{"class":7006},[6995,66847,66848],{"class":244,"line":7211},[6995,66849,7467],{"class":7000},[6995,66851,66852],{"class":244,"line":7220},[6995,66853,7047],{"class":7000},[852,66855,66856,66860],{},[59,66857,66858,32672],{},[611,66859,32671],{},[59,66861,66862,32678,66864,8764],{},[611,66863,32677],{},[175,66865,32681],{"href":32681,"rel":66866},[179],[41,66868,35407],{"id":35407},[34,66870,43452],{},[34,66872,66873],{},[611,66874,6986],{},[616,66876,66877],{"className":6989,"code":43459,"language":6991,"meta":14,"style":14},[611,66878,66879,66883,66893,66903,66913,66919,66923,66941,66951,66959,66963],{"__ignoreMap":14},[6995,66880,66881],{"class":244,"line":6997},[6995,66882,7001],{"class":7000},[6995,66884,66885,66887,66889,66891],{"class":244,"line":15},[6995,66886,7007],{"class":7006},[6995,66888,5102],{"class":7000},[6995,66890,7013],{"class":7012},[6995,66892,7016],{"class":7000},[6995,66894,66895,66897,66899,66901],{"class":244,"line":154},[6995,66896,7021],{"class":7006},[6995,66898,7024],{"class":7000},[6995,66900,6679],{"class":7006},[6995,66902,7030],{"class":7000},[6995,66904,66905,66907,66909,66911],{"class":244,"line":7033},[6995,66906,7036],{"class":7006},[6995,66908,7024],{"class":7000},[6995,66910,43494],{"class":7012},[6995,66912,7016],{"class":7000},[6995,66914,66915,66917],{"class":244,"line":7044},[6995,66916,7529],{"class":7006},[6995,66918,7532],{"class":7000},[6995,66920,66921],{"class":244,"line":7107},[6995,66922,7537],{"class":7000},[6995,66924,66925,66927,66929,66931,66933,66935,66937,66939],{"class":244,"line":7120},[6995,66926,24712],{"class":7006},[6995,66928,19886],{"class":7000},[6995,66930,6679],{"class":7006},[6995,66932,2231],{"class":7000},[6995,66934,7511],{"class":7006},[6995,66936,2231],{"class":7000},[6995,66938,11136],{"class":7006},[6995,66940,19906],{"class":7000},[6995,66942,66943,66945,66947,66949],{"class":244,"line":7133},[6995,66944,43529],{"class":7006},[6995,66946,43532],{"class":7000},[6995,66948,8689],{"class":7006},[6995,66950,7030],{"class":7000},[6995,66952,66953,66955,66957],{"class":244,"line":7146},[6995,66954,43541],{"class":7006},[6995,66956,7024],{"class":7000},[6995,66958,43546],{"class":7006},[6995,66960,66961],{"class":244,"line":7159},[6995,66962,7615],{"class":7000},[6995,66964,66965],{"class":244,"line":7172},[6995,66966,7047],{"class":7000},[852,66968,66969,66973,66981],{},[59,66970,66971,43561],{},[611,66972,15730],{},[59,66974,66975,43567,66977,43570,66979,181],{},[611,66976,43566],{},[611,66978,8689],{},[611,66980,8689],{},[59,66982,66983,43578],{},[611,66984,43577],{},[34,66986,66987],{},[611,66988,7052],{},[616,66990,66991],{"className":6989,"code":43585,"language":6991,"meta":14,"style":14},[611,66992,66993,66997,67007,67017,67023,67027,67037,67045,67049],{"__ignoreMap":14},[6995,66994,66995],{"class":244,"line":6997},[6995,66996,7001],{"class":7000},[6995,66998,66999,67001,67003,67005],{"class":244,"line":15},[6995,67000,7007],{"class":7006},[6995,67002,5102],{"class":7000},[6995,67004,7013],{"class":7012},[6995,67006,7016],{"class":7000},[6995,67008,67009,67011,67013,67015],{"class":244,"line":154},[6995,67010,7021],{"class":7006},[6995,67012,7024],{"class":7000},[6995,67014,6679],{"class":7006},[6995,67016,7030],{"class":7000},[6995,67018,67019,67021],{"class":244,"line":7033},[6995,67020,7732],{"class":7006},[6995,67022,11893],{"class":7000},[6995,67024,67025],{"class":244,"line":7044},[6995,67026,7537],{"class":7000},[6995,67028,67029,67031,67033,67035],{"class":244,"line":7107},[6995,67030,43626],{"class":7006},[6995,67032,7746],{"class":7000},[6995,67034,43631],{"class":7012},[6995,67036,7030],{"class":7000},[6995,67038,67039,67041,67043],{"class":244,"line":7120},[6995,67040,43638],{"class":7006},[6995,67042,7024],{"class":7000},[6995,67044,8505],{"class":7006},[6995,67046,67047],{"class":244,"line":7133},[6995,67048,7615],{"class":7000},[6995,67050,67051],{"class":244,"line":7146},[6995,67052,7047],{"class":7000},[852,67054,67055,67059],{},[59,67056,67057,43657],{},[611,67058,1149],{},[59,67060,67061,43663],{},[611,67062,43662],{},[41,67064,35417],{"id":35417},[34,67066,43668],{},[34,67068,67069],{},[611,67070,6986],{},[616,67072,67073],{"className":6989,"code":43675,"language":6991,"meta":14,"style":14},[611,67074,67075,67079,67089,67099,67109,67115,67119,67137,67145,67149],{"__ignoreMap":14},[6995,67076,67077],{"class":244,"line":6997},[6995,67078,7001],{"class":7000},[6995,67080,67081,67083,67085,67087],{"class":244,"line":15},[6995,67082,7007],{"class":7006},[6995,67084,5102],{"class":7000},[6995,67086,7013],{"class":7012},[6995,67088,7016],{"class":7000},[6995,67090,67091,67093,67095,67097],{"class":244,"line":154},[6995,67092,7021],{"class":7006},[6995,67094,7024],{"class":7000},[6995,67096,6679],{"class":7006},[6995,67098,7030],{"class":7000},[6995,67100,67101,67103,67105,67107],{"class":244,"line":7033},[6995,67102,7036],{"class":7006},[6995,67104,7024],{"class":7000},[6995,67106,43710],{"class":7012},[6995,67108,7016],{"class":7000},[6995,67110,67111,67113],{"class":244,"line":7044},[6995,67112,7529],{"class":7006},[6995,67114,7532],{"class":7000},[6995,67116,67117],{"class":244,"line":7107},[6995,67118,7537],{"class":7000},[6995,67120,67121,67123,67125,67127,67129,67131,67133,67135],{"class":244,"line":7120},[6995,67122,24712],{"class":7006},[6995,67124,19886],{"class":7000},[6995,67126,6679],{"class":7006},[6995,67128,2231],{"class":7000},[6995,67130,7511],{"class":7006},[6995,67132,2231],{"class":7000},[6995,67134,11136],{"class":7006},[6995,67136,19906],{"class":7000},[6995,67138,67139,67141,67143],{"class":244,"line":7133},[6995,67140,43541],{"class":7006},[6995,67142,7024],{"class":7000},[6995,67144,43546],{"class":7006},[6995,67146,67147],{"class":244,"line":7146},[6995,67148,7615],{"class":7000},[6995,67150,67151],{"class":244,"line":7159},[6995,67152,7047],{"class":7000},[852,67154,67155,67159],{},[59,67156,67157,43763],{},[611,67158,15730],{},[59,67160,67161,43578],{},[611,67162,43577],{},[34,67164,67165],{},[611,67166,7052],{},[616,67168,67169],{"className":6989,"code":43774,"language":6991,"meta":14,"style":14},[611,67170,67171,67175,67185,67195,67201,67205,67213,67217],{"__ignoreMap":14},[6995,67172,67173],{"class":244,"line":6997},[6995,67174,7001],{"class":7000},[6995,67176,67177,67179,67181,67183],{"class":244,"line":15},[6995,67178,7007],{"class":7006},[6995,67180,5102],{"class":7000},[6995,67182,7013],{"class":7012},[6995,67184,7016],{"class":7000},[6995,67186,67187,67189,67191,67193],{"class":244,"line":154},[6995,67188,7021],{"class":7006},[6995,67190,7024],{"class":7000},[6995,67192,6679],{"class":7006},[6995,67194,7030],{"class":7000},[6995,67196,67197,67199],{"class":244,"line":7033},[6995,67198,7732],{"class":7006},[6995,67200,11893],{"class":7000},[6995,67202,67203],{"class":244,"line":7044},[6995,67204,7537],{"class":7000},[6995,67206,67207,67209,67211],{"class":244,"line":7107},[6995,67208,43626],{"class":7006},[6995,67210,7746],{"class":7000},[6995,67212,43819],{"class":7012},[6995,67214,67215],{"class":244,"line":7120},[6995,67216,7615],{"class":7000},[6995,67218,67219],{"class":244,"line":7133},[6995,67220,7047],{"class":7000},[852,67222,67223],{},[59,67224,67225,43834],{},[611,67226,1149],{},[41,67228,35427],{"id":35427},[34,67230,43839],{},[34,67232,67233],{},[611,67234,6986],{},[616,67236,67237],{"className":6989,"code":43846,"language":6991,"meta":14,"style":14},[611,67238,67239,67243,67253,67263,67273,67279,67283,67293,67301,67305],{"__ignoreMap":14},[6995,67240,67241],{"class":244,"line":6997},[6995,67242,7001],{"class":7000},[6995,67244,67245,67247,67249,67251],{"class":244,"line":15},[6995,67246,7007],{"class":7006},[6995,67248,5102],{"class":7000},[6995,67250,7013],{"class":7012},[6995,67252,7016],{"class":7000},[6995,67254,67255,67257,67259,67261],{"class":244,"line":154},[6995,67256,7021],{"class":7006},[6995,67258,7024],{"class":7000},[6995,67260,6679],{"class":7006},[6995,67262,7030],{"class":7000},[6995,67264,67265,67267,67269,67271],{"class":244,"line":7033},[6995,67266,7036],{"class":7006},[6995,67268,7024],{"class":7000},[6995,67270,43881],{"class":7012},[6995,67272,7016],{"class":7000},[6995,67274,67275,67277],{"class":244,"line":7044},[6995,67276,7529],{"class":7006},[6995,67278,7532],{"class":7000},[6995,67280,67281],{"class":244,"line":7107},[6995,67282,7537],{"class":7000},[6995,67284,67285,67287,67289,67291],{"class":244,"line":7120},[6995,67286,43626],{"class":7006},[6995,67288,7746],{"class":7000},[6995,67290,43631],{"class":7012},[6995,67292,7030],{"class":7000},[6995,67294,67295,67297,67299],{"class":244,"line":7133},[6995,67296,43541],{"class":7006},[6995,67298,7024],{"class":7000},[6995,67300,43546],{"class":7006},[6995,67302,67303],{"class":244,"line":7146},[6995,67304,7615],{"class":7000},[6995,67306,67307],{"class":244,"line":7159},[6995,67308,7047],{"class":7000},[852,67310,67311,67315],{},[59,67312,67313,43926],{},[611,67314,1149],{},[59,67316,67317,43578],{},[611,67318,43577],{},[34,67320,67321],{},[611,67322,7052],{},[616,67324,67325],{"className":6989,"code":43937,"language":6991,"meta":14,"style":14},[611,67326,67327,67331,67341,67351,67357,67361,67371,67389,67393],{"__ignoreMap":14},[6995,67328,67329],{"class":244,"line":6997},[6995,67330,7001],{"class":7000},[6995,67332,67333,67335,67337,67339],{"class":244,"line":15},[6995,67334,7007],{"class":7006},[6995,67336,5102],{"class":7000},[6995,67338,7013],{"class":7012},[6995,67340,7016],{"class":7000},[6995,67342,67343,67345,67347,67349],{"class":244,"line":154},[6995,67344,7021],{"class":7006},[6995,67346,7024],{"class":7000},[6995,67348,6679],{"class":7006},[6995,67350,7030],{"class":7000},[6995,67352,67353,67355],{"class":244,"line":7033},[6995,67354,7732],{"class":7006},[6995,67356,11893],{"class":7000},[6995,67358,67359],{"class":244,"line":7044},[6995,67360,7537],{"class":7000},[6995,67362,67363,67365,67367,67369],{"class":244,"line":7107},[6995,67364,43626],{"class":7006},[6995,67366,7746],{"class":7000},[6995,67368,43631],{"class":7012},[6995,67370,7030],{"class":7000},[6995,67372,67373,67375,67377,67379,67381,67383,67385,67387],{"class":244,"line":7120},[6995,67374,24712],{"class":7006},[6995,67376,19886],{"class":7000},[6995,67378,6679],{"class":7006},[6995,67380,2231],{"class":7000},[6995,67382,7511],{"class":7006},[6995,67384,2231],{"class":7000},[6995,67386,11136],{"class":7006},[6995,67388,13671],{"class":7000},[6995,67390,67391],{"class":244,"line":7133},[6995,67392,7615],{"class":7000},[6995,67394,67395],{"class":244,"line":7146},[6995,67396,7047],{"class":7000},[852,67398,67399,67403],{},[59,67400,67401,43834],{},[611,67402,1149],{},[59,67404,67405,44020],{},[611,67406,15730],{},[41,67408,35437],{"id":35437},[34,67410,44025,67411,44028],{},[611,67412,35427],{},[34,67414,67415],{},[611,67416,6986],{},[616,67418,67419],{"className":6989,"code":44035,"language":6991,"meta":14,"style":14},[611,67420,67421,67425,67435,67445,67455,67461,67465,67475,67483,67487],{"__ignoreMap":14},[6995,67422,67423],{"class":244,"line":6997},[6995,67424,7001],{"class":7000},[6995,67426,67427,67429,67431,67433],{"class":244,"line":15},[6995,67428,7007],{"class":7006},[6995,67430,5102],{"class":7000},[6995,67432,7013],{"class":7012},[6995,67434,7016],{"class":7000},[6995,67436,67437,67439,67441,67443],{"class":244,"line":154},[6995,67438,7021],{"class":7006},[6995,67440,7024],{"class":7000},[6995,67442,6679],{"class":7006},[6995,67444,7030],{"class":7000},[6995,67446,67447,67449,67451,67453],{"class":244,"line":7033},[6995,67448,7036],{"class":7006},[6995,67450,7024],{"class":7000},[6995,67452,44070],{"class":7012},[6995,67454,7016],{"class":7000},[6995,67456,67457,67459],{"class":244,"line":7044},[6995,67458,7529],{"class":7006},[6995,67460,7532],{"class":7000},[6995,67462,67463],{"class":244,"line":7107},[6995,67464,7537],{"class":7000},[6995,67466,67467,67469,67471,67473],{"class":244,"line":7120},[6995,67468,43626],{"class":7006},[6995,67470,7746],{"class":7000},[6995,67472,43631],{"class":7012},[6995,67474,7030],{"class":7000},[6995,67476,67477,67479,67481],{"class":244,"line":7133},[6995,67478,43541],{"class":7006},[6995,67480,7024],{"class":7000},[6995,67482,43546],{"class":7006},[6995,67484,67485],{"class":244,"line":7146},[6995,67486,7615],{"class":7000},[6995,67488,67489],{"class":244,"line":7159},[6995,67490,7047],{"class":7000},[852,67492,67493,67497],{},[59,67494,67495,44115],{},[611,67496,1149],{},[59,67498,67499,43578],{},[611,67500,43577],{},[34,67502,67503],{},[611,67504,7052],{},[616,67506,67507],{"className":6989,"code":43774,"language":6991,"meta":14,"style":14},[611,67508,67509,67513,67523,67533,67539,67543,67551,67555],{"__ignoreMap":14},[6995,67510,67511],{"class":244,"line":6997},[6995,67512,7001],{"class":7000},[6995,67514,67515,67517,67519,67521],{"class":244,"line":15},[6995,67516,7007],{"class":7006},[6995,67518,5102],{"class":7000},[6995,67520,7013],{"class":7012},[6995,67522,7016],{"class":7000},[6995,67524,67525,67527,67529,67531],{"class":244,"line":154},[6995,67526,7021],{"class":7006},[6995,67528,7024],{"class":7000},[6995,67530,6679],{"class":7006},[6995,67532,7030],{"class":7000},[6995,67534,67535,67537],{"class":244,"line":7033},[6995,67536,7732],{"class":7006},[6995,67538,11893],{"class":7000},[6995,67540,67541],{"class":244,"line":7044},[6995,67542,7537],{"class":7000},[6995,67544,67545,67547,67549],{"class":244,"line":7107},[6995,67546,43626],{"class":7006},[6995,67548,7746],{"class":7000},[6995,67550,43819],{"class":7012},[6995,67552,67553],{"class":244,"line":7120},[6995,67554,7615],{"class":7000},[6995,67556,67557],{"class":244,"line":7133},[6995,67558,7047],{"class":7000},[852,67560,67561],{},[59,67562,67563,44184],{},[611,67564,1149],{},[41,67566,35447],{"id":35447},[34,67568,44189,67569,44192],{},[611,67570,35427],{},[34,67572,67573],{},[611,67574,6986],{},[616,67576,67577],{"className":6989,"code":44199,"language":6991,"meta":14,"style":14},[611,67578,67579,67583,67593,67603,67613,67619,67623,67631,67635],{"__ignoreMap":14},[6995,67580,67581],{"class":244,"line":6997},[6995,67582,7001],{"class":7000},[6995,67584,67585,67587,67589,67591],{"class":244,"line":15},[6995,67586,7007],{"class":7006},[6995,67588,5102],{"class":7000},[6995,67590,7013],{"class":7012},[6995,67592,7016],{"class":7000},[6995,67594,67595,67597,67599,67601],{"class":244,"line":154},[6995,67596,7021],{"class":7006},[6995,67598,7024],{"class":7000},[6995,67600,6679],{"class":7006},[6995,67602,7030],{"class":7000},[6995,67604,67605,67607,67609,67611],{"class":244,"line":7033},[6995,67606,7036],{"class":7006},[6995,67608,7024],{"class":7000},[6995,67610,44234],{"class":7012},[6995,67612,7016],{"class":7000},[6995,67614,67615,67617],{"class":244,"line":7044},[6995,67616,7529],{"class":7006},[6995,67618,7532],{"class":7000},[6995,67620,67621],{"class":244,"line":7107},[6995,67622,7537],{"class":7000},[6995,67624,67625,67627,67629],{"class":244,"line":7120},[6995,67626,43626],{"class":7006},[6995,67628,7746],{"class":7000},[6995,67630,43819],{"class":7012},[6995,67632,67633],{"class":244,"line":7133},[6995,67634,7615],{"class":7000},[6995,67636,67637],{"class":244,"line":7146},[6995,67638,7047],{"class":7000},[852,67640,67641],{},[59,67642,67643,44269],{},[611,67644,1149],{},[34,67646,67647],{},[611,67648,7052],{},[616,67650,67651],{"className":6989,"code":43774,"language":6991,"meta":14,"style":14},[611,67652,67653,67657,67667,67677,67683,67687,67695,67699],{"__ignoreMap":14},[6995,67654,67655],{"class":244,"line":6997},[6995,67656,7001],{"class":7000},[6995,67658,67659,67661,67663,67665],{"class":244,"line":15},[6995,67660,7007],{"class":7006},[6995,67662,5102],{"class":7000},[6995,67664,7013],{"class":7012},[6995,67666,7016],{"class":7000},[6995,67668,67669,67671,67673,67675],{"class":244,"line":154},[6995,67670,7021],{"class":7006},[6995,67672,7024],{"class":7000},[6995,67674,6679],{"class":7006},[6995,67676,7030],{"class":7000},[6995,67678,67679,67681],{"class":244,"line":7033},[6995,67680,7732],{"class":7006},[6995,67682,11893],{"class":7000},[6995,67684,67685],{"class":244,"line":7044},[6995,67686,7537],{"class":7000},[6995,67688,67689,67691,67693],{"class":244,"line":7107},[6995,67690,43626],{"class":7006},[6995,67692,7746],{"class":7000},[6995,67694,43819],{"class":7012},[6995,67696,67697],{"class":244,"line":7120},[6995,67698,7615],{"class":7000},[6995,67700,67701],{"class":244,"line":7133},[6995,67702,7047],{"class":7000},[852,67704,67705],{},[59,67706,67707,44334],{},[611,67708,1149],{},[41,67710,35457],{"id":35457},[34,67712,44339],{},[34,67714,67715],{},[611,67716,6986],{},[616,67718,67719],{"className":6989,"code":44346,"language":6991,"meta":14,"style":14},[611,67720,67721,67725,67735,67745,67755,67761,67765,67773,67777],{"__ignoreMap":14},[6995,67722,67723],{"class":244,"line":6997},[6995,67724,7001],{"class":7000},[6995,67726,67727,67729,67731,67733],{"class":244,"line":15},[6995,67728,7007],{"class":7006},[6995,67730,5102],{"class":7000},[6995,67732,7013],{"class":7012},[6995,67734,7016],{"class":7000},[6995,67736,67737,67739,67741,67743],{"class":244,"line":154},[6995,67738,7021],{"class":7006},[6995,67740,7024],{"class":7000},[6995,67742,6679],{"class":7006},[6995,67744,7030],{"class":7000},[6995,67746,67747,67749,67751,67753],{"class":244,"line":7033},[6995,67748,7036],{"class":7006},[6995,67750,7024],{"class":7000},[6995,67752,44381],{"class":7012},[6995,67754,7016],{"class":7000},[6995,67756,67757,67759],{"class":244,"line":7044},[6995,67758,7529],{"class":7006},[6995,67760,7532],{"class":7000},[6995,67762,67763],{"class":244,"line":7107},[6995,67764,7537],{"class":7000},[6995,67766,67767,67769,67771],{"class":244,"line":7120},[6995,67768,43541],{"class":7006},[6995,67770,7746],{"class":7000},[6995,67772,44402],{"class":7006},[6995,67774,67775],{"class":244,"line":7133},[6995,67776,7615],{"class":7000},[6995,67778,67779],{"class":244,"line":7146},[6995,67780,7047],{"class":7000},[852,67782,67783],{},[59,67784,67785,43578],{},[611,67786,43577],{},[34,67788,67789],{},[611,67790,7052],{},[616,67792,67793],{"className":6989,"code":44423,"language":6991,"meta":14,"style":14},[611,67794,67795,67799,67809,67819,67825,67829,67837,67841],{"__ignoreMap":14},[6995,67796,67797],{"class":244,"line":6997},[6995,67798,7001],{"class":7000},[6995,67800,67801,67803,67805,67807],{"class":244,"line":15},[6995,67802,7007],{"class":7006},[6995,67804,5102],{"class":7000},[6995,67806,7013],{"class":7012},[6995,67808,7016],{"class":7000},[6995,67810,67811,67813,67815,67817],{"class":244,"line":154},[6995,67812,7021],{"class":7006},[6995,67814,7024],{"class":7000},[6995,67816,6679],{"class":7006},[6995,67818,7030],{"class":7000},[6995,67820,67821,67823],{"class":244,"line":7033},[6995,67822,7732],{"class":7006},[6995,67824,11893],{"class":7000},[6995,67826,67827],{"class":244,"line":7044},[6995,67828,7537],{"class":7000},[6995,67830,67831,67833,67835],{"class":244,"line":7107},[6995,67832,44464],{"class":7006},[6995,67834,7746],{"class":7000},[6995,67836,8505],{"class":7006},[6995,67838,67839],{"class":244,"line":7120},[6995,67840,7615],{"class":7000},[6995,67842,67843],{"class":244,"line":7133},[6995,67844,7047],{"class":7000},[852,67846,67847],{},[59,67848,67849,44483],{},[611,67850,15735],{},[41,67852,25480],{"id":25480},[34,67854,32687],{},[34,67856,67857],{},[611,67858,6986],{},[616,67860,67861],{"className":6989,"code":32694,"language":6991,"meta":14,"style":14},[611,67862,67863,67867,67877,67887,67897,67903,67913,67923,67933,67943,67953,67961,67965],{"__ignoreMap":14},[6995,67864,67865],{"class":244,"line":6997},[6995,67866,7001],{"class":7000},[6995,67868,67869,67871,67873,67875],{"class":244,"line":15},[6995,67870,7007],{"class":7006},[6995,67872,7024],{"class":7000},[6995,67874,7013],{"class":7012},[6995,67876,7016],{"class":7000},[6995,67878,67879,67881,67883,67885],{"class":244,"line":154},[6995,67880,7021],{"class":7006},[6995,67882,7024],{"class":7000},[6995,67884,6679],{"class":7006},[6995,67886,7030],{"class":7000},[6995,67888,67889,67891,67893,67895],{"class":244,"line":7033},[6995,67890,7036],{"class":7006},[6995,67892,7024],{"class":7000},[6995,67894,32729],{"class":7012},[6995,67896,7030],{"class":7000},[6995,67898,67899,67901],{"class":244,"line":7044},[6995,67900,7529],{"class":7006},[6995,67902,7092],{"class":7000},[6995,67904,67905,67907,67909,67911],{"class":244,"line":7107},[6995,67906,32742],{"class":7006},[6995,67908,7024],{"class":7000},[6995,67910,8689],{"class":7006},[6995,67912,7030],{"class":7000},[6995,67914,67915,67917,67919,67921],{"class":244,"line":7120},[6995,67916,32753],{"class":7006},[6995,67918,7024],{"class":7000},[6995,67920,8689],{"class":7006},[6995,67922,7030],{"class":7000},[6995,67924,67925,67927,67929,67931],{"class":244,"line":7133},[6995,67926,32764],{"class":7006},[6995,67928,7024],{"class":7000},[6995,67930,8689],{"class":7006},[6995,67932,7030],{"class":7000},[6995,67934,67935,67937,67939,67941],{"class":244,"line":7146},[6995,67936,32775],{"class":7006},[6995,67938,7024],{"class":7000},[6995,67940,8689],{"class":7006},[6995,67942,7030],{"class":7000},[6995,67944,67945,67947,67949,67951],{"class":244,"line":7159},[6995,67946,32786],{"class":7006},[6995,67948,7024],{"class":7000},[6995,67950,8689],{"class":7006},[6995,67952,7030],{"class":7000},[6995,67954,67955,67957,67959],{"class":244,"line":7172},[6995,67956,32797],{"class":7006},[6995,67958,7024],{"class":7000},[6995,67960,8505],{"class":7006},[6995,67962,67963],{"class":244,"line":7185},[6995,67964,7615],{"class":7000},[6995,67966,67967],{"class":244,"line":7198},[6995,67968,7047],{"class":7000},[34,67970,67971],{},[611,67972,7052],{},[616,67974,67975],{"className":6989,"code":32816,"language":6991,"meta":14,"style":14},[611,67976,67977,67981,67991,68001,68009],{"__ignoreMap":14},[6995,67978,67979],{"class":244,"line":6997},[6995,67980,7001],{"class":7000},[6995,67982,67983,67985,67987,67989],{"class":244,"line":15},[6995,67984,7066],{"class":7006},[6995,67986,7024],{"class":7000},[6995,67988,6679],{"class":7006},[6995,67990,7030],{"class":7000},[6995,67992,67993,67995,67997,67999],{"class":244,"line":154},[6995,67994,7078],{"class":7006},[6995,67996,7024],{"class":7000},[6995,67998,7013],{"class":7012},[6995,68000,7030],{"class":7000},[6995,68002,68003,68005,68007],{"class":244,"line":7033},[6995,68004,7089],{"class":7006},[6995,68006,7024],{"class":7000},[6995,68008,8505],{"class":7006},[6995,68010,68011],{"class":244,"line":7044},[6995,68012,7047],{"class":7000},[852,68014,68015],{},[59,68016,68017,32862,68019,32865],{},[611,68018,32861],{},[611,68020,32861],{},[41,68022,25551],{"id":25551},[34,68024,32967],{},[852,68026,68027,68029],{},[59,68028,32972],{},[59,68030,32975],{},[34,68032,32978],{},[34,68034,68035],{},[611,68036,32983],{},[616,68038,68039],{"className":6989,"code":32986,"language":6991,"meta":14,"style":14},[611,68040,68041,68045,68055,68065,68071,68081,68091,68101,68111,68121,68131,68141,68151,68161,68171,68179,68183],{"__ignoreMap":14},[6995,68042,68043],{"class":244,"line":6997},[6995,68044,7001],{"class":7000},[6995,68046,68047,68049,68051,68053],{"class":244,"line":15},[6995,68048,7066],{"class":7006},[6995,68050,7024],{"class":7000},[6995,68052,33001],{"class":7012},[6995,68054,7030],{"class":7000},[6995,68056,68057,68059,68061,68063],{"class":244,"line":154},[6995,68058,7078],{"class":7006},[6995,68060,7024],{"class":7000},[6995,68062,7013],{"class":7012},[6995,68064,7030],{"class":7000},[6995,68066,68067,68069],{"class":244,"line":7033},[6995,68068,7089],{"class":7006},[6995,68070,7092],{"class":7000},[6995,68072,68073,68075,68077,68079],{"class":244,"line":7044},[6995,68074,7097],{"class":7006},[6995,68076,7024],{"class":7000},[6995,68078,33028],{"class":7006},[6995,68080,7030],{"class":7000},[6995,68082,68083,68085,68087,68089],{"class":244,"line":7107},[6995,68084,7110],{"class":7006},[6995,68086,7024],{"class":7000},[6995,68088,33039],{"class":7012},[6995,68090,7030],{"class":7000},[6995,68092,68093,68095,68097,68099],{"class":244,"line":7120},[6995,68094,29521],{"class":7006},[6995,68096,7024],{"class":7000},[6995,68098,33050],{"class":7006},[6995,68100,7030],{"class":7000},[6995,68102,68103,68105,68107,68109],{"class":244,"line":7133},[6995,68104,33057],{"class":7006},[6995,68106,7024],{"class":7000},[6995,68108,7180],{"class":7006},[6995,68110,7030],{"class":7000},[6995,68112,68113,68115,68117,68119],{"class":244,"line":7146},[6995,68114,33068],{"class":7006},[6995,68116,7024],{"class":7000},[6995,68118,7511],{"class":7006},[6995,68120,7030],{"class":7000},[6995,68122,68123,68125,68127,68129],{"class":244,"line":7159},[6995,68124,29542],{"class":7006},[6995,68126,7024],{"class":7000},[6995,68128,8689],{"class":7006},[6995,68130,7030],{"class":7000},[6995,68132,68133,68135,68137,68139],{"class":244,"line":7172},[6995,68134,7136],{"class":7006},[6995,68136,7024],{"class":7000},[6995,68138,33093],{"class":7012},[6995,68140,7030],{"class":7000},[6995,68142,68143,68145,68147,68149],{"class":244,"line":7185},[6995,68144,33100],{"class":7006},[6995,68146,7024],{"class":7000},[6995,68148,33105],{"class":7006},[6995,68150,7030],{"class":7000},[6995,68152,68153,68155,68157,68159],{"class":244,"line":7198},[6995,68154,33112],{"class":7006},[6995,68156,7024],{"class":7000},[6995,68158,33039],{"class":7012},[6995,68160,7030],{"class":7000},[6995,68162,68163,68165,68167,68169],{"class":244,"line":7211},[6995,68164,33123],{"class":7006},[6995,68166,7024],{"class":7000},[6995,68168,33128],{"class":7012},[6995,68170,7030],{"class":7000},[6995,68172,68173,68175,68177],{"class":244,"line":7220},[6995,68174,33135],{"class":7006},[6995,68176,7024],{"class":7000},[6995,68178,33140],{"class":7006},[6995,68180,68181],{"class":244,"line":7226},[6995,68182,7467],{"class":7000},[6995,68184,68185],{"class":244,"line":7238},[6995,68186,7047],{"class":7000},[34,68188,33151,68189,10072,68191,33158,68193,33162,68195,33165,68197,33168,68199,33171,68201,33174],{},[611,68190,33154],{},[611,68192,33157],{},[611,68194,33161],{},[611,68196,33157],{},[611,68198,33154],{},[611,68200,25499],{},[611,68202,25499],{},[34,68204,68205],{},[611,68206,33179],{},[616,68208,68209],{"className":6989,"code":33182,"language":6991,"meta":14,"style":14},[611,68210,68211,68215,68225,68235,68241,68251,68261,68271,68281,68291,68301,68311,68321,68331,68341,68349,68353],{"__ignoreMap":14},[6995,68212,68213],{"class":244,"line":6997},[6995,68214,7001],{"class":7000},[6995,68216,68217,68219,68221,68223],{"class":244,"line":15},[6995,68218,7066],{"class":7006},[6995,68220,7024],{"class":7000},[6995,68222,33001],{"class":7012},[6995,68224,7030],{"class":7000},[6995,68226,68227,68229,68231,68233],{"class":244,"line":154},[6995,68228,7078],{"class":7006},[6995,68230,7024],{"class":7000},[6995,68232,7013],{"class":7012},[6995,68234,7030],{"class":7000},[6995,68236,68237,68239],{"class":244,"line":7033},[6995,68238,7089],{"class":7006},[6995,68240,7092],{"class":7000},[6995,68242,68243,68245,68247,68249],{"class":244,"line":7044},[6995,68244,7097],{"class":7006},[6995,68246,7024],{"class":7000},[6995,68248,33028],{"class":7006},[6995,68250,7030],{"class":7000},[6995,68252,68253,68255,68257,68259],{"class":244,"line":7107},[6995,68254,7110],{"class":7006},[6995,68256,7024],{"class":7000},[6995,68258,33039],{"class":7012},[6995,68260,7030],{"class":7000},[6995,68262,68263,68265,68267,68269],{"class":244,"line":7120},[6995,68264,29521],{"class":7006},[6995,68266,7024],{"class":7000},[6995,68268,33050],{"class":7006},[6995,68270,7030],{"class":7000},[6995,68272,68273,68275,68277,68279],{"class":244,"line":7133},[6995,68274,33057],{"class":7006},[6995,68276,7024],{"class":7000},[6995,68278,6679],{"class":7006},[6995,68280,7030],{"class":7000},[6995,68282,68283,68285,68287,68289],{"class":244,"line":7146},[6995,68284,33068],{"class":7006},[6995,68286,7024],{"class":7000},[6995,68288,7511],{"class":7006},[6995,68290,7030],{"class":7000},[6995,68292,68293,68295,68297,68299],{"class":244,"line":7159},[6995,68294,29542],{"class":7006},[6995,68296,7024],{"class":7000},[6995,68298,8689],{"class":7006},[6995,68300,7030],{"class":7000},[6995,68302,68303,68305,68307,68309],{"class":244,"line":7172},[6995,68304,7136],{"class":7006},[6995,68306,7024],{"class":7000},[6995,68308,33093],{"class":7012},[6995,68310,7030],{"class":7000},[6995,68312,68313,68315,68317,68319],{"class":244,"line":7185},[6995,68314,33100],{"class":7006},[6995,68316,7024],{"class":7000},[6995,68318,33105],{"class":7006},[6995,68320,7030],{"class":7000},[6995,68322,68323,68325,68327,68329],{"class":244,"line":7198},[6995,68324,33112],{"class":7006},[6995,68326,7024],{"class":7000},[6995,68328,33039],{"class":7012},[6995,68330,7030],{"class":7000},[6995,68332,68333,68335,68337,68339],{"class":244,"line":7211},[6995,68334,33123],{"class":7006},[6995,68336,7024],{"class":7000},[6995,68338,33128],{"class":7012},[6995,68340,7030],{"class":7000},[6995,68342,68343,68345,68347],{"class":244,"line":7220},[6995,68344,33135],{"class":7006},[6995,68346,7024],{"class":7000},[6995,68348,33140],{"class":7006},[6995,68350,68351],{"class":244,"line":7226},[6995,68352,7467],{"class":7000},[6995,68354,68355],{"class":244,"line":7238},[6995,68356,7047],{"class":7000},[34,68358,33333,68359,33336,68361,33340],{},[611,68360,33161],{},[611,68362,33339],{},[34,68364,68365],{},[611,68366,33345],{},[616,68368,68369],{"className":6989,"code":33348,"language":6991,"meta":14,"style":14},[611,68370,68371,68375,68385,68395,68401,68411,68421,68431,68441,68451,68461,68471,68481,68491,68501,68509,68513,68517,68521,68545,68549,68557,68561,68565,68575,68585,68591,68601,68611,68621,68631,68641,68651,68661,68671,68681,68691,68699,68703],{"__ignoreMap":14},[6995,68372,68373],{"class":244,"line":6997},[6995,68374,7001],{"class":7000},[6995,68376,68377,68379,68381,68383],{"class":244,"line":15},[6995,68378,7066],{"class":7006},[6995,68380,7024],{"class":7000},[6995,68382,33001],{"class":7012},[6995,68384,7030],{"class":7000},[6995,68386,68387,68389,68391,68393],{"class":244,"line":154},[6995,68388,7078],{"class":7006},[6995,68390,7024],{"class":7000},[6995,68392,7013],{"class":7012},[6995,68394,7030],{"class":7000},[6995,68396,68397,68399],{"class":244,"line":7033},[6995,68398,7089],{"class":7006},[6995,68400,7092],{"class":7000},[6995,68402,68403,68405,68407,68409],{"class":244,"line":7044},[6995,68404,7097],{"class":7006},[6995,68406,7024],{"class":7000},[6995,68408,33028],{"class":7006},[6995,68410,7030],{"class":7000},[6995,68412,68413,68415,68417,68419],{"class":244,"line":7107},[6995,68414,7110],{"class":7006},[6995,68416,7024],{"class":7000},[6995,68418,33039],{"class":7012},[6995,68420,7030],{"class":7000},[6995,68422,68423,68425,68427,68429],{"class":244,"line":7120},[6995,68424,29521],{"class":7006},[6995,68426,7024],{"class":7000},[6995,68428,33050],{"class":7006},[6995,68430,7030],{"class":7000},[6995,68432,68433,68435,68437,68439],{"class":244,"line":7133},[6995,68434,33057],{"class":7006},[6995,68436,7024],{"class":7000},[6995,68438,7511],{"class":7006},[6995,68440,7030],{"class":7000},[6995,68442,68443,68445,68447,68449],{"class":244,"line":7146},[6995,68444,33068],{"class":7006},[6995,68446,7024],{"class":7000},[6995,68448,7511],{"class":7006},[6995,68450,7030],{"class":7000},[6995,68452,68453,68455,68457,68459],{"class":244,"line":7159},[6995,68454,29542],{"class":7006},[6995,68456,7024],{"class":7000},[6995,68458,8689],{"class":7006},[6995,68460,7030],{"class":7000},[6995,68462,68463,68465,68467,68469],{"class":244,"line":7172},[6995,68464,7136],{"class":7006},[6995,68466,7024],{"class":7000},[6995,68468,33093],{"class":7012},[6995,68470,7030],{"class":7000},[6995,68472,68473,68475,68477,68479],{"class":244,"line":7185},[6995,68474,33100],{"class":7006},[6995,68476,7024],{"class":7000},[6995,68478,33105],{"class":7006},[6995,68480,7030],{"class":7000},[6995,68482,68483,68485,68487,68489],{"class":244,"line":7198},[6995,68484,33112],{"class":7006},[6995,68486,7024],{"class":7000},[6995,68488,33039],{"class":7012},[6995,68490,7030],{"class":7000},[6995,68492,68493,68495,68497,68499],{"class":244,"line":7211},[6995,68494,33123],{"class":7006},[6995,68496,7024],{"class":7000},[6995,68498,33128],{"class":7012},[6995,68500,7030],{"class":7000},[6995,68502,68503,68505,68507],{"class":244,"line":7220},[6995,68504,33135],{"class":7006},[6995,68506,7024],{"class":7000},[6995,68508,33140],{"class":7006},[6995,68510,68511],{"class":244,"line":7226},[6995,68512,7467],{"class":7000},[6995,68514,68515],{"class":244,"line":7238},[6995,68516,7047],{"class":7000},[6995,68518,68519],{"class":244,"line":7250},[6995,68520,14371],{"emptyLinePlaceholder":20},[6995,68522,68523,68525,68527,68529,68531,68533,68535,68537,68539,68541,68543],{"class":244,"line":7263},[6995,68524,33505],{"class":7000},[6995,68526,11136],{"class":7006},[6995,68528,33510],{"class":7000},[6995,68530,7511],{"class":7006},[6995,68532,33515],{"class":7000},[6995,68534,7511],{"class":7006},[6995,68536,33520],{"class":7000},[6995,68538,7511],{"class":7006},[6995,68540,33525],{"class":7000},[6995,68542,33028],{"class":7006},[6995,68544,33530],{"class":7000},[6995,68546,68547],{"class":244,"line":7275},[6995,68548,14371],{"emptyLinePlaceholder":20},[6995,68550,68551,68553,68555],{"class":244,"line":7288},[6995,68552,33539],{"class":7000},[6995,68554,8439],{"class":7006},[6995,68556,33544],{"class":7000},[6995,68558,68559],{"class":244,"line":7300},[6995,68560,33549],{"class":7000},[6995,68562,68563],{"class":244,"line":7313},[6995,68564,7001],{"class":7000},[6995,68566,68567,68569,68571,68573],{"class":244,"line":7325},[6995,68568,7066],{"class":7006},[6995,68570,7024],{"class":7000},[6995,68572,33001],{"class":7012},[6995,68574,7030],{"class":7000},[6995,68576,68577,68579,68581,68583],{"class":244,"line":7336},[6995,68578,7078],{"class":7006},[6995,68580,7024],{"class":7000},[6995,68582,7013],{"class":7012},[6995,68584,7030],{"class":7000},[6995,68586,68587,68589],{"class":244,"line":7342},[6995,68588,7089],{"class":7006},[6995,68590,7092],{"class":7000},[6995,68592,68593,68595,68597,68599],{"class":244,"line":7347},[6995,68594,7097],{"class":7006},[6995,68596,7024],{"class":7000},[6995,68598,33105],{"class":7006},[6995,68600,7030],{"class":7000},[6995,68602,68603,68605,68607,68609],{"class":244,"line":7363},[6995,68604,7110],{"class":7006},[6995,68606,7024],{"class":7000},[6995,68608,33128],{"class":7012},[6995,68610,7030],{"class":7000},[6995,68612,68613,68615,68617,68619],{"class":244,"line":7375},[6995,68614,29521],{"class":7006},[6995,68616,7024],{"class":7000},[6995,68618,33050],{"class":7006},[6995,68620,7030],{"class":7000},[6995,68622,68623,68625,68627,68629],{"class":244,"line":7387},[6995,68624,33057],{"class":7006},[6995,68626,7024],{"class":7000},[6995,68628,7511],{"class":7006},[6995,68630,7030],{"class":7000},[6995,68632,68633,68635,68637,68639],{"class":244,"line":7398},[6995,68634,33068],{"class":7006},[6995,68636,7024],{"class":7000},[6995,68638,7511],{"class":7006},[6995,68640,7030],{"class":7000},[6995,68642,68643,68645,68647,68649],{"class":244,"line":7410},[6995,68644,29542],{"class":7006},[6995,68646,7024],{"class":7000},[6995,68648,8689],{"class":7006},[6995,68650,7030],{"class":7000},[6995,68652,68653,68655,68657,68659],{"class":244,"line":7421},[6995,68654,7136],{"class":7006},[6995,68656,7024],{"class":7000},[6995,68658,33039],{"class":7012},[6995,68660,7030],{"class":7000},[6995,68662,68663,68665,68667,68669],{"class":244,"line":7432},[6995,68664,33100],{"class":7006},[6995,68666,7024],{"class":7000},[6995,68668,33105],{"class":7006},[6995,68670,7030],{"class":7000},[6995,68672,68673,68675,68677,68679],{"class":244,"line":7443},[6995,68674,33112],{"class":7006},[6995,68676,7024],{"class":7000},[6995,68678,33039],{"class":7012},[6995,68680,7030],{"class":7000},[6995,68682,68683,68685,68687,68689],{"class":244,"line":7452},[6995,68684,33123],{"class":7006},[6995,68686,7024],{"class":7000},[6995,68688,33128],{"class":7012},[6995,68690,7030],{"class":7000},[6995,68692,68693,68695,68697],{"class":244,"line":7458},[6995,68694,33135],{"class":7006},[6995,68696,7024],{"class":7000},[6995,68698,33140],{"class":7006},[6995,68700,68701],{"class":244,"line":7464},[6995,68702,7467],{"class":7000},[6995,68704,68705],{"class":244,"line":7470},[6995,68706,7047],{"class":7000},[34,68708,33698,68709,33701,68711,33704,68713,33701,68715,33711,68717,33701,68719,2344],{},[611,68710,33339],{},[611,68712,33161],{},[611,68714,33707],{},[611,68716,33710],{},[611,68718,33154],{},[611,68720,33157],{},[41,68722,25559],{"id":25559},[34,68724,33720],{},[34,68726,68727],{},[611,68728,7052],{},[616,68730,68731],{"className":6989,"code":33727,"language":6991,"meta":14,"style":14},[611,68732,68733,68737,68747,68757,68763,68773,68783,68793,68803,68813,68823,68833,68843,68851,68855],{"__ignoreMap":14},[6995,68734,68735],{"class":244,"line":6997},[6995,68736,7001],{"class":7000},[6995,68738,68739,68741,68743,68745],{"class":244,"line":15},[6995,68740,7066],{"class":7006},[6995,68742,7024],{"class":7000},[6995,68744,33742],{"class":7012},[6995,68746,7030],{"class":7000},[6995,68748,68749,68751,68753,68755],{"class":244,"line":154},[6995,68750,7078],{"class":7006},[6995,68752,7024],{"class":7000},[6995,68754,7013],{"class":7012},[6995,68756,7030],{"class":7000},[6995,68758,68759,68761],{"class":244,"line":7033},[6995,68760,7089],{"class":7006},[6995,68762,7092],{"class":7000},[6995,68764,68765,68767,68769,68771],{"class":244,"line":7044},[6995,68766,7097],{"class":7006},[6995,68768,7024],{"class":7000},[6995,68770,33769],{"class":7006},[6995,68772,7030],{"class":7000},[6995,68774,68775,68777,68779,68781],{"class":244,"line":7107},[6995,68776,7110],{"class":7006},[6995,68778,7024],{"class":7000},[6995,68780,33780],{"class":7012},[6995,68782,7030],{"class":7000},[6995,68784,68785,68787,68789,68791],{"class":244,"line":7120},[6995,68786,29521],{"class":7006},[6995,68788,7024],{"class":7000},[6995,68790,33791],{"class":7006},[6995,68792,7030],{"class":7000},[6995,68794,68795,68797,68799,68801],{"class":244,"line":7133},[6995,68796,29542],{"class":7006},[6995,68798,7024],{"class":7000},[6995,68800,8689],{"class":7006},[6995,68802,7030],{"class":7000},[6995,68804,68805,68807,68809,68811],{"class":244,"line":7146},[6995,68806,7136],{"class":7006},[6995,68808,7024],{"class":7000},[6995,68810,33812],{"class":7012},[6995,68812,7030],{"class":7000},[6995,68814,68815,68817,68819,68821],{"class":244,"line":7159},[6995,68816,33100],{"class":7006},[6995,68818,7024],{"class":7000},[6995,68820,33769],{"class":7006},[6995,68822,7030],{"class":7000},[6995,68824,68825,68827,68829,68831],{"class":244,"line":7172},[6995,68826,33112],{"class":7006},[6995,68828,7024],{"class":7000},[6995,68830,33812],{"class":7012},[6995,68832,7030],{"class":7000},[6995,68834,68835,68837,68839,68841],{"class":244,"line":7185},[6995,68836,33123],{"class":7006},[6995,68838,7024],{"class":7000},[6995,68840,33780],{"class":7012},[6995,68842,7030],{"class":7000},[6995,68844,68845,68847,68849],{"class":244,"line":7198},[6995,68846,33135],{"class":7006},[6995,68848,7024],{"class":7000},[6995,68850,33853],{"class":7006},[6995,68852,68853],{"class":244,"line":7211},[6995,68854,7467],{"class":7000},[6995,68856,68857],{"class":244,"line":7220},[6995,68858,7047],{"class":7000},[41,68860,25567],{"id":25567},[34,68862,33866],{},[34,68864,68865],{},[611,68866,7052],{},[616,68868,68869],{"className":6989,"code":33873,"language":6991,"meta":14,"style":14},[611,68870,68871,68875,68885,68895,68901,68911,68921,68927,68931,68941,68951,68961,68971,68981,68991,69001,69011,69021,69031,69041,69049,69053,69057,69067,69077,69087,69097,69107,69117,69127,69137,69147,69157,69167,69175,69179,69183,69187],{"__ignoreMap":14},[6995,68872,68873],{"class":244,"line":6997},[6995,68874,7001],{"class":7000},[6995,68876,68877,68879,68881,68883],{"class":244,"line":15},[6995,68878,7066],{"class":7006},[6995,68880,7024],{"class":7000},[6995,68882,33888],{"class":7012},[6995,68884,7030],{"class":7000},[6995,68886,68887,68889,68891,68893],{"class":244,"line":154},[6995,68888,7078],{"class":7006},[6995,68890,7024],{"class":7000},[6995,68892,7013],{"class":7012},[6995,68894,7030],{"class":7000},[6995,68896,68897,68899],{"class":244,"line":7033},[6995,68898,7089],{"class":7006},[6995,68900,7092],{"class":7000},[6995,68902,68903,68905,68907,68909],{"class":244,"line":7044},[6995,68904,33911],{"class":7006},[6995,68906,7024],{"class":7000},[6995,68908,11136],{"class":7006},[6995,68910,7030],{"class":7000},[6995,68912,68913,68915,68917,68919],{"class":244,"line":7107},[6995,68914,33922],{"class":7006},[6995,68916,7024],{"class":7000},[6995,68918,33927],{"class":7012},[6995,68920,7030],{"class":7000},[6995,68922,68923,68925],{"class":244,"line":7120},[6995,68924,33934],{"class":7006},[6995,68926,7217],{"class":7000},[6995,68928,68929],{"class":244,"line":7133},[6995,68930,33941],{"class":7000},[6995,68932,68933,68935,68937,68939],{"class":244,"line":7146},[6995,68934,33946],{"class":7006},[6995,68936,7024],{"class":7000},[6995,68938,33951],{"class":7012},[6995,68940,7030],{"class":7000},[6995,68942,68943,68945,68947,68949],{"class":244,"line":7159},[6995,68944,33958],{"class":7006},[6995,68946,7024],{"class":7000},[6995,68948,19080],{"class":7012},[6995,68950,7030],{"class":7000},[6995,68952,68953,68955,68957,68959],{"class":244,"line":7172},[6995,68954,33969],{"class":7006},[6995,68956,7024],{"class":7000},[6995,68958,19080],{"class":7012},[6995,68960,7030],{"class":7000},[6995,68962,68963,68965,68967,68969],{"class":244,"line":7185},[6995,68964,33980],{"class":7006},[6995,68966,7024],{"class":7000},[6995,68968,19092],{"class":7006},[6995,68970,7030],{"class":7000},[6995,68972,68973,68975,68977,68979],{"class":244,"line":7198},[6995,68974,33991],{"class":7006},[6995,68976,7024],{"class":7000},[6995,68978,19104],{"class":7006},[6995,68980,7030],{"class":7000},[6995,68982,68983,68985,68987,68989],{"class":244,"line":7211},[6995,68984,34002],{"class":7006},[6995,68986,7024],{"class":7000},[6995,68988,8689],{"class":7006},[6995,68990,7030],{"class":7000},[6995,68992,68993,68995,68997,68999],{"class":244,"line":7220},[6995,68994,34013],{"class":7006},[6995,68996,7024],{"class":7000},[6995,68998,8689],{"class":7006},[6995,69000,7030],{"class":7000},[6995,69002,69003,69005,69007,69009],{"class":244,"line":7226},[6995,69004,34024],{"class":7006},[6995,69006,7024],{"class":7000},[6995,69008,19147],{"class":7006},[6995,69010,7030],{"class":7000},[6995,69012,69013,69015,69017,69019],{"class":244,"line":7238},[6995,69014,34035],{"class":7006},[6995,69016,7024],{"class":7000},[6995,69018,19159],{"class":7012},[6995,69020,7030],{"class":7000},[6995,69022,69023,69025,69027,69029],{"class":244,"line":7250},[6995,69024,34046],{"class":7006},[6995,69026,7024],{"class":7000},[6995,69028,19171],{"class":7012},[6995,69030,7030],{"class":7000},[6995,69032,69033,69035,69037,69039],{"class":244,"line":7263},[6995,69034,34057],{"class":7006},[6995,69036,7024],{"class":7000},[6995,69038,11929],{"class":7012},[6995,69040,7030],{"class":7000},[6995,69042,69043,69045,69047],{"class":244,"line":7275},[6995,69044,34068],{"class":7006},[6995,69046,7024],{"class":7000},[6995,69048,34073],{"class":7012},[6995,69050,69051],{"class":244,"line":7288},[6995,69052,34078],{"class":7000},[6995,69054,69055],{"class":244,"line":7300},[6995,69056,33941],{"class":7000},[6995,69058,69059,69061,69063,69065],{"class":244,"line":7313},[6995,69060,33946],{"class":7006},[6995,69062,7024],{"class":7000},[6995,69064,34091],{"class":7012},[6995,69066,7030],{"class":7000},[6995,69068,69069,69071,69073,69075],{"class":244,"line":7325},[6995,69070,33958],{"class":7006},[6995,69072,7024],{"class":7000},[6995,69074,19080],{"class":7012},[6995,69076,7030],{"class":7000},[6995,69078,69079,69081,69083,69085],{"class":244,"line":7336},[6995,69080,33980],{"class":7006},[6995,69082,7024],{"class":7000},[6995,69084,19092],{"class":7006},[6995,69086,7030],{"class":7000},[6995,69088,69089,69091,69093,69095],{"class":244,"line":7342},[6995,69090,33991],{"class":7006},[6995,69092,7024],{"class":7000},[6995,69094,19104],{"class":7006},[6995,69096,7030],{"class":7000},[6995,69098,69099,69101,69103,69105],{"class":244,"line":7347},[6995,69100,34002],{"class":7006},[6995,69102,7024],{"class":7000},[6995,69104,8689],{"class":7006},[6995,69106,7030],{"class":7000},[6995,69108,69109,69111,69113,69115],{"class":244,"line":7363},[6995,69110,33969],{"class":7006},[6995,69112,7024],{"class":7000},[6995,69114,19080],{"class":7012},[6995,69116,7030],{"class":7000},[6995,69118,69119,69121,69123,69125],{"class":244,"line":7375},[6995,69120,34013],{"class":7006},[6995,69122,7024],{"class":7000},[6995,69124,8689],{"class":7006},[6995,69126,7030],{"class":7000},[6995,69128,69129,69131,69133,69135],{"class":244,"line":7387},[6995,69130,34024],{"class":7006},[6995,69132,7024],{"class":7000},[6995,69134,19147],{"class":7006},[6995,69136,7030],{"class":7000},[6995,69138,69139,69141,69143,69145],{"class":244,"line":7398},[6995,69140,34035],{"class":7006},[6995,69142,7024],{"class":7000},[6995,69144,19159],{"class":7012},[6995,69146,7030],{"class":7000},[6995,69148,69149,69151,69153,69155],{"class":244,"line":7410},[6995,69150,34046],{"class":7006},[6995,69152,7024],{"class":7000},[6995,69154,34182],{"class":7012},[6995,69156,7030],{"class":7000},[6995,69158,69159,69161,69163,69165],{"class":244,"line":7421},[6995,69160,34057],{"class":7006},[6995,69162,7024],{"class":7000},[6995,69164,12303],{"class":7012},[6995,69166,7030],{"class":7000},[6995,69168,69169,69171,69173],{"class":244,"line":7432},[6995,69170,34068],{"class":7006},[6995,69172,7024],{"class":7000},[6995,69174,34203],{"class":7012},[6995,69176,69177],{"class":244,"line":7443},[6995,69178,34208],{"class":7000},[6995,69180,69181],{"class":244,"line":7452},[6995,69182,34213],{"class":7000},[6995,69184,69185],{"class":244,"line":7458},[6995,69186,7467],{"class":7000},[6995,69188,69189],{"class":244,"line":7464},[6995,69190,7047],{"class":7000},[852,69192,69193,69201],{},[59,69194,69195,2231,69197,34230,69199,34234],{},[611,69196,8665],{},[611,69198,32955],{},[175,69200,32902],{"href":34233},[59,69202,69203,34240],{},[611,69204,34239],{},[41,69206,25575],{"id":25575},[34,69208,34245,69209,34248],{},[175,69210,6930],{"href":8044},[34,69212,34251],{},[34,69214,69215],{},[611,69216,34256],{},[616,69218,69219],{"className":6989,"code":34259,"language":6991,"meta":14,"style":14},[611,69220,69221,69225,69235,69245,69251,69261,69271,69277,69289,69301,69305,69309],{"__ignoreMap":14},[6995,69222,69223],{"class":244,"line":6997},[6995,69224,7001],{"class":7000},[6995,69226,69227,69229,69231,69233],{"class":244,"line":15},[6995,69228,7066],{"class":7006},[6995,69230,7024],{"class":7000},[6995,69232,34274],{"class":7012},[6995,69234,7030],{"class":7000},[6995,69236,69237,69239,69241,69243],{"class":244,"line":154},[6995,69238,7078],{"class":7006},[6995,69240,7024],{"class":7000},[6995,69242,7013],{"class":7012},[6995,69244,7030],{"class":7000},[6995,69246,69247,69249],{"class":244,"line":7033},[6995,69248,7089],{"class":7006},[6995,69250,34293],{"class":7000},[6995,69252,69253,69255,69257,69259],{"class":244,"line":7044},[6995,69254,33911],{"class":7006},[6995,69256,7024],{"class":7000},[6995,69258,6679],{"class":7006},[6995,69260,7030],{"class":7000},[6995,69262,69263,69265,69267,69269],{"class":244,"line":7107},[6995,69264,33922],{"class":7006},[6995,69266,7024],{"class":7000},[6995,69268,34312],{"class":7012},[6995,69270,7030],{"class":7000},[6995,69272,69273,69275],{"class":244,"line":7120},[6995,69274,34319],{"class":7006},[6995,69276,7217],{"class":7000},[6995,69278,69279,69281,69283,69285,69287],{"class":244,"line":7133},[6995,69280,34326],{"class":7000},[6995,69282,7478],{"class":7006},[6995,69284,7024],{"class":7000},[6995,69286,34333],{"class":7006},[6995,69288,34336],{"class":7000},[6995,69290,69291,69293,69295,69297,69299],{"class":244,"line":7146},[6995,69292,34326],{"class":7000},[6995,69294,7478],{"class":7006},[6995,69296,7024],{"class":7000},[6995,69298,34347],{"class":7006},[6995,69300,34350],{"class":7000},[6995,69302,69303],{"class":244,"line":7159},[6995,69304,34213],{"class":7000},[6995,69306,69307],{"class":244,"line":7172},[6995,69308,7467],{"class":7000},[6995,69310,69311],{"class":244,"line":7185},[6995,69312,7047],{"class":7000},[852,69314,69315,69323],{},[59,69316,69317,2231,69319,34230,69321,34234],{},[611,69318,8665],{},[611,69320,32955],{},[175,69322,32902],{"href":34233},[59,69324,69325,34378,69327,34381],{},[611,69326,34377],{},[611,69328,32933],{},[34,69330,34384],{},[34,69332,69333],{},[611,69334,34256],{},[616,69336,69337],{"className":6989,"code":34391,"language":6991,"meta":14,"style":14},[611,69338,69339,69343,69353,69363,69369,69379,69389,69395,69399,69409,69419,69429,69439,69449,69459,69469,69475,69485,69495,69505,69515,69523,69527,69537,69547,69557,69565,69569,69573,69577],{"__ignoreMap":14},[6995,69340,69341],{"class":244,"line":6997},[6995,69342,7001],{"class":7000},[6995,69344,69345,69347,69349,69351],{"class":244,"line":15},[6995,69346,7021],{"class":7006},[6995,69348,7024],{"class":7000},[6995,69350,34274],{"class":7012},[6995,69352,7030],{"class":7000},[6995,69354,69355,69357,69359,69361],{"class":244,"line":154},[6995,69356,7007],{"class":7006},[6995,69358,7024],{"class":7000},[6995,69360,7013],{"class":7012},[6995,69362,7030],{"class":7000},[6995,69364,69365,69367],{"class":244,"line":7033},[6995,69366,7732],{"class":7006},[6995,69368,7092],{"class":7000},[6995,69370,69371,69373,69375,69377],{"class":244,"line":7044},[6995,69372,8585],{"class":7006},[6995,69374,7024],{"class":7000},[6995,69376,11136],{"class":7006},[6995,69378,7030],{"class":7000},[6995,69380,69381,69383,69385,69387],{"class":244,"line":7107},[6995,69382,8596],{"class":7006},[6995,69384,7024],{"class":7000},[6995,69386,33927],{"class":7012},[6995,69388,7030],{"class":7000},[6995,69390,69391,69393],{"class":244,"line":7120},[6995,69392,23092],{"class":7006},[6995,69394,7217],{"class":7000},[6995,69396,69397],{"class":244,"line":7133},[6995,69398,34454],{"class":7000},[6995,69400,69401,69403,69405,69407],{"class":244,"line":7146},[6995,69402,34459],{"class":7006},[6995,69404,7024],{"class":7000},[6995,69406,6679],{"class":7006},[6995,69408,7030],{"class":7000},[6995,69410,69411,69413,69415,69417],{"class":244,"line":7159},[6995,69412,34470],{"class":7006},[6995,69414,7024],{"class":7000},[6995,69416,7370],{"class":7006},[6995,69418,7030],{"class":7000},[6995,69420,69421,69423,69425,69427],{"class":244,"line":7172},[6995,69422,34481],{"class":7006},[6995,69424,7024],{"class":7000},[6995,69426,7382],{"class":7012},[6995,69428,7030],{"class":7000},[6995,69430,69431,69433,69435,69437],{"class":244,"line":7185},[6995,69432,34492],{"class":7006},[6995,69434,7024],{"class":7000},[6995,69436,6679],{"class":7006},[6995,69438,7030],{"class":7000},[6995,69440,69441,69443,69445,69447],{"class":244,"line":7198},[6995,69442,34503],{"class":7006},[6995,69444,7024],{"class":7000},[6995,69446,7934],{"class":7006},[6995,69448,7030],{"class":7000},[6995,69450,69451,69453,69455,69457],{"class":244,"line":7211},[6995,69452,34514],{"class":7006},[6995,69454,7024],{"class":7000},[6995,69456,30578],{"class":7012},[6995,69458,7030],{"class":7000},[6995,69460,69461,69463,69465,69467],{"class":244,"line":7220},[6995,69462,34525],{"class":7006},[6995,69464,7024],{"class":7000},[6995,69466,8689],{"class":7006},[6995,69468,7030],{"class":7000},[6995,69470,69471,69473],{"class":244,"line":7226},[6995,69472,34536],{"class":7006},[6995,69474,7092],{"class":7000},[6995,69476,69477,69479,69481,69483],{"class":244,"line":7238},[6995,69478,34543],{"class":7006},[6995,69480,7024],{"class":7000},[6995,69482,30608],{"class":7012},[6995,69484,7030],{"class":7000},[6995,69486,69487,69489,69491,69493],{"class":244,"line":7250},[6995,69488,34554],{"class":7006},[6995,69490,7024],{"class":7000},[6995,69492,30620],{"class":7012},[6995,69494,7030],{"class":7000},[6995,69496,69497,69499,69501,69503],{"class":244,"line":7263},[6995,69498,34565],{"class":7006},[6995,69500,7024],{"class":7000},[6995,69502,30632],{"class":7012},[6995,69504,7030],{"class":7000},[6995,69506,69507,69509,69511,69513],{"class":244,"line":7275},[6995,69508,34576],{"class":7006},[6995,69510,7024],{"class":7000},[6995,69512,30644],{"class":7012},[6995,69514,7030],{"class":7000},[6995,69516,69517,69519,69521],{"class":244,"line":7288},[6995,69518,34587],{"class":7006},[6995,69520,7024],{"class":7000},[6995,69522,30656],{"class":7012},[6995,69524,69525],{"class":244,"line":7300},[6995,69526,34596],{"class":7000},[6995,69528,69529,69531,69533,69535],{"class":244,"line":7313},[6995,69530,34601],{"class":7006},[6995,69532,7024],{"class":7000},[6995,69534,8689],{"class":7006},[6995,69536,7030],{"class":7000},[6995,69538,69539,69541,69543,69545],{"class":244,"line":7325},[6995,69540,34612],{"class":7006},[6995,69542,7024],{"class":7000},[6995,69544,8689],{"class":7006},[6995,69546,7030],{"class":7000},[6995,69548,69549,69551,69553,69555],{"class":244,"line":7336},[6995,69550,34623],{"class":7006},[6995,69552,7024],{"class":7000},[6995,69554,7958],{"class":7012},[6995,69556,7030],{"class":7000},[6995,69558,69559,69561,69563],{"class":244,"line":7342},[6995,69560,34634],{"class":7006},[6995,69562,7024],{"class":7000},[6995,69564,7970],{"class":7006},[6995,69566,69567],{"class":244,"line":7347},[6995,69568,34208],{"class":7000},[6995,69570,69571],{"class":244,"line":7363},[6995,69572,34647],{"class":7000},[6995,69574,69575],{"class":244,"line":7375},[6995,69576,7615],{"class":7000},[6995,69578,69579],{"class":244,"line":7387},[6995,69580,7047],{"class":7000},[852,69582,69583,69591],{},[59,69584,69585,2231,69587,34230,69589,34234],{},[611,69586,8665],{},[611,69588,32955],{},[175,69590,32902],{"href":34233},[59,69592,69593,34670,69595,34673],{},[611,69594,34377],{},[175,69596,6935],{"href":18363},[41,69598,25581],{"id":25581},[34,69600,34678,69601,2344],{},[611,69602,4979],{},[34,69604,69605],{},[611,69606,34256],{},[616,69608,69609],{"className":6989,"code":34687,"language":6991,"meta":14,"style":14},[611,69610,69611,69615,69625,69635,69641,69651,69661,69667,69671,69681,69691,69701,69711,69721,69731,69741,69751,69759,69763,69767,69771],{"__ignoreMap":14},[6995,69612,69613],{"class":244,"line":6997},[6995,69614,7001],{"class":7000},[6995,69616,69617,69619,69621,69623],{"class":244,"line":15},[6995,69618,7021],{"class":7006},[6995,69620,7024],{"class":7000},[6995,69622,34702],{"class":7012},[6995,69624,7030],{"class":7000},[6995,69626,69627,69629,69631,69633],{"class":244,"line":154},[6995,69628,7007],{"class":7006},[6995,69630,7024],{"class":7000},[6995,69632,7013],{"class":7012},[6995,69634,7030],{"class":7000},[6995,69636,69637,69639],{"class":244,"line":7033},[6995,69638,7732],{"class":7006},[6995,69640,7092],{"class":7000},[6995,69642,69643,69645,69647,69649],{"class":244,"line":7044},[6995,69644,8585],{"class":7006},[6995,69646,7024],{"class":7000},[6995,69648,11136],{"class":7006},[6995,69650,7030],{"class":7000},[6995,69652,69653,69655,69657,69659],{"class":244,"line":7107},[6995,69654,8596],{"class":7006},[6995,69656,7024],{"class":7000},[6995,69658,33927],{"class":7012},[6995,69660,7030],{"class":7000},[6995,69662,69663,69665],{"class":244,"line":7120},[6995,69664,34745],{"class":7006},[6995,69666,7217],{"class":7000},[6995,69668,69669],{"class":244,"line":7133},[6995,69670,15683],{"class":7000},[6995,69672,69673,69675,69677,69679],{"class":244,"line":7146},[6995,69674,34756],{"class":7006},[6995,69676,7024],{"class":7000},[6995,69678,7167],{"class":7006},[6995,69680,7030],{"class":7000},[6995,69682,69683,69685,69687,69689],{"class":244,"line":7159},[6995,69684,34767],{"class":7006},[6995,69686,7024],{"class":7000},[6995,69688,7180],{"class":7006},[6995,69690,7030],{"class":7000},[6995,69692,69693,69695,69697,69699],{"class":244,"line":7172},[6995,69694,34778],{"class":7006},[6995,69696,7024],{"class":7000},[6995,69698,22951],{"class":7006},[6995,69700,7030],{"class":7000},[6995,69702,69703,69705,69707,69709],{"class":244,"line":7185},[6995,69704,34789],{"class":7006},[6995,69706,7024],{"class":7000},[6995,69708,22962],{"class":7006},[6995,69710,7030],{"class":7000},[6995,69712,69713,69715,69717,69719],{"class":244,"line":7198},[6995,69714,34800],{"class":7006},[6995,69716,7024],{"class":7000},[6995,69718,22973],{"class":7012},[6995,69720,7030],{"class":7000},[6995,69722,69723,69725,69727,69729],{"class":244,"line":7211},[6995,69724,34811],{"class":7006},[6995,69726,7024],{"class":7000},[6995,69728,20884],{"class":7012},[6995,69730,7030],{"class":7000},[6995,69732,69733,69735,69737,69739],{"class":244,"line":7220},[6995,69734,34822],{"class":7006},[6995,69736,7024],{"class":7000},[6995,69738,19080],{"class":7012},[6995,69740,7030],{"class":7000},[6995,69742,69743,69745,69747,69749],{"class":244,"line":7226},[6995,69744,34833],{"class":7006},[6995,69746,7024],{"class":7000},[6995,69748,7511],{"class":7006},[6995,69750,7030],{"class":7000},[6995,69752,69753,69755,69757],{"class":244,"line":7238},[6995,69754,34844],{"class":7006},[6995,69756,7024],{"class":7000},[6995,69758,23016],{"class":7012},[6995,69760,69761],{"class":244,"line":7250},[6995,69762,34853],{"class":7000},[6995,69764,69765],{"class":244,"line":7263},[6995,69766,34858],{"class":7000},[6995,69768,69769],{"class":244,"line":7275},[6995,69770,7615],{"class":7000},[6995,69772,69773],{"class":244,"line":7288},[6995,69774,7047],{"class":7000},[852,69776,69777,69785],{},[59,69778,69779,2231,69781,34230,69783,34234],{},[611,69780,8665],{},[611,69782,32955],{},[175,69784,32902],{"href":34233},[59,69786,69787,34881,69789,34673],{},[611,69788,14350],{},[175,69790,18014],{"href":18321},[41,69792,25587],{"id":25587},[34,69794,34888],{},[34,69796,69797],{},[611,69798,34256],{},[616,69800,69801],{"className":6989,"code":46434,"language":6991,"meta":14,"style":14},[611,69802,69803,69807,69817,69827,69833,69843,69853,69859,69863,69873,69883,69893,69903,69913,69923,69933,69943,69953,69963,69973,69983,69993,70003,70013,70019,70029,70039,70047,70051,70055,70059],{"__ignoreMap":14},[6995,69804,69805],{"class":244,"line":6997},[6995,69806,7001],{"class":7000},[6995,69808,69809,69811,69813,69815],{"class":244,"line":15},[6995,69810,7021],{"class":7006},[6995,69812,7024],{"class":7000},[6995,69814,34910],{"class":7012},[6995,69816,7030],{"class":7000},[6995,69818,69819,69821,69823,69825],{"class":244,"line":154},[6995,69820,7007],{"class":7006},[6995,69822,7024],{"class":7000},[6995,69824,7013],{"class":7012},[6995,69826,7030],{"class":7000},[6995,69828,69829,69831],{"class":244,"line":7033},[6995,69830,7732],{"class":7006},[6995,69832,7092],{"class":7000},[6995,69834,69835,69837,69839,69841],{"class":244,"line":7044},[6995,69836,8585],{"class":7006},[6995,69838,7024],{"class":7000},[6995,69840,11136],{"class":7006},[6995,69842,7030],{"class":7000},[6995,69844,69845,69847,69849,69851],{"class":244,"line":7107},[6995,69846,8596],{"class":7006},[6995,69848,7024],{"class":7000},[6995,69850,33927],{"class":7012},[6995,69852,7030],{"class":7000},[6995,69854,69855,69857],{"class":244,"line":7120},[6995,69856,34953],{"class":7006},[6995,69858,7217],{"class":7000},[6995,69860,69861],{"class":244,"line":7133},[6995,69862,15683],{"class":7000},[6995,69864,69865,69867,69869,69871],{"class":244,"line":7146},[6995,69866,34964],{"class":7006},[6995,69868,7746],{"class":7000},[6995,69870,20884],{"class":7012},[6995,69872,7030],{"class":7000},[6995,69874,69875,69877,69879,69881],{"class":244,"line":7159},[6995,69876,34767],{"class":7006},[6995,69878,7024],{"class":7000},[6995,69880,7180],{"class":7006},[6995,69882,7030],{"class":7000},[6995,69884,69885,69887,69889,69891],{"class":244,"line":7172},[6995,69886,34985],{"class":7006},[6995,69888,7024],{"class":7000},[6995,69890,19080],{"class":7012},[6995,69892,7030],{"class":7000},[6995,69894,69895,69897,69899,69901],{"class":244,"line":7185},[6995,69896,34996],{"class":7006},[6995,69898,7024],{"class":7000},[6995,69900,10984],{"class":7006},[6995,69902,7030],{"class":7000},[6995,69904,69905,69907,69909,69911],{"class":244,"line":7198},[6995,69906,35007],{"class":7006},[6995,69908,7024],{"class":7000},[6995,69910,20988],{"class":7012},[6995,69912,7030],{"class":7000},[6995,69914,69915,69917,69919,69921],{"class":244,"line":7211},[6995,69916,35018],{"class":7006},[6995,69918,7024],{"class":7000},[6995,69920,7570],{"class":7012},[6995,69922,7030],{"class":7000},[6995,69924,69925,69927,69929,69931],{"class":244,"line":7220},[6995,69926,35029],{"class":7006},[6995,69928,7024],{"class":7000},[6995,69930,21011],{"class":7012},[6995,69932,7030],{"class":7000},[6995,69934,69935,69937,69939,69941],{"class":244,"line":7226},[6995,69936,34833],{"class":7006},[6995,69938,7024],{"class":7000},[6995,69940,8439],{"class":7006},[6995,69942,7030],{"class":7000},[6995,69944,69945,69947,69949,69951],{"class":244,"line":7238},[6995,69946,34844],{"class":7006},[6995,69948,7746],{"class":7000},[6995,69950,21034],{"class":7012},[6995,69952,7030],{"class":7000},[6995,69954,69955,69957,69959,69961],{"class":244,"line":7250},[6995,69956,35060],{"class":7006},[6995,69958,7024],{"class":7000},[6995,69960,7180],{"class":7006},[6995,69962,7030],{"class":7000},[6995,69964,69965,69967,69969,69971],{"class":244,"line":7263},[6995,69966,35071],{"class":7006},[6995,69968,7024],{"class":7000},[6995,69970,21057],{"class":7012},[6995,69972,7030],{"class":7000},[6995,69974,69975,69977,69979,69981],{"class":244,"line":7275},[6995,69976,35082],{"class":7006},[6995,69978,7746],{"class":7000},[6995,69980,21069],{"class":7012},[6995,69982,7030],{"class":7000},[6995,69984,69985,69987,69989,69991],{"class":244,"line":7288},[6995,69986,35093],{"class":7006},[6995,69988,7024],{"class":7000},[6995,69990,7547],{"class":7006},[6995,69992,7030],{"class":7000},[6995,69994,69995,69997,69999,70001],{"class":244,"line":7300},[6995,69996,35104],{"class":7006},[6995,69998,7746],{"class":7000},[6995,70000,21090],{"class":7006},[6995,70002,7030],{"class":7000},[6995,70004,70005,70007,70009,70011],{"class":244,"line":7313},[6995,70006,35115],{"class":7006},[6995,70008,7746],{"class":7000},[6995,70010,11094],{"class":7006},[6995,70012,7030],{"class":7000},[6995,70014,70015,70017],{"class":244,"line":7325},[6995,70016,46651],{"class":7006},[6995,70018,12624],{"class":7000},[6995,70020,70021,70023,70025,70027],{"class":244,"line":7336},[6995,70022,35126],{"class":7006},[6995,70024,7024],{"class":7000},[6995,70026,21113],{"class":7012},[6995,70028,7030],{"class":7000},[6995,70030,70031,70033,70035,70037],{"class":244,"line":7342},[6995,70032,35137],{"class":7006},[6995,70034,7024],{"class":7000},[6995,70036,19171],{"class":7012},[6995,70038,7030],{"class":7000},[6995,70040,70041,70043,70045],{"class":244,"line":7347},[6995,70042,35148],{"class":7006},[6995,70044,7024],{"class":7000},[6995,70046,21136],{"class":7012},[6995,70048,70049],{"class":244,"line":7363},[6995,70050,34853],{"class":7000},[6995,70052,70053],{"class":244,"line":7375},[6995,70054,34858],{"class":7000},[6995,70056,70057],{"class":244,"line":7387},[6995,70058,7615],{"class":7000},[6995,70060,70061],{"class":244,"line":7398},[6995,70062,7047],{"class":7000},[852,70064,70065,70073],{},[59,70066,70067,2231,70069,34230,70071,34234],{},[611,70068,8665],{},[611,70070,32955],{},[175,70072,32902],{"href":34233},[59,70074,70075,35184,70077,34673],{},[611,70076,35183],{},[175,70078,18293],{"href":18292},[11,70080,35314],{"id":35314},[34,70082,46718],{},[34,70084,70085],{},[611,70086,7052],{},[616,70088,70089],{"className":6989,"code":46725,"language":6991,"meta":14,"style":14},[611,70090,70091,70095,70105,70115,70121,70131,70141,70145],{"__ignoreMap":14},[6995,70092,70093],{"class":244,"line":6997},[6995,70094,7001],{"class":7000},[6995,70096,70097,70099,70101,70103],{"class":244,"line":15},[6995,70098,7066],{"class":7006},[6995,70100,7024],{"class":7000},[6995,70102,46740],{"class":7012},[6995,70104,7030],{"class":7000},[6995,70106,70107,70109,70111,70113],{"class":244,"line":154},[6995,70108,7078],{"class":7006},[6995,70110,7024],{"class":7000},[6995,70112,7013],{"class":7012},[6995,70114,7030],{"class":7000},[6995,70116,70117,70119],{"class":244,"line":7033},[6995,70118,7089],{"class":7006},[6995,70120,7092],{"class":7000},[6995,70122,70123,70125,70127,70129],{"class":244,"line":7044},[6995,70124,46763],{"class":7006},[6995,70126,7024],{"class":7000},[6995,70128,8689],{"class":7006},[6995,70130,7030],{"class":7000},[6995,70132,70133,70135,70137,70139],{"class":244,"line":7107},[6995,70134,46774],{"class":7006},[6995,70136,7024],{"class":7000},[6995,70138,11094],{"class":7006},[6995,70140,7030],{"class":7000},[6995,70142,70143],{"class":244,"line":7120},[6995,70144,7467],{"class":7000},[6995,70146,70147],{"class":244,"line":7133},[6995,70148,7047],{"class":7000},[852,70150,70151,70157,70163],{},[59,70152,70153,46796,70155,46799],{},[611,70154,46795],{},[611,70156,8689],{},[59,70158,70159,10072,70161,46807],{},[611,70160,46804],{},[611,70162,8689],{},[59,70164,70165,46813],{},[611,70166,46812],{},[41,70168,35467],{"id":35467},[34,70170,46818],{},[34,70172,70173],{},[611,70174,6986],{},[616,70176,70177],{"className":6989,"code":46825,"language":6991,"meta":14,"style":14},[611,70178,70179,70183,70193,70203,70213,70219,70223,70233,70241,70245],{"__ignoreMap":14},[6995,70180,70181],{"class":244,"line":6997},[6995,70182,7001],{"class":7000},[6995,70184,70185,70187,70189,70191],{"class":244,"line":15},[6995,70186,7007],{"class":7006},[6995,70188,5102],{"class":7000},[6995,70190,7013],{"class":7012},[6995,70192,7016],{"class":7000},[6995,70194,70195,70197,70199,70201],{"class":244,"line":154},[6995,70196,7021],{"class":7006},[6995,70198,7024],{"class":7000},[6995,70200,6679],{"class":7006},[6995,70202,7030],{"class":7000},[6995,70204,70205,70207,70209,70211],{"class":244,"line":7033},[6995,70206,7036],{"class":7006},[6995,70208,7024],{"class":7000},[6995,70210,46860],{"class":7012},[6995,70212,7016],{"class":7000},[6995,70214,70215,70217],{"class":244,"line":7044},[6995,70216,7529],{"class":7006},[6995,70218,7532],{"class":7000},[6995,70220,70221],{"class":244,"line":7107},[6995,70222,7537],{"class":7000},[6995,70224,70225,70227,70229,70231],{"class":244,"line":7120},[6995,70226,46877],{"class":7006},[6995,70228,7746],{"class":7000},[6995,70230,46882],{"class":7012},[6995,70232,7030],{"class":7000},[6995,70234,70235,70237,70239],{"class":244,"line":7133},[6995,70236,46889],{"class":7006},[6995,70238,7024],{"class":7000},[6995,70240,46894],{"class":7012},[6995,70242,70243],{"class":244,"line":7146},[6995,70244,7615],{"class":7000},[6995,70246,70247],{"class":244,"line":7159},[6995,70248,7047],{"class":7000},[852,70250,70251,70255],{},[59,70252,70253,46909],{},[611,70254,17982],{},[59,70256,70257,46915],{},[611,70258,46914],{},[34,70260,70261],{},[611,70262,7052],{},[616,70264,70265],{"className":6989,"code":46922,"language":6991,"meta":14,"style":14},[611,70266,70267,70271,70281,70291,70297,70301,70309,70313],{"__ignoreMap":14},[6995,70268,70269],{"class":244,"line":6997},[6995,70270,7001],{"class":7000},[6995,70272,70273,70275,70277,70279],{"class":244,"line":15},[6995,70274,7007],{"class":7006},[6995,70276,5102],{"class":7000},[6995,70278,7013],{"class":7012},[6995,70280,7016],{"class":7000},[6995,70282,70283,70285,70287,70289],{"class":244,"line":154},[6995,70284,7021],{"class":7006},[6995,70286,7024],{"class":7000},[6995,70288,6679],{"class":7006},[6995,70290,7030],{"class":7000},[6995,70292,70293,70295],{"class":244,"line":7033},[6995,70294,7732],{"class":7006},[6995,70296,11893],{"class":7000},[6995,70298,70299],{"class":244,"line":7044},[6995,70300,7537],{"class":7000},[6995,70302,70303,70305,70307],{"class":244,"line":7107},[6995,70304,46963],{"class":7006},[6995,70306,7746],{"class":7000},[6995,70308,46968],{"class":7012},[6995,70310,70311],{"class":244,"line":7120},[6995,70312,7615],{"class":7000},[6995,70314,70315],{"class":244,"line":7133},[6995,70316,7047],{"class":7000},[852,70318,70319],{},[59,70320,70321,46984],{},[611,70322,46983],{},[41,70324,35475],{"id":35475},[34,70326,46989],{},[34,70328,70329],{},[611,70330,6986],{},[616,70332,70333],{"className":6989,"code":46996,"language":6991,"meta":14,"style":14},[611,70334,70335,70339,70349,70359,70369,70375,70379,70389,70399,70407,70411],{"__ignoreMap":14},[6995,70336,70337],{"class":244,"line":6997},[6995,70338,7001],{"class":7000},[6995,70340,70341,70343,70345,70347],{"class":244,"line":15},[6995,70342,7007],{"class":7006},[6995,70344,5102],{"class":7000},[6995,70346,7013],{"class":7012},[6995,70348,7016],{"class":7000},[6995,70350,70351,70353,70355,70357],{"class":244,"line":154},[6995,70352,7021],{"class":7006},[6995,70354,7024],{"class":7000},[6995,70356,6679],{"class":7006},[6995,70358,7030],{"class":7000},[6995,70360,70361,70363,70365,70367],{"class":244,"line":7033},[6995,70362,7036],{"class":7006},[6995,70364,7024],{"class":7000},[6995,70366,47031],{"class":7012},[6995,70368,7016],{"class":7000},[6995,70370,70371,70373],{"class":244,"line":7044},[6995,70372,7529],{"class":7006},[6995,70374,7532],{"class":7000},[6995,70376,70377],{"class":244,"line":7107},[6995,70378,7537],{"class":7000},[6995,70380,70381,70383,70385,70387],{"class":244,"line":7120},[6995,70382,46877],{"class":7006},[6995,70384,7746],{"class":7000},[6995,70386,46882],{"class":7012},[6995,70388,7030],{"class":7000},[6995,70390,70391,70393,70395,70397],{"class":244,"line":7133},[6995,70392,47058],{"class":7006},[6995,70394,7024],{"class":7000},[6995,70396,47063],{"class":7012},[6995,70398,7030],{"class":7000},[6995,70400,70401,70403,70405],{"class":244,"line":7146},[6995,70402,46963],{"class":7006},[6995,70404,7024],{"class":7000},[6995,70406,46968],{"class":7012},[6995,70408,70409],{"class":244,"line":7159},[6995,70410,7615],{"class":7000},[6995,70412,70413],{"class":244,"line":7172},[6995,70414,7047],{"class":7000},[852,70416,70417,70421,70425],{},[59,70418,70419,46909],{},[611,70420,17982],{},[59,70422,70423,47093],{},[611,70424,47092],{},[59,70426,70427,47098],{},[611,70428,46983],{},[34,70430,70431],{},[611,70432,7052],{},[616,70434,70435],{"className":6989,"code":47105,"language":6991,"meta":14,"style":14},[611,70436,70437,70441,70451,70461,70469],{"__ignoreMap":14},[6995,70438,70439],{"class":244,"line":6997},[6995,70440,7001],{"class":7000},[6995,70442,70443,70445,70447,70449],{"class":244,"line":15},[6995,70444,7007],{"class":7006},[6995,70446,5102],{"class":7000},[6995,70448,7013],{"class":7012},[6995,70450,7016],{"class":7000},[6995,70452,70453,70455,70457,70459],{"class":244,"line":154},[6995,70454,7021],{"class":7006},[6995,70456,7024],{"class":7000},[6995,70458,6679],{"class":7006},[6995,70460,7030],{"class":7000},[6995,70462,70463,70465,70467],{"class":244,"line":7033},[6995,70464,7732],{"class":7006},[6995,70466,7746],{"class":7000},[6995,70468,8505],{"class":7006},[6995,70470,70471],{"class":244,"line":7044},[6995,70472,7047],{"class":7000},[41,70474,47235],{"id":47235},[34,70476,58714],{},[34,70478,70479],{},[611,70480,6986],{},[616,70482,70483],{"className":6989,"code":58721,"language":6991,"meta":14,"style":14},[611,70484,70485,70489,70499,70509,70519,70525,70529,70539,70543],{"__ignoreMap":14},[6995,70486,70487],{"class":244,"line":6997},[6995,70488,7001],{"class":7000},[6995,70490,70491,70493,70495,70497],{"class":244,"line":15},[6995,70492,7007],{"class":7006},[6995,70494,5102],{"class":7000},[6995,70496,7013],{"class":7012},[6995,70498,7016],{"class":7000},[6995,70500,70501,70503,70505,70507],{"class":244,"line":154},[6995,70502,7021],{"class":7006},[6995,70504,7024],{"class":7000},[6995,70506,6679],{"class":7006},[6995,70508,7030],{"class":7000},[6995,70510,70511,70513,70515,70517],{"class":244,"line":7033},[6995,70512,7036],{"class":7006},[6995,70514,7024],{"class":7000},[6995,70516,58756],{"class":7012},[6995,70518,7016],{"class":7000},[6995,70520,70521,70523],{"class":244,"line":7044},[6995,70522,7529],{"class":7006},[6995,70524,7532],{"class":7000},[6995,70526,70527],{"class":244,"line":7107},[6995,70528,7537],{"class":7000},[6995,70530,70531,70533,70535,70537],{"class":244,"line":7120},[6995,70532,58773],{"class":7006},[6995,70534,7746],{"class":7000},[6995,70536,58778],{"class":7012},[6995,70538,7030],{"class":7000},[6995,70540,70541],{"class":244,"line":7133},[6995,70542,7615],{"class":7000},[6995,70544,70545],{"class":244,"line":7146},[6995,70546,7047],{"class":7000},[852,70548,70549],{},[59,70550,70551,58796],{},[611,70552,58795],{},[34,70554,70555],{},[611,70556,7052],{},[616,70558,70559],{"className":6989,"code":58803,"language":6991,"meta":14,"style":14},[611,70560,70561,70565,70575,70585,70591,70599,70603],{"__ignoreMap":14},[6995,70562,70563],{"class":244,"line":6997},[6995,70564,7001],{"class":7000},[6995,70566,70567,70569,70571,70573],{"class":244,"line":15},[6995,70568,7007],{"class":7006},[6995,70570,5102],{"class":7000},[6995,70572,7013],{"class":7012},[6995,70574,7016],{"class":7000},[6995,70576,70577,70579,70581,70583],{"class":244,"line":154},[6995,70578,7021],{"class":7006},[6995,70580,7024],{"class":7000},[6995,70582,6679],{"class":7006},[6995,70584,7030],{"class":7000},[6995,70586,70587,70589],{"class":244,"line":7033},[6995,70588,7732],{"class":7006},[6995,70590,58836],{"class":7000},[6995,70592,70593,70595,70597],{"class":244,"line":7044},[6995,70594,58841],{"class":7006},[6995,70596,7024],{"class":7000},[6995,70598,58846],{"class":7012},[6995,70600,70601],{"class":244,"line":7107},[6995,70602,7615],{"class":7000},[6995,70604,70605],{"class":244,"line":7120},[6995,70606,7047],{"class":7000},[41,70608,58950],{"id":58950},[34,70610,70611],{},"Get all asset swap offers",[34,70613,70614],{},[611,70615,6986],{},[616,70617,70619],{"className":6989,"code":70618,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\" : \"2.0\",\n    \"id\" : 1,\n    \"method\" : \"assets_swap_offers_list\"\n}\n",[611,70620,70621,70625,70635,70645,70654],{"__ignoreMap":14},[6995,70622,70623],{"class":244,"line":6997},[6995,70624,7001],{"class":7000},[6995,70626,70627,70629,70631,70633],{"class":244,"line":15},[6995,70628,7007],{"class":7006},[6995,70630,7746],{"class":7000},[6995,70632,7013],{"class":7012},[6995,70634,7030],{"class":7000},[6995,70636,70637,70639,70641,70643],{"class":244,"line":154},[6995,70638,7021],{"class":7006},[6995,70640,7746],{"class":7000},[6995,70642,6679],{"class":7006},[6995,70644,7030],{"class":7000},[6995,70646,70647,70649,70651],{"class":244,"line":7033},[6995,70648,7036],{"class":7006},[6995,70650,7746],{"class":7000},[6995,70652,70653],{"class":7012},"\"assets_swap_offers_list\"\n",[6995,70655,70656],{"class":244,"line":7044},[6995,70657,7047],{"class":7000},[34,70659,70660],{},[611,70661,7052],{},[616,70663,70665],{"className":6989,"code":70664,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1,\n  \"jsonrpc\": \"2.0\",\n  \"offers\": [\n    {\n      \"create_time\": 1667219066,\n      \"expire_time\": 1667240666,\n      \"id\": \"1ae40a6c80d54cc4b3653ab2c478c328\",\n      \"isMy\": false,\n      \"receiveAmount\": 200000000,\n      \"receiveAssetId\": 0,\n      \"receiveCurrencyName\": \"BEAM\",\n      \"sendAmount\": 200000000,\n      \"sendAssetId\": 2,\n      \"sendCurrencyName\": \"SHEKELb\"\n    },\n    {\n      \"create_time\": 1667219060,\n      \"expire_time\": 1667240660,\n      \"id\": \"bf98b6e8a9fa49de939facfe5faad899\",\n      \"isMy\": false,\n      \"receiveAmount\": 100000000,\n      \"receiveAssetId\": 0,\n      \"receiveCurrencyName\": \"BEAM\",\n      \"sendAmount\": 100000000,\n      \"sendAssetId\": 2,\n      \"sendCurrencyName\": \"SHEKELb\"\n    }\n  ]\n}\n",[611,70666,70667,70671,70681,70691,70698,70702,70713,70725,70736,70747,70758,70769,70781,70792,70803,70813,70817,70821,70832,70843,70854,70864,70874,70884,70894,70904,70914,70922,70926,70930],{"__ignoreMap":14},[6995,70668,70669],{"class":244,"line":6997},[6995,70670,7001],{"class":7000},[6995,70672,70673,70675,70677,70679],{"class":244,"line":15},[6995,70674,7066],{"class":7006},[6995,70676,7024],{"class":7000},[6995,70678,6679],{"class":7006},[6995,70680,7030],{"class":7000},[6995,70682,70683,70685,70687,70689],{"class":244,"line":154},[6995,70684,7078],{"class":7006},[6995,70686,7024],{"class":7000},[6995,70688,7013],{"class":7012},[6995,70690,7030],{"class":7000},[6995,70692,70693,70696],{"class":244,"line":7033},[6995,70694,70695],{"class":7006},"  \"offers\"",[6995,70697,7217],{"class":7000},[6995,70699,70700],{"class":244,"line":7044},[6995,70701,7537],{"class":7000},[6995,70703,70704,70706,70708,70711],{"class":244,"line":7107},[6995,70705,21555],{"class":7006},[6995,70707,7024],{"class":7000},[6995,70709,70710],{"class":7006},"1667219066",[6995,70712,7030],{"class":7000},[6995,70714,70715,70718,70720,70723],{"class":244,"line":7120},[6995,70716,70717],{"class":7006},"      \"expire_time\"",[6995,70719,7024],{"class":7000},[6995,70721,70722],{"class":7006},"1667240666",[6995,70724,7030],{"class":7000},[6995,70726,70727,70729,70731,70734],{"class":244,"line":7133},[6995,70728,12663],{"class":7006},[6995,70730,7024],{"class":7000},[6995,70732,70733],{"class":7012},"\"1ae40a6c80d54cc4b3653ab2c478c328\"",[6995,70735,7030],{"class":7000},[6995,70737,70738,70741,70743,70745],{"class":244,"line":7146},[6995,70739,70740],{"class":7006},"      \"isMy\"",[6995,70742,7024],{"class":7000},[6995,70744,11094],{"class":7006},[6995,70746,7030],{"class":7000},[6995,70748,70749,70752,70754,70756],{"class":244,"line":7159},[6995,70750,70751],{"class":7006},"      \"receiveAmount\"",[6995,70753,7024],{"class":7000},[6995,70755,38820],{"class":7006},[6995,70757,7030],{"class":7000},[6995,70759,70760,70763,70765,70767],{"class":244,"line":7172},[6995,70761,70762],{"class":7006},"      \"receiveAssetId\"",[6995,70764,7024],{"class":7000},[6995,70766,7180],{"class":7006},[6995,70768,7030],{"class":7000},[6995,70770,70771,70774,70776,70779],{"class":244,"line":7185},[6995,70772,70773],{"class":7006},"      \"receiveCurrencyName\"",[6995,70775,7024],{"class":7000},[6995,70777,70778],{"class":7012},"\"BEAM\"",[6995,70780,7030],{"class":7000},[6995,70782,70783,70786,70788,70790],{"class":244,"line":7198},[6995,70784,70785],{"class":7006},"      \"sendAmount\"",[6995,70787,7024],{"class":7000},[6995,70789,38820],{"class":7006},[6995,70791,7030],{"class":7000},[6995,70793,70794,70797,70799,70801],{"class":244,"line":7211},[6995,70795,70796],{"class":7006},"      \"sendAssetId\"",[6995,70798,7024],{"class":7000},[6995,70800,7511],{"class":7006},[6995,70802,7030],{"class":7000},[6995,70804,70805,70808,70810],{"class":244,"line":7220},[6995,70806,70807],{"class":7006},"      \"sendCurrencyName\"",[6995,70809,7024],{"class":7000},[6995,70811,70812],{"class":7012},"\"SHEKELb\"\n",[6995,70814,70815],{"class":244,"line":7226},[6995,70816,21500],{"class":7000},[6995,70818,70819],{"class":244,"line":7238},[6995,70820,7537],{"class":7000},[6995,70822,70823,70825,70827,70830],{"class":244,"line":7250},[6995,70824,21555],{"class":7006},[6995,70826,7024],{"class":7000},[6995,70828,70829],{"class":7006},"1667219060",[6995,70831,7030],{"class":7000},[6995,70833,70834,70836,70838,70841],{"class":244,"line":7263},[6995,70835,70717],{"class":7006},[6995,70837,7024],{"class":7000},[6995,70839,70840],{"class":7006},"1667240660",[6995,70842,7030],{"class":7000},[6995,70844,70845,70847,70849,70852],{"class":244,"line":7275},[6995,70846,12663],{"class":7006},[6995,70848,7024],{"class":7000},[6995,70850,70851],{"class":7012},"\"bf98b6e8a9fa49de939facfe5faad899\"",[6995,70853,7030],{"class":7000},[6995,70855,70856,70858,70860,70862],{"class":244,"line":7288},[6995,70857,70740],{"class":7006},[6995,70859,7024],{"class":7000},[6995,70861,11094],{"class":7006},[6995,70863,7030],{"class":7000},[6995,70865,70866,70868,70870,70872],{"class":244,"line":7300},[6995,70867,70751],{"class":7006},[6995,70869,7024],{"class":7000},[6995,70871,9597],{"class":7006},[6995,70873,7030],{"class":7000},[6995,70875,70876,70878,70880,70882],{"class":244,"line":7313},[6995,70877,70762],{"class":7006},[6995,70879,7024],{"class":7000},[6995,70881,7180],{"class":7006},[6995,70883,7030],{"class":7000},[6995,70885,70886,70888,70890,70892],{"class":244,"line":7325},[6995,70887,70773],{"class":7006},[6995,70889,7024],{"class":7000},[6995,70891,70778],{"class":7012},[6995,70893,7030],{"class":7000},[6995,70895,70896,70898,70900,70902],{"class":244,"line":7336},[6995,70897,70785],{"class":7006},[6995,70899,7024],{"class":7000},[6995,70901,9597],{"class":7006},[6995,70903,7030],{"class":7000},[6995,70905,70906,70908,70910,70912],{"class":244,"line":7342},[6995,70907,70796],{"class":7006},[6995,70909,7024],{"class":7000},[6995,70911,7511],{"class":7006},[6995,70913,7030],{"class":7000},[6995,70915,70916,70918,70920],{"class":244,"line":7347},[6995,70917,70807],{"class":7006},[6995,70919,7024],{"class":7000},[6995,70921,70812],{"class":7012},[6995,70923,70924],{"class":244,"line":7363},[6995,70925,7615],{"class":7000},[6995,70927,70928],{"class":244,"line":7375},[6995,70929,23275],{"class":7000},[6995,70931,70932],{"class":244,"line":7387},[6995,70933,7047],{"class":7000},[41,70935,58956],{"id":58956},[34,70937,70938],{},"Create asset swap offer",[34,70940,70941],{},[611,70942,6986],{},[616,70944,70946],{"className":6989,"code":70945,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\" : \"2.0\",\n    \"id\" : 1,\n    \"method\" : \"assets_swap_create\",\n    \"params\": {\n        \"send_amount\": 100000000,\n        \"send_asset_id\": 5,\n        \"receive_amount\": 100000000,\n        \"receive_asset_id\": 0,\n        \"minutes_before_expire\": 30,\n        \"comment\": \"api1\"\n    }\n}\n",[611,70947,70948,70952,70962,70972,70983,70989,71000,71011,71022,71033,71044,71053,71057],{"__ignoreMap":14},[6995,70949,70950],{"class":244,"line":6997},[6995,70951,7001],{"class":7000},[6995,70953,70954,70956,70958,70960],{"class":244,"line":15},[6995,70955,7007],{"class":7006},[6995,70957,7746],{"class":7000},[6995,70959,7013],{"class":7012},[6995,70961,7030],{"class":7000},[6995,70963,70964,70966,70968,70970],{"class":244,"line":154},[6995,70965,7021],{"class":7006},[6995,70967,7746],{"class":7000},[6995,70969,6679],{"class":7006},[6995,70971,7030],{"class":7000},[6995,70973,70974,70976,70978,70981],{"class":244,"line":7033},[6995,70975,7036],{"class":7006},[6995,70977,7746],{"class":7000},[6995,70979,70980],{"class":7012},"\"assets_swap_create\"",[6995,70982,7030],{"class":7000},[6995,70984,70985,70987],{"class":244,"line":7044},[6995,70986,7529],{"class":7006},[6995,70988,7092],{"class":7000},[6995,70990,70991,70994,70996,70998],{"class":244,"line":7107},[6995,70992,70993],{"class":7006},"        \"send_amount\"",[6995,70995,7024],{"class":7000},[6995,70997,9597],{"class":7006},[6995,70999,7030],{"class":7000},[6995,71001,71002,71005,71007,71009],{"class":244,"line":7120},[6995,71003,71004],{"class":7006},"        \"send_asset_id\"",[6995,71006,7024],{"class":7000},[6995,71008,14095],{"class":7006},[6995,71010,7030],{"class":7000},[6995,71012,71013,71016,71018,71020],{"class":244,"line":7133},[6995,71014,71015],{"class":7006},"        \"receive_amount\"",[6995,71017,7024],{"class":7000},[6995,71019,9597],{"class":7006},[6995,71021,7030],{"class":7000},[6995,71023,71024,71027,71029,71031],{"class":244,"line":7146},[6995,71025,71026],{"class":7006},"        \"receive_asset_id\"",[6995,71028,7024],{"class":7000},[6995,71030,7180],{"class":7006},[6995,71032,7030],{"class":7000},[6995,71034,71035,71038,71040,71042],{"class":244,"line":7159},[6995,71036,71037],{"class":7006},"        \"minutes_before_expire\"",[6995,71039,7024],{"class":7000},[6995,71041,7206],{"class":7006},[6995,71043,7030],{"class":7000},[6995,71045,71046,71048,71050],{"class":244,"line":7172},[6995,71047,7588],{"class":7006},[6995,71049,7024],{"class":7000},[6995,71051,71052],{"class":7012},"\"api1\"\n",[6995,71054,71055],{"class":244,"line":7185},[6995,71056,7615],{"class":7000},[6995,71058,71059],{"class":244,"line":7198},[6995,71060,7047],{"class":7000},[34,71062,71063],{},[611,71064,7052],{},[616,71066,71068],{"className":6989,"code":71067,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1,\n  \"jsonrpc\": \"2.0\",\n  \"offer\": {\n    \"create_time\": 1667219348,\n    \"expire_time\": 1667221148,\n    \"id\": \"dce8c04152e14e71a13d81242158a94e\",\n    \"isMy\": true,\n    \"receiveAmount\": 100000000,\n    \"receiveAssetId\": 0,\n    \"receiveCurrencyName\": \"BEAM\",\n    \"sendAmount\": 100000000,\n    \"sendAssetId\": 5,\n    \"sendCurrencyName\": \"DEMOX\"\n  }\n}\n",[611,71069,71070,71074,71084,71094,71101,71113,71125,71136,71147,71158,71169,71180,71191,71202,71212,71216],{"__ignoreMap":14},[6995,71071,71072],{"class":244,"line":6997},[6995,71073,7001],{"class":7000},[6995,71075,71076,71078,71080,71082],{"class":244,"line":15},[6995,71077,7066],{"class":7006},[6995,71079,7024],{"class":7000},[6995,71081,6679],{"class":7006},[6995,71083,7030],{"class":7000},[6995,71085,71086,71088,71090,71092],{"class":244,"line":154},[6995,71087,7078],{"class":7006},[6995,71089,7024],{"class":7000},[6995,71091,7013],{"class":7012},[6995,71093,7030],{"class":7000},[6995,71095,71096,71099],{"class":244,"line":7033},[6995,71097,71098],{"class":7006},"  \"offer\"",[6995,71100,7092],{"class":7000},[6995,71102,71103,71106,71108,71111],{"class":244,"line":7044},[6995,71104,71105],{"class":7006},"    \"create_time\"",[6995,71107,7024],{"class":7000},[6995,71109,71110],{"class":7006},"1667219348",[6995,71112,7030],{"class":7000},[6995,71114,71115,71118,71120,71123],{"class":244,"line":7107},[6995,71116,71117],{"class":7006},"    \"expire_time\"",[6995,71119,7024],{"class":7000},[6995,71121,71122],{"class":7006},"1667221148",[6995,71124,7030],{"class":7000},[6995,71126,71127,71129,71131,71134],{"class":244,"line":7120},[6995,71128,7021],{"class":7006},[6995,71130,7024],{"class":7000},[6995,71132,71133],{"class":7012},"\"dce8c04152e14e71a13d81242158a94e\"",[6995,71135,7030],{"class":7000},[6995,71137,71138,71141,71143,71145],{"class":244,"line":7133},[6995,71139,71140],{"class":7006},"    \"isMy\"",[6995,71142,7024],{"class":7000},[6995,71144,8689],{"class":7006},[6995,71146,7030],{"class":7000},[6995,71148,71149,71152,71154,71156],{"class":244,"line":7146},[6995,71150,71151],{"class":7006},"    \"receiveAmount\"",[6995,71153,7024],{"class":7000},[6995,71155,9597],{"class":7006},[6995,71157,7030],{"class":7000},[6995,71159,71160,71163,71165,71167],{"class":244,"line":7159},[6995,71161,71162],{"class":7006},"    \"receiveAssetId\"",[6995,71164,7024],{"class":7000},[6995,71166,7180],{"class":7006},[6995,71168,7030],{"class":7000},[6995,71170,71171,71174,71176,71178],{"class":244,"line":7172},[6995,71172,71173],{"class":7006},"    \"receiveCurrencyName\"",[6995,71175,7024],{"class":7000},[6995,71177,70778],{"class":7012},[6995,71179,7030],{"class":7000},[6995,71181,71182,71185,71187,71189],{"class":244,"line":7185},[6995,71183,71184],{"class":7006},"    \"sendAmount\"",[6995,71186,7024],{"class":7000},[6995,71188,9597],{"class":7006},[6995,71190,7030],{"class":7000},[6995,71192,71193,71196,71198,71200],{"class":244,"line":7198},[6995,71194,71195],{"class":7006},"    \"sendAssetId\"",[6995,71197,7024],{"class":7000},[6995,71199,14095],{"class":7006},[6995,71201,7030],{"class":7000},[6995,71203,71204,71207,71209],{"class":244,"line":7211},[6995,71205,71206],{"class":7006},"    \"sendCurrencyName\"",[6995,71208,7024],{"class":7000},[6995,71210,71211],{"class":7012},"\"DEMOX\"\n",[6995,71213,71214],{"class":244,"line":7220},[6995,71215,7467],{"class":7000},[6995,71217,71218],{"class":244,"line":7226},[6995,71219,7047],{"class":7000},[41,71221,58962],{"id":58962},[34,71223,71224],{},"Cancel own asset swap offer",[34,71226,71227],{},[611,71228,6986],{},[616,71230,71232],{"className":6989,"code":71231,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\" : \"2.0\",\n    \"id\" : 1,\n    \"method\" : \"assets_swap_cancel\",\n    \"params\": {\n        \"offer_id\": \"dce8c04152e14e71a13d81242158a94e\"\n    }\n}\n",[611,71233,71234,71238,71248,71258,71269,71275,71285,71289],{"__ignoreMap":14},[6995,71235,71236],{"class":244,"line":6997},[6995,71237,7001],{"class":7000},[6995,71239,71240,71242,71244,71246],{"class":244,"line":15},[6995,71241,7007],{"class":7006},[6995,71243,7746],{"class":7000},[6995,71245,7013],{"class":7012},[6995,71247,7030],{"class":7000},[6995,71249,71250,71252,71254,71256],{"class":244,"line":154},[6995,71251,7021],{"class":7006},[6995,71253,7746],{"class":7000},[6995,71255,6679],{"class":7006},[6995,71257,7030],{"class":7000},[6995,71259,71260,71262,71264,71267],{"class":244,"line":7033},[6995,71261,7036],{"class":7006},[6995,71263,7746],{"class":7000},[6995,71265,71266],{"class":7012},"\"assets_swap_cancel\"",[6995,71268,7030],{"class":7000},[6995,71270,71271,71273],{"class":244,"line":7044},[6995,71272,7529],{"class":7006},[6995,71274,7092],{"class":7000},[6995,71276,71277,71280,71282],{"class":244,"line":7107},[6995,71278,71279],{"class":7006},"        \"offer_id\"",[6995,71281,7024],{"class":7000},[6995,71283,71284],{"class":7012},"\"dce8c04152e14e71a13d81242158a94e\"\n",[6995,71286,71287],{"class":244,"line":7120},[6995,71288,7615],{"class":7000},[6995,71290,71291],{"class":244,"line":7133},[6995,71292,7047],{"class":7000},[34,71294,71295],{},[611,71296,7052],{},[616,71298,71300],{"className":6989,"code":71299,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1,\n  \"jsonrpc\": \"2.0\",\n  \"offer\": \"dce8c04152e14e71a13d81242158a94e\"\n}\n",[611,71301,71302,71306,71316,71326,71334],{"__ignoreMap":14},[6995,71303,71304],{"class":244,"line":6997},[6995,71305,7001],{"class":7000},[6995,71307,71308,71310,71312,71314],{"class":244,"line":15},[6995,71309,7066],{"class":7006},[6995,71311,7024],{"class":7000},[6995,71313,6679],{"class":7006},[6995,71315,7030],{"class":7000},[6995,71317,71318,71320,71322,71324],{"class":244,"line":154},[6995,71319,7078],{"class":7006},[6995,71321,7024],{"class":7000},[6995,71323,7013],{"class":7012},[6995,71325,7030],{"class":7000},[6995,71327,71328,71330,71332],{"class":244,"line":7033},[6995,71329,71098],{"class":7006},[6995,71331,7024],{"class":7000},[6995,71333,71284],{"class":7012},[6995,71335,71336],{"class":244,"line":7044},[6995,71337,7047],{"class":7000},[41,71339,58968],{"id":58968},[34,71341,71342],{},"Accept asset swap offer",[34,71344,71345],{},[611,71346,6986],{},[616,71348,71350],{"className":6989,"code":71349,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\" : \"2.0\",\n    \"id\" : 1,\n    \"method\" : \"assets_swap_accept\",\n    \"params\": {\n        \"offer_id\": \"1ae40a6c80d54cc4b3653ab2c478c328\"\n    }\n}\n",[611,71351,71352,71356,71366,71376,71387,71393,71402,71406],{"__ignoreMap":14},[6995,71353,71354],{"class":244,"line":6997},[6995,71355,7001],{"class":7000},[6995,71357,71358,71360,71362,71364],{"class":244,"line":15},[6995,71359,7007],{"class":7006},[6995,71361,7746],{"class":7000},[6995,71363,7013],{"class":7012},[6995,71365,7030],{"class":7000},[6995,71367,71368,71370,71372,71374],{"class":244,"line":154},[6995,71369,7021],{"class":7006},[6995,71371,7746],{"class":7000},[6995,71373,6679],{"class":7006},[6995,71375,7030],{"class":7000},[6995,71377,71378,71380,71382,71385],{"class":244,"line":7033},[6995,71379,7036],{"class":7006},[6995,71381,7746],{"class":7000},[6995,71383,71384],{"class":7012},"\"assets_swap_accept\"",[6995,71386,7030],{"class":7000},[6995,71388,71389,71391],{"class":244,"line":7044},[6995,71390,7529],{"class":7006},[6995,71392,7092],{"class":7000},[6995,71394,71395,71397,71399],{"class":244,"line":7107},[6995,71396,71279],{"class":7006},[6995,71398,7024],{"class":7000},[6995,71400,71401],{"class":7012},"\"1ae40a6c80d54cc4b3653ab2c478c328\"\n",[6995,71403,71404],{"class":244,"line":7120},[6995,71405,7615],{"class":7000},[6995,71407,71408],{"class":244,"line":7133},[6995,71409,7047],{"class":7000},[34,71411,71412],{},[611,71413,7052],{},[616,71415,71417],{"className":6989,"code":71416,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1,\n  \"jsonrpc\": \"2.0\",\n  \"offer\": {\n    \"create_time\": 1667219066,\n    \"expire_time\": 1667240666,\n    \"id\": \"1ae40a6c80d54cc4b3653ab2c478c328\",\n    \"isMy\": false,\n    \"receiveAmount\": 200000000,\n    \"receiveAssetId\": 0,\n    \"receiveCurrencyName\": \"BEAM\",\n    \"sendAmount\": 200000000,\n    \"sendAssetId\": 2,\n    \"sendCurrencyName\": \"SHEKELb\"\n  },\n  \"tx_id\": \"71552f2092e64665a7b8dbdcdf9f3ca2\"\n}\n",[611,71418,71419,71423,71433,71443,71449,71459,71469,71479,71489,71499,71509,71519,71529,71539,71547,71551,71561],{"__ignoreMap":14},[6995,71420,71421],{"class":244,"line":6997},[6995,71422,7001],{"class":7000},[6995,71424,71425,71427,71429,71431],{"class":244,"line":15},[6995,71426,7066],{"class":7006},[6995,71428,7024],{"class":7000},[6995,71430,6679],{"class":7006},[6995,71432,7030],{"class":7000},[6995,71434,71435,71437,71439,71441],{"class":244,"line":154},[6995,71436,7078],{"class":7006},[6995,71438,7024],{"class":7000},[6995,71440,7013],{"class":7012},[6995,71442,7030],{"class":7000},[6995,71444,71445,71447],{"class":244,"line":7033},[6995,71446,71098],{"class":7006},[6995,71448,7092],{"class":7000},[6995,71450,71451,71453,71455,71457],{"class":244,"line":7044},[6995,71452,71105],{"class":7006},[6995,71454,7024],{"class":7000},[6995,71456,70710],{"class":7006},[6995,71458,7030],{"class":7000},[6995,71460,71461,71463,71465,71467],{"class":244,"line":7107},[6995,71462,71117],{"class":7006},[6995,71464,7024],{"class":7000},[6995,71466,70722],{"class":7006},[6995,71468,7030],{"class":7000},[6995,71470,71471,71473,71475,71477],{"class":244,"line":7120},[6995,71472,7021],{"class":7006},[6995,71474,7024],{"class":7000},[6995,71476,70733],{"class":7012},[6995,71478,7030],{"class":7000},[6995,71480,71481,71483,71485,71487],{"class":244,"line":7133},[6995,71482,71140],{"class":7006},[6995,71484,7024],{"class":7000},[6995,71486,11094],{"class":7006},[6995,71488,7030],{"class":7000},[6995,71490,71491,71493,71495,71497],{"class":244,"line":7146},[6995,71492,71151],{"class":7006},[6995,71494,7024],{"class":7000},[6995,71496,38820],{"class":7006},[6995,71498,7030],{"class":7000},[6995,71500,71501,71503,71505,71507],{"class":244,"line":7159},[6995,71502,71162],{"class":7006},[6995,71504,7024],{"class":7000},[6995,71506,7180],{"class":7006},[6995,71508,7030],{"class":7000},[6995,71510,71511,71513,71515,71517],{"class":244,"line":7172},[6995,71512,71173],{"class":7006},[6995,71514,7024],{"class":7000},[6995,71516,70778],{"class":7012},[6995,71518,7030],{"class":7000},[6995,71520,71521,71523,71525,71527],{"class":244,"line":7185},[6995,71522,71184],{"class":7006},[6995,71524,7024],{"class":7000},[6995,71526,38820],{"class":7006},[6995,71528,7030],{"class":7000},[6995,71530,71531,71533,71535,71537],{"class":244,"line":7198},[6995,71532,71195],{"class":7006},[6995,71534,7024],{"class":7000},[6995,71536,7511],{"class":7006},[6995,71538,7030],{"class":7000},[6995,71540,71541,71543,71545],{"class":244,"line":7211},[6995,71542,71206],{"class":7006},[6995,71544,7024],{"class":7000},[6995,71546,70812],{"class":7012},[6995,71548,71549],{"class":244,"line":7220},[6995,71550,13125],{"class":7000},[6995,71552,71553,71556,71558],{"class":244,"line":7226},[6995,71554,71555],{"class":7006},"  \"tx_id\"",[6995,71557,7024],{"class":7000},[6995,71559,71560],{"class":7012},"\"71552f2092e64665a7b8dbdcdf9f3ca2\"\n",[6995,71562,71563],{"class":244,"line":7238},[6995,71564,7047],{"class":7000},[8692,71566,14042],{},{"title":14,"searchDepth":15,"depth":15,"links":71568},[71569,71572,71573,71579,71580,71581,71582,71583,71586,71587,71588,71589,71590,71591,71592,71593,71594,71595,71596,71601,71602,71603,71604,71605,71606,71607,71612,71613,71614,71615,71616,71617,71618,71619,71620,71621,71622,71623,71624,71625,71626,71627,71628,71629,71630,71631,71632,71633,71634,71635],{"id":58933,"depth":15,"text":58934,"children":71570},[71571],{"id":25463,"depth":154,"text":25464},{"id":18076,"depth":15,"text":18077},{"id":18219,"depth":15,"text":18220,"children":71574},[71575,71576,71577,71578],{"id":35560,"depth":154,"text":35561},{"id":35742,"depth":154,"text":35743},{"id":59267,"depth":154,"text":59268},{"id":59280,"depth":154,"text":59281},{"id":32868,"depth":15,"text":35809},{"id":24476,"depth":15,"text":24477},{"id":12194,"depth":15,"text":12194},{"id":11852,"depth":15,"text":11852},{"id":18255,"depth":15,"text":18255,"children":71584},[71585],{"id":19226,"depth":154,"text":8763},{"id":18239,"depth":15,"text":18239},{"id":18247,"depth":15,"text":18247},{"id":6905,"depth":15,"text":6905},{"id":6910,"depth":15,"text":6910},{"id":6920,"depth":15,"text":6920},{"id":6925,"depth":15,"text":6925},{"id":6930,"depth":15,"text":6930},{"id":18306,"depth":15,"text":18306},{"id":18314,"depth":15,"text":18314},{"id":18293,"depth":15,"text":18293},{"id":18327,"depth":15,"text":18327,"children":71597},[71598,71599,71600],{"id":21955,"depth":154,"text":21956},{"id":21959,"depth":154,"text":21960},{"id":22039,"depth":154,"text":22040},{"id":6900,"depth":15,"text":6900},{"id":18014,"depth":15,"text":18014},{"id":6935,"depth":15,"text":6935},{"id":18340,"depth":15,"text":18340},{"id":18348,"depth":15,"text":18348},{"id":18356,"depth":15,"text":18356},{"id":18385,"depth":15,"text":18385,"children":71608},[71609,71610,71611],{"id":24483,"depth":154,"text":24484},{"id":24490,"depth":154,"text":24491},{"id":31749,"depth":154,"text":31750},{"id":18396,"depth":15,"text":18396},{"id":6940,"depth":15,"text":6940},{"id":18406,"depth":15,"text":18406},{"id":25472,"depth":15,"text":25472},{"id":35407,"depth":15,"text":35407},{"id":35417,"depth":15,"text":35417},{"id":35427,"depth":15,"text":35427},{"id":35437,"depth":15,"text":35437},{"id":35447,"depth":15,"text":35447},{"id":35457,"depth":15,"text":35457},{"id":25480,"depth":15,"text":25480},{"id":25551,"depth":15,"text":25551},{"id":25559,"depth":15,"text":25559},{"id":25567,"depth":15,"text":25567},{"id":25575,"depth":15,"text":25575},{"id":25581,"depth":15,"text":25581},{"id":25587,"depth":15,"text":25587},{"id":35467,"depth":15,"text":35467},{"id":35475,"depth":15,"text":35475},{"id":47235,"depth":15,"text":47235},{"id":58950,"depth":15,"text":58950},{"id":58956,"depth":15,"text":58956},{"id":58962,"depth":15,"text":58962},{"id":58968,"depth":15,"text":58968},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v7.2",{"description":14},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.2","qenjx3PZHQH0wDbQ_EKOaX5CDx-IKwFMrwRaizZiE7w",{"id":71642,"title":71643,"body":71644,"description":14,"extension":17,"image":18,"meta":84275,"navTitle":18,"navigation":20,"path":84276,"seo":84277,"stem":84278,"__hash__":84279},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.3.md","Beam Wallet Protocol API V73",{"type":8,"value":71645,"toc":84206},[71646,71650,71652,71662,71664,71666,71718,71720,71722,71906,71908,71958,71960,71969,71971,71977,71995,71997,72003,72043,72097,72099,72101,72103,72105,72109,72203,72298,72320,72324,72364,72366,72370,72374,72438,72442,72526,72540,72542,72544,72548,72612,72622,72626,72790,72830,72832,72840,72842,72844,72848,72912,72916,72956,72958,72966,72970,73054,73058,73098,73100,73102,73106,73230,73278,73284,73288,73342,73346,73348,73350,73354,73358,73454,73458,73512,73534,73536,73540,73544,73548,73622,73644,73650,73654,73708,73712,73714,73718,73722,73726,73800,73822,73828,73832,73886,73890,73892,73896,73900,73904,73968,73982,73984,73988,74042,74046,74048,74050,74054,74118,74124,74128,74168,74174,74176,74178,74182,74246,74252,74256,74296,74302,74304,74308,74312,74386,74400,74404,74628,74630,74632,74636,74754,74780,74784,74792,74796,75442,75548,75550,75552,75602,75604,75624,75628,75630,75632,75636,75676,75680,75826,75856,75860,75864,75924,75930,75934,76678,76770,76780,76796,76798,76800,76804,76908,76928,76932,77066,77078,77082,77162,77166,77304,77340,77342,77346,77350,77414,77424,77428,77640,77644,77703,77705,77707,77711,77751,77755,77795,77797,77801,77805,77869,77873,77927,77935,77939,77941,77945,77949,78013,78017,78121,78147,78151,78153,78155,78157,78161,78243,78245,78249,78323,78349,78355,78359,78493,78509,78511,78513,78515,78521,78525,78595,78599,78665,78667,78673,78687,78689,78691,78695,78765,78773,78777,78827,78833,78835,78839,78843,78937,78941,79045,79047,79087,79089,79091,79095,79159,79165,79169,79323,79369,79371,79373,79377,79417,79421,79551,79564,79566,79568,79572,79664,79682,79686,79750,79760,79762,79764,79768,79850,79860,79864,79918,79924,79926,79928,79932,80006,80016,80020,80094,80104,80106,80110,80114,80188,80198,80202,80256,80262,80264,80268,80272,80336,80342,80346,80400,80406,80408,80410,80414,80478,80484,80488,80542,80548,80550,80552,80556,80666,80670,80710,80718,80720,80722,80728,80730,80734,80884,80900,80904,81054,81060,81064,81404,81418,81420,81422,81426,81556,81558,81560,81564,81888,81902,81904,81908,81910,81914,82010,82026,82028,82032,82278,82294,82296,82300,82304,82472,82488,82490,82492,82496,82760,82776,82778,82780,82784,82846,82864,82866,82868,82872,82946,82956,82960,83014,83020,83022,83024,83028,83112,83126,83130,83170,83172,83174,83178,83244,83250,83254,83304,83306,83308,83312,83352,83356,83610,83612,83614,83618,83728,83732,83872,83874,83876,83880,83940,83944,83984,83986,83988,83992,84052,84056,84204],[41,71647,71649],{"id":71648},"whats-new-in-v73","What's new in v7.3",[48,71651,25486],{"id":25485},[852,71653,71654],{},[59,71655,71656,71658,71659],{},[175,71657,12194],{"href":18230}," added new parameter ",[611,71660,71661],{},"use_default_signature",[41,71663,18077],{"id":18076},[34,71665,18080],{},[852,71667,71668,71670,71672,71674,71676,71678,71680,71682,71684,71686,71688,71690,71692,71694,71696,71698,71700,71702,71704,71706,71708,71710,71712,71714,71716],{},[59,71669,18085],{},[59,71671,18088],{},[59,71673,18091],{},[59,71675,18094],{},[59,71677,18097],{},[59,71679,18100],{},[59,71681,18103],{},[59,71683,25612],{},[59,71685,18168],{},[59,71687,18171],{},[59,71689,18174],{},[59,71691,18177],{},[59,71693,18180],{},[59,71695,18183],{},[59,71697,18186],{},[59,71699,18189],{},[59,71701,18192],{},[59,71703,18195],{},[59,71705,18198],{},[59,71707,18201],{},[59,71709,18204],{},[59,71711,18207],{},[59,71713,18210],{},[59,71715,18213],{},[59,71717,18216],{},[41,71719,18220],{"id":18219},[48,71721,35561],{"id":35560},[852,71723,71724,71730,71736,71742,71748,71754,71760,71764,71768,71774,71780,71784,71790,71796,71800,71806,71812,71818,71824,71830,71836,71840,71846,71854,71862,71870,71876,71882,71888,71894,71900],{},[59,71725,71726,98,71728],{},[175,71727,12194],{"href":18230},[241,71729],{"alt":14,"src":18233},[59,71731,71732,98,71734],{},[175,71733,18239],{"href":18238},[241,71735],{"alt":14,"src":18233},[59,71737,71738,98,71740],{},[175,71739,18247],{"href":18246},[241,71741],{"alt":14,"src":18233},[59,71743,71744,98,71746],{},[175,71745,18255],{"href":18254},[241,71747],{"alt":14,"src":18233},[59,71749,71750,98,71752],{},[175,71751,11852],{"href":18262},[241,71753],{"alt":14,"src":18233},[59,71755,71756,98,71758],{},[175,71757,6905],{"href":18269},[241,71759],{"alt":14,"src":18233},[59,71761,71762],{},[175,71763,6920],{"href":18276},[59,71765,71766],{},[175,71767,6925],{"href":18281},[59,71769,71770,98,71772],{},[175,71771,6930],{"href":8044},[241,71773],{"alt":14,"src":18233},[59,71775,71776,98,71778],{},[175,71777,18293],{"href":18292},[241,71779],{"alt":14,"src":18233},[59,71781,71782],{},[175,71783,6910],{"href":18300},[59,71785,71786,98,71788],{},[175,71787,18306],{"href":18305},[241,71789],{"alt":14,"src":18233},[59,71791,71792,98,71794],{},[175,71793,18314],{"href":18313},[241,71795],{"alt":14,"src":18233},[59,71797,71798],{},[175,71799,18014],{"href":18321},[59,71801,71802,98,71804],{},[175,71803,18327],{"href":18326},[241,71805],{"alt":14,"src":18233},[59,71807,71808,98,71810],{},[175,71809,6900],{"href":18334},[241,71811],{"alt":14,"src":18233},[59,71813,71814,98,71816],{},[175,71815,18340],{"href":18339},[241,71817],{"alt":14,"src":18233},[59,71819,71820,98,71822],{},[175,71821,18348],{"href":18347},[241,71823],{"alt":14,"src":18233},[59,71825,71826,98,71828],{},[175,71827,18356],{"href":18355},[241,71829],{"alt":14,"src":18233},[59,71831,71832,98,71834],{},[175,71833,6935],{"href":18363},[241,71835],{"alt":14,"src":18233},[59,71837,71838],{},[175,71839,18371],{"href":18370},[59,71841,71842,98,71844],{},[175,71843,18377],{"href":18376},[241,71845],{"alt":14,"src":18233},[59,71847,71848,98,71850,71852],{},[175,71849,18385],{"href":18384},[241,71851],{"alt":14,"src":18233},[241,71853],{"alt":14,"src":25783},[59,71855,71856,98,71858,71860],{},[175,71857,18396],{"href":18395},[241,71859],{"alt":14,"src":18233},[241,71861],{"alt":14,"src":25783},[59,71863,71864,98,71866,71868],{},[175,71865,18406],{"href":18405},[241,71867],{"alt":14,"src":18233},[241,71869],{"alt":14,"src":25783},[59,71871,71872,98,71874],{},[175,71873,6940],{"href":18415},[241,71875],{"alt":14,"src":18233},[59,71877,71878,98,71880],{},[175,71879,25472],{"href":25471},[241,71881],{"alt":14,"src":18233},[59,71883,71884,98,71886],{},[175,71885,25480],{"href":25479},[241,71887],{"alt":14,"src":18233},[59,71889,71890,98,71892],{},[175,71891,35467],{"href":35466},[241,71893],{"alt":14,"src":18233},[59,71895,71896,98,71898],{},[175,71897,35475],{"href":35474},[241,71899],{"alt":14,"src":18233},[59,71901,71902,98,71904],{},[175,71903,47235],{"href":47234},[241,71905],{"alt":14,"src":18233},[48,71907,35743],{"id":35742},[852,71909,71910,71918,71926,71934,71942,71950],{},[59,71911,71912,98,71914,71916],{},[175,71913,35407],{"href":35406},[241,71915],{"alt":14,"src":18233},[241,71917],{"alt":14,"src":25783},[59,71919,71920,98,71922,71924],{},[175,71921,35417],{"href":35416},[241,71923],{"alt":14,"src":18233},[241,71925],{"alt":14,"src":25783},[59,71927,71928,98,71930,71932],{},[175,71929,35427],{"href":35426},[241,71931],{"alt":14,"src":18233},[241,71933],{"alt":14,"src":25783},[59,71935,71936,98,71938,71940],{},[175,71937,35437],{"href":35436},[241,71939],{"alt":14,"src":18233},[241,71941],{"alt":14,"src":25783},[59,71943,71944,98,71946,71948],{},[175,71945,35447],{"href":35446},[241,71947],{"alt":14,"src":18233},[241,71949],{"alt":14,"src":25783},[59,71951,71952,98,71954,71956],{},[175,71953,35457],{"href":35456},[241,71955],{"alt":14,"src":18233},[241,71957],{"alt":14,"src":25783},[48,71959,59268],{"id":59267},[34,71961,18424,71962,18427,71964,18431,71966,181],{},[611,71963,6883],{},[611,71965,18430],{},[175,71967,18436],{"href":18434,"rel":71968},[179],[48,71970,59281],{"id":59280},[34,71972,71973,59286,71975,59289],{},[611,71974,6883],{},[611,71976,4979],{},[852,71978,71979,71983,71987,71991],{},[59,71980,71981],{},[175,71982,58950],{"href":58949},[59,71984,71985],{},[175,71986,58956],{"href":58955},[59,71988,71989],{},[175,71990,58962],{"href":58961},[59,71992,71993],{},[175,71994,58968],{"href":58967},[41,71996,35809],{"id":32868},[34,71998,35812,71999,35815,72001,32909],{},[175,72000,25480],{"href":25479},[611,72002,32908],{},[852,72004,72005,72035,72041],{},[59,72006,72007,32916,72009],{},[611,72008,8665],{},[852,72010,72011,72017,72023,72029],{},[59,72012,72013,2231,72015,32926],{},[611,72014,7180],{},[611,72016,32925],{},[59,72018,72019,2231,72021,32934],{},[611,72020,6679],{},[611,72022,32933],{},[59,72024,72025,2231,72027,32942],{},[611,72026,7511],{},[611,72028,32941],{},[59,72030,72031,2231,72033,32950],{},[611,72032,11136],{},[611,72034,32949],{},[59,72036,72037,32956,72039,32959],{},[611,72038,35854],{},[611,72040,8665],{},[59,72042,32962],{},[852,72044,72045,72053,72061,72069,72075,72081,72089],{},[59,72046,72047,98,72049,72051],{},[175,72048,25551],{"href":25550},[241,72050],{"alt":14,"src":18233},[241,72052],{"alt":14,"src":25783},[59,72054,72055,98,72057,72059],{},[175,72056,25559],{"href":25558},[241,72058],{"alt":14,"src":18233},[241,72060],{"alt":14,"src":25783},[59,72062,72063,98,72065,72067],{},[175,72064,25567],{"href":25566},[241,72066],{"alt":14,"src":18233},[241,72068],{"alt":14,"src":25783},[59,72070,72071,98,72073],{},[175,72072,25575],{"href":25574},[241,72074],{"alt":14,"src":25783},[59,72076,72077,98,72079],{},[175,72078,25581],{"href":25580},[241,72080],{"alt":14,"src":25783},[59,72082,72083,98,72085,72087],{},[175,72084,25587],{"href":25586},[241,72086],{"alt":14,"src":18233},[241,72088],{"alt":14,"src":25783},[59,72090,72091,98,72093,72095],{},[175,72092,35314],{"href":35313},[241,72094],{"alt":14,"src":18233},[241,72096],{"alt":14,"src":25783},[41,72098,24477],{"id":24476},[34,72100,35917],{},[41,72102,12194],{"id":12194},[34,72104,18441],{},[34,72106,72107],{},[611,72108,6986],{},[616,72110,72111],{"className":6989,"code":18448,"language":6991,"meta":14,"style":14},[611,72112,72113,72117,72127,72137,72147,72153,72157,72167,72177,72187,72195,72199],{"__ignoreMap":14},[6995,72114,72115],{"class":244,"line":6997},[6995,72116,7001],{"class":7000},[6995,72118,72119,72121,72123,72125],{"class":244,"line":15},[6995,72120,7007],{"class":7006},[6995,72122,7024],{"class":7000},[6995,72124,7013],{"class":7012},[6995,72126,7016],{"class":7000},[6995,72128,72129,72131,72133,72135],{"class":244,"line":154},[6995,72130,7021],{"class":7006},[6995,72132,7024],{"class":7000},[6995,72134,6679],{"class":7006},[6995,72136,7030],{"class":7000},[6995,72138,72139,72141,72143,72145],{"class":244,"line":7033},[6995,72140,7036],{"class":7006},[6995,72142,7024],{"class":7000},[6995,72144,12237],{"class":7012},[6995,72146,7016],{"class":7000},[6995,72148,72149,72151],{"class":244,"line":7044},[6995,72150,7529],{"class":7006},[6995,72152,7532],{"class":7000},[6995,72154,72155],{"class":244,"line":7107},[6995,72156,7537],{"class":7000},[6995,72158,72159,72161,72163,72165],{"class":244,"line":7120},[6995,72160,11924],{"class":7006},[6995,72162,7024],{"class":7000},[6995,72164,12303],{"class":7012},[6995,72166,7030],{"class":7000},[6995,72168,72169,72171,72173,72175],{"class":244,"line":7133},[6995,72170,12268],{"class":7006},[6995,72172,7024],{"class":7000},[6995,72174,12273],{"class":7012},[6995,72176,7030],{"class":7000},[6995,72178,72179,72181,72183,72185],{"class":244,"line":7146},[6995,72180,7588],{"class":7006},[6995,72182,7024],{"class":7000},[6995,72184,18523],{"class":7012},[6995,72186,7030],{"class":7000},[6995,72188,72189,72191,72193],{"class":244,"line":7159},[6995,72190,18530],{"class":7006},[6995,72192,7746],{"class":7000},[6995,72194,8505],{"class":7006},[6995,72196,72197],{"class":244,"line":7172},[6995,72198,7615],{"class":7000},[6995,72200,72201],{"class":244,"line":7185},[6995,72202,7047],{"class":7000},[852,72204,72205,72240,72260,72264,72278,72288],{},[59,72206,72207,11963,72209,72231,18578,72233,18584,72236,18587,72238],{},[611,72208,11962],{},[852,72210,72211,72215,72219,72223,72227],{},[59,72212,72213,18555],{},[611,72214,11803],{},[59,72216,72217,18560],{},[611,72218,11810],{},[59,72220,72221,18565],{},[611,72222,11989],{},[59,72224,72225,18570],{},[611,72226,12000],{},[59,72228,72229,18575],{},[611,72230,12010],{},[4953,72232],{},[175,72234,18583],{"href":18581,"rel":72235},[179],[611,72237,11810],{},[611,72239,18590],{},[59,72241,72242,72244,72254,18612,72256,18616,72258,18619],{},[611,72243,18595],{},[852,72245,72246,72250],{},[59,72247,18600,72248,181],{},[611,72249,18603],{},[59,72251,18606,72252,181],{},[611,72253,18609],{},[4953,72255],{},[611,72257,18615],{},[611,72259,18615],{},[59,72261,72262,18625],{},[611,72263,18624],{},[59,72265,72266,18631,72268,18634,72270,18637,72272,18641,72274,18645,72276,181],{},[611,72267,18630],{},[611,72269,8689],{},[611,72271,11803],{},[611,72273,18640],{},[611,72275,18644],{},[611,72277,18648],{},[59,72279,72280,18654,72282,18657,72284,18660,72286,181],{},[611,72281,18653],{},[611,72283,11810],{},[611,72285,6679],{},[611,72287,18663],{},[59,72289,72290,72292,72293,72295,72296,181],{},[611,72291,71661],{}," - if it's ",[611,72294,8689],{}," then generated address will use default wallet signature. By default it's ",[611,72297,11094],{},[34,72299,18666,72300,18669,72302,18672,72304,18675,72306,18678,72308,2231,72310,1475,72312,18685,72314,10670,72316,10670,72318,18692],{},[611,72301,738],{},[175,72303,15797],{"href":18269},[611,72305,12315],{},[611,72307,6883],{},[611,72309,11810],{},[611,72311,11989],{},[611,72313,12000],{},[611,72315,11810],{},[611,72317,11989],{},[611,72319,12000],{},[34,72321,72322],{},[611,72323,7052],{},[616,72325,72326],{"className":6989,"code":18699,"language":6991,"meta":14,"style":14},[611,72327,72328,72332,72342,72352,72360],{"__ignoreMap":14},[6995,72329,72330],{"class":244,"line":6997},[6995,72331,7001],{"class":7000},[6995,72333,72334,72336,72338,72340],{"class":244,"line":15},[6995,72335,7007],{"class":7006},[6995,72337,7746],{"class":7000},[6995,72339,7013],{"class":7012},[6995,72341,7016],{"class":7000},[6995,72343,72344,72346,72348,72350],{"class":244,"line":154},[6995,72345,7021],{"class":7006},[6995,72347,7746],{"class":7000},[6995,72349,6679],{"class":7006},[6995,72351,7030],{"class":7000},[6995,72353,72354,72356,72358],{"class":244,"line":7033},[6995,72355,7732],{"class":7006},[6995,72357,7746],{"class":7000},[6995,72359,18734],{"class":7012},[6995,72361,72362],{"class":244,"line":7044},[6995,72363,7047],{"class":7000},[41,72365,11852],{"id":11852},[34,72367,18743,72368,18747],{},[611,72369,18746],{},[34,72371,72372],{},[611,72373,6986],{},[616,72375,72376],{"className":6989,"code":18754,"language":6991,"meta":14,"style":14},[611,72377,72378,72382,72392,72402,72412,72418,72422,72430,72434],{"__ignoreMap":14},[6995,72379,72380],{"class":244,"line":6997},[6995,72381,7001],{"class":7000},[6995,72383,72384,72386,72388,72390],{"class":244,"line":15},[6995,72385,7007],{"class":7006},[6995,72387,5102],{"class":7000},[6995,72389,7013],{"class":7012},[6995,72391,7016],{"class":7000},[6995,72393,72394,72396,72398,72400],{"class":244,"line":154},[6995,72395,7021],{"class":7006},[6995,72397,7024],{"class":7000},[6995,72399,6679],{"class":7006},[6995,72401,7030],{"class":7000},[6995,72403,72404,72406,72408,72410],{"class":244,"line":7033},[6995,72405,7036],{"class":7006},[6995,72407,7024],{"class":7000},[6995,72409,18789],{"class":7012},[6995,72411,7016],{"class":7000},[6995,72413,72414,72416],{"class":244,"line":7044},[6995,72415,7529],{"class":7006},[6995,72417,7532],{"class":7000},[6995,72419,72420],{"class":244,"line":7107},[6995,72421,7537],{"class":7000},[6995,72423,72424,72426,72428],{"class":244,"line":7120},[6995,72425,7577],{"class":7006},[6995,72427,7746],{"class":7000},[6995,72429,18734],{"class":7012},[6995,72431,72432],{"class":244,"line":7133},[6995,72433,7615],{"class":7000},[6995,72435,72436],{"class":244,"line":7146},[6995,72437,7047],{"class":7000},[34,72439,72440],{},[611,72441,7052],{},[616,72443,72444],{"className":6989,"code":18824,"language":6991,"meta":14,"style":14},[611,72445,72446,72450,72460,72470,72476,72480,72490,72500,72510,72518,72522],{"__ignoreMap":14},[6995,72447,72448],{"class":244,"line":6997},[6995,72449,7001],{"class":7000},[6995,72451,72452,72454,72456,72458],{"class":244,"line":15},[6995,72453,7007],{"class":7006},[6995,72455,5102],{"class":7000},[6995,72457,7013],{"class":7012},[6995,72459,7016],{"class":7000},[6995,72461,72462,72464,72466,72468],{"class":244,"line":154},[6995,72463,7021],{"class":7006},[6995,72465,7024],{"class":7000},[6995,72467,6679],{"class":7006},[6995,72469,7030],{"class":7000},[6995,72471,72472,72474],{"class":244,"line":7033},[6995,72473,7732],{"class":7006},[6995,72475,11893],{"class":7000},[6995,72477,72478],{"class":244,"line":7044},[6995,72479,7537],{"class":7000},[6995,72481,72482,72484,72486,72488],{"class":244,"line":7107},[6995,72483,11902],{"class":7006},[6995,72485,7746],{"class":7000},[6995,72487,8689],{"class":7006},[6995,72489,7030],{"class":7000},[6995,72491,72492,72494,72496,72498],{"class":244,"line":7120},[6995,72493,11913],{"class":7006},[6995,72495,7746],{"class":7000},[6995,72497,11094],{"class":7006},[6995,72499,7030],{"class":7000},[6995,72501,72502,72504,72506,72508],{"class":244,"line":7133},[6995,72503,11924],{"class":7006},[6995,72505,7024],{"class":7000},[6995,72507,11929],{"class":7012},[6995,72509,7016],{"class":7000},[6995,72511,72512,72514,72516],{"class":244,"line":7146},[6995,72513,11940],{"class":7006},[6995,72515,7024],{"class":7000},[6995,72517,18899],{"class":7006},[6995,72519,72520],{"class":244,"line":7159},[6995,72521,7615],{"class":7000},[6995,72523,72524],{"class":244,"line":7172},[6995,72525,7047],{"class":7000},[852,72527,72528,72534],{},[59,72529,72530,18914,72532,18917],{},[611,72531,11962],{},[175,72533,12194],{"href":18230},[59,72535,72536,18922,72538,12022],{},[611,72537,12018],{},[611,72539,11810],{},[41,72541,18255],{"id":18255},[34,72543,18929],{},[34,72545,72546],{},[611,72547,6986],{},[616,72549,72550],{"className":6989,"code":18936,"language":6991,"meta":14,"style":14},[611,72551,72552,72556,72566,72576,72586,72592,72596,72604,72608],{"__ignoreMap":14},[6995,72553,72554],{"class":244,"line":6997},[6995,72555,7001],{"class":7000},[6995,72557,72558,72560,72562,72564],{"class":244,"line":15},[6995,72559,7007],{"class":7006},[6995,72561,5102],{"class":7000},[6995,72563,7013],{"class":7012},[6995,72565,7016],{"class":7000},[6995,72567,72568,72570,72572,72574],{"class":244,"line":154},[6995,72569,7021],{"class":7006},[6995,72571,7024],{"class":7000},[6995,72573,18961],{"class":7006},[6995,72575,7030],{"class":7000},[6995,72577,72578,72580,72582,72584],{"class":244,"line":7033},[6995,72579,7036],{"class":7006},[6995,72581,5102],{"class":7000},[6995,72583,18972],{"class":7012},[6995,72585,7030],{"class":7000},[6995,72587,72588,72590],{"class":244,"line":7044},[6995,72589,7529],{"class":7006},[6995,72591,7532],{"class":7000},[6995,72593,72594],{"class":244,"line":7107},[6995,72595,7537],{"class":7000},[6995,72597,72598,72600,72602],{"class":244,"line":7120},[6995,72599,18989],{"class":7006},[6995,72601,7746],{"class":7000},[6995,72603,8505],{"class":7006},[6995,72605,72606],{"class":244,"line":7133},[6995,72607,7615],{"class":7000},[6995,72609,72610],{"class":244,"line":7146},[6995,72611,7047],{"class":7000},[852,72613,72614],{},[59,72615,72616,19009,72618,19012,72620,19015],{},[611,72617,19008],{},[611,72619,8689],{},[611,72621,11094],{},[34,72623,72624],{},[611,72625,7052],{},[616,72627,72628],{"className":6989,"code":19022,"language":6991,"meta":14,"style":14},[611,72629,72630,72634,72644,72654,72660,72664,72674,72684,72694,72704,72714,72724,72734,72744,72754,72764,72774,72782,72786],{"__ignoreMap":14},[6995,72631,72632],{"class":244,"line":6997},[6995,72633,7001],{"class":7000},[6995,72635,72636,72638,72640,72642],{"class":244,"line":15},[6995,72637,7021],{"class":7006},[6995,72639,7024],{"class":7000},[6995,72641,18961],{"class":7006},[6995,72643,7030],{"class":7000},[6995,72645,72646,72648,72650,72652],{"class":244,"line":154},[6995,72647,7007],{"class":7006},[6995,72649,7024],{"class":7000},[6995,72651,7013],{"class":7012},[6995,72653,7030],{"class":7000},[6995,72655,72656,72658],{"class":244,"line":7033},[6995,72657,7732],{"class":7006},[6995,72659,7532],{"class":7000},[6995,72661,72662],{"class":244,"line":7044},[6995,72663,19059],{"class":7000},[6995,72665,72666,72668,72670,72672],{"class":244,"line":7107},[6995,72667,7577],{"class":7006},[6995,72669,7024],{"class":7000},[6995,72671,19068],{"class":7012},[6995,72673,7030],{"class":7000},[6995,72675,72676,72678,72680,72682],{"class":244,"line":7120},[6995,72677,19075],{"class":7006},[6995,72679,7024],{"class":7000},[6995,72681,19080],{"class":7012},[6995,72683,7030],{"class":7000},[6995,72685,72686,72688,72690,72692],{"class":244,"line":7133},[6995,72687,19087],{"class":7006},[6995,72689,7024],{"class":7000},[6995,72691,19092],{"class":7006},[6995,72693,7030],{"class":7000},[6995,72695,72696,72698,72700,72702],{"class":244,"line":7146},[6995,72697,19099],{"class":7006},[6995,72699,7024],{"class":7000},[6995,72701,19104],{"class":7006},[6995,72703,7030],{"class":7000},[6995,72705,72706,72708,72710,72712],{"class":244,"line":7159},[6995,72707,19111],{"class":7006},[6995,72709,7024],{"class":7000},[6995,72711,8689],{"class":7006},[6995,72713,7030],{"class":7000},[6995,72715,72716,72718,72720,72722],{"class":244,"line":7172},[6995,72717,7588],{"class":7006},[6995,72719,7024],{"class":7000},[6995,72721,19080],{"class":7012},[6995,72723,7030],{"class":7000},[6995,72725,72726,72728,72730,72732],{"class":244,"line":7185},[6995,72727,18989],{"class":7006},[6995,72729,7024],{"class":7000},[6995,72731,8689],{"class":7006},[6995,72733,7030],{"class":7000},[6995,72735,72736,72738,72740,72742],{"class":244,"line":7198},[6995,72737,19142],{"class":7006},[6995,72739,7024],{"class":7000},[6995,72741,19147],{"class":7006},[6995,72743,7030],{"class":7000},[6995,72745,72746,72748,72750,72752],{"class":244,"line":7211},[6995,72747,19154],{"class":7006},[6995,72749,7024],{"class":7000},[6995,72751,19159],{"class":7012},[6995,72753,7030],{"class":7000},[6995,72755,72756,72758,72760,72762],{"class":244,"line":7220},[6995,72757,19166],{"class":7006},[6995,72759,7024],{"class":7000},[6995,72761,19171],{"class":7012},[6995,72763,7030],{"class":7000},[6995,72765,72766,72768,72770,72772],{"class":244,"line":7226},[6995,72767,11924],{"class":7006},[6995,72769,7024],{"class":7000},[6995,72771,12303],{"class":7012},[6995,72773,7030],{"class":7000},[6995,72775,72776,72778,72780],{"class":244,"line":7238},[6995,72777,19188],{"class":7006},[6995,72779,7024],{"class":7000},[6995,72781,19193],{"class":7012},[6995,72783,72784],{"class":244,"line":7250},[6995,72785,19198],{"class":7000},[6995,72787,72788],{"class":244,"line":7263},[6995,72789,7047],{"class":7000},[852,72791,72792,72796,72800,72804,72808,72814],{},[59,72793,72794,19209],{},[611,72795,738],{},[59,72797,72798,19215],{},[611,72799,19214],{},[59,72801,72802,19221],{},[611,72803,19220],{},[59,72805,72806,26526],{},[611,72807,19226],{},[59,72809,72810,19232,72812,19235],{},[611,72811,11962],{},[175,72813,12194],{"href":18230},[59,72815,72816,19241,72818,19244,72820,19247,72822,19250,72824,2231,72826,1475,72828,12028],{},[611,72817,19240],{},[611,72819,11989],{},[611,72821,19240],{},[611,72823,11989],{},[611,72825,11803],{},[611,72827,12010],{},[611,72829,11810],{},[48,72831,8763],{"id":19226},[34,72833,19261,72834,26555,72836,19267,72838,19271],{},[611,72835,19226],{},[611,72837,19226],{},[100,72839,19270],{},[41,72841,18239],{"id":18239},[34,72843,19276],{},[34,72845,72846],{},[611,72847,6986],{},[616,72849,72850],{"className":6989,"code":19283,"language":6991,"meta":14,"style":14},[611,72851,72852,72856,72866,72876,72886,72892,72896,72904,72908],{"__ignoreMap":14},[6995,72853,72854],{"class":244,"line":6997},[6995,72855,7001],{"class":7000},[6995,72857,72858,72860,72862,72864],{"class":244,"line":15},[6995,72859,7007],{"class":7006},[6995,72861,5102],{"class":7000},[6995,72863,7013],{"class":7012},[6995,72865,7016],{"class":7000},[6995,72867,72868,72870,72872,72874],{"class":244,"line":154},[6995,72869,7021],{"class":7006},[6995,72871,7024],{"class":7000},[6995,72873,18961],{"class":7006},[6995,72875,7030],{"class":7000},[6995,72877,72878,72880,72882,72884],{"class":244,"line":7033},[6995,72879,7036],{"class":7006},[6995,72881,5102],{"class":7000},[6995,72883,19318],{"class":7012},[6995,72885,7030],{"class":7000},[6995,72887,72888,72890],{"class":244,"line":7044},[6995,72889,7529],{"class":7006},[6995,72891,7532],{"class":7000},[6995,72893,72894],{"class":244,"line":7107},[6995,72895,7537],{"class":7000},[6995,72897,72898,72900,72902],{"class":244,"line":7120},[6995,72899,7577],{"class":7006},[6995,72901,7746],{"class":7000},[6995,72903,19193],{"class":7012},[6995,72905,72906],{"class":244,"line":7133},[6995,72907,7615],{"class":7000},[6995,72909,72910],{"class":244,"line":7146},[6995,72911,7047],{"class":7000},[34,72913,72914],{},[611,72915,7052],{},[616,72917,72918],{"className":6989,"code":19353,"language":6991,"meta":14,"style":14},[611,72919,72920,72924,72934,72944,72952],{"__ignoreMap":14},[6995,72921,72922],{"class":244,"line":6997},[6995,72923,7001],{"class":7000},[6995,72925,72926,72928,72930,72932],{"class":244,"line":15},[6995,72927,7021],{"class":7006},[6995,72929,7024],{"class":7000},[6995,72931,18961],{"class":7006},[6995,72933,7030],{"class":7000},[6995,72935,72936,72938,72940,72942],{"class":244,"line":154},[6995,72937,7007],{"class":7006},[6995,72939,7024],{"class":7000},[6995,72941,7013],{"class":7012},[6995,72943,7030],{"class":7000},[6995,72945,72946,72948,72950],{"class":244,"line":7033},[6995,72947,7732],{"class":7006},[6995,72949,7024],{"class":7000},[6995,72951,19388],{"class":7012},[6995,72953,72954],{"class":244,"line":7044},[6995,72955,7047],{"class":7000},[41,72957,18247],{"id":18247},[34,72959,19397,72960,19400,72962,19403,72964,19406],{},[611,72961,18624],{},[611,72963,18595],{},[175,72965,12194],{"href":18230},[34,72967,72968],{},[611,72969,6986],{},[616,72971,72972],{"className":6989,"code":19413,"language":6991,"meta":14,"style":14},[611,72973,72974,72978,72988,72998,73008,73014,73018,73028,73038,73046,73050],{"__ignoreMap":14},[6995,72975,72976],{"class":244,"line":6997},[6995,72977,7001],{"class":7000},[6995,72979,72980,72982,72984,72986],{"class":244,"line":15},[6995,72981,7007],{"class":7006},[6995,72983,5102],{"class":7000},[6995,72985,7013],{"class":7012},[6995,72987,7016],{"class":7000},[6995,72989,72990,72992,72994,72996],{"class":244,"line":154},[6995,72991,7021],{"class":7006},[6995,72993,7024],{"class":7000},[6995,72995,18961],{"class":7006},[6995,72997,7030],{"class":7000},[6995,72999,73000,73002,73004,73006],{"class":244,"line":7033},[6995,73001,7036],{"class":7006},[6995,73003,5102],{"class":7000},[6995,73005,19448],{"class":7012},[6995,73007,7030],{"class":7000},[6995,73009,73010,73012],{"class":244,"line":7044},[6995,73011,7529],{"class":7006},[6995,73013,7532],{"class":7000},[6995,73015,73016],{"class":244,"line":7107},[6995,73017,7537],{"class":7000},[6995,73019,73020,73022,73024,73026],{"class":244,"line":7120},[6995,73021,7577],{"class":7006},[6995,73023,7746],{"class":7000},[6995,73025,19068],{"class":7012},[6995,73027,7030],{"class":7000},[6995,73029,73030,73032,73034,73036],{"class":244,"line":7133},[6995,73031,7588],{"class":7006},[6995,73033,7746],{"class":7000},[6995,73035,18523],{"class":7012},[6995,73037,7030],{"class":7000},[6995,73039,73040,73042,73044],{"class":244,"line":7146},[6995,73041,12268],{"class":7006},[6995,73043,7746],{"class":7000},[6995,73045,19489],{"class":7012},[6995,73047,73048],{"class":244,"line":7159},[6995,73049,7615],{"class":7000},[6995,73051,73052],{"class":244,"line":7172},[6995,73053,7047],{"class":7000},[34,73055,73056],{},[611,73057,7052],{},[616,73059,73060],{"className":6989,"code":19353,"language":6991,"meta":14,"style":14},[611,73061,73062,73066,73076,73086,73094],{"__ignoreMap":14},[6995,73063,73064],{"class":244,"line":6997},[6995,73065,7001],{"class":7000},[6995,73067,73068,73070,73072,73074],{"class":244,"line":15},[6995,73069,7021],{"class":7006},[6995,73071,7024],{"class":7000},[6995,73073,18961],{"class":7006},[6995,73075,7030],{"class":7000},[6995,73077,73078,73080,73082,73084],{"class":244,"line":154},[6995,73079,7007],{"class":7006},[6995,73081,7024],{"class":7000},[6995,73083,7013],{"class":7012},[6995,73085,7030],{"class":7000},[6995,73087,73088,73090,73092],{"class":244,"line":7033},[6995,73089,7732],{"class":7006},[6995,73091,7024],{"class":7000},[6995,73093,19388],{"class":7012},[6995,73095,73096],{"class":244,"line":7044},[6995,73097,7047],{"class":7000},[41,73099,6905],{"id":6905},[34,73101,19546],{},[34,73103,73104],{},[611,73105,6986],{},[616,73107,73108],{"className":6989,"code":19553,"language":6991,"meta":14,"style":14},[611,73109,73110,73114,73124,73134,73144,73150,73154,73164,73174,73184,73194,73204,73214,73222,73226],{"__ignoreMap":14},[6995,73111,73112],{"class":244,"line":6997},[6995,73113,7001],{"class":7000},[6995,73115,73116,73118,73120,73122],{"class":244,"line":15},[6995,73117,7007],{"class":7006},[6995,73119,5102],{"class":7000},[6995,73121,7013],{"class":7012},[6995,73123,7016],{"class":7000},[6995,73125,73126,73128,73130,73132],{"class":244,"line":154},[6995,73127,7021],{"class":7006},[6995,73129,7024],{"class":7000},[6995,73131,7511],{"class":7006},[6995,73133,7030],{"class":7000},[6995,73135,73136,73138,73140,73142],{"class":244,"line":7033},[6995,73137,7036],{"class":7006},[6995,73139,5102],{"class":7000},[6995,73141,7522],{"class":7012},[6995,73143,7016],{"class":7000},[6995,73145,73146,73148],{"class":244,"line":7044},[6995,73147,7529],{"class":7006},[6995,73149,7532],{"class":7000},[6995,73151,73152],{"class":244,"line":7107},[6995,73153,7537],{"class":7000},[6995,73155,73156,73158,73160,73162],{"class":244,"line":7120},[6995,73157,7542],{"class":7006},[6995,73159,7024],{"class":7000},[6995,73161,7547],{"class":7006},[6995,73163,7030],{"class":7000},[6995,73165,73166,73168,73170,73172],{"class":244,"line":7133},[6995,73167,7554],{"class":7006},[6995,73169,7024],{"class":7000},[6995,73171,7511],{"class":7006},[6995,73173,7030],{"class":7000},[6995,73175,73176,73178,73180,73182],{"class":244,"line":7146},[6995,73177,7565],{"class":7006},[6995,73179,7024],{"class":7000},[6995,73181,7570],{"class":7012},[6995,73183,7030],{"class":7000},[6995,73185,73186,73188,73190,73192],{"class":244,"line":7159},[6995,73187,7577],{"class":7006},[6995,73189,7024],{"class":7000},[6995,73191,7570],{"class":7012},[6995,73193,7030],{"class":7000},[6995,73195,73196,73198,73200,73202],{"class":244,"line":7172},[6995,73197,7588],{"class":7006},[6995,73199,7024],{"class":7000},[6995,73201,7593],{"class":7012},[6995,73203,7030],{"class":7000},[6995,73205,73206,73208,73210,73212],{"class":244,"line":7185},[6995,73207,7229],{"class":7006},[6995,73209,7024],{"class":7000},[6995,73211,6679],{"class":7006},[6995,73213,7030],{"class":7000},[6995,73215,73216,73218,73220],{"class":244,"line":7198},[6995,73217,12158],{"class":7006},[6995,73219,7024],{"class":7000},[6995,73221,19668],{"class":7006},[6995,73223,73224],{"class":244,"line":7211},[6995,73225,7615],{"class":7000},[6995,73227,73228],{"class":244,"line":7220},[6995,73229,7047],{"class":7000},[852,73231,73232,73236,73240,73244,73254,73258,73262,73270],{},[59,73233,73234,19683],{},[611,73235,8141],{},[59,73237,73238,19688],{},[611,73239,8147],{},[59,73241,73242,19694],{},[611,73243,19693],{},[59,73245,73246,19699,73248,19702,73250,1475,73252,181],{},[611,73247,738],{},[100,73249,11775],{},[611,73251,738],{},[611,73253,19226],{},[59,73255,73256,19711],{},[611,73257,18624],{},[59,73259,73260,19716],{},[611,73261,8158],{},[59,73263,73264,19721,73266,19724,73268,19727],{},[611,73265,6869],{},[611,73267,6869],{},[611,73269,4979],{},[59,73271,73272,19732,73274,19736,73276,19739],{},[611,73273,11810],{},[611,73275,19735],{},[611,73277,11810],{},[34,73279,19742,73280,19745,73282,19749],{},[611,73281,14350],{},[611,73283,19748],{},[34,73285,73286],{},[611,73287,7052],{},[616,73289,73290],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,73291,73292,73296,73306,73316,73322,73326,73334,73338],{"__ignoreMap":14},[6995,73293,73294],{"class":244,"line":6997},[6995,73295,7001],{"class":7000},[6995,73297,73298,73300,73302,73304],{"class":244,"line":15},[6995,73299,7007],{"class":7006},[6995,73301,5102],{"class":7000},[6995,73303,7013],{"class":7012},[6995,73305,7016],{"class":7000},[6995,73307,73308,73310,73312,73314],{"class":244,"line":154},[6995,73309,7021],{"class":7006},[6995,73311,7024],{"class":7000},[6995,73313,7511],{"class":7006},[6995,73315,7030],{"class":7000},[6995,73317,73318,73320],{"class":244,"line":7033},[6995,73319,7732],{"class":7006},[6995,73321,7532],{"class":7000},[6995,73323,73324],{"class":244,"line":7044},[6995,73325,7537],{"class":7000},[6995,73327,73328,73330,73332],{"class":244,"line":7107},[6995,73329,7743],{"class":7006},[6995,73331,7746],{"class":7000},[6995,73333,7749],{"class":7012},[6995,73335,73336],{"class":244,"line":7120},[6995,73337,7615],{"class":7000},[6995,73339,73340],{"class":244,"line":7133},[6995,73341,7047],{"class":7000},[34,73343,8221,73344,181],{},[175,73345,7985],{"href":19812},[41,73347,6910],{"id":6910},[34,73349,19817],{},[34,73351,19820,73352,19824],{},[611,73353,19823],{},[34,73355,73356],{},[611,73357,6986],{},[616,73359,73360],{"className":6989,"code":19831,"language":6991,"meta":14,"style":14},[611,73361,73362,73366,73376,73386,73396,73402,73406,73428,73438,73446,73450],{"__ignoreMap":14},[6995,73363,73364],{"class":244,"line":6997},[6995,73365,7001],{"class":7000},[6995,73367,73368,73370,73372,73374],{"class":244,"line":15},[6995,73369,7007],{"class":7006},[6995,73371,5102],{"class":7000},[6995,73373,7013],{"class":7012},[6995,73375,7016],{"class":7000},[6995,73377,73378,73380,73382,73384],{"class":244,"line":154},[6995,73379,7021],{"class":7006},[6995,73381,7024],{"class":7000},[6995,73383,14095],{"class":7006},[6995,73385,7030],{"class":7000},[6995,73387,73388,73390,73392,73394],{"class":244,"line":7033},[6995,73389,7036],{"class":7006},[6995,73391,5102],{"class":7000},[6995,73393,19866],{"class":7012},[6995,73395,7016],{"class":7000},[6995,73397,73398,73400],{"class":244,"line":7044},[6995,73399,7529],{"class":7006},[6995,73401,7532],{"class":7000},[6995,73403,73404],{"class":244,"line":7107},[6995,73405,7537],{"class":7000},[6995,73407,73408,73410,73412,73414,73416,73418,73420,73422,73424,73426],{"class":244,"line":7120},[6995,73409,19883],{"class":7006},[6995,73411,19886],{"class":7000},[6995,73413,19889],{"class":7006},[6995,73415,2231],{"class":7000},[6995,73417,8566],{"class":7006},[6995,73419,2231],{"class":7000},[6995,73421,19898],{"class":7006},[6995,73423,2231],{"class":7000},[6995,73425,19903],{"class":7006},[6995,73427,19906],{"class":7000},[6995,73429,73430,73432,73434,73436],{"class":244,"line":7133},[6995,73431,7554],{"class":7006},[6995,73433,7746],{"class":7000},[6995,73435,10984],{"class":7006},[6995,73437,7030],{"class":7000},[6995,73439,73440,73442,73444],{"class":244,"line":7146},[6995,73441,7229],{"class":7006},[6995,73443,7024],{"class":7000},[6995,73445,7686],{"class":7006},[6995,73447,73448],{"class":244,"line":7159},[6995,73449,7615],{"class":7000},[6995,73451,73452],{"class":244,"line":7172},[6995,73453,7047],{"class":7000},[34,73455,73456],{},[611,73457,7052],{},[616,73459,73460],{"className":6989,"code":19939,"language":6991,"meta":14,"style":14},[611,73461,73462,73466,73476,73486,73492,73496,73504,73508],{"__ignoreMap":14},[6995,73463,73464],{"class":244,"line":6997},[6995,73465,7001],{"class":7000},[6995,73467,73468,73470,73472,73474],{"class":244,"line":15},[6995,73469,7007],{"class":7006},[6995,73471,5102],{"class":7000},[6995,73473,7013],{"class":7012},[6995,73475,7016],{"class":7000},[6995,73477,73478,73480,73482,73484],{"class":244,"line":154},[6995,73479,7021],{"class":7006},[6995,73481,7024],{"class":7000},[6995,73483,14095],{"class":7006},[6995,73485,7030],{"class":7000},[6995,73487,73488,73490],{"class":244,"line":7033},[6995,73489,7732],{"class":7006},[6995,73491,7532],{"class":7000},[6995,73493,73494],{"class":244,"line":7044},[6995,73495,7537],{"class":7000},[6995,73497,73498,73500,73502],{"class":244,"line":7107},[6995,73499,7743],{"class":7006},[6995,73501,7746],{"class":7000},[6995,73503,7749],{"class":7012},[6995,73505,73506],{"class":244,"line":7120},[6995,73507,7615],{"class":7000},[6995,73509,73510],{"class":244,"line":7133},[6995,73511,7047],{"class":7000},[852,73513,73514,73518,73522,73526],{},[59,73515,73516,19998],{},[611,73517,8147],{},[59,73519,73520,20003],{},[611,73521,14350],{},[59,73523,73524,20008],{},[611,73525,8158],{},[59,73527,73528,20013,73530,19724,73532,19727],{},[611,73529,6869],{},[611,73531,6869],{},[611,73533,4979],{},[41,73535,6920],{"id":6920},[34,73537,20022,73538,19727],{},[611,73539,4979],{},[34,73541,20027,73542,8054],{},[175,73543,6930],{"href":8044},[34,73545,73546],{},[611,73547,6986],{},[616,73549,73550],{"className":6989,"code":8061,"language":6991,"meta":14,"style":14},[611,73551,73552,73556,73566,73576,73586,73592,73596,73606,73614,73618],{"__ignoreMap":14},[6995,73553,73554],{"class":244,"line":6997},[6995,73555,7001],{"class":7000},[6995,73557,73558,73560,73562,73564],{"class":244,"line":15},[6995,73559,7007],{"class":7006},[6995,73561,7024],{"class":7000},[6995,73563,7013],{"class":7012},[6995,73565,7016],{"class":7000},[6995,73567,73568,73570,73572,73574],{"class":244,"line":154},[6995,73569,7021],{"class":7006},[6995,73571,7024],{"class":7000},[6995,73573,7511],{"class":7006},[6995,73575,7030],{"class":7000},[6995,73577,73578,73580,73582,73584],{"class":244,"line":7033},[6995,73579,7036],{"class":7006},[6995,73581,7024],{"class":7000},[6995,73583,8096],{"class":7012},[6995,73585,7016],{"class":7000},[6995,73587,73588,73590],{"class":244,"line":7044},[6995,73589,7529],{"class":7006},[6995,73591,7532],{"class":7000},[6995,73593,73594],{"class":244,"line":7107},[6995,73595,7537],{"class":7000},[6995,73597,73598,73600,73602,73604],{"class":244,"line":7120},[6995,73599,7542],{"class":7006},[6995,73601,7024],{"class":7000},[6995,73603,7027],{"class":7006},[6995,73605,7030],{"class":7000},[6995,73607,73608,73610,73612],{"class":244,"line":7133},[6995,73609,7229],{"class":7006},[6995,73611,7024],{"class":7000},[6995,73613,7686],{"class":7006},[6995,73615,73616],{"class":244,"line":7146},[6995,73617,7615],{"class":7000},[6995,73619,73620],{"class":244,"line":7159},[6995,73621,7047],{"class":7000},[852,73623,73624,73628,73632,73636,73640],{},[59,73625,73626,8142],{},[611,73627,8141],{},[59,73629,73630,8148],{},[611,73631,8147],{},[59,73633,73634,8153],{},[611,73635,6869],{},[59,73637,73638,8159],{},[611,73639,8158],{},[59,73641,73642,20131],{},[611,73643,20130],{},[34,73645,20134,73646,20137,73648],{},[611,73647,14350],{},[611,73649,19748],{},[34,73651,73652],{},[611,73653,7052],{},[616,73655,73656],{"className":6989,"code":8166,"language":6991,"meta":14,"style":14},[611,73657,73658,73662,73672,73682,73688,73692,73700,73704],{"__ignoreMap":14},[6995,73659,73660],{"class":244,"line":6997},[6995,73661,7001],{"class":7000},[6995,73663,73664,73666,73668,73670],{"class":244,"line":15},[6995,73665,7007],{"class":7006},[6995,73667,7024],{"class":7000},[6995,73669,7013],{"class":7012},[6995,73671,7016],{"class":7000},[6995,73673,73674,73676,73678,73680],{"class":244,"line":154},[6995,73675,7021],{"class":7006},[6995,73677,7024],{"class":7000},[6995,73679,7511],{"class":7006},[6995,73681,7030],{"class":7000},[6995,73683,73684,73686],{"class":244,"line":7033},[6995,73685,7732],{"class":7006},[6995,73687,7532],{"class":7000},[6995,73689,73690],{"class":244,"line":7044},[6995,73691,7537],{"class":7000},[6995,73693,73694,73696,73698],{"class":244,"line":7107},[6995,73695,7743],{"class":7006},[6995,73697,7746],{"class":7000},[6995,73699,7749],{"class":7012},[6995,73701,73702],{"class":244,"line":7120},[6995,73703,7615],{"class":7000},[6995,73705,73706],{"class":244,"line":7133},[6995,73707,7047],{"class":7000},[34,73709,8221,73710,181],{},[175,73711,7985],{"href":19812},[41,73713,6925],{"id":6925},[34,73715,20022,73716,19727],{},[611,73717,4979],{},[34,73719,20210,73720,20213],{},[175,73721,6930],{"href":8044},[34,73723,73724],{},[611,73725,6986],{},[616,73727,73728],{"className":6989,"code":8236,"language":6991,"meta":14,"style":14},[611,73729,73730,73734,73744,73754,73764,73770,73774,73784,73792,73796],{"__ignoreMap":14},[6995,73731,73732],{"class":244,"line":6997},[6995,73733,7001],{"class":7000},[6995,73735,73736,73738,73740,73742],{"class":244,"line":15},[6995,73737,7007],{"class":7006},[6995,73739,5102],{"class":7000},[6995,73741,7013],{"class":7012},[6995,73743,7016],{"class":7000},[6995,73745,73746,73748,73750,73752],{"class":244,"line":154},[6995,73747,7021],{"class":7006},[6995,73749,7024],{"class":7000},[6995,73751,7511],{"class":7006},[6995,73753,7030],{"class":7000},[6995,73755,73756,73758,73760,73762],{"class":244,"line":7033},[6995,73757,7036],{"class":7006},[6995,73759,5102],{"class":7000},[6995,73761,8271],{"class":7012},[6995,73763,7016],{"class":7000},[6995,73765,73766,73768],{"class":244,"line":7044},[6995,73767,7529],{"class":7006},[6995,73769,7532],{"class":7000},[6995,73771,73772],{"class":244,"line":7107},[6995,73773,7537],{"class":7000},[6995,73775,73776,73778,73780,73782],{"class":244,"line":7120},[6995,73777,7542],{"class":7006},[6995,73779,7024],{"class":7000},[6995,73781,7027],{"class":7006},[6995,73783,7030],{"class":7000},[6995,73785,73786,73788,73790],{"class":244,"line":7133},[6995,73787,7229],{"class":7006},[6995,73789,7024],{"class":7000},[6995,73791,7686],{"class":7006},[6995,73793,73794],{"class":244,"line":7146},[6995,73795,7615],{"class":7000},[6995,73797,73798],{"class":244,"line":7159},[6995,73799,7047],{"class":7000},[852,73801,73802,73806,73810,73814,73818],{},[59,73803,73804,8316],{},[611,73805,8141],{},[59,73807,73808,8321],{},[611,73809,8147],{},[59,73811,73812,8326],{},[611,73813,6869],{},[59,73815,73816,8331],{},[611,73817,8158],{},[59,73819,73820,20314],{},[611,73821,20130],{},[34,73823,20317,73824,20137,73826,20322],{},[611,73825,14350],{},[611,73827,19748],{},[34,73829,73830],{},[611,73831,7052],{},[616,73833,73834],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,73835,73836,73840,73850,73860,73866,73870,73878,73882],{"__ignoreMap":14},[6995,73837,73838],{"class":244,"line":6997},[6995,73839,7001],{"class":7000},[6995,73841,73842,73844,73846,73848],{"class":244,"line":15},[6995,73843,7007],{"class":7006},[6995,73845,5102],{"class":7000},[6995,73847,7013],{"class":7012},[6995,73849,7016],{"class":7000},[6995,73851,73852,73854,73856,73858],{"class":244,"line":154},[6995,73853,7021],{"class":7006},[6995,73855,7024],{"class":7000},[6995,73857,7511],{"class":7006},[6995,73859,7030],{"class":7000},[6995,73861,73862,73864],{"class":244,"line":7033},[6995,73863,7732],{"class":7006},[6995,73865,7532],{"class":7000},[6995,73867,73868],{"class":244,"line":7044},[6995,73869,7537],{"class":7000},[6995,73871,73872,73874,73876],{"class":244,"line":7107},[6995,73873,7743],{"class":7006},[6995,73875,7746],{"class":7000},[6995,73877,7749],{"class":7012},[6995,73879,73880],{"class":244,"line":7120},[6995,73881,7615],{"class":7000},[6995,73883,73884],{"class":244,"line":7133},[6995,73885,7047],{"class":7000},[34,73887,8221,73888,181],{},[175,73889,7985],{"href":19812},[41,73891,6930],{"id":6930},[34,73893,20022,73894,19727],{},[611,73895,4979],{},[34,73897,20393,73898,20396],{},[175,73899,6935],{"href":18363},[34,73901,73902],{},[611,73903,6986],{},[616,73905,73906],{"className":6989,"code":7629,"language":6991,"meta":14,"style":14},[611,73907,73908,73912,73922,73932,73942,73948,73952,73960,73964],{"__ignoreMap":14},[6995,73909,73910],{"class":244,"line":6997},[6995,73911,7001],{"class":7000},[6995,73913,73914,73916,73918,73920],{"class":244,"line":15},[6995,73915,7007],{"class":7006},[6995,73917,5102],{"class":7000},[6995,73919,7013],{"class":7012},[6995,73921,7016],{"class":7000},[6995,73923,73924,73926,73928,73930],{"class":244,"line":154},[6995,73925,7021],{"class":7006},[6995,73927,7024],{"class":7000},[6995,73929,7511],{"class":7006},[6995,73931,7030],{"class":7000},[6995,73933,73934,73936,73938,73940],{"class":244,"line":7033},[6995,73935,7036],{"class":7006},[6995,73937,7024],{"class":7000},[6995,73939,7664],{"class":7012},[6995,73941,7030],{"class":7000},[6995,73943,73944,73946],{"class":244,"line":7044},[6995,73945,7529],{"class":7006},[6995,73947,7673],{"class":7000},[6995,73949,73950],{"class":244,"line":7107},[6995,73951,7537],{"class":7000},[6995,73953,73954,73956,73958],{"class":244,"line":7120},[6995,73955,7229],{"class":7006},[6995,73957,7024],{"class":7000},[6995,73959,7686],{"class":7006},[6995,73961,73962],{"class":244,"line":7133},[6995,73963,7615],{"class":7000},[6995,73965,73966],{"class":244,"line":7146},[6995,73967,7047],{"class":7000},[852,73969,73970,73974,73978],{},[59,73971,73972,7838],{},[611,73973,6869],{},[59,73975,73976,8331],{},[611,73977,8158],{},[59,73979,73980,20314],{},[611,73981,20130],{},[34,73983,20481],{},[34,73985,73986],{},[611,73987,7052],{},[616,73989,73990],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,73991,73992,73996,74006,74016,74022,74026,74034,74038],{"__ignoreMap":14},[6995,73993,73994],{"class":244,"line":6997},[6995,73995,7001],{"class":7000},[6995,73997,73998,74000,74002,74004],{"class":244,"line":15},[6995,73999,7007],{"class":7006},[6995,74001,5102],{"class":7000},[6995,74003,7013],{"class":7012},[6995,74005,7016],{"class":7000},[6995,74007,74008,74010,74012,74014],{"class":244,"line":154},[6995,74009,7021],{"class":7006},[6995,74011,7024],{"class":7000},[6995,74013,7511],{"class":7006},[6995,74015,7030],{"class":7000},[6995,74017,74018,74020],{"class":244,"line":7033},[6995,74019,7732],{"class":7006},[6995,74021,7532],{"class":7000},[6995,74023,74024],{"class":244,"line":7044},[6995,74025,7537],{"class":7000},[6995,74027,74028,74030,74032],{"class":244,"line":7107},[6995,74029,7743],{"class":7006},[6995,74031,7746],{"class":7000},[6995,74033,7749],{"class":7012},[6995,74035,74036],{"class":244,"line":7120},[6995,74037,7615],{"class":7000},[6995,74039,74040],{"class":244,"line":7133},[6995,74041,7047],{"class":7000},[34,74043,8221,74044,181],{},[175,74045,7985],{"href":19812},[41,74047,18306],{"id":18306},[34,74049,20548],{},[34,74051,74052],{},[611,74053,6986],{},[616,74055,74056],{"className":6989,"code":20555,"language":6991,"meta":14,"style":14},[611,74057,74058,74062,74072,74082,74092,74098,74102,74110,74114],{"__ignoreMap":14},[6995,74059,74060],{"class":244,"line":6997},[6995,74061,7001],{"class":7000},[6995,74063,74064,74066,74068,74070],{"class":244,"line":15},[6995,74065,7007],{"class":7006},[6995,74067,5102],{"class":7000},[6995,74069,7013],{"class":7012},[6995,74071,7016],{"class":7000},[6995,74073,74074,74076,74078,74080],{"class":244,"line":154},[6995,74075,7021],{"class":7006},[6995,74077,7024],{"class":7000},[6995,74079,8439],{"class":7006},[6995,74081,7030],{"class":7000},[6995,74083,74084,74086,74088,74090],{"class":244,"line":7033},[6995,74085,7036],{"class":7006},[6995,74087,5102],{"class":7000},[6995,74089,20590],{"class":7012},[6995,74091,7016],{"class":7000},[6995,74093,74094,74096],{"class":244,"line":7044},[6995,74095,7529],{"class":7006},[6995,74097,7532],{"class":7000},[6995,74099,74100],{"class":244,"line":7107},[6995,74101,7537],{"class":7000},[6995,74103,74104,74106,74108],{"class":244,"line":7120},[6995,74105,7743],{"class":7006},[6995,74107,7746],{"class":7000},[6995,74109,20611],{"class":7012},[6995,74111,74112],{"class":244,"line":7133},[6995,74113,7615],{"class":7000},[6995,74115,74116],{"class":244,"line":7146},[6995,74117,7047],{"class":7000},[852,74119,74120],{},[59,74121,74122,20626],{},[611,74123,8158],{},[34,74125,74126],{},[611,74127,7052],{},[616,74129,74130],{"className":6989,"code":20633,"language":6991,"meta":14,"style":14},[611,74131,74132,74136,74146,74156,74164],{"__ignoreMap":14},[6995,74133,74134],{"class":244,"line":6997},[6995,74135,7001],{"class":7000},[6995,74137,74138,74140,74142,74144],{"class":244,"line":15},[6995,74139,7007],{"class":7006},[6995,74141,5102],{"class":7000},[6995,74143,7013],{"class":7012},[6995,74145,7016],{"class":7000},[6995,74147,74148,74150,74152,74154],{"class":244,"line":154},[6995,74149,7021],{"class":7006},[6995,74151,7024],{"class":7000},[6995,74153,8439],{"class":7006},[6995,74155,7030],{"class":7000},[6995,74157,74158,74160,74162],{"class":244,"line":7033},[6995,74159,7732],{"class":7006},[6995,74161,7024],{"class":7000},[6995,74163,8505],{"class":7006},[6995,74165,74166],{"class":244,"line":7044},[6995,74167,7047],{"class":7000},[34,74169,20674,74170,20677,74172,20680],{},[611,74171,8689],{},[175,74173,7985],{"href":19812},[41,74175,18314],{"id":18314},[34,74177,20685],{},[34,74179,74180],{},[611,74181,6986],{},[616,74183,74184],{"className":6989,"code":20692,"language":6991,"meta":14,"style":14},[611,74185,74186,74190,74200,74210,74220,74226,74230,74238,74242],{"__ignoreMap":14},[6995,74187,74188],{"class":244,"line":6997},[6995,74189,7001],{"class":7000},[6995,74191,74192,74194,74196,74198],{"class":244,"line":15},[6995,74193,7007],{"class":7006},[6995,74195,5102],{"class":7000},[6995,74197,7013],{"class":7012},[6995,74199,7016],{"class":7000},[6995,74201,74202,74204,74206,74208],{"class":244,"line":154},[6995,74203,7021],{"class":7006},[6995,74205,7024],{"class":7000},[6995,74207,8439],{"class":7006},[6995,74209,7030],{"class":7000},[6995,74211,74212,74214,74216,74218],{"class":244,"line":7033},[6995,74213,7036],{"class":7006},[6995,74215,5102],{"class":7000},[6995,74217,20727],{"class":7012},[6995,74219,7016],{"class":7000},[6995,74221,74222,74224],{"class":244,"line":7044},[6995,74223,7529],{"class":7006},[6995,74225,7532],{"class":7000},[6995,74227,74228],{"class":244,"line":7107},[6995,74229,7537],{"class":7000},[6995,74231,74232,74234,74236],{"class":244,"line":7120},[6995,74233,7743],{"class":7006},[6995,74235,7746],{"class":7000},[6995,74237,20611],{"class":7012},[6995,74239,74240],{"class":244,"line":7133},[6995,74241,7615],{"class":7000},[6995,74243,74244],{"class":244,"line":7146},[6995,74245,7047],{"class":7000},[852,74247,74248],{},[59,74249,74250,20762],{},[611,74251,8158],{},[34,74253,74254],{},[611,74255,7052],{},[616,74257,74258],{"className":6989,"code":20633,"language":6991,"meta":14,"style":14},[611,74259,74260,74264,74274,74284,74292],{"__ignoreMap":14},[6995,74261,74262],{"class":244,"line":6997},[6995,74263,7001],{"class":7000},[6995,74265,74266,74268,74270,74272],{"class":244,"line":15},[6995,74267,7007],{"class":7006},[6995,74269,5102],{"class":7000},[6995,74271,7013],{"class":7012},[6995,74273,7016],{"class":7000},[6995,74275,74276,74278,74280,74282],{"class":244,"line":154},[6995,74277,7021],{"class":7006},[6995,74279,7024],{"class":7000},[6995,74281,8439],{"class":7006},[6995,74283,7030],{"class":7000},[6995,74285,74286,74288,74290],{"class":244,"line":7033},[6995,74287,7732],{"class":7006},[6995,74289,7024],{"class":7000},[6995,74291,8505],{"class":7006},[6995,74293,74294],{"class":244,"line":7044},[6995,74295,7047],{"class":7000},[34,74297,20674,74298,20811,74300,20680],{},[611,74299,8689],{},[175,74301,7985],{"href":19812},[41,74303,18293],{"id":18293},[34,74305,20818,74306,20821],{},[175,74307,18327],{"href":18326},[34,74309,74310],{},[611,74311,6986],{},[616,74313,74314],{"className":6989,"code":38121,"language":6991,"meta":14,"style":14},[611,74315,74316,74320,74330,74340,74350,74356,74360,74370,74378,74382],{"__ignoreMap":14},[6995,74317,74318],{"class":244,"line":6997},[6995,74319,7001],{"class":7000},[6995,74321,74322,74324,74326,74328],{"class":244,"line":15},[6995,74323,7007],{"class":7006},[6995,74325,5102],{"class":7000},[6995,74327,7013],{"class":7012},[6995,74329,7016],{"class":7000},[6995,74331,74332,74334,74336,74338],{"class":244,"line":154},[6995,74333,7021],{"class":7006},[6995,74335,7024],{"class":7000},[6995,74337,8439],{"class":7006},[6995,74339,7030],{"class":7000},[6995,74341,74342,74344,74346,74348],{"class":244,"line":7033},[6995,74343,7036],{"class":7006},[6995,74345,5102],{"class":7000},[6995,74347,20863],{"class":7012},[6995,74349,7016],{"class":7000},[6995,74351,74352,74354],{"class":244,"line":7044},[6995,74353,7529],{"class":7006},[6995,74355,7532],{"class":7000},[6995,74357,74358],{"class":244,"line":7107},[6995,74359,7537],{"class":7000},[6995,74361,74362,74364,74366,74368],{"class":244,"line":7120},[6995,74363,7743],{"class":7006},[6995,74365,7746],{"class":7000},[6995,74367,20884],{"class":7012},[6995,74369,7030],{"class":7000},[6995,74371,74372,74374,74376],{"class":244,"line":7133},[6995,74373,38182],{"class":7006},[6995,74375,7024],{"class":7000},[6995,74377,19668],{"class":7006},[6995,74379,74380],{"class":244,"line":7146},[6995,74381,7615],{"class":7000},[6995,74383,74384],{"class":244,"line":7159},[6995,74385,7047],{"class":7000},[852,74387,74388,74392],{},[59,74389,74390,38201],{},[611,74391,8158],{},[59,74393,74394,38206,74396,38209,74398,181],{},[611,74395,35307],{},[611,74397,8689],{},[611,74399,11094],{},[34,74401,74402],{},[611,74403,7052],{},[616,74405,74406],{"className":6989,"code":20901,"language":6991,"meta":14,"style":14},[611,74407,74408,74412,74422,74432,74438,74442,74452,74462,74472,74482,74492,74502,74512,74522,74532,74542,74552,74562,74572,74582,74592,74602,74612,74620,74624],{"__ignoreMap":14},[6995,74409,74410],{"class":244,"line":6997},[6995,74411,7001],{"class":7000},[6995,74413,74414,74416,74418,74420],{"class":244,"line":15},[6995,74415,7007],{"class":7006},[6995,74417,5102],{"class":7000},[6995,74419,7013],{"class":7012},[6995,74421,7016],{"class":7000},[6995,74423,74424,74426,74428,74430],{"class":244,"line":154},[6995,74425,7021],{"class":7006},[6995,74427,7024],{"class":7000},[6995,74429,8439],{"class":7006},[6995,74431,7030],{"class":7000},[6995,74433,74434,74436],{"class":244,"line":7033},[6995,74435,7732],{"class":7006},[6995,74437,7532],{"class":7000},[6995,74439,74440],{"class":244,"line":7044},[6995,74441,20938],{"class":7000},[6995,74443,74444,74446,74448,74450],{"class":244,"line":7107},[6995,74445,7743],{"class":7006},[6995,74447,7746],{"class":7000},[6995,74449,20884],{"class":7012},[6995,74451,7030],{"class":7000},[6995,74453,74454,74456,74458,74460],{"class":244,"line":7120},[6995,74455,7229],{"class":7006},[6995,74457,7024],{"class":7000},[6995,74459,7180],{"class":7006},[6995,74461,7030],{"class":7000},[6995,74463,74464,74466,74468,74470],{"class":244,"line":7133},[6995,74465,7588],{"class":7006},[6995,74467,7024],{"class":7000},[6995,74469,19080],{"class":7012},[6995,74471,7030],{"class":7000},[6995,74473,74474,74476,74478,74480],{"class":244,"line":7146},[6995,74475,7554],{"class":7006},[6995,74477,7024],{"class":7000},[6995,74479,10984],{"class":7006},[6995,74481,7030],{"class":7000},[6995,74483,74484,74486,74488,74490],{"class":244,"line":7159},[6995,74485,20983],{"class":7006},[6995,74487,7024],{"class":7000},[6995,74489,20988],{"class":7012},[6995,74491,7030],{"class":7000},[6995,74493,74494,74496,74498,74500],{"class":244,"line":7172},[6995,74495,20995],{"class":7006},[6995,74497,7024],{"class":7000},[6995,74499,7570],{"class":7012},[6995,74501,7030],{"class":7000},[6995,74503,74504,74506,74508,74510],{"class":244,"line":7185},[6995,74505,21006],{"class":7006},[6995,74507,7024],{"class":7000},[6995,74509,21011],{"class":7012},[6995,74511,7030],{"class":7000},[6995,74513,74514,74516,74518,74520],{"class":244,"line":7198},[6995,74515,21018],{"class":7006},[6995,74517,7024],{"class":7000},[6995,74519,8439],{"class":7006},[6995,74521,7030],{"class":7000},[6995,74523,74524,74526,74528,74530],{"class":244,"line":7211},[6995,74525,21029],{"class":7006},[6995,74527,7746],{"class":7000},[6995,74529,21034],{"class":7012},[6995,74531,7030],{"class":7000},[6995,74533,74534,74536,74538,74540],{"class":244,"line":7220},[6995,74535,21041],{"class":7006},[6995,74537,7024],{"class":7000},[6995,74539,7180],{"class":7006},[6995,74541,7030],{"class":7000},[6995,74543,74544,74546,74548,74550],{"class":244,"line":7226},[6995,74545,21052],{"class":7006},[6995,74547,7024],{"class":7000},[6995,74549,21057],{"class":7012},[6995,74551,7030],{"class":7000},[6995,74553,74554,74556,74558,74560],{"class":244,"line":7238},[6995,74555,21064],{"class":7006},[6995,74557,7746],{"class":7000},[6995,74559,21069],{"class":7012},[6995,74561,7030],{"class":7000},[6995,74563,74564,74566,74568,74570],{"class":244,"line":7250},[6995,74565,7542],{"class":7006},[6995,74567,7024],{"class":7000},[6995,74569,7547],{"class":7006},[6995,74571,7030],{"class":7000},[6995,74573,74574,74576,74578,74580],{"class":244,"line":7263},[6995,74575,19087],{"class":7006},[6995,74577,7746],{"class":7000},[6995,74579,21090],{"class":7006},[6995,74581,7030],{"class":7000},[6995,74583,74584,74586,74588,74590],{"class":244,"line":7275},[6995,74585,21097],{"class":7006},[6995,74587,7746],{"class":7000},[6995,74589,11094],{"class":7006},[6995,74591,7030],{"class":7000},[6995,74593,74594,74596,74598,74600],{"class":244,"line":7288},[6995,74595,21108],{"class":7006},[6995,74597,7024],{"class":7000},[6995,74599,21113],{"class":7012},[6995,74601,7030],{"class":7000},[6995,74603,74604,74606,74608,74610],{"class":244,"line":7300},[6995,74605,21120],{"class":7006},[6995,74607,7024],{"class":7000},[6995,74609,19171],{"class":7012},[6995,74611,7030],{"class":7000},[6995,74613,74614,74616,74618],{"class":244,"line":7313},[6995,74615,21131],{"class":7006},[6995,74617,7024],{"class":7000},[6995,74619,21136],{"class":7012},[6995,74621,74622],{"class":244,"line":7325},[6995,74623,21141],{"class":7000},[6995,74625,74626],{"class":244,"line":7336},[6995,74627,7047],{"class":7000},[41,74629,18327],{"id":18327},[34,74631,21150],{},[34,74633,74634],{},[611,74635,6986],{},[616,74637,74638],{"className":6989,"code":38450,"language":6991,"meta":14,"style":14},[611,74639,74640,74644,74654,74664,74674,74680,74684,74690,74694,74704,74714,74718,74728,74738,74746,74750],{"__ignoreMap":14},[6995,74641,74642],{"class":244,"line":6997},[6995,74643,7001],{"class":7000},[6995,74645,74646,74648,74650,74652],{"class":244,"line":15},[6995,74647,7007],{"class":7006},[6995,74649,5102],{"class":7000},[6995,74651,7013],{"class":7012},[6995,74653,7016],{"class":7000},[6995,74655,74656,74658,74660,74662],{"class":244,"line":154},[6995,74657,7021],{"class":7006},[6995,74659,7024],{"class":7000},[6995,74661,18961],{"class":7006},[6995,74663,7030],{"class":7000},[6995,74665,74666,74668,74670,74672],{"class":244,"line":7033},[6995,74667,7036],{"class":7006},[6995,74669,5102],{"class":7000},[6995,74671,21192],{"class":7012},[6995,74673,7030],{"class":7000},[6995,74675,74676,74678],{"class":244,"line":7044},[6995,74677,7529],{"class":7006},[6995,74679,7532],{"class":7000},[6995,74681,74682],{"class":244,"line":7107},[6995,74683,7537],{"class":7000},[6995,74685,74686,74688],{"class":244,"line":7120},[6995,74687,21209],{"class":7006},[6995,74689,11893],{"class":7000},[6995,74691,74692],{"class":244,"line":7133},[6995,74693,14405],{"class":7000},[6995,74695,74696,74698,74700,74702],{"class":244,"line":7146},[6995,74697,21220],{"class":7006},[6995,74699,5102],{"class":7000},[6995,74701,8439],{"class":7006},[6995,74703,7030],{"class":7000},[6995,74705,74706,74708,74710,74712],{"class":244,"line":7159},[6995,74707,21231],{"class":7006},[6995,74709,5102],{"class":7000},[6995,74711,21236],{"class":7006},[6995,74713,7030],{"class":7000},[6995,74715,74716],{"class":244,"line":7172},[6995,74717,21243],{"class":7000},[6995,74719,74720,74722,74724,74726],{"class":244,"line":7185},[6995,74721,38182],{"class":7006},[6995,74723,7024],{"class":7000},[6995,74725,8689],{"class":7006},[6995,74727,7030],{"class":7000},[6995,74729,74730,74732,74734,74736],{"class":244,"line":7198},[6995,74731,21248],{"class":7006},[6995,74733,7746],{"class":7000},[6995,74735,7180],{"class":7006},[6995,74737,7030],{"class":7000},[6995,74739,74740,74742,74744],{"class":244,"line":7211},[6995,74741,21259],{"class":7006},[6995,74743,7746],{"class":7000},[6995,74745,21264],{"class":7006},[6995,74747,74748],{"class":244,"line":7220},[6995,74749,7615],{"class":7000},[6995,74751,74752],{"class":244,"line":7226},[6995,74753,7047],{"class":7000},[852,74755,74756,74760,74764,74768,74772],{},[59,74757,74758,21280],{},[611,74759,21279],{},[59,74761,74762,21286],{},[611,74763,21285],{},[59,74765,74766,21291],{},[611,74767,12842],{},[59,74769,74770,21297],{},[611,74771,21296],{},[59,74773,74774,38589,74776,38209,74778,181],{},[611,74775,35307],{},[611,74777,8689],{},[611,74779,11094],{},[34,74781,21300,74782,2344],{},[611,74783,4979],{},[852,74785,74786],{},[59,74787,74788,21310,74790,21313],{},[611,74789,21309],{},[611,74791,21309],{},[34,74793,74794],{},[611,74795,7052],{},[616,74797,74798],{"className":6989,"code":38612,"language":6991,"meta":14,"style":14},[611,74799,74800,74804,74814,74824,74830,74834,74844,74854,74864,74874,74884,74894,74904,74914,74924,74934,74944,74954,74964,74974,74980,74984,74994,75004,75014,75022,75026,75030,75040,75050,75060,75068,75072,75076,75080,75084,75094,75104,75114,75124,75134,75144,75154,75164,75174,75184,75194,75204,75214,75224,75234,75244,75250,75254,75258,75268,75278,75288,75298,75308,75318,75328,75338,75348,75358,75368,75378,75388,75398,75408,75418,75428,75434,75438],{"__ignoreMap":14},[6995,74801,74802],{"class":244,"line":6997},[6995,74803,7001],{"class":7000},[6995,74805,74806,74808,74810,74812],{"class":244,"line":15},[6995,74807,7007],{"class":7006},[6995,74809,5102],{"class":7000},[6995,74811,7013],{"class":7012},[6995,74813,7016],{"class":7000},[6995,74815,74816,74818,74820,74822],{"class":244,"line":154},[6995,74817,7021],{"class":7006},[6995,74819,7024],{"class":7000},[6995,74821,18961],{"class":7006},[6995,74823,7030],{"class":7000},[6995,74825,74826,74828],{"class":244,"line":7033},[6995,74827,7732],{"class":7006},[6995,74829,7532],{"class":7000},[6995,74831,74832],{"class":244,"line":7044},[6995,74833,21357],{"class":7000},[6995,74835,74836,74838,74840,74842],{"class":244,"line":7107},[6995,74837,7229],{"class":7006},[6995,74839,7024],{"class":7000},[6995,74841,7180],{"class":7006},[6995,74843,7030],{"class":7000},[6995,74845,74846,74848,74850,74852],{"class":244,"line":7120},[6995,74847,7743],{"class":7006},[6995,74849,7746],{"class":7000},[6995,74851,20884],{"class":7012},[6995,74853,7030],{"class":7000},[6995,74855,74856,74858,74860,74862],{"class":244,"line":7133},[6995,74857,7588],{"class":7006},[6995,74859,7024],{"class":7000},[6995,74861,19080],{"class":7012},[6995,74863,7030],{"class":7000},[6995,74865,74866,74868,74870,74872],{"class":244,"line":7146},[6995,74867,7554],{"class":7006},[6995,74869,7024],{"class":7000},[6995,74871,7180],{"class":7006},[6995,74873,7030],{"class":7000},[6995,74875,74876,74878,74880,74882],{"class":244,"line":7159},[6995,74877,20983],{"class":7006},[6995,74879,7024],{"class":7000},[6995,74881,20988],{"class":7012},[6995,74883,7030],{"class":7000},[6995,74885,74886,74888,74890,74892],{"class":244,"line":7172},[6995,74887,20995],{"class":7006},[6995,74889,7024],{"class":7000},[6995,74891,7570],{"class":7012},[6995,74893,7030],{"class":7000},[6995,74895,74896,74898,74900,74902],{"class":244,"line":7185},[6995,74897,21006],{"class":7006},[6995,74899,7024],{"class":7000},[6995,74901,21011],{"class":7012},[6995,74903,7030],{"class":7000},[6995,74905,74906,74908,74910,74912],{"class":244,"line":7198},[6995,74907,21018],{"class":7006},[6995,74909,7024],{"class":7000},[6995,74911,8439],{"class":7006},[6995,74913,7030],{"class":7000},[6995,74915,74916,74918,74920,74922],{"class":244,"line":7211},[6995,74917,21029],{"class":7006},[6995,74919,7746],{"class":7000},[6995,74921,21034],{"class":7012},[6995,74923,7030],{"class":7000},[6995,74925,74926,74928,74930,74932],{"class":244,"line":7220},[6995,74927,21064],{"class":7006},[6995,74929,7746],{"class":7000},[6995,74931,21069],{"class":7012},[6995,74933,7030],{"class":7000},[6995,74935,74936,74938,74940,74942],{"class":244,"line":7226},[6995,74937,7542],{"class":7006},[6995,74939,7024],{"class":7000},[6995,74941,7547],{"class":7006},[6995,74943,7030],{"class":7000},[6995,74945,74946,74948,74950,74952],{"class":244,"line":7238},[6995,74947,19087],{"class":7006},[6995,74949,7746],{"class":7000},[6995,74951,21090],{"class":7006},[6995,74953,7030],{"class":7000},[6995,74955,74956,74958,74960,74962],{"class":244,"line":7250},[6995,74957,21097],{"class":7006},[6995,74959,7746],{"class":7000},[6995,74961,11094],{"class":7006},[6995,74963,7030],{"class":7000},[6995,74965,74966,74968,74970,74972],{"class":244,"line":7263},[6995,74967,21131],{"class":7006},[6995,74969,7024],{"class":7000},[6995,74971,38787],{"class":7012},[6995,74973,7030],{"class":7000},[6995,74975,74976,74978],{"class":244,"line":7275},[6995,74977,38182],{"class":7006},[6995,74979,7217],{"class":7000},[6995,74981,74982],{"class":244,"line":7288},[6995,74983,15683],{"class":7000},[6995,74985,74986,74988,74990,74992],{"class":244,"line":7300},[6995,74987,38804],{"class":7006},[6995,74989,7024],{"class":7000},[6995,74991,11136],{"class":7006},[6995,74993,7030],{"class":7000},[6995,74995,74996,74998,75000,75002],{"class":244,"line":7313},[6995,74997,38815],{"class":7006},[6995,74999,7024],{"class":7000},[6995,75001,38820],{"class":7006},[6995,75003,7030],{"class":7000},[6995,75005,75006,75008,75010,75012],{"class":244,"line":7325},[6995,75007,38827],{"class":7006},[6995,75009,7024],{"class":7000},[6995,75011,38832],{"class":7012},[6995,75013,7030],{"class":7000},[6995,75015,75016,75018,75020],{"class":244,"line":7336},[6995,75017,38839],{"class":7006},[6995,75019,7024],{"class":7000},[6995,75021,38844],{"class":7012},[6995,75023,75024],{"class":244,"line":7342},[6995,75025,38849],{"class":7000},[6995,75027,75028],{"class":244,"line":7347},[6995,75029,15683],{"class":7000},[6995,75031,75032,75034,75036,75038],{"class":244,"line":7363},[6995,75033,38804],{"class":7006},[6995,75035,7024],{"class":7000},[6995,75037,7180],{"class":7006},[6995,75039,7030],{"class":7000},[6995,75041,75042,75044,75046,75048],{"class":244,"line":7375},[6995,75043,38815],{"class":7006},[6995,75045,7024],{"class":7000},[6995,75047,19903],{"class":7006},[6995,75049,7030],{"class":7000},[6995,75051,75052,75054,75056,75058],{"class":244,"line":7387},[6995,75053,38827],{"class":7006},[6995,75055,7024],{"class":7000},[6995,75057,38882],{"class":7012},[6995,75059,7030],{"class":7000},[6995,75061,75062,75064,75066],{"class":244,"line":7398},[6995,75063,38839],{"class":7006},[6995,75065,7024],{"class":7000},[6995,75067,38893],{"class":7012},[6995,75069,75070],{"class":244,"line":7410},[6995,75071,15811],{"class":7000},[6995,75073,75074],{"class":244,"line":7421},[6995,75075,34858],{"class":7000},[6995,75077,75078],{"class":244,"line":7432},[6995,75079,21500],{"class":7000},[6995,75081,75082],{"class":244,"line":7443},[6995,75083,7537],{"class":7000},[6995,75085,75086,75088,75090,75092],{"class":244,"line":7452},[6995,75087,21509],{"class":7006},[6995,75089,7024],{"class":7000},[6995,75091,6679],{"class":7006},[6995,75093,7030],{"class":7000},[6995,75095,75096,75098,75100,75102],{"class":244,"line":7458},[6995,75097,21520],{"class":7006},[6995,75099,7024],{"class":7000},[6995,75101,21525],{"class":7012},[6995,75103,7030],{"class":7000},[6995,75105,75106,75108,75110,75112],{"class":244,"line":7464},[6995,75107,21532],{"class":7006},[6995,75109,7024],{"class":7000},[6995,75111,19080],{"class":7012},[6995,75113,7030],{"class":7000},[6995,75115,75116,75118,75120,75122],{"class":244,"line":7470},[6995,75117,21543],{"class":7006},[6995,75119,7024],{"class":7000},[6995,75121,21548],{"class":7006},[6995,75123,7030],{"class":7000},[6995,75125,75126,75128,75130,75132],{"class":244,"line":13197},[6995,75127,21555],{"class":7006},[6995,75129,7024],{"class":7000},[6995,75131,21560],{"class":7006},[6995,75133,7030],{"class":7000},[6995,75135,75136,75138,75140,75142],{"class":244,"line":13202},[6995,75137,12652],{"class":7006},[6995,75139,7024],{"class":7000},[6995,75141,7180],{"class":7006},[6995,75143,7030],{"class":7000},[6995,75145,75146,75148,75150,75152],{"class":244,"line":13214},[6995,75147,21577],{"class":7006},[6995,75149,7024],{"class":7000},[6995,75151,21582],{"class":7006},[6995,75153,7030],{"class":7000},[6995,75155,75156,75158,75160,75162],{"class":244,"line":13225},[6995,75157,21589],{"class":7006},[6995,75159,7024],{"class":7000},[6995,75161,11094],{"class":7006},[6995,75163,7030],{"class":7000},[6995,75165,75166,75168,75170,75172],{"class":244,"line":13237},[6995,75167,21600],{"class":7006},[6995,75169,7024],{"class":7000},[6995,75171,7405],{"class":7012},[6995,75173,7030],{"class":7000},[6995,75175,75176,75178,75180,75182],{"class":244,"line":13248},[6995,75177,21611],{"class":7006},[6995,75179,7024],{"class":7000},[6995,75181,7405],{"class":7012},[6995,75183,7030],{"class":7000},[6995,75185,75186,75188,75190,75192],{"class":244,"line":13258},[6995,75187,21622],{"class":7006},[6995,75189,7024],{"class":7000},[6995,75191,11136],{"class":7006},[6995,75193,7030],{"class":7000},[6995,75195,75196,75198,75200,75202],{"class":244,"line":13263},[6995,75197,21633],{"class":7006},[6995,75199,7024],{"class":7000},[6995,75201,21638],{"class":7012},[6995,75203,7030],{"class":7000},[6995,75205,75206,75208,75210,75212],{"class":244,"line":13268},[6995,75207,21645],{"class":7006},[6995,75209,7024],{"class":7000},[6995,75211,21650],{"class":7012},[6995,75213,7030],{"class":7000},[6995,75215,75216,75218,75220,75222],{"class":244,"line":13275},[6995,75217,21657],{"class":7006},[6995,75219,7024],{"class":7000},[6995,75221,7027],{"class":7006},[6995,75223,7030],{"class":7000},[6995,75225,75226,75228,75230,75232],{"class":244,"line":13280},[6995,75227,21668],{"class":7006},[6995,75229,7024],{"class":7000},[6995,75231,21673],{"class":7012},[6995,75233,7030],{"class":7000},[6995,75235,75236,75238,75240,75242],{"class":244,"line":13291},[6995,75237,21680],{"class":7006},[6995,75239,7024],{"class":7000},[6995,75241,7180],{"class":7006},[6995,75243,7030],{"class":7000},[6995,75245,75246,75248],{"class":244,"line":13303},[6995,75247,39074],{"class":7006},[6995,75249,39077],{"class":7000},[6995,75251,75252],{"class":244,"line":13314},[6995,75253,21500],{"class":7000},[6995,75255,75256],{"class":244,"line":13324},[6995,75257,7537],{"class":7000},[6995,75259,75260,75262,75264,75266],{"class":244,"line":13329},[6995,75261,7229],{"class":7006},[6995,75263,7024],{"class":7000},[6995,75265,6679],{"class":7006},[6995,75267,7030],{"class":7000},[6995,75269,75270,75272,75274,75276],{"class":244,"line":13334},[6995,75271,21708],{"class":7006},[6995,75273,7024],{"class":7000},[6995,75275,21525],{"class":7012},[6995,75277,7030],{"class":7000},[6995,75279,75280,75282,75284,75286],{"class":244,"line":13346},[6995,75281,7588],{"class":7006},[6995,75283,7024],{"class":7000},[6995,75285,19080],{"class":7012},[6995,75287,7030],{"class":7000},[6995,75289,75290,75292,75294,75296],{"class":244,"line":13357},[6995,75291,21729],{"class":7006},[6995,75293,7024],{"class":7000},[6995,75295,21734],{"class":7006},[6995,75297,7030],{"class":7000},[6995,75299,75300,75302,75304,75306],{"class":244,"line":13368},[6995,75301,21741],{"class":7006},[6995,75303,7024],{"class":7000},[6995,75305,21746],{"class":7006},[6995,75307,7030],{"class":7000},[6995,75309,75310,75312,75314,75316],{"class":244,"line":13379},[6995,75311,19087],{"class":7006},[6995,75313,7024],{"class":7000},[6995,75315,21757],{"class":7006},[6995,75317,7030],{"class":7000},[6995,75319,75320,75322,75324,75326],{"class":244,"line":13389},[6995,75321,7554],{"class":7006},[6995,75323,7024],{"class":7000},[6995,75325,10984],{"class":7006},[6995,75327,7030],{"class":7000},[6995,75329,75330,75332,75334,75336],{"class":244,"line":13394},[6995,75331,21097],{"class":7006},[6995,75333,7024],{"class":7000},[6995,75335,11094],{"class":7006},[6995,75337,7030],{"class":7000},[6995,75339,75340,75342,75344,75346],{"class":244,"line":13399},[6995,75341,20983],{"class":7006},[6995,75343,7024],{"class":7000},[6995,75345,21788],{"class":7012},[6995,75347,7030],{"class":7000},[6995,75349,75350,75352,75354,75356],{"class":244,"line":13411},[6995,75351,20995],{"class":7006},[6995,75353,7024],{"class":7000},[6995,75355,7405],{"class":7012},[6995,75357,7030],{"class":7000},[6995,75359,75360,75362,75364,75366],{"class":244,"line":13423},[6995,75361,21006],{"class":7006},[6995,75363,7024],{"class":7000},[6995,75365,7405],{"class":7012},[6995,75367,7030],{"class":7000},[6995,75369,75370,75372,75374,75376],{"class":244,"line":13434},[6995,75371,21018],{"class":7006},[6995,75373,7024],{"class":7000},[6995,75375,11136],{"class":7006},[6995,75377,7030],{"class":7000},[6995,75379,75380,75382,75384,75386],{"class":244,"line":13445},[6995,75381,21029],{"class":7006},[6995,75383,7024],{"class":7000},[6995,75385,21829],{"class":7012},[6995,75387,7030],{"class":7000},[6995,75389,75390,75392,75394,75396],{"class":244,"line":13457},[6995,75391,7743],{"class":7006},[6995,75393,7024],{"class":7000},[6995,75395,21840],{"class":7012},[6995,75397,7030],{"class":7000},[6995,75399,75400,75402,75404,75406],{"class":244,"line":13464},[6995,75401,21041],{"class":7006},[6995,75403,7024],{"class":7000},[6995,75405,7511],{"class":7006},[6995,75407,7030],{"class":7000},[6995,75409,75410,75412,75414,75416],{"class":244,"line":13471},[6995,75411,21052],{"class":7006},[6995,75413,7024],{"class":7000},[6995,75415,21861],{"class":7012},[6995,75417,7030],{"class":7000},[6995,75419,75420,75422,75424,75426],{"class":244,"line":13476},[6995,75421,7542],{"class":7006},[6995,75423,7024],{"class":7000},[6995,75425,23178],{"class":7006},[6995,75427,7030],{"class":7000},[6995,75429,75430,75432],{"class":244,"line":13488},[6995,75431,38182],{"class":7006},[6995,75433,39077],{"class":7000},[6995,75435,75436],{"class":244,"line":13499},[6995,75437,21877],{"class":7000},[6995,75439,75440],{"class":244,"line":13511},[6995,75441,7047],{"class":7000},[852,75443,75444,75448,75454,75458,75464,75470,75474,75478,75482,75486,75490,75494,75498,75502,75506,75520,75526],{},[59,75445,75446,21889],{},[611,75447,21888],{},[59,75449,75450,1475,75452,21897],{},[611,75451,12542],{},[611,75453,21896],{},[59,75455,75456,21902],{},[611,75457,21896],{},[59,75459,75460,1475,75462,29024],{},[611,75461,21907],{},[611,75463,21910],{},[59,75465,75466,21917,75468,21920],{},[611,75467,21916],{},[611,75469,12388],{},[59,75471,75472,21925],{},[611,75473,20130],{},[59,75475,75476,21931],{},[611,75477,21930],{},[59,75479,75480,21937],{},[611,75481,21936],{},[59,75483,75484,21942],{},[611,75485,6869],{},[59,75487,75488,21947],{},[611,75489,20130],{},[59,75491,75492,21952],{},[611,75493,12547],{},[59,75495,75496,39326],{},[611,75497,35296],{},[59,75499,75500,39331],{},[611,75501,35293],{},[59,75503,75504,39336],{},[611,75505,35307],{},[59,75507,75508,1475,75510,39345,75512,39349,75514,39353,75516,2231,75518,39360],{},[611,75509,39341],{},[611,75511,39344],{},[611,75513,39348],{},[611,75515,39352],{},[611,75517,39356],{},[611,75519,39359],{},[59,75521,75522,1475,75524,39369],{},[611,75523,39365],{},[611,75525,39368],{},[59,75527,75528,39374,75530,1475,75532,39380,75534],{},[611,75529,35389],{},[175,75531,12194],{"href":18230},[175,75533,22040],{"href":39379},[852,75535,75536,75540,75544],{},[59,75537,75538],{},[611,75539,11810],{},[59,75541,75542],{},[611,75543,12000],{},[59,75545,75546],{},[611,75547,11989],{},[48,75549,21956],{"id":21955},[48,75551,21960],{"id":21959},[852,75553,75554,75558,75568,75572,75586,75592],{},[59,75555,21965,75556,21969],{},[611,75557,21968],{},[59,75559,21972,75560,10670,75562,10670,75564,10670,75566,21985],{},[611,75561,21975],{},[611,75563,21978],{},[611,75565,21981],{},[611,75567,21984],{},[59,75569,21988,75570,21992],{},[611,75571,21991],{},[59,75573,21995,75574,10670,75576,10670,75578,10670,75580,10670,75582,10670,75584],{},[611,75575,21998],{},[611,75577,6768],{},[611,75579,22003],{},[611,75581,22006],{},[611,75583,22009],{},[611,75585,22012],{},[59,75587,22015,75588,22019,75590],{},[611,75589,22018],{},[611,75591,22022],{},[59,75593,22025,75594,10670,75596,10670,75598,10670,75600,22036],{},[611,75595,21975],{},[611,75597,22030],{},[611,75599,22033],{},[611,75601,21984],{},[48,75603,22040],{"id":22039},[852,75605,75606,75608,75610,75612,75614,75616,75618,75620,75622],{},[59,75607,22045],{},[59,75609,22048],{},[59,75611,22051],{},[59,75613,22054],{},[59,75615,22057],{},[59,75617,22060],{},[59,75619,22063],{},[59,75621,22066],{},[59,75623,22069],{},[34,75625,75626,22075],{},[37,75627,22074],{},[41,75629,6900],{"id":6900},[34,75631,22080],{},[34,75633,75634],{},[611,75635,6986],{},[616,75637,75638],{"className":6989,"code":6990,"language":6991,"meta":14,"style":14},[611,75639,75640,75644,75654,75664,75672],{"__ignoreMap":14},[6995,75641,75642],{"class":244,"line":6997},[6995,75643,7001],{"class":7000},[6995,75645,75646,75648,75650,75652],{"class":244,"line":15},[6995,75647,7007],{"class":7006},[6995,75649,5102],{"class":7000},[6995,75651,7013],{"class":7012},[6995,75653,7016],{"class":7000},[6995,75655,75656,75658,75660,75662],{"class":244,"line":154},[6995,75657,7021],{"class":7006},[6995,75659,7024],{"class":7000},[6995,75661,7027],{"class":7006},[6995,75663,7030],{"class":7000},[6995,75665,75666,75668,75670],{"class":244,"line":7033},[6995,75667,7036],{"class":7006},[6995,75669,5102],{"class":7000},[6995,75671,7041],{"class":7012},[6995,75673,75674],{"class":244,"line":7044},[6995,75675,7047],{"class":7000},[34,75677,75678],{},[611,75679,7052],{},[616,75681,75682],{"className":6989,"code":39529,"language":6991,"meta":14,"style":14},[611,75683,75684,75688,75698,75708,75714,75718,75728,75738,75748,75758,75768,75778,75788,75798,75808,75818,75822],{"__ignoreMap":14},[6995,75685,75686],{"class":244,"line":6997},[6995,75687,7001],{"class":7000},[6995,75689,75690,75692,75694,75696],{"class":244,"line":15},[6995,75691,7007],{"class":7006},[6995,75693,5102],{"class":7000},[6995,75695,7013],{"class":7012},[6995,75697,7016],{"class":7000},[6995,75699,75700,75702,75704,75706],{"class":244,"line":154},[6995,75701,7021],{"class":7006},[6995,75703,7024],{"class":7000},[6995,75705,7027],{"class":7006},[6995,75707,7030],{"class":7000},[6995,75709,75710,75712],{"class":244,"line":7033},[6995,75711,7732],{"class":7006},[6995,75713,7532],{"class":7000},[6995,75715,75716],{"class":244,"line":7044},[6995,75717,7537],{"class":7000},[6995,75719,75720,75722,75724,75726],{"class":244,"line":7107},[6995,75721,22172],{"class":7006},[6995,75723,7746],{"class":7000},[6995,75725,21236],{"class":7006},[6995,75727,7030],{"class":7000},[6995,75729,75730,75732,75734,75736],{"class":244,"line":7120},[6995,75731,22183],{"class":7006},[6995,75733,7746],{"class":7000},[6995,75735,21011],{"class":7012},[6995,75737,7030],{"class":7000},[6995,75739,75740,75742,75744,75746],{"class":244,"line":7133},[6995,75741,29250],{"class":7006},[6995,75743,7024],{"class":7000},[6995,75745,29255],{"class":7006},[6995,75747,7030],{"class":7000},[6995,75749,75750,75752,75754,75756],{"class":244,"line":7146},[6995,75751,22194],{"class":7006},[6995,75753,7746],{"class":7000},[6995,75755,22199],{"class":7012},[6995,75757,7030],{"class":7000},[6995,75759,75760,75762,75764,75766],{"class":244,"line":7159},[6995,75761,29272],{"class":7006},[6995,75763,7024],{"class":7000},[6995,75765,8689],{"class":7006},[6995,75767,7030],{"class":7000},[6995,75769,75770,75772,75774,75776],{"class":244,"line":7172},[6995,75771,7241],{"class":7006},[6995,75773,7024],{"class":7000},[6995,75775,22210],{"class":7006},[6995,75777,7030],{"class":7000},[6995,75779,75780,75782,75784,75786],{"class":244,"line":7185},[6995,75781,7291],{"class":7006},[6995,75783,7024],{"class":7000},[6995,75785,7167],{"class":7006},[6995,75787,7030],{"class":7000},[6995,75789,75790,75792,75794,75796],{"class":244,"line":7198},[6995,75791,7316],{"class":7006},[6995,75793,7024],{"class":7000},[6995,75795,7180],{"class":7006},[6995,75797,7030],{"class":7000},[6995,75799,75800,75802,75804,75806],{"class":244,"line":7211},[6995,75801,7266],{"class":7006},[6995,75803,7024],{"class":7000},[6995,75805,22241],{"class":7006},[6995,75807,7030],{"class":7000},[6995,75809,75810,75812,75814,75816],{"class":244,"line":7220},[6995,75811,22259],{"class":7006},[6995,75813,7024],{"class":7000},[6995,75815,22264],{"class":7006},[6995,75817,7030],{"class":7000},[6995,75819,75820],{"class":244,"line":7226},[6995,75821,7615],{"class":7000},[6995,75823,75824],{"class":244,"line":7238},[6995,75825,7047],{"class":7000},[852,75827,75828,75832,75836,75840,75844,75848,75852],{},[59,75829,75830,22281],{},[611,75831,18147],{},[59,75833,75834,22287],{},[611,75835,22286],{},[59,75837,75838,22292],{},[611,75839,18150],{},[59,75841,75842,22298],{},[611,75843,22297],{},[59,75845,75846,22303],{},[611,75847,16328],{},[59,75849,75850,29373],{},[611,75851,25502],{},[59,75853,75854,29378],{},[611,75855,25499],{},[34,75857,29381,75858,2344],{},[611,75859,4979],{},[34,75861,75862],{},[611,75863,6986],{},[616,75865,75866],{"className":6989,"code":29390,"language":6991,"meta":14,"style":14},[611,75867,75868,75872,75882,75892,75902,75908,75916,75920],{"__ignoreMap":14},[6995,75869,75870],{"class":244,"line":6997},[6995,75871,7001],{"class":7000},[6995,75873,75874,75876,75878,75880],{"class":244,"line":15},[6995,75875,7007],{"class":7006},[6995,75877,5102],{"class":7000},[6995,75879,7013],{"class":7012},[6995,75881,7016],{"class":7000},[6995,75883,75884,75886,75888,75890],{"class":244,"line":154},[6995,75885,7021],{"class":7006},[6995,75887,7024],{"class":7000},[6995,75889,7027],{"class":7006},[6995,75891,7030],{"class":7000},[6995,75893,75894,75896,75898,75900],{"class":244,"line":7033},[6995,75895,7036],{"class":7006},[6995,75897,5102],{"class":7000},[6995,75899,17939],{"class":7012},[6995,75901,7030],{"class":7000},[6995,75903,75904,75906],{"class":244,"line":7044},[6995,75905,29431],{"class":7006},[6995,75907,7092],{"class":7000},[6995,75909,75910,75912,75914],{"class":244,"line":7107},[6995,75911,29438],{"class":7006},[6995,75913,7024],{"class":7000},[6995,75915,19668],{"class":7006},[6995,75917,75918],{"class":244,"line":7120},[6995,75919,15327],{"class":7000},[6995,75921,75922],{"class":244,"line":7133},[6995,75923,7047],{"class":7000},[852,75925,75926],{},[59,75927,75928,29457],{},[611,75929,18137],{},[34,75931,75932],{},[611,75933,7052],{},[616,75935,75936],{"className":6989,"code":39784,"language":6991,"meta":14,"style":14},[611,75937,75938,75942,75952,75962,75968,75978,75988,75998,76008,76018,76028,76038,76048,76058,76068,76074,76078,76088,76098,76108,76118,76128,76138,76148,76158,76168,76178,76188,76198,76208,76218,76228,76238,76248,76258,76268,76278,76288,76298,76308,76318,76328,76338,76348,76358,76366,76370,76374,76384,76394,76404,76414,76424,76434,76444,76454,76464,76474,76484,76494,76504,76514,76524,76534,76544,76554,76564,76574,76584,76594,76604,76614,76624,76634,76644,76654,76662,76666,76670,76674],{"__ignoreMap":14},[6995,75939,75940],{"class":244,"line":6997},[6995,75941,7001],{"class":7000},[6995,75943,75944,75946,75948,75950],{"class":244,"line":15},[6995,75945,7066],{"class":7006},[6995,75947,7024],{"class":7000},[6995,75949,7071],{"class":7006},[6995,75951,7030],{"class":7000},[6995,75953,75954,75956,75958,75960],{"class":244,"line":154},[6995,75955,7078],{"class":7006},[6995,75957,7024],{"class":7000},[6995,75959,7013],{"class":7012},[6995,75961,7030],{"class":7000},[6995,75963,75964,75966],{"class":244,"line":7033},[6995,75965,7089],{"class":7006},[6995,75967,7092],{"class":7000},[6995,75969,75970,75972,75974,75976],{"class":244,"line":7044},[6995,75971,7097],{"class":7006},[6995,75973,7746],{"class":7000},[6995,75975,21236],{"class":7006},[6995,75977,7030],{"class":7000},[6995,75979,75980,75982,75984,75986],{"class":244,"line":7107},[6995,75981,7110],{"class":7006},[6995,75983,7746],{"class":7000},[6995,75985,21011],{"class":7012},[6995,75987,7030],{"class":7000},[6995,75989,75990,75992,75994,75996],{"class":244,"line":7120},[6995,75991,29521],{"class":7006},[6995,75993,7024],{"class":7000},[6995,75995,29255],{"class":7006},[6995,75997,7030],{"class":7000},[6995,75999,76000,76002,76004,76006],{"class":244,"line":7133},[6995,76001,7136],{"class":7006},[6995,76003,7746],{"class":7000},[6995,76005,22199],{"class":7012},[6995,76007,7030],{"class":7000},[6995,76009,76010,76012,76014,76016],{"class":244,"line":7146},[6995,76011,29542],{"class":7006},[6995,76013,7024],{"class":7000},[6995,76015,8689],{"class":7006},[6995,76017,7030],{"class":7000},[6995,76019,76020,76022,76024,76026],{"class":244,"line":7159},[6995,76021,7149],{"class":7006},[6995,76023,7024],{"class":7000},[6995,76025,22210],{"class":7006},[6995,76027,7030],{"class":7000},[6995,76029,76030,76032,76034,76036],{"class":244,"line":7172},[6995,76031,7162],{"class":7006},[6995,76033,7024],{"class":7000},[6995,76035,7167],{"class":7006},[6995,76037,7030],{"class":7000},[6995,76039,76040,76042,76044,76046],{"class":244,"line":7185},[6995,76041,7175],{"class":7006},[6995,76043,7024],{"class":7000},[6995,76045,7180],{"class":7006},[6995,76047,7030],{"class":7000},[6995,76049,76050,76052,76054,76056],{"class":244,"line":7198},[6995,76051,7188],{"class":7006},[6995,76053,7024],{"class":7000},[6995,76055,22241],{"class":7006},[6995,76057,7030],{"class":7000},[6995,76059,76060,76062,76064,76066],{"class":244,"line":7211},[6995,76061,7123],{"class":7006},[6995,76063,7024],{"class":7000},[6995,76065,22264],{"class":7006},[6995,76067,7030],{"class":7000},[6995,76069,76070,76072],{"class":244,"line":7220},[6995,76071,7214],{"class":7006},[6995,76073,7217],{"class":7000},[6995,76075,76076],{"class":244,"line":7226},[6995,76077,7223],{"class":7000},[6995,76079,76080,76082,76084,76086],{"class":244,"line":7238},[6995,76081,7229],{"class":7006},[6995,76083,7024],{"class":7000},[6995,76085,7180],{"class":7006},[6995,76087,7030],{"class":7000},[6995,76089,76090,76092,76094,76096],{"class":244,"line":7250},[6995,76091,7241],{"class":7006},[6995,76093,7024],{"class":7000},[6995,76095,39945],{"class":7006},[6995,76097,7030],{"class":7000},[6995,76099,76100,76102,76104,76106],{"class":244,"line":7263},[6995,76101,39952],{"class":7006},[6995,76103,7024],{"class":7000},[6995,76105,7180],{"class":7006},[6995,76107,7030],{"class":7000},[6995,76109,76110,76112,76114,76116],{"class":244,"line":7275},[6995,76111,39963],{"class":7006},[6995,76113,7024],{"class":7000},[6995,76115,7405],{"class":7012},[6995,76117,7030],{"class":7000},[6995,76119,76120,76122,76124,76126],{"class":244,"line":7288},[6995,76121,39974],{"class":7006},[6995,76123,7024],{"class":7000},[6995,76125,39945],{"class":7006},[6995,76127,7030],{"class":7000},[6995,76129,76130,76132,76134,76136],{"class":244,"line":7300},[6995,76131,39985],{"class":7006},[6995,76133,7024],{"class":7000},[6995,76135,39990],{"class":7012},[6995,76137,7030],{"class":7000},[6995,76139,76140,76142,76144,76146],{"class":244,"line":7313},[6995,76141,7253],{"class":7006},[6995,76143,7024],{"class":7000},[6995,76145,39990],{"class":7012},[6995,76147,7030],{"class":7000},[6995,76149,76150,76152,76154,76156],{"class":244,"line":7325},[6995,76151,8585],{"class":7006},[6995,76153,7024],{"class":7000},[6995,76155,7180],{"class":7006},[6995,76157,7030],{"class":7000},[6995,76159,76160,76162,76164,76166],{"class":244,"line":7336},[6995,76161,8596],{"class":7006},[6995,76163,7024],{"class":7000},[6995,76165,7405],{"class":7012},[6995,76167,7030],{"class":7000},[6995,76169,76170,76172,76174,76176],{"class":244,"line":7342},[6995,76171,22248],{"class":7006},[6995,76173,7024],{"class":7000},[6995,76175,40031],{"class":7006},[6995,76177,7030],{"class":7000},[6995,76179,76180,76182,76184,76186],{"class":244,"line":7347},[6995,76181,40038],{"class":7006},[6995,76183,7024],{"class":7000},[6995,76185,40043],{"class":7012},[6995,76187,7030],{"class":7000},[6995,76189,76190,76192,76194,76196],{"class":244,"line":7363},[6995,76191,7266],{"class":7006},[6995,76193,7024],{"class":7000},[6995,76195,40031],{"class":7006},[6995,76197,7030],{"class":7000},[6995,76199,76200,76202,76204,76206],{"class":244,"line":7375},[6995,76201,40060],{"class":7006},[6995,76203,7024],{"class":7000},[6995,76205,7180],{"class":7006},[6995,76207,7030],{"class":7000},[6995,76209,76210,76212,76214,76216],{"class":244,"line":7387},[6995,76211,40071],{"class":7006},[6995,76213,7024],{"class":7000},[6995,76215,7405],{"class":7012},[6995,76217,7030],{"class":7000},[6995,76219,76220,76222,76224,76226],{"class":244,"line":7398},[6995,76221,40082],{"class":7006},[6995,76223,7024],{"class":7000},[6995,76225,40031],{"class":7006},[6995,76227,7030],{"class":7000},[6995,76229,76230,76232,76234,76236],{"class":244,"line":7410},[6995,76231,40093],{"class":7006},[6995,76233,7024],{"class":7000},[6995,76235,40043],{"class":7012},[6995,76237,7030],{"class":7000},[6995,76239,76240,76242,76244,76246],{"class":244,"line":7421},[6995,76241,7278],{"class":7006},[6995,76243,7024],{"class":7000},[6995,76245,40043],{"class":7012},[6995,76247,7030],{"class":7000},[6995,76249,76250,76252,76254,76256],{"class":244,"line":7432},[6995,76251,7291],{"class":7006},[6995,76253,7024],{"class":7000},[6995,76255,7180],{"class":7006},[6995,76257,7030],{"class":7000},[6995,76259,76260,76262,76264,76266],{"class":244,"line":7443},[6995,76261,40124],{"class":7006},[6995,76263,7024],{"class":7000},[6995,76265,7180],{"class":7006},[6995,76267,7030],{"class":7000},[6995,76269,76270,76272,76274,76276],{"class":244,"line":7452},[6995,76271,40135],{"class":7006},[6995,76273,7024],{"class":7000},[6995,76275,7405],{"class":7012},[6995,76277,7030],{"class":7000},[6995,76279,76280,76282,76284,76286],{"class":244,"line":7458},[6995,76281,40146],{"class":7006},[6995,76283,7024],{"class":7000},[6995,76285,7180],{"class":7006},[6995,76287,7030],{"class":7000},[6995,76289,76290,76292,76294,76296],{"class":244,"line":7464},[6995,76291,40157],{"class":7006},[6995,76293,7024],{"class":7000},[6995,76295,7405],{"class":7012},[6995,76297,7030],{"class":7000},[6995,76299,76300,76302,76304,76306],{"class":244,"line":7470},[6995,76301,7303],{"class":7006},[6995,76303,7024],{"class":7000},[6995,76305,7405],{"class":7012},[6995,76307,7030],{"class":7000},[6995,76309,76310,76312,76314,76316],{"class":244,"line":13197},[6995,76311,7316],{"class":7006},[6995,76313,7024],{"class":7000},[6995,76315,7180],{"class":7006},[6995,76317,7030],{"class":7000},[6995,76319,76320,76322,76324,76326],{"class":244,"line":13202},[6995,76321,40188],{"class":7006},[6995,76323,7024],{"class":7000},[6995,76325,7180],{"class":7006},[6995,76327,7030],{"class":7000},[6995,76329,76330,76332,76334,76336],{"class":244,"line":13214},[6995,76331,40199],{"class":7006},[6995,76333,7024],{"class":7000},[6995,76335,7405],{"class":7012},[6995,76337,7030],{"class":7000},[6995,76339,76340,76342,76344,76346],{"class":244,"line":13225},[6995,76341,40210],{"class":7006},[6995,76343,7024],{"class":7000},[6995,76345,7180],{"class":7006},[6995,76347,7030],{"class":7000},[6995,76349,76350,76352,76354,76356],{"class":244,"line":13237},[6995,76351,40221],{"class":7006},[6995,76353,7024],{"class":7000},[6995,76355,7405],{"class":7012},[6995,76357,7030],{"class":7000},[6995,76359,76360,76362,76364],{"class":244,"line":13248},[6995,76361,7328],{"class":7006},[6995,76363,7024],{"class":7000},[6995,76365,7333],{"class":7012},[6995,76367,76368],{"class":244,"line":13258},[6995,76369,7339],{"class":7000},[6995,76371,76372],{"class":244,"line":13263},[6995,76373,7223],{"class":7000},[6995,76375,76376,76378,76380,76382],{"class":244,"line":13268},[6995,76377,7229],{"class":7006},[6995,76379,7024],{"class":7000},[6995,76381,11136],{"class":7006},[6995,76383,7030],{"class":7000},[6995,76385,76386,76388,76390,76392],{"class":244,"line":13275},[6995,76387,7241],{"class":7006},[6995,76389,7024],{"class":7000},[6995,76391,40262],{"class":7006},[6995,76393,7030],{"class":7000},[6995,76395,76396,76398,76400,76402],{"class":244,"line":13280},[6995,76397,39952],{"class":7006},[6995,76399,7024],{"class":7000},[6995,76401,7180],{"class":7006},[6995,76403,7030],{"class":7000},[6995,76405,76406,76408,76410,76412],{"class":244,"line":13291},[6995,76407,39963],{"class":7006},[6995,76409,7024],{"class":7000},[6995,76411,7405],{"class":7012},[6995,76413,7030],{"class":7000},[6995,76415,76416,76418,76420,76422],{"class":244,"line":13303},[6995,76417,39974],{"class":7006},[6995,76419,7024],{"class":7000},[6995,76421,40262],{"class":7006},[6995,76423,7030],{"class":7000},[6995,76425,76426,76428,76430,76432],{"class":244,"line":13314},[6995,76427,39985],{"class":7006},[6995,76429,7024],{"class":7000},[6995,76431,40303],{"class":7012},[6995,76433,7030],{"class":7000},[6995,76435,76436,76438,76440,76442],{"class":244,"line":13324},[6995,76437,7253],{"class":7006},[6995,76439,7024],{"class":7000},[6995,76441,40303],{"class":7012},[6995,76443,7030],{"class":7000},[6995,76445,76446,76448,76450,76452],{"class":244,"line":13329},[6995,76447,8585],{"class":7006},[6995,76449,7024],{"class":7000},[6995,76451,7180],{"class":7006},[6995,76453,7030],{"class":7000},[6995,76455,76456,76458,76460,76462],{"class":244,"line":13334},[6995,76457,8596],{"class":7006},[6995,76459,7024],{"class":7000},[6995,76461,7405],{"class":7012},[6995,76463,7030],{"class":7000},[6995,76465,76466,76468,76470,76472],{"class":244,"line":13346},[6995,76467,22248],{"class":7006},[6995,76469,7024],{"class":7000},[6995,76471,7180],{"class":7006},[6995,76473,7030],{"class":7000},[6995,76475,76476,76478,76480,76482],{"class":244,"line":13357},[6995,76477,40038],{"class":7006},[6995,76479,7024],{"class":7000},[6995,76481,7405],{"class":7012},[6995,76483,7030],{"class":7000},[6995,76485,76486,76488,76490,76492],{"class":244,"line":13368},[6995,76487,7266],{"class":7006},[6995,76489,7024],{"class":7000},[6995,76491,7180],{"class":7006},[6995,76493,7030],{"class":7000},[6995,76495,76496,76498,76500,76502],{"class":244,"line":13379},[6995,76497,40060],{"class":7006},[6995,76499,7024],{"class":7000},[6995,76501,7180],{"class":7006},[6995,76503,7030],{"class":7000},[6995,76505,76506,76508,76510,76512],{"class":244,"line":13389},[6995,76507,40071],{"class":7006},[6995,76509,7024],{"class":7000},[6995,76511,7405],{"class":7012},[6995,76513,7030],{"class":7000},[6995,76515,76516,76518,76520,76522],{"class":244,"line":13394},[6995,76517,40082],{"class":7006},[6995,76519,7024],{"class":7000},[6995,76521,7180],{"class":7006},[6995,76523,7030],{"class":7000},[6995,76525,76526,76528,76530,76532],{"class":244,"line":13399},[6995,76527,40093],{"class":7006},[6995,76529,7024],{"class":7000},[6995,76531,7405],{"class":7012},[6995,76533,7030],{"class":7000},[6995,76535,76536,76538,76540,76542],{"class":244,"line":13411},[6995,76537,7278],{"class":7006},[6995,76539,7024],{"class":7000},[6995,76541,7405],{"class":7012},[6995,76543,7030],{"class":7000},[6995,76545,76546,76548,76550,76552],{"class":244,"line":13423},[6995,76547,7291],{"class":7006},[6995,76549,7024],{"class":7000},[6995,76551,7180],{"class":7006},[6995,76553,7030],{"class":7000},[6995,76555,76556,76558,76560,76562],{"class":244,"line":13434},[6995,76557,40124],{"class":7006},[6995,76559,7024],{"class":7000},[6995,76561,7180],{"class":7006},[6995,76563,7030],{"class":7000},[6995,76565,76566,76568,76570,76572],{"class":244,"line":13445},[6995,76567,40135],{"class":7006},[6995,76569,7024],{"class":7000},[6995,76571,7405],{"class":7012},[6995,76573,7030],{"class":7000},[6995,76575,76576,76578,76580,76582],{"class":244,"line":13457},[6995,76577,40146],{"class":7006},[6995,76579,7024],{"class":7000},[6995,76581,7180],{"class":7006},[6995,76583,7030],{"class":7000},[6995,76585,76586,76588,76590,76592],{"class":244,"line":13464},[6995,76587,40157],{"class":7006},[6995,76589,7024],{"class":7000},[6995,76591,7405],{"class":7012},[6995,76593,7030],{"class":7000},[6995,76595,76596,76598,76600,76602],{"class":244,"line":13471},[6995,76597,7303],{"class":7006},[6995,76599,7024],{"class":7000},[6995,76601,7405],{"class":7012},[6995,76603,7030],{"class":7000},[6995,76605,76606,76608,76610,76612],{"class":244,"line":13476},[6995,76607,7316],{"class":7006},[6995,76609,7024],{"class":7000},[6995,76611,7180],{"class":7006},[6995,76613,7030],{"class":7000},[6995,76615,76616,76618,76620,76622],{"class":244,"line":13488},[6995,76617,40188],{"class":7006},[6995,76619,7024],{"class":7000},[6995,76621,7180],{"class":7006},[6995,76623,7030],{"class":7000},[6995,76625,76626,76628,76630,76632],{"class":244,"line":13499},[6995,76627,40199],{"class":7006},[6995,76629,7024],{"class":7000},[6995,76631,7405],{"class":7012},[6995,76633,7030],{"class":7000},[6995,76635,76636,76638,76640,76642],{"class":244,"line":13511},[6995,76637,40210],{"class":7006},[6995,76639,7024],{"class":7000},[6995,76641,7180],{"class":7006},[6995,76643,7030],{"class":7000},[6995,76645,76646,76648,76650,76652],{"class":244,"line":13522},[6995,76647,40221],{"class":7006},[6995,76649,7024],{"class":7000},[6995,76651,7405],{"class":7012},[6995,76653,7030],{"class":7000},[6995,76655,76656,76658,76660],{"class":244,"line":13532},[6995,76657,7328],{"class":7006},[6995,76659,7024],{"class":7000},[6995,76661,7333],{"class":7012},[6995,76663,76664],{"class":244,"line":13537},[6995,76665,7455],{"class":7000},[6995,76667,76668],{"class":244,"line":13542},[6995,76669,7461],{"class":7000},[6995,76671,76672],{"class":244,"line":13549},[6995,76673,7467],{"class":7000},[6995,76675,76676],{"class":244,"line":13554},[6995,76677,7047],{"class":7000},[852,76679,76680,76692,76696,76700,76708,76712,76716,76724,76728,76732,76740,76744,76748,76756,76760],{},[59,76681,76682,40556,76684],{},[611,76683,18109],{},[852,76685,76686,76688,76690],{},[59,76687,18115],{},[59,76689,18118],{},[59,76691,18121],{},[59,76693,76694,40569],{},[611,76695,35322],{},[59,76697,76698,40574],{},[611,76699,35328],{},[59,76701,76702,40579,76704,1475,76706],{},[611,76703,18147],{},[611,76705,35322],{},[611,76707,35328],{},[59,76709,76710,40588],{},[611,76711,35334],{},[59,76713,76714,40593],{},[611,76715,35340],{},[59,76717,76718,40579,76720,1475,76722],{},[611,76719,22030],{},[611,76721,35334],{},[611,76723,35340],{},[59,76725,76726,40606],{},[611,76727,35346],{},[59,76729,76730,40611],{},[611,76731,35352],{},[59,76733,76734,40579,76736,1475,76738],{},[611,76735,22033],{},[611,76737,35346],{},[611,76739,35352],{},[59,76741,76742,40624],{},[611,76743,35358],{},[59,76745,76746,40629],{},[611,76747,35364],{},[59,76749,76750,40579,76752,1475,76754],{},[611,76751,18150],{},[611,76753,35358],{},[611,76755,35364],{},[59,76757,76758,40642],{},[611,76759,8665],{},[59,76761,76762,40647,76764,2231,76766,1475,76768],{},[611,76763,22297],{},[611,76765,35358],{},[611,76767,35364],{},[611,76769,8665],{},[34,76771,18124,76772,18127,76774,18130,76776,18134,76778,18138],{},[611,76773,18109],{},[611,76775,6869],{},[611,76777,18133],{},[611,76779,18137],{},[34,76781,18141,76782,18144,76784,2231,76786,18151,76788,8016,76790,18156,76792,18159,76794,18163],{},[8009,76783,8011],{},[611,76785,18147],{},[611,76787,18150],{},[611,76789,8015],{},[8009,76791,8019],{},[611,76793,8015],{},[611,76795,18162],{},[41,76797,18014],{"id":18014},[34,76799,22737],{},[34,76801,76802],{},[611,76803,6986],{},[616,76805,76806],{"className":6989,"code":22744,"language":6991,"meta":14,"style":14},[611,76807,76808,76812,76822,76832,76842,76848,76852,76862,76872,76878,76888,76896,76900,76904],{"__ignoreMap":14},[6995,76809,76810],{"class":244,"line":6997},[6995,76811,7001],{"class":7000},[6995,76813,76814,76816,76818,76820],{"class":244,"line":15},[6995,76815,7007],{"class":7006},[6995,76817,5102],{"class":7000},[6995,76819,7013],{"class":7012},[6995,76821,7016],{"class":7000},[6995,76823,76824,76826,76828,76830],{"class":244,"line":154},[6995,76825,7021],{"class":7006},[6995,76827,7024],{"class":7000},[6995,76829,7027],{"class":7006},[6995,76831,7030],{"class":7000},[6995,76833,76834,76836,76838,76840],{"class":244,"line":7033},[6995,76835,7036],{"class":7006},[6995,76837,5102],{"class":7000},[6995,76839,22779],{"class":7012},[6995,76841,7030],{"class":7000},[6995,76843,76844,76846],{"class":244,"line":7044},[6995,76845,7529],{"class":7006},[6995,76847,7811],{"class":7000},[6995,76849,76850],{"class":244,"line":7107},[6995,76851,7537],{"class":7000},[6995,76853,76854,76856,76858,76860],{"class":244,"line":7120},[6995,76855,21259],{"class":7006},[6995,76857,7024],{"class":7000},[6995,76859,22800],{"class":7006},[6995,76861,7030],{"class":7000},[6995,76863,76864,76866,76868,76870],{"class":244,"line":7133},[6995,76865,21248],{"class":7006},[6995,76867,7024],{"class":7000},[6995,76869,7180],{"class":7006},[6995,76871,7030],{"class":7000},[6995,76873,76874,76876],{"class":244,"line":7146},[6995,76875,22817],{"class":7006},[6995,76877,7092],{"class":7000},[6995,76879,76880,76882,76884,76886],{"class":244,"line":7159},[6995,76881,22824],{"class":7006},[6995,76883,7024],{"class":7000},[6995,76885,22829],{"class":7012},[6995,76887,7030],{"class":7000},[6995,76889,76890,76892,76894],{"class":244,"line":7172},[6995,76891,22836],{"class":7006},[6995,76893,7024],{"class":7000},[6995,76895,22841],{"class":7012},[6995,76897,76898],{"class":244,"line":7185},[6995,76899,15327],{"class":7000},[6995,76901,76902],{"class":244,"line":7198},[6995,76903,7615],{"class":7000},[6995,76905,76906],{"class":244,"line":7211},[6995,76907,7047],{"class":7000},[852,76909,76910,76914,76920,76924],{},[59,76911,76912,22860],{},[611,76913,12842],{},[59,76915,76916,22865,76918,181],{},[611,76917,21296],{},[611,76919,7180],{},[59,76921,76922,22873],{},[611,76923,22872],{},[59,76925,76926,22879],{},[611,76927,22878],{},[34,76929,76930],{},[611,76931,7052],{},[616,76933,76934],{"className":6989,"code":22886,"language":6991,"meta":14,"style":14},[611,76935,76936,76940,76950,76960,76966,76970,76980,76990,77000,77010,77020,77030,77040,77050,77058,77062],{"__ignoreMap":14},[6995,76937,76938],{"class":244,"line":6997},[6995,76939,7001],{"class":7000},[6995,76941,76942,76944,76946,76948],{"class":244,"line":15},[6995,76943,7007],{"class":7006},[6995,76945,7024],{"class":7000},[6995,76947,7013],{"class":7012},[6995,76949,7016],{"class":7000},[6995,76951,76952,76954,76956,76958],{"class":244,"line":154},[6995,76953,7021],{"class":7006},[6995,76955,7024],{"class":7000},[6995,76957,7027],{"class":7006},[6995,76959,7030],{"class":7000},[6995,76961,76962,76964],{"class":244,"line":7033},[6995,76963,7732],{"class":7006},[6995,76965,7532],{"class":7000},[6995,76967,76968],{"class":244,"line":7044},[6995,76969,19059],{"class":7000},[6995,76971,76972,76974,76976,76978],{"class":244,"line":7107},[6995,76973,12965],{"class":7006},[6995,76975,7024],{"class":7000},[6995,76977,7167],{"class":7006},[6995,76979,7030],{"class":7000},[6995,76981,76982,76984,76986,76988],{"class":244,"line":7120},[6995,76983,7229],{"class":7006},[6995,76985,7024],{"class":7000},[6995,76987,7180],{"class":7006},[6995,76989,7030],{"class":7000},[6995,76991,76992,76994,76996,76998],{"class":244,"line":7133},[6995,76993,8467],{"class":7006},[6995,76995,7024],{"class":7000},[6995,76997,22951],{"class":7006},[6995,76999,7030],{"class":7000},[6995,77001,77002,77004,77006,77008],{"class":244,"line":7146},[6995,77003,13052],{"class":7006},[6995,77005,7024],{"class":7000},[6995,77007,22962],{"class":7006},[6995,77009,7030],{"class":7000},[6995,77011,77012,77014,77016,77018],{"class":244,"line":7159},[6995,77013,11924],{"class":7006},[6995,77015,7024],{"class":7000},[6995,77017,22973],{"class":7012},[6995,77019,7030],{"class":7000},[6995,77021,77022,77024,77026,77028],{"class":244,"line":7172},[6995,77023,22980],{"class":7006},[6995,77025,7024],{"class":7000},[6995,77027,20884],{"class":7012},[6995,77029,7030],{"class":7000},[6995,77031,77032,77034,77036,77038],{"class":244,"line":7185},[6995,77033,22991],{"class":7006},[6995,77035,7024],{"class":7000},[6995,77037,19080],{"class":7012},[6995,77039,7030],{"class":7000},[6995,77041,77042,77044,77046,77048],{"class":244,"line":7198},[6995,77043,21018],{"class":7006},[6995,77045,7024],{"class":7000},[6995,77047,7511],{"class":7006},[6995,77049,7030],{"class":7000},[6995,77051,77052,77054,77056],{"class":244,"line":7211},[6995,77053,21029],{"class":7006},[6995,77055,7024],{"class":7000},[6995,77057,23016],{"class":7012},[6995,77059,77060],{"class":244,"line":7220},[6995,77061,21877],{"class":7000},[6995,77063,77064],{"class":244,"line":7226},[6995,77065,7047],{"class":7000},[852,77067,77068,77074],{},[59,77069,77070,23031,77072,8764],{},[611,77071,6869],{},[611,77073,4979],{},[59,77075,77076,23038],{},[611,77077,21309],{},[34,77079,77080],{},[611,77081,6986],{},[616,77083,77084],{"className":6989,"code":23045,"language":6991,"meta":14,"style":14},[611,77085,77086,77090,77100,77110,77120,77126,77136,77142,77150,77154,77158],{"__ignoreMap":14},[6995,77087,77088],{"class":244,"line":6997},[6995,77089,7001],{"class":7000},[6995,77091,77092,77094,77096,77098],{"class":244,"line":15},[6995,77093,7007],{"class":7006},[6995,77095,7024],{"class":7000},[6995,77097,7013],{"class":7012},[6995,77099,7030],{"class":7000},[6995,77101,77102,77104,77106,77108],{"class":244,"line":154},[6995,77103,7021],{"class":7006},[6995,77105,7024],{"class":7000},[6995,77107,7071],{"class":7006},[6995,77109,7030],{"class":7000},[6995,77111,77112,77114,77116,77118],{"class":244,"line":7033},[6995,77113,7036],{"class":7006},[6995,77115,7024],{"class":7000},[6995,77117,22779],{"class":7012},[6995,77119,7030],{"class":7000},[6995,77121,77122,77124],{"class":244,"line":7044},[6995,77123,7529],{"class":7006},[6995,77125,7092],{"class":7000},[6995,77127,77128,77130,77132,77134],{"class":244,"line":7107},[6995,77129,23092],{"class":7006},[6995,77131,7024],{"class":7000},[6995,77133,8689],{"class":7006},[6995,77135,7030],{"class":7000},[6995,77137,77138,77140],{"class":244,"line":7120},[6995,77139,21209],{"class":7006},[6995,77141,7092],{"class":7000},[6995,77143,77144,77146,77148],{"class":244,"line":7133},[6995,77145,23109],{"class":7006},[6995,77147,7024],{"class":7000},[6995,77149,7686],{"class":7006},[6995,77151,77152],{"class":244,"line":7146},[6995,77153,15327],{"class":7000},[6995,77155,77156],{"class":244,"line":7159},[6995,77157,7615],{"class":7000},[6995,77159,77160],{"class":244,"line":7172},[6995,77161,7047],{"class":7000},[34,77163,77164],{},[611,77165,7052],{},[616,77167,77168],{"className":6989,"code":23132,"language":6991,"meta":14,"style":14},[611,77169,77170,77174,77184,77194,77200,77204,77214,77224,77234,77244,77254,77264,77274,77284,77292,77296,77300],{"__ignoreMap":14},[6995,77171,77172],{"class":244,"line":6997},[6995,77173,7001],{"class":7000},[6995,77175,77176,77178,77180,77182],{"class":244,"line":15},[6995,77177,7066],{"class":7006},[6995,77179,7024],{"class":7000},[6995,77181,7071],{"class":7006},[6995,77183,7030],{"class":7000},[6995,77185,77186,77188,77190,77192],{"class":244,"line":154},[6995,77187,7078],{"class":7006},[6995,77189,7024],{"class":7000},[6995,77191,7013],{"class":7012},[6995,77193,7030],{"class":7000},[6995,77195,77196,77198],{"class":244,"line":7033},[6995,77197,7089],{"class":7006},[6995,77199,7217],{"class":7000},[6995,77201,77202],{"class":244,"line":7044},[6995,77203,7537],{"class":7000},[6995,77205,77206,77208,77210,77212],{"class":244,"line":7107},[6995,77207,23173],{"class":7006},[6995,77209,7024],{"class":7000},[6995,77211,23178],{"class":7006},[6995,77213,7030],{"class":7000},[6995,77215,77216,77218,77220,77222],{"class":244,"line":7120},[6995,77217,21509],{"class":7006},[6995,77219,7024],{"class":7000},[6995,77221,6679],{"class":7006},[6995,77223,7030],{"class":7000},[6995,77225,77226,77228,77230,77232],{"class":244,"line":7133},[6995,77227,23195],{"class":7006},[6995,77229,7024],{"class":7000},[6995,77231,23200],{"class":7012},[6995,77233,7030],{"class":7000},[6995,77235,77236,77238,77240,77242],{"class":244,"line":7146},[6995,77237,12663],{"class":7006},[6995,77239,7024],{"class":7000},[6995,77241,23211],{"class":7012},[6995,77243,7030],{"class":7000},[6995,77245,77246,77248,77250,77252],{"class":244,"line":7159},[6995,77247,12751],{"class":7006},[6995,77249,7024],{"class":7000},[6995,77251,23222],{"class":7006},[6995,77253,7030],{"class":7000},[6995,77255,77256,77258,77260,77262],{"class":244,"line":7172},[6995,77257,23229],{"class":7006},[6995,77259,7024],{"class":7000},[6995,77261,19080],{"class":7012},[6995,77263,7030],{"class":7000},[6995,77265,77266,77268,77270,77272],{"class":244,"line":7185},[6995,77267,21622],{"class":7006},[6995,77269,7024],{"class":7000},[6995,77271,6679],{"class":7006},[6995,77273,7030],{"class":7000},[6995,77275,77276,77278,77280,77282],{"class":244,"line":7198},[6995,77277,21633],{"class":7006},[6995,77279,7024],{"class":7000},[6995,77281,23254],{"class":7012},[6995,77283,7030],{"class":7000},[6995,77285,77286,77288,77290],{"class":244,"line":7211},[6995,77287,23261],{"class":7006},[6995,77289,7024],{"class":7000},[6995,77291,23266],{"class":7012},[6995,77293,77294],{"class":244,"line":7220},[6995,77295,7615],{"class":7000},[6995,77297,77298],{"class":244,"line":7226},[6995,77299,23275],{"class":7000},[6995,77301,77302],{"class":244,"line":7238},[6995,77303,7047],{"class":7000},[852,77305,77306,77320],{},[59,77307,77308,23286,77310,23290,77312,23294,77314,23298,77316,23302,77318,23306],{},[611,77309,11962],{},[611,77311,23289],{},[611,77313,23293],{},[611,77315,23297],{},[611,77317,23301],{},[611,77319,23305],{},[59,77321,77322,23286,77324,2231,77326,2231,77328,2231,77330,2231,77332,2231,77334,2231,77336,18637,77338,23335],{},[611,77323,12388],{},[611,77325,23313],{},[611,77327,23316],{},[611,77329,23319],{},[611,77331,23322],{},[611,77333,23325],{},[611,77335,23328],{},[611,77337,23331],{},[611,77339,23334],{},[41,77341,6935],{"id":6935},[34,77343,23340,77344,23343],{},[175,77345,6930],{"href":8044},[34,77347,77348],{},[611,77349,6986],{},[616,77351,77352],{"className":6989,"code":7767,"language":6991,"meta":14,"style":14},[611,77353,77354,77358,77368,77378,77388,77394,77398,77406,77410],{"__ignoreMap":14},[6995,77355,77356],{"class":244,"line":6997},[6995,77357,7001],{"class":7000},[6995,77359,77360,77362,77364,77366],{"class":244,"line":15},[6995,77361,7007],{"class":7006},[6995,77363,5102],{"class":7000},[6995,77365,7013],{"class":7012},[6995,77367,7016],{"class":7000},[6995,77369,77370,77372,77374,77376],{"class":244,"line":154},[6995,77371,7021],{"class":7006},[6995,77373,7024],{"class":7000},[6995,77375,7027],{"class":7006},[6995,77377,7030],{"class":7000},[6995,77379,77380,77382,77384,77386],{"class":244,"line":7033},[6995,77381,7036],{"class":7006},[6995,77383,7024],{"class":7000},[6995,77385,7802],{"class":7012},[6995,77387,7030],{"class":7000},[6995,77389,77390,77392],{"class":244,"line":7044},[6995,77391,7529],{"class":7006},[6995,77393,7811],{"class":7000},[6995,77395,77396],{"class":244,"line":7107},[6995,77397,7537],{"class":7000},[6995,77399,77400,77402,77404],{"class":244,"line":7120},[6995,77401,7229],{"class":7006},[6995,77403,7024],{"class":7000},[6995,77405,7686],{"class":7006},[6995,77407,77408],{"class":244,"line":7133},[6995,77409,7615],{"class":7000},[6995,77411,77412],{"class":244,"line":7146},[6995,77413,7047],{"class":7000},[852,77415,77416,77420],{},[59,77417,77418,7838],{},[611,77419,6869],{},[59,77421,77422,20314],{},[611,77423,20130],{},[34,77425,77426],{},[611,77427,7052],{},[616,77429,77430],{"className":6989,"code":30483,"language":6991,"meta":14,"style":14},[611,77431,77432,77436,77446,77456,77462,77466,77476,77486,77496,77506,77516,77526,77536,77542,77552,77562,77572,77582,77590,77594,77604,77614,77624,77632,77636],{"__ignoreMap":14},[6995,77433,77434],{"class":244,"line":6997},[6995,77435,7001],{"class":7000},[6995,77437,77438,77440,77442,77444],{"class":244,"line":15},[6995,77439,7021],{"class":7006},[6995,77441,7024],{"class":7000},[6995,77443,7071],{"class":7006},[6995,77445,7030],{"class":7000},[6995,77447,77448,77450,77452,77454],{"class":244,"line":154},[6995,77449,7007],{"class":7006},[6995,77451,7024],{"class":7000},[6995,77453,7013],{"class":7012},[6995,77455,7030],{"class":7000},[6995,77457,77458,77460],{"class":244,"line":7033},[6995,77459,7732],{"class":7006},[6995,77461,7673],{"class":7000},[6995,77463,77464],{"class":244,"line":7044},[6995,77465,7537],{"class":7000},[6995,77467,77468,77470,77472,77474],{"class":244,"line":7107},[6995,77469,7229],{"class":7006},[6995,77471,7024],{"class":7000},[6995,77473,6679],{"class":7006},[6995,77475,7030],{"class":7000},[6995,77477,77478,77480,77482,77484],{"class":244,"line":7120},[6995,77479,7896],{"class":7006},[6995,77481,7024],{"class":7000},[6995,77483,7370],{"class":7006},[6995,77485,7030],{"class":7000},[6995,77487,77488,77490,77492,77494],{"class":244,"line":7133},[6995,77489,7907],{"class":7006},[6995,77491,7024],{"class":7000},[6995,77493,7382],{"class":7012},[6995,77495,7030],{"class":7000},[6995,77497,77498,77500,77502,77504],{"class":244,"line":7146},[6995,77499,7918],{"class":7006},[6995,77501,7024],{"class":7000},[6995,77503,6679],{"class":7006},[6995,77505,7030],{"class":7000},[6995,77507,77508,77510,77512,77514],{"class":244,"line":7159},[6995,77509,7929],{"class":7006},[6995,77511,7024],{"class":7000},[6995,77513,7934],{"class":7006},[6995,77515,7030],{"class":7000},[6995,77517,77518,77520,77522,77524],{"class":244,"line":7172},[6995,77519,7941],{"class":7006},[6995,77521,7024],{"class":7000},[6995,77523,30578],{"class":7012},[6995,77525,7030],{"class":7000},[6995,77527,77528,77530,77532,77534],{"class":244,"line":7185},[6995,77529,30585],{"class":7006},[6995,77531,7024],{"class":7000},[6995,77533,8689],{"class":7006},[6995,77535,7030],{"class":7000},[6995,77537,77538,77540],{"class":244,"line":7198},[6995,77539,30596],{"class":7006},[6995,77541,7092],{"class":7000},[6995,77543,77544,77546,77548,77550],{"class":244,"line":7211},[6995,77545,30603],{"class":7006},[6995,77547,7024],{"class":7000},[6995,77549,30608],{"class":7012},[6995,77551,7030],{"class":7000},[6995,77553,77554,77556,77558,77560],{"class":244,"line":7220},[6995,77555,30615],{"class":7006},[6995,77557,7024],{"class":7000},[6995,77559,30620],{"class":7012},[6995,77561,7030],{"class":7000},[6995,77563,77564,77566,77568,77570],{"class":244,"line":7226},[6995,77565,30627],{"class":7006},[6995,77567,7024],{"class":7000},[6995,77569,30632],{"class":7012},[6995,77571,7030],{"class":7000},[6995,77573,77574,77576,77578,77580],{"class":244,"line":7238},[6995,77575,30639],{"class":7006},[6995,77577,7024],{"class":7000},[6995,77579,30644],{"class":7012},[6995,77581,7030],{"class":7000},[6995,77583,77584,77586,77588],{"class":244,"line":7250},[6995,77585,30651],{"class":7006},[6995,77587,7024],{"class":7000},[6995,77589,30656],{"class":7012},[6995,77591,77592],{"class":244,"line":7263},[6995,77593,21243],{"class":7000},[6995,77595,77596,77598,77600,77602],{"class":244,"line":7275},[6995,77597,30665],{"class":7006},[6995,77599,7024],{"class":7000},[6995,77601,8689],{"class":7006},[6995,77603,7030],{"class":7000},[6995,77605,77606,77608,77610,77612],{"class":244,"line":7288},[6995,77607,30676],{"class":7006},[6995,77609,7024],{"class":7000},[6995,77611,8689],{"class":7006},[6995,77613,7030],{"class":7000},[6995,77615,77616,77618,77620,77622],{"class":244,"line":7300},[6995,77617,7953],{"class":7006},[6995,77619,7024],{"class":7000},[6995,77621,7958],{"class":7012},[6995,77623,7030],{"class":7000},[6995,77625,77626,77628,77630],{"class":244,"line":7313},[6995,77627,7965],{"class":7006},[6995,77629,7024],{"class":7000},[6995,77631,7970],{"class":7006},[6995,77633,77634],{"class":244,"line":7325},[6995,77635,7615],{"class":7000},[6995,77637,77638],{"class":244,"line":7336},[6995,77639,7047],{"class":7000},[34,77641,7981,77642,181],{},[175,77643,7985],{"href":19812},[852,77645,77646,77650,77654,77668,77672,77676,77682,77686,77692,77696],{},[59,77647,77648,7992],{},[611,77649,6869],{},[59,77651,77652,7998],{},[611,77653,7997],{},[59,77655,77656,8003,77658,8007,77660,8012,77662,8016,77664,8020,77666,8023],{},[611,77657,1020],{},[611,77659,8006],{},[8009,77661,8011],{},[611,77663,8015],{},[8009,77665,8019],{},[611,77667,8015],{},[59,77669,77670,8029],{},[611,77671,8028],{},[59,77673,77674,8035],{},[611,77675,8034],{},[59,77677,77678,8041,77680,8045],{},[611,77679,8040],{},[175,77681,6930],{"href":8044},[59,77683,77684,30755],{},[611,77685,25511],{},[59,77687,77688,30760,77690,30763],{},[611,77689,25526],{},[611,77691,25511],{},[59,77693,77694,30768],{},[611,77695,25514],{},[59,77697,77698,30773,77700],{},[611,77699,25523],{},[175,77701,30778],{"href":30776,"rel":77702},[179],[41,77704,18340],{"id":18340},[34,77706,23596],{},[34,77708,77709],{},[611,77710,6986],{},[616,77712,77713],{"className":6989,"code":23603,"language":6991,"meta":14,"style":14},[611,77714,77715,77719,77729,77739,77747],{"__ignoreMap":14},[6995,77716,77717],{"class":244,"line":6997},[6995,77718,7001],{"class":7000},[6995,77720,77721,77723,77725,77727],{"class":244,"line":15},[6995,77722,7007],{"class":7006},[6995,77724,5102],{"class":7000},[6995,77726,7013],{"class":7012},[6995,77728,7016],{"class":7000},[6995,77730,77731,77733,77735,77737],{"class":244,"line":154},[6995,77732,7021],{"class":7006},[6995,77734,7024],{"class":7000},[6995,77736,7511],{"class":7006},[6995,77738,7030],{"class":7000},[6995,77740,77741,77743,77745],{"class":244,"line":7033},[6995,77742,7036],{"class":7006},[6995,77744,5102],{"class":7000},[6995,77746,23638],{"class":7012},[6995,77748,77749],{"class":244,"line":7044},[6995,77750,7047],{"class":7000},[34,77752,77753],{},[611,77754,7052],{},[616,77756,77757],{"className":6989,"code":23649,"language":6991,"meta":14,"style":14},[611,77758,77759,77763,77773,77783,77791],{"__ignoreMap":14},[6995,77760,77761],{"class":244,"line":6997},[6995,77762,7001],{"class":7000},[6995,77764,77765,77767,77769,77771],{"class":244,"line":15},[6995,77766,7007],{"class":7006},[6995,77768,5102],{"class":7000},[6995,77770,7013],{"class":7012},[6995,77772,7016],{"class":7000},[6995,77774,77775,77777,77779,77781],{"class":244,"line":154},[6995,77776,7021],{"class":7006},[6995,77778,7024],{"class":7000},[6995,77780,7511],{"class":7006},[6995,77782,7030],{"class":7000},[6995,77784,77785,77787,77789],{"class":244,"line":7033},[6995,77786,7732],{"class":7006},[6995,77788,5102],{"class":7000},[6995,77790,7749],{"class":7012},[6995,77792,77793],{"class":244,"line":7044},[6995,77794,7047],{"class":7000},[41,77796,18348],{"id":18348},[34,77798,23692,77799,181],{},[611,77800,8158],{},[34,77802,77803],{},[611,77804,6986],{},[616,77806,77807],{"className":6989,"code":23701,"language":6991,"meta":14,"style":14},[611,77808,77809,77813,77823,77833,77843,77849,77853,77861,77865],{"__ignoreMap":14},[6995,77810,77811],{"class":244,"line":6997},[6995,77812,7001],{"class":7000},[6995,77814,77815,77817,77819,77821],{"class":244,"line":15},[6995,77816,7007],{"class":7006},[6995,77818,5102],{"class":7000},[6995,77820,7013],{"class":7012},[6995,77822,7016],{"class":7000},[6995,77824,77825,77827,77829,77831],{"class":244,"line":154},[6995,77826,7021],{"class":7006},[6995,77828,7024],{"class":7000},[6995,77830,8439],{"class":7006},[6995,77832,7030],{"class":7000},[6995,77834,77835,77837,77839,77841],{"class":244,"line":7033},[6995,77836,7036],{"class":7006},[6995,77838,7024],{"class":7000},[6995,77840,23736],{"class":7012},[6995,77842,7016],{"class":7000},[6995,77844,77845,77847],{"class":244,"line":7044},[6995,77846,7529],{"class":7006},[6995,77848,7532],{"class":7000},[6995,77850,77851],{"class":244,"line":7107},[6995,77852,7537],{"class":7000},[6995,77854,77855,77857,77859],{"class":244,"line":7120},[6995,77856,7743],{"class":7006},[6995,77858,7746],{"class":7000},[6995,77860,20611],{"class":7012},[6995,77862,77863],{"class":244,"line":7133},[6995,77864,7615],{"class":7000},[6995,77866,77867],{"class":244,"line":7146},[6995,77868,7047],{"class":7000},[34,77870,77871],{},[611,77872,7052],{},[616,77874,77875],{"className":6989,"code":23771,"language":6991,"meta":14,"style":14},[611,77876,77877,77881,77891,77901,77907,77911,77919,77923],{"__ignoreMap":14},[6995,77878,77879],{"class":244,"line":6997},[6995,77880,7001],{"class":7000},[6995,77882,77883,77885,77887,77889],{"class":244,"line":15},[6995,77884,7007],{"class":7006},[6995,77886,5102],{"class":7000},[6995,77888,7013],{"class":7012},[6995,77890,7016],{"class":7000},[6995,77892,77893,77895,77897,77899],{"class":244,"line":154},[6995,77894,7021],{"class":7006},[6995,77896,7024],{"class":7000},[6995,77898,8439],{"class":7006},[6995,77900,7030],{"class":7000},[6995,77902,77903,77905],{"class":244,"line":7033},[6995,77904,7732],{"class":7006},[6995,77906,7673],{"class":7000},[6995,77908,77909],{"class":244,"line":7044},[6995,77910,7537],{"class":7000},[6995,77912,77913,77915,77917],{"class":244,"line":7107},[6995,77914,23812],{"class":7006},[6995,77916,7024],{"class":7000},[6995,77918,23817],{"class":7012},[6995,77920,77921],{"class":244,"line":7120},[6995,77922,7615],{"class":7000},[6995,77924,77925],{"class":244,"line":7133},[6995,77926,7047],{"class":7000},[852,77928,77929],{},[59,77930,77931,23833,77933,23836],{},[611,77932,23832],{},[175,77934,18356],{"href":18355},[34,77936,77937,23841],{},[37,77938,22074],{},[41,77940,18356],{"id":18356},[34,77942,23846,77943,181],{},[611,77944,23832],{},[34,77946,77947],{},[611,77948,6986],{},[616,77950,77951],{"className":6989,"code":23855,"language":6991,"meta":14,"style":14},[611,77952,77953,77957,77967,77977,77987,77993,77997,78005,78009],{"__ignoreMap":14},[6995,77954,77955],{"class":244,"line":6997},[6995,77956,7001],{"class":7000},[6995,77958,77959,77961,77963,77965],{"class":244,"line":15},[6995,77960,7007],{"class":7006},[6995,77962,5102],{"class":7000},[6995,77964,7013],{"class":7012},[6995,77966,7016],{"class":7000},[6995,77968,77969,77971,77973,77975],{"class":244,"line":154},[6995,77970,7021],{"class":7006},[6995,77972,7024],{"class":7000},[6995,77974,8439],{"class":7006},[6995,77976,7030],{"class":7000},[6995,77978,77979,77981,77983,77985],{"class":244,"line":7033},[6995,77980,7036],{"class":7006},[6995,77982,5102],{"class":7000},[6995,77984,23890],{"class":7012},[6995,77986,7016],{"class":7000},[6995,77988,77989,77991],{"class":244,"line":7044},[6995,77990,7529],{"class":7006},[6995,77992,7532],{"class":7000},[6995,77994,77995],{"class":244,"line":7107},[6995,77996,7537],{"class":7000},[6995,77998,77999,78001,78003],{"class":244,"line":7120},[6995,78000,23812],{"class":7006},[6995,78002,7746],{"class":7000},[6995,78004,23817],{"class":7012},[6995,78006,78007],{"class":244,"line":7133},[6995,78008,7615],{"class":7000},[6995,78010,78011],{"class":244,"line":7146},[6995,78012,7047],{"class":7000},[34,78014,78015],{},[611,78016,7052],{},[616,78018,78019],{"className":6989,"code":23925,"language":6991,"meta":14,"style":14},[611,78020,78021,78025,78035,78045,78051,78055,78065,78075,78085,78095,78105,78113,78117],{"__ignoreMap":14},[6995,78022,78023],{"class":244,"line":6997},[6995,78024,7001],{"class":7000},[6995,78026,78027,78029,78031,78033],{"class":244,"line":15},[6995,78028,7007],{"class":7006},[6995,78030,5102],{"class":7000},[6995,78032,7013],{"class":7012},[6995,78034,7016],{"class":7000},[6995,78036,78037,78039,78041,78043],{"class":244,"line":154},[6995,78038,7021],{"class":7006},[6995,78040,7024],{"class":7000},[6995,78042,8439],{"class":7006},[6995,78044,7030],{"class":7000},[6995,78046,78047,78049],{"class":244,"line":7033},[6995,78048,7732],{"class":7006},[6995,78050,7673],{"class":7000},[6995,78052,78053],{"class":244,"line":7044},[6995,78054,7537],{"class":7000},[6995,78056,78057,78059,78061,78063],{"class":244,"line":7107},[6995,78058,11902],{"class":7006},[6995,78060,7024],{"class":7000},[6995,78062,8689],{"class":7006},[6995,78064,7030],{"class":7000},[6995,78066,78067,78069,78071,78073],{"class":244,"line":7120},[6995,78068,7229],{"class":7006},[6995,78070,7024],{"class":7000},[6995,78072,7180],{"class":7006},[6995,78074,7030],{"class":7000},[6995,78076,78077,78079,78081,78083],{"class":244,"line":7133},[6995,78078,21006],{"class":7006},[6995,78080,23988],{"class":7000},[6995,78082,23991],{"class":7012},[6995,78084,7030],{"class":7000},[6995,78086,78087,78089,78091,78093],{"class":244,"line":7146},[6995,78088,20995],{"class":7006},[6995,78090,7024],{"class":7000},[6995,78092,24002],{"class":7012},[6995,78094,7030],{"class":7000},[6995,78096,78097,78099,78101,78103],{"class":244,"line":7159},[6995,78098,8467],{"class":7006},[6995,78100,23988],{"class":7000},[6995,78102,24013],{"class":7006},[6995,78104,7030],{"class":7000},[6995,78106,78107,78109,78111],{"class":244,"line":7172},[6995,78108,20983],{"class":7006},[6995,78110,23988],{"class":7000},[6995,78112,24024],{"class":7012},[6995,78114,78115],{"class":244,"line":7185},[6995,78116,7615],{"class":7000},[6995,78118,78119],{"class":244,"line":7198},[6995,78120,7047],{"class":7000},[852,78122,78123,78127,78131,78135,78139,78143],{},[59,78124,78125,24040],{},[611,78126,24039],{},[59,78128,78129,24046],{},[611,78130,24045],{},[59,78132,78133,24052],{},[611,78134,24051],{},[59,78136,78137,24057],{},[611,78138,8404],{},[59,78140,78141,24062],{},[611,78142,6869],{},[59,78144,78145,24067],{},[611,78146,12547],{},[34,78148,78149,24072],{},[37,78150,22074],{},[41,78152,18385],{"id":18385},[34,78154,24077],{},[34,78156,24080],{},[34,78158,78159],{},[611,78160,6986],{},[616,78162,78163],{"className":6989,"code":24087,"language":6991,"meta":14,"style":14},[611,78164,78165,78169,78179,78189,78199,78205,78209,78227,78235,78239],{"__ignoreMap":14},[6995,78166,78167],{"class":244,"line":6997},[6995,78168,7001],{"class":7000},[6995,78170,78171,78173,78175,78177],{"class":244,"line":15},[6995,78172,7007],{"class":7006},[6995,78174,7024],{"class":7000},[6995,78176,7013],{"class":7012},[6995,78178,7016],{"class":7000},[6995,78180,78181,78183,78185,78187],{"class":244,"line":154},[6995,78182,7021],{"class":7006},[6995,78184,7024],{"class":7000},[6995,78186,7511],{"class":7006},[6995,78188,7030],{"class":7000},[6995,78190,78191,78193,78195,78197],{"class":244,"line":7033},[6995,78192,7036],{"class":7006},[6995,78194,7024],{"class":7000},[6995,78196,24122],{"class":7012},[6995,78198,7016],{"class":7000},[6995,78200,78201,78203],{"class":244,"line":7044},[6995,78202,7529],{"class":7006},[6995,78204,7532],{"class":7000},[6995,78206,78207],{"class":244,"line":7107},[6995,78208,7537],{"class":7000},[6995,78210,78211,78213,78215,78217,78219,78221,78223,78225],{"class":244,"line":7120},[6995,78212,24139],{"class":7006},[6995,78214,24142],{"class":7000},[6995,78216,7167],{"class":7006},[6995,78218,2231],{"class":7000},[6995,78220,7167],{"class":7006},[6995,78222,2231],{"class":7000},[6995,78224,7167],{"class":7006},[6995,78226,19906],{"class":7000},[6995,78228,78229,78231,78233],{"class":244,"line":7133},[6995,78230,24159],{"class":7006},[6995,78232,7024],{"class":7000},[6995,78234,24164],{"class":7012},[6995,78236,78237],{"class":244,"line":7146},[6995,78238,7615],{"class":7000},[6995,78240,78241],{"class":244,"line":7159},[6995,78242,7047],{"class":7000},[34,78244,24175],{},[34,78246,78247],{},[611,78248,6986],{},[616,78250,78251],{"className":6989,"code":24182,"language":6991,"meta":14,"style":14},[611,78252,78253,78257,78267,78277,78287,78293,78297,78307,78315,78319],{"__ignoreMap":14},[6995,78254,78255],{"class":244,"line":6997},[6995,78256,7001],{"class":7000},[6995,78258,78259,78261,78263,78265],{"class":244,"line":15},[6995,78260,7007],{"class":7006},[6995,78262,7024],{"class":7000},[6995,78264,7013],{"class":7012},[6995,78266,7016],{"class":7000},[6995,78268,78269,78271,78273,78275],{"class":244,"line":154},[6995,78270,7021],{"class":7006},[6995,78272,7024],{"class":7000},[6995,78274,7511],{"class":7006},[6995,78276,7030],{"class":7000},[6995,78278,78279,78281,78283,78285],{"class":244,"line":7033},[6995,78280,7036],{"class":7006},[6995,78282,7024],{"class":7000},[6995,78284,24122],{"class":7012},[6995,78286,7016],{"class":7000},[6995,78288,78289,78291],{"class":244,"line":7044},[6995,78290,7529],{"class":7006},[6995,78292,7532],{"class":7000},[6995,78294,78295],{"class":244,"line":7107},[6995,78296,7537],{"class":7000},[6995,78298,78299,78301,78303,78305],{"class":244,"line":7120},[6995,78300,24233],{"class":7006},[6995,78302,7024],{"class":7000},[6995,78304,24238],{"class":7012},[6995,78306,7030],{"class":7000},[6995,78308,78309,78311,78313],{"class":244,"line":7133},[6995,78310,24159],{"class":7006},[6995,78312,7024],{"class":7000},[6995,78314,24164],{"class":7012},[6995,78316,78317],{"class":244,"line":7146},[6995,78318,7615],{"class":7000},[6995,78320,78321],{"class":244,"line":7159},[6995,78322,7047],{"class":7000},[852,78324,78325,78329,78333,78337],{},[59,78326,78327,24263],{},[611,78328,6411],{},[59,78330,78331,24269],{},[611,78332,24268],{},[59,78334,78335,24275],{},[611,78336,24274],{},[59,78338,78339,24281,78341,24284,78343,24288,78345,24291,78347,181],{},[611,78340,24280],{},[611,78342,8689],{},[611,78344,24287],{},[175,78346,18396],{"href":18395},[611,78348,8689],{},[34,78350,78351,24298,78353,181],{},[611,78352,6411],{},[611,78354,24268],{},[34,78356,78357],{},[611,78358,7052],{},[616,78360,78361],{"className":6989,"code":24307,"language":6991,"meta":14,"style":14},[611,78362,78363,78367,78377,78387,78393,78441,78467,78485,78489],{"__ignoreMap":14},[6995,78364,78365],{"class":244,"line":6997},[6995,78366,7001],{"class":7000},[6995,78368,78369,78371,78373,78375],{"class":244,"line":15},[6995,78370,7066],{"class":7006},[6995,78372,7024],{"class":7000},[6995,78374,7071],{"class":7006},[6995,78376,7030],{"class":7000},[6995,78378,78379,78381,78383,78385],{"class":244,"line":154},[6995,78380,7078],{"class":7006},[6995,78382,7024],{"class":7000},[6995,78384,7013],{"class":7012},[6995,78386,7030],{"class":7000},[6995,78388,78389,78391],{"class":244,"line":7033},[6995,78390,7089],{"class":7006},[6995,78392,7092],{"class":7000},[6995,78394,78395,78397,78399,78401,78403,78405,78407,78409,78411,78413,78415,78417,78419,78421,78423,78425,78427,78429,78431,78433,78435,78437,78439],{"class":244,"line":7044},[6995,78396,24344],{"class":7006},[6995,78398,7024],{"class":7000},[6995,78400,24349],{"class":7012},[6995,78402,24352],{"class":7006},[6995,78404,24355],{"class":7012},[6995,78406,24352],{"class":7006},[6995,78408,24360],{"class":7012},[6995,78410,24352],{"class":7006},[6995,78412,24365],{"class":7012},[6995,78414,24352],{"class":7006},[6995,78416,7024],{"class":7012},[6995,78418,24352],{"class":7006},[6995,78420,24374],{"class":7012},[6995,78422,24352],{"class":7006},[6995,78424,17176],{"class":7012},[6995,78426,24352],{"class":7006},[6995,78428,24383],{"class":7012},[6995,78430,24352],{"class":7006},[6995,78432,24388],{"class":7012},[6995,78434,24352],{"class":7006},[6995,78436,24365],{"class":7012},[6995,78438,24352],{"class":7006},[6995,78440,7673],{"class":7012},[6995,78442,78443,78445,78447,78449,78451,78453,78455,78457,78459,78461,78463,78465],{"class":244,"line":7107},[6995,78444,24401],{"class":7006},[6995,78446,24404],{"class":7012},[6995,78448,24352],{"class":7006},[6995,78450,17176],{"class":7012},[6995,78452,24352],{"class":7006},[6995,78454,24383],{"class":7012},[6995,78456,24352],{"class":7006},[6995,78458,24417],{"class":7012},[6995,78460,24352],{"class":7006},[6995,78462,24365],{"class":7012},[6995,78464,24352],{"class":7006},[6995,78466,7673],{"class":7012},[6995,78468,78469,78471,78473,78475,78477,78479,78481,78483],{"class":244,"line":7120},[6995,78470,24401],{"class":7006},[6995,78472,24432],{"class":7012},[6995,78474,24352],{"class":7006},[6995,78476,17176],{"class":7012},[6995,78478,24352],{"class":7006},[6995,78480,24383],{"class":7012},[6995,78482,24352],{"class":7006},[6995,78484,24445],{"class":7012},[6995,78486,78487],{"class":244,"line":7133},[6995,78488,7467],{"class":7000},[6995,78490,78491],{"class":244,"line":7146},[6995,78492,7047],{"class":7000},[852,78494,78495,78499,78503],{},[59,78496,78497,24460],{},[611,78498,16228],{},[59,78500,78501,24465],{},[611,78502,24287],{},[59,78504,78505,24471,78507],{},[611,78506,24470],{},[175,78508,18396],{"href":18395},[48,78510,24484],{"id":24483},[34,78512,24487],{},[48,78514,24491],{"id":24490},[34,78516,31597,78517,10670,78519,31602],{},[611,78518,6411],{},[611,78520,24268],{},[34,78522,78523],{},[611,78524,6986],{},[616,78526,78527],{"className":6989,"code":24509,"language":6991,"meta":14,"style":14},[611,78528,78529,78533,78543,78553,78563,78569,78579,78587,78591],{"__ignoreMap":14},[6995,78530,78531],{"class":244,"line":6997},[6995,78532,7001],{"class":7000},[6995,78534,78535,78537,78539,78541],{"class":244,"line":15},[6995,78536,7007],{"class":7006},[6995,78538,7024],{"class":7000},[6995,78540,7013],{"class":7012},[6995,78542,7030],{"class":7000},[6995,78544,78545,78547,78549,78551],{"class":244,"line":154},[6995,78546,7021],{"class":7006},[6995,78548,7024],{"class":7000},[6995,78550,7071],{"class":7006},[6995,78552,7030],{"class":7000},[6995,78554,78555,78557,78559,78561],{"class":244,"line":7033},[6995,78556,7036],{"class":7006},[6995,78558,7024],{"class":7000},[6995,78560,24122],{"class":7012},[6995,78562,7030],{"class":7000},[6995,78564,78565,78567],{"class":244,"line":7044},[6995,78566,7529],{"class":7006},[6995,78568,7092],{"class":7000},[6995,78570,78571,78573,78575,78577],{"class":244,"line":7107},[6995,78572,24233],{"class":7006},[6995,78574,7024],{"class":7000},[6995,78576,24560],{"class":7012},[6995,78578,7030],{"class":7000},[6995,78580,78581,78583,78585],{"class":244,"line":7120},[6995,78582,24159],{"class":7006},[6995,78584,7024],{"class":7000},[6995,78586,24571],{"class":7012},[6995,78588,78589],{"class":244,"line":7133},[6995,78590,7615],{"class":7000},[6995,78592,78593],{"class":244,"line":7146},[6995,78594,7047],{"class":7000},[34,78596,78597],{},[611,78598,7052],{},[616,78600,78601],{"className":6989,"code":24586,"language":6991,"meta":14,"style":14},[611,78602,78603,78607,78617,78627,78633,78657,78661],{"__ignoreMap":14},[6995,78604,78605],{"class":244,"line":6997},[6995,78606,7001],{"class":7000},[6995,78608,78609,78611,78613,78615],{"class":244,"line":15},[6995,78610,7066],{"class":7006},[6995,78612,7024],{"class":7000},[6995,78614,7071],{"class":7006},[6995,78616,7030],{"class":7000},[6995,78618,78619,78621,78623,78625],{"class":244,"line":154},[6995,78620,7078],{"class":7006},[6995,78622,7024],{"class":7000},[6995,78624,7013],{"class":7012},[6995,78626,7030],{"class":7000},[6995,78628,78629,78631],{"class":244,"line":7033},[6995,78630,7089],{"class":7006},[6995,78632,7092],{"class":7000},[6995,78634,78635,78637,78639,78641,78643,78645,78647,78649,78651,78653,78655],{"class":244,"line":7044},[6995,78636,24344],{"class":7006},[6995,78638,7024],{"class":7000},[6995,78640,24349],{"class":7012},[6995,78642,24352],{"class":7006},[6995,78644,15764],{"class":7012},[6995,78646,24352],{"class":7006},[6995,78648,7024],{"class":7012},[6995,78650,24352],{"class":7006},[6995,78652,24639],{"class":7012},[6995,78654,24352],{"class":7006},[6995,78656,24644],{"class":7012},[6995,78658,78659],{"class":244,"line":7107},[6995,78660,7467],{"class":7000},[6995,78662,78663],{"class":244,"line":7120},[6995,78664,7047],{"class":7000},[48,78666,31750],{"id":31749},[34,78668,31753,78669,31756,78671,31760],{},[611,78670,18385],{},[611,78672,31759],{},[852,78674,78675,78679],{},[59,78676,78677,31767],{},[611,78678,25535],{},[59,78680,78681,31772,78683,31775,78685,31778],{},[611,78682,25538],{},[611,78684,18385],{},[611,78686,25538],{},[41,78688,18396],{"id":18396},[34,78690,24657],{},[34,78692,78693],{},[611,78694,6986],{},[616,78696,78697],{"className":6989,"code":24664,"language":6991,"meta":14,"style":14},[611,78698,78699,78703,78713,78723,78733,78739,78757,78761],{"__ignoreMap":14},[6995,78700,78701],{"class":244,"line":6997},[6995,78702,7001],{"class":7000},[6995,78704,78705,78707,78709,78711],{"class":244,"line":15},[6995,78706,7007],{"class":7006},[6995,78708,7024],{"class":7000},[6995,78710,7013],{"class":7012},[6995,78712,7030],{"class":7000},[6995,78714,78715,78717,78719,78721],{"class":244,"line":154},[6995,78716,7021],{"class":7006},[6995,78718,7024],{"class":7000},[6995,78720,7071],{"class":7006},[6995,78722,7030],{"class":7000},[6995,78724,78725,78727,78729,78731],{"class":244,"line":7033},[6995,78726,7036],{"class":7006},[6995,78728,7024],{"class":7000},[6995,78730,24699],{"class":7012},[6995,78732,7030],{"class":7000},[6995,78734,78735,78737],{"class":244,"line":7044},[6995,78736,7529],{"class":7006},[6995,78738,7092],{"class":7000},[6995,78740,78741,78743,78745,78747,78749,78751,78753,78755],{"class":244,"line":7107},[6995,78742,24712],{"class":7006},[6995,78744,24142],{"class":7000},[6995,78746,7167],{"class":7006},[6995,78748,2231],{"class":7000},[6995,78750,7167],{"class":7006},[6995,78752,2231],{"class":7000},[6995,78754,7167],{"class":7006},[6995,78756,13671],{"class":7000},[6995,78758,78759],{"class":244,"line":7120},[6995,78760,7615],{"class":7000},[6995,78762,78763],{"class":244,"line":7133},[6995,78764,7047],{"class":7000},[852,78766,78767],{},[59,78768,78769,24741,78771,24744],{},[611,78770,15730],{},[175,78772,18385],{"href":18384},[34,78774,78775],{},[611,78776,7052],{},[616,78778,78779],{"className":6989,"code":24751,"language":6991,"meta":14,"style":14},[611,78780,78781,78785,78795,78805,78811,78819,78823],{"__ignoreMap":14},[6995,78782,78783],{"class":244,"line":6997},[6995,78784,7001],{"class":7000},[6995,78786,78787,78789,78791,78793],{"class":244,"line":15},[6995,78788,7066],{"class":7006},[6995,78790,7024],{"class":7000},[6995,78792,7071],{"class":7006},[6995,78794,7030],{"class":7000},[6995,78796,78797,78799,78801,78803],{"class":244,"line":154},[6995,78798,7078],{"class":7006},[6995,78800,7024],{"class":7000},[6995,78802,7013],{"class":7012},[6995,78804,7030],{"class":7000},[6995,78806,78807,78809],{"class":244,"line":7033},[6995,78808,7089],{"class":7006},[6995,78810,7092],{"class":7000},[6995,78812,78813,78815,78817],{"class":244,"line":7044},[6995,78814,24788],{"class":7006},[6995,78816,7024],{"class":7000},[6995,78818,24793],{"class":7012},[6995,78820,78821],{"class":244,"line":7107},[6995,78822,7467],{"class":7000},[6995,78824,78825],{"class":244,"line":7120},[6995,78826,7047],{"class":7000},[852,78828,78829],{},[59,78830,78831,24808],{},[611,78832,24287],{},[41,78834,6940],{"id":6940},[34,78836,24813,78837],{},[611,78838,8404],{},[34,78840,78841],{},[611,78842,6986],{},[616,78844,78845],{"className":6989,"code":8414,"language":6991,"meta":14,"style":14},[611,78846,78847,78851,78861,78871,78881,78887,78891,78901,78911,78921,78929,78933],{"__ignoreMap":14},[6995,78848,78849],{"class":244,"line":6997},[6995,78850,7001],{"class":7000},[6995,78852,78853,78855,78857,78859],{"class":244,"line":15},[6995,78854,7007],{"class":7006},[6995,78856,5102],{"class":7000},[6995,78858,7013],{"class":7012},[6995,78860,7016],{"class":7000},[6995,78862,78863,78865,78867,78869],{"class":244,"line":154},[6995,78864,7021],{"class":7006},[6995,78866,7024],{"class":7000},[6995,78868,8439],{"class":7006},[6995,78870,7030],{"class":7000},[6995,78872,78873,78875,78877,78879],{"class":244,"line":7033},[6995,78874,7036],{"class":7006},[6995,78876,5102],{"class":7000},[6995,78878,8450],{"class":7012},[6995,78880,7016],{"class":7000},[6995,78882,78883,78885],{"class":244,"line":7044},[6995,78884,7529],{"class":7006},[6995,78886,7532],{"class":7000},[6995,78888,78889],{"class":244,"line":7107},[6995,78890,7537],{"class":7000},[6995,78892,78893,78895,78897,78899],{"class":244,"line":7120},[6995,78894,8467],{"class":7006},[6995,78896,7746],{"class":7000},[6995,78898,8472],{"class":7006},[6995,78900,7030],{"class":7000},[6995,78902,78903,78905,78907,78909],{"class":244,"line":7133},[6995,78904,7229],{"class":7006},[6995,78906,7024],{"class":7000},[6995,78908,7511],{"class":7006},[6995,78910,7030],{"class":7000},[6995,78912,78913,78915,78917,78919],{"class":244,"line":7146},[6995,78914,7554],{"class":7006},[6995,78916,7024],{"class":7000},[6995,78918,8493],{"class":7006},[6995,78920,7030],{"class":7000},[6995,78922,78923,78925,78927],{"class":244,"line":7159},[6995,78924,8500],{"class":7006},[6995,78926,7024],{"class":7000},[6995,78928,8505],{"class":7006},[6995,78930,78931],{"class":244,"line":7172},[6995,78932,7615],{"class":7000},[6995,78934,78935],{"class":244,"line":7185},[6995,78936,7047],{"class":7000},[34,78938,78939],{},[611,78940,7052],{},[616,78942,78943],{"className":6989,"code":8520,"language":6991,"meta":14,"style":14},[611,78944,78945,78949,78959,78969,78975,78979,78989,78999,79009,79019,79029,79037,79041],{"__ignoreMap":14},[6995,78946,78947],{"class":244,"line":6997},[6995,78948,7001],{"class":7000},[6995,78950,78951,78953,78955,78957],{"class":244,"line":15},[6995,78952,7007],{"class":7006},[6995,78954,5102],{"class":7000},[6995,78956,7013],{"class":7012},[6995,78958,7016],{"class":7000},[6995,78960,78961,78963,78965,78967],{"class":244,"line":154},[6995,78962,7021],{"class":7006},[6995,78964,7024],{"class":7000},[6995,78966,8439],{"class":7006},[6995,78968,7030],{"class":7000},[6995,78970,78971,78973],{"class":244,"line":7033},[6995,78972,7732],{"class":7006},[6995,78974,7532],{"class":7000},[6995,78976,78977],{"class":244,"line":7044},[6995,78978,7537],{"class":7000},[6995,78980,78981,78983,78985,78987],{"class":244,"line":7107},[6995,78982,8561],{"class":7006},[6995,78984,7024],{"class":7000},[6995,78986,8566],{"class":7006},[6995,78988,7030],{"class":7000},[6995,78990,78991,78993,78995,78997],{"class":244,"line":7120},[6995,78992,8573],{"class":7006},[6995,78994,7024],{"class":7000},[6995,78996,8578],{"class":7012},[6995,78998,7030],{"class":7000},[6995,79000,79001,79003,79005,79007],{"class":244,"line":7133},[6995,79002,8585],{"class":7006},[6995,79004,7024],{"class":7000},[6995,79006,8566],{"class":7006},[6995,79008,7030],{"class":7000},[6995,79010,79011,79013,79015,79017],{"class":244,"line":7146},[6995,79012,8596],{"class":7006},[6995,79014,7024],{"class":7000},[6995,79016,8578],{"class":7012},[6995,79018,7030],{"class":7000},[6995,79020,79021,79023,79025,79027],{"class":244,"line":7159},[6995,79022,8607],{"class":7006},[6995,79024,7024],{"class":7000},[6995,79026,8612],{"class":7006},[6995,79028,7030],{"class":7000},[6995,79030,79031,79033,79035],{"class":244,"line":7172},[6995,79032,8619],{"class":7006},[6995,79034,7024],{"class":7000},[6995,79036,8624],{"class":7012},[6995,79038,79039],{"class":244,"line":7185},[6995,79040,7615],{"class":7000},[6995,79042,79043],{"class":244,"line":7198},[6995,79044,7047],{"class":7000},[34,79046,8635],{},[852,79048,79049,79053,79057,79061,79067,79077,79081],{},[59,79050,79051,8642],{},[611,79052,8404],{},[59,79054,79055,25034],{},[611,79056,6869],{},[59,79058,79059,8652],{},[611,79060,8147],{},[59,79062,79063,8658,79065],{},[611,79064,8657],{},[611,79066,6869],{},[59,79068,79069,8666,79071,1475,79073,8671,79075,8675],{},[611,79070,8665],{},[611,79072,8657],{},[611,79074,8665],{},[611,79076,8674],{},[59,79078,79079,8681],{},[611,79080,8680],{},[59,79082,79083,98,79085,8690],{},[611,79084,8686],{},[611,79086,8689],{},[41,79088,18406],{"id":18406},[34,79090,25069],{},[34,79092,79093],{},[611,79094,6986],{},[616,79096,79097],{"className":6989,"code":25076,"language":6991,"meta":14,"style":14},[611,79098,79099,79103,79113,79123,79133,79139,79143,79151,79155],{"__ignoreMap":14},[6995,79100,79101],{"class":244,"line":6997},[6995,79102,7001],{"class":7000},[6995,79104,79105,79107,79109,79111],{"class":244,"line":15},[6995,79106,7007],{"class":7006},[6995,79108,7024],{"class":7000},[6995,79110,7013],{"class":7012},[6995,79112,7016],{"class":7000},[6995,79114,79115,79117,79119,79121],{"class":244,"line":154},[6995,79116,7021],{"class":7006},[6995,79118,7024],{"class":7000},[6995,79120,7511],{"class":7006},[6995,79122,7030],{"class":7000},[6995,79124,79125,79127,79129,79131],{"class":244,"line":7033},[6995,79126,7036],{"class":7006},[6995,79128,7024],{"class":7000},[6995,79130,25111],{"class":7012},[6995,79132,7016],{"class":7000},[6995,79134,79135,79137],{"class":244,"line":7044},[6995,79136,7529],{"class":7006},[6995,79138,7532],{"class":7000},[6995,79140,79141],{"class":244,"line":7107},[6995,79142,7537],{"class":7000},[6995,79144,79145,79147,79149],{"class":244,"line":7120},[6995,79146,21741],{"class":7006},[6995,79148,7024],{"class":7000},[6995,79150,25132],{"class":7006},[6995,79152,79153],{"class":244,"line":7133},[6995,79154,7615],{"class":7000},[6995,79156,79157],{"class":244,"line":7146},[6995,79158,7047],{"class":7000},[852,79160,79161],{},[59,79162,79163,25147],{},[611,79164,12542],{},[34,79166,79167],{},[611,79168,7052],{},[616,79170,79171],{"className":6989,"code":25154,"language":6991,"meta":14,"style":14},[611,79172,79173,79177,79187,79197,79203,79207,79217,79227,79237,79247,79257,79267,79277,79287,79297,79307,79315,79319],{"__ignoreMap":14},[6995,79174,79175],{"class":244,"line":6997},[6995,79176,7001],{"class":7000},[6995,79178,79179,79181,79183,79185],{"class":244,"line":15},[6995,79180,7007],{"class":7006},[6995,79182,5102],{"class":7000},[6995,79184,7013],{"class":7012},[6995,79186,7016],{"class":7000},[6995,79188,79189,79191,79193,79195],{"class":244,"line":154},[6995,79190,7021],{"class":7006},[6995,79192,7024],{"class":7000},[6995,79194,8439],{"class":7006},[6995,79196,7030],{"class":7000},[6995,79198,79199,79201],{"class":244,"line":7033},[6995,79200,7732],{"class":7006},[6995,79202,7532],{"class":7000},[6995,79204,79205],{"class":244,"line":7044},[6995,79206,7537],{"class":7000},[6995,79208,79209,79211,79213,79215],{"class":244,"line":7107},[6995,79210,25195],{"class":7006},[6995,79212,7024],{"class":7000},[6995,79214,25200],{"class":7012},[6995,79216,7030],{"class":7000},[6995,79218,79219,79221,79223,79225],{"class":244,"line":7120},[6995,79220,25207],{"class":7006},[6995,79222,7024],{"class":7000},[6995,79224,25212],{"class":7012},[6995,79226,7030],{"class":7000},[6995,79228,79229,79231,79233,79235],{"class":244,"line":7133},[6995,79230,25219],{"class":7006},[6995,79232,7024],{"class":7000},[6995,79234,25224],{"class":7012},[6995,79236,7030],{"class":7000},[6995,79238,79239,79241,79243,79245],{"class":244,"line":7146},[6995,79240,22259],{"class":7006},[6995,79242,7024],{"class":7000},[6995,79244,25235],{"class":7006},[6995,79246,7030],{"class":7000},[6995,79248,79249,79251,79253,79255],{"class":244,"line":7159},[6995,79250,21741],{"class":7006},[6995,79252,7024],{"class":7000},[6995,79254,11001],{"class":7006},[6995,79256,7030],{"class":7000},[6995,79258,79259,79261,79263,79265],{"class":244,"line":7172},[6995,79260,25252],{"class":7006},[6995,79262,7024],{"class":7000},[6995,79264,25257],{"class":7012},[6995,79266,7030],{"class":7000},[6995,79268,79269,79271,79273,79275],{"class":244,"line":7185},[6995,79270,25264],{"class":7006},[6995,79272,7024],{"class":7000},[6995,79274,25269],{"class":7006},[6995,79276,7030],{"class":7000},[6995,79278,79279,79281,79283,79285],{"class":244,"line":7198},[6995,79280,25276],{"class":7006},[6995,79282,7024],{"class":7000},[6995,79284,25281],{"class":7012},[6995,79286,7030],{"class":7000},[6995,79288,79289,79291,79293,79295],{"class":244,"line":7211},[6995,79290,25288],{"class":7006},[6995,79292,7024],{"class":7000},[6995,79294,25293],{"class":7012},[6995,79296,7030],{"class":7000},[6995,79298,79299,79301,79303,79305],{"class":244,"line":7220},[6995,79300,25300],{"class":7006},[6995,79302,7024],{"class":7000},[6995,79304,25305],{"class":7012},[6995,79306,7030],{"class":7000},[6995,79308,79309,79311,79313],{"class":244,"line":7226},[6995,79310,25312],{"class":7006},[6995,79312,7024],{"class":7000},[6995,79314,25317],{"class":7006},[6995,79316,79317],{"class":244,"line":7238},[6995,79318,7615],{"class":7000},[6995,79320,79321],{"class":244,"line":7250},[6995,79322,7047],{"class":7000},[852,79324,79325,79329,79333,79337,79341,79345,79349,79353,79357,79361,79365],{},[59,79326,79327,25333],{},[611,79328,25332],{},[59,79330,79331,25339],{},[611,79332,25338],{},[59,79334,79335,25344],{},[611,79336,14358],{},[59,79338,79339,25349],{},[611,79340,16328],{},[59,79342,79343,25354],{},[611,79344,12542],{},[59,79346,79347,25360],{},[611,79348,25359],{},[59,79350,79351,25366],{},[611,79352,25365],{},[59,79354,79355,25372],{},[611,79356,25371],{},[59,79358,79359,25378],{},[611,79360,25377],{},[59,79362,79363,25384],{},[611,79364,25383],{},[59,79366,79367,25390],{},[611,79368,25389],{},[41,79370,25472],{"id":25472},[34,79372,32469],{},[34,79374,79375],{},[611,79376,6986],{},[616,79378,79379],{"className":6989,"code":32476,"language":6991,"meta":14,"style":14},[611,79380,79381,79385,79395,79405,79413],{"__ignoreMap":14},[6995,79382,79383],{"class":244,"line":6997},[6995,79384,7001],{"class":7000},[6995,79386,79387,79389,79391,79393],{"class":244,"line":15},[6995,79388,7007],{"class":7006},[6995,79390,7024],{"class":7000},[6995,79392,7013],{"class":7012},[6995,79394,7016],{"class":7000},[6995,79396,79397,79399,79401,79403],{"class":244,"line":154},[6995,79398,7021],{"class":7006},[6995,79400,7024],{"class":7000},[6995,79402,6679],{"class":7006},[6995,79404,7030],{"class":7000},[6995,79406,79407,79409,79411],{"class":244,"line":7033},[6995,79408,7036],{"class":7006},[6995,79410,7024],{"class":7000},[6995,79412,32511],{"class":7012},[6995,79414,79415],{"class":244,"line":7044},[6995,79416,7047],{"class":7000},[34,79418,79419],{},[611,79420,7052],{},[616,79422,79423],{"className":6989,"code":32522,"language":6991,"meta":14,"style":14},[611,79424,79425,79429,79439,79449,79455,79465,79475,79485,79495,79505,79515,79525,79535,79543,79547],{"__ignoreMap":14},[6995,79426,79427],{"class":244,"line":6997},[6995,79428,7001],{"class":7000},[6995,79430,79431,79433,79435,79437],{"class":244,"line":15},[6995,79432,7066],{"class":7006},[6995,79434,7024],{"class":7000},[6995,79436,6679],{"class":7006},[6995,79438,7030],{"class":7000},[6995,79440,79441,79443,79445,79447],{"class":244,"line":154},[6995,79442,7078],{"class":7006},[6995,79444,7024],{"class":7000},[6995,79446,7013],{"class":7012},[6995,79448,7030],{"class":7000},[6995,79450,79451,79453],{"class":244,"line":7033},[6995,79452,7089],{"class":7006},[6995,79454,7092],{"class":7000},[6995,79456,79457,79459,79461,79463],{"class":244,"line":7044},[6995,79458,32559],{"class":7006},[6995,79460,7024],{"class":7000},[6995,79462,32564],{"class":7012},[6995,79464,7030],{"class":7000},[6995,79466,79467,79469,79471,79473],{"class":244,"line":7107},[6995,79468,32571],{"class":7006},[6995,79470,7024],{"class":7000},[6995,79472,7027],{"class":7006},[6995,79474,7030],{"class":7000},[6995,79476,79477,79479,79481,79483],{"class":244,"line":7120},[6995,79478,32582],{"class":7006},[6995,79480,7024],{"class":7000},[6995,79482,6679],{"class":7006},[6995,79484,7030],{"class":7000},[6995,79486,79487,79489,79491,79493],{"class":244,"line":7133},[6995,79488,32593],{"class":7006},[6995,79490,7024],{"class":7000},[6995,79492,32598],{"class":7012},[6995,79494,7030],{"class":7000},[6995,79496,79497,79499,79501,79503],{"class":244,"line":7146},[6995,79498,32605],{"class":7006},[6995,79500,7024],{"class":7000},[6995,79502,32610],{"class":7012},[6995,79504,7030],{"class":7000},[6995,79506,79507,79509,79511,79513],{"class":244,"line":7159},[6995,79508,32617],{"class":7006},[6995,79510,7024],{"class":7000},[6995,79512,32622],{"class":7012},[6995,79514,7030],{"class":7000},[6995,79516,79517,79519,79521,79523],{"class":244,"line":7172},[6995,79518,32629],{"class":7006},[6995,79520,7024],{"class":7000},[6995,79522,7027],{"class":7006},[6995,79524,7030],{"class":7000},[6995,79526,79527,79529,79531,79533],{"class":244,"line":7185},[6995,79528,32640],{"class":7006},[6995,79530,7024],{"class":7000},[6995,79532,6679],{"class":7006},[6995,79534,7030],{"class":7000},[6995,79536,79537,79539,79541],{"class":244,"line":7198},[6995,79538,32651],{"class":7006},[6995,79540,7024],{"class":7000},[6995,79542,32656],{"class":7006},[6995,79544,79545],{"class":244,"line":7211},[6995,79546,7467],{"class":7000},[6995,79548,79549],{"class":244,"line":7220},[6995,79550,7047],{"class":7000},[852,79552,79553,79557],{},[59,79554,79555,32672],{},[611,79556,32671],{},[59,79558,79559,32678,79561,8764],{},[611,79560,32677],{},[175,79562,32681],{"href":32681,"rel":79563},[179],[41,79565,35407],{"id":35407},[34,79567,43452],{},[34,79569,79570],{},[611,79571,6986],{},[616,79573,79574],{"className":6989,"code":43459,"language":6991,"meta":14,"style":14},[611,79575,79576,79580,79590,79600,79610,79616,79620,79638,79648,79656,79660],{"__ignoreMap":14},[6995,79577,79578],{"class":244,"line":6997},[6995,79579,7001],{"class":7000},[6995,79581,79582,79584,79586,79588],{"class":244,"line":15},[6995,79583,7007],{"class":7006},[6995,79585,5102],{"class":7000},[6995,79587,7013],{"class":7012},[6995,79589,7016],{"class":7000},[6995,79591,79592,79594,79596,79598],{"class":244,"line":154},[6995,79593,7021],{"class":7006},[6995,79595,7024],{"class":7000},[6995,79597,6679],{"class":7006},[6995,79599,7030],{"class":7000},[6995,79601,79602,79604,79606,79608],{"class":244,"line":7033},[6995,79603,7036],{"class":7006},[6995,79605,7024],{"class":7000},[6995,79607,43494],{"class":7012},[6995,79609,7016],{"class":7000},[6995,79611,79612,79614],{"class":244,"line":7044},[6995,79613,7529],{"class":7006},[6995,79615,7532],{"class":7000},[6995,79617,79618],{"class":244,"line":7107},[6995,79619,7537],{"class":7000},[6995,79621,79622,79624,79626,79628,79630,79632,79634,79636],{"class":244,"line":7120},[6995,79623,24712],{"class":7006},[6995,79625,19886],{"class":7000},[6995,79627,6679],{"class":7006},[6995,79629,2231],{"class":7000},[6995,79631,7511],{"class":7006},[6995,79633,2231],{"class":7000},[6995,79635,11136],{"class":7006},[6995,79637,19906],{"class":7000},[6995,79639,79640,79642,79644,79646],{"class":244,"line":7133},[6995,79641,43529],{"class":7006},[6995,79643,43532],{"class":7000},[6995,79645,8689],{"class":7006},[6995,79647,7030],{"class":7000},[6995,79649,79650,79652,79654],{"class":244,"line":7146},[6995,79651,43541],{"class":7006},[6995,79653,7024],{"class":7000},[6995,79655,43546],{"class":7006},[6995,79657,79658],{"class":244,"line":7159},[6995,79659,7615],{"class":7000},[6995,79661,79662],{"class":244,"line":7172},[6995,79663,7047],{"class":7000},[852,79665,79666,79670,79678],{},[59,79667,79668,43561],{},[611,79669,15730],{},[59,79671,79672,43567,79674,43570,79676,181],{},[611,79673,43566],{},[611,79675,8689],{},[611,79677,8689],{},[59,79679,79680,43578],{},[611,79681,43577],{},[34,79683,79684],{},[611,79685,7052],{},[616,79687,79688],{"className":6989,"code":43585,"language":6991,"meta":14,"style":14},[611,79689,79690,79694,79704,79714,79720,79724,79734,79742,79746],{"__ignoreMap":14},[6995,79691,79692],{"class":244,"line":6997},[6995,79693,7001],{"class":7000},[6995,79695,79696,79698,79700,79702],{"class":244,"line":15},[6995,79697,7007],{"class":7006},[6995,79699,5102],{"class":7000},[6995,79701,7013],{"class":7012},[6995,79703,7016],{"class":7000},[6995,79705,79706,79708,79710,79712],{"class":244,"line":154},[6995,79707,7021],{"class":7006},[6995,79709,7024],{"class":7000},[6995,79711,6679],{"class":7006},[6995,79713,7030],{"class":7000},[6995,79715,79716,79718],{"class":244,"line":7033},[6995,79717,7732],{"class":7006},[6995,79719,11893],{"class":7000},[6995,79721,79722],{"class":244,"line":7044},[6995,79723,7537],{"class":7000},[6995,79725,79726,79728,79730,79732],{"class":244,"line":7107},[6995,79727,43626],{"class":7006},[6995,79729,7746],{"class":7000},[6995,79731,43631],{"class":7012},[6995,79733,7030],{"class":7000},[6995,79735,79736,79738,79740],{"class":244,"line":7120},[6995,79737,43638],{"class":7006},[6995,79739,7024],{"class":7000},[6995,79741,8505],{"class":7006},[6995,79743,79744],{"class":244,"line":7133},[6995,79745,7615],{"class":7000},[6995,79747,79748],{"class":244,"line":7146},[6995,79749,7047],{"class":7000},[852,79751,79752,79756],{},[59,79753,79754,43657],{},[611,79755,1149],{},[59,79757,79758,43663],{},[611,79759,43662],{},[41,79761,35417],{"id":35417},[34,79763,43668],{},[34,79765,79766],{},[611,79767,6986],{},[616,79769,79770],{"className":6989,"code":43675,"language":6991,"meta":14,"style":14},[611,79771,79772,79776,79786,79796,79806,79812,79816,79834,79842,79846],{"__ignoreMap":14},[6995,79773,79774],{"class":244,"line":6997},[6995,79775,7001],{"class":7000},[6995,79777,79778,79780,79782,79784],{"class":244,"line":15},[6995,79779,7007],{"class":7006},[6995,79781,5102],{"class":7000},[6995,79783,7013],{"class":7012},[6995,79785,7016],{"class":7000},[6995,79787,79788,79790,79792,79794],{"class":244,"line":154},[6995,79789,7021],{"class":7006},[6995,79791,7024],{"class":7000},[6995,79793,6679],{"class":7006},[6995,79795,7030],{"class":7000},[6995,79797,79798,79800,79802,79804],{"class":244,"line":7033},[6995,79799,7036],{"class":7006},[6995,79801,7024],{"class":7000},[6995,79803,43710],{"class":7012},[6995,79805,7016],{"class":7000},[6995,79807,79808,79810],{"class":244,"line":7044},[6995,79809,7529],{"class":7006},[6995,79811,7532],{"class":7000},[6995,79813,79814],{"class":244,"line":7107},[6995,79815,7537],{"class":7000},[6995,79817,79818,79820,79822,79824,79826,79828,79830,79832],{"class":244,"line":7120},[6995,79819,24712],{"class":7006},[6995,79821,19886],{"class":7000},[6995,79823,6679],{"class":7006},[6995,79825,2231],{"class":7000},[6995,79827,7511],{"class":7006},[6995,79829,2231],{"class":7000},[6995,79831,11136],{"class":7006},[6995,79833,19906],{"class":7000},[6995,79835,79836,79838,79840],{"class":244,"line":7133},[6995,79837,43541],{"class":7006},[6995,79839,7024],{"class":7000},[6995,79841,43546],{"class":7006},[6995,79843,79844],{"class":244,"line":7146},[6995,79845,7615],{"class":7000},[6995,79847,79848],{"class":244,"line":7159},[6995,79849,7047],{"class":7000},[852,79851,79852,79856],{},[59,79853,79854,43763],{},[611,79855,15730],{},[59,79857,79858,43578],{},[611,79859,43577],{},[34,79861,79862],{},[611,79863,7052],{},[616,79865,79866],{"className":6989,"code":43774,"language":6991,"meta":14,"style":14},[611,79867,79868,79872,79882,79892,79898,79902,79910,79914],{"__ignoreMap":14},[6995,79869,79870],{"class":244,"line":6997},[6995,79871,7001],{"class":7000},[6995,79873,79874,79876,79878,79880],{"class":244,"line":15},[6995,79875,7007],{"class":7006},[6995,79877,5102],{"class":7000},[6995,79879,7013],{"class":7012},[6995,79881,7016],{"class":7000},[6995,79883,79884,79886,79888,79890],{"class":244,"line":154},[6995,79885,7021],{"class":7006},[6995,79887,7024],{"class":7000},[6995,79889,6679],{"class":7006},[6995,79891,7030],{"class":7000},[6995,79893,79894,79896],{"class":244,"line":7033},[6995,79895,7732],{"class":7006},[6995,79897,11893],{"class":7000},[6995,79899,79900],{"class":244,"line":7044},[6995,79901,7537],{"class":7000},[6995,79903,79904,79906,79908],{"class":244,"line":7107},[6995,79905,43626],{"class":7006},[6995,79907,7746],{"class":7000},[6995,79909,43819],{"class":7012},[6995,79911,79912],{"class":244,"line":7120},[6995,79913,7615],{"class":7000},[6995,79915,79916],{"class":244,"line":7133},[6995,79917,7047],{"class":7000},[852,79919,79920],{},[59,79921,79922,43834],{},[611,79923,1149],{},[41,79925,35427],{"id":35427},[34,79927,43839],{},[34,79929,79930],{},[611,79931,6986],{},[616,79933,79934],{"className":6989,"code":43846,"language":6991,"meta":14,"style":14},[611,79935,79936,79940,79950,79960,79970,79976,79980,79990,79998,80002],{"__ignoreMap":14},[6995,79937,79938],{"class":244,"line":6997},[6995,79939,7001],{"class":7000},[6995,79941,79942,79944,79946,79948],{"class":244,"line":15},[6995,79943,7007],{"class":7006},[6995,79945,5102],{"class":7000},[6995,79947,7013],{"class":7012},[6995,79949,7016],{"class":7000},[6995,79951,79952,79954,79956,79958],{"class":244,"line":154},[6995,79953,7021],{"class":7006},[6995,79955,7024],{"class":7000},[6995,79957,6679],{"class":7006},[6995,79959,7030],{"class":7000},[6995,79961,79962,79964,79966,79968],{"class":244,"line":7033},[6995,79963,7036],{"class":7006},[6995,79965,7024],{"class":7000},[6995,79967,43881],{"class":7012},[6995,79969,7016],{"class":7000},[6995,79971,79972,79974],{"class":244,"line":7044},[6995,79973,7529],{"class":7006},[6995,79975,7532],{"class":7000},[6995,79977,79978],{"class":244,"line":7107},[6995,79979,7537],{"class":7000},[6995,79981,79982,79984,79986,79988],{"class":244,"line":7120},[6995,79983,43626],{"class":7006},[6995,79985,7746],{"class":7000},[6995,79987,43631],{"class":7012},[6995,79989,7030],{"class":7000},[6995,79991,79992,79994,79996],{"class":244,"line":7133},[6995,79993,43541],{"class":7006},[6995,79995,7024],{"class":7000},[6995,79997,43546],{"class":7006},[6995,79999,80000],{"class":244,"line":7146},[6995,80001,7615],{"class":7000},[6995,80003,80004],{"class":244,"line":7159},[6995,80005,7047],{"class":7000},[852,80007,80008,80012],{},[59,80009,80010,43926],{},[611,80011,1149],{},[59,80013,80014,43578],{},[611,80015,43577],{},[34,80017,80018],{},[611,80019,7052],{},[616,80021,80022],{"className":6989,"code":43937,"language":6991,"meta":14,"style":14},[611,80023,80024,80028,80038,80048,80054,80058,80068,80086,80090],{"__ignoreMap":14},[6995,80025,80026],{"class":244,"line":6997},[6995,80027,7001],{"class":7000},[6995,80029,80030,80032,80034,80036],{"class":244,"line":15},[6995,80031,7007],{"class":7006},[6995,80033,5102],{"class":7000},[6995,80035,7013],{"class":7012},[6995,80037,7016],{"class":7000},[6995,80039,80040,80042,80044,80046],{"class":244,"line":154},[6995,80041,7021],{"class":7006},[6995,80043,7024],{"class":7000},[6995,80045,6679],{"class":7006},[6995,80047,7030],{"class":7000},[6995,80049,80050,80052],{"class":244,"line":7033},[6995,80051,7732],{"class":7006},[6995,80053,11893],{"class":7000},[6995,80055,80056],{"class":244,"line":7044},[6995,80057,7537],{"class":7000},[6995,80059,80060,80062,80064,80066],{"class":244,"line":7107},[6995,80061,43626],{"class":7006},[6995,80063,7746],{"class":7000},[6995,80065,43631],{"class":7012},[6995,80067,7030],{"class":7000},[6995,80069,80070,80072,80074,80076,80078,80080,80082,80084],{"class":244,"line":7120},[6995,80071,24712],{"class":7006},[6995,80073,19886],{"class":7000},[6995,80075,6679],{"class":7006},[6995,80077,2231],{"class":7000},[6995,80079,7511],{"class":7006},[6995,80081,2231],{"class":7000},[6995,80083,11136],{"class":7006},[6995,80085,13671],{"class":7000},[6995,80087,80088],{"class":244,"line":7133},[6995,80089,7615],{"class":7000},[6995,80091,80092],{"class":244,"line":7146},[6995,80093,7047],{"class":7000},[852,80095,80096,80100],{},[59,80097,80098,43834],{},[611,80099,1149],{},[59,80101,80102,44020],{},[611,80103,15730],{},[41,80105,35437],{"id":35437},[34,80107,44025,80108,44028],{},[611,80109,35427],{},[34,80111,80112],{},[611,80113,6986],{},[616,80115,80116],{"className":6989,"code":44035,"language":6991,"meta":14,"style":14},[611,80117,80118,80122,80132,80142,80152,80158,80162,80172,80180,80184],{"__ignoreMap":14},[6995,80119,80120],{"class":244,"line":6997},[6995,80121,7001],{"class":7000},[6995,80123,80124,80126,80128,80130],{"class":244,"line":15},[6995,80125,7007],{"class":7006},[6995,80127,5102],{"class":7000},[6995,80129,7013],{"class":7012},[6995,80131,7016],{"class":7000},[6995,80133,80134,80136,80138,80140],{"class":244,"line":154},[6995,80135,7021],{"class":7006},[6995,80137,7024],{"class":7000},[6995,80139,6679],{"class":7006},[6995,80141,7030],{"class":7000},[6995,80143,80144,80146,80148,80150],{"class":244,"line":7033},[6995,80145,7036],{"class":7006},[6995,80147,7024],{"class":7000},[6995,80149,44070],{"class":7012},[6995,80151,7016],{"class":7000},[6995,80153,80154,80156],{"class":244,"line":7044},[6995,80155,7529],{"class":7006},[6995,80157,7532],{"class":7000},[6995,80159,80160],{"class":244,"line":7107},[6995,80161,7537],{"class":7000},[6995,80163,80164,80166,80168,80170],{"class":244,"line":7120},[6995,80165,43626],{"class":7006},[6995,80167,7746],{"class":7000},[6995,80169,43631],{"class":7012},[6995,80171,7030],{"class":7000},[6995,80173,80174,80176,80178],{"class":244,"line":7133},[6995,80175,43541],{"class":7006},[6995,80177,7024],{"class":7000},[6995,80179,43546],{"class":7006},[6995,80181,80182],{"class":244,"line":7146},[6995,80183,7615],{"class":7000},[6995,80185,80186],{"class":244,"line":7159},[6995,80187,7047],{"class":7000},[852,80189,80190,80194],{},[59,80191,80192,44115],{},[611,80193,1149],{},[59,80195,80196,43578],{},[611,80197,43577],{},[34,80199,80200],{},[611,80201,7052],{},[616,80203,80204],{"className":6989,"code":43774,"language":6991,"meta":14,"style":14},[611,80205,80206,80210,80220,80230,80236,80240,80248,80252],{"__ignoreMap":14},[6995,80207,80208],{"class":244,"line":6997},[6995,80209,7001],{"class":7000},[6995,80211,80212,80214,80216,80218],{"class":244,"line":15},[6995,80213,7007],{"class":7006},[6995,80215,5102],{"class":7000},[6995,80217,7013],{"class":7012},[6995,80219,7016],{"class":7000},[6995,80221,80222,80224,80226,80228],{"class":244,"line":154},[6995,80223,7021],{"class":7006},[6995,80225,7024],{"class":7000},[6995,80227,6679],{"class":7006},[6995,80229,7030],{"class":7000},[6995,80231,80232,80234],{"class":244,"line":7033},[6995,80233,7732],{"class":7006},[6995,80235,11893],{"class":7000},[6995,80237,80238],{"class":244,"line":7044},[6995,80239,7537],{"class":7000},[6995,80241,80242,80244,80246],{"class":244,"line":7107},[6995,80243,43626],{"class":7006},[6995,80245,7746],{"class":7000},[6995,80247,43819],{"class":7012},[6995,80249,80250],{"class":244,"line":7120},[6995,80251,7615],{"class":7000},[6995,80253,80254],{"class":244,"line":7133},[6995,80255,7047],{"class":7000},[852,80257,80258],{},[59,80259,80260,44184],{},[611,80261,1149],{},[41,80263,35447],{"id":35447},[34,80265,44189,80266,44192],{},[611,80267,35427],{},[34,80269,80270],{},[611,80271,6986],{},[616,80273,80274],{"className":6989,"code":44199,"language":6991,"meta":14,"style":14},[611,80275,80276,80280,80290,80300,80310,80316,80320,80328,80332],{"__ignoreMap":14},[6995,80277,80278],{"class":244,"line":6997},[6995,80279,7001],{"class":7000},[6995,80281,80282,80284,80286,80288],{"class":244,"line":15},[6995,80283,7007],{"class":7006},[6995,80285,5102],{"class":7000},[6995,80287,7013],{"class":7012},[6995,80289,7016],{"class":7000},[6995,80291,80292,80294,80296,80298],{"class":244,"line":154},[6995,80293,7021],{"class":7006},[6995,80295,7024],{"class":7000},[6995,80297,6679],{"class":7006},[6995,80299,7030],{"class":7000},[6995,80301,80302,80304,80306,80308],{"class":244,"line":7033},[6995,80303,7036],{"class":7006},[6995,80305,7024],{"class":7000},[6995,80307,44234],{"class":7012},[6995,80309,7016],{"class":7000},[6995,80311,80312,80314],{"class":244,"line":7044},[6995,80313,7529],{"class":7006},[6995,80315,7532],{"class":7000},[6995,80317,80318],{"class":244,"line":7107},[6995,80319,7537],{"class":7000},[6995,80321,80322,80324,80326],{"class":244,"line":7120},[6995,80323,43626],{"class":7006},[6995,80325,7746],{"class":7000},[6995,80327,43819],{"class":7012},[6995,80329,80330],{"class":244,"line":7133},[6995,80331,7615],{"class":7000},[6995,80333,80334],{"class":244,"line":7146},[6995,80335,7047],{"class":7000},[852,80337,80338],{},[59,80339,80340,44269],{},[611,80341,1149],{},[34,80343,80344],{},[611,80345,7052],{},[616,80347,80348],{"className":6989,"code":43774,"language":6991,"meta":14,"style":14},[611,80349,80350,80354,80364,80374,80380,80384,80392,80396],{"__ignoreMap":14},[6995,80351,80352],{"class":244,"line":6997},[6995,80353,7001],{"class":7000},[6995,80355,80356,80358,80360,80362],{"class":244,"line":15},[6995,80357,7007],{"class":7006},[6995,80359,5102],{"class":7000},[6995,80361,7013],{"class":7012},[6995,80363,7016],{"class":7000},[6995,80365,80366,80368,80370,80372],{"class":244,"line":154},[6995,80367,7021],{"class":7006},[6995,80369,7024],{"class":7000},[6995,80371,6679],{"class":7006},[6995,80373,7030],{"class":7000},[6995,80375,80376,80378],{"class":244,"line":7033},[6995,80377,7732],{"class":7006},[6995,80379,11893],{"class":7000},[6995,80381,80382],{"class":244,"line":7044},[6995,80383,7537],{"class":7000},[6995,80385,80386,80388,80390],{"class":244,"line":7107},[6995,80387,43626],{"class":7006},[6995,80389,7746],{"class":7000},[6995,80391,43819],{"class":7012},[6995,80393,80394],{"class":244,"line":7120},[6995,80395,7615],{"class":7000},[6995,80397,80398],{"class":244,"line":7133},[6995,80399,7047],{"class":7000},[852,80401,80402],{},[59,80403,80404,44334],{},[611,80405,1149],{},[41,80407,35457],{"id":35457},[34,80409,44339],{},[34,80411,80412],{},[611,80413,6986],{},[616,80415,80416],{"className":6989,"code":44346,"language":6991,"meta":14,"style":14},[611,80417,80418,80422,80432,80442,80452,80458,80462,80470,80474],{"__ignoreMap":14},[6995,80419,80420],{"class":244,"line":6997},[6995,80421,7001],{"class":7000},[6995,80423,80424,80426,80428,80430],{"class":244,"line":15},[6995,80425,7007],{"class":7006},[6995,80427,5102],{"class":7000},[6995,80429,7013],{"class":7012},[6995,80431,7016],{"class":7000},[6995,80433,80434,80436,80438,80440],{"class":244,"line":154},[6995,80435,7021],{"class":7006},[6995,80437,7024],{"class":7000},[6995,80439,6679],{"class":7006},[6995,80441,7030],{"class":7000},[6995,80443,80444,80446,80448,80450],{"class":244,"line":7033},[6995,80445,7036],{"class":7006},[6995,80447,7024],{"class":7000},[6995,80449,44381],{"class":7012},[6995,80451,7016],{"class":7000},[6995,80453,80454,80456],{"class":244,"line":7044},[6995,80455,7529],{"class":7006},[6995,80457,7532],{"class":7000},[6995,80459,80460],{"class":244,"line":7107},[6995,80461,7537],{"class":7000},[6995,80463,80464,80466,80468],{"class":244,"line":7120},[6995,80465,43541],{"class":7006},[6995,80467,7746],{"class":7000},[6995,80469,44402],{"class":7006},[6995,80471,80472],{"class":244,"line":7133},[6995,80473,7615],{"class":7000},[6995,80475,80476],{"class":244,"line":7146},[6995,80477,7047],{"class":7000},[852,80479,80480],{},[59,80481,80482,43578],{},[611,80483,43577],{},[34,80485,80486],{},[611,80487,7052],{},[616,80489,80490],{"className":6989,"code":44423,"language":6991,"meta":14,"style":14},[611,80491,80492,80496,80506,80516,80522,80526,80534,80538],{"__ignoreMap":14},[6995,80493,80494],{"class":244,"line":6997},[6995,80495,7001],{"class":7000},[6995,80497,80498,80500,80502,80504],{"class":244,"line":15},[6995,80499,7007],{"class":7006},[6995,80501,5102],{"class":7000},[6995,80503,7013],{"class":7012},[6995,80505,7016],{"class":7000},[6995,80507,80508,80510,80512,80514],{"class":244,"line":154},[6995,80509,7021],{"class":7006},[6995,80511,7024],{"class":7000},[6995,80513,6679],{"class":7006},[6995,80515,7030],{"class":7000},[6995,80517,80518,80520],{"class":244,"line":7033},[6995,80519,7732],{"class":7006},[6995,80521,11893],{"class":7000},[6995,80523,80524],{"class":244,"line":7044},[6995,80525,7537],{"class":7000},[6995,80527,80528,80530,80532],{"class":244,"line":7107},[6995,80529,44464],{"class":7006},[6995,80531,7746],{"class":7000},[6995,80533,8505],{"class":7006},[6995,80535,80536],{"class":244,"line":7120},[6995,80537,7615],{"class":7000},[6995,80539,80540],{"class":244,"line":7133},[6995,80541,7047],{"class":7000},[852,80543,80544],{},[59,80545,80546,44483],{},[611,80547,15735],{},[41,80549,25480],{"id":25480},[34,80551,32687],{},[34,80553,80554],{},[611,80555,6986],{},[616,80557,80558],{"className":6989,"code":32694,"language":6991,"meta":14,"style":14},[611,80559,80560,80564,80574,80584,80594,80600,80610,80620,80630,80640,80650,80658,80662],{"__ignoreMap":14},[6995,80561,80562],{"class":244,"line":6997},[6995,80563,7001],{"class":7000},[6995,80565,80566,80568,80570,80572],{"class":244,"line":15},[6995,80567,7007],{"class":7006},[6995,80569,7024],{"class":7000},[6995,80571,7013],{"class":7012},[6995,80573,7016],{"class":7000},[6995,80575,80576,80578,80580,80582],{"class":244,"line":154},[6995,80577,7021],{"class":7006},[6995,80579,7024],{"class":7000},[6995,80581,6679],{"class":7006},[6995,80583,7030],{"class":7000},[6995,80585,80586,80588,80590,80592],{"class":244,"line":7033},[6995,80587,7036],{"class":7006},[6995,80589,7024],{"class":7000},[6995,80591,32729],{"class":7012},[6995,80593,7030],{"class":7000},[6995,80595,80596,80598],{"class":244,"line":7044},[6995,80597,7529],{"class":7006},[6995,80599,7092],{"class":7000},[6995,80601,80602,80604,80606,80608],{"class":244,"line":7107},[6995,80603,32742],{"class":7006},[6995,80605,7024],{"class":7000},[6995,80607,8689],{"class":7006},[6995,80609,7030],{"class":7000},[6995,80611,80612,80614,80616,80618],{"class":244,"line":7120},[6995,80613,32753],{"class":7006},[6995,80615,7024],{"class":7000},[6995,80617,8689],{"class":7006},[6995,80619,7030],{"class":7000},[6995,80621,80622,80624,80626,80628],{"class":244,"line":7133},[6995,80623,32764],{"class":7006},[6995,80625,7024],{"class":7000},[6995,80627,8689],{"class":7006},[6995,80629,7030],{"class":7000},[6995,80631,80632,80634,80636,80638],{"class":244,"line":7146},[6995,80633,32775],{"class":7006},[6995,80635,7024],{"class":7000},[6995,80637,8689],{"class":7006},[6995,80639,7030],{"class":7000},[6995,80641,80642,80644,80646,80648],{"class":244,"line":7159},[6995,80643,32786],{"class":7006},[6995,80645,7024],{"class":7000},[6995,80647,8689],{"class":7006},[6995,80649,7030],{"class":7000},[6995,80651,80652,80654,80656],{"class":244,"line":7172},[6995,80653,32797],{"class":7006},[6995,80655,7024],{"class":7000},[6995,80657,8505],{"class":7006},[6995,80659,80660],{"class":244,"line":7185},[6995,80661,7615],{"class":7000},[6995,80663,80664],{"class":244,"line":7198},[6995,80665,7047],{"class":7000},[34,80667,80668],{},[611,80669,7052],{},[616,80671,80672],{"className":6989,"code":32816,"language":6991,"meta":14,"style":14},[611,80673,80674,80678,80688,80698,80706],{"__ignoreMap":14},[6995,80675,80676],{"class":244,"line":6997},[6995,80677,7001],{"class":7000},[6995,80679,80680,80682,80684,80686],{"class":244,"line":15},[6995,80681,7066],{"class":7006},[6995,80683,7024],{"class":7000},[6995,80685,6679],{"class":7006},[6995,80687,7030],{"class":7000},[6995,80689,80690,80692,80694,80696],{"class":244,"line":154},[6995,80691,7078],{"class":7006},[6995,80693,7024],{"class":7000},[6995,80695,7013],{"class":7012},[6995,80697,7030],{"class":7000},[6995,80699,80700,80702,80704],{"class":244,"line":7033},[6995,80701,7089],{"class":7006},[6995,80703,7024],{"class":7000},[6995,80705,8505],{"class":7006},[6995,80707,80708],{"class":244,"line":7044},[6995,80709,7047],{"class":7000},[852,80711,80712],{},[59,80713,80714,32862,80716,32865],{},[611,80715,32861],{},[611,80717,32861],{},[41,80719,25551],{"id":25551},[34,80721,32967],{},[852,80723,80724,80726],{},[59,80725,32972],{},[59,80727,32975],{},[34,80729,32978],{},[34,80731,80732],{},[611,80733,32983],{},[616,80735,80736],{"className":6989,"code":32986,"language":6991,"meta":14,"style":14},[611,80737,80738,80742,80752,80762,80768,80778,80788,80798,80808,80818,80828,80838,80848,80858,80868,80876,80880],{"__ignoreMap":14},[6995,80739,80740],{"class":244,"line":6997},[6995,80741,7001],{"class":7000},[6995,80743,80744,80746,80748,80750],{"class":244,"line":15},[6995,80745,7066],{"class":7006},[6995,80747,7024],{"class":7000},[6995,80749,33001],{"class":7012},[6995,80751,7030],{"class":7000},[6995,80753,80754,80756,80758,80760],{"class":244,"line":154},[6995,80755,7078],{"class":7006},[6995,80757,7024],{"class":7000},[6995,80759,7013],{"class":7012},[6995,80761,7030],{"class":7000},[6995,80763,80764,80766],{"class":244,"line":7033},[6995,80765,7089],{"class":7006},[6995,80767,7092],{"class":7000},[6995,80769,80770,80772,80774,80776],{"class":244,"line":7044},[6995,80771,7097],{"class":7006},[6995,80773,7024],{"class":7000},[6995,80775,33028],{"class":7006},[6995,80777,7030],{"class":7000},[6995,80779,80780,80782,80784,80786],{"class":244,"line":7107},[6995,80781,7110],{"class":7006},[6995,80783,7024],{"class":7000},[6995,80785,33039],{"class":7012},[6995,80787,7030],{"class":7000},[6995,80789,80790,80792,80794,80796],{"class":244,"line":7120},[6995,80791,29521],{"class":7006},[6995,80793,7024],{"class":7000},[6995,80795,33050],{"class":7006},[6995,80797,7030],{"class":7000},[6995,80799,80800,80802,80804,80806],{"class":244,"line":7133},[6995,80801,33057],{"class":7006},[6995,80803,7024],{"class":7000},[6995,80805,7180],{"class":7006},[6995,80807,7030],{"class":7000},[6995,80809,80810,80812,80814,80816],{"class":244,"line":7146},[6995,80811,33068],{"class":7006},[6995,80813,7024],{"class":7000},[6995,80815,7511],{"class":7006},[6995,80817,7030],{"class":7000},[6995,80819,80820,80822,80824,80826],{"class":244,"line":7159},[6995,80821,29542],{"class":7006},[6995,80823,7024],{"class":7000},[6995,80825,8689],{"class":7006},[6995,80827,7030],{"class":7000},[6995,80829,80830,80832,80834,80836],{"class":244,"line":7172},[6995,80831,7136],{"class":7006},[6995,80833,7024],{"class":7000},[6995,80835,33093],{"class":7012},[6995,80837,7030],{"class":7000},[6995,80839,80840,80842,80844,80846],{"class":244,"line":7185},[6995,80841,33100],{"class":7006},[6995,80843,7024],{"class":7000},[6995,80845,33105],{"class":7006},[6995,80847,7030],{"class":7000},[6995,80849,80850,80852,80854,80856],{"class":244,"line":7198},[6995,80851,33112],{"class":7006},[6995,80853,7024],{"class":7000},[6995,80855,33039],{"class":7012},[6995,80857,7030],{"class":7000},[6995,80859,80860,80862,80864,80866],{"class":244,"line":7211},[6995,80861,33123],{"class":7006},[6995,80863,7024],{"class":7000},[6995,80865,33128],{"class":7012},[6995,80867,7030],{"class":7000},[6995,80869,80870,80872,80874],{"class":244,"line":7220},[6995,80871,33135],{"class":7006},[6995,80873,7024],{"class":7000},[6995,80875,33140],{"class":7006},[6995,80877,80878],{"class":244,"line":7226},[6995,80879,7467],{"class":7000},[6995,80881,80882],{"class":244,"line":7238},[6995,80883,7047],{"class":7000},[34,80885,33151,80886,10072,80888,33158,80890,33162,80892,33165,80894,33168,80896,33171,80898,33174],{},[611,80887,33154],{},[611,80889,33157],{},[611,80891,33161],{},[611,80893,33157],{},[611,80895,33154],{},[611,80897,25499],{},[611,80899,25499],{},[34,80901,80902],{},[611,80903,33179],{},[616,80905,80906],{"className":6989,"code":33182,"language":6991,"meta":14,"style":14},[611,80907,80908,80912,80922,80932,80938,80948,80958,80968,80978,80988,80998,81008,81018,81028,81038,81046,81050],{"__ignoreMap":14},[6995,80909,80910],{"class":244,"line":6997},[6995,80911,7001],{"class":7000},[6995,80913,80914,80916,80918,80920],{"class":244,"line":15},[6995,80915,7066],{"class":7006},[6995,80917,7024],{"class":7000},[6995,80919,33001],{"class":7012},[6995,80921,7030],{"class":7000},[6995,80923,80924,80926,80928,80930],{"class":244,"line":154},[6995,80925,7078],{"class":7006},[6995,80927,7024],{"class":7000},[6995,80929,7013],{"class":7012},[6995,80931,7030],{"class":7000},[6995,80933,80934,80936],{"class":244,"line":7033},[6995,80935,7089],{"class":7006},[6995,80937,7092],{"class":7000},[6995,80939,80940,80942,80944,80946],{"class":244,"line":7044},[6995,80941,7097],{"class":7006},[6995,80943,7024],{"class":7000},[6995,80945,33028],{"class":7006},[6995,80947,7030],{"class":7000},[6995,80949,80950,80952,80954,80956],{"class":244,"line":7107},[6995,80951,7110],{"class":7006},[6995,80953,7024],{"class":7000},[6995,80955,33039],{"class":7012},[6995,80957,7030],{"class":7000},[6995,80959,80960,80962,80964,80966],{"class":244,"line":7120},[6995,80961,29521],{"class":7006},[6995,80963,7024],{"class":7000},[6995,80965,33050],{"class":7006},[6995,80967,7030],{"class":7000},[6995,80969,80970,80972,80974,80976],{"class":244,"line":7133},[6995,80971,33057],{"class":7006},[6995,80973,7024],{"class":7000},[6995,80975,6679],{"class":7006},[6995,80977,7030],{"class":7000},[6995,80979,80980,80982,80984,80986],{"class":244,"line":7146},[6995,80981,33068],{"class":7006},[6995,80983,7024],{"class":7000},[6995,80985,7511],{"class":7006},[6995,80987,7030],{"class":7000},[6995,80989,80990,80992,80994,80996],{"class":244,"line":7159},[6995,80991,29542],{"class":7006},[6995,80993,7024],{"class":7000},[6995,80995,8689],{"class":7006},[6995,80997,7030],{"class":7000},[6995,80999,81000,81002,81004,81006],{"class":244,"line":7172},[6995,81001,7136],{"class":7006},[6995,81003,7024],{"class":7000},[6995,81005,33093],{"class":7012},[6995,81007,7030],{"class":7000},[6995,81009,81010,81012,81014,81016],{"class":244,"line":7185},[6995,81011,33100],{"class":7006},[6995,81013,7024],{"class":7000},[6995,81015,33105],{"class":7006},[6995,81017,7030],{"class":7000},[6995,81019,81020,81022,81024,81026],{"class":244,"line":7198},[6995,81021,33112],{"class":7006},[6995,81023,7024],{"class":7000},[6995,81025,33039],{"class":7012},[6995,81027,7030],{"class":7000},[6995,81029,81030,81032,81034,81036],{"class":244,"line":7211},[6995,81031,33123],{"class":7006},[6995,81033,7024],{"class":7000},[6995,81035,33128],{"class":7012},[6995,81037,7030],{"class":7000},[6995,81039,81040,81042,81044],{"class":244,"line":7220},[6995,81041,33135],{"class":7006},[6995,81043,7024],{"class":7000},[6995,81045,33140],{"class":7006},[6995,81047,81048],{"class":244,"line":7226},[6995,81049,7467],{"class":7000},[6995,81051,81052],{"class":244,"line":7238},[6995,81053,7047],{"class":7000},[34,81055,33333,81056,33336,81058,33340],{},[611,81057,33161],{},[611,81059,33339],{},[34,81061,81062],{},[611,81063,33345],{},[616,81065,81066],{"className":6989,"code":33348,"language":6991,"meta":14,"style":14},[611,81067,81068,81072,81082,81092,81098,81108,81118,81128,81138,81148,81158,81168,81178,81188,81198,81206,81210,81214,81218,81242,81246,81254,81258,81262,81272,81282,81288,81298,81308,81318,81328,81338,81348,81358,81368,81378,81388,81396,81400],{"__ignoreMap":14},[6995,81069,81070],{"class":244,"line":6997},[6995,81071,7001],{"class":7000},[6995,81073,81074,81076,81078,81080],{"class":244,"line":15},[6995,81075,7066],{"class":7006},[6995,81077,7024],{"class":7000},[6995,81079,33001],{"class":7012},[6995,81081,7030],{"class":7000},[6995,81083,81084,81086,81088,81090],{"class":244,"line":154},[6995,81085,7078],{"class":7006},[6995,81087,7024],{"class":7000},[6995,81089,7013],{"class":7012},[6995,81091,7030],{"class":7000},[6995,81093,81094,81096],{"class":244,"line":7033},[6995,81095,7089],{"class":7006},[6995,81097,7092],{"class":7000},[6995,81099,81100,81102,81104,81106],{"class":244,"line":7044},[6995,81101,7097],{"class":7006},[6995,81103,7024],{"class":7000},[6995,81105,33028],{"class":7006},[6995,81107,7030],{"class":7000},[6995,81109,81110,81112,81114,81116],{"class":244,"line":7107},[6995,81111,7110],{"class":7006},[6995,81113,7024],{"class":7000},[6995,81115,33039],{"class":7012},[6995,81117,7030],{"class":7000},[6995,81119,81120,81122,81124,81126],{"class":244,"line":7120},[6995,81121,29521],{"class":7006},[6995,81123,7024],{"class":7000},[6995,81125,33050],{"class":7006},[6995,81127,7030],{"class":7000},[6995,81129,81130,81132,81134,81136],{"class":244,"line":7133},[6995,81131,33057],{"class":7006},[6995,81133,7024],{"class":7000},[6995,81135,7511],{"class":7006},[6995,81137,7030],{"class":7000},[6995,81139,81140,81142,81144,81146],{"class":244,"line":7146},[6995,81141,33068],{"class":7006},[6995,81143,7024],{"class":7000},[6995,81145,7511],{"class":7006},[6995,81147,7030],{"class":7000},[6995,81149,81150,81152,81154,81156],{"class":244,"line":7159},[6995,81151,29542],{"class":7006},[6995,81153,7024],{"class":7000},[6995,81155,8689],{"class":7006},[6995,81157,7030],{"class":7000},[6995,81159,81160,81162,81164,81166],{"class":244,"line":7172},[6995,81161,7136],{"class":7006},[6995,81163,7024],{"class":7000},[6995,81165,33093],{"class":7012},[6995,81167,7030],{"class":7000},[6995,81169,81170,81172,81174,81176],{"class":244,"line":7185},[6995,81171,33100],{"class":7006},[6995,81173,7024],{"class":7000},[6995,81175,33105],{"class":7006},[6995,81177,7030],{"class":7000},[6995,81179,81180,81182,81184,81186],{"class":244,"line":7198},[6995,81181,33112],{"class":7006},[6995,81183,7024],{"class":7000},[6995,81185,33039],{"class":7012},[6995,81187,7030],{"class":7000},[6995,81189,81190,81192,81194,81196],{"class":244,"line":7211},[6995,81191,33123],{"class":7006},[6995,81193,7024],{"class":7000},[6995,81195,33128],{"class":7012},[6995,81197,7030],{"class":7000},[6995,81199,81200,81202,81204],{"class":244,"line":7220},[6995,81201,33135],{"class":7006},[6995,81203,7024],{"class":7000},[6995,81205,33140],{"class":7006},[6995,81207,81208],{"class":244,"line":7226},[6995,81209,7467],{"class":7000},[6995,81211,81212],{"class":244,"line":7238},[6995,81213,7047],{"class":7000},[6995,81215,81216],{"class":244,"line":7250},[6995,81217,14371],{"emptyLinePlaceholder":20},[6995,81219,81220,81222,81224,81226,81228,81230,81232,81234,81236,81238,81240],{"class":244,"line":7263},[6995,81221,33505],{"class":7000},[6995,81223,11136],{"class":7006},[6995,81225,33510],{"class":7000},[6995,81227,7511],{"class":7006},[6995,81229,33515],{"class":7000},[6995,81231,7511],{"class":7006},[6995,81233,33520],{"class":7000},[6995,81235,7511],{"class":7006},[6995,81237,33525],{"class":7000},[6995,81239,33028],{"class":7006},[6995,81241,33530],{"class":7000},[6995,81243,81244],{"class":244,"line":7275},[6995,81245,14371],{"emptyLinePlaceholder":20},[6995,81247,81248,81250,81252],{"class":244,"line":7288},[6995,81249,33539],{"class":7000},[6995,81251,8439],{"class":7006},[6995,81253,33544],{"class":7000},[6995,81255,81256],{"class":244,"line":7300},[6995,81257,33549],{"class":7000},[6995,81259,81260],{"class":244,"line":7313},[6995,81261,7001],{"class":7000},[6995,81263,81264,81266,81268,81270],{"class":244,"line":7325},[6995,81265,7066],{"class":7006},[6995,81267,7024],{"class":7000},[6995,81269,33001],{"class":7012},[6995,81271,7030],{"class":7000},[6995,81273,81274,81276,81278,81280],{"class":244,"line":7336},[6995,81275,7078],{"class":7006},[6995,81277,7024],{"class":7000},[6995,81279,7013],{"class":7012},[6995,81281,7030],{"class":7000},[6995,81283,81284,81286],{"class":244,"line":7342},[6995,81285,7089],{"class":7006},[6995,81287,7092],{"class":7000},[6995,81289,81290,81292,81294,81296],{"class":244,"line":7347},[6995,81291,7097],{"class":7006},[6995,81293,7024],{"class":7000},[6995,81295,33105],{"class":7006},[6995,81297,7030],{"class":7000},[6995,81299,81300,81302,81304,81306],{"class":244,"line":7363},[6995,81301,7110],{"class":7006},[6995,81303,7024],{"class":7000},[6995,81305,33128],{"class":7012},[6995,81307,7030],{"class":7000},[6995,81309,81310,81312,81314,81316],{"class":244,"line":7375},[6995,81311,29521],{"class":7006},[6995,81313,7024],{"class":7000},[6995,81315,33050],{"class":7006},[6995,81317,7030],{"class":7000},[6995,81319,81320,81322,81324,81326],{"class":244,"line":7387},[6995,81321,33057],{"class":7006},[6995,81323,7024],{"class":7000},[6995,81325,7511],{"class":7006},[6995,81327,7030],{"class":7000},[6995,81329,81330,81332,81334,81336],{"class":244,"line":7398},[6995,81331,33068],{"class":7006},[6995,81333,7024],{"class":7000},[6995,81335,7511],{"class":7006},[6995,81337,7030],{"class":7000},[6995,81339,81340,81342,81344,81346],{"class":244,"line":7410},[6995,81341,29542],{"class":7006},[6995,81343,7024],{"class":7000},[6995,81345,8689],{"class":7006},[6995,81347,7030],{"class":7000},[6995,81349,81350,81352,81354,81356],{"class":244,"line":7421},[6995,81351,7136],{"class":7006},[6995,81353,7024],{"class":7000},[6995,81355,33039],{"class":7012},[6995,81357,7030],{"class":7000},[6995,81359,81360,81362,81364,81366],{"class":244,"line":7432},[6995,81361,33100],{"class":7006},[6995,81363,7024],{"class":7000},[6995,81365,33105],{"class":7006},[6995,81367,7030],{"class":7000},[6995,81369,81370,81372,81374,81376],{"class":244,"line":7443},[6995,81371,33112],{"class":7006},[6995,81373,7024],{"class":7000},[6995,81375,33039],{"class":7012},[6995,81377,7030],{"class":7000},[6995,81379,81380,81382,81384,81386],{"class":244,"line":7452},[6995,81381,33123],{"class":7006},[6995,81383,7024],{"class":7000},[6995,81385,33128],{"class":7012},[6995,81387,7030],{"class":7000},[6995,81389,81390,81392,81394],{"class":244,"line":7458},[6995,81391,33135],{"class":7006},[6995,81393,7024],{"class":7000},[6995,81395,33140],{"class":7006},[6995,81397,81398],{"class":244,"line":7464},[6995,81399,7467],{"class":7000},[6995,81401,81402],{"class":244,"line":7470},[6995,81403,7047],{"class":7000},[34,81405,33698,81406,33701,81408,33704,81410,33701,81412,33711,81414,33701,81416,2344],{},[611,81407,33339],{},[611,81409,33161],{},[611,81411,33707],{},[611,81413,33710],{},[611,81415,33154],{},[611,81417,33157],{},[41,81419,25559],{"id":25559},[34,81421,33720],{},[34,81423,81424],{},[611,81425,7052],{},[616,81427,81428],{"className":6989,"code":33727,"language":6991,"meta":14,"style":14},[611,81429,81430,81434,81444,81454,81460,81470,81480,81490,81500,81510,81520,81530,81540,81548,81552],{"__ignoreMap":14},[6995,81431,81432],{"class":244,"line":6997},[6995,81433,7001],{"class":7000},[6995,81435,81436,81438,81440,81442],{"class":244,"line":15},[6995,81437,7066],{"class":7006},[6995,81439,7024],{"class":7000},[6995,81441,33742],{"class":7012},[6995,81443,7030],{"class":7000},[6995,81445,81446,81448,81450,81452],{"class":244,"line":154},[6995,81447,7078],{"class":7006},[6995,81449,7024],{"class":7000},[6995,81451,7013],{"class":7012},[6995,81453,7030],{"class":7000},[6995,81455,81456,81458],{"class":244,"line":7033},[6995,81457,7089],{"class":7006},[6995,81459,7092],{"class":7000},[6995,81461,81462,81464,81466,81468],{"class":244,"line":7044},[6995,81463,7097],{"class":7006},[6995,81465,7024],{"class":7000},[6995,81467,33769],{"class":7006},[6995,81469,7030],{"class":7000},[6995,81471,81472,81474,81476,81478],{"class":244,"line":7107},[6995,81473,7110],{"class":7006},[6995,81475,7024],{"class":7000},[6995,81477,33780],{"class":7012},[6995,81479,7030],{"class":7000},[6995,81481,81482,81484,81486,81488],{"class":244,"line":7120},[6995,81483,29521],{"class":7006},[6995,81485,7024],{"class":7000},[6995,81487,33791],{"class":7006},[6995,81489,7030],{"class":7000},[6995,81491,81492,81494,81496,81498],{"class":244,"line":7133},[6995,81493,29542],{"class":7006},[6995,81495,7024],{"class":7000},[6995,81497,8689],{"class":7006},[6995,81499,7030],{"class":7000},[6995,81501,81502,81504,81506,81508],{"class":244,"line":7146},[6995,81503,7136],{"class":7006},[6995,81505,7024],{"class":7000},[6995,81507,33812],{"class":7012},[6995,81509,7030],{"class":7000},[6995,81511,81512,81514,81516,81518],{"class":244,"line":7159},[6995,81513,33100],{"class":7006},[6995,81515,7024],{"class":7000},[6995,81517,33769],{"class":7006},[6995,81519,7030],{"class":7000},[6995,81521,81522,81524,81526,81528],{"class":244,"line":7172},[6995,81523,33112],{"class":7006},[6995,81525,7024],{"class":7000},[6995,81527,33812],{"class":7012},[6995,81529,7030],{"class":7000},[6995,81531,81532,81534,81536,81538],{"class":244,"line":7185},[6995,81533,33123],{"class":7006},[6995,81535,7024],{"class":7000},[6995,81537,33780],{"class":7012},[6995,81539,7030],{"class":7000},[6995,81541,81542,81544,81546],{"class":244,"line":7198},[6995,81543,33135],{"class":7006},[6995,81545,7024],{"class":7000},[6995,81547,33853],{"class":7006},[6995,81549,81550],{"class":244,"line":7211},[6995,81551,7467],{"class":7000},[6995,81553,81554],{"class":244,"line":7220},[6995,81555,7047],{"class":7000},[41,81557,25567],{"id":25567},[34,81559,33866],{},[34,81561,81562],{},[611,81563,7052],{},[616,81565,81566],{"className":6989,"code":33873,"language":6991,"meta":14,"style":14},[611,81567,81568,81572,81582,81592,81598,81608,81618,81624,81628,81638,81648,81658,81668,81678,81688,81698,81708,81718,81728,81738,81746,81750,81754,81764,81774,81784,81794,81804,81814,81824,81834,81844,81854,81864,81872,81876,81880,81884],{"__ignoreMap":14},[6995,81569,81570],{"class":244,"line":6997},[6995,81571,7001],{"class":7000},[6995,81573,81574,81576,81578,81580],{"class":244,"line":15},[6995,81575,7066],{"class":7006},[6995,81577,7024],{"class":7000},[6995,81579,33888],{"class":7012},[6995,81581,7030],{"class":7000},[6995,81583,81584,81586,81588,81590],{"class":244,"line":154},[6995,81585,7078],{"class":7006},[6995,81587,7024],{"class":7000},[6995,81589,7013],{"class":7012},[6995,81591,7030],{"class":7000},[6995,81593,81594,81596],{"class":244,"line":7033},[6995,81595,7089],{"class":7006},[6995,81597,7092],{"class":7000},[6995,81599,81600,81602,81604,81606],{"class":244,"line":7044},[6995,81601,33911],{"class":7006},[6995,81603,7024],{"class":7000},[6995,81605,11136],{"class":7006},[6995,81607,7030],{"class":7000},[6995,81609,81610,81612,81614,81616],{"class":244,"line":7107},[6995,81611,33922],{"class":7006},[6995,81613,7024],{"class":7000},[6995,81615,33927],{"class":7012},[6995,81617,7030],{"class":7000},[6995,81619,81620,81622],{"class":244,"line":7120},[6995,81621,33934],{"class":7006},[6995,81623,7217],{"class":7000},[6995,81625,81626],{"class":244,"line":7133},[6995,81627,33941],{"class":7000},[6995,81629,81630,81632,81634,81636],{"class":244,"line":7146},[6995,81631,33946],{"class":7006},[6995,81633,7024],{"class":7000},[6995,81635,33951],{"class":7012},[6995,81637,7030],{"class":7000},[6995,81639,81640,81642,81644,81646],{"class":244,"line":7159},[6995,81641,33958],{"class":7006},[6995,81643,7024],{"class":7000},[6995,81645,19080],{"class":7012},[6995,81647,7030],{"class":7000},[6995,81649,81650,81652,81654,81656],{"class":244,"line":7172},[6995,81651,33969],{"class":7006},[6995,81653,7024],{"class":7000},[6995,81655,19080],{"class":7012},[6995,81657,7030],{"class":7000},[6995,81659,81660,81662,81664,81666],{"class":244,"line":7185},[6995,81661,33980],{"class":7006},[6995,81663,7024],{"class":7000},[6995,81665,19092],{"class":7006},[6995,81667,7030],{"class":7000},[6995,81669,81670,81672,81674,81676],{"class":244,"line":7198},[6995,81671,33991],{"class":7006},[6995,81673,7024],{"class":7000},[6995,81675,19104],{"class":7006},[6995,81677,7030],{"class":7000},[6995,81679,81680,81682,81684,81686],{"class":244,"line":7211},[6995,81681,34002],{"class":7006},[6995,81683,7024],{"class":7000},[6995,81685,8689],{"class":7006},[6995,81687,7030],{"class":7000},[6995,81689,81690,81692,81694,81696],{"class":244,"line":7220},[6995,81691,34013],{"class":7006},[6995,81693,7024],{"class":7000},[6995,81695,8689],{"class":7006},[6995,81697,7030],{"class":7000},[6995,81699,81700,81702,81704,81706],{"class":244,"line":7226},[6995,81701,34024],{"class":7006},[6995,81703,7024],{"class":7000},[6995,81705,19147],{"class":7006},[6995,81707,7030],{"class":7000},[6995,81709,81710,81712,81714,81716],{"class":244,"line":7238},[6995,81711,34035],{"class":7006},[6995,81713,7024],{"class":7000},[6995,81715,19159],{"class":7012},[6995,81717,7030],{"class":7000},[6995,81719,81720,81722,81724,81726],{"class":244,"line":7250},[6995,81721,34046],{"class":7006},[6995,81723,7024],{"class":7000},[6995,81725,19171],{"class":7012},[6995,81727,7030],{"class":7000},[6995,81729,81730,81732,81734,81736],{"class":244,"line":7263},[6995,81731,34057],{"class":7006},[6995,81733,7024],{"class":7000},[6995,81735,11929],{"class":7012},[6995,81737,7030],{"class":7000},[6995,81739,81740,81742,81744],{"class":244,"line":7275},[6995,81741,34068],{"class":7006},[6995,81743,7024],{"class":7000},[6995,81745,34073],{"class":7012},[6995,81747,81748],{"class":244,"line":7288},[6995,81749,34078],{"class":7000},[6995,81751,81752],{"class":244,"line":7300},[6995,81753,33941],{"class":7000},[6995,81755,81756,81758,81760,81762],{"class":244,"line":7313},[6995,81757,33946],{"class":7006},[6995,81759,7024],{"class":7000},[6995,81761,34091],{"class":7012},[6995,81763,7030],{"class":7000},[6995,81765,81766,81768,81770,81772],{"class":244,"line":7325},[6995,81767,33958],{"class":7006},[6995,81769,7024],{"class":7000},[6995,81771,19080],{"class":7012},[6995,81773,7030],{"class":7000},[6995,81775,81776,81778,81780,81782],{"class":244,"line":7336},[6995,81777,33980],{"class":7006},[6995,81779,7024],{"class":7000},[6995,81781,19092],{"class":7006},[6995,81783,7030],{"class":7000},[6995,81785,81786,81788,81790,81792],{"class":244,"line":7342},[6995,81787,33991],{"class":7006},[6995,81789,7024],{"class":7000},[6995,81791,19104],{"class":7006},[6995,81793,7030],{"class":7000},[6995,81795,81796,81798,81800,81802],{"class":244,"line":7347},[6995,81797,34002],{"class":7006},[6995,81799,7024],{"class":7000},[6995,81801,8689],{"class":7006},[6995,81803,7030],{"class":7000},[6995,81805,81806,81808,81810,81812],{"class":244,"line":7363},[6995,81807,33969],{"class":7006},[6995,81809,7024],{"class":7000},[6995,81811,19080],{"class":7012},[6995,81813,7030],{"class":7000},[6995,81815,81816,81818,81820,81822],{"class":244,"line":7375},[6995,81817,34013],{"class":7006},[6995,81819,7024],{"class":7000},[6995,81821,8689],{"class":7006},[6995,81823,7030],{"class":7000},[6995,81825,81826,81828,81830,81832],{"class":244,"line":7387},[6995,81827,34024],{"class":7006},[6995,81829,7024],{"class":7000},[6995,81831,19147],{"class":7006},[6995,81833,7030],{"class":7000},[6995,81835,81836,81838,81840,81842],{"class":244,"line":7398},[6995,81837,34035],{"class":7006},[6995,81839,7024],{"class":7000},[6995,81841,19159],{"class":7012},[6995,81843,7030],{"class":7000},[6995,81845,81846,81848,81850,81852],{"class":244,"line":7410},[6995,81847,34046],{"class":7006},[6995,81849,7024],{"class":7000},[6995,81851,34182],{"class":7012},[6995,81853,7030],{"class":7000},[6995,81855,81856,81858,81860,81862],{"class":244,"line":7421},[6995,81857,34057],{"class":7006},[6995,81859,7024],{"class":7000},[6995,81861,12303],{"class":7012},[6995,81863,7030],{"class":7000},[6995,81865,81866,81868,81870],{"class":244,"line":7432},[6995,81867,34068],{"class":7006},[6995,81869,7024],{"class":7000},[6995,81871,34203],{"class":7012},[6995,81873,81874],{"class":244,"line":7443},[6995,81875,34208],{"class":7000},[6995,81877,81878],{"class":244,"line":7452},[6995,81879,34213],{"class":7000},[6995,81881,81882],{"class":244,"line":7458},[6995,81883,7467],{"class":7000},[6995,81885,81886],{"class":244,"line":7464},[6995,81887,7047],{"class":7000},[852,81889,81890,81898],{},[59,81891,81892,2231,81894,34230,81896,34234],{},[611,81893,8665],{},[611,81895,32955],{},[175,81897,32902],{"href":34233},[59,81899,81900,34240],{},[611,81901,34239],{},[41,81903,25575],{"id":25575},[34,81905,34245,81906,34248],{},[175,81907,6930],{"href":8044},[34,81909,34251],{},[34,81911,81912],{},[611,81913,34256],{},[616,81915,81916],{"className":6989,"code":34259,"language":6991,"meta":14,"style":14},[611,81917,81918,81922,81932,81942,81948,81958,81968,81974,81986,81998,82002,82006],{"__ignoreMap":14},[6995,81919,81920],{"class":244,"line":6997},[6995,81921,7001],{"class":7000},[6995,81923,81924,81926,81928,81930],{"class":244,"line":15},[6995,81925,7066],{"class":7006},[6995,81927,7024],{"class":7000},[6995,81929,34274],{"class":7012},[6995,81931,7030],{"class":7000},[6995,81933,81934,81936,81938,81940],{"class":244,"line":154},[6995,81935,7078],{"class":7006},[6995,81937,7024],{"class":7000},[6995,81939,7013],{"class":7012},[6995,81941,7030],{"class":7000},[6995,81943,81944,81946],{"class":244,"line":7033},[6995,81945,7089],{"class":7006},[6995,81947,34293],{"class":7000},[6995,81949,81950,81952,81954,81956],{"class":244,"line":7044},[6995,81951,33911],{"class":7006},[6995,81953,7024],{"class":7000},[6995,81955,6679],{"class":7006},[6995,81957,7030],{"class":7000},[6995,81959,81960,81962,81964,81966],{"class":244,"line":7107},[6995,81961,33922],{"class":7006},[6995,81963,7024],{"class":7000},[6995,81965,34312],{"class":7012},[6995,81967,7030],{"class":7000},[6995,81969,81970,81972],{"class":244,"line":7120},[6995,81971,34319],{"class":7006},[6995,81973,7217],{"class":7000},[6995,81975,81976,81978,81980,81982,81984],{"class":244,"line":7133},[6995,81977,34326],{"class":7000},[6995,81979,7478],{"class":7006},[6995,81981,7024],{"class":7000},[6995,81983,34333],{"class":7006},[6995,81985,34336],{"class":7000},[6995,81987,81988,81990,81992,81994,81996],{"class":244,"line":7146},[6995,81989,34326],{"class":7000},[6995,81991,7478],{"class":7006},[6995,81993,7024],{"class":7000},[6995,81995,34347],{"class":7006},[6995,81997,34350],{"class":7000},[6995,81999,82000],{"class":244,"line":7159},[6995,82001,34213],{"class":7000},[6995,82003,82004],{"class":244,"line":7172},[6995,82005,7467],{"class":7000},[6995,82007,82008],{"class":244,"line":7185},[6995,82009,7047],{"class":7000},[852,82011,82012,82020],{},[59,82013,82014,2231,82016,34230,82018,34234],{},[611,82015,8665],{},[611,82017,32955],{},[175,82019,32902],{"href":34233},[59,82021,82022,34378,82024,34381],{},[611,82023,34377],{},[611,82025,32933],{},[34,82027,34384],{},[34,82029,82030],{},[611,82031,34256],{},[616,82033,82034],{"className":6989,"code":34391,"language":6991,"meta":14,"style":14},[611,82035,82036,82040,82050,82060,82066,82076,82086,82092,82096,82106,82116,82126,82136,82146,82156,82166,82172,82182,82192,82202,82212,82220,82224,82234,82244,82254,82262,82266,82270,82274],{"__ignoreMap":14},[6995,82037,82038],{"class":244,"line":6997},[6995,82039,7001],{"class":7000},[6995,82041,82042,82044,82046,82048],{"class":244,"line":15},[6995,82043,7021],{"class":7006},[6995,82045,7024],{"class":7000},[6995,82047,34274],{"class":7012},[6995,82049,7030],{"class":7000},[6995,82051,82052,82054,82056,82058],{"class":244,"line":154},[6995,82053,7007],{"class":7006},[6995,82055,7024],{"class":7000},[6995,82057,7013],{"class":7012},[6995,82059,7030],{"class":7000},[6995,82061,82062,82064],{"class":244,"line":7033},[6995,82063,7732],{"class":7006},[6995,82065,7092],{"class":7000},[6995,82067,82068,82070,82072,82074],{"class":244,"line":7044},[6995,82069,8585],{"class":7006},[6995,82071,7024],{"class":7000},[6995,82073,11136],{"class":7006},[6995,82075,7030],{"class":7000},[6995,82077,82078,82080,82082,82084],{"class":244,"line":7107},[6995,82079,8596],{"class":7006},[6995,82081,7024],{"class":7000},[6995,82083,33927],{"class":7012},[6995,82085,7030],{"class":7000},[6995,82087,82088,82090],{"class":244,"line":7120},[6995,82089,23092],{"class":7006},[6995,82091,7217],{"class":7000},[6995,82093,82094],{"class":244,"line":7133},[6995,82095,34454],{"class":7000},[6995,82097,82098,82100,82102,82104],{"class":244,"line":7146},[6995,82099,34459],{"class":7006},[6995,82101,7024],{"class":7000},[6995,82103,6679],{"class":7006},[6995,82105,7030],{"class":7000},[6995,82107,82108,82110,82112,82114],{"class":244,"line":7159},[6995,82109,34470],{"class":7006},[6995,82111,7024],{"class":7000},[6995,82113,7370],{"class":7006},[6995,82115,7030],{"class":7000},[6995,82117,82118,82120,82122,82124],{"class":244,"line":7172},[6995,82119,34481],{"class":7006},[6995,82121,7024],{"class":7000},[6995,82123,7382],{"class":7012},[6995,82125,7030],{"class":7000},[6995,82127,82128,82130,82132,82134],{"class":244,"line":7185},[6995,82129,34492],{"class":7006},[6995,82131,7024],{"class":7000},[6995,82133,6679],{"class":7006},[6995,82135,7030],{"class":7000},[6995,82137,82138,82140,82142,82144],{"class":244,"line":7198},[6995,82139,34503],{"class":7006},[6995,82141,7024],{"class":7000},[6995,82143,7934],{"class":7006},[6995,82145,7030],{"class":7000},[6995,82147,82148,82150,82152,82154],{"class":244,"line":7211},[6995,82149,34514],{"class":7006},[6995,82151,7024],{"class":7000},[6995,82153,30578],{"class":7012},[6995,82155,7030],{"class":7000},[6995,82157,82158,82160,82162,82164],{"class":244,"line":7220},[6995,82159,34525],{"class":7006},[6995,82161,7024],{"class":7000},[6995,82163,8689],{"class":7006},[6995,82165,7030],{"class":7000},[6995,82167,82168,82170],{"class":244,"line":7226},[6995,82169,34536],{"class":7006},[6995,82171,7092],{"class":7000},[6995,82173,82174,82176,82178,82180],{"class":244,"line":7238},[6995,82175,34543],{"class":7006},[6995,82177,7024],{"class":7000},[6995,82179,30608],{"class":7012},[6995,82181,7030],{"class":7000},[6995,82183,82184,82186,82188,82190],{"class":244,"line":7250},[6995,82185,34554],{"class":7006},[6995,82187,7024],{"class":7000},[6995,82189,30620],{"class":7012},[6995,82191,7030],{"class":7000},[6995,82193,82194,82196,82198,82200],{"class":244,"line":7263},[6995,82195,34565],{"class":7006},[6995,82197,7024],{"class":7000},[6995,82199,30632],{"class":7012},[6995,82201,7030],{"class":7000},[6995,82203,82204,82206,82208,82210],{"class":244,"line":7275},[6995,82205,34576],{"class":7006},[6995,82207,7024],{"class":7000},[6995,82209,30644],{"class":7012},[6995,82211,7030],{"class":7000},[6995,82213,82214,82216,82218],{"class":244,"line":7288},[6995,82215,34587],{"class":7006},[6995,82217,7024],{"class":7000},[6995,82219,30656],{"class":7012},[6995,82221,82222],{"class":244,"line":7300},[6995,82223,34596],{"class":7000},[6995,82225,82226,82228,82230,82232],{"class":244,"line":7313},[6995,82227,34601],{"class":7006},[6995,82229,7024],{"class":7000},[6995,82231,8689],{"class":7006},[6995,82233,7030],{"class":7000},[6995,82235,82236,82238,82240,82242],{"class":244,"line":7325},[6995,82237,34612],{"class":7006},[6995,82239,7024],{"class":7000},[6995,82241,8689],{"class":7006},[6995,82243,7030],{"class":7000},[6995,82245,82246,82248,82250,82252],{"class":244,"line":7336},[6995,82247,34623],{"class":7006},[6995,82249,7024],{"class":7000},[6995,82251,7958],{"class":7012},[6995,82253,7030],{"class":7000},[6995,82255,82256,82258,82260],{"class":244,"line":7342},[6995,82257,34634],{"class":7006},[6995,82259,7024],{"class":7000},[6995,82261,7970],{"class":7006},[6995,82263,82264],{"class":244,"line":7347},[6995,82265,34208],{"class":7000},[6995,82267,82268],{"class":244,"line":7363},[6995,82269,34647],{"class":7000},[6995,82271,82272],{"class":244,"line":7375},[6995,82273,7615],{"class":7000},[6995,82275,82276],{"class":244,"line":7387},[6995,82277,7047],{"class":7000},[852,82279,82280,82288],{},[59,82281,82282,2231,82284,34230,82286,34234],{},[611,82283,8665],{},[611,82285,32955],{},[175,82287,32902],{"href":34233},[59,82289,82290,34670,82292,34673],{},[611,82291,34377],{},[175,82293,6935],{"href":18363},[41,82295,25581],{"id":25581},[34,82297,34678,82298,2344],{},[611,82299,4979],{},[34,82301,82302],{},[611,82303,34256],{},[616,82305,82306],{"className":6989,"code":34687,"language":6991,"meta":14,"style":14},[611,82307,82308,82312,82322,82332,82338,82348,82358,82364,82368,82378,82388,82398,82408,82418,82428,82438,82448,82456,82460,82464,82468],{"__ignoreMap":14},[6995,82309,82310],{"class":244,"line":6997},[6995,82311,7001],{"class":7000},[6995,82313,82314,82316,82318,82320],{"class":244,"line":15},[6995,82315,7021],{"class":7006},[6995,82317,7024],{"class":7000},[6995,82319,34702],{"class":7012},[6995,82321,7030],{"class":7000},[6995,82323,82324,82326,82328,82330],{"class":244,"line":154},[6995,82325,7007],{"class":7006},[6995,82327,7024],{"class":7000},[6995,82329,7013],{"class":7012},[6995,82331,7030],{"class":7000},[6995,82333,82334,82336],{"class":244,"line":7033},[6995,82335,7732],{"class":7006},[6995,82337,7092],{"class":7000},[6995,82339,82340,82342,82344,82346],{"class":244,"line":7044},[6995,82341,8585],{"class":7006},[6995,82343,7024],{"class":7000},[6995,82345,11136],{"class":7006},[6995,82347,7030],{"class":7000},[6995,82349,82350,82352,82354,82356],{"class":244,"line":7107},[6995,82351,8596],{"class":7006},[6995,82353,7024],{"class":7000},[6995,82355,33927],{"class":7012},[6995,82357,7030],{"class":7000},[6995,82359,82360,82362],{"class":244,"line":7120},[6995,82361,34745],{"class":7006},[6995,82363,7217],{"class":7000},[6995,82365,82366],{"class":244,"line":7133},[6995,82367,15683],{"class":7000},[6995,82369,82370,82372,82374,82376],{"class":244,"line":7146},[6995,82371,34756],{"class":7006},[6995,82373,7024],{"class":7000},[6995,82375,7167],{"class":7006},[6995,82377,7030],{"class":7000},[6995,82379,82380,82382,82384,82386],{"class":244,"line":7159},[6995,82381,34767],{"class":7006},[6995,82383,7024],{"class":7000},[6995,82385,7180],{"class":7006},[6995,82387,7030],{"class":7000},[6995,82389,82390,82392,82394,82396],{"class":244,"line":7172},[6995,82391,34778],{"class":7006},[6995,82393,7024],{"class":7000},[6995,82395,22951],{"class":7006},[6995,82397,7030],{"class":7000},[6995,82399,82400,82402,82404,82406],{"class":244,"line":7185},[6995,82401,34789],{"class":7006},[6995,82403,7024],{"class":7000},[6995,82405,22962],{"class":7006},[6995,82407,7030],{"class":7000},[6995,82409,82410,82412,82414,82416],{"class":244,"line":7198},[6995,82411,34800],{"class":7006},[6995,82413,7024],{"class":7000},[6995,82415,22973],{"class":7012},[6995,82417,7030],{"class":7000},[6995,82419,82420,82422,82424,82426],{"class":244,"line":7211},[6995,82421,34811],{"class":7006},[6995,82423,7024],{"class":7000},[6995,82425,20884],{"class":7012},[6995,82427,7030],{"class":7000},[6995,82429,82430,82432,82434,82436],{"class":244,"line":7220},[6995,82431,34822],{"class":7006},[6995,82433,7024],{"class":7000},[6995,82435,19080],{"class":7012},[6995,82437,7030],{"class":7000},[6995,82439,82440,82442,82444,82446],{"class":244,"line":7226},[6995,82441,34833],{"class":7006},[6995,82443,7024],{"class":7000},[6995,82445,7511],{"class":7006},[6995,82447,7030],{"class":7000},[6995,82449,82450,82452,82454],{"class":244,"line":7238},[6995,82451,34844],{"class":7006},[6995,82453,7024],{"class":7000},[6995,82455,23016],{"class":7012},[6995,82457,82458],{"class":244,"line":7250},[6995,82459,34853],{"class":7000},[6995,82461,82462],{"class":244,"line":7263},[6995,82463,34858],{"class":7000},[6995,82465,82466],{"class":244,"line":7275},[6995,82467,7615],{"class":7000},[6995,82469,82470],{"class":244,"line":7288},[6995,82471,7047],{"class":7000},[852,82473,82474,82482],{},[59,82475,82476,2231,82478,34230,82480,34234],{},[611,82477,8665],{},[611,82479,32955],{},[175,82481,32902],{"href":34233},[59,82483,82484,34881,82486,34673],{},[611,82485,14350],{},[175,82487,18014],{"href":18321},[41,82489,25587],{"id":25587},[34,82491,34888],{},[34,82493,82494],{},[611,82495,34256],{},[616,82497,82498],{"className":6989,"code":46434,"language":6991,"meta":14,"style":14},[611,82499,82500,82504,82514,82524,82530,82540,82550,82556,82560,82570,82580,82590,82600,82610,82620,82630,82640,82650,82660,82670,82680,82690,82700,82710,82716,82726,82736,82744,82748,82752,82756],{"__ignoreMap":14},[6995,82501,82502],{"class":244,"line":6997},[6995,82503,7001],{"class":7000},[6995,82505,82506,82508,82510,82512],{"class":244,"line":15},[6995,82507,7021],{"class":7006},[6995,82509,7024],{"class":7000},[6995,82511,34910],{"class":7012},[6995,82513,7030],{"class":7000},[6995,82515,82516,82518,82520,82522],{"class":244,"line":154},[6995,82517,7007],{"class":7006},[6995,82519,7024],{"class":7000},[6995,82521,7013],{"class":7012},[6995,82523,7030],{"class":7000},[6995,82525,82526,82528],{"class":244,"line":7033},[6995,82527,7732],{"class":7006},[6995,82529,7092],{"class":7000},[6995,82531,82532,82534,82536,82538],{"class":244,"line":7044},[6995,82533,8585],{"class":7006},[6995,82535,7024],{"class":7000},[6995,82537,11136],{"class":7006},[6995,82539,7030],{"class":7000},[6995,82541,82542,82544,82546,82548],{"class":244,"line":7107},[6995,82543,8596],{"class":7006},[6995,82545,7024],{"class":7000},[6995,82547,33927],{"class":7012},[6995,82549,7030],{"class":7000},[6995,82551,82552,82554],{"class":244,"line":7120},[6995,82553,34953],{"class":7006},[6995,82555,7217],{"class":7000},[6995,82557,82558],{"class":244,"line":7133},[6995,82559,15683],{"class":7000},[6995,82561,82562,82564,82566,82568],{"class":244,"line":7146},[6995,82563,34964],{"class":7006},[6995,82565,7746],{"class":7000},[6995,82567,20884],{"class":7012},[6995,82569,7030],{"class":7000},[6995,82571,82572,82574,82576,82578],{"class":244,"line":7159},[6995,82573,34767],{"class":7006},[6995,82575,7024],{"class":7000},[6995,82577,7180],{"class":7006},[6995,82579,7030],{"class":7000},[6995,82581,82582,82584,82586,82588],{"class":244,"line":7172},[6995,82583,34985],{"class":7006},[6995,82585,7024],{"class":7000},[6995,82587,19080],{"class":7012},[6995,82589,7030],{"class":7000},[6995,82591,82592,82594,82596,82598],{"class":244,"line":7185},[6995,82593,34996],{"class":7006},[6995,82595,7024],{"class":7000},[6995,82597,10984],{"class":7006},[6995,82599,7030],{"class":7000},[6995,82601,82602,82604,82606,82608],{"class":244,"line":7198},[6995,82603,35007],{"class":7006},[6995,82605,7024],{"class":7000},[6995,82607,20988],{"class":7012},[6995,82609,7030],{"class":7000},[6995,82611,82612,82614,82616,82618],{"class":244,"line":7211},[6995,82613,35018],{"class":7006},[6995,82615,7024],{"class":7000},[6995,82617,7570],{"class":7012},[6995,82619,7030],{"class":7000},[6995,82621,82622,82624,82626,82628],{"class":244,"line":7220},[6995,82623,35029],{"class":7006},[6995,82625,7024],{"class":7000},[6995,82627,21011],{"class":7012},[6995,82629,7030],{"class":7000},[6995,82631,82632,82634,82636,82638],{"class":244,"line":7226},[6995,82633,34833],{"class":7006},[6995,82635,7024],{"class":7000},[6995,82637,8439],{"class":7006},[6995,82639,7030],{"class":7000},[6995,82641,82642,82644,82646,82648],{"class":244,"line":7238},[6995,82643,34844],{"class":7006},[6995,82645,7746],{"class":7000},[6995,82647,21034],{"class":7012},[6995,82649,7030],{"class":7000},[6995,82651,82652,82654,82656,82658],{"class":244,"line":7250},[6995,82653,35060],{"class":7006},[6995,82655,7024],{"class":7000},[6995,82657,7180],{"class":7006},[6995,82659,7030],{"class":7000},[6995,82661,82662,82664,82666,82668],{"class":244,"line":7263},[6995,82663,35071],{"class":7006},[6995,82665,7024],{"class":7000},[6995,82667,21057],{"class":7012},[6995,82669,7030],{"class":7000},[6995,82671,82672,82674,82676,82678],{"class":244,"line":7275},[6995,82673,35082],{"class":7006},[6995,82675,7746],{"class":7000},[6995,82677,21069],{"class":7012},[6995,82679,7030],{"class":7000},[6995,82681,82682,82684,82686,82688],{"class":244,"line":7288},[6995,82683,35093],{"class":7006},[6995,82685,7024],{"class":7000},[6995,82687,7547],{"class":7006},[6995,82689,7030],{"class":7000},[6995,82691,82692,82694,82696,82698],{"class":244,"line":7300},[6995,82693,35104],{"class":7006},[6995,82695,7746],{"class":7000},[6995,82697,21090],{"class":7006},[6995,82699,7030],{"class":7000},[6995,82701,82702,82704,82706,82708],{"class":244,"line":7313},[6995,82703,35115],{"class":7006},[6995,82705,7746],{"class":7000},[6995,82707,11094],{"class":7006},[6995,82709,7030],{"class":7000},[6995,82711,82712,82714],{"class":244,"line":7325},[6995,82713,46651],{"class":7006},[6995,82715,12624],{"class":7000},[6995,82717,82718,82720,82722,82724],{"class":244,"line":7336},[6995,82719,35126],{"class":7006},[6995,82721,7024],{"class":7000},[6995,82723,21113],{"class":7012},[6995,82725,7030],{"class":7000},[6995,82727,82728,82730,82732,82734],{"class":244,"line":7342},[6995,82729,35137],{"class":7006},[6995,82731,7024],{"class":7000},[6995,82733,19171],{"class":7012},[6995,82735,7030],{"class":7000},[6995,82737,82738,82740,82742],{"class":244,"line":7347},[6995,82739,35148],{"class":7006},[6995,82741,7024],{"class":7000},[6995,82743,21136],{"class":7012},[6995,82745,82746],{"class":244,"line":7363},[6995,82747,34853],{"class":7000},[6995,82749,82750],{"class":244,"line":7375},[6995,82751,34858],{"class":7000},[6995,82753,82754],{"class":244,"line":7387},[6995,82755,7615],{"class":7000},[6995,82757,82758],{"class":244,"line":7398},[6995,82759,7047],{"class":7000},[852,82761,82762,82770],{},[59,82763,82764,2231,82766,34230,82768,34234],{},[611,82765,8665],{},[611,82767,32955],{},[175,82769,32902],{"href":34233},[59,82771,82772,35184,82774,34673],{},[611,82773,35183],{},[175,82775,18293],{"href":18292},[11,82777,35314],{"id":35314},[34,82779,46718],{},[34,82781,82782],{},[611,82783,7052],{},[616,82785,82786],{"className":6989,"code":46725,"language":6991,"meta":14,"style":14},[611,82787,82788,82792,82802,82812,82818,82828,82838,82842],{"__ignoreMap":14},[6995,82789,82790],{"class":244,"line":6997},[6995,82791,7001],{"class":7000},[6995,82793,82794,82796,82798,82800],{"class":244,"line":15},[6995,82795,7066],{"class":7006},[6995,82797,7024],{"class":7000},[6995,82799,46740],{"class":7012},[6995,82801,7030],{"class":7000},[6995,82803,82804,82806,82808,82810],{"class":244,"line":154},[6995,82805,7078],{"class":7006},[6995,82807,7024],{"class":7000},[6995,82809,7013],{"class":7012},[6995,82811,7030],{"class":7000},[6995,82813,82814,82816],{"class":244,"line":7033},[6995,82815,7089],{"class":7006},[6995,82817,7092],{"class":7000},[6995,82819,82820,82822,82824,82826],{"class":244,"line":7044},[6995,82821,46763],{"class":7006},[6995,82823,7024],{"class":7000},[6995,82825,8689],{"class":7006},[6995,82827,7030],{"class":7000},[6995,82829,82830,82832,82834,82836],{"class":244,"line":7107},[6995,82831,46774],{"class":7006},[6995,82833,7024],{"class":7000},[6995,82835,11094],{"class":7006},[6995,82837,7030],{"class":7000},[6995,82839,82840],{"class":244,"line":7120},[6995,82841,7467],{"class":7000},[6995,82843,82844],{"class":244,"line":7133},[6995,82845,7047],{"class":7000},[852,82847,82848,82854,82860],{},[59,82849,82850,46796,82852,46799],{},[611,82851,46795],{},[611,82853,8689],{},[59,82855,82856,10072,82858,46807],{},[611,82857,46804],{},[611,82859,8689],{},[59,82861,82862,46813],{},[611,82863,46812],{},[41,82865,35467],{"id":35467},[34,82867,46818],{},[34,82869,82870],{},[611,82871,6986],{},[616,82873,82874],{"className":6989,"code":46825,"language":6991,"meta":14,"style":14},[611,82875,82876,82880,82890,82900,82910,82916,82920,82930,82938,82942],{"__ignoreMap":14},[6995,82877,82878],{"class":244,"line":6997},[6995,82879,7001],{"class":7000},[6995,82881,82882,82884,82886,82888],{"class":244,"line":15},[6995,82883,7007],{"class":7006},[6995,82885,5102],{"class":7000},[6995,82887,7013],{"class":7012},[6995,82889,7016],{"class":7000},[6995,82891,82892,82894,82896,82898],{"class":244,"line":154},[6995,82893,7021],{"class":7006},[6995,82895,7024],{"class":7000},[6995,82897,6679],{"class":7006},[6995,82899,7030],{"class":7000},[6995,82901,82902,82904,82906,82908],{"class":244,"line":7033},[6995,82903,7036],{"class":7006},[6995,82905,7024],{"class":7000},[6995,82907,46860],{"class":7012},[6995,82909,7016],{"class":7000},[6995,82911,82912,82914],{"class":244,"line":7044},[6995,82913,7529],{"class":7006},[6995,82915,7532],{"class":7000},[6995,82917,82918],{"class":244,"line":7107},[6995,82919,7537],{"class":7000},[6995,82921,82922,82924,82926,82928],{"class":244,"line":7120},[6995,82923,46877],{"class":7006},[6995,82925,7746],{"class":7000},[6995,82927,46882],{"class":7012},[6995,82929,7030],{"class":7000},[6995,82931,82932,82934,82936],{"class":244,"line":7133},[6995,82933,46889],{"class":7006},[6995,82935,7024],{"class":7000},[6995,82937,46894],{"class":7012},[6995,82939,82940],{"class":244,"line":7146},[6995,82941,7615],{"class":7000},[6995,82943,82944],{"class":244,"line":7159},[6995,82945,7047],{"class":7000},[852,82947,82948,82952],{},[59,82949,82950,46909],{},[611,82951,17982],{},[59,82953,82954,46915],{},[611,82955,46914],{},[34,82957,82958],{},[611,82959,7052],{},[616,82961,82962],{"className":6989,"code":46922,"language":6991,"meta":14,"style":14},[611,82963,82964,82968,82978,82988,82994,82998,83006,83010],{"__ignoreMap":14},[6995,82965,82966],{"class":244,"line":6997},[6995,82967,7001],{"class":7000},[6995,82969,82970,82972,82974,82976],{"class":244,"line":15},[6995,82971,7007],{"class":7006},[6995,82973,5102],{"class":7000},[6995,82975,7013],{"class":7012},[6995,82977,7016],{"class":7000},[6995,82979,82980,82982,82984,82986],{"class":244,"line":154},[6995,82981,7021],{"class":7006},[6995,82983,7024],{"class":7000},[6995,82985,6679],{"class":7006},[6995,82987,7030],{"class":7000},[6995,82989,82990,82992],{"class":244,"line":7033},[6995,82991,7732],{"class":7006},[6995,82993,11893],{"class":7000},[6995,82995,82996],{"class":244,"line":7044},[6995,82997,7537],{"class":7000},[6995,82999,83000,83002,83004],{"class":244,"line":7107},[6995,83001,46963],{"class":7006},[6995,83003,7746],{"class":7000},[6995,83005,46968],{"class":7012},[6995,83007,83008],{"class":244,"line":7120},[6995,83009,7615],{"class":7000},[6995,83011,83012],{"class":244,"line":7133},[6995,83013,7047],{"class":7000},[852,83015,83016],{},[59,83017,83018,46984],{},[611,83019,46983],{},[41,83021,35475],{"id":35475},[34,83023,46989],{},[34,83025,83026],{},[611,83027,6986],{},[616,83029,83030],{"className":6989,"code":46996,"language":6991,"meta":14,"style":14},[611,83031,83032,83036,83046,83056,83066,83072,83076,83086,83096,83104,83108],{"__ignoreMap":14},[6995,83033,83034],{"class":244,"line":6997},[6995,83035,7001],{"class":7000},[6995,83037,83038,83040,83042,83044],{"class":244,"line":15},[6995,83039,7007],{"class":7006},[6995,83041,5102],{"class":7000},[6995,83043,7013],{"class":7012},[6995,83045,7016],{"class":7000},[6995,83047,83048,83050,83052,83054],{"class":244,"line":154},[6995,83049,7021],{"class":7006},[6995,83051,7024],{"class":7000},[6995,83053,6679],{"class":7006},[6995,83055,7030],{"class":7000},[6995,83057,83058,83060,83062,83064],{"class":244,"line":7033},[6995,83059,7036],{"class":7006},[6995,83061,7024],{"class":7000},[6995,83063,47031],{"class":7012},[6995,83065,7016],{"class":7000},[6995,83067,83068,83070],{"class":244,"line":7044},[6995,83069,7529],{"class":7006},[6995,83071,7532],{"class":7000},[6995,83073,83074],{"class":244,"line":7107},[6995,83075,7537],{"class":7000},[6995,83077,83078,83080,83082,83084],{"class":244,"line":7120},[6995,83079,46877],{"class":7006},[6995,83081,7746],{"class":7000},[6995,83083,46882],{"class":7012},[6995,83085,7030],{"class":7000},[6995,83087,83088,83090,83092,83094],{"class":244,"line":7133},[6995,83089,47058],{"class":7006},[6995,83091,7024],{"class":7000},[6995,83093,47063],{"class":7012},[6995,83095,7030],{"class":7000},[6995,83097,83098,83100,83102],{"class":244,"line":7146},[6995,83099,46963],{"class":7006},[6995,83101,7024],{"class":7000},[6995,83103,46968],{"class":7012},[6995,83105,83106],{"class":244,"line":7159},[6995,83107,7615],{"class":7000},[6995,83109,83110],{"class":244,"line":7172},[6995,83111,7047],{"class":7000},[852,83113,83114,83118,83122],{},[59,83115,83116,46909],{},[611,83117,17982],{},[59,83119,83120,47093],{},[611,83121,47092],{},[59,83123,83124,47098],{},[611,83125,46983],{},[34,83127,83128],{},[611,83129,7052],{},[616,83131,83132],{"className":6989,"code":47105,"language":6991,"meta":14,"style":14},[611,83133,83134,83138,83148,83158,83166],{"__ignoreMap":14},[6995,83135,83136],{"class":244,"line":6997},[6995,83137,7001],{"class":7000},[6995,83139,83140,83142,83144,83146],{"class":244,"line":15},[6995,83141,7007],{"class":7006},[6995,83143,5102],{"class":7000},[6995,83145,7013],{"class":7012},[6995,83147,7016],{"class":7000},[6995,83149,83150,83152,83154,83156],{"class":244,"line":154},[6995,83151,7021],{"class":7006},[6995,83153,7024],{"class":7000},[6995,83155,6679],{"class":7006},[6995,83157,7030],{"class":7000},[6995,83159,83160,83162,83164],{"class":244,"line":7033},[6995,83161,7732],{"class":7006},[6995,83163,7746],{"class":7000},[6995,83165,8505],{"class":7006},[6995,83167,83168],{"class":244,"line":7044},[6995,83169,7047],{"class":7000},[41,83171,47235],{"id":47235},[34,83173,58714],{},[34,83175,83176],{},[611,83177,6986],{},[616,83179,83180],{"className":6989,"code":58721,"language":6991,"meta":14,"style":14},[611,83181,83182,83186,83196,83206,83216,83222,83226,83236,83240],{"__ignoreMap":14},[6995,83183,83184],{"class":244,"line":6997},[6995,83185,7001],{"class":7000},[6995,83187,83188,83190,83192,83194],{"class":244,"line":15},[6995,83189,7007],{"class":7006},[6995,83191,5102],{"class":7000},[6995,83193,7013],{"class":7012},[6995,83195,7016],{"class":7000},[6995,83197,83198,83200,83202,83204],{"class":244,"line":154},[6995,83199,7021],{"class":7006},[6995,83201,7024],{"class":7000},[6995,83203,6679],{"class":7006},[6995,83205,7030],{"class":7000},[6995,83207,83208,83210,83212,83214],{"class":244,"line":7033},[6995,83209,7036],{"class":7006},[6995,83211,7024],{"class":7000},[6995,83213,58756],{"class":7012},[6995,83215,7016],{"class":7000},[6995,83217,83218,83220],{"class":244,"line":7044},[6995,83219,7529],{"class":7006},[6995,83221,7532],{"class":7000},[6995,83223,83224],{"class":244,"line":7107},[6995,83225,7537],{"class":7000},[6995,83227,83228,83230,83232,83234],{"class":244,"line":7120},[6995,83229,58773],{"class":7006},[6995,83231,7746],{"class":7000},[6995,83233,58778],{"class":7012},[6995,83235,7030],{"class":7000},[6995,83237,83238],{"class":244,"line":7133},[6995,83239,7615],{"class":7000},[6995,83241,83242],{"class":244,"line":7146},[6995,83243,7047],{"class":7000},[852,83245,83246],{},[59,83247,83248,58796],{},[611,83249,58795],{},[34,83251,83252],{},[611,83253,7052],{},[616,83255,83256],{"className":6989,"code":58803,"language":6991,"meta":14,"style":14},[611,83257,83258,83262,83272,83282,83288,83296,83300],{"__ignoreMap":14},[6995,83259,83260],{"class":244,"line":6997},[6995,83261,7001],{"class":7000},[6995,83263,83264,83266,83268,83270],{"class":244,"line":15},[6995,83265,7007],{"class":7006},[6995,83267,5102],{"class":7000},[6995,83269,7013],{"class":7012},[6995,83271,7016],{"class":7000},[6995,83273,83274,83276,83278,83280],{"class":244,"line":154},[6995,83275,7021],{"class":7006},[6995,83277,7024],{"class":7000},[6995,83279,6679],{"class":7006},[6995,83281,7030],{"class":7000},[6995,83283,83284,83286],{"class":244,"line":7033},[6995,83285,7732],{"class":7006},[6995,83287,58836],{"class":7000},[6995,83289,83290,83292,83294],{"class":244,"line":7044},[6995,83291,58841],{"class":7006},[6995,83293,7024],{"class":7000},[6995,83295,58846],{"class":7012},[6995,83297,83298],{"class":244,"line":7107},[6995,83299,7615],{"class":7000},[6995,83301,83302],{"class":244,"line":7120},[6995,83303,7047],{"class":7000},[41,83305,58950],{"id":58950},[34,83307,70611],{},[34,83309,83310],{},[611,83311,6986],{},[616,83313,83314],{"className":6989,"code":70618,"language":6991,"meta":14,"style":14},[611,83315,83316,83320,83330,83340,83348],{"__ignoreMap":14},[6995,83317,83318],{"class":244,"line":6997},[6995,83319,7001],{"class":7000},[6995,83321,83322,83324,83326,83328],{"class":244,"line":15},[6995,83323,7007],{"class":7006},[6995,83325,7746],{"class":7000},[6995,83327,7013],{"class":7012},[6995,83329,7030],{"class":7000},[6995,83331,83332,83334,83336,83338],{"class":244,"line":154},[6995,83333,7021],{"class":7006},[6995,83335,7746],{"class":7000},[6995,83337,6679],{"class":7006},[6995,83339,7030],{"class":7000},[6995,83341,83342,83344,83346],{"class":244,"line":7033},[6995,83343,7036],{"class":7006},[6995,83345,7746],{"class":7000},[6995,83347,70653],{"class":7012},[6995,83349,83350],{"class":244,"line":7044},[6995,83351,7047],{"class":7000},[34,83353,83354],{},[611,83355,7052],{},[616,83357,83358],{"className":6989,"code":70664,"language":6991,"meta":14,"style":14},[611,83359,83360,83364,83374,83384,83390,83394,83404,83414,83424,83434,83444,83454,83464,83474,83484,83492,83496,83500,83510,83520,83530,83540,83550,83560,83570,83580,83590,83598,83602,83606],{"__ignoreMap":14},[6995,83361,83362],{"class":244,"line":6997},[6995,83363,7001],{"class":7000},[6995,83365,83366,83368,83370,83372],{"class":244,"line":15},[6995,83367,7066],{"class":7006},[6995,83369,7024],{"class":7000},[6995,83371,6679],{"class":7006},[6995,83373,7030],{"class":7000},[6995,83375,83376,83378,83380,83382],{"class":244,"line":154},[6995,83377,7078],{"class":7006},[6995,83379,7024],{"class":7000},[6995,83381,7013],{"class":7012},[6995,83383,7030],{"class":7000},[6995,83385,83386,83388],{"class":244,"line":7033},[6995,83387,70695],{"class":7006},[6995,83389,7217],{"class":7000},[6995,83391,83392],{"class":244,"line":7044},[6995,83393,7537],{"class":7000},[6995,83395,83396,83398,83400,83402],{"class":244,"line":7107},[6995,83397,21555],{"class":7006},[6995,83399,7024],{"class":7000},[6995,83401,70710],{"class":7006},[6995,83403,7030],{"class":7000},[6995,83405,83406,83408,83410,83412],{"class":244,"line":7120},[6995,83407,70717],{"class":7006},[6995,83409,7024],{"class":7000},[6995,83411,70722],{"class":7006},[6995,83413,7030],{"class":7000},[6995,83415,83416,83418,83420,83422],{"class":244,"line":7133},[6995,83417,12663],{"class":7006},[6995,83419,7024],{"class":7000},[6995,83421,70733],{"class":7012},[6995,83423,7030],{"class":7000},[6995,83425,83426,83428,83430,83432],{"class":244,"line":7146},[6995,83427,70740],{"class":7006},[6995,83429,7024],{"class":7000},[6995,83431,11094],{"class":7006},[6995,83433,7030],{"class":7000},[6995,83435,83436,83438,83440,83442],{"class":244,"line":7159},[6995,83437,70751],{"class":7006},[6995,83439,7024],{"class":7000},[6995,83441,38820],{"class":7006},[6995,83443,7030],{"class":7000},[6995,83445,83446,83448,83450,83452],{"class":244,"line":7172},[6995,83447,70762],{"class":7006},[6995,83449,7024],{"class":7000},[6995,83451,7180],{"class":7006},[6995,83453,7030],{"class":7000},[6995,83455,83456,83458,83460,83462],{"class":244,"line":7185},[6995,83457,70773],{"class":7006},[6995,83459,7024],{"class":7000},[6995,83461,70778],{"class":7012},[6995,83463,7030],{"class":7000},[6995,83465,83466,83468,83470,83472],{"class":244,"line":7198},[6995,83467,70785],{"class":7006},[6995,83469,7024],{"class":7000},[6995,83471,38820],{"class":7006},[6995,83473,7030],{"class":7000},[6995,83475,83476,83478,83480,83482],{"class":244,"line":7211},[6995,83477,70796],{"class":7006},[6995,83479,7024],{"class":7000},[6995,83481,7511],{"class":7006},[6995,83483,7030],{"class":7000},[6995,83485,83486,83488,83490],{"class":244,"line":7220},[6995,83487,70807],{"class":7006},[6995,83489,7024],{"class":7000},[6995,83491,70812],{"class":7012},[6995,83493,83494],{"class":244,"line":7226},[6995,83495,21500],{"class":7000},[6995,83497,83498],{"class":244,"line":7238},[6995,83499,7537],{"class":7000},[6995,83501,83502,83504,83506,83508],{"class":244,"line":7250},[6995,83503,21555],{"class":7006},[6995,83505,7024],{"class":7000},[6995,83507,70829],{"class":7006},[6995,83509,7030],{"class":7000},[6995,83511,83512,83514,83516,83518],{"class":244,"line":7263},[6995,83513,70717],{"class":7006},[6995,83515,7024],{"class":7000},[6995,83517,70840],{"class":7006},[6995,83519,7030],{"class":7000},[6995,83521,83522,83524,83526,83528],{"class":244,"line":7275},[6995,83523,12663],{"class":7006},[6995,83525,7024],{"class":7000},[6995,83527,70851],{"class":7012},[6995,83529,7030],{"class":7000},[6995,83531,83532,83534,83536,83538],{"class":244,"line":7288},[6995,83533,70740],{"class":7006},[6995,83535,7024],{"class":7000},[6995,83537,11094],{"class":7006},[6995,83539,7030],{"class":7000},[6995,83541,83542,83544,83546,83548],{"class":244,"line":7300},[6995,83543,70751],{"class":7006},[6995,83545,7024],{"class":7000},[6995,83547,9597],{"class":7006},[6995,83549,7030],{"class":7000},[6995,83551,83552,83554,83556,83558],{"class":244,"line":7313},[6995,83553,70762],{"class":7006},[6995,83555,7024],{"class":7000},[6995,83557,7180],{"class":7006},[6995,83559,7030],{"class":7000},[6995,83561,83562,83564,83566,83568],{"class":244,"line":7325},[6995,83563,70773],{"class":7006},[6995,83565,7024],{"class":7000},[6995,83567,70778],{"class":7012},[6995,83569,7030],{"class":7000},[6995,83571,83572,83574,83576,83578],{"class":244,"line":7336},[6995,83573,70785],{"class":7006},[6995,83575,7024],{"class":7000},[6995,83577,9597],{"class":7006},[6995,83579,7030],{"class":7000},[6995,83581,83582,83584,83586,83588],{"class":244,"line":7342},[6995,83583,70796],{"class":7006},[6995,83585,7024],{"class":7000},[6995,83587,7511],{"class":7006},[6995,83589,7030],{"class":7000},[6995,83591,83592,83594,83596],{"class":244,"line":7347},[6995,83593,70807],{"class":7006},[6995,83595,7024],{"class":7000},[6995,83597,70812],{"class":7012},[6995,83599,83600],{"class":244,"line":7363},[6995,83601,7615],{"class":7000},[6995,83603,83604],{"class":244,"line":7375},[6995,83605,23275],{"class":7000},[6995,83607,83608],{"class":244,"line":7387},[6995,83609,7047],{"class":7000},[41,83611,58956],{"id":58956},[34,83613,70938],{},[34,83615,83616],{},[611,83617,6986],{},[616,83619,83620],{"className":6989,"code":70945,"language":6991,"meta":14,"style":14},[611,83621,83622,83626,83636,83646,83656,83662,83672,83682,83692,83702,83712,83720,83724],{"__ignoreMap":14},[6995,83623,83624],{"class":244,"line":6997},[6995,83625,7001],{"class":7000},[6995,83627,83628,83630,83632,83634],{"class":244,"line":15},[6995,83629,7007],{"class":7006},[6995,83631,7746],{"class":7000},[6995,83633,7013],{"class":7012},[6995,83635,7030],{"class":7000},[6995,83637,83638,83640,83642,83644],{"class":244,"line":154},[6995,83639,7021],{"class":7006},[6995,83641,7746],{"class":7000},[6995,83643,6679],{"class":7006},[6995,83645,7030],{"class":7000},[6995,83647,83648,83650,83652,83654],{"class":244,"line":7033},[6995,83649,7036],{"class":7006},[6995,83651,7746],{"class":7000},[6995,83653,70980],{"class":7012},[6995,83655,7030],{"class":7000},[6995,83657,83658,83660],{"class":244,"line":7044},[6995,83659,7529],{"class":7006},[6995,83661,7092],{"class":7000},[6995,83663,83664,83666,83668,83670],{"class":244,"line":7107},[6995,83665,70993],{"class":7006},[6995,83667,7024],{"class":7000},[6995,83669,9597],{"class":7006},[6995,83671,7030],{"class":7000},[6995,83673,83674,83676,83678,83680],{"class":244,"line":7120},[6995,83675,71004],{"class":7006},[6995,83677,7024],{"class":7000},[6995,83679,14095],{"class":7006},[6995,83681,7030],{"class":7000},[6995,83683,83684,83686,83688,83690],{"class":244,"line":7133},[6995,83685,71015],{"class":7006},[6995,83687,7024],{"class":7000},[6995,83689,9597],{"class":7006},[6995,83691,7030],{"class":7000},[6995,83693,83694,83696,83698,83700],{"class":244,"line":7146},[6995,83695,71026],{"class":7006},[6995,83697,7024],{"class":7000},[6995,83699,7180],{"class":7006},[6995,83701,7030],{"class":7000},[6995,83703,83704,83706,83708,83710],{"class":244,"line":7159},[6995,83705,71037],{"class":7006},[6995,83707,7024],{"class":7000},[6995,83709,7206],{"class":7006},[6995,83711,7030],{"class":7000},[6995,83713,83714,83716,83718],{"class":244,"line":7172},[6995,83715,7588],{"class":7006},[6995,83717,7024],{"class":7000},[6995,83719,71052],{"class":7012},[6995,83721,83722],{"class":244,"line":7185},[6995,83723,7615],{"class":7000},[6995,83725,83726],{"class":244,"line":7198},[6995,83727,7047],{"class":7000},[34,83729,83730],{},[611,83731,7052],{},[616,83733,83734],{"className":6989,"code":71067,"language":6991,"meta":14,"style":14},[611,83735,83736,83740,83750,83760,83766,83776,83786,83796,83806,83816,83826,83836,83846,83856,83864,83868],{"__ignoreMap":14},[6995,83737,83738],{"class":244,"line":6997},[6995,83739,7001],{"class":7000},[6995,83741,83742,83744,83746,83748],{"class":244,"line":15},[6995,83743,7066],{"class":7006},[6995,83745,7024],{"class":7000},[6995,83747,6679],{"class":7006},[6995,83749,7030],{"class":7000},[6995,83751,83752,83754,83756,83758],{"class":244,"line":154},[6995,83753,7078],{"class":7006},[6995,83755,7024],{"class":7000},[6995,83757,7013],{"class":7012},[6995,83759,7030],{"class":7000},[6995,83761,83762,83764],{"class":244,"line":7033},[6995,83763,71098],{"class":7006},[6995,83765,7092],{"class":7000},[6995,83767,83768,83770,83772,83774],{"class":244,"line":7044},[6995,83769,71105],{"class":7006},[6995,83771,7024],{"class":7000},[6995,83773,71110],{"class":7006},[6995,83775,7030],{"class":7000},[6995,83777,83778,83780,83782,83784],{"class":244,"line":7107},[6995,83779,71117],{"class":7006},[6995,83781,7024],{"class":7000},[6995,83783,71122],{"class":7006},[6995,83785,7030],{"class":7000},[6995,83787,83788,83790,83792,83794],{"class":244,"line":7120},[6995,83789,7021],{"class":7006},[6995,83791,7024],{"class":7000},[6995,83793,71133],{"class":7012},[6995,83795,7030],{"class":7000},[6995,83797,83798,83800,83802,83804],{"class":244,"line":7133},[6995,83799,71140],{"class":7006},[6995,83801,7024],{"class":7000},[6995,83803,8689],{"class":7006},[6995,83805,7030],{"class":7000},[6995,83807,83808,83810,83812,83814],{"class":244,"line":7146},[6995,83809,71151],{"class":7006},[6995,83811,7024],{"class":7000},[6995,83813,9597],{"class":7006},[6995,83815,7030],{"class":7000},[6995,83817,83818,83820,83822,83824],{"class":244,"line":7159},[6995,83819,71162],{"class":7006},[6995,83821,7024],{"class":7000},[6995,83823,7180],{"class":7006},[6995,83825,7030],{"class":7000},[6995,83827,83828,83830,83832,83834],{"class":244,"line":7172},[6995,83829,71173],{"class":7006},[6995,83831,7024],{"class":7000},[6995,83833,70778],{"class":7012},[6995,83835,7030],{"class":7000},[6995,83837,83838,83840,83842,83844],{"class":244,"line":7185},[6995,83839,71184],{"class":7006},[6995,83841,7024],{"class":7000},[6995,83843,9597],{"class":7006},[6995,83845,7030],{"class":7000},[6995,83847,83848,83850,83852,83854],{"class":244,"line":7198},[6995,83849,71195],{"class":7006},[6995,83851,7024],{"class":7000},[6995,83853,14095],{"class":7006},[6995,83855,7030],{"class":7000},[6995,83857,83858,83860,83862],{"class":244,"line":7211},[6995,83859,71206],{"class":7006},[6995,83861,7024],{"class":7000},[6995,83863,71211],{"class":7012},[6995,83865,83866],{"class":244,"line":7220},[6995,83867,7467],{"class":7000},[6995,83869,83870],{"class":244,"line":7226},[6995,83871,7047],{"class":7000},[41,83873,58962],{"id":58962},[34,83875,71224],{},[34,83877,83878],{},[611,83879,6986],{},[616,83881,83882],{"className":6989,"code":71231,"language":6991,"meta":14,"style":14},[611,83883,83884,83888,83898,83908,83918,83924,83932,83936],{"__ignoreMap":14},[6995,83885,83886],{"class":244,"line":6997},[6995,83887,7001],{"class":7000},[6995,83889,83890,83892,83894,83896],{"class":244,"line":15},[6995,83891,7007],{"class":7006},[6995,83893,7746],{"class":7000},[6995,83895,7013],{"class":7012},[6995,83897,7030],{"class":7000},[6995,83899,83900,83902,83904,83906],{"class":244,"line":154},[6995,83901,7021],{"class":7006},[6995,83903,7746],{"class":7000},[6995,83905,6679],{"class":7006},[6995,83907,7030],{"class":7000},[6995,83909,83910,83912,83914,83916],{"class":244,"line":7033},[6995,83911,7036],{"class":7006},[6995,83913,7746],{"class":7000},[6995,83915,71266],{"class":7012},[6995,83917,7030],{"class":7000},[6995,83919,83920,83922],{"class":244,"line":7044},[6995,83921,7529],{"class":7006},[6995,83923,7092],{"class":7000},[6995,83925,83926,83928,83930],{"class":244,"line":7107},[6995,83927,71279],{"class":7006},[6995,83929,7024],{"class":7000},[6995,83931,71284],{"class":7012},[6995,83933,83934],{"class":244,"line":7120},[6995,83935,7615],{"class":7000},[6995,83937,83938],{"class":244,"line":7133},[6995,83939,7047],{"class":7000},[34,83941,83942],{},[611,83943,7052],{},[616,83945,83946],{"className":6989,"code":71299,"language":6991,"meta":14,"style":14},[611,83947,83948,83952,83962,83972,83980],{"__ignoreMap":14},[6995,83949,83950],{"class":244,"line":6997},[6995,83951,7001],{"class":7000},[6995,83953,83954,83956,83958,83960],{"class":244,"line":15},[6995,83955,7066],{"class":7006},[6995,83957,7024],{"class":7000},[6995,83959,6679],{"class":7006},[6995,83961,7030],{"class":7000},[6995,83963,83964,83966,83968,83970],{"class":244,"line":154},[6995,83965,7078],{"class":7006},[6995,83967,7024],{"class":7000},[6995,83969,7013],{"class":7012},[6995,83971,7030],{"class":7000},[6995,83973,83974,83976,83978],{"class":244,"line":7033},[6995,83975,71098],{"class":7006},[6995,83977,7024],{"class":7000},[6995,83979,71284],{"class":7012},[6995,83981,83982],{"class":244,"line":7044},[6995,83983,7047],{"class":7000},[41,83985,58968],{"id":58968},[34,83987,71342],{},[34,83989,83990],{},[611,83991,6986],{},[616,83993,83994],{"className":6989,"code":71349,"language":6991,"meta":14,"style":14},[611,83995,83996,84000,84010,84020,84030,84036,84044,84048],{"__ignoreMap":14},[6995,83997,83998],{"class":244,"line":6997},[6995,83999,7001],{"class":7000},[6995,84001,84002,84004,84006,84008],{"class":244,"line":15},[6995,84003,7007],{"class":7006},[6995,84005,7746],{"class":7000},[6995,84007,7013],{"class":7012},[6995,84009,7030],{"class":7000},[6995,84011,84012,84014,84016,84018],{"class":244,"line":154},[6995,84013,7021],{"class":7006},[6995,84015,7746],{"class":7000},[6995,84017,6679],{"class":7006},[6995,84019,7030],{"class":7000},[6995,84021,84022,84024,84026,84028],{"class":244,"line":7033},[6995,84023,7036],{"class":7006},[6995,84025,7746],{"class":7000},[6995,84027,71384],{"class":7012},[6995,84029,7030],{"class":7000},[6995,84031,84032,84034],{"class":244,"line":7044},[6995,84033,7529],{"class":7006},[6995,84035,7092],{"class":7000},[6995,84037,84038,84040,84042],{"class":244,"line":7107},[6995,84039,71279],{"class":7006},[6995,84041,7024],{"class":7000},[6995,84043,71401],{"class":7012},[6995,84045,84046],{"class":244,"line":7120},[6995,84047,7615],{"class":7000},[6995,84049,84050],{"class":244,"line":7133},[6995,84051,7047],{"class":7000},[34,84053,84054],{},[611,84055,7052],{},[616,84057,84058],{"className":6989,"code":71416,"language":6991,"meta":14,"style":14},[611,84059,84060,84064,84074,84084,84090,84100,84110,84120,84130,84140,84150,84160,84170,84180,84188,84192,84200],{"__ignoreMap":14},[6995,84061,84062],{"class":244,"line":6997},[6995,84063,7001],{"class":7000},[6995,84065,84066,84068,84070,84072],{"class":244,"line":15},[6995,84067,7066],{"class":7006},[6995,84069,7024],{"class":7000},[6995,84071,6679],{"class":7006},[6995,84073,7030],{"class":7000},[6995,84075,84076,84078,84080,84082],{"class":244,"line":154},[6995,84077,7078],{"class":7006},[6995,84079,7024],{"class":7000},[6995,84081,7013],{"class":7012},[6995,84083,7030],{"class":7000},[6995,84085,84086,84088],{"class":244,"line":7033},[6995,84087,71098],{"class":7006},[6995,84089,7092],{"class":7000},[6995,84091,84092,84094,84096,84098],{"class":244,"line":7044},[6995,84093,71105],{"class":7006},[6995,84095,7024],{"class":7000},[6995,84097,70710],{"class":7006},[6995,84099,7030],{"class":7000},[6995,84101,84102,84104,84106,84108],{"class":244,"line":7107},[6995,84103,71117],{"class":7006},[6995,84105,7024],{"class":7000},[6995,84107,70722],{"class":7006},[6995,84109,7030],{"class":7000},[6995,84111,84112,84114,84116,84118],{"class":244,"line":7120},[6995,84113,7021],{"class":7006},[6995,84115,7024],{"class":7000},[6995,84117,70733],{"class":7012},[6995,84119,7030],{"class":7000},[6995,84121,84122,84124,84126,84128],{"class":244,"line":7133},[6995,84123,71140],{"class":7006},[6995,84125,7024],{"class":7000},[6995,84127,11094],{"class":7006},[6995,84129,7030],{"class":7000},[6995,84131,84132,84134,84136,84138],{"class":244,"line":7146},[6995,84133,71151],{"class":7006},[6995,84135,7024],{"class":7000},[6995,84137,38820],{"class":7006},[6995,84139,7030],{"class":7000},[6995,84141,84142,84144,84146,84148],{"class":244,"line":7159},[6995,84143,71162],{"class":7006},[6995,84145,7024],{"class":7000},[6995,84147,7180],{"class":7006},[6995,84149,7030],{"class":7000},[6995,84151,84152,84154,84156,84158],{"class":244,"line":7172},[6995,84153,71173],{"class":7006},[6995,84155,7024],{"class":7000},[6995,84157,70778],{"class":7012},[6995,84159,7030],{"class":7000},[6995,84161,84162,84164,84166,84168],{"class":244,"line":7185},[6995,84163,71184],{"class":7006},[6995,84165,7024],{"class":7000},[6995,84167,38820],{"class":7006},[6995,84169,7030],{"class":7000},[6995,84171,84172,84174,84176,84178],{"class":244,"line":7198},[6995,84173,71195],{"class":7006},[6995,84175,7024],{"class":7000},[6995,84177,7511],{"class":7006},[6995,84179,7030],{"class":7000},[6995,84181,84182,84184,84186],{"class":244,"line":7211},[6995,84183,71206],{"class":7006},[6995,84185,7024],{"class":7000},[6995,84187,70812],{"class":7012},[6995,84189,84190],{"class":244,"line":7220},[6995,84191,13125],{"class":7000},[6995,84193,84194,84196,84198],{"class":244,"line":7226},[6995,84195,71555],{"class":7006},[6995,84197,7024],{"class":7000},[6995,84199,71560],{"class":7012},[6995,84201,84202],{"class":244,"line":7238},[6995,84203,7047],{"class":7000},[8692,84205,14042],{},{"title":14,"searchDepth":15,"depth":15,"links":84207},[84208,84211,84212,84218,84219,84220,84221,84222,84225,84226,84227,84228,84229,84230,84231,84232,84233,84234,84235,84240,84241,84242,84243,84244,84245,84246,84251,84252,84253,84254,84255,84256,84257,84258,84259,84260,84261,84262,84263,84264,84265,84266,84267,84268,84269,84270,84271,84272,84273,84274],{"id":71648,"depth":15,"text":71649,"children":84209},[84210],{"id":25485,"depth":154,"text":25486},{"id":18076,"depth":15,"text":18077},{"id":18219,"depth":15,"text":18220,"children":84213},[84214,84215,84216,84217],{"id":35560,"depth":154,"text":35561},{"id":35742,"depth":154,"text":35743},{"id":59267,"depth":154,"text":59268},{"id":59280,"depth":154,"text":59281},{"id":32868,"depth":15,"text":35809},{"id":24476,"depth":15,"text":24477},{"id":12194,"depth":15,"text":12194},{"id":11852,"depth":15,"text":11852},{"id":18255,"depth":15,"text":18255,"children":84223},[84224],{"id":19226,"depth":154,"text":8763},{"id":18239,"depth":15,"text":18239},{"id":18247,"depth":15,"text":18247},{"id":6905,"depth":15,"text":6905},{"id":6910,"depth":15,"text":6910},{"id":6920,"depth":15,"text":6920},{"id":6925,"depth":15,"text":6925},{"id":6930,"depth":15,"text":6930},{"id":18306,"depth":15,"text":18306},{"id":18314,"depth":15,"text":18314},{"id":18293,"depth":15,"text":18293},{"id":18327,"depth":15,"text":18327,"children":84236},[84237,84238,84239],{"id":21955,"depth":154,"text":21956},{"id":21959,"depth":154,"text":21960},{"id":22039,"depth":154,"text":22040},{"id":6900,"depth":15,"text":6900},{"id":18014,"depth":15,"text":18014},{"id":6935,"depth":15,"text":6935},{"id":18340,"depth":15,"text":18340},{"id":18348,"depth":15,"text":18348},{"id":18356,"depth":15,"text":18356},{"id":18385,"depth":15,"text":18385,"children":84247},[84248,84249,84250],{"id":24483,"depth":154,"text":24484},{"id":24490,"depth":154,"text":24491},{"id":31749,"depth":154,"text":31750},{"id":18396,"depth":15,"text":18396},{"id":6940,"depth":15,"text":6940},{"id":18406,"depth":15,"text":18406},{"id":25472,"depth":15,"text":25472},{"id":35407,"depth":15,"text":35407},{"id":35417,"depth":15,"text":35417},{"id":35427,"depth":15,"text":35427},{"id":35437,"depth":15,"text":35437},{"id":35447,"depth":15,"text":35447},{"id":35457,"depth":15,"text":35457},{"id":25480,"depth":15,"text":25480},{"id":25551,"depth":15,"text":25551},{"id":25559,"depth":15,"text":25559},{"id":25567,"depth":15,"text":25567},{"id":25575,"depth":15,"text":25575},{"id":25581,"depth":15,"text":25581},{"id":25587,"depth":15,"text":25587},{"id":35467,"depth":15,"text":35467},{"id":35475,"depth":15,"text":35475},{"id":47235,"depth":15,"text":47235},{"id":58950,"depth":15,"text":58950},{"id":58956,"depth":15,"text":58956},{"id":58962,"depth":15,"text":58962},{"id":58968,"depth":15,"text":58968},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v7.3",{"description":14},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.3","gq0e2HLIzjGsmbidzp5OtWD2L3NaJWn4UlC3Wsx51Ps",{"id":84281,"title":84282,"body":84283,"description":86948,"extension":17,"image":18,"meta":86949,"navTitle":18,"navigation":20,"path":86950,"seo":86951,"stem":86952,"__hash__":86953},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-SWAP-API-(BETA).md","Beam Wallet Protocol SWAP API (BETA)",{"type":8,"value":84284,"toc":86933},[84285,84293,84299,84301,84304,84366,84368,84381,84385,84436,84440,84935,84939,85010,85014,85163,85165,85173,85177,85227,85231,85429,85431,85434,85438,85580,85584,85648,85650,85653,85657,85721,85725,85829,85831,85834,85838,85901,85905,86048,86050,86053,86057,86119,86123,86303,86305,86308,86312,86406,86410,86553,86555,86558,86562,86624,86628,86669,86671,86675,86738,86742,86794,86796,86800,86863,86867,86920,86924,86930],[34,84286,84287,84288],{},"Swap API extends ",[175,84289,84292],{"href":84290,"rel":84291},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API",[179],"Beam wallet protocol API",[34,84294,84295,84296,84298],{},"requires: configured swap settings in ",[611,84297,3449],{}," (by CLI or UI)",[41,84300,4975],{"id":12385},[34,84302,84303],{},"API will include the following methods:",[852,84305,84306,84312,84318,84324,84330,84336,84342,84348,84354,84360],{},[59,84307,84308],{},[175,84309,84311],{"href":84310},"#swap_offers_list","swap_offers_list",[59,84313,84314],{},[175,84315,84317],{"href":84316},"#swap_offers_board","swap_offers_board",[59,84319,84320],{},[175,84321,84323],{"href":84322},"#swap_create_offer","swap_create_offer",[59,84325,84326],{},[175,84327,84329],{"href":84328},"#swap_offer_status","swap_offer_status",[59,84331,84332],{},[175,84333,84335],{"href":84334},"#swap_decode_token","swap_decode_token",[59,84337,84338],{},[175,84339,84341],{"href":84340},"#swap_publish_offer","swap_publish_offer",[59,84343,84344],{},[175,84345,84347],{"href":84346},"#swap_accept_offer","swap_accept_offer",[59,84349,84350],{},[175,84351,84353],{"href":84352},"#swap_cancel_offer","swap_cancel_offer",[59,84355,84356],{},[175,84357,84359],{"href":84358},"#swap_get_balance","swap_get_balance",[59,84361,84362],{},[175,84363,84365],{"href":84364},"#swap_recommended_fee_rate","swap_recommended_fee_rate",[41,84367,84311],{"id":84311},[34,84369,84370,84371,1475,84373,84376,84377,84380],{},"Get all own swap offers with specified ",[611,84372,12388],{},[611,84374,84375],{},"swapCoin",". if ",[611,84378,84379],{},"filter"," not specified return all own swap offers.",[34,84382,84383],{},[611,84384,6986],{},[616,84386,84388],{"className":6989,"code":84387,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"swap_offers_list\",\n    \"params\": {}\n}\n",[611,84389,84390,84394,84404,84414,84425,84432],{"__ignoreMap":14},[6995,84391,84392],{"class":244,"line":6997},[6995,84393,7001],{"class":7000},[6995,84395,84396,84398,84400,84402],{"class":244,"line":15},[6995,84397,7007],{"class":7006},[6995,84399,7024],{"class":7000},[6995,84401,7013],{"class":7012},[6995,84403,7030],{"class":7000},[6995,84405,84406,84408,84410,84412],{"class":244,"line":154},[6995,84407,7021],{"class":7006},[6995,84409,7024],{"class":7000},[6995,84411,7071],{"class":7006},[6995,84413,7030],{"class":7000},[6995,84415,84416,84418,84420,84423],{"class":244,"line":7033},[6995,84417,7036],{"class":7006},[6995,84419,7024],{"class":7000},[6995,84421,84422],{"class":7012},"\"swap_offers_list\"",[6995,84424,7030],{"class":7000},[6995,84426,84427,84429],{"class":244,"line":7044},[6995,84428,7529],{"class":7006},[6995,84430,84431],{"class":7000},": {}\n",[6995,84433,84434],{"class":244,"line":7107},[6995,84435,7047],{"class":7000},[34,84437,84438],{},[611,84439,7052],{},[616,84441,84443],{"className":6989,"code":84442,"language":6991,"meta":14,"style":14},"{\n    \"id\": 1236,\n    \"jsonrpc\": \"2.0\",\n    \"result\": [\n        {\n            \"height_expired\": 140726,\n            \"min_height\": 140696,\n            \"receive_amount\": 2000000000,\n            \"receive_currency\": \"BEAM\",\n            \"send_amount\": 100000000,\n            \"send_currency\": \"BTC\",\n            \"status\": 4,\n            \"status_string\": \"expired\",\n            \"time_created\": \"2020.03.16 17:22:12\",\n            \"txId\": \"b35fd69030694009b8bf849140d9319e\"\n        },\n        {\n            \"height_expired\": 136300,\n            \"min_height\": 136270,\n            \"receive_amount\": 2000000000,\n            \"receive_currency\": \"BEAM\",\n            \"send_amount\": 100000000,\n            \"send_currency\": \"BTC\",\n            \"status\": 4,\n            \"status_string\": \"expired\",\n            \"time_created\": \"2020.03.13 15:16:07\",\n            \"txId\": \"0d36d9db06f14071b18e1fdf4c429a14\"\n        },\n        {\n            \"height_expired\": 133125,\n            \"min_height\": 133095,\n            \"receive_amount\": 2000000000,\n            \"receive_currency\": \"BEAM\",\n            \"send_amount\": 100000000,\n            \"send_currency\": \"BTC\",\n            \"status\": 4,\n            \"status_string\": \"expired\",\n            \"time_created\": \"2020.03.11 10:14:16\",\n            \"txId\": \"f859fe65bd434522af16cfc7d31c43db\"\n        },\n        {\n            \"height_expired\": 123428,\n            \"min_height\": 123398,\n            \"receive_amount\": 200000000,\n            \"receive_currency\": \"BEAM\",\n            \"send_amount\": 100000000,\n            \"send_currency\": \"BTC\",\n            \"status\": 2,\n            \"status_string\": \"completed\",\n            \"time_created\": \"2020.03.04 16:37:44\",\n            \"txId\": \"d218356770b34fe4aeab01fb12c6074c\"\n        }\n    ]\n}\n",[611,84444,84445,84449,84459,84469,84475,84479,84491,84503,84514,84525,84536,84548,84558,84570,84582,84592,84596,84600,84611,84622,84632,84642,84652,84662,84672,84682,84693,84702,84706,84710,84721,84732,84742,84752,84762,84772,84782,84792,84803,84812,84816,84820,84831,84842,84852,84862,84872,84882,84892,84903,84914,84923,84927,84931],{"__ignoreMap":14},[6995,84446,84447],{"class":244,"line":6997},[6995,84448,7001],{"class":7000},[6995,84450,84451,84453,84455,84457],{"class":244,"line":15},[6995,84452,7021],{"class":7006},[6995,84454,7024],{"class":7000},[6995,84456,7071],{"class":7006},[6995,84458,7030],{"class":7000},[6995,84460,84461,84463,84465,84467],{"class":244,"line":154},[6995,84462,7007],{"class":7006},[6995,84464,7024],{"class":7000},[6995,84466,7013],{"class":7012},[6995,84468,7030],{"class":7000},[6995,84470,84471,84473],{"class":244,"line":7033},[6995,84472,7732],{"class":7006},[6995,84474,7217],{"class":7000},[6995,84476,84477],{"class":244,"line":7044},[6995,84478,14405],{"class":7000},[6995,84480,84481,84484,84486,84489],{"class":244,"line":7107},[6995,84482,84483],{"class":7006},"            \"height_expired\"",[6995,84485,7024],{"class":7000},[6995,84487,84488],{"class":7006},"140726",[6995,84490,7030],{"class":7000},[6995,84492,84493,84496,84498,84501],{"class":244,"line":7120},[6995,84494,84495],{"class":7006},"            \"min_height\"",[6995,84497,7024],{"class":7000},[6995,84499,84500],{"class":7006},"140696",[6995,84502,7030],{"class":7000},[6995,84504,84505,84508,84510,84512],{"class":244,"line":7133},[6995,84506,84507],{"class":7006},"            \"receive_amount\"",[6995,84509,7024],{"class":7000},[6995,84511,7370],{"class":7006},[6995,84513,7030],{"class":7000},[6995,84515,84516,84519,84521,84523],{"class":244,"line":7146},[6995,84517,84518],{"class":7006},"            \"receive_currency\"",[6995,84520,7024],{"class":7000},[6995,84522,70778],{"class":7012},[6995,84524,7030],{"class":7000},[6995,84526,84527,84530,84532,84534],{"class":244,"line":7159},[6995,84528,84529],{"class":7006},"            \"send_amount\"",[6995,84531,7024],{"class":7000},[6995,84533,9597],{"class":7006},[6995,84535,7030],{"class":7000},[6995,84537,84538,84541,84543,84546],{"class":244,"line":7172},[6995,84539,84540],{"class":7006},"            \"send_currency\"",[6995,84542,7024],{"class":7000},[6995,84544,84545],{"class":7012},"\"BTC\"",[6995,84547,7030],{"class":7000},[6995,84549,84550,84552,84554,84556],{"class":244,"line":7185},[6995,84551,21220],{"class":7006},[6995,84553,7024],{"class":7000},[6995,84555,8439],{"class":7006},[6995,84557,7030],{"class":7000},[6995,84559,84560,84563,84565,84568],{"class":244,"line":7198},[6995,84561,84562],{"class":7006},"            \"status_string\"",[6995,84564,7024],{"class":7000},[6995,84566,84567],{"class":7012},"\"expired\"",[6995,84569,7030],{"class":7000},[6995,84571,84572,84575,84577,84580],{"class":244,"line":7211},[6995,84573,84574],{"class":7006},"            \"time_created\"",[6995,84576,7024],{"class":7000},[6995,84578,84579],{"class":7012},"\"2020.03.16 17:22:12\"",[6995,84581,7030],{"class":7000},[6995,84583,84584,84587,84589],{"class":244,"line":7220},[6995,84585,84586],{"class":7006},"            \"txId\"",[6995,84588,7024],{"class":7000},[6995,84590,84591],{"class":7012},"\"b35fd69030694009b8bf849140d9319e\"\n",[6995,84593,84594],{"class":244,"line":7226},[6995,84595,21243],{"class":7000},[6995,84597,84598],{"class":244,"line":7238},[6995,84599,14405],{"class":7000},[6995,84601,84602,84604,84606,84609],{"class":244,"line":7250},[6995,84603,84483],{"class":7006},[6995,84605,7024],{"class":7000},[6995,84607,84608],{"class":7006},"136300",[6995,84610,7030],{"class":7000},[6995,84612,84613,84615,84617,84620],{"class":244,"line":7263},[6995,84614,84495],{"class":7006},[6995,84616,7024],{"class":7000},[6995,84618,84619],{"class":7006},"136270",[6995,84621,7030],{"class":7000},[6995,84623,84624,84626,84628,84630],{"class":244,"line":7275},[6995,84625,84507],{"class":7006},[6995,84627,7024],{"class":7000},[6995,84629,7370],{"class":7006},[6995,84631,7030],{"class":7000},[6995,84633,84634,84636,84638,84640],{"class":244,"line":7288},[6995,84635,84518],{"class":7006},[6995,84637,7024],{"class":7000},[6995,84639,70778],{"class":7012},[6995,84641,7030],{"class":7000},[6995,84643,84644,84646,84648,84650],{"class":244,"line":7300},[6995,84645,84529],{"class":7006},[6995,84647,7024],{"class":7000},[6995,84649,9597],{"class":7006},[6995,84651,7030],{"class":7000},[6995,84653,84654,84656,84658,84660],{"class":244,"line":7313},[6995,84655,84540],{"class":7006},[6995,84657,7024],{"class":7000},[6995,84659,84545],{"class":7012},[6995,84661,7030],{"class":7000},[6995,84663,84664,84666,84668,84670],{"class":244,"line":7325},[6995,84665,21220],{"class":7006},[6995,84667,7024],{"class":7000},[6995,84669,8439],{"class":7006},[6995,84671,7030],{"class":7000},[6995,84673,84674,84676,84678,84680],{"class":244,"line":7336},[6995,84675,84562],{"class":7006},[6995,84677,7024],{"class":7000},[6995,84679,84567],{"class":7012},[6995,84681,7030],{"class":7000},[6995,84683,84684,84686,84688,84691],{"class":244,"line":7342},[6995,84685,84574],{"class":7006},[6995,84687,7024],{"class":7000},[6995,84689,84690],{"class":7012},"\"2020.03.13 15:16:07\"",[6995,84692,7030],{"class":7000},[6995,84694,84695,84697,84699],{"class":244,"line":7347},[6995,84696,84586],{"class":7006},[6995,84698,7024],{"class":7000},[6995,84700,84701],{"class":7012},"\"0d36d9db06f14071b18e1fdf4c429a14\"\n",[6995,84703,84704],{"class":244,"line":7363},[6995,84705,21243],{"class":7000},[6995,84707,84708],{"class":244,"line":7375},[6995,84709,14405],{"class":7000},[6995,84711,84712,84714,84716,84719],{"class":244,"line":7387},[6995,84713,84483],{"class":7006},[6995,84715,7024],{"class":7000},[6995,84717,84718],{"class":7006},"133125",[6995,84720,7030],{"class":7000},[6995,84722,84723,84725,84727,84730],{"class":244,"line":7398},[6995,84724,84495],{"class":7006},[6995,84726,7024],{"class":7000},[6995,84728,84729],{"class":7006},"133095",[6995,84731,7030],{"class":7000},[6995,84733,84734,84736,84738,84740],{"class":244,"line":7410},[6995,84735,84507],{"class":7006},[6995,84737,7024],{"class":7000},[6995,84739,7370],{"class":7006},[6995,84741,7030],{"class":7000},[6995,84743,84744,84746,84748,84750],{"class":244,"line":7421},[6995,84745,84518],{"class":7006},[6995,84747,7024],{"class":7000},[6995,84749,70778],{"class":7012},[6995,84751,7030],{"class":7000},[6995,84753,84754,84756,84758,84760],{"class":244,"line":7432},[6995,84755,84529],{"class":7006},[6995,84757,7024],{"class":7000},[6995,84759,9597],{"class":7006},[6995,84761,7030],{"class":7000},[6995,84763,84764,84766,84768,84770],{"class":244,"line":7443},[6995,84765,84540],{"class":7006},[6995,84767,7024],{"class":7000},[6995,84769,84545],{"class":7012},[6995,84771,7030],{"class":7000},[6995,84773,84774,84776,84778,84780],{"class":244,"line":7452},[6995,84775,21220],{"class":7006},[6995,84777,7024],{"class":7000},[6995,84779,8439],{"class":7006},[6995,84781,7030],{"class":7000},[6995,84783,84784,84786,84788,84790],{"class":244,"line":7458},[6995,84785,84562],{"class":7006},[6995,84787,7024],{"class":7000},[6995,84789,84567],{"class":7012},[6995,84791,7030],{"class":7000},[6995,84793,84794,84796,84798,84801],{"class":244,"line":7464},[6995,84795,84574],{"class":7006},[6995,84797,7024],{"class":7000},[6995,84799,84800],{"class":7012},"\"2020.03.11 10:14:16\"",[6995,84802,7030],{"class":7000},[6995,84804,84805,84807,84809],{"class":244,"line":7470},[6995,84806,84586],{"class":7006},[6995,84808,7024],{"class":7000},[6995,84810,84811],{"class":7012},"\"f859fe65bd434522af16cfc7d31c43db\"\n",[6995,84813,84814],{"class":244,"line":13197},[6995,84815,21243],{"class":7000},[6995,84817,84818],{"class":244,"line":13202},[6995,84819,14405],{"class":7000},[6995,84821,84822,84824,84826,84829],{"class":244,"line":13214},[6995,84823,84483],{"class":7006},[6995,84825,7024],{"class":7000},[6995,84827,84828],{"class":7006},"123428",[6995,84830,7030],{"class":7000},[6995,84832,84833,84835,84837,84840],{"class":244,"line":13225},[6995,84834,84495],{"class":7006},[6995,84836,7024],{"class":7000},[6995,84838,84839],{"class":7006},"123398",[6995,84841,7030],{"class":7000},[6995,84843,84844,84846,84848,84850],{"class":244,"line":13237},[6995,84845,84507],{"class":7006},[6995,84847,7024],{"class":7000},[6995,84849,38820],{"class":7006},[6995,84851,7030],{"class":7000},[6995,84853,84854,84856,84858,84860],{"class":244,"line":13248},[6995,84855,84518],{"class":7006},[6995,84857,7024],{"class":7000},[6995,84859,70778],{"class":7012},[6995,84861,7030],{"class":7000},[6995,84863,84864,84866,84868,84870],{"class":244,"line":13258},[6995,84865,84529],{"class":7006},[6995,84867,7024],{"class":7000},[6995,84869,9597],{"class":7006},[6995,84871,7030],{"class":7000},[6995,84873,84874,84876,84878,84880],{"class":244,"line":13263},[6995,84875,84540],{"class":7006},[6995,84877,7024],{"class":7000},[6995,84879,84545],{"class":7012},[6995,84881,7030],{"class":7000},[6995,84883,84884,84886,84888,84890],{"class":244,"line":13268},[6995,84885,21220],{"class":7006},[6995,84887,7024],{"class":7000},[6995,84889,7511],{"class":7006},[6995,84891,7030],{"class":7000},[6995,84893,84894,84896,84898,84901],{"class":244,"line":13275},[6995,84895,84562],{"class":7006},[6995,84897,7024],{"class":7000},[6995,84899,84900],{"class":7012},"\"completed\"",[6995,84902,7030],{"class":7000},[6995,84904,84905,84907,84909,84912],{"class":244,"line":13280},[6995,84906,84574],{"class":7006},[6995,84908,7024],{"class":7000},[6995,84910,84911],{"class":7012},"\"2020.03.04 16:37:44\"",[6995,84913,7030],{"class":7000},[6995,84915,84916,84918,84920],{"class":244,"line":13291},[6995,84917,84586],{"class":7006},[6995,84919,7024],{"class":7000},[6995,84921,84922],{"class":7012},"\"d218356770b34fe4aeab01fb12c6074c\"\n",[6995,84924,84925],{"class":244,"line":13303},[6995,84926,15327],{"class":7000},[6995,84928,84929],{"class":244,"line":13314},[6995,84930,7461],{"class":7000},[6995,84932,84933],{"class":244,"line":13324},[6995,84934,7047],{"class":7000},[34,84936,84937],{},[611,84938,6986],{},[616,84940,84942],{"className":6989,"code":84941,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"swap_offers_list\",\n    \"params\": {\n        \"filter\" : {\n            \"status\" : 2\n        }\n    }\n}\n",[611,84943,84944,84948,84958,84968,84978,84984,84990,84998,85002,85006],{"__ignoreMap":14},[6995,84945,84946],{"class":244,"line":6997},[6995,84947,7001],{"class":7000},[6995,84949,84950,84952,84954,84956],{"class":244,"line":15},[6995,84951,7007],{"class":7006},[6995,84953,7024],{"class":7000},[6995,84955,7013],{"class":7012},[6995,84957,7030],{"class":7000},[6995,84959,84960,84962,84964,84966],{"class":244,"line":154},[6995,84961,7021],{"class":7006},[6995,84963,7024],{"class":7000},[6995,84965,7071],{"class":7006},[6995,84967,7030],{"class":7000},[6995,84969,84970,84972,84974,84976],{"class":244,"line":7033},[6995,84971,7036],{"class":7006},[6995,84973,7024],{"class":7000},[6995,84975,84422],{"class":7012},[6995,84977,7030],{"class":7000},[6995,84979,84980,84982],{"class":244,"line":7044},[6995,84981,7529],{"class":7006},[6995,84983,7092],{"class":7000},[6995,84985,84986,84988],{"class":244,"line":7107},[6995,84987,21209],{"class":7006},[6995,84989,58836],{"class":7000},[6995,84991,84992,84994,84996],{"class":244,"line":7120},[6995,84993,21220],{"class":7006},[6995,84995,7746],{"class":7000},[6995,84997,13790],{"class":7006},[6995,84999,85000],{"class":244,"line":7133},[6995,85001,15327],{"class":7000},[6995,85003,85004],{"class":244,"line":7146},[6995,85005,7615],{"class":7000},[6995,85007,85008],{"class":244,"line":7159},[6995,85009,7047],{"class":7000},[34,85011,85012],{},[611,85013,7052],{},[616,85015,85017],{"className":6989,"code":85016,"language":6991,"meta":14,"style":14},"{\n    \"id\": 1236,\n    \"jsonrpc\": \"2.0\",\n    \"result\": [\n        {\n            \"height_expired\": 123428,\n            \"min_height\": 123398,\n            \"receive_amount\": 200000000,\n            \"receive_currency\": \"BEAM\",\n            \"send_amount\": 100000000,\n            \"send_currency\": \"BTC\",\n            \"status\": 2,\n            \"status_string\": \"completed\",\n            \"time_created\": \"2020.03.04 16:37:44\",\n            \"txId\": \"d218356770b34fe4aeab01fb12c6074c\"\n        }\n    ]\n}\n",[611,85018,85019,85023,85033,85043,85049,85053,85063,85073,85083,85093,85103,85113,85123,85133,85143,85151,85155,85159],{"__ignoreMap":14},[6995,85020,85021],{"class":244,"line":6997},[6995,85022,7001],{"class":7000},[6995,85024,85025,85027,85029,85031],{"class":244,"line":15},[6995,85026,7021],{"class":7006},[6995,85028,7024],{"class":7000},[6995,85030,7071],{"class":7006},[6995,85032,7030],{"class":7000},[6995,85034,85035,85037,85039,85041],{"class":244,"line":154},[6995,85036,7007],{"class":7006},[6995,85038,7024],{"class":7000},[6995,85040,7013],{"class":7012},[6995,85042,7030],{"class":7000},[6995,85044,85045,85047],{"class":244,"line":7033},[6995,85046,7732],{"class":7006},[6995,85048,7217],{"class":7000},[6995,85050,85051],{"class":244,"line":7044},[6995,85052,14405],{"class":7000},[6995,85054,85055,85057,85059,85061],{"class":244,"line":7107},[6995,85056,84483],{"class":7006},[6995,85058,7024],{"class":7000},[6995,85060,84828],{"class":7006},[6995,85062,7030],{"class":7000},[6995,85064,85065,85067,85069,85071],{"class":244,"line":7120},[6995,85066,84495],{"class":7006},[6995,85068,7024],{"class":7000},[6995,85070,84839],{"class":7006},[6995,85072,7030],{"class":7000},[6995,85074,85075,85077,85079,85081],{"class":244,"line":7133},[6995,85076,84507],{"class":7006},[6995,85078,7024],{"class":7000},[6995,85080,38820],{"class":7006},[6995,85082,7030],{"class":7000},[6995,85084,85085,85087,85089,85091],{"class":244,"line":7146},[6995,85086,84518],{"class":7006},[6995,85088,7024],{"class":7000},[6995,85090,70778],{"class":7012},[6995,85092,7030],{"class":7000},[6995,85094,85095,85097,85099,85101],{"class":244,"line":7159},[6995,85096,84529],{"class":7006},[6995,85098,7024],{"class":7000},[6995,85100,9597],{"class":7006},[6995,85102,7030],{"class":7000},[6995,85104,85105,85107,85109,85111],{"class":244,"line":7172},[6995,85106,84540],{"class":7006},[6995,85108,7024],{"class":7000},[6995,85110,84545],{"class":7012},[6995,85112,7030],{"class":7000},[6995,85114,85115,85117,85119,85121],{"class":244,"line":7185},[6995,85116,21220],{"class":7006},[6995,85118,7024],{"class":7000},[6995,85120,7511],{"class":7006},[6995,85122,7030],{"class":7000},[6995,85124,85125,85127,85129,85131],{"class":244,"line":7198},[6995,85126,84562],{"class":7006},[6995,85128,7024],{"class":7000},[6995,85130,84900],{"class":7012},[6995,85132,7030],{"class":7000},[6995,85134,85135,85137,85139,85141],{"class":244,"line":7211},[6995,85136,84574],{"class":7006},[6995,85138,7024],{"class":7000},[6995,85140,84911],{"class":7012},[6995,85142,7030],{"class":7000},[6995,85144,85145,85147,85149],{"class":244,"line":7220},[6995,85146,84586],{"class":7006},[6995,85148,7024],{"class":7000},[6995,85150,84922],{"class":7012},[6995,85152,85153],{"class":244,"line":7226},[6995,85154,15327],{"class":7000},[6995,85156,85157],{"class":244,"line":7238},[6995,85158,7461],{"class":7000},[6995,85160,85161],{"class":244,"line":7250},[6995,85162,7047],{"class":7000},[41,85164,84317],{"id":84317},[34,85166,85167,85168,84376,85170,85172],{},"Get all swap offers from offers board with specified ",[611,85169,84375],{},[611,85171,84375],{}," not specified return all known swap offers.",[34,85174,85175],{},[611,85176,6986],{},[616,85178,85180],{"className":6989,"code":85179,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"swap_offers_board\",\n    \"params\": {}\n}\n",[611,85181,85182,85186,85196,85206,85217,85223],{"__ignoreMap":14},[6995,85183,85184],{"class":244,"line":6997},[6995,85185,7001],{"class":7000},[6995,85187,85188,85190,85192,85194],{"class":244,"line":15},[6995,85189,7007],{"class":7006},[6995,85191,7024],{"class":7000},[6995,85193,7013],{"class":7012},[6995,85195,7030],{"class":7000},[6995,85197,85198,85200,85202,85204],{"class":244,"line":154},[6995,85199,7021],{"class":7006},[6995,85201,7024],{"class":7000},[6995,85203,7071],{"class":7006},[6995,85205,7030],{"class":7000},[6995,85207,85208,85210,85212,85215],{"class":244,"line":7033},[6995,85209,7036],{"class":7006},[6995,85211,7024],{"class":7000},[6995,85213,85214],{"class":7012},"\"swap_offers_board\"",[6995,85216,7030],{"class":7000},[6995,85218,85219,85221],{"class":244,"line":7044},[6995,85220,7529],{"class":7006},[6995,85222,84431],{"class":7000},[6995,85224,85225],{"class":244,"line":7107},[6995,85226,7047],{"class":7000},[34,85228,85229],{},[611,85230,7052],{},[616,85232,85234],{"className":6989,"code":85233,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": [\n    {\n      \"is_my_offer\": false,\n      \"is_public\": true,\n      \"height_expired\": 103173,\n      \"min_height\": 103143,\n      \"receive_amount\": 100000000,\n      \"receive_currency\": \"BTC\",\n      \"send_amount\": 1200000000,\n      \"send_currency\": \"BEAM\",\n      \"status\": 0,\n      \"status_string\": \"pending\",\n      \"time_created\": \"2020.03.04 16:37:44\",\n      \"token\": \"6xfTV5NF6JWbcZLupbhTHNEQqnGjHQEL5L5VsT4XhAkMw9GqTzMowAVQVhpUWSAvg8cqtfV1s6BKSa75zk8vCMK7mVP7xNjATJ2pPCNcu3U8UYz4rce4gRuTBuYNDbyY7zFEEzMZL2RKKjGCtEN2bpCif8GuGUekzRc8hiL\",\n      \"txId\": \"f87b06cf752040cdaefbf99831bc3e80\"\n    },\n\n  ]\n}\n",[611,85235,85236,85240,85250,85260,85266,85270,85281,85292,85304,85316,85327,85338,85350,85361,85371,85381,85392,85404,85413,85417,85421,85425],{"__ignoreMap":14},[6995,85237,85238],{"class":244,"line":6997},[6995,85239,7001],{"class":7000},[6995,85241,85242,85244,85246,85248],{"class":244,"line":15},[6995,85243,7066],{"class":7006},[6995,85245,7024],{"class":7000},[6995,85247,7071],{"class":7006},[6995,85249,7030],{"class":7000},[6995,85251,85252,85254,85256,85258],{"class":244,"line":154},[6995,85253,7078],{"class":7006},[6995,85255,7024],{"class":7000},[6995,85257,7013],{"class":7012},[6995,85259,7030],{"class":7000},[6995,85261,85262,85264],{"class":244,"line":7033},[6995,85263,7089],{"class":7006},[6995,85265,7217],{"class":7000},[6995,85267,85268],{"class":244,"line":7044},[6995,85269,7537],{"class":7000},[6995,85271,85272,85275,85277,85279],{"class":244,"line":7107},[6995,85273,85274],{"class":7006},"      \"is_my_offer\"",[6995,85276,7024],{"class":7000},[6995,85278,11094],{"class":7006},[6995,85280,7030],{"class":7000},[6995,85282,85283,85286,85288,85290],{"class":244,"line":7120},[6995,85284,85285],{"class":7006},"      \"is_public\"",[6995,85287,7024],{"class":7000},[6995,85289,8689],{"class":7006},[6995,85291,7030],{"class":7000},[6995,85293,85294,85297,85299,85302],{"class":244,"line":7133},[6995,85295,85296],{"class":7006},"      \"height_expired\"",[6995,85298,7024],{"class":7000},[6995,85300,85301],{"class":7006},"103173",[6995,85303,7030],{"class":7000},[6995,85305,85306,85309,85311,85314],{"class":244,"line":7146},[6995,85307,85308],{"class":7006},"      \"min_height\"",[6995,85310,7024],{"class":7000},[6995,85312,85313],{"class":7006},"103143",[6995,85315,7030],{"class":7000},[6995,85317,85318,85321,85323,85325],{"class":244,"line":7159},[6995,85319,85320],{"class":7006},"      \"receive_amount\"",[6995,85322,7024],{"class":7000},[6995,85324,9597],{"class":7006},[6995,85326,7030],{"class":7000},[6995,85328,85329,85332,85334,85336],{"class":244,"line":7172},[6995,85330,85331],{"class":7006},"      \"receive_currency\"",[6995,85333,7024],{"class":7000},[6995,85335,84545],{"class":7012},[6995,85337,7030],{"class":7000},[6995,85339,85340,85343,85345,85348],{"class":244,"line":7185},[6995,85341,85342],{"class":7006},"      \"send_amount\"",[6995,85344,7024],{"class":7000},[6995,85346,85347],{"class":7006},"1200000000",[6995,85349,7030],{"class":7000},[6995,85351,85352,85355,85357,85359],{"class":244,"line":7198},[6995,85353,85354],{"class":7006},"      \"send_currency\"",[6995,85356,7024],{"class":7000},[6995,85358,70778],{"class":7012},[6995,85360,7030],{"class":7000},[6995,85362,85363,85365,85367,85369],{"class":244,"line":7211},[6995,85364,21622],{"class":7006},[6995,85366,7024],{"class":7000},[6995,85368,7180],{"class":7006},[6995,85370,7030],{"class":7000},[6995,85372,85373,85375,85377,85379],{"class":244,"line":7220},[6995,85374,21633],{"class":7006},[6995,85376,7024],{"class":7000},[6995,85378,13883],{"class":7012},[6995,85380,7030],{"class":7000},[6995,85382,85383,85386,85388,85390],{"class":244,"line":7226},[6995,85384,85385],{"class":7006},"      \"time_created\"",[6995,85387,7024],{"class":7000},[6995,85389,84911],{"class":7012},[6995,85391,7030],{"class":7000},[6995,85393,85394,85397,85399,85402],{"class":244,"line":7238},[6995,85395,85396],{"class":7006},"      \"token\"",[6995,85398,7024],{"class":7000},[6995,85400,85401],{"class":7012},"\"6xfTV5NF6JWbcZLupbhTHNEQqnGjHQEL5L5VsT4XhAkMw9GqTzMowAVQVhpUWSAvg8cqtfV1s6BKSa75zk8vCMK7mVP7xNjATJ2pPCNcu3U8UYz4rce4gRuTBuYNDbyY7zFEEzMZL2RKKjGCtEN2bpCif8GuGUekzRc8hiL\"",[6995,85403,7030],{"class":7000},[6995,85405,85406,85408,85410],{"class":244,"line":7250},[6995,85407,21645],{"class":7006},[6995,85409,7024],{"class":7000},[6995,85411,85412],{"class":7012},"\"f87b06cf752040cdaefbf99831bc3e80\"\n",[6995,85414,85415],{"class":244,"line":7263},[6995,85416,21500],{"class":7000},[6995,85418,85419],{"class":244,"line":7275},[6995,85420,14371],{"emptyLinePlaceholder":20},[6995,85422,85423],{"class":244,"line":7288},[6995,85424,23275],{"class":7000},[6995,85426,85427],{"class":244,"line":7300},[6995,85428,7047],{"class":7000},[41,85430,84323],{"id":84323},[34,85432,85433],{},"Creates swap offer that can be published on a board or sent directly to other side",[34,85435,85436],{},[611,85437,6986],{},[616,85439,85441],{"className":6989,"code":85440,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"swap_create_offer\",\n    \"params\": {\n        \"send_amount\": 44000000000,\n        \"send_currency\": \"beam\",\n        \"receive_amount\": 2000000000,\n        \"receive_currency\": \"btc\",\n        \"beam_fee\": 100,\n        \"fee_rate\": 90000,\n        \"offer_expires\": 30,\n        \"comment\": \"API\"\n    }\n}\n",[611,85442,85443,85447,85457,85467,85478,85484,85495,85507,85517,85529,85540,85552,85563,85572,85576],{"__ignoreMap":14},[6995,85444,85445],{"class":244,"line":6997},[6995,85446,7001],{"class":7000},[6995,85448,85449,85451,85453,85455],{"class":244,"line":15},[6995,85450,7007],{"class":7006},[6995,85452,7024],{"class":7000},[6995,85454,7013],{"class":7012},[6995,85456,7030],{"class":7000},[6995,85458,85459,85461,85463,85465],{"class":244,"line":154},[6995,85460,7021],{"class":7006},[6995,85462,7024],{"class":7000},[6995,85464,7071],{"class":7006},[6995,85466,7030],{"class":7000},[6995,85468,85469,85471,85473,85476],{"class":244,"line":7033},[6995,85470,7036],{"class":7006},[6995,85472,7024],{"class":7000},[6995,85474,85475],{"class":7012},"\"swap_create_offer\"",[6995,85477,7030],{"class":7000},[6995,85479,85480,85482],{"class":244,"line":7044},[6995,85481,7529],{"class":7006},[6995,85483,7092],{"class":7000},[6995,85485,85486,85488,85490,85493],{"class":244,"line":7107},[6995,85487,70993],{"class":7006},[6995,85489,7024],{"class":7000},[6995,85491,85492],{"class":7006},"44000000000",[6995,85494,7030],{"class":7000},[6995,85496,85497,85500,85502,85505],{"class":244,"line":7120},[6995,85498,85499],{"class":7006},"        \"send_currency\"",[6995,85501,7024],{"class":7000},[6995,85503,85504],{"class":7012},"\"beam\"",[6995,85506,7030],{"class":7000},[6995,85508,85509,85511,85513,85515],{"class":244,"line":7133},[6995,85510,71015],{"class":7006},[6995,85512,7024],{"class":7000},[6995,85514,7370],{"class":7006},[6995,85516,7030],{"class":7000},[6995,85518,85519,85522,85524,85527],{"class":244,"line":7146},[6995,85520,85521],{"class":7006},"        \"receive_currency\"",[6995,85523,7024],{"class":7000},[6995,85525,85526],{"class":7012},"\"btc\"",[6995,85528,7030],{"class":7000},[6995,85530,85531,85534,85536,85538],{"class":244,"line":7159},[6995,85532,85533],{"class":7006},"        \"beam_fee\"",[6995,85535,7024],{"class":7000},[6995,85537,10984],{"class":7006},[6995,85539,7030],{"class":7000},[6995,85541,85542,85545,85547,85550],{"class":244,"line":7172},[6995,85543,85544],{"class":7006},"        \"fee_rate\"",[6995,85546,7024],{"class":7000},[6995,85548,85549],{"class":7006},"90000",[6995,85551,7030],{"class":7000},[6995,85553,85554,85557,85559,85561],{"class":244,"line":7185},[6995,85555,85556],{"class":7006},"        \"offer_expires\"",[6995,85558,7024],{"class":7000},[6995,85560,7206],{"class":7006},[6995,85562,7030],{"class":7000},[6995,85564,85565,85567,85569],{"class":244,"line":7198},[6995,85566,7588],{"class":7006},[6995,85568,7024],{"class":7000},[6995,85570,85571],{"class":7012},"\"API\"\n",[6995,85573,85574],{"class":244,"line":7211},[6995,85575,7615],{"class":7000},[6995,85577,85578],{"class":244,"line":7220},[6995,85579,7047],{"class":7000},[34,85581,85582],{},[611,85583,7052],{},[616,85585,85587],{"className":6989,"code":85586,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"txId\": \"062757f5ea62448589d977aa05c5782f\",\n    \"token\": \"TJeBeBjF48BdyxTDJg8gjogn9eDKQUx1Nm18iHPw53YoFipxKKkutNUV5AkVnFyLohpSrWsrnFNLGyBakVGY4Y2URdSQ52cDACHGDuHjYVpjMz8KN7q6rJrWGEXah2wJXHxrARYbAh7dTizdtQxaNVj34dfr8wKkfPFC7vmk\"\n  }\n}\n",[611,85588,85589,85593,85603,85613,85619,85630,85640,85644],{"__ignoreMap":14},[6995,85590,85591],{"class":244,"line":6997},[6995,85592,7001],{"class":7000},[6995,85594,85595,85597,85599,85601],{"class":244,"line":15},[6995,85596,7066],{"class":7006},[6995,85598,7024],{"class":7000},[6995,85600,7071],{"class":7006},[6995,85602,7030],{"class":7000},[6995,85604,85605,85607,85609,85611],{"class":244,"line":154},[6995,85606,7078],{"class":7006},[6995,85608,7024],{"class":7000},[6995,85610,7013],{"class":7012},[6995,85612,7030],{"class":7000},[6995,85614,85615,85617],{"class":244,"line":7033},[6995,85616,7089],{"class":7006},[6995,85618,7092],{"class":7000},[6995,85620,85621,85623,85625,85628],{"class":244,"line":7044},[6995,85622,13925],{"class":7006},[6995,85624,7024],{"class":7000},[6995,85626,85627],{"class":7012},"\"062757f5ea62448589d977aa05c5782f\"",[6995,85629,7030],{"class":7000},[6995,85631,85632,85635,85637],{"class":244,"line":7107},[6995,85633,85634],{"class":7006},"    \"token\"",[6995,85636,7024],{"class":7000},[6995,85638,85639],{"class":7012},"\"TJeBeBjF48BdyxTDJg8gjogn9eDKQUx1Nm18iHPw53YoFipxKKkutNUV5AkVnFyLohpSrWsrnFNLGyBakVGY4Y2URdSQ52cDACHGDuHjYVpjMz8KN7q6rJrWGEXah2wJXHxrARYbAh7dTizdtQxaNVj34dfr8wKkfPFC7vmk\"\n",[6995,85641,85642],{"class":244,"line":7120},[6995,85643,7467],{"class":7000},[6995,85645,85646],{"class":244,"line":7133},[6995,85647,7047],{"class":7000},[41,85649,84329],{"id":84329},[34,85651,85652],{},"Shows your offer status or swap transaction in which you are participating",[34,85654,85655],{},[611,85656,6986],{},[616,85658,85660],{"className":6989,"code":85659,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 126,\n    \"method\": \"swap_offer_status\",\n    \"params\": {\n        \"tx_id\": \"b35fd69030694009b8bf849140d9319e\"\n    }\n}\n",[611,85661,85662,85666,85676,85687,85698,85704,85713,85717],{"__ignoreMap":14},[6995,85663,85664],{"class":244,"line":6997},[6995,85665,7001],{"class":7000},[6995,85667,85668,85670,85672,85674],{"class":244,"line":15},[6995,85669,7007],{"class":7006},[6995,85671,7024],{"class":7000},[6995,85673,7013],{"class":7012},[6995,85675,7030],{"class":7000},[6995,85677,85678,85680,85682,85685],{"class":244,"line":154},[6995,85679,7021],{"class":7006},[6995,85681,7024],{"class":7000},[6995,85683,85684],{"class":7006},"126",[6995,85686,7030],{"class":7000},[6995,85688,85689,85691,85693,85696],{"class":244,"line":7033},[6995,85690,7036],{"class":7006},[6995,85692,7024],{"class":7000},[6995,85694,85695],{"class":7012},"\"swap_offer_status\"",[6995,85697,7030],{"class":7000},[6995,85699,85700,85702],{"class":244,"line":7044},[6995,85701,7529],{"class":7006},[6995,85703,7092],{"class":7000},[6995,85705,85706,85709,85711],{"class":244,"line":7107},[6995,85707,85708],{"class":7006},"        \"tx_id\"",[6995,85710,7024],{"class":7000},[6995,85712,84591],{"class":7012},[6995,85714,85715],{"class":244,"line":7120},[6995,85716,7615],{"class":7000},[6995,85718,85719],{"class":244,"line":7133},[6995,85720,7047],{"class":7000},[34,85722,85723],{},[611,85724,7052],{},[616,85726,85728],{"className":6989,"code":85727,"language":6991,"meta":14,"style":14},"{\n    \"id\": 126,\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"height_expired\": 140726,\n        \"min_height\": 140696,\n        \"status\": 4,\n        \"status_string\": \"expired\",\n        \"time_created\": \"2020.03.16 17:22:12\",\n        \"tx_id\": \"b35fd69030694009b8bf849140d9319e\"\n    }\n}\n",[611,85729,85730,85734,85744,85754,85760,85771,85782,85792,85802,85813,85821,85825],{"__ignoreMap":14},[6995,85731,85732],{"class":244,"line":6997},[6995,85733,7001],{"class":7000},[6995,85735,85736,85738,85740,85742],{"class":244,"line":15},[6995,85737,7021],{"class":7006},[6995,85739,7024],{"class":7000},[6995,85741,85684],{"class":7006},[6995,85743,7030],{"class":7000},[6995,85745,85746,85748,85750,85752],{"class":244,"line":154},[6995,85747,7007],{"class":7006},[6995,85749,7024],{"class":7000},[6995,85751,7013],{"class":7012},[6995,85753,7030],{"class":7000},[6995,85755,85756,85758],{"class":244,"line":7033},[6995,85757,7732],{"class":7006},[6995,85759,7092],{"class":7000},[6995,85761,85762,85765,85767,85769],{"class":244,"line":7044},[6995,85763,85764],{"class":7006},"        \"height_expired\"",[6995,85766,7024],{"class":7000},[6995,85768,84488],{"class":7006},[6995,85770,7030],{"class":7000},[6995,85772,85773,85776,85778,85780],{"class":244,"line":7107},[6995,85774,85775],{"class":7006},"        \"min_height\"",[6995,85777,7024],{"class":7000},[6995,85779,84500],{"class":7006},[6995,85781,7030],{"class":7000},[6995,85783,85784,85786,85788,85790],{"class":244,"line":7120},[6995,85785,21018],{"class":7006},[6995,85787,7024],{"class":7000},[6995,85789,8439],{"class":7006},[6995,85791,7030],{"class":7000},[6995,85793,85794,85796,85798,85800],{"class":244,"line":7133},[6995,85795,21029],{"class":7006},[6995,85797,7024],{"class":7000},[6995,85799,84567],{"class":7012},[6995,85801,7030],{"class":7000},[6995,85803,85804,85807,85809,85811],{"class":244,"line":7146},[6995,85805,85806],{"class":7006},"        \"time_created\"",[6995,85808,7024],{"class":7000},[6995,85810,84579],{"class":7012},[6995,85812,7030],{"class":7000},[6995,85814,85815,85817,85819],{"class":244,"line":7159},[6995,85816,85708],{"class":7006},[6995,85818,7024],{"class":7000},[6995,85820,84591],{"class":7012},[6995,85822,85823],{"class":244,"line":7172},[6995,85824,7615],{"class":7000},[6995,85826,85827],{"class":244,"line":7185},[6995,85828,7047],{"class":7000},[41,85830,84335],{"id":84335},[34,85832,85833],{},"Decode swap token",[34,85835,85836],{},[611,85837,6986],{},[616,85839,85841],{"className":6989,"code":85840,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"swap_decode_token\",\n    \"params\": {\n        \"token\" : \"6xfNAUemTbmp7KRCRydiGStMZe6oRh59LzS7uk1V4eTrUX1mKcCGY7jdtMtSs4XLt6Ug8jWnepMEZCrqSUw7PeKRDZ8yyVZu1WHXzootpybBjX3nVxxHRSdk4ncBGDh1cssmiJhswZC9PfsaJmRKqXJM3x9tcX7EZn5Vjg8\"\n    }\n}\n",[611,85842,85843,85847,85857,85867,85878,85884,85893,85897],{"__ignoreMap":14},[6995,85844,85845],{"class":244,"line":6997},[6995,85846,7001],{"class":7000},[6995,85848,85849,85851,85853,85855],{"class":244,"line":15},[6995,85850,7007],{"class":7006},[6995,85852,7024],{"class":7000},[6995,85854,7013],{"class":7012},[6995,85856,7030],{"class":7000},[6995,85858,85859,85861,85863,85865],{"class":244,"line":154},[6995,85860,7021],{"class":7006},[6995,85862,7024],{"class":7000},[6995,85864,7071],{"class":7006},[6995,85866,7030],{"class":7000},[6995,85868,85869,85871,85873,85876],{"class":244,"line":7033},[6995,85870,7036],{"class":7006},[6995,85872,7024],{"class":7000},[6995,85874,85875],{"class":7012},"\"swap_decode_token\"",[6995,85877,7030],{"class":7000},[6995,85879,85880,85882],{"class":244,"line":7044},[6995,85881,7529],{"class":7006},[6995,85883,7092],{"class":7000},[6995,85885,85886,85888,85890],{"class":244,"line":7107},[6995,85887,21131],{"class":7006},[6995,85889,7746],{"class":7000},[6995,85891,85892],{"class":7012},"\"6xfNAUemTbmp7KRCRydiGStMZe6oRh59LzS7uk1V4eTrUX1mKcCGY7jdtMtSs4XLt6Ug8jWnepMEZCrqSUw7PeKRDZ8yyVZu1WHXzootpybBjX3nVxxHRSdk4ncBGDh1cssmiJhswZC9PfsaJmRKqXJM3x9tcX7EZn5Vjg8\"\n",[6995,85894,85895],{"class":244,"line":7120},[6995,85896,7615],{"class":7000},[6995,85898,85899],{"class":244,"line":7133},[6995,85900,7047],{"class":7000},[34,85902,85903],{},[611,85904,7052],{},[616,85906,85908],{"className":6989,"code":85907,"language":6991,"meta":14,"style":14},"{\n    \"id\": 1236,\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"height_expired\": 123428,\n        \"is_my_offer\": false,\n        \"is_public\": false,\n        \"min_height\": 123398,\n        \"receive_amount\": 200000000,\n        \"receive_currency\": \"BEAM\",\n        \"send_amount\": 100000000,\n        \"send_currency\": \"BTC\",\n        \"time_created\": \"2020.03.04 16:37:44\",\n        \"tx_id\": \"d218356770b34fe4aeab01fb12c6074c\"\n    }\n}\n",[611,85909,85910,85914,85924,85934,85940,85950,85961,85972,85982,85992,86002,86012,86022,86032,86040,86044],{"__ignoreMap":14},[6995,85911,85912],{"class":244,"line":6997},[6995,85913,7001],{"class":7000},[6995,85915,85916,85918,85920,85922],{"class":244,"line":15},[6995,85917,7021],{"class":7006},[6995,85919,7024],{"class":7000},[6995,85921,7071],{"class":7006},[6995,85923,7030],{"class":7000},[6995,85925,85926,85928,85930,85932],{"class":244,"line":154},[6995,85927,7007],{"class":7006},[6995,85929,7024],{"class":7000},[6995,85931,7013],{"class":7012},[6995,85933,7030],{"class":7000},[6995,85935,85936,85938],{"class":244,"line":7033},[6995,85937,7732],{"class":7006},[6995,85939,7092],{"class":7000},[6995,85941,85942,85944,85946,85948],{"class":244,"line":7044},[6995,85943,85764],{"class":7006},[6995,85945,7024],{"class":7000},[6995,85947,84828],{"class":7006},[6995,85949,7030],{"class":7000},[6995,85951,85952,85955,85957,85959],{"class":244,"line":7107},[6995,85953,85954],{"class":7006},"        \"is_my_offer\"",[6995,85956,7024],{"class":7000},[6995,85958,11094],{"class":7006},[6995,85960,7030],{"class":7000},[6995,85962,85963,85966,85968,85970],{"class":244,"line":7120},[6995,85964,85965],{"class":7006},"        \"is_public\"",[6995,85967,7024],{"class":7000},[6995,85969,11094],{"class":7006},[6995,85971,7030],{"class":7000},[6995,85973,85974,85976,85978,85980],{"class":244,"line":7133},[6995,85975,85775],{"class":7006},[6995,85977,7024],{"class":7000},[6995,85979,84839],{"class":7006},[6995,85981,7030],{"class":7000},[6995,85983,85984,85986,85988,85990],{"class":244,"line":7146},[6995,85985,71015],{"class":7006},[6995,85987,7024],{"class":7000},[6995,85989,38820],{"class":7006},[6995,85991,7030],{"class":7000},[6995,85993,85994,85996,85998,86000],{"class":244,"line":7159},[6995,85995,85521],{"class":7006},[6995,85997,7024],{"class":7000},[6995,85999,70778],{"class":7012},[6995,86001,7030],{"class":7000},[6995,86003,86004,86006,86008,86010],{"class":244,"line":7172},[6995,86005,70993],{"class":7006},[6995,86007,7024],{"class":7000},[6995,86009,9597],{"class":7006},[6995,86011,7030],{"class":7000},[6995,86013,86014,86016,86018,86020],{"class":244,"line":7185},[6995,86015,85499],{"class":7006},[6995,86017,7024],{"class":7000},[6995,86019,84545],{"class":7012},[6995,86021,7030],{"class":7000},[6995,86023,86024,86026,86028,86030],{"class":244,"line":7198},[6995,86025,85806],{"class":7006},[6995,86027,7024],{"class":7000},[6995,86029,84911],{"class":7012},[6995,86031,7030],{"class":7000},[6995,86033,86034,86036,86038],{"class":244,"line":7211},[6995,86035,85708],{"class":7006},[6995,86037,7024],{"class":7000},[6995,86039,84922],{"class":7012},[6995,86041,86042],{"class":244,"line":7220},[6995,86043,7615],{"class":7000},[6995,86045,86046],{"class":244,"line":7226},[6995,86047,7047],{"class":7000},[41,86049,84341],{"id":84341},[34,86051,86052],{},"Publicates offer on a board",[34,86054,86055],{},[611,86056,6986],{},[616,86058,86060],{"className":6989,"code":86059,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 126,\n    \"method\": \"swap_publish_offer\",\n    \"params\": {\n        \"token\": \"TJeBeBjF48BdyxTDJg8gjogn9eDKQUx1Nm18iHPw53YoFipxKKkutNUV5AkVnFyLohpSrWsrnFNLGyBakVGY4Y2URdSQ52cDACHGDuHjYVpjMz8KN7q6rJrWGEXah2wJXHxrARYbAh7dTizdtQxaNVj34dfr8wKkfPFC7vmk\"\n    }\n}\n",[611,86061,86062,86066,86076,86086,86097,86103,86111,86115],{"__ignoreMap":14},[6995,86063,86064],{"class":244,"line":6997},[6995,86065,7001],{"class":7000},[6995,86067,86068,86070,86072,86074],{"class":244,"line":15},[6995,86069,7007],{"class":7006},[6995,86071,7024],{"class":7000},[6995,86073,7013],{"class":7012},[6995,86075,7030],{"class":7000},[6995,86077,86078,86080,86082,86084],{"class":244,"line":154},[6995,86079,7021],{"class":7006},[6995,86081,7024],{"class":7000},[6995,86083,85684],{"class":7006},[6995,86085,7030],{"class":7000},[6995,86087,86088,86090,86092,86095],{"class":244,"line":7033},[6995,86089,7036],{"class":7006},[6995,86091,7024],{"class":7000},[6995,86093,86094],{"class":7012},"\"swap_publish_offer\"",[6995,86096,7030],{"class":7000},[6995,86098,86099,86101],{"class":244,"line":7044},[6995,86100,7529],{"class":7006},[6995,86102,7092],{"class":7000},[6995,86104,86105,86107,86109],{"class":244,"line":7107},[6995,86106,21131],{"class":7006},[6995,86108,7024],{"class":7000},[6995,86110,85639],{"class":7012},[6995,86112,86113],{"class":244,"line":7120},[6995,86114,7615],{"class":7000},[6995,86116,86117],{"class":244,"line":7133},[6995,86118,7047],{"class":7000},[34,86120,86121],{},[611,86122,7052],{},[616,86124,86126],{"className":6989,"code":86125,"language":6991,"meta":14,"style":14},"{\n  \"id\": 126,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"is_my_offer\": true,\n    \"is_public\": true,\n    \"height_expired\": 103173,\n    \"min_height\": 103143\n    \"receive_amount\": 2000000000,\n    \"receive_currency\": \"BTC\",\n    \"send_amount\": 44000000000,\n    \"send_currency\": \"BEAM\",\n    \"status\": 0,\n    \"status_string\": \"pending\",\n    \"time_created\": \"2020.02.19 11:29:19\",\n    \"token\": \"TJeBeBjF48BdyxTDJg8gjogn9eDKQUx1Nm18iHPw53YoFipxKKkutNUV5AkVnFyLohpSrWsrnFNLGyBakVGY4Y2URdSQ52cDACHGDuHjYVpjMz8KN7q6rJrWGEXah2wJXHxrARYbAh7dTizdtQxaNVj34dfr8wKkfPFC7vmk\",\n    \"txId\": \"062757f5ea62448589d977aa05c5782f\"\n  }\n}\n",[611,86127,86128,86132,86142,86152,86158,86169,86180,86190,86199,86211,86222,86233,86244,86254,86264,86275,86286,86295,86299],{"__ignoreMap":14},[6995,86129,86130],{"class":244,"line":6997},[6995,86131,7001],{"class":7000},[6995,86133,86134,86136,86138,86140],{"class":244,"line":15},[6995,86135,7066],{"class":7006},[6995,86137,7024],{"class":7000},[6995,86139,85684],{"class":7006},[6995,86141,7030],{"class":7000},[6995,86143,86144,86146,86148,86150],{"class":244,"line":154},[6995,86145,7078],{"class":7006},[6995,86147,7024],{"class":7000},[6995,86149,7013],{"class":7012},[6995,86151,7030],{"class":7000},[6995,86153,86154,86156],{"class":244,"line":7033},[6995,86155,7089],{"class":7006},[6995,86157,7092],{"class":7000},[6995,86159,86160,86163,86165,86167],{"class":244,"line":7044},[6995,86161,86162],{"class":7006},"    \"is_my_offer\"",[6995,86164,7024],{"class":7000},[6995,86166,8689],{"class":7006},[6995,86168,7030],{"class":7000},[6995,86170,86171,86174,86176,86178],{"class":244,"line":7107},[6995,86172,86173],{"class":7006},"    \"is_public\"",[6995,86175,7024],{"class":7000},[6995,86177,8689],{"class":7006},[6995,86179,7030],{"class":7000},[6995,86181,86182,86184,86186,86188],{"class":244,"line":7120},[6995,86183,13843],{"class":7006},[6995,86185,7024],{"class":7000},[6995,86187,85301],{"class":7006},[6995,86189,7030],{"class":7000},[6995,86191,86192,86194,86196],{"class":244,"line":7133},[6995,86193,13855],{"class":7006},[6995,86195,7024],{"class":7000},[6995,86197,86198],{"class":7006},"103143\n",[6995,86200,86201,86204,86206,86209],{"class":244,"line":7146},[6995,86202,86203],{"class":7012},"    \"receive_amount\"",[6995,86205,5102],{"class":7606},[6995,86207,86208],{"class":7006}," 2000000000",[6995,86210,7030],{"class":7000},[6995,86212,86213,86216,86218,86220],{"class":244,"line":7159},[6995,86214,86215],{"class":7006},"    \"receive_currency\"",[6995,86217,7024],{"class":7000},[6995,86219,84545],{"class":7012},[6995,86221,7030],{"class":7000},[6995,86223,86224,86227,86229,86231],{"class":244,"line":7172},[6995,86225,86226],{"class":7006},"    \"send_amount\"",[6995,86228,7024],{"class":7000},[6995,86230,85492],{"class":7006},[6995,86232,7030],{"class":7000},[6995,86234,86235,86238,86240,86242],{"class":244,"line":7185},[6995,86236,86237],{"class":7006},"    \"send_currency\"",[6995,86239,7024],{"class":7000},[6995,86241,70778],{"class":7012},[6995,86243,7030],{"class":7000},[6995,86245,86246,86248,86250,86252],{"class":244,"line":7198},[6995,86247,13867],{"class":7006},[6995,86249,7024],{"class":7000},[6995,86251,7180],{"class":7006},[6995,86253,7030],{"class":7000},[6995,86255,86256,86258,86260,86262],{"class":244,"line":7211},[6995,86257,13878],{"class":7006},[6995,86259,7024],{"class":7000},[6995,86261,13883],{"class":7012},[6995,86263,7030],{"class":7000},[6995,86265,86266,86268,86270,86273],{"class":244,"line":7220},[6995,86267,13913],{"class":7006},[6995,86269,7024],{"class":7000},[6995,86271,86272],{"class":7012},"\"2020.02.19 11:29:19\"",[6995,86274,7030],{"class":7000},[6995,86276,86277,86279,86281,86284],{"class":244,"line":7226},[6995,86278,85634],{"class":7006},[6995,86280,7024],{"class":7000},[6995,86282,86283],{"class":7012},"\"TJeBeBjF48BdyxTDJg8gjogn9eDKQUx1Nm18iHPw53YoFipxKKkutNUV5AkVnFyLohpSrWsrnFNLGyBakVGY4Y2URdSQ52cDACHGDuHjYVpjMz8KN7q6rJrWGEXah2wJXHxrARYbAh7dTizdtQxaNVj34dfr8wKkfPFC7vmk\"",[6995,86285,7030],{"class":7000},[6995,86287,86288,86290,86292],{"class":244,"line":7238},[6995,86289,13925],{"class":7006},[6995,86291,7024],{"class":7000},[6995,86293,86294],{"class":7012},"\"062757f5ea62448589d977aa05c5782f\"\n",[6995,86296,86297],{"class":244,"line":7250},[6995,86298,7467],{"class":7000},[6995,86300,86301],{"class":244,"line":7263},[6995,86302,7047],{"class":7000},[41,86304,84347],{"id":84347},[34,86306,86307],{},"Starts the swap offer published on a board or received directly from other side",[34,86309,86310],{},[611,86311,6986],{},[616,86313,86315],{"className":6989,"code":86314,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"swap_accept_offer\",\n    \"params\": {\n        \"beam_fee\": 100,\n        \"fee_rate\": 90000,\n        \"comment\": \"API-accept\",\n        \"token\" : \"6xfTV5NF6JWbcZLupbhTHNEQqnGjHQEL5L5VsT4XhAkMw9GqTzMowAVQVhpUWSAvg8cqtfV1s6BKSa75zk8vCMK7mVP7xNjATJ2pPCNcu3U8UYz4rce4gRuTBuYNDbyY7zFEEzMZL2RKKjGCtEN2bpCif8GuGUekzRc8hiL\"\n    }\n}\n",[611,86316,86317,86321,86331,86341,86352,86358,86368,86378,86389,86398,86402],{"__ignoreMap":14},[6995,86318,86319],{"class":244,"line":6997},[6995,86320,7001],{"class":7000},[6995,86322,86323,86325,86327,86329],{"class":244,"line":15},[6995,86324,7007],{"class":7006},[6995,86326,7024],{"class":7000},[6995,86328,7013],{"class":7012},[6995,86330,7030],{"class":7000},[6995,86332,86333,86335,86337,86339],{"class":244,"line":154},[6995,86334,7021],{"class":7006},[6995,86336,7024],{"class":7000},[6995,86338,7071],{"class":7006},[6995,86340,7030],{"class":7000},[6995,86342,86343,86345,86347,86350],{"class":244,"line":7033},[6995,86344,7036],{"class":7006},[6995,86346,7024],{"class":7000},[6995,86348,86349],{"class":7012},"\"swap_accept_offer\"",[6995,86351,7030],{"class":7000},[6995,86353,86354,86356],{"class":244,"line":7044},[6995,86355,7529],{"class":7006},[6995,86357,7092],{"class":7000},[6995,86359,86360,86362,86364,86366],{"class":244,"line":7107},[6995,86361,85533],{"class":7006},[6995,86363,7024],{"class":7000},[6995,86365,10984],{"class":7006},[6995,86367,7030],{"class":7000},[6995,86369,86370,86372,86374,86376],{"class":244,"line":7120},[6995,86371,85544],{"class":7006},[6995,86373,7024],{"class":7000},[6995,86375,85549],{"class":7006},[6995,86377,7030],{"class":7000},[6995,86379,86380,86382,86384,86387],{"class":244,"line":7133},[6995,86381,7588],{"class":7006},[6995,86383,7024],{"class":7000},[6995,86385,86386],{"class":7012},"\"API-accept\"",[6995,86388,7030],{"class":7000},[6995,86390,86391,86393,86395],{"class":244,"line":7146},[6995,86392,21131],{"class":7006},[6995,86394,7746],{"class":7000},[6995,86396,86397],{"class":7012},"\"6xfTV5NF6JWbcZLupbhTHNEQqnGjHQEL5L5VsT4XhAkMw9GqTzMowAVQVhpUWSAvg8cqtfV1s6BKSa75zk8vCMK7mVP7xNjATJ2pPCNcu3U8UYz4rce4gRuTBuYNDbyY7zFEEzMZL2RKKjGCtEN2bpCif8GuGUekzRc8hiL\"\n",[6995,86399,86400],{"class":244,"line":7159},[6995,86401,7615],{"class":7000},[6995,86403,86404],{"class":244,"line":7172},[6995,86405,7047],{"class":7000},[34,86407,86408],{},[611,86409,7052],{},[616,86411,86413],{"className":6989,"code":86412,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"height_expired\": 103173,\n    \"min_height\": 103143,\n    \"receive_amount\": 100000000,\n    \"receive_currency\": \"BTC\",\n    \"send_amount\": 1200000000,\n    \"send_currency\": \"BEAM\",\n    \"status\": 1,\n    \"status_string\": \"in progress\",\n    \"time_created\": \"2020.02.19 11:20:50\",\n    \"txId\": \"f87b06cf752040cdaefbf99831bc3e80\"\n  }\n}\n",[611,86414,86415,86419,86429,86439,86445,86455,86465,86475,86485,86495,86505,86515,86526,86537,86545,86549],{"__ignoreMap":14},[6995,86416,86417],{"class":244,"line":6997},[6995,86418,7001],{"class":7000},[6995,86420,86421,86423,86425,86427],{"class":244,"line":15},[6995,86422,7066],{"class":7006},[6995,86424,7024],{"class":7000},[6995,86426,7071],{"class":7006},[6995,86428,7030],{"class":7000},[6995,86430,86431,86433,86435,86437],{"class":244,"line":154},[6995,86432,7078],{"class":7006},[6995,86434,7024],{"class":7000},[6995,86436,7013],{"class":7012},[6995,86438,7030],{"class":7000},[6995,86440,86441,86443],{"class":244,"line":7033},[6995,86442,7089],{"class":7006},[6995,86444,7092],{"class":7000},[6995,86446,86447,86449,86451,86453],{"class":244,"line":7044},[6995,86448,13843],{"class":7006},[6995,86450,7024],{"class":7000},[6995,86452,85301],{"class":7006},[6995,86454,7030],{"class":7000},[6995,86456,86457,86459,86461,86463],{"class":244,"line":7107},[6995,86458,13855],{"class":7006},[6995,86460,7024],{"class":7000},[6995,86462,85313],{"class":7006},[6995,86464,7030],{"class":7000},[6995,86466,86467,86469,86471,86473],{"class":244,"line":7120},[6995,86468,86203],{"class":7006},[6995,86470,7024],{"class":7000},[6995,86472,9597],{"class":7006},[6995,86474,7030],{"class":7000},[6995,86476,86477,86479,86481,86483],{"class":244,"line":7133},[6995,86478,86215],{"class":7006},[6995,86480,7024],{"class":7000},[6995,86482,84545],{"class":7012},[6995,86484,7030],{"class":7000},[6995,86486,86487,86489,86491,86493],{"class":244,"line":7146},[6995,86488,86226],{"class":7006},[6995,86490,7024],{"class":7000},[6995,86492,85347],{"class":7006},[6995,86494,7030],{"class":7000},[6995,86496,86497,86499,86501,86503],{"class":244,"line":7159},[6995,86498,86237],{"class":7006},[6995,86500,7024],{"class":7000},[6995,86502,70778],{"class":7012},[6995,86504,7030],{"class":7000},[6995,86506,86507,86509,86511,86513],{"class":244,"line":7172},[6995,86508,13867],{"class":7006},[6995,86510,7024],{"class":7000},[6995,86512,6679],{"class":7006},[6995,86514,7030],{"class":7000},[6995,86516,86517,86519,86521,86524],{"class":244,"line":7185},[6995,86518,13878],{"class":7006},[6995,86520,7024],{"class":7000},[6995,86522,86523],{"class":7012},"\"in progress\"",[6995,86525,7030],{"class":7000},[6995,86527,86528,86530,86532,86535],{"class":244,"line":7198},[6995,86529,13913],{"class":7006},[6995,86531,7024],{"class":7000},[6995,86533,86534],{"class":7012},"\"2020.02.19 11:20:50\"",[6995,86536,7030],{"class":7000},[6995,86538,86539,86541,86543],{"class":244,"line":7211},[6995,86540,13925],{"class":7006},[6995,86542,7024],{"class":7000},[6995,86544,85412],{"class":7012},[6995,86546,86547],{"class":244,"line":7220},[6995,86548,7467],{"class":7000},[6995,86550,86551],{"class":244,"line":7226},[6995,86552,7047],{"class":7000},[41,86554,84353],{"id":84353},[34,86556,86557],{},"Cancel swap offer (cancels running transaction, return true if successfully canceled or error with the reason)",[34,86559,86560],{},[611,86561,6986],{},[616,86563,86565],{"className":6989,"code":86564,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 126,\n    \"method\": \"swap_cancel_offer\",\n    \"params\": {\n        \"txId\" : \"a13525181c0d45b0a4c5c1a697c8a7b8\"\n    }\n}\n",[611,86566,86567,86571,86581,86591,86602,86608,86616,86620],{"__ignoreMap":14},[6995,86568,86569],{"class":244,"line":6997},[6995,86570,7001],{"class":7000},[6995,86572,86573,86575,86577,86579],{"class":244,"line":15},[6995,86574,7007],{"class":7006},[6995,86576,7024],{"class":7000},[6995,86578,7013],{"class":7012},[6995,86580,7030],{"class":7000},[6995,86582,86583,86585,86587,86589],{"class":244,"line":154},[6995,86584,7021],{"class":7006},[6995,86586,7024],{"class":7000},[6995,86588,85684],{"class":7006},[6995,86590,7030],{"class":7000},[6995,86592,86593,86595,86597,86600],{"class":244,"line":7033},[6995,86594,7036],{"class":7006},[6995,86596,7024],{"class":7000},[6995,86598,86599],{"class":7012},"\"swap_cancel_offer\"",[6995,86601,7030],{"class":7000},[6995,86603,86604,86606],{"class":244,"line":7044},[6995,86605,7529],{"class":7006},[6995,86607,7092],{"class":7000},[6995,86609,86610,86612,86614],{"class":244,"line":7107},[6995,86611,7743],{"class":7006},[6995,86613,7746],{"class":7000},[6995,86615,20611],{"class":7012},[6995,86617,86618],{"class":244,"line":7120},[6995,86619,7615],{"class":7000},[6995,86621,86622],{"class":244,"line":7133},[6995,86623,7047],{"class":7000},[34,86625,86626],{},[611,86627,7052],{},[616,86629,86631],{"className":6989,"code":86630,"language":6991,"meta":14,"style":14},"{\n  \"id\": 126,\n  \"jsonrpc\": \"2.0\",\n  \"result\": true\n}\n",[611,86632,86633,86637,86647,86657,86665],{"__ignoreMap":14},[6995,86634,86635],{"class":244,"line":6997},[6995,86636,7001],{"class":7000},[6995,86638,86639,86641,86643,86645],{"class":244,"line":15},[6995,86640,7066],{"class":7006},[6995,86642,7024],{"class":7000},[6995,86644,85684],{"class":7006},[6995,86646,7030],{"class":7000},[6995,86648,86649,86651,86653,86655],{"class":244,"line":154},[6995,86650,7078],{"class":7006},[6995,86652,7024],{"class":7000},[6995,86654,7013],{"class":7012},[6995,86656,7030],{"class":7000},[6995,86658,86659,86661,86663],{"class":244,"line":7033},[6995,86660,7089],{"class":7006},[6995,86662,7024],{"class":7000},[6995,86664,8505],{"class":7006},[6995,86666,86667],{"class":244,"line":7044},[6995,86668,7047],{"class":7000},[41,86670,84359],{"id":84359},[34,86672,86673],{},[611,86674,6986],{},[616,86676,86678],{"className":6989,"code":86677,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 126,\n    \"method\": \"swap_get_balance\",\n    \"params\": {\n        \"coin\": \"btc\"\n    }\n}\n",[611,86679,86680,86684,86694,86704,86715,86721,86730,86734],{"__ignoreMap":14},[6995,86681,86682],{"class":244,"line":6997},[6995,86683,7001],{"class":7000},[6995,86685,86686,86688,86690,86692],{"class":244,"line":15},[6995,86687,7007],{"class":7006},[6995,86689,7024],{"class":7000},[6995,86691,7013],{"class":7012},[6995,86693,7030],{"class":7000},[6995,86695,86696,86698,86700,86702],{"class":244,"line":154},[6995,86697,7021],{"class":7006},[6995,86699,7024],{"class":7000},[6995,86701,85684],{"class":7006},[6995,86703,7030],{"class":7000},[6995,86705,86706,86708,86710,86713],{"class":244,"line":7033},[6995,86707,7036],{"class":7006},[6995,86709,7024],{"class":7000},[6995,86711,86712],{"class":7012},"\"swap_get_balance\"",[6995,86714,7030],{"class":7000},[6995,86716,86717,86719],{"class":244,"line":7044},[6995,86718,7529],{"class":7006},[6995,86720,7092],{"class":7000},[6995,86722,86723,86726,86728],{"class":244,"line":7107},[6995,86724,86725],{"class":7006},"        \"coin\"",[6995,86727,7024],{"class":7000},[6995,86729,38844],{"class":7012},[6995,86731,86732],{"class":244,"line":7120},[6995,86733,7615],{"class":7000},[6995,86735,86736],{"class":244,"line":7133},[6995,86737,7047],{"class":7000},[34,86739,86740],{},[611,86741,7052],{},[616,86743,86745],{"className":6989,"code":86744,"language":6991,"meta":14,"style":14},"{\n    \"id\": 126,\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"available\": 129899985060\n    }\n}\n",[611,86746,86747,86751,86761,86771,86777,86786,86790],{"__ignoreMap":14},[6995,86748,86749],{"class":244,"line":6997},[6995,86750,7001],{"class":7000},[6995,86752,86753,86755,86757,86759],{"class":244,"line":15},[6995,86754,7021],{"class":7006},[6995,86756,7024],{"class":7000},[6995,86758,85684],{"class":7006},[6995,86760,7030],{"class":7000},[6995,86762,86763,86765,86767,86769],{"class":244,"line":154},[6995,86764,7007],{"class":7006},[6995,86766,7024],{"class":7000},[6995,86768,7013],{"class":7012},[6995,86770,7030],{"class":7000},[6995,86772,86773,86775],{"class":244,"line":7033},[6995,86774,7732],{"class":7006},[6995,86776,7092],{"class":7000},[6995,86778,86779,86781,86783],{"class":244,"line":7044},[6995,86780,7241],{"class":7006},[6995,86782,7024],{"class":7000},[6995,86784,86785],{"class":7006},"129899985060\n",[6995,86787,86788],{"class":244,"line":7107},[6995,86789,7615],{"class":7000},[6995,86791,86792],{"class":244,"line":7120},[6995,86793,7047],{"class":7000},[41,86795,84365],{"id":84365},[34,86797,86798],{},[611,86799,6986],{},[616,86801,86803],{"className":6989,"code":86802,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 127,\n    \"method\": \"swap_recommended_fee_rate\",\n    \"params\": {\n        \"coin\": \"btc\"\n    }\n}\n",[611,86804,86805,86809,86819,86830,86841,86847,86855,86859],{"__ignoreMap":14},[6995,86806,86807],{"class":244,"line":6997},[6995,86808,7001],{"class":7000},[6995,86810,86811,86813,86815,86817],{"class":244,"line":15},[6995,86812,7007],{"class":7006},[6995,86814,7024],{"class":7000},[6995,86816,7013],{"class":7012},[6995,86818,7030],{"class":7000},[6995,86820,86821,86823,86825,86828],{"class":244,"line":154},[6995,86822,7021],{"class":7006},[6995,86824,7024],{"class":7000},[6995,86826,86827],{"class":7006},"127",[6995,86829,7030],{"class":7000},[6995,86831,86832,86834,86836,86839],{"class":244,"line":7033},[6995,86833,7036],{"class":7006},[6995,86835,7024],{"class":7000},[6995,86837,86838],{"class":7012},"\"swap_recommended_fee_rate\"",[6995,86840,7030],{"class":7000},[6995,86842,86843,86845],{"class":244,"line":7044},[6995,86844,7529],{"class":7006},[6995,86846,7092],{"class":7000},[6995,86848,86849,86851,86853],{"class":244,"line":7107},[6995,86850,86725],{"class":7006},[6995,86852,7024],{"class":7000},[6995,86854,38844],{"class":7012},[6995,86856,86857],{"class":244,"line":7120},[6995,86858,7615],{"class":7000},[6995,86860,86861],{"class":244,"line":7133},[6995,86862,7047],{"class":7000},[34,86864,86865],{},[611,86866,7052],{},[616,86868,86870],{"className":6989,"code":86869,"language":6991,"meta":14,"style":14},"{\n    \"id\": 127,\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"feerate\": 35123\n    }\n}\n",[611,86871,86872,86876,86886,86896,86902,86912,86916],{"__ignoreMap":14},[6995,86873,86874],{"class":244,"line":6997},[6995,86875,7001],{"class":7000},[6995,86877,86878,86880,86882,86884],{"class":244,"line":15},[6995,86879,7021],{"class":7006},[6995,86881,7024],{"class":7000},[6995,86883,86827],{"class":7006},[6995,86885,7030],{"class":7000},[6995,86887,86888,86890,86892,86894],{"class":244,"line":154},[6995,86889,7007],{"class":7006},[6995,86891,7024],{"class":7000},[6995,86893,7013],{"class":7012},[6995,86895,7030],{"class":7000},[6995,86897,86898,86900],{"class":244,"line":7033},[6995,86899,7732],{"class":7006},[6995,86901,7092],{"class":7000},[6995,86903,86904,86907,86909],{"class":244,"line":7044},[6995,86905,86906],{"class":7006},"        \"feerate\"",[6995,86908,7024],{"class":7000},[6995,86910,86911],{"class":7006},"35123\n",[6995,86913,86914],{"class":244,"line":7107},[6995,86915,7615],{"class":7000},[6995,86917,86918],{"class":244,"line":7120},[6995,86919,7047],{"class":7000},[48,86921,86923],{"id":86922},"swap-offers-statuses-description","Swap offers statuses description",[616,86925,86928],{"className":86926,"code":86927,"language":621},[619],"Pending (0)     - waiting for someone accept your offer, or waiting when you accept offer\nInProgress (1)  - to indicate that swap transaction in progress, you should stay online\nCompleted (2)   - a swap transaction is completed\nCanceled (3)    - \"Cancelled\" (by You)\nExpired(4)      - offer lifetime expired\nFailed (5)      - failed for some reason\n",[611,86929,86927],{"__ignoreMap":14},[8692,86931,86932],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s6RL2, html code.shiki .s6RL2{--shiki-default:#FDAEB7;--shiki-default-font-style:italic}",{"title":14,"searchDepth":15,"depth":15,"links":86934},[86935,86936,86937,86938,86939,86940,86941,86942,86943,86944,86945],{"id":12385,"depth":15,"text":4975},{"id":84311,"depth":15,"text":84311},{"id":84317,"depth":15,"text":84317},{"id":84323,"depth":15,"text":84323},{"id":84329,"depth":15,"text":84329},{"id":84335,"depth":15,"text":84335},{"id":84341,"depth":15,"text":84341},{"id":84347,"depth":15,"text":84347},{"id":84353,"depth":15,"text":84353},{"id":84359,"depth":15,"text":84359},{"id":84365,"depth":15,"text":84365,"children":86946},[86947],{"id":86922,"depth":154,"text":86923},"Swap API extends Beam wallet protocol API",{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-swap-api-(beta)",{"description":86948},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-SWAP-API-(BETA)","TEBhR4zXIyraryD_aTHMuaOkt_0hsNXMJdGU0-5fj4c",{"id":86955,"title":86956,"body":86957,"description":87184,"extension":17,"image":18,"meta":87185,"navTitle":18,"navigation":20,"path":87186,"seo":87187,"stem":87188,"__hash__":87189},"docs\u002Fdocs\u002Fcore-tech\u002FBeamX-Getting-Started.md","Welcome to BeamX",{"type":8,"value":86958,"toc":87175},[86959,86962,86969,86972,86976,86980,86985,86988,86991,87007,87010,87014,87017,87024,87027,87031,87034,87041,87045,87048,87058,87061,87072,87075,87079,87082,87085,87093,87096,87099,87104,87111,87114,87122,87125,87127,87130,87133,87139,87142,87145,87148,87150],[11,86960,86956],{"id":86961},"welcome-to-beamx",[34,86963,86964,86965,86968],{},"Hi and Welcome to ",[37,86966,86967],{},"BeamX",", Confidential DeFi Experimental Platform based on Beam Confidential blockchain.",[34,86970,86971],{},"We invite you to build BeamX together with us and actively contribute both as a user and as developer.\nThis document contains everything you need to get started with BeamX",[41,86973,86975],{"id":86974},"before-we-start","Before we start",[34,86977,86978],{},[37,86979,11615],{},[34,86981,86982],{},[37,86983,86984],{},"BeamX is very new and experimental project, it is currently in public testnet, so all the assets on it including Beam are for play only.",[34,86986,86987],{},"You can expect a lot of things to be broken quite frequently",[34,86989,86990],{},"Here are two Telegram groups for user and developer support:",[852,86992,86993,87000],{},[59,86994,86995,86999],{},[175,86996,86997],{"href":86997,"rel":86998},"https:\u002F\u002Ft.me\u002FBeamXSupport",[179]," - for general issues related to BeamX",[59,87001,87002,87006],{},[175,87003,87004],{"href":87004,"rel":87005},"https:\u002F\u002Ft.me\u002FBeamXDev",[179],"     - for developers building on BeamX",[34,87008,87009],{},"We recommend that you join these groups and ask any questions",[41,87011,87013],{"id":87012},"getting-the-binaries","Getting the binaries",[34,87015,87016],{},"You can download BeamX compatible binaries for your platform at \u002Fdownloads",[34,87018,87019,87020],{},"If you would like to build BeamX yourself from source code please refer to the ",[175,87021,87023],{"href":6000,"rel":87022},[179],"Building Instructions Guide",[34,87025,87026],{},"We strongly recommend that you get the node and the CLI wallet in addition to the Desktop wallet even if you only intend to use BeamX. The reason for that is that many interesting contracts you might want to run will take time to provide graphical applications. Having your own node and running CLI wallet will allow you to use the newest and coolest features. It is not complicated, as we will see in a minute.",[41,87028,87030],{"id":87029},"using-beamx-cli-wallet","Using BeamX CLI wallet",[34,87032,87033],{},"Once you download and unzip CLI binary, put it in a folder called 'beamx' anywhere on your machine. Once this is done, open your favorite Terminal or Command Prompt and change directory to the 'beamx' folder you have just created.",[34,87035,87036,87037,87040],{},"TIP: Since BeamX CLI wallet is an extended version of Beam CLI wallet most of the documentation ",[175,87038,1248],{"href":87039},"\u002Fdocs\u002Fcli"," is applicable to BeamX CLI Wallet as well.",[48,87042,87044],{"id":87043},"initializing-the-wallet","Initializing the wallet",[34,87046,87047],{},"Assuming your wallet binary is called something like beam-wallet-beamx.exe (on Windows) or beam-wallet-beamx (on Linux or Mac) run:",[34,87049,87050,87053,87054,87057],{},[611,87051,87052],{},"beam-wallet-beamx.exe init"," (for Windows)\n",[611,87055,87056],{},".\u002Fbeam-wallet-beamx init"," (for Linux or Mac)",[34,87059,87060],{},"Running this command will:",[56,87062,87063,87066,87069],{},[59,87064,87065],{},"Create a new wallet database in the same folder",[59,87067,87068],{},"Print out your seed phrase (which you should copy and keep somewhere, just in case)",[59,87070,87071],{},"Prompt you to setup wallet password, we recommend using something short like 123 since, remember, it's just play tokens",[34,87073,87074],{},"Once you are done, move to the next step",[48,87076,87078],{"id":87077},"running-your-own-node","Running your own node",[34,87080,87081],{},"We highly recommend that you run your own node to play with BeamX. To do so, download the node binary and put it in the same location as BeamX CLI Wallet, namely in the 'beamx' folder you have created.",[34,87083,87084],{},"Before you run your own node, you will need to get your owner key by running the following command:",[34,87086,87087,87053,87090,87057],{},[611,87088,87089],{},"beam-wallet-beamx.exe export_owner_key",[611,87091,87092],{},".\u002Fbeam-wallet-beamx export_owner_key",[34,87094,87095],{},"Running this command will print out your owner key. You will need it in a second when running your node.",[34,87097,87098],{},"Run:",[34,87100,87101],{},[611,87102,87103],{},"beam-node-beamx --port=8501 --owner_key=\u003Cput here the owner key from the previous step without the brackets> --peer=us-node01.beamx.beam.mw:8100,us-node02.beamx.beam.mw:8100,us-node03.beamx.beam.mw:8100",[34,87105,87106,87107],{},"Wait for the node to synchronize to the current blockchain height which you can see here: ",[175,87108,87109],{"href":87109,"rel":87110},"http:\u002F\u002Fbeamx.explorer.beam.mw\u002F",[179],[34,87112,87113],{},"You are ready to start using your wallet. To make sure everything works you can start by running:",[34,87115,87116,87053,87119,87057],{},[611,87117,87118],{},"beam-wallet-beamx.exe info",[611,87120,87121],{},".\u002Fbeam-wallet-beamx info",[34,87123,87124],{},"Which should show that your balance is currently 0",[48,87126,6012],{"id":6011},[34,87128,87129],{},"BeamX Smart Contracts are implemented with special programs called Beam Shaders. Shaders are small (or not so small) programs that can be written in several different programming languages but are eventually compiled to .wasm files (since Beam Virtual Machine runs on something called WebAssembly)",[34,87131,87132],{},"To get started you do not need to write or build Shaders yourself. Instead you can download the latest samples and examples from our repository here:",[34,87134,87135],{},[175,87136,87137],{"href":87137,"rel":87138},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002FbeamX\u002Fbvm\u002FShaders",[179],[34,87140,87141],{},"As you can see, there are several folders there called 'faucet', 'vault' and 'roulette' and maybe others. In each of those folders are two files usually called 'contract.wasm' and 'app.wasm'.",[34,87143,87144],{},"The reason for that is that each application comes in two parts. One part is the contract that is deployed to the blockchain (contract.wasm) and the other one is used by the wallet to interact with the contract (app.wasm)",[34,87146,87147],{},"We suggest to create a folder called 'shaders' under the 'beamx' folder and put the subfolder with specific apps like 'faucet' and such there.",[34,87149,6079],{},[56,87151,87152,87159,87167],{},[59,87153,87154,87155],{},"Get some coins from ",[175,87156,6787],{"href":87157,"rel":87158},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FUsing-BeamX-Faucet-contract-with-CLI-Wallet",[179],[59,87160,87161,87162],{},"Put some coins in a ",[175,87163,87166],{"href":87164,"rel":87165},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FUsing-BeamX-Vault-contract-with-CLI-Wallet",[179],"Vault contract",[59,87168,87169,87170],{},"Play Roulette with ",[175,87171,87174],{"href":87172,"rel":87173},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FUsing-BeamX-Roulette-contract-with-CLI-Wallet",[179],"Roulette contract",{"title":14,"searchDepth":15,"depth":15,"links":87176},[87177,87178,87179],{"id":86974,"depth":15,"text":86975},{"id":87012,"depth":15,"text":87013},{"id":87029,"depth":15,"text":87030,"children":87180},[87181,87182,87183],{"id":87043,"depth":154,"text":87044},{"id":87077,"depth":154,"text":87078},{"id":6011,"depth":154,"text":6012},"Hi and Welcome to BeamX, Confidential DeFi Experimental Platform based on Beam Confidential blockchain.",{},"\u002Fdocs\u002Fcore-tech\u002Fbeamx-getting-started",{"title":86956,"description":87184},"docs\u002Fcore-tech\u002FBeamX-Getting-Started","DDe-xzJw8lEiwwDhqc2L3la2phKeRIfGH9yci0cFG9s",{"id":87191,"title":87192,"body":87193,"description":87197,"extension":17,"image":18,"meta":87525,"navTitle":18,"navigation":20,"path":87526,"seo":87527,"stem":87528,"__hash__":87529},"docs\u002Fdocs\u002Fcore-tech\u002FBlocks,-headers,-system-states.-Concept,-relevant-structures-and-values.md","Blocks, Headers, System States Concept, Relevant Structures And Values",{"type":8,"value":87194,"toc":87520},[87195,87198,87214,87217,87220,87224,87227,87239,87242,87246,87249,87323,87337,87340,87360,87373,87376,87379,87398,87408,87417,87421,87424,87444,87447,87452,87455,87458,87469,87472,87480,87484,87487,87494,87497,87501,87504,87511,87514,87517],[34,87196,87197],{},"First let's define terminology.",[852,87199,87200,87207],{},[59,87201,87202,87203,87206],{},"System state - is a ",[100,87204,87205],{},"valid"," state of the system, which is fully defined by all the existing data (more about this later)",[59,87208,87209,87210,87213],{},"Block - is an information used to perform a ",[100,87211,87212],{},"transition"," from one system state to another.",[34,87215,87216],{},"To avoid ambiguity we refrain from saying \"block hash\" or \"block height\", because, strictly speaking, those are properties of the System state. OTOH blocks are just transactions, which may be combined.",[34,87218,87219],{},"Each state has a header, and there are several structures related to it.",[48,87221,87223],{"id":87222},"systemstateid","SystemState::ID",[34,87225,87226],{},"Consists of:",[852,87228,87229,87234],{},[59,87230,87231],{},[611,87232,87233],{},"Merkle::Hash m_Hash",[59,87235,87236],{},[611,87237,87238],{},"Height m_Height",[34,87240,87241],{},"Used to denote an existing known state. (Hash would be enough, but we decided to include the height as well)",[48,87243,87245],{"id":87244},"systemstatefull","SystemState::Full",[34,87247,87248],{},"A full header bound to the system state. Consists of:",[852,87250,87251,87267,87277,87291,87301,87306],{},[59,87252,87253,87255],{},[611,87254,87238],{},[852,87256,87257],{},[59,87258,87259,87260,87263,87264,181],{},"Our convention: ",[611,87261,87262],{},"m_Height = 0"," - is for initial system state, no data and nothing is interpreted yet. The next state, which is achieved after interpreting the genesis block, has ",[611,87265,87266],{},"m_Height = 1",[59,87268,87269,87272],{},[611,87270,87271],{},"Merkle::Hash m_Prev",[852,87273,87274],{},[59,87275,87276],{},"explicit reference to prev",[59,87278,87279,87282],{},[611,87280,87281],{},"Difficulty::Raw m_ChainWork",[852,87283,87284],{},[59,87285,87286,87287,87290],{},"Cumulative chainwork (sum of difficulties) ",[9352,87288,87289],{},"including"," the difficulty of this state.",[59,87292,87293,87296],{},[611,87294,87295],{},"Merkle::Hash m_Definition",[852,87297,87298],{},[59,87299,87300],{},"The Hash of the full system definition in this state (more about this later)",[59,87302,87303],{},[611,87304,87305],{},"Timestamp m_TimeStamp",[59,87307,87308,87311],{},[611,87309,87310],{},"PoW m_PoW",[852,87312,87313,87316],{},[59,87314,87315],{},"Proof-of-Work. An equihash solution.",[59,87317,87318,87319,87322],{},"Contains the ",[611,87320,87321],{},"Difficulty"," of this specific state.",[34,87324,6547,87325,87328,87329,87332,87333,87336],{},[100,87326,87327],{},"System State Hash"," is calculated from all the header parameters, ",[9352,87330,87331],{},"including PoW",". Not to be confused with ",[611,87334,87335],{},"m_Definition",", it's different.",[34,87338,87339],{},"Note that when many such headers should be presented for consecutive states - there are 3 redundant elements:",[852,87341,87342,87348,87354],{},[59,87343,87344,87347],{},[611,87345,87346],{},"m_Prev"," - obviously equals to the Hash of the previous state",[59,87349,87350,87353],{},[611,87351,87352],{},"m_Height"," - just increased by 1",[59,87355,87356,87359],{},[611,87357,87358],{},"m_ChainWork"," - can be calculated from previous header, after adding the difficulty of this one.",[34,87361,87362,87363,1475,87366,87369,87370,87372],{},"So for those cases there are appropriate structures defined: ",[611,87364,87365],{},"SystemState::Sequence::Prefix",[611,87367,87368],{},"SystemState::Sequence::Element",". And the ",[611,87371,87245],{}," just inherits them both.",[48,87374,87375],{"id":25371},"PoW",[34,87377,87378],{},"BEAM uses equihash mining algorithm. It includes the following:",[852,87380,87381,87386,87392],{},[59,87382,87383],{},[611,87384,87385],{},"Difficulty m_Difficulty",[59,87387,87388,87391],{},[611,87389,87390],{},"m_Nonce"," - arbitrary 64-bit values",[59,87393,87394,87397],{},[611,87395,87396],{},"m_Indices"," - the solution, array of sorted indexes.",[34,87399,87400,87401,87403,87404,87407],{},"The input for the solver\u002Fverifier is constructed from all the Header fields, except the PoW solution itself. But it does include the ",[611,87402,87390],{}," and the ",[611,87405,87406],{},"m_Difficulty",". So that the difficulty must be selected before the mining, and can't be adjusted a-posteriori, if the solution eventually could reach higher difficulty (reached a smaller target).",[34,87409,87410,87412,87413,87416],{},[37,87411,9770],{},": The whole PoW parameters, including the solution, are accounted for in calculating the System State Hash. This is an intentional design decision, which ensures it's not possible to construct the chain of the system state headers without actually mining them, and then be able to mine only some specific states on-demand. This assumption is essential for ",[100,87414,87415],{},"FlyClient"," protocol.",[11,87418,87420],{"id":87419},"system-definition-hash","System Definition Hash",[34,87422,87423],{},"One of the most important parameters. The complete system state is constructed from the following data:",[852,87425,87426,87436,87441],{},[59,87427,87428,87429,87432,87433,181],{},"All the existing non-spent UTXOs, stored with the relevant parameters in an ",[611,87430,87431],{},"UtxoTree",", which is a variant of the ",[611,87434,87435],{},"RadixTree",[59,87437,87438,87439,181],{},"All the existing Kernels, stored in the ",[611,87440,87435],{},[59,87442,87443],{},"MMR of all the inherited system states.",[34,87445,87446],{},"The System Definition Hash is defined as:",[34,87448,87449],{},[611,87450,87451],{},"System-Definition-Hash = Hash [ InheritedStates.Root | Hash (UTXOs.Root | Kernels.Root) ]",[34,87453,87454],{},"After interpreting the appropriate block, the Full Node evaluates the actual System-Definition-Hash, and compares it with value in the State Header.",[34,87456,87457],{},"Note also that it's actually a root hash of the Merkle tree, whose elements are another Merkle trees. Using this property it's possible to generate and verify Merkle proofs for:",[852,87459,87460,87463,87466],{},[59,87461,87462],{},"Existing UTXO in the current system state",[59,87464,87465],{},"Existing Kernel",[59,87467,87468],{},"Inherited System State",[34,87470,87471],{},"All the Verifier needs is the proof, and the System Definition Hash. In addition to verifying the proof, the Verifier ensures the proof suffix is in accordance to the known part of the Merkle tree structure. Means:",[852,87473,87474,87477],{},[59,87475,87476],{},"For UTXOs and Kernels the Verifier knows the hashing direction of the last 2 elements.",[59,87478,87479],{},"For inherited System State the Verifier knows the whole Merkle path, hence all the hashing directions are deduced automatically.",[11,87481,87483],{"id":87482},"history-compression-macroblocks","History compression, Macroblocks",[34,87485,87486],{},"BEAM fully supports the excellent MW feature of history compression with removal of the spent outputs. However unlike what was written in the original MW whitepaper (published by monsieur Tom Elvis Jedusor) - there is no need to provide Merkle proofs or other supplementary info.",[34,87488,87489,87490,87493],{},"The \"compressed history\" in BEAM is actually just a one huge block, which we call a ",[100,87491,87492],{},"Macroblock",", which contains a single huge transaction, which is interpreted (almost) as a regular block\u002Ftransaction. And this is where the System Definition Hash is of critical importance.",[34,87495,87496],{},"No matter how big the compressed history is, the only thing that matters is the final system state, and it's verified according to the expected System Definition Hash. This is how the authenticity of the compressed history is verified.",[11,87498,87500],{"id":87499},"how-macroblocks-are-generated-and-used-in-beam","How Macroblocks are generated and used in BEAM",[34,87502,87503],{},"There is an implementation of the merging two consequent (macro)blocks. It's a sort of a \"merge sort\" of all the transaction elements (which must be sorted both in input and the resulting blocks), with removal of spent elements. Using this implementation an arbitrary number of blocks may be merged by recursive halving.",[34,87505,87506,87507,87510],{},"Our initial design was to generate and keep a ",[100,87508,87509],{},"cascade"," of macroblocks. Means, the Node each time merges several blocks at the tail, and then they are iteratively merged to the last merged macroblock, only if they are of the same complexity. This means at any moment we have a list of macroblocks of decreasing size, overall O(log(Height)) such blocks.",[34,87512,87513],{},"Then, to import a compressed history, the (other) Node downloads the most recent list of the consecutive macroblocks and interprets them according to their order.",[34,87515,87516],{},"But later we abandoned this idea, mostly because of the hassles for the client to download a list of the macroblocks, especially given the fact they are constantly created and deleted by the generating Node.",[34,87518,87519],{},"So currently the Node just creates a single macroblock once in a while (1 day by default), whereas the cascade-merge is used only internally by the Node to generate each time the new macroblock incrementally.\nWorth to note that during the macroblock generation, which can be a time-consuming operation, the Node is not paralyzed, and works as usual.",{"title":14,"searchDepth":15,"depth":15,"links":87521},[87522,87523,87524],{"id":87222,"depth":154,"text":87223},{"id":87244,"depth":154,"text":87245},{"id":25371,"depth":154,"text":87375},{},"\u002Fdocs\u002Fcore-tech\u002Fblocks-headers-system-states.-concept-relevant-structures-and-values",{"description":87197},"docs\u002Fcore-tech\u002FBlocks,-headers,-system-states.-Concept,-relevant-structures-and-values","Agz_tVO9hdI6lQRruDEq58zxW39FCqoqH19kh6QHTRg",{"id":87531,"title":87532,"body":87533,"description":14,"extension":17,"image":18,"meta":87783,"navTitle":18,"navigation":20,"path":87784,"seo":87785,"stem":87786,"__hash__":87787},"docs\u002Fdocs\u002Fcore-tech\u002FCold-wallet-implementation-(DEPRECATED).md","Cold wallet implementation",{"type":8,"value":87534,"toc":87767},[87535,87538,87542,87549,87564,87570,87578,87582,87585,87607,87611,87628,87632,87639,87643,87648,87655,87659,87662,87685,87688,87728,87732],[11,87536,87532],{"id":87537},"cold-wallet-implementation",[41,87539,87541],{"id":87540},"definitions","Definitions",[48,87543,87545,87548],{"id":87544},"cold-wallet",[37,87546,87547],{},"cold"," wallet",[852,87550,87551,87561],{},[59,87552,87553,87554,87557,87558],{},"can generate private keys, i.e. it has ",[100,87555,87556],{},"master key"," generated from ",[100,87559,87560],{},"seed phrase",[59,87562,87563],{},"has no connection with internet, as a result, it cannot send transactions to the node, and it cannot get proofs and notifications from the node",[48,87565,87567,87548],{"id":87566},"hot-wallet",[37,87568,87569],{},"hot",[852,87571,87572,87575],{},[59,87573,87574],{},"cannot generate any secrets from master key by the reason that it doesn't have it",[59,87576,87577],{},"has internet connection and can send\u002Fget messages from the node",[41,87579,87581],{"id":87580},"design","Design",[34,87583,87584],{},"The goal of this design is to get cold wallet scenario with minimal changes in existing codebase.",[34,87586,87587,87588,87590,87591,87593,87594,87597,87598,87600,87601,87603,87604,87606],{},"The main idea is to split wallet database (",[100,87589,3449],{},") onto two parts: public (",[100,87592,3449],{},") and private (",[100,87595,87596],{},"wallet.db.private","). The last one should hold master key generated from seed phrase.\n\"Cold\" wallet has both of these files, \"hot\" has public data only. To be able to make tranasctions with this setup user have to constantly move public ",[100,87599,3449],{}," file between \"cold\" and \"hot\" wallets. Since we override ",[100,87602,3449],{}," we have to stop \"hot\" wallet before we copy ",[100,87605,3449],{}," file from\u002Finto its folder",[48,87608,87610],{"id":87609},"changes","Changes",[56,87612,87613,87616,87622,87625],{},[59,87614,87615],{},"For \"Cold\" wallet we don't set up connection with the node.",[59,87617,87618,87619,87621],{},"\"Cold\" wallet stores all outgoing encrypted messages into public database (",[100,87620,3449],{},"), we subclass existing behavior with SBBS",[59,87623,87624],{},"Add a stage for processing stored incoming messages.",[59,87626,87627],{},"For \"hot\" wallet there is a need to add some checks if it has master key, also \"hot\" wallet has no ability to decrypt incoming SBBS messages, since it doesn't have private keys, so it has to store all incoming messages from the channel.",[41,87629,87631],{"id":87630},"usage","Usage",[34,87633,87634,87635,87638],{},"To tell wallet that it works in \"cold\" mode you have to add ",[611,87636,87637],{},"--cold_wallet"," parameter",[48,87640,87642],{"id":87641},"initialization-of-cold-wallet","Initialization of \"cold\" wallet",[34,87644,87645],{},[611,87646,87647],{},"beam-wallet init --cold_wallet",[34,87649,87650,87651,1475,87653],{},"This command will create two databases: ",[100,87652,3449],{},[100,87654,87596],{},[48,87656,87658],{"id":87657},"sending-from-cold-wallet","Sending from \"cold\" wallet",[34,87660,87661],{},"Pre-conditions:\nMake sure the cold wallet is synced. In order to do so, follow the next steps:",[56,87663,87664,87670,87673,87679],{},[59,87665,87666,87667,87669],{},"copy the ",[100,87668,3449],{}," file to the \"hot\" wallet's data folder.",[59,87671,87672],{},"launch the \"hot\" wallet and wait till it's synced.",[59,87674,87675,87676,87678],{},"stop the \"hot\" wallet, copy the ",[100,87677,3449],{}," file into the \"cold\" wallet folder.",[59,87680,87681,87682],{},"launch the \"cold\" wallet for listening.\n",[611,87683,87684],{},"beam-wallet listen --cold_wallet",[34,87686,87687],{},"Now as the \"cold\" wallet is synced, proceed with the next steps:",[56,87689,87690,87697,87703,87706,87712,87718,87723],{},[59,87691,87692,87693,87696],{},"In the cold wallet run the command:\n",[611,87694,87695],{},"beam-wallet send -a \u003Camount> -r\u003Creceiver address> -f \u003Cfee> --cold_wallet","\nNote: there is no need in node address in this case",[59,87698,87699,87700,87702],{},"copy ",[100,87701,3449],{}," file to \"hot\" wallet's data folder",[59,87704,87705],{},"launch \"hot\" wallet. It should send encrypted message to the node, also he may get encrypted message back.",[59,87707,87708,87709,87711],{},"stop \"hot\" wallet, copy ",[100,87710,3449],{}," file into \"cold\" wallet folder",[59,87713,87714,87715,87717],{},"launch \"cold\" wallet for listening\n",[611,87716,87684],{},"\nit should create a signed transaction kernel",[59,87719,87699,87720,87722],{},[100,87721,3449],{}," from \"cold\" to \"hot\"\nnew transaction should go to the node and got confirmed",[59,87724,87699,87725,87727],{},[100,87726,3449],{}," from \"hot\" to \"cold\"\n\"cold\" wallet should have actual balance and transactions statuses",[48,87729,87731],{"id":87730},"receiving-to-cold-wallet","Receiving to \"cold\" wallet",[56,87733,87734,87737,87742,87745,87751,87754,87759,87762],{},[59,87735,87736],{},"Generate new address in \"cold\" wallet and send it to the sender",[59,87738,87699,87739,87741],{},[100,87740,3449],{}," to \"hot\"",[59,87743,87744],{},"launch \"hot\" wallet. Note there will be no new transactions, since \"hot\" wallet cannot decrypt incoming messages",[59,87746,87747,87748,87750],{},"stop \"hot\". copy ",[100,87749,3449],{}," from \"hot\" to \"cold\"",[59,87752,87753],{},"launch \"cold\" wallet for listening, it should get new transaction and accept it.",[59,87755,87699,87756,87758],{},[100,87757,3449],{}," from \"cold\" to \"hot\"",[59,87760,87761],{},"launch \"hot\", wait until new transaction becomes completed",[59,87763,87699,87764,87766],{},[100,87765,3449],{}," \"hot\" to \"cold\" balance and transactions statuses should be correct.",{"title":14,"searchDepth":15,"depth":15,"links":87768},[87769,87775,87778],{"id":87540,"depth":15,"text":87541,"children":87770},[87771,87773],{"id":87544,"depth":154,"text":87772},"cold wallet",{"id":87566,"depth":154,"text":87774},"hot wallet",{"id":87580,"depth":15,"text":87581,"children":87776},[87777],{"id":87609,"depth":154,"text":87610},{"id":87630,"depth":15,"text":87631,"children":87779},[87780,87781,87782],{"id":87641,"depth":154,"text":87642},{"id":87657,"depth":154,"text":87658},{"id":87730,"depth":154,"text":87731},{},"\u002Fdocs\u002Fcore-tech\u002Fcold-wallet-implementation-(deprecated)",{"title":87532,"description":14},"docs\u002Fcore-tech\u002FCold-wallet-implementation-(DEPRECATED)","mrjRDY8eFUUnsC6RMeEcDrDhFI_9910x9Ys4dmpkaC8",{"id":87789,"title":878,"body":87790,"description":87794,"extension":17,"image":18,"meta":88581,"navTitle":18,"navigation":20,"path":88582,"seo":88583,"stem":88584,"__hash__":88585},"docs\u002Fdocs\u002Fcore-tech\u002FConfidential-assets.md",{"type":8,"value":87791,"toc":88570},[87792,87795,87804,87810,87812,87816,87834,87844,87852,87862,87867,87870,87875,87880,87888,87893,87902,87905,87910,87920,87927,87935,87945,87952,87955,87962,87965,87973,87978,87984,87988,87992,87998,88004,88009,88013,88020,88025,88039,88043,88055,88060,88067,88071,88074,88079,88082,88086,88093,88099,88105,88110,88115,88118,88122,88125,88129,88136,88140,88148,88152,88155,88159,88165,88171,88177,88182,88186,88189,88193,88198,88202,88209,88213,88216,88219,88225,88231,88237,88242,88246,88249,88253,88256,88260,88263,88267,88270,88274,88277,88284,88293,88299,88312,88319,88323,88328,88332,88337,88341,88350,88353,88359,88365,88368,88374,88380,88383,88389,88395,88398,88404,88410,88415,88421,88426,88437,88441,88451,88457,88461,88466,88470,88478,88482,88488,88492,88495,88499,88502,88506,88515,88519,88524,88528,88531,88534,88538,88543,88556,88560,88563,88567],[34,87793,87794],{},"This documents describes CLI Confidential Assets workflow.",[34,87796,87797,87798,87803],{},"Consult the ",[175,87799,87802],{"href":87800,"rel":87801},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FMW-CLA",[179],"MW CLA"," section for Confidential Assets implementation details.",[34,87805,87797,87806,87809],{},[175,87807,84292],{"href":84290,"rel":87808},[179]," section for API calls description. N.B. assets can be registered only via CLI.",[11,87811,10406],{"id":10405},[34,87813,87814],{},[37,87815,17995],{},[34,87817,87818,87819,87822,87823,87826,87827,87829,87830,87833],{},"Confidential Assets (hereinafter СA) support requires ",[611,87820,87821],{},"Fork2"," and at least ",[611,87824,87825],{},"v5.0"," CLI\u002FAPI. Any CA operation before ",[611,87828,87821],{}," would fail with the ",[611,87831,87832],{},"AssetsDisabledFork2 (45)"," error code.",[34,87835,87836,87837,87839,87840,87843],{},"In ",[611,87838,87825],{}," CA support is disabled by default to avoid compatibility issues. In the GUI wallet CA support cannot be enabled at the moment. All incoming CA transactions would be rejected by the GUI wallet with the ",[611,87841,87842],{},"AssetsDisabled (43)"," error code. Rejected CA transactions are not displayed by the GUI wallet. Full GUI assets support is planned for v5.1.",[34,87845,87846,87847,87849,87850,87833],{},"In the CLI and API ",[611,87848,4979],{}," flag should be specified to perform any CA transactions. Without this flag CA transactions would be rejected with the ",[611,87851,87842],{},[34,87853,87854,87855,11339,87858,87861],{},"Information about Assets UTXOs\u002FShielded Coins\u002FAssets Transactions\u002FAssets Summary can be displayed using ",[611,87856,87857],{},"--assets",[611,87859,87860],{},"--asset_id ID"," parameters added to the corresponding commands.",[34,87863,87864],{},[37,87865,87866],{},"Fees",[34,87868,87869],{},"All fees (transaction fees and registration deposit) are always paid in BEAM\u002FGroth. It is not possible to pay any fees using assets.",[34,87871,87872],{},[37,87873,87874],{},"Asset Owner",[34,87876,87877,87879],{},[611,87878,87874],{}," is the person (wallet) which registered the asset. Asset owner owns private key used for signing asset issue\u002Fconsume\u002Funreg operations. Only the asset owner can perform these operations.",[34,87881,87882],{},[175,87883,87885],{"name":87884},"assetid",[37,87886,87887],{},"Asset ID",[34,87889,87890,87892],{},[611,87891,87887],{}," is an unsigned integer associated with the asset. Asset is known to the world by its asset id. Asset operations are performed using its asset id. Node assigns asset id during the asset registration process and uses the first id available.",[34,87894,87895,87896,87901],{},"Technically there can be a situation when one asset is unregistered, asset id becomes available and the next registered asset takes the id that has been previously used. ",[175,87897,87899],{"href":87898},"#lock",[611,87900,4948],{}," is introduced to ensure that asset receiver would never receive an unexpected (forged) asset.",[34,87903,87904],{},"Asset ID of 0 is reserved and represents original BEAM.",[34,87906,87907],{},[37,87908,87909],{},"Asset Info",[34,87911,87912,87914,87915,6618],{},[611,87913,5347],{}," is information about the asset. It includes asset metadata, total emission and lock height. Asset info is received by the wallet automatically during asset transactions or can be requested manually using ",[175,87916,87918],{"href":87917},"#assetinfo",[611,87919,5352],{},[34,87921,87922,87923,87926],{},"Some parts of the asset info are valid only at the height the asset info has been received (",[611,87924,87925],{},"refresh height","). In subsequent blocks total asset emission can change or the asset become unregistered. Unregistering the asset invalidates all the information associated with the particular asset id.",[34,87928,87929],{},[175,87930,87932],{"name":87931},"limits",[37,87933,87934],{},"Limits",[34,87936,87937,87938,87940,87941,87944],{},"Maximum Asset emission is 2",[8009,87939,8011],{},"-1 asset nth units. Maximum amount for a single asset transaction (issue, consume, send, receive &c.) is 2",[8009,87942,87943],{},"64","-1 asset nth units.",[34,87946,87947],{},[175,87948,87950],{"name":87949},"lock",[37,87951,4948],{},[34,87953,87954],{},"Lock period is a timeframe when several asset operations are restricted for safety reasons. This ensures that asset is not changed during rollback and\u002For by the asset owner and that receiver of the asset would receive exactly the expected asset.",[34,87956,87957,87958,87961],{},"Asset becomes locked every time when its total emission reaches 0 or leaves 0. Currently lock period duration is set to ",[611,87959,87960],{},"1440"," blocks (24 hours roughly).",[34,87963,87964],{},"Restricted operations are the following:",[852,87966,87967,87970],{},[59,87968,87969],{},"Asset unreg",[59,87971,87972],{},"Asset send\u002Freceive",[34,87974,87975],{},[37,87976,87977],{},"Restore",[34,87979,87980,87981,87983],{},"General rules apply to the restore process. You can restore your UTXOs but not transactions. To restore shielded\nUTXOs node used for the restore process should be running with your owner key. Asset info is not restored automatically. You would need to execute the ",[611,87982,5352],{}," command for each restored asset manually after the restore process is completed.",[11,87985,87987],{"id":87986},"working-with-assets","Working with assets",[41,87989,87991],{"id":87990},"asset-registration","Asset registration",[34,87993,87994,87995,3862],{},"Before asset can be used it should be registered on chain using the ",[611,87996,87997],{},"asset_reg",[616,87999,88002],{"className":88000,"code":88001,"language":621},[619],".\u002Fbeam-wallet asset_reg --pass 1 -n 127.0.0.1:10000 --asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth;CUSTOM1=VAL1;CUSTOM2=VAL2\" --fee 100 --enable_assets \n",[611,88003,88001],{"__ignoreMap":14},[34,88005,88006,88007,5268],{},"You must specify your wallet password, node address, asset meta, optional transaction fee and add ",[611,88008,4979],{},[34,88010,88011],{},[37,88012,87866],{},[34,88014,88015,88016,88019],{},"There is a fixed fee for asset registration of 3000 BEAM. This fee is mandatory, cannot be changed and deduced from your wallet automatically. Registration fee ensures that the network would not be spammed with dummy assets. Registration fee is returned to the owner of the asset as soon as the asset is unregistered. So basically 3000 BEAM are locked for the asset lifetime. You must also pay regular transactions fees. The ",[611,88017,88018],{},"--fee"," param applies only to the transaction fee, not the registration fee.",[34,88021,88022],{},[37,88023,88024],{},"Asset meta",[34,88026,88027,88028,88031,88032,88038],{},"Asset meta is a byte buffer associated with the asset and stored on chain. It is provided on asset registration and cannot be changed afterwards. Currently CLI expects UTF8 string with several mandatory ",[611,88029,88030],{},"Key=Value"," pairs. It is not possible to register an asset without meta. Please consult the ",[175,88033,88035],{"href":30776,"rel":88034},[179],[611,88036,88037],{},"Asset Descriptor"," document for more details.",[34,88040,88041],{},[37,88042,87887],{},[34,88044,88045,88046,88048,88049,88054],{},"After successful asset registration it is associated with the ",[611,88047,87887],{}," issued by the node. Asset becomes known to the world by its ID. Asset id is used in any asset operations performed by any person. Asset owner can perform asset operations using as asset id or asset meta. Consult the ",[175,88050,88052],{"href":88051},"#assetid",[611,88053,87887],{}," section for more details.",[34,88056,88057],{},[37,88058,88059],{},"Lock Period",[34,88061,88062,88063,88054],{},"Immediately after the asset registration it becomes locked for 24h hours. Consult the ",[175,88064,88065],{"href":87898},[611,88066,4948],{},[34,88068,88069],{},[37,88070,1431],{},[34,88072,88073],{},"Transaction kernel including all the asset meta becomes visible to the world. Node would know that you\u002Fyour IP is the owner of the asset.",[34,88075,88076],{},[37,88077,88078],{},"API Restriction",[34,88080,88081],{},"Asset registration can be performed only via CLI. There is no API call for asset registration for safety reasons.",[41,88083,88085],{"id":88084},"asset-issue","Asset issue",[34,88087,88088,88089,88092],{},"After asset registration its total emission is set to 0. Before performing any asset transactions the owner must mint (issue) asset coins using the ",[611,88090,88091],{},"issue"," command. Only asset owner can mint asset coins.",[616,88094,88097],{"className":88095,"code":88096,"language":621},[619],".\u002Fbeam-wallet issue --pass 1 --asset_id 1 -n 127.0.0.1:10000 --amount 10 --fee 100 --enable_assets\n",[611,88098,88096],{"__ignoreMap":14},[616,88100,88103],{"className":88101,"code":88102,"language":621},[619],".\u002Fbeam-wallet issue --pass 1 --asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth;CUSTOM1=VAL1;CUSTOM2=VAL2\" -n 127.0.0.1:10000 --amount 10 --fee 100 --enable_assets\n",[611,88104,88102],{"__ignoreMap":14},[34,88106,88107,88108,5268],{},"You must specify your wallet password, node address, asset id or asset meta, issue amount, optional transaction fee and add ",[611,88109,4979],{},[34,88111,88112],{},[37,88113,88114],{},"Coins availability",[34,88116,88117],{},"New Asset coins cannot be used until the issue transaction is completed. Please ensure that the minting process is completed and new coins are present in your wallet and marked as available before sending them.",[34,88119,88120],{},[37,88121,87866],{},[34,88123,88124],{},"Asset emission is absolutely free. You can mint as many coins as you want. You pay only regular transaction fee.",[34,88126,88127],{},[37,88128,87934],{},[34,88130,87937,88131,88133,88134,87944],{},[8009,88132,8011],{},"-1 asset nth units. Maximum amount for a single issue transaction is 2",[8009,88135,87943],{},[34,88137,88138],{},[37,88139,88059],{},[34,88141,88142,88143,88147],{},"If after the issue operation total asset emission leaves 0 asset becomes locked. Consult the ",[175,88144,88145],{"href":87898},[611,88146,4948],{}," section for more details. Asset issue can be performed even if asset is locked. Subsequent asset issue operations do not extend the lock period.",[34,88149,88150],{},[37,88151,1431],{},[34,88153,88154],{},"Asset information is forcibly refreshed (received from node) during this operation. Operation fails if node doesn't confirm the asset. Transaction kernel including the issued asset amount and asset id becomes visible to the world. Node would know that you\u002Fyour IP is the owner of the asset.",[41,88156,88158],{"id":88157},"asset-consume","Asset consume",[34,88160,88161,88162,6618],{},"Owner of the asset can consume (burn) asset coins. To burn the asset you must both be the owner of the asset and the owner of the particular coin\u002Futxo. Asset can be consumed using the ",[611,88163,88164],{},"consume",[616,88166,88169],{"className":88167,"code":88168,"language":621},[619],".\u002Fbeam-wallet consume --pass 1 --asset_id 1 -n 127.0.0.1:10000 --amount 10 --fee 100 --enable_assets\n",[611,88170,88168],{"__ignoreMap":14},[616,88172,88175],{"className":88173,"code":88174,"language":621},[619],".\u002Fbeam-wallet consume --pass 1 --asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth;CUSTOM1=VAL1;CUSTOM2=VAL2\" -n 127.0.0.1:10000 --amount 10  --fee 100 --enable_assets\n",[611,88176,88174],{"__ignoreMap":14},[34,88178,88179,88180,5268],{},"You must specify your wallet password, node address, asset id or asset meta, consume amount, optional transaction fee and add ",[611,88181,4979],{},[34,88183,88184],{},[37,88185,87866],{},[34,88187,88188],{},"Asset consuming is absolutely free. You pay only regular transaction fee.",[34,88190,88191],{},[37,88192,87934],{},[34,88194,88195,88196,87944],{},"Maximum amount for a single consume transaction is 2",[8009,88197,87943],{},[34,88199,88200],{},[37,88201,88059],{},[34,88203,88204,88205,88054],{},"If after the consume operation total asset emission reaches 0 asset becomes locked. Consult the ",[175,88206,88207],{"href":87898},[611,88208,4948],{},[34,88210,88211],{},[37,88212,1431],{},[34,88214,88215],{},"Asset information is forcibly refreshed (received from node) during this operation. Operation fails if node doesn't confirm the asset. Transaction kernel including the consumed asset amount and asset id becomes visible to the world. Node would know that you\u002Fyour IP is the owner of the asset.",[41,88217,87969],{"id":88218},"asset-unreg",[34,88220,88221,88222,6618],{},"Asset can be unregistered from chain by the owner. To unregister the asset its emission should be 0 and it should be not locked. Asset is unregistered using the ",[611,88223,88224],{},"asset_unreg",[616,88226,88229],{"className":88227,"code":88228,"language":621},[619],".\u002Fbeam-wallet asset_unreg --pass 1 -n 127.0.0.1:10000 --asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth;CUSTOM1=VAL1;CUSTOM2=VAL2\" --fee 100  --enable_assets\n",[611,88230,88228],{"__ignoreMap":14},[616,88232,88235],{"className":88233,"code":88234,"language":621},[619],".\u002Fbeam-wallet asset_unreg --pass 1 -n 127.0.0.1:10000 --asset_id 1 --fee 100 --enable_assets\n",[611,88236,88234],{"__ignoreMap":14},[34,88238,88239,88240,5268],{},"You must specify your wallet password, node address, asset meta or asset id, optional transaction fee and add ",[611,88241,4979],{},[34,88243,88244],{},[37,88245,87866],{},[34,88247,88248],{},"Asset unregistration is free. You pay only regular transaction fee. This operation also returns 3000 BEAM locked during the asset registration.",[34,88250,88251],{},[37,88252,87887],{},[34,88254,88255],{},"Asset ID becomes free after this operation and can be reused by another asset.",[34,88257,88258],{},[37,88259,87934],{},[34,88261,88262],{},"Maximum amount for a single consume transaction is 264-1 asset nth units.",[34,88264,88265],{},[37,88266,1431],{},[34,88268,88269],{},"Asset information is forcibly refreshed (received from node) during this operation. Operation fails if node doesn't confirm the asset. Transaction kernel which includes asset id becomes visible to the world. Node would know that you\u002Fyour IP is the owner of the asset.",[34,88271,88272],{},[37,88273,88078],{},[34,88275,88276],{},"Asset unregistration can be performed only via CLI. There is no API call for asset unregistration for safety reasons.",[41,88278,88280],{"id":88279},"getting-asset-info",[175,88281,88283],{"name":88282},"assetinfo","Getting Asset Info",[34,88285,88286,88287,88289,88290,88292],{},"Asset info can be received from node using ",[611,88288,5352],{}," command for any asset registered on chain. ",[611,88291,5352],{}," command stores the received info in a local database for future usage.",[616,88294,88297],{"className":88295,"code":88296,"language":621},[619],".\u002Fbeam-wallet asset_info --pass 1 -n 127.0.0.1:10000 --asset_id 1 --enable_assets\n",[611,88298,88296],{"__ignoreMap":14},[34,88300,88301,88303,88304,88307,88308,11339,88310,15365],{},[611,88302,5352],{}," command always receives the latest information from node. To view locally stored information regular ",[611,88305,88306],{},"info"," command should be used with ",[611,88309,87857],{},[611,88311,87860],{},[34,88313,88314,88315,88318],{},"Asset owner can query asset info using asset meta (",[611,88316,88317],{},"--asset_meta \"STD:....\"",") as well. Non-owners can use only asset id.",[34,88320,88321],{},[37,88322,87866],{},[34,88324,88325,88327],{},[611,88326,5352],{}," operation is free. You do not pay any fees.",[34,88329,88330],{},[37,88331,1431],{},[34,88333,88334,88336],{},[611,88335,5352],{}," operation only communicates with the node and doesn't leave any traces in the blockchain. Node would know that particular IP has been interested in given asset.",[41,88338,88340],{"id":88339},"displaying-assets","Displaying Assets",[34,88342,88343,88344,88346,88347,88349],{},"By default CLI wallet doesn't display any information about assets you own or have. To view assets info, assets UTXOs & assets transactions ",[611,88345,87857],{}," (for all assets) or ",[611,88348,87860],{}," (for a specific asset) params should be used.",[34,88351,88352],{},"View asset info & asset UTXOs",[616,88354,88357],{"className":88355,"code":88356,"language":621},[619],".\u002Fbeam-wallet info --pass 1 --asset_id 1\n",[611,88358,88356],{"__ignoreMap":14},[616,88360,88363],{"className":88361,"code":88362,"language":621},[619],".\u002Fbeam-wallet info --pass 1 --assets\n",[611,88364,88362],{"__ignoreMap":14},[34,88366,88367],{},"View asset transactions",[616,88369,88372],{"className":88370,"code":88371,"language":621},[619],".\u002Fbeam-wallet info --pass 1 --asset_id 1 --tx_history\n",[611,88373,88371],{"__ignoreMap":14},[616,88375,88378],{"className":88376,"code":88377,"language":621},[619],".\u002Fbeam-wallet info --pass 1 --assets --tx_history\n",[611,88379,88377],{"__ignoreMap":14},[34,88381,88382],{},"View shielded (Lelantus) asset UTXOs",[616,88384,88387],{"className":88385,"code":88386,"language":621},[619],".\u002Fbeam-wallet info --pass 1 --asset_id 1 --shielded_utxos\n",[611,88388,88386],{"__ignoreMap":14},[616,88390,88393],{"className":88391,"code":88392,"language":621},[619],".\u002Fbeam-wallet info --pass 1 --assets --shielded_utxos\n",[611,88394,88392],{"__ignoreMap":14},[34,88396,88397],{},"View Shielded (Lelantus) Asset transactions",[616,88399,88402],{"className":88400,"code":88401,"language":621},[619],".\u002Fbeam-wallet info --pass 1 --asset_id 1 --shielded_tx_history\n",[611,88403,88401],{"__ignoreMap":14},[616,88405,88408],{"className":88406,"code":88407,"language":621},[619],".\u002Fbeam-wallet info --pass 1 --assets --shielded_tx_history\n",[611,88409,88407],{"__ignoreMap":14},[34,88411,88412],{},[37,88413,88414],{},"Enable flag",[34,88416,88417,88418,88420],{},"Asset info can be displayed without the ",[611,88419,4979],{}," flag",[34,88422,88423],{},[37,88424,88425],{},"Orphaned transactions",[34,88427,88428,88429,88432,88433,88436],{},"Asset transactions that do not include asset id would be displayed as ",[611,88430,88431],{},"orphaned",". This can occur when transaction has been started with ",[611,88434,88435],{},"--asset_meta"," param and no valid asset id has been associated with the transaction while it was running. For example it can happen if you have tried to register an asset but there is not enough BEAM to pay the registration fee.",[41,88438,88440],{"id":88439},"sending-assets","Sending assets",[34,88442,88443,88444,88446,88447,1475,88449,15365],{},"Asset can be sent using regular ",[611,88445,15797],{}," command. The only difference from regular BEAM transaction is the ",[611,88448,5265],{},[611,88450,4979],{},[616,88452,88455],{"className":88453,"code":88454,"language":621},[619],".\u002Fbeam-wallet -n 127.0.0.1:10000 --pass 1 --command send -r 1ec08b72ea25cd471ec37f9088a1ae0dcb8f4526eff3b8ab38f8e23901e2adf48a2 --amount 5 --asset_id 1 --enable_assets\n",[611,88456,88454],{"__ignoreMap":14},[34,88458,88459],{},[37,88460,87934],{},[34,88462,88463,88464,87944],{},"Maximum amount for a single send transaction is 2",[8009,88465,87943],{},[34,88467,88468],{},[37,88469,88414],{},[34,88471,88472,88473,88475,88476,87833],{},"Both sender and receiver should specify ",[611,88474,4979],{}," flag in command line otherwise transaction would fail with the ",[611,88477,87842],{},[34,88479,88480],{},[37,88481,4948],{},[34,88483,88484,88485,87833],{},"Asset cannot be sent to non-owner during the lock period. Transaction would be rejected by the receiving party with the ",[611,88486,88487],{},"AssetLocked (34)",[34,88489,88490],{},[37,88491,1431],{},[34,88493,88494],{},"Send transaction doesn't refresh asset info. Asset ID is hidden during the send transaction though it is visible that the transaction is performed on some asset. General Mimblewimble rules apply to the transaction. Amount, sender and receiver are not disclosed.",[41,88496,88498],{"id":88497},"receiving-assets","Receiving assets",[34,88500,88501],{},"Process of receiving assets is mostly identical to the receiving of regular BEAM.",[34,88503,88504],{},[37,88505,88414],{},[34,88507,88508,88509,88512,88513,87833],{},"CLI\u002FAPI receives assets automatically if it is running (listens) with the ",[611,88510,88511],{},"--assets_enable"," option. If assets are not enabled all incoming asset transaction would be rejected with the ",[611,88514,87842],{},[34,88516,88517],{},[37,88518,4948],{},[34,88520,88521,88522,87833],{},"Asset cannot be received by non-owner during the lock period. Transaction would be rejected by the receiving party with the ",[611,88523,88487],{},[34,88525,88526],{},[37,88527,1431],{},[34,88529,88530],{},"Receive operation does not refresh asset info if there are any unspent UTXOs of the asset being received in the wallet. If there are no unspent UTXOs asset info might be refreshed if wallet doesn't have info about the asset (first receive) or info is older than the lock period duration.",[34,88532,88533],{},"Asset ID is hidden during the receive transaction though it is visible that the transaction is performed on some asset. General Mimblewimble rules apply to the transaction. Amount, sender and receiver are not disclosed.",[41,88535,88537],{"id":88536},"lelantus-one-sided-payments","Lelantus & one-sided payments",[34,88539,88540],{},[37,88541,88542],{},"N.B. As of v5.1 basic lelantus operations (pull & push) are removed. The info below applies only to the v5.0",[34,88544,88545,88546,88548,88549,88551,88552,35399],{},"Lelantus transactions fully support confidential assets. To insert to\u002Fextract asset from pool ",[611,88547,87860],{}," option should be specified as well as ",[611,88550,4979],{}," flag. Refer ",[175,88553,88555],{"href":18581,"rel":88554},[179],"Lelantus CLI",[34,88557,88558],{},[37,88559,88059],{},[34,88561,88562],{},"Lock period rules do not apply to Lelantus transactions. Assets can be inserted to the pool and extracted from the pool at any time.",[34,88564,88565],{},[37,88566,1431],{},[34,88568,88569],{},"Asset info is never refreshed during Lelantus transactions. Amount and Asset ID is hidden though it is visible that the transaction is performed on some asset.",{"title":14,"searchDepth":15,"depth":15,"links":88571},[88572,88573,88574,88575,88576,88577,88578,88579,88580],{"id":87990,"depth":15,"text":87991},{"id":88084,"depth":15,"text":88085},{"id":88157,"depth":15,"text":88158},{"id":88218,"depth":15,"text":87969},{"id":88279,"depth":15,"text":88283},{"id":88339,"depth":15,"text":88340},{"id":88439,"depth":15,"text":88440},{"id":88497,"depth":15,"text":88498},{"id":88536,"depth":15,"text":88537},{},"\u002Fdocs\u002Fcore-tech\u002Fconfidential-assets",{"description":87794},"docs\u002Fcore-tech\u002FConfidential-assets","tcZ97Ct228fxYi2BNi5TgbFClBlcE-79TZSo3jhMZsY",{"id":88587,"title":88588,"body":88589,"description":88824,"extension":17,"image":18,"meta":88825,"navTitle":18,"navigation":20,"path":88826,"seo":88827,"stem":88828,"__hash__":88829},"docs\u002Fdocs\u002Fcore-tech\u002FConfidential-assets-(historical).md","Confidential Assets (historical)",{"type":8,"value":88590,"toc":88815},[88591,88597,88605,88610,88612,88622,88626,88639,88645,88662,88666,88673,88687,88690,88694,88701,88707,88711,88720,88723,88726,88730,88736,88747,88756,88760,88763,88770,88773,88776,88779],[34,88592,87797,88593,88596],{},[175,88594,87802],{"href":87800,"rel":88595},[179]," section for Confidential Assets implementation details",[34,88598,87797,88599,88604],{},[175,88600,88603],{"href":88601,"rel":88602},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FConfidential-assets-(BETA)",[179],"Confidential assets (BETA)\n"," section for the Confidential Assets tutorial",[34,88606,88607],{},[37,88608,88609],{},"THE TEXT BELOW IS KEPT FOR HISTORICAL REASONS",[3136,88611],{},[34,88613,88614,88615,1475,88618,88621],{},"MW can be extended to allows encoding multiple types of assets to be traded on the same blockchain. And it will only need a slight modifications to actually allow this.\nThere are two types of assets that can be implemented: ",[100,88616,88617],{},"predefined",[100,88619,88620],{},"custom",". Each type has its advantages and limitations.",[41,88623,88625],{"id":88624},"basic-idea","Basic idea",[34,88627,88628,88629,1475,88631,10139,88633,88635,88636,88638],{},"The UTXO is an EC point, which is a linear combination of two nums (nothing-up-my-sleeve) generators: ",[611,88630,1123],{},[611,88632,1146],{},[611,88634,1123],{}," is multiplied by the secret key (blinding factor), and the ",[611,88637,1146],{}," - by the value.",[34,88640,88641,88642,88644],{},"To allow multiple types of assets it's sufficient to use different generators (one per asset type) instead of the single ",[611,88643,1146],{},". There may be different schemes to represent such UTXOs, but in any of them the following should be taken into consideration:",[852,88646,88647,88656,88659],{},[59,88648,88649,88650,88655],{},"Those ",[9352,88651,88652],{},[37,88653,88654],{},"must"," be nums-generators, and the verifier should be able to verify this.",[59,88657,88658],{},"The verifier should be able to verify the rangeproof. Means - the bulletproof should be adjusted accordingly.",[59,88660,88661],{},"There should be a brief scheme for the emission of the assets.",[41,88663,88665],{"id":88664},"predefined-asset-types","Predefined asset types",[34,88667,88668,88669,181],{},"This idea belongs to Andrew Poelstra. Described ",[175,88670,1248],{"href":88671,"rel":88672},"https:\u002F\u002Fblockstream.com\u002F2017\u002F04\u002F03\u002Fblockstream-releases-elements-confidential-assets.html",[179],[34,88674,88675,88676,88678,88679,88682,88683,88686],{},"Each UTXO should carry a ",[100,88677,58795],{},", which is an EC point, which defines the asset type. The great advantage of this scheme is that all the tags are ",[37,88680,88681],{},"blinded",". Means - anyone can verify that this tag corresponds to one of the defined asset types, but not to which of them exactly. This is achieved by using Andrew Poelstra's ",[9352,88684,88685],{},"Asset Surjection Proof",", which has a modest size compared to the bulletproof for a reasonably-small set of asset types.",[34,88688,88689],{},"The set of the asset types, as well as their emission schedule, must be defined for the blockchain. Any change to this will require a fork.",[48,88691,88693],{"id":88692},"another-variant","Another variant",[34,88695,88696,88697,88700],{},"Another possible way to implement this is to encode all the asset types within a single UTXO. That is, each UTXO is presumably a linear combination of all the generators at once. In this design ",[100,88698,88699],{},"tags"," are not needed.",[34,88702,88703,88704,88706],{},"The drawback here is the increased complexity and size of the bulletproofs, which seem to be dramatic. So that the idea with ",[100,88705,88699],{},", whereas an UTXO encodes only a single asset type - seems to be better.",[41,88708,88710],{"id":88709},"custom-asset-types","Custom asset types",[34,88712,88713,88714,88716,88717,88719],{},"In addition there is a possibility to allow ",[100,88715,88620],{}," assets, which any user can emit and trade. As in the previous scheme, such UTXOs should carry a ",[100,88718,58795],{},", which corresponds to the asset type. But this time those tags can't be blinded perfectly. All the user can do is present a set of tags, and prove that the used tag is one of them.",[34,88721,88722],{},"So that custom tags should either be visible, or partially obfuscated. The encoded amount, naturally, is fully concealed.",[34,88724,88725],{},"Now, since there are no predefined generators used for custom asset types, there should be a way for the verified to make sure each such a generator is actually a nums-generator. This is addressed by the following scheme.",[48,88727,88729],{"id":88728},"asset-control","Asset control",[34,88731,88732,88733,88735],{},"To create a custom asset type the user generates a public\u002Fprivate key pair. The public key serves as an ",[100,88734,87887],{},", and the generator used for this asset type is derived from the ID via hashing, so that it may be considered as a sound nums-generator.",[34,88737,88738,88739,88742,88743,88746],{},"The user controls the emission and collection of the asset. The user can ",[100,88740,88741],{},"convert"," some amount of the master asset type (i.e. BEAM) into his\u002Fher type by a special instruction, which is signed by the corresponding ",[37,88744,88745],{},"private"," key. For convenience it can be embedded into the transaction kernel.",[34,88748,88749,88751,88752,88755],{},[37,88750,9127],{}," The conversion is only needed to prevent bloat. The user effectively ",[100,88753,88754],{},"buys"," his\u002Fher coins, but they are refundable. Only the user is be able to trade the unspent assets back to collect the refund. If the bloat is not an issue - it's possible to allow the emission for free.",[11,88757,88759],{"id":88758},"final-design","Final design",[34,88761,88762],{},"The BEAM should support both the predefined and custom assets.",[34,88764,88765,88766,88769],{},"There should be several predefined asset types, which are automatically emitted by every new block. Their difference is the ",[9352,88767,88768],{},"emission schedule",". There should be one with constant emission, one with capped emission. Possibly another one with declining but non-converging (e.i. not capped) emission.",[34,88771,88772],{},"This is equivalent to having several coin types suitable for instant payment, store of value, and etc.",[34,88774,88775],{},"Custom asset tags are not emitted automatically, they're explicitly traded for one of the predefined types.",[34,88777,88778],{},"The modifications needed to support all this is considerable, but straightforward. The following should be modified:",[852,88780,88781,88784,88787,88801],{},[59,88782,88783],{},"Tags should be added to UTXOs",[59,88785,88786],{},"For predefined types: Assert Surjection proofs should be added to UTXOs",[59,88788,88789,88790],{},"For custom types:\n",[852,88791,88792,88795],{},[59,88793,88794],{},"Assert Surjection proofs may optionally be used, in addition to a list of the possible asset types.",[59,88796,88797,88798,88800],{},"Another possibility - they should not be blinded, and contain the ",[100,88799,87887],{}," explicitly.",[59,88802,88803,88804],{},"Transaction\u002FBlock verification:\n",[852,88805,88806,88809,88812],{},[59,88807,88808],{},"Bulletproof code should be modified to support custom generators (probably slight performance degradation)",[59,88810,88811],{},"Custom type conversion instruction should be supported, but this is straightforward (only alters the summation to zero criteria)",[59,88813,88814],{},"Block emission should be handled w.r.t. predefined types and their emission schedule.",{"title":14,"searchDepth":15,"depth":15,"links":88816},[88817,88818,88821],{"id":88624,"depth":15,"text":88625},{"id":88664,"depth":15,"text":88665,"children":88819},[88820],{"id":88692,"depth":154,"text":88693},{"id":88709,"depth":15,"text":88710,"children":88822},[88823],{"id":88728,"depth":154,"text":88729},"Consult the MW CLA section for Confidential Assets implementation details",{},"\u002Fdocs\u002Fcore-tech\u002Fconfidential-assets-(historical)",{"description":88824},"docs\u002Fcore-tech\u002FConfidential-assets-(historical)","InvZ6zOCyTRdUpKRBOjnvrtdytia3_YIYZIGjhBHb9g",{"id":88831,"title":88832,"body":88833,"description":14,"extension":17,"image":18,"meta":88946,"navTitle":18,"navigation":20,"path":88947,"seo":88948,"stem":88949,"__hash__":88950},"docs\u002Fdocs\u002Fcore-tech\u002FContribution-Guidelines.md","Beam Contribution Guidelines",{"type":8,"value":88834,"toc":88935},[88835,88838,88842,88845,88848,88855,88859,88862,88870,88874,88877,88880,88913,88917,88920,88924,88926,88929,88933],[11,88836,88832],{"id":88837},"beam-contribution-guidelines",[41,88839,88841],{"id":88840},"introduction","Introduction",[34,88843,88844],{},"Beam is an open source project, and as such welcomes developers to contribute. In order to simplify and organize this process we have written this short contribution guide that explains the key principles of contributing to Beam project.",[34,88846,88847],{},"For any questions you might have regarding the process please contact Beam CTO at alex at beam.mw or @bigromanov on Telegram or @BeamCTO on Twitter.",[34,88849,88850,88851],{},"For more specific questions please contact developer team on Telegram: ",[175,88852,88853],{"href":88853,"rel":88854},"https:\u002F\u002Ft.me\u002Fbeamdevsupport",[179],[41,88856,88858],{"id":88857},"projects-overview","Projects overview",[34,88860,88861],{},"We are planning on initially supporting contributions to the following projects:",[56,88863,88864,88867],{},[59,88865,88866],{},"Beam Desktop UI Wallet (C++ \u002F QT) - described in this document",[59,88868,88869],{},"Beam Web Wallet Chrome Extension (JS \u002F Angular) instructions coming soon",[48,88871,88873],{"id":88872},"beam-desktop-ui-wallet","Beam Desktop UI Wallet",[34,88875,88876],{},"This is a UI for the Beam Desktop Wallet. It uses the underlying libwallet library and wraps it with user interface implemented with QT framework.",[34,88878,88879],{},"To contribute to this project please follow the steps below:",[56,88881,88882,88890,88904,88907,88910],{},[59,88883,88884,88885],{},"Setup your dev environment, checkout and build the project using the ",[175,88886,88889],{"href":88887,"rel":88888},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam-ui\u002Fwiki\u002FHow-to-build-Beam-desktop-UI",[179],"Building Instructions",[59,88891,88892,88893,10328,88898,88903],{},"Explore tasks in the currently active project on the ",[175,88894,88897],{"href":88895,"rel":88896},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam-ui\u002Fprojects",[179],"projects page",[175,88899,88902],{"href":88900,"rel":88901},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam-ui\u002Fprojects\u002F1",[179],"Eager Electron 5.1"," at the time of the writing)",[59,88905,88906],{},"Look for tasks marked with the 'help wanted' label. Of course you are also welcome to contribute to other tasks as well",[59,88908,88909],{},"Write a comment clarifying that you are starting to work on the task and providing a very rough estimate how much time you expect to spend on it.",[59,88911,88912],{},"If the task does not have a clearly assigned bounty in the task description please contact @bigromanov on Telegram, or email alex at beam.mw",[48,88914,88916],{"id":88915},"beam-web-wallet-extension","Beam Web Wallet Extension",[34,88918,88919],{},"Coming soon....",[41,88921,88923],{"id":88922},"coding-guidelines","Coding guidelines",[48,88925,841],{"id":836},[34,88927,88928],{},"Coming soon",[48,88930,88932],{"id":88931},"js-angular","JS \u002F Angular",[34,88934,88928],{},{"title":14,"searchDepth":15,"depth":15,"links":88936},[88937,88938,88942],{"id":88840,"depth":15,"text":88841},{"id":88857,"depth":15,"text":88858,"children":88939},[88940,88941],{"id":88872,"depth":154,"text":88873},{"id":88915,"depth":154,"text":88916},{"id":88922,"depth":15,"text":88923,"children":88943},[88944,88945],{"id":836,"depth":154,"text":841},{"id":88931,"depth":154,"text":88932},{},"\u002Fdocs\u002Fcore-tech\u002Fcontribution-guidelines",{"title":88832,"description":14},"docs\u002Fcore-tech\u002FContribution-Guidelines","DaBJk6KvuoFVFQZxEbZkE7-4bx2eVYsIjOkQKnzVNJw",{"id":88952,"title":88953,"body":88954,"description":14,"extension":17,"image":18,"meta":89405,"navTitle":18,"navigation":20,"path":89406,"seo":89407,"stem":89408,"__hash__":89409},"docs\u002Fdocs\u002Fcore-tech\u002FCore-transaction-elements.md","Core data types used in BEAM:",{"type":8,"value":88955,"toc":89398},[88956,88959,89005,89009,89012,89041,89045,89047,89108,89112,89120,89123,89137,89146,89150,89152,89227,89231,89234,89242,89245,89250,89254,89261,89264,89268,89270,89294,89298,89301,89312,89319,89324,89327,89332,89336,89339,89361,89364,89371,89375,89381,89387,89392],[11,88957,88953],{"id":88958},"core-data-types-used-in-beam",[852,88960,88961,88966,88974,88979,88985,88991,88996],{},[59,88962,88963,88965],{},[611,88964,24383],{}," - 64-bit unsigned integer",[59,88967,88968,88971,88972],{},[611,88969,88970],{},"HeightRange"," - a pair of ",[611,88973,24383],{},[59,88975,88976,88965],{},[611,88977,88978],{},"Timestamp",[59,88980,88981,88984],{},[611,88982,88983],{},"Amount"," - used to denote the value of a single UTXO. 64-bit unsigned integer",[59,88986,88987,88990],{},[611,88988,88989],{},"AmountBig"," - used to denote the value of an arbitrary number of UTXOs. Consists of 2 64-bit unsigned integer (i.e. equivalent to 128-bit integer)",[59,88992,88993,88995],{},[611,88994,87321],{}," - 32-bit encoding of a floating-point number. 8 bits for order, 24 bits for mantissa.",[59,88997,88998,89001,89002,89004],{},[611,88999,89000],{},"Difficulty::Raw"," - 256-bit unsigned integer. Represents an \"unpacked\" ",[611,89003,87321],{}," on a linear scale. Used to represent the chainwork (sum of difficulties).",[11,89006,89008],{"id":89007},"input-utxo","Input UTXO",[34,89010,89011],{},"Consists of the following:",[852,89013,89014,89024],{},[59,89015,89016,89019],{},[611,89017,89018],{},"ECC::Point m_Commitment",[852,89020,89021],{},[59,89022,89023],{},"A commitment to the UTXO (which is supposed to exist in the system)",[59,89025,89026,89029],{},[611,89027,89028],{},"Height m_Maturity",[852,89030,89031,89034],{},[59,89032,89033],{},"Optional field to specify the maturity of the UTXO being-spent.",[59,89035,89036,89037,89040],{},"Used only in ",[100,89038,89039],{},"Macroblocks"," (compressed history block), more about this later. Illegal to use in transactions.",[11,89042,89044],{"id":89043},"output-utxo","Output UTXO",[34,89046,89011],{},[852,89048,89049,89058,89071,89081,89091],{},[59,89050,89051,89053],{},[611,89052,89018],{},[852,89054,89055],{},[59,89056,89057],{},"A commitment to the UTXO (which is supposed to be created in a transaction)",[59,89059,89060,89062],{},[611,89061,89028],{},[852,89063,89064,89067],{},[59,89065,89066],{},"Optional field to specify the maturity of the created UTXO.",[59,89068,89036,89069,89040],{},[100,89070,89039],{},[59,89072,89073,89076],{},[611,89074,89075],{},"bool m_Coinbase",[852,89077,89078],{},[59,89079,89080],{},"Must be set iff it's a coinbase UTXO.",[59,89082,89083,89086],{},[611,89084,89085],{},"Height m_Incubation",[852,89087,89088],{},[59,89089,89090],{},"Optional field. If specified - the number of extra blocks (in addition to standard system rules) until the UTXO becomes mature.",[59,89092,89093,89094],{},"UTXO Signature. Must be one of the following:\n",[852,89095,89096,89102],{},[59,89097,89098,89101],{},[611,89099,89100],{},"ECC::RangeProof::Confidential"," - a confidential signature (Bulletproof)",[59,89103,89104,89107],{},[611,89105,89106],{},"ECC::RangeProof::Public"," - a public signature, with the Amount visible.",[48,89109,89111],{"id":89110},"utxo-signature","UTXO Signature",[852,89113,89114,89117],{},[59,89115,89116],{},"Coinbase UTXO must have a public signature (the Amount explicitly specified).",[59,89118,89119],{},"Non-coinbase UTXO - depends on the system rules. In the current configuration all non-coinbase UTXOs are enforced to have a confidential signature, but may also be configured to allow public signatures.",[34,89121,89122],{},"The confidential signature is implemented in terms of a Bulletproof. The public signature consists of the following:",[852,89124,89125,89131],{},[59,89126,89127,89130],{},[611,89128,89129],{},"Amount m_Value"," - the explicit value",[59,89132,89133,89136],{},[611,89134,89135],{},"ECC::Signature m_Signature"," - a Schnorr's signature for the UTXO blinding factor.",[34,89138,89139,89141,89142,89145],{},[37,89140,9770],{},": the ",[611,89143,89144],{},"m_Incubation"," field is accounted in the UTXO signature, to prevent tampering.",[11,89147,89149],{"id":89148},"transaction-kernel","Transaction Kernel",[34,89151,89011],{},[852,89153,89154,89164,89173,89183,89193,89203,89213],{},[59,89155,89156,89159],{},[611,89157,89158],{},"ECC::Point m_Excess",[852,89160,89161],{},[59,89162,89163],{},"The transaction excess (public)",[59,89165,89166,89168],{},[611,89167,89135],{},[852,89169,89170],{},[59,89171,89172],{},"The Schnorr's signature for the whole kernel body, signed with the transaction excess (secret)",[59,89174,89175,89178],{},[611,89176,89177],{},"Amount m_Fee",[852,89179,89180],{},[59,89181,89182],{},"Transaction fee",[59,89184,89185,89188],{},[611,89186,89187],{},"uint64_t m_Multiplier",[852,89189,89190],{},[59,89191,89192],{},"Optional field, used in a scheme where a kernel may be consumed (more about this later)",[59,89194,89195,89198],{},[611,89196,89197],{},"HeightRange m_Height",[852,89199,89200],{},[59,89201,89202],{},"Optional: the transaction timelock parameters (min\u002Fmax height for being valid in the block)",[59,89204,89205,89208],{},[611,89206,89207],{},"uintBig m_HashLock",[852,89209,89210],{},[59,89211,89212],{},"Optional: a hashlock. An arbitrary 256-bit value which is hashed, and then accounted in the kernel signature",[59,89214,89215,89218],{},[611,89216,89217],{},"m_vNested",[852,89219,89220],{},[59,89221,89222,89223,89226],{},"Optional: an array of ",[100,89224,89225],{},"nested"," kernels. More about this later.",[41,89228,89230],{"id":89229},"kernel-signature","Kernel Signature",[34,89232,89233],{},"The Hash of the kernel is evaluated, and then it's signed by the Schnorr's signature. The Hash evaluation formula is:",[11818,89235,89236],{},[616,89237,89240],{"className":89238,"code":89239,"language":621},[619],"M = m_Fee | m_Height | m_Excess | m_Multiplier;\nif Hashlock specified\nM = M | true | Hash(Hashlock.Preimage);\nelse\n  M = M | false;\n\nFor each Nested Kernel\n   M = M | true | (Nested Kernel).ID;\n\nM = M | false\n\nKernelHash = Hash(M)\n",[611,89241,89239],{"__ignoreMap":14},[34,89243,89244],{},"The formula accounts for all the members except except the signature. It's also unambiguous (i.e. explicit separation for optional input fields).",[34,89246,89247,89249],{},[37,89248,9770],{},": The excess, which is a signature public key, is also included. This is an intentional design decision, to make the kernel's excess also immutable after it has been signed (otherwise any party could modify the excess and keep the signature correct).",[41,89251,89253],{"id":89252},"kernel-id","Kernel ID",[34,89255,89256,89257,89260],{},"According to the system rules every kernel has a unique ID (duplicate IDs are banned). Its value is identical to the ",[611,89258,89259],{},"KernelHash",", except there are \"forbidden\" values, which are reserved for the internal system use. So if the kernel ID happens to be equal to a forbidden value (which is highly unlikely), its value is mutated.",[34,89262,89263],{},"Currently the only forbidden value is 0.",[11,89265,89267],{"id":89266},"transaction","Transaction",[34,89269,89011],{},[852,89271,89272,89275,89278,89286,89289],{},[59,89273,89274],{},"Input UTXOs",[59,89276,89277],{},"Output UTXOs",[59,89279,89280,89281],{},"Input Kernels\n",[852,89282,89283],{},[59,89284,89285],{},"This is the BEAM extension - kernels may also be consumed! More about this later.",[59,89287,89288],{},"Output Kernels",[59,89290,89291],{},[611,89292,89293],{},"ECC::Scalar m_Offset",[41,89295,89297],{"id":89296},"context-free-transaction-validation","Context-free Transaction validation",[34,89299,89300],{},"The following is validated:",[852,89302,89303,89306,89309],{},[59,89304,89305],{},"All the transaction elements (UTXOs, Kernels) must be specified in a well-defined order (there's a comparison function for each transaction element type).",[59,89307,89308],{},"Each element must have a valid signature",[59,89310,89311],{},"Timelocks of all the kernels must be valid for the current height",[34,89313,89314,89315,89318],{},"Next, we define the ",[780,89316,89317],{},"Σ"," as a sum of all outputs minus all inputs:",[34,89320,89321,89323],{},[780,89322,89317],{}," = Σ(UTXO-Out.Commit) - Σ(UTXO-In.Commit) + Σ(Kernel-Out.Excess) - Σ(Kernel-In.Excess) + m_Offset · G",[34,89325,89326],{},"In case of transaction validation there are transaction fees that are considered lost, i.e. they are implicit outputs. So, the validation formula is:",[34,89328,89329,89331],{},[780,89330,89317],{}," + Σ(Fees)·H = 0",[11,89333,89335],{"id":89334},"block-body","Block body",[34,89337,89338],{},"Contains all that is included in a transaction. In addition:",[852,89340,89341,89351],{},[59,89342,89343,89346],{},[611,89344,89345],{},"AmountBig m_Subsidy",[852,89347,89348],{},[59,89349,89350],{},"explicit Amount created by this block (Coinbase and, possibly, other types of subsidy)",[59,89352,89353,89356],{},[611,89354,89355],{},"bool m_SubsidyClosing",[852,89357,89358],{},[59,89359,89360],{},"If set - means from the next block only coinbase subsidy should be allowed",[34,89362,89363],{},"Since blocks may be arbitrary large (when merged) - there are different underlying techniccal representations of the Block body. In a simple case it contains just arrays of all the transaction elements (like a Transaction object). But larger blocks don't keep all the data pre-loaded, instead it's read sequentially from files.",[34,89365,89366,89367,89370],{},"There is an ",[611,89368,89369],{},"Transaction::IReader"," interface used to iterate sequentially over the transaction elements, and it's used by the context-free validation code, regardless to the actual data representation details.",[41,89372,89374],{"id":89373},"context-free-block-body-validation","Context-free Block body validation",[34,89376,89377,89378,89380],{},"The block body is validated similar to a transaction, keeping in mind however that this may be a ",[100,89379,87492],{},", i.e. a merged block for a specific height range (applicable to the Timelock validation of kernels).",[34,89382,89383,89384,89386],{},"Then ",[780,89385,89317],{}," is calculated. But in contrast to transaction the Fees should not be added, because they must have already been consumed by explicit output UTXO(s) (injected by the miner). Instead the explicit Subsidy must be accounted as an input. Hence the formula is:",[34,89388,89389,89391],{},[780,89390,89317],{}," - m_Subsidy·H = 0",[34,89393,89394,89395,89397],{},"In addition the Verifier must verify that the Coinbase UTXOs are properly tagged, and unspent unless the coinbase maturity is reached.\nFor a single block verification the sum of all Coinbase UTXO amount must be equal to the single block Coinbase emission as defined by the system rules.\nFor ",[100,89396,87492],{}," verification the Verifier should take into account that some Coinbase UTXOs may have already been spent.",{"title":14,"searchDepth":15,"depth":15,"links":89399},[89400,89401,89402,89403,89404],{"id":89110,"depth":154,"text":89111},{"id":89229,"depth":15,"text":89230},{"id":89252,"depth":15,"text":89253},{"id":89296,"depth":15,"text":89297},{"id":89373,"depth":15,"text":89374},{},"\u002Fdocs\u002Fcore-tech\u002Fcore-transaction-elements",{"title":88953,"description":14},"docs\u002Fcore-tech\u002FCore-transaction-elements","dz8r5byddMW1tJbDBCrvMRq3-3kze_wAbj5dZ1LkB2U",{"id":89411,"title":89412,"body":89413,"description":89734,"extension":17,"image":18,"meta":89735,"navTitle":18,"navigation":20,"path":89736,"seo":89737,"stem":89738,"__hash__":89739},"docs\u002Fdocs\u002Fcore-tech\u002FCryptographic-primitives.md","Cryptographic Primitives",{"type":8,"value":89414,"toc":89725},[89415,89422,89454,89457,89514,89521,89523,89526,89546,89549,89552,89555,89561,89564,89568,89571,89577,89583,89587,89590,89592,89604,89617,89683,89687,89690],[34,89416,89417,89418,89421],{},"Cryptographic primitives used by BEAM are based on the ",[611,89419,89420],{},"secp256k1"," library (the one that is used in bitcoin). Naturally it uses the same elliptic curve equation. The following primitives are used directly:",[852,89423,89424,89430,89436,89442,89448],{},[59,89425,89426,89429],{},[611,89427,89428],{},"secp256k1_gej"," - Basic curve point arithmetics: point addition, doubling, negation, import\u002Fexport to a platform-ndependent format.",[59,89431,89432,89435],{},[611,89433,89434],{},"secp256k1_scalar"," - Scalar arithmetics: addition, multiplication, inverse",[59,89437,89438,89441],{},[611,89439,89440],{},"secp256k1_sha256_t"," - SHA-256 hash",[59,89443,89444,89445,2344],{},"Cryptographic nonce generation (",[611,89446,89447],{},"nonce_function_rfc6979",[59,89449,89450,89453],{},[611,89451,89452],{},"secp256k1_hmac_sha256_t"," - HMAC (message authentication)",[34,89455,89456],{},"The following cryptographic functions and schemes are built over them:",[852,89458,89459,89499,89502,89505,89508,89511],{},[59,89460,89461,89462],{},"Point multiplication (by a scalar).\n",[852,89463,89464,89478],{},[59,89465,89466,89467],{},"There are different multiplication modes and scenarios:\n",[852,89468,89469,89472,89475],{},[59,89470,89471],{},"Secure\u002FFast",[59,89473,89474],{},"Point may be either known in advance (a.k.a. Generator, prepared for multiplication) or \"casual\".",[59,89476,89477],{},"Aggregation: when many points are multiplied by scalars and summed - an appropriate effective algorithm is used.",[59,89479,89480,89481,89483,89484],{},"The reason that this functionality is implemented in BEAM and not taken directly from ",[611,89482,89420],{}," is the following:\n",[852,89485,89486,89489,89496],{},[59,89487,89488],{},"We'd like to have more low-level control of the primitives to implement advanced schemes",[59,89490,89491,89492,89495],{},"We need more generators: Standard secp256k1 supports just two (",[611,89493,89494],{},"G,H","), whereas we need many more (131)",[59,89497,89498],{},"No effective aggregation implementation",[59,89500,89501],{},"Commitments (encoded amount with the blinding factor)",[59,89503,89504],{},"Schnorr's signatures (including multi-sig)",[59,89506,89507],{},"Bulletproofs (including multi-sig and batch verification)",[59,89509,89510],{},"Secure communication channels",[59,89512,89513],{},"Secure BBS messaging system",[34,89515,89516,89517,89520],{},"In addition there's a ",[611,89518,89519],{},"uintBig"," - a \"big integer\" (arbitrary width), supports basic arithmetics and shift operations (not including division). The number is represented as an array of bytes in a big-endian byte order. Platform-independent, serialized as-is.\nImplementation is very straight-forward, not for performance-critical tasks.",[41,89522,1150],{"id":1149},[34,89524,89525],{},"The Hash refers to the SHA-256 hash, unless otherwise specified. Used in various schemes. When hashing some data, it's fed in a way that is both platform-independent and unambiguous. This is achieved by the following specifications:",[852,89527,89528,89531,89534,89540,89543],{},[59,89529,89530],{},"1-byte data is fed as-is",[59,89532,89533],{},"Boolean values are encoded as a single byte with value either 0 or 1.",[59,89535,89536,89537,89539],{},"Strings are fed as-is, ",[9352,89538,87289],{}," the 0-terminator (to prevent ambiguity for consequent strings).",[59,89541,89542],{},"Numerical types (fixed-point) are stored as a variable-length byte sequence, with a special terminator mark. This ensures platform independence (integers may have varying width across different platforms).",[59,89544,89545],{},"Non-primitive types are converted into the platform-independent binary format for hashing.",[34,89547,89548],{},"The following objects are derived from hash (built over them)",[48,89550,10693],{"id":89551},"oracle",[34,89553,89554],{},"Oracle is used in non-interactive cryptographic proofs, it's supposed to produce cryptographic challenges in a deterministic way, based on the visible transcript to the moment.",[34,89556,89557,89558,89560],{},"In BEAM Oracle uses the Hash in a straightforward way. All the visible transcript is hashed. Once the challenge is needed - the hash value is finalized, the result is the challenge, and it's immediately re-fed to the Hash. So that the new challenge construction (if needed) is generated from the visible transcript, ",[9352,89559,87289],{}," the previous challenge.",[34,89562,89563],{},"If there are restrictions for the challenge (such as it should be non-overflowing, non-zero scalar, or a valid x-coordinate of a curve point) - the Finalize-Re-feed is called in a loop, until the satisfying challenge is produced (i.e. accept\u002Freject strategy is used).",[48,89565,89567],{"id":89566},"nonce-generator","Nonce Generator",[34,89569,89570],{},"Also used in cryptographic proofs, but, unlike Oracle, the nonce generation involves secret data, and should not be possible to reconstruct by others.",[34,89572,89573,89574,89576],{},"In BEAM Nonce generator is a combination of an Oracle, and the nonce function initialized by the secret data. That is, the Oracle accounts for all the visible transcript. When a nonce is needed - first it's received from the Oracle, and then passed as an input to the nonce function (implemented in (",[611,89575,89420],{},"), which also uses the secret data.",[34,89578,89579,89580,89582],{},"The final nonce generation function implemented in ",[611,89581,89420],{}," actually a modified HMAC-SHA-256 scheme.",[48,89584,89586],{"id":89585},"kdf-key-derivation-function","KDF - Key derivation function",[34,89588,89589],{},"All the private keys are generated via KDF. In BEAM it's implemented via the Nonce generator, which is initialized once by the master secret data. The requested key parameters (key index, type\u002Fsubtype, etc.) are hashed and then the output is generated by the standard Nonce generator initialized with the master secret.",[41,89591,16853],{"id":16852},[34,89593,89594,89595,10139,89598,89600,89601,89603],{},"Implemented according to the standard, the \"long\" version, compatible with batch verification. Consists of a pair ",[611,89596,89597],{},"[P,k]",[611,89599,1411],{}," is an arbitrary EC point, and ",[611,89602,16988],{}," is the blinded private key. Supports multisignature of course.",[34,89605,89606,89607,89609,89610,89613,89614,5102],{},"Specifically the scheme is the following. Given a message hash ",[611,89608,1252],{},", private key ",[611,89611,89612],{},"sk",", public key ",[611,89615,89616],{},"pk = G * sk",[852,89618,89619,89664],{},[59,89620,89621,89622],{},"Prover\n",[852,89623,89624,89634,89640,89646,89652,89658],{},[59,89625,89626,89627,10139,89630,89633],{},"Generate a nonce ",[611,89628,89629],{},"nk = Nonce(sk, M)",[611,89631,89632],{},"Nonce()"," is the standard nonce generating function.",[59,89635,89636,89637],{},"Calculate: ",[611,89638,89639],{},"P = nk*G",[59,89641,89642,89643],{},"Expose to Oracle: ",[611,89644,89645],{},"P, M",[59,89647,89648,89649,89651],{},"Get the challenge ",[611,89650,997],{}," from Oracle.",[59,89653,89654,89655],{},"Calculate ",[611,89656,89657],{},"k = - nk - e*sk",[59,89659,89660,89661],{},"Signature: ",[611,89662,89663],{},"[P, k]",[59,89665,89666,89667],{},"Verifier\n",[852,89668,89669,89673,89677],{},[59,89670,89642,89671],{},[611,89672,89645],{},[59,89674,89648,89675,89651],{},[611,89676,997],{},[59,89678,89679,89680],{},"Verify: ",[611,89681,89682],{},"k*G + e*Pk + P == 0",[41,89684,89686],{"id":89685},"binary-platform-independent-representation-of-the-ecc-primitives","Binary platform-independent representation of the ECC primitives",[34,89688,89689],{},"The following are the primitives:",[852,89691,89692,89705],{},[59,89693,89694,89695],{},"ECC Scalar\n",[852,89696,89697,89702],{},[59,89698,89699,89700,8764],{},"256-bits wide integer, representing the number in a big-endian format (via ",[611,89701,89519],{},[59,89703,89704],{},"Deserialization ensures the number is indeed a valid scalar, i.e. strictly less than modulo-prime, to prevent ambiguity",[59,89706,89707,89708],{},"ECC Point\n",[852,89709,89710,89713,89719,89722],{},[59,89711,89712],{},"Represented as an X-coordinate, and a Y-parity flag (1 bit).",[59,89714,89715,89716,89718],{},"The X-coordinate is serialized via ",[611,89717,89519],{}," (similar to scalar).",[59,89720,89721],{},"To recover the Y-coordinate one must solve a quadratic equation, which, naturally has 2 solutions. This is where Y-parity flag is used.",[59,89723,89724],{},"When serialized individually the data is padded to a byte boundary (means the Y-parity bit takes the whole byte). However in some complex data types those flags are merged and stored separately (Ex: Bulletproofs).",{"title":14,"searchDepth":15,"depth":15,"links":89726},[89727,89732,89733],{"id":1149,"depth":15,"text":1150,"children":89728},[89729,89730,89731],{"id":89551,"depth":154,"text":10693},{"id":89566,"depth":154,"text":89567},{"id":89585,"depth":154,"text":89586},{"id":16852,"depth":15,"text":16853},{"id":89685,"depth":15,"text":89686},"Cryptographic primitives used by BEAM are based on the secp256k1 library (the one that is used in bitcoin). Naturally it uses the same elliptic curve equation. The following primitives are used directly:",{},"\u002Fdocs\u002Fcore-tech\u002Fcryptographic-primitives",{"description":89734},"docs\u002Fcore-tech\u002FCryptographic-primitives","QrYkU0VBi7iZaKxJxxmRHOi-w15hbL6UprUHzMglhk8",{"id":89741,"title":89742,"body":89743,"description":89747,"extension":17,"image":18,"meta":89830,"navTitle":18,"navigation":20,"path":89831,"seo":89832,"stem":89833,"__hash__":89834},"docs\u002Fdocs\u002Fcore-tech\u002FDMMR-internal-layout.md","DMMR Internal Layout",{"type":8,"value":89744,"toc":89828},[89745,89748,89755,89778,89781,89787,89790,89793,89796,89825],[34,89746,89747],{},"In Merkle trees there are leaf nodes that are added explicitly, and appropriate non-leaf nodes which are created on-demand.",[34,89749,89750,89751,89754],{},"Our DMMR consists of ",[100,89752,89753],{},"Elements"," of variable size, whereas each new element internally contains all the supposed non-leaf nodes. Technically element consists of:",[56,89756,89757,89760,89775],{},[59,89758,89759],{},"Hashes of the assumed non-leaf nodes",[59,89761,89762,89765,89766],{},[100,89763,89764],{},"Pointers"," to the elements that contain the siblings assumed by the above non-leaf nodes.\n",[852,89767,89768],{},[59,89769,89770,89771,89774],{},"By ",[100,89772,89773],{},"pointers"," we mean the information used to access the element, not necessarily the memory pointer.",[59,89776,89777],{},"A pointer to the last element of the previous MMR peak.",[34,89779,89780],{},"For example, consider and MMR containing 10 items:",[616,89782,89785],{"className":89783,"code":89784,"language":621},[619],"                         *\n                        \u002F \\\n                       \u002F   \\\n                      \u002F     \\\n                     \u002F       \\\n                    \u002F         \\\n                   \u002F           \\\n                  \u002F             \\\n                 \u002F               \\\n                \u002F                 \\\n               \u002F                   \\\n              \u002F                     \\\n             *                       *\n            \u002F \\                     \u002F \\\n           \u002F   \\                   \u002F   \\\n          \u002F     \\                 \u002F     \\\n         \u002F       \\               \u002F       \\\n        \u002F         \\             \u002F         \\\n       *           *           *           *           *\n      \u002F \\         \u002F \\         \u002F \\         \u002F \\         \u002F \\\n     \u002F   \\       \u002F   \\       \u002F   \\       \u002F   \\       \u002F   \\\n    0     1     2     3     4     5     6     7     8     9\n",[611,89786,89784],{"__ignoreMap":14},[34,89788,89789],{},"In our DMMR this is represented by the following data:",[34,89791,89792],{},"[[\u002Fimages\u002Fdmmr1.png]]",[34,89794,89795],{},"There are 10 elements of varying size, denoted by different colors. Rectangles outline the data and the non-leaf hashes of which the elements comprise. Lines denote pointers to the parent elements. We see the following:",[852,89797,89798,89801,89804,89818],{},[59,89799,89800],{},"Elements with odd index contain extra hashes, denoted by asterisk (*). The number of hashes equals to the height of the formed peak.",[59,89802,89803],{},"For every extra hash there is also a pointer to the last element of the appropriate sibling node.",[59,89805,89806,89807],{},"Most of the elements in addition have a pointer to the last element of the previous MMR peak, denoted by a curly line.\n",[852,89808,89809,89812],{},[59,89810,89811],{},"The exceptions are elements at position 0, 1, 3, 7, because they are last elements of the only peak.",[59,89813,89814,89815,89817],{},"This is obviously the property of elements at positions 2",[8009,89816,1352],{},"-1.",[59,89819,89820,89821,89824],{},"The only element that contains no data is the 1",[8009,89822,89823],{},"st",", at position 0.",[34,89826,89827],{},"It's easy to see that each element has access to all the parent elements and their datas. Hence it can be used as an effective MMR implementation with all the relevant functionality, such as calculating the root, and generating proofs.",{"title":14,"searchDepth":15,"depth":15,"links":89829},[],{},"\u002Fdocs\u002Fcore-tech\u002Fdmmr-internal-layout",{"description":89747},"docs\u002Fcore-tech\u002FDMMR-internal-layout","99mIRX1rkHIyMr9agqh4gdEWTHpZ0877JiaGHFxy59c",{"id":89836,"title":89837,"body":89838,"description":89842,"extension":17,"image":18,"meta":90372,"navTitle":18,"navigation":20,"path":90373,"seo":90374,"stem":90375,"__hash__":90376},"docs\u002Fdocs\u002Fcore-tech\u002FEthash-verification-in-contracts.md","Ethash Verification In Contracts",{"type":8,"value":89839,"toc":90366},[89840,89843,89846,89851,89859,89868,89871,89875,89878,89938,89954,89957,89960,89964,89970,89973,89983,89986,89989,90003,90007,90013,90078,90094,90100,90106,90109,90129,90132,90136,90139,90155,90158,90162,90165,90175,90178,90181,90184,90195,90199,90202,90205,90313,90316,90320,90323,90331,90334,90361,90364],[34,89841,89842],{},"To implement trustless bridges between Beam and other blockchains there's a need to verify the headers of the appropriate blockchains in the contract. For a PoW-based blockchain there's a need to verify the appropriate header PoW.",[34,89844,89845],{},"Ethereum mined according to Ethash PoW algorithm. Turns out not only mining, but even the verification of Ethash is a complex task for a contract.",[34,89847,89848],{},[37,89849,89850],{},"UPDATE: (2021-05-09)",[34,89852,89853,89854,181],{},"Turns out a very similar idea has already been elaborated by ",[175,89855,89858],{"href":89856,"rel":89857},"https:\u002F\u002Fblog.kyber.network\u002Fwaterloo-a-decentralized-practical-bridge-between-eos-and-ethereum-c25b1698f010",[179],"Kyber",[34,89860,89861,89862,89867],{},"And threre's a ",[175,89863,89866],{"href":89864,"rel":89865},"https:\u002F\u002Fnear.org\u002Ftechnology\u002F",[179],"Rainbow Ethereum-NEAR Rainbow Bridge"," deployed using this technology.",[34,89869,89870],{},"While the idea is very similar, there are significant differences in the implementation. Our version is somewhat more efficient (in both proof size and verification times) since we use a more sophisticated variation of the Merkle proofs.",[11,89872,89874],{"id":89873},"ethash","Ethash",[34,89876,89877],{},"Ethash is designed to be memory-hard. Its hi-level design:",[852,89879,89880,89887,89918],{},[59,89881,89882,89883,89886],{},"Mining parameters (a.k.a. ",[100,89884,89885],{},"Epoch",") are changed each 30K blocks (roughly 5.2 days)",[59,89888,89889,89890,89892,89893,89896,89897],{},"For the current ",[100,89891,89885],{}," a ",[100,89894,89895],{},"Cache"," is generated, which as a pseudo-random opaque data set.\n",[852,89898,89899,89908,89911],{},[59,89900,89901,89902,89904,89905,181],{},"Its size is gradually increased with each ",[100,89903,89885],{},", as of today its size is roughly ",[37,89906,89907],{},"70MB",[59,89909,89910],{},"The cache generation is deliberately complex. Each element depends on the previous (so that it can't be parallelized), and CPU-intensive hash function is used.",[59,89912,89913,89914,89917],{},"As for today it takes ",[37,89915,89916],{},"several seconds"," to calculate on a typical desktop machine.",[59,89919,89920,89921,33530,89924],{},"There is a much larger data set that can be calculated from the cache (a.k.a. ",[100,89922,89923],{},"DAG",[852,89925,89926,89932,89935],{},[59,89927,89928,89929],{},"As for today the cache size is roughly ",[37,89930,89931],{},"4GB",[59,89933,89934],{},"Each element calculation is deliberately complex. Involves CPU-intensive hash functions, and pseudo-random access of cache.",[59,89936,89937],{},"Elements however are independent",[34,89939,89940,89941,89943,89944,89947,89948,89950,89951,89953],{},"The PoW puzzle is to find a ",[100,89942,16222],{},", from which a 64-element-long pseudo-random ",[100,89945,89946],{},"Path"," is derived, whose last element together with the ",[100,89949,16222],{}," reaches the difficulty target. It is assumed that effective miner should have the ",[100,89952,89923],{}," in memory, and probe different pseudo-random paths until the needed difficulty target is reached. To verify the PoW only the cache is needed. The chosen path elements can effectively be calculated from the cache (since they are independent).",[34,89955,89956],{},"So that, unlike most of the other blockchains, Ethash verification demands significant memory. Once the cache is prepared, the PoW verification is reasonably fast, but still may be considerable if many headers should be verified at once.",[34,89958,89959],{},"For native Ethereum clients this is not a problem. Normally they interpret blocks\u002Fheaders sequentially (perhaps with slight reorgs), so that the cache can be generated once and kept in memory for ~5 days. The complexity of verification of a header (tens of milliseconds) is also acceptable.",[11,89961,89963],{"id":89962},"why-ethash-verification-is-hard-in-contract","Why Ethash verification is hard in contract",[34,89965,89966,89967,89969],{},"First of, the cache is needed. As we mentioned it has size roughly ",[37,89968,89907],{}," (as for today), and computation time of several seconds, even if done natively. This is totally unrealistic for contracts, which are deliberately restricted in both available memory and running time.",[34,89971,89972],{},"One strategy to solve this problem (that we tried) is to provide contracts a special bvm function. It would be like this:",[616,89974,89977],{"className":89975,"code":89976,"language":841,"meta":14,"style":14},"language-C++ shiki shiki-themes github-dark","hash256 get_EthashDagEndpoint(int epochNumber, hash512 seed);\n",[611,89978,89979],{"__ignoreMap":14},[6995,89980,89981],{"class":244,"line":6997},[6995,89982,89976],{},[34,89984,89985],{},"The bvm implementation would generate and keep the cache for the specified Epoch in memory, and interpret the needed path for the contract. The rest of the header verification (seed derivation, difficulty test, etc.) can be done inside the contract.",[34,89987,89988],{},"This strategy however has the following drawbacks:",[852,89990,89991,89994,89997,90000],{},[59,89992,89993],{},"Adding very specialized functions to the bvm is a drawback. We prefer to keep the functions very generic, and avoid specialized functions unless there's no other option.",[59,89995,89996],{},"Unlike native Ethereum clients, it's not possible to assume that only the current Epoch would be needed. Contracts might need to process headers from the past, as well as headers from different sidechains with different heights.",[59,89998,89999],{},"Calculating the cache for each requested Epoch is heavy. Pre-calculating and keeping many of them in the local storage is unrealistic too for most of the clients, because of the considerable cache size of each Epoch.",[59,90001,90002],{},"Since the contract may want to process many Ethereum headers at once, the performance may be complex even with prepared cache.",[11,90004,90006],{"id":90005},"our-strategy","Our strategy",[34,90008,90009,90010,5102],{},"First let's study the pseudo-code of the supposed ",[611,90011,90012],{},"get_EthashDagEndpoint",[616,90014,90016],{"className":89975,"code":90015,"language":841,"meta":14,"style":14},"hash256 get_EthashDagEndpoint(int epochNumber, hash512 seed)\n{\n    Init MyState from seed;\n    loop 64 times:\n    {\n        derive Index from MyState;\n        get hash1024 Element from DAG of the specified epoch at position Index;\n        mutate MyState by Element\n    }\n\n    derive Hash256 MixHash from MyState;\n    return  MixHash;\n}\n",[611,90017,90018,90023,90027,90032,90037,90041,90046,90051,90056,90060,90064,90069,90074],{"__ignoreMap":14},[6995,90019,90020],{"class":244,"line":6997},[6995,90021,90022],{},"hash256 get_EthashDagEndpoint(int epochNumber, hash512 seed)\n",[6995,90024,90025],{"class":244,"line":15},[6995,90026,7001],{},[6995,90028,90029],{"class":244,"line":154},[6995,90030,90031],{},"    Init MyState from seed;\n",[6995,90033,90034],{"class":244,"line":7033},[6995,90035,90036],{},"    loop 64 times:\n",[6995,90038,90039],{"class":244,"line":7044},[6995,90040,7537],{},[6995,90042,90043],{"class":244,"line":7107},[6995,90044,90045],{},"        derive Index from MyState;\n",[6995,90047,90048],{"class":244,"line":7120},[6995,90049,90050],{},"        get hash1024 Element from DAG of the specified epoch at position Index;\n",[6995,90052,90053],{"class":244,"line":7133},[6995,90054,90055],{},"        mutate MyState by Element\n",[6995,90057,90058],{"class":244,"line":7146},[6995,90059,7615],{},[6995,90061,90062],{"class":244,"line":7159},[6995,90063,14371],{"emptyLinePlaceholder":20},[6995,90065,90066],{"class":244,"line":7172},[6995,90067,90068],{},"    derive Hash256 MixHash from MyState;\n",[6995,90070,90071],{"class":244,"line":7185},[6995,90072,90073],{},"    return  MixHash;\n",[6995,90075,90076],{"class":244,"line":7198},[6995,90077,7047],{},[34,90079,90080,90081,90084,90085,90088,90089,90091,90092,181],{},"Note that this code can basically be implemented in the contract. The ",[611,90082,90083],{},"MyState"," mutation and consequent ",[611,90086,90087],{},"Index"," derivation are pretty simple (use fast hash function). The problem of course is getting the element from the ",[100,90090,89923],{}," at the requested ",[611,90093,90087],{},[34,90095,90096,90097,181],{},"The idea is to provide those elements for the verification. Means in order to verify the header, in addition to the header itself, the prover would include those 64 1024-bit elements of the path for the contract. Then the contract would repeat the same path and compute the same ",[611,90098,90099],{},"MixHash",[34,90101,90102,90103,90105],{},"The question is how can the contract verify that the provided elements of the ",[100,90104,89923],{}," are indeed correct. For this the Prover would include the Merkle multi-element proof (more about this later).",[34,90107,90108],{},"So that the contract gets:",[852,90110,90111,90114,90119],{},[59,90112,90113],{},"The header.",[59,90115,90116,90117,181],{},"64 elements from the ",[100,90118,89923],{},[59,90120,90121,90122,90124,90125,90128],{},"Merkle proof that proves that the above elements are indeed part of the ",[100,90123,89923],{},", and (",[9352,90126,90127],{},"importantly!",") they are at the asserted positions.",[34,90130,90131],{},"So, in order to deploy and use contracts written in this way the following is needed:",[48,90133,90135],{"id":90134},"setup","Setup.",[34,90137,90138],{},"For each epoch:",[852,90140,90141,90152],{},[59,90142,90143,90144,90146,90147],{},"calculate the ",[100,90145,89923],{},", build a Merkle tree, and save it locally.\n",[852,90148,90149],{},[59,90150,90151],{},"to reduce the space the lower levels of the tree may be omitted. Each omitted level saves x2 space, and increases x2 the complexity of the consequent proof generations.",[59,90153,90154],{},"Calculate and save the Merkle tree root.",[34,90156,90157],{},"Practically the total number of Epochs can be limited to 1024. This will cover all the headers from the very beginning up to year 2030.",[48,90159,90161],{"id":90160},"deploy-the-contract","Deploy the contract.",[34,90163,90164],{},"For each Epoch the contract has (hard-coded) the following:",[852,90166,90167,90172],{},[59,90168,90169,90170,181],{},"The size of the ",[100,90171,89923],{},[59,90173,90174],{},"Merkle root.",[34,90176,90177],{},"Alternatively instead of storing this data for each Epoch, we can build yet another Merkle tree. By such the contract would only need a single Merkle root. Then, during the verification, one more Merkle proof would be necessary to verify this specific Epoch params.",[48,90179,5763],{"id":90180},"using",[34,90182,90183],{},"To invoke the contract method that is supposed verify the Ethereum header the following is performed by the caller:",[852,90185,90186,90189,90192],{},[59,90187,90188],{},"Simulate the PoW verification locally. Obtain the 64 Elements that are needed for the path as well as deduce their indexes.",[59,90190,90191],{},"Build the Merkle multi-element proof for those elements, given their indexes.",[59,90193,90194],{},"Concatenate the elements and the Merkle proof, to form a single unified proof.",[41,90196,90198],{"id":90197},"merkle-multi-element-proof","Merkle multi-element proof",[34,90200,90201],{},"The goal is to prove that the specified subset of elements is a part of the original set. A naive way to accomplish this would be providing a separate Merkle proof for each element, which is essentially a set of hashes, by interpreting which the verifier should calculate and verify the Merkle root for each element individually. This is suboptimal however, since hashes are likely to repeat (i.e. show up in proof for different elements). Instead of doing this the prover would provide the minimal set of hashes, by using which the verifier would calculate the Merkle root only once.",[34,90203,90204],{},"In our specific case the verifier knows both the original data set size, and the asserted indexes (positions) of the elements in its subset. We designed our protocol such that it proves not only the existence of those elements in the original set, but also their positions. The simplified verifier pseudo-code would look like this:",[616,90206,90208],{"className":89975,"code":90207,"language":841,"meta":14,"style":14},"Hash get_Root(Set myElements, int rangeBegin, int rangeSize)\n{\n    if myElements is empty\n        \u002F\u002F this is where the prover is supposed to provide the complementary sibling hash\n        return next Hash from the attached proof;\n        \n    if rangeSize == 1\n        \u002F\u002F if the myElements contains more than 1 element (i.e. original set of elements contains collisions, unlikely but possible) - make sure they are all equal.\n        return Evaluate hash from myElements[0];\n    \n    \u002F\u002F split the range\n    rangeSize \u002F= 2;\n    \n    int pivot = rangeBegin + rangeSize;\n    \n    Split myElements into 2 subsets myElementsLo and myElementsHi, according to pivot;\n    \n    Hash hashLo = get_Root(myElementsLo, rangeBegin, rangeSize);\n    Hash hashHi = get_Root(myElementsHi, pivot, rangeSize);\n    \n    return Hash(hashLo | hashHi);\n}\n",[611,90209,90210,90215,90219,90224,90229,90234,90238,90243,90248,90253,90258,90263,90268,90272,90277,90281,90286,90290,90295,90300,90304,90309],{"__ignoreMap":14},[6995,90211,90212],{"class":244,"line":6997},[6995,90213,90214],{},"Hash get_Root(Set myElements, int rangeBegin, int rangeSize)\n",[6995,90216,90217],{"class":244,"line":15},[6995,90218,7001],{},[6995,90220,90221],{"class":244,"line":154},[6995,90222,90223],{},"    if myElements is empty\n",[6995,90225,90226],{"class":244,"line":7033},[6995,90227,90228],{},"        \u002F\u002F this is where the prover is supposed to provide the complementary sibling hash\n",[6995,90230,90231],{"class":244,"line":7044},[6995,90232,90233],{},"        return next Hash from the attached proof;\n",[6995,90235,90236],{"class":244,"line":7107},[6995,90237,14554],{},[6995,90239,90240],{"class":244,"line":7120},[6995,90241,90242],{},"    if rangeSize == 1\n",[6995,90244,90245],{"class":244,"line":7133},[6995,90246,90247],{},"        \u002F\u002F if the myElements contains more than 1 element (i.e. original set of elements contains collisions, unlikely but possible) - make sure they are all equal.\n",[6995,90249,90250],{"class":244,"line":7146},[6995,90251,90252],{},"        return Evaluate hash from myElements[0];\n",[6995,90254,90255],{"class":244,"line":7159},[6995,90256,90257],{},"    \n",[6995,90259,90260],{"class":244,"line":7172},[6995,90261,90262],{},"    \u002F\u002F split the range\n",[6995,90264,90265],{"class":244,"line":7185},[6995,90266,90267],{},"    rangeSize \u002F= 2;\n",[6995,90269,90270],{"class":244,"line":7198},[6995,90271,90257],{},[6995,90273,90274],{"class":244,"line":7211},[6995,90275,90276],{},"    int pivot = rangeBegin + rangeSize;\n",[6995,90278,90279],{"class":244,"line":7220},[6995,90280,90257],{},[6995,90282,90283],{"class":244,"line":7226},[6995,90284,90285],{},"    Split myElements into 2 subsets myElementsLo and myElementsHi, according to pivot;\n",[6995,90287,90288],{"class":244,"line":7238},[6995,90289,90257],{},[6995,90291,90292],{"class":244,"line":7250},[6995,90293,90294],{},"    Hash hashLo = get_Root(myElementsLo, rangeBegin, rangeSize);\n",[6995,90296,90297],{"class":244,"line":7263},[6995,90298,90299],{},"    Hash hashHi = get_Root(myElementsHi, pivot, rangeSize);\n",[6995,90301,90302],{"class":244,"line":7275},[6995,90303,90257],{},[6995,90305,90306],{"class":244,"line":7288},[6995,90307,90308],{},"    return Hash(hashLo | hashHi);\n",[6995,90310,90311],{"class":244,"line":7300},[6995,90312,7047],{},[34,90314,90315],{},"The prover interprets this according to the same logic. It just doesn't evaluate anything, and provides the appropriate Merkle tree hashes when needed.",[11,90317,90319],{"id":90318},"pros-and-cons","Pros and cons",[34,90321,90322],{},"Pros:",[852,90324,90325,90328],{},[59,90326,90327],{},"No need for specialilzed support functions. Hence no additional threat of abuse and etc.",[59,90329,90330],{},"Header verification is reasonably fast.",[34,90332,90333],{},"Cons:",[852,90335,90336,90341],{},[59,90337,90338,90339,181],{},"To invoke the contract the prover needs to generate and process the ",[100,90340,89923],{},[59,90342,90343,90344],{},"The proof size is considerable.\n",[852,90345,90346,90349,90352,90355],{},[59,90347,90348],{},"The needed elements take 8K (64 elements, 1024 bits == 128 bytes each)",[59,90350,90351],{},"The Merkle proof size varies, but seems to be around 1100-1200 hashes for all the elements.",[59,90353,90354],{},"We decided to use 160-bit hashes, to reduce the proof size, yet have decent security.",[59,90356,90357,90358],{},"The overall proof size is about ",[37,90359,90360],{},"30KB",[34,90362,90363],{},"Overall this solution seems very practical. The proof size, albeit considerable, is not prohibitively large. With our current block size limitation of 1MB it's possible to verify up to tens of Ethereum headers at once.\nThe verification time is reasonably fast too (actually faster than normal verification even with cache prepared). Dominated by the hashing, for which there are native functions provided by the bvm.",[8692,90365,14730],{},{"title":14,"searchDepth":15,"depth":15,"links":90367},[90368,90369,90370,90371],{"id":90134,"depth":154,"text":90135},{"id":90160,"depth":154,"text":90161},{"id":90180,"depth":154,"text":5763},{"id":90197,"depth":15,"text":90198},{},"\u002Fdocs\u002Fcore-tech\u002Fethash-verification-in-contracts",{"description":89842},"docs\u002Fcore-tech\u002FEthash-verification-in-contracts","p9pwmjAWa07_F9bsyBGYGwbSoR4MuVCZPa5ubNYJqCU",{"id":90378,"title":90379,"body":90380,"description":14,"extension":17,"image":18,"meta":90757,"navTitle":18,"navigation":20,"path":90758,"seo":90759,"stem":90760,"__hash__":90761},"docs\u002Fdocs\u002Fcore-tech\u002FExchange-Pool-integration-guide.md","Exchange\u002FPool integration guide",{"type":8,"value":90381,"toc":90747},[90382,90385,90387,90391,90394,90447,90465,90473,90486,90490,90496,90501,90508,90514,90521,90526,90532,90540,90545,90551,90562,90572,90576,90581,90586,90591,90602,90606,90618,90620,90623,90680,90683,90691,90700,90703,90715,90722,90726,90729,90732,90736,90740],[11,90383,90379],{"id":90384},"exchangepool-integration-guide",[41,90386,21956],{"id":21955},[41,90388,90390],{"id":90389},"getting-binaries","Getting binaries",[34,90392,90393],{},"First of all, define the network you'd like to \"play\" with:",[852,90395,90396,90417,90436],{},[59,90397,90398,90401,90402,90406,90407,90412,90413,2344],{},[611,90399,90400],{},"mainnet"," - it's the latest released production version, working with real money and you can get binaries from the ",[175,90403,90405],{"href":2228,"rel":90404},[179],"official website",", see ",[175,90408,90411],{"href":90409,"rel":90410},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Freleases",[179],"Github Releases"," or build yourself from the sources of (",[175,90414,90416],{"href":11634,"rel":90415},[179],"mainnet branch",[59,90418,90419,90422,90423,90426,90427,90430,90431,181],{},[611,90420,90421],{},"testnet"," - to check the features will be released soon to production and  you can get binaries from the ",[175,90424,90405],{"href":90425},"\u002Fdownloads\u002Ftestnet","\n, see ",[175,90428,90411],{"href":90409,"rel":90429},[179]," or build from the ",[175,90432,90435],{"href":90433,"rel":90434},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Ftestnet",[179],"testnet branch",[59,90437,90438,90441,90442,181],{},[611,90439,90440],{},"master"," - to see the latest changes in development build the ",[175,90443,90446],{"href":90444,"rel":90445},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmaster",[179],"master branch",[34,90448,90449,90450,90454,90455,2231,90458,2231,90461,90464],{},"Here are ",[175,90451,90453],{"href":6000,"rel":90452},[179],"detailed instructions on how to build a project"," for ",[100,90456,90457],{},"Windows",[100,90459,90460],{},"Linux",[100,90462,90463],{},"Mac"," platforms .",[11818,90466,90467],{},[34,90468,17817,90469,90472],{},[611,90470,90471],{},"-DBEAM_NO_QT_UI_WALLET=On"," command line parameter to the Cmake if you need only CLI version of the wallet without UI and QT5 library dependencies.",[34,90474,90475,90476,2231,90479,2231,90481,1475,90484,181],{},"You will need to build 4 binaries: ",[611,90477,90478],{},"beam-node",[611,90480,12362],{},[611,90482,90483],{},"beam-wallet",[611,90485,6883],{},[41,90487,90489],{"id":90488},"initializing-wallet","Initializing Wallet",[34,90491,90492,90493,90495],{},"To create a new wallet run the following command (",[611,90494,3449],{}," will be created in the working folder):",[34,90497,90498],{},[611,90499,90500],{},".\u002Fbeam-wallet init",[34,90502,90503,90504,90507],{},"Output example for ",[611,90505,90506],{},"init"," operation:",[616,90509,90512],{"className":90510,"code":90511,"language":621},[619],"I 2019-02-19.15:28:55.500 Beam Wallet 1.2.4392 (master)\nI 2019-02-19.15:28:55.501 Rules signature: 7c360d0c2ee92d9e\nI 2019-02-19.15:28:55.501 starting a wallet...\nEnter password: ***\nConfirm password: ***\nI 2019-02-19.15:29:01.716 Generating seed phrase...\n======\nGenerated seed phrase:\n\n        army;wing;very;trim;crumble;meat;spawn;click;donate;loyal;trap;gauge;\n\n        IMPORTANT\n\n        Your seed phrase is the access key to all the cryptocurrencies in your wallet.\n        Print or write down the phrase to keep it in a safe or in a locked vault.\n        Without the phrase you will not be able to recover your money.\n======\nI 2019-02-19.15:29:01.950 wallet successfully created...\nI 2019-02-19.15:29:01.971 New address generated:\n\n1f27eea1057633e7df23aa51f835a05fa759ca199535fe99952bf9aecad17186d9d\n\nI 2019-02-19.15:29:01.971 comment = default\n",[611,90513,90511],{"__ignoreMap":14},[34,90515,90516,90517,90520],{},"You can also restore wallet with your ",[611,90518,90519],{},"seed_phrase"," if you've already had it.",[34,90522,90523],{},[611,90524,90525],{},".\u002Fbeam-wallet restore --seed_phrase=\u003Csemicolon separated list of 12 seed phrase words>;",[34,90527,90528,90529,90531],{},"Once wallet is initialised, you have to export your ",[100,90530,8816],{}," (it will be needed in the future to start own node).",[90533,90534,90535,90539],"details",{},[90536,90537,90538],"summary",{},"\nMore info about `owner key`\n","\nThe purpose of the `owner key` is to allow all nodes mining for you to be aware of all mining rewards mined by other nodes so that you would only need to connect to one node to collect all the rewards into your wallet. While in most other cryptocurrencies this is done by simply mining to a single address you control, in Mimblewimble it is not as simple since there are no addresses and the mining rewards should be coded with unique blinding factors which are deterministically derived from the `master key`, and then tagged by the single `owner key`.\n",[34,90541,90503,90542,90507],{},[611,90543,90544],{},"export_owner_key",[616,90546,90549],{"className":90547,"code":90548,"language":621},[619],"$ .\u002Fbeam-wallet export_owner_key\nI 2019-02-19.15:32:16.217 Beam Wallet 1.2.4392 (master)\nI 2019-02-19.15:32:16.218 Rules signature: 7c360d0c2ee92d9e\nI 2019-02-19.15:32:16.219 starting a wallet...\nEnter password: ***\nOwner Viewer key: +SevBZ++xL1wEM+yyGbMI+ZElHahudX8mh6Hu\u002FatJrdtzAOD2zpeb2LPIqQcnvry3JUQFBa9gTAHT98RMQMdcggr+LX0oqdGsVIx3KRkTxyvRdKBnw8lz9uAmMx0P2TNlk30E+M5MCnX7Ngp\n",[611,90550,90548],{"__ignoreMap":14},[34,90552,90553,90555,90556,90558,90559,181],{},[100,90554,8816],{}," should be kept secret. ",[100,90557,8816],{}," does not allow to spend coins, however it will allow to see all coins mined for you by all miners that use this ",[100,90560,90561],{},"Owner Кey",[34,90563,90564,90565,90567,90568],{},"Here you can read about all the ",[611,90566,90483],{}," commands: ",[175,90569,90570],{"href":90570,"rel":90571},"https:\u002F\u002Fbeamx.gitbook.io\u002Fcli-guide\u002F",[179],[41,90573,90575],{"id":90574},"starting-a-node","Starting a Node",[34,90577,4244,90578,90580],{},[100,90579,8816],{}," and make sure it has completed the synchronization with the network:",[34,90582,90583],{},[611,90584,90585],{},".\u002Fbeam-node.exe --peer=eu-node01.mainnet.beam.mw:8100 --key_owner=XPWoJ\u002FViEO1whRcYC1z\u002FnylDH1C2lqLxpMYU0\u002FAbqP67XI4sgYDkUIvJfUpMFjwdPYNz2A7PCHWo7c\u002FkHHTZ2EDUNv2BJvQHb1KHZjLNZPFgV2wceHfzvCYIUF3cR9ADfVSBquTxEldipNgp",[11818,90587,90588],{},[34,90589,90590],{},"Please, make sure you pass proper peer address for the current network you have chosen before.",[90533,90592,90593,90596],{},[90536,90594,90595],{},"\nList of peers\n",[616,90597,90600],{"className":90598,"code":90599,"language":621},[619],"MASTER peers:\neu-node01.masternet.beam.mw:8100\neu-node02.masternet.beam.mw:8100\neu-node03.masternet.beam.mw:8100\neu-node04.masternet.beam.mw:8100\n\nTESTNET peers:\nap-node01.testnet.beam.mw:8100\nap-node02.testnet.beam.mw:8100\nap-node03.testnet.beam.mw:8100\neu-node01.testnet.beam.mw:8100\neu-node02.testnet.beam.mw:8100\neu-node03.testnet.beam.mw:8100\nus-node01.testnet.beam.mw:8100\nus-node02.testnet.beam.mw:8100\nus-node03.testnet.beam.mw:8100\n\nMAINNET peers:\neu-node01.mainnet.beam.mw:8100\neu-node02.mainnet.beam.mw:8100\neu-node03.mainnet.beam.mw:8100\neu-node04.mainnet.beam.mw:8100\nus-node01.mainnet.beam.mw:8100\nus-node02.mainnet.beam.mw:8100\nus-node03.mainnet.beam.mw:8100\nus-node04.mainnet.beam.mw:8100\nap-node01.mainnet.beam.mw:8100\nap-node02.mainnet.beam.mw:8100\nap-node03.mainnet.beam.mw:8100\nap-node04.mainnet.beam.mw:8100\n",[611,90601,90599],{"__ignoreMap":14},[48,90603,90605],{"id":90604},"mining-support","Mining support",[34,90607,90608,90609,90612,90613,181],{},"Beam Node also provides built-in support for ",[100,90610,90611],{},"Stratum API"," allowing to connect multiple external mining clients to a single node, ",[175,90614,90617],{"href":90615,"rel":90616},"https:\u002F\u002Fbeamx.gitbook.io\u002Fbeam-mining",[179],"read more...",[41,90619,15980],{"id":6883},[34,90621,90622],{},"With Wallet API you can",[852,90624,90625,90633,90647,90659,90671],{},[59,90626,90627,90628],{},"check current ",[175,90629,90632],{"href":90630,"rel":90631},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#wallet_status",[179],"wallet status and (balance)",[59,90634,90635,90636,10670,90641,90646],{},"get all your ",[175,90637,90640],{"href":90638,"rel":90639},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#get_utxo",[179],"UTXO",[175,90642,90645],{"href":90643,"rel":90644},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#tx_list",[179],"transactions"," list",[59,90648,90649,10670,90654,12022],{},[175,90650,90653],{"href":90651,"rel":90652},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#create_address",[179],"create",[175,90655,90658],{"href":90656,"rel":90657},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#validate_address",[179],"verify",[59,90660,90661,1475,90666,90670],{},[175,90662,90665],{"href":90663,"rel":90664},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#tx_send",[179],"send funds",[175,90667,16406],{"href":90668,"rel":90669},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#tx_cancel",[179]," transactions",[59,90672,90673,90674,90679],{},"make a ",[175,90675,90678],{"href":90676,"rel":90677},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#tx_split",[179],"split of UTXO"," - create a specific set of outputs with given set of values",[34,90681,90682],{},"There are two ways to send JSON RPC commands to the API,",[852,90684,90685,90688],{},[59,90686,90687],{},"using TCP socket",[59,90689,90690],{},"via HTTP calls.",[34,90692,90693,90694,90696,90697,6618],{},"With TCP you can hold only one connection, send JSON commands separated with ",[611,90695,17566],{}," symbol and receive callbacks from the API, in the one hand it's more flexible but a bit difficult to implement in the other hand.\nWith HTTP you can do POST requests using ",[611,90698,90699],{},"curl",[34,90701,90702],{},"So, to start API with HTTP support use the command:",[34,90704,90705,90708,90710,90711,90714],{},[611,90706,90707],{},".\u002Fwallet-api --node_addr=x.x.x.x:port --use_http=1",[4953,90709],{},"\nwhere ",[611,90712,90713],{},"node_addr"," is your node address and port.",[34,90716,90717,90718,181],{},"See detailed ",[175,90719,90721],{"href":84290,"rel":90720},[179],"wallet API documentation",[41,90723,90725],{"id":90724},"node-explorer-api","Node Explorer API",[34,90727,90728],{},"With this API you can get information about current blockchain state and blocks using simple GET requests.",[34,90730,90731],{},"To run explorer use the command:",[34,90733,90734],{},[611,90735,12378],{},[11818,90737,90738],{},[34,90739,90590],{},[34,90741,90717,90742],{},[175,90743,90746],{"href":90744,"rel":90745},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-Node-Explorer-API",[179],"explorer API documentation",{"title":14,"searchDepth":15,"depth":15,"links":90748},[90749,90750,90751,90752,90755,90756],{"id":21955,"depth":15,"text":21956},{"id":90389,"depth":15,"text":90390},{"id":90488,"depth":15,"text":90489},{"id":90574,"depth":15,"text":90575,"children":90753},[90754],{"id":90604,"depth":154,"text":90605},{"id":6883,"depth":15,"text":15980},{"id":90724,"depth":15,"text":90725},{},"\u002Fdocs\u002Fcore-tech\u002Fexchange-pool-integration-guide",{"title":90379,"description":14},"docs\u002Fcore-tech\u002FExchange-Pool-integration-guide","ztH-HCrnuk5k2rAFpzZysOfBcGUiV-o78Ah7LpGuSGw",{"id":90763,"title":90764,"body":90765,"description":14,"extension":17,"image":18,"meta":91050,"navTitle":18,"navigation":20,"path":91051,"seo":91052,"stem":91053,"__hash__":91054},"docs\u002Fdocs\u002Fcore-tech\u002FFolder-and-file-locations.md","Desktop Wallet app",{"type":8,"value":90766,"toc":91043},[90767,90770,90774,90792,90795,90859,90862,90908,90911,90959,90963,90967],[11,90768,90764],{"id":90769},"desktop-wallet-app",[41,90771,90773],{"id":90772},"general-points-to-mention","General points to mention:",[852,90775,90776,90779,90789],{},[59,90777,90778],{},"The default location of the Desktop Wallet app can be modified during the installation process (Windows only).",[59,90780,90781,90782,12191,90785,90788],{},"The default Database location for the Desktop Wallet app can be changed setting the ",[611,90783,90784],{},"appdata",[611,90786,90787],{},"beam-wallet.cfg"," (Windows only).",[59,90790,90791],{},"Memory dump files are generated on Windows only. A dedicated memory dump file is created per each crash case.",[41,90793,90457],{"id":90794},"windows",[4998,90796,90797,90807],{},[5001,90798,90799],{},[5004,90800,90801,90804],{},[5007,90802,90803],{},"File",[5007,90805,90806],{},"Location",[5014,90808,90809,90819,90829,90839,90849],{},[5004,90810,90811,90814],{},[5019,90812,90813],{},"Main Executable",[5019,90815,90816],{},[611,90817,90818],{},"\\Program Files\\Beam\\Beam Wallet.exe",[5004,90820,90821,90824],{},[5019,90822,90823],{},"Configuration",[5019,90825,90826],{},[611,90827,90828],{},"\\Program Files\\Beam\\beam-wallet.cfg",[5004,90830,90831,90834],{},[5019,90832,90833],{},"Logs",[5019,90835,90836],{},[611,90837,90838],{},"\\Users\\\\{your User name}\\AppData\\Local\\Beam Wallet\\logs",[5004,90840,90841,90844],{},[5019,90842,90843],{},"Database",[5019,90845,90846],{},[611,90847,90848],{},"\\Users\\{your User name}\\AppData\\Local\\Beam Wallet\\wallet.db (node.db)",[5004,90850,90851,90854],{},[5019,90852,90853],{},"Dumps",[5019,90855,90856],{},[611,90857,90858],{},"\\Users\\{your User name}\\AppData\\Local\\Beam Wallet\\Beam Wallet.exe0.dmp",[41,90860,90463],{"id":90861},"mac",[4998,90863,90864,90872],{},[5001,90865,90866],{},[5004,90867,90868,90870],{},[5007,90869,90803],{},[5007,90871,90806],{},[5014,90873,90874,90883,90890,90899],{},[5004,90875,90876,90878],{},[5019,90877,90813],{},[5019,90879,90880],{},[611,90881,90882],{},"\u002FApplications\u002FBeam Wallet.app",[5004,90884,90885,90887],{},[5019,90886,90823],{},[5019,90888,90889],{},"N\u002FA",[5004,90891,90892,90894],{},[5019,90893,90833],{},[5019,90895,90896],{},[611,90897,90898],{},"\u002FUsers\u002F{your User name}\u002FLibrary\u002FApplication Support\u002FBeam Wallet\u002Flogs",[5004,90900,90901,90903],{},[5019,90902,90843],{},[5019,90904,90905],{},[611,90906,90907],{},"\u002FUsers\u002F{your User name}\u002FLibrary\u002FApplication Support\u002FBeam Wallet\u002Fwallet.db (node.db)",[41,90909,90460],{"id":90910},"linux",[4998,90912,90913,90921],{},[5001,90914,90915],{},[5004,90916,90917,90919],{},[5007,90918,90803],{},[5007,90920,90806],{},[5014,90922,90923,90932,90941,90950],{},[5004,90924,90925,90927],{},[5019,90926,90813],{},[5019,90928,90929],{},[611,90930,90931],{},"\u002Fusr\u002Fbin\u002FBeamWallet",[5004,90933,90934,90936],{},[5019,90935,90823],{},[5019,90937,90938],{},[611,90939,90940],{},"\u002Fusr\u002Fbin\u002Fbeam-wallet.cfg",[5004,90942,90943,90945],{},[5019,90944,90833],{},[5019,90946,90947],{},[611,90948,90949],{},"\u002Fhome\u002F{your User name}\u002F.local\u002Fshare\u002FBeam Wallet\u002Flogs",[5004,90951,90952,90954],{},[5019,90953,90843],{},[5019,90955,90956],{},[611,90957,90958],{},"\u002Fhome\u002F{your User name}\u002F.local\u002Fshare\u002FBeam Wallet\u002Fwallet.db (node.db)",[11,90960,90962],{"id":90961},"node-or-cli-wallet","Node or CLI wallet",[41,90964,90966],{"id":90965},"all-platforms-small-differences-apply-see-below","All Platforms (small differences apply, see below)",[4998,90968,90969,90977],{},[5001,90970,90971],{},[5004,90972,90973,90975],{},[5007,90974,90803],{},[5007,90976,90806],{},[5014,90978,90979,90990,91001,91013,91023,91033],{},[5004,90980,90981,90984],{},[5019,90982,90983],{},"Main Executable folder",[5019,90985,90986,90987],{},"User can unpack the archive in any folder to his convenience, ",[100,90988,90989],{},"all the files\u002Ffolders mentioned below are located within this folder",[5004,90991,90992,90995],{},[5019,90993,90994],{},"Main Executable file",[5019,90996,90997,11339,90999],{},[611,90998,90478],{},[611,91000,90483],{},[5004,91002,91003,91006],{},[5019,91004,91005],{},"Configuration file",[5019,91007,91008,11339,91011],{},[611,91009,91010],{},"beam-node.cfg",[611,91012,90787],{},[5004,91014,91015,91018],{},[5019,91016,91017],{},"Logs folder",[5019,91019,91020],{},[611,91021,91022],{},"logs",[5004,91024,91025,91027],{},[5019,91026,90843],{},[5019,91028,91029,11339,91031],{},[611,91030,11829],{},[611,91032,3449],{},[5004,91034,91035,91038],{},[5019,91036,91037],{},"Dumps (on Windows only)",[5019,91039,91040],{},[611,91041,91042],{},"beam-node.exe0.dmp",{"title":14,"searchDepth":15,"depth":15,"links":91044},[91045,91046,91047,91048,91049],{"id":90772,"depth":15,"text":90773},{"id":90794,"depth":15,"text":90457},{"id":90861,"depth":15,"text":90463},{"id":90910,"depth":15,"text":90460},{"id":90965,"depth":15,"text":90966},{},"\u002Fdocs\u002Fcore-tech\u002Ffolder-and-file-locations",{"title":90764,"description":14},"docs\u002Fcore-tech\u002FFolder-and-file-locations","WfcH_lOymveAoA56oD8WT8AlNNdXV4tVYYff71byz4U",{"id":91056,"title":91057,"body":91058,"description":14,"extension":17,"image":18,"meta":91640,"navTitle":18,"navigation":20,"path":91641,"seo":91642,"stem":91643,"__hash__":91644},"docs\u002Fdocs\u002Fcore-tech\u002FHW-wallet-design.md","HW Wallet Design",{"type":8,"value":91059,"toc":91627},[91060,91064,91067,91070,91081,91085,91121,91129,91141,91150,91153,91157,91257,91275,91288,91302,91306,91309,91312,91336,91339,91347,91350,91354,91357,91376,91379,91383,91389,91403,91412,91416,91419,91433,91440,91443,91454,91457,91461,91467,91475,91479,91485,91493,91496,91504,91512,91518,91536,91540,91546,91553,91556,91562,91572,91576,91582,91588,91591,91598,91606,91617],[48,91061,91063],{"id":91062},"beam-vs-other-blockchains","Beam vs other blockchains",[34,91065,91066],{},"Beam HW wallet supports the functionality similar to other blockchain protocols, such as keeping all the secret keys within the device, and signing transactions authorized by the users.",[34,91068,91069],{},"Since Beam is based in MW, the design of such a wallet is more complex, because of the following:",[852,91071,91072,91075,91078],{},[59,91073,91074],{},"Transactions are built interactively",[59,91076,91077],{},"No addresses",[59,91079,91080],{},"No transactions in the common sense. Transaction elements can be added and removed",[41,91082,91084],{"id":91083},"assumptions","Assumptions",[56,91086,91087,91090,91093,91096],{},[59,91088,91089],{},"The HW wallet is a minimalistic stateless device. It should not handle blockchain events (blocks, headers, reorgs), handle BBS traffic, fully negotiate transactions, and etc.",[59,91091,91092],{},"The host may be compromised, yet no spend should be possible without user's permission.",[59,91094,91095],{},"Once the user activates the HW wallet (enters the pin-code), the host can view all the user information (balance, UTXOs), but not spend funds.",[59,91097,91098,91099,91116],{},"Every spend (transaction that assumes user spends funds) needs a user authorization. The user sees the following:\n",[56,91100,91101,91104,91107,91110,91113],{},[59,91102,91103],{},"The amount being-sent",[59,91105,91106],{},"Asset type (beam or CA).",[59,91108,91109],{},"Recipient identifier.",[59,91111,91112],{},"Transaction kernel ID.",[59,91114,91115],{},"Height range (min\u002Fmax height) during which the transaction is valid.",[852,91117,91118],{},[59,91119,91120],{},"All this information is cryptographically verified, and there should be no feasible way for the host to tamper with it.",[34,91122,91123,91125,91126,91128],{},[37,91124,9127],{}," Because in MW transactions are essentially (sort of) Schnorr's multisignatures, the (1) is actually tricky to implement. To create a Schnorr's signature the signer generates a ",[100,91127,16222],{},", which must be retained for the duration of the multi-signature ritual.",[34,91130,91131,91132,91134,91135,91137,91138,91140],{},"We solve this by assuming the device has a limited non-volatile memory that can be used to store ",[100,91133,16222],{}," preimage (source material). We make sure that neither the ",[100,91136,16222],{}," nor the appropriate secret key can be extracted by malicious host (such as attempt to use the same ",[100,91139,16222],{}," to sign different things).",[34,91142,91143,91144,90454,91147,91149],{},"The HW wallet device should have several 256-bit ",[100,91145,91146],{},"slots",[100,91148,16222],{}," preimages. The more slots it has - the more ongoing transactions the HW wallet may handle at the same time.",[34,91151,91152],{},"(There is also an option of using VRFs, but it's too complex for HW wallets.)",[41,91154,91156],{"id":91155},"terminology","Terminology",[852,91158,91159,91206,91212,91223,91229,91236],{},[59,91160,91161,91164,91165,91195],{},[611,91162,91163],{},"CoinID"," - full UTXO identifier. Consists of the following:\n",[56,91166,91167,91177,91183,91189],{},[59,91168,91169,91172,91173,91176],{},[611,91170,91171],{},"SubIdx"," 32-bit ",[100,91174,91175],{},"child"," key identifier",[59,91178,91179,91182],{},[611,91180,91181],{},"Idx"," 64-bit coin number",[59,91184,91185,91188],{},[611,91186,91187],{},"Value"," (64 bits)",[59,91190,91191,91194],{},[611,91192,91193],{},"AssetID"," (32-bit number)",[852,91196,91197],{},[59,91198,9314,91199,91201,91202,91205],{},[611,91200,91163],{}," the HW wallet generates a unique ",[100,91203,91204],{},"blinding factor"," using the master secret.",[59,91207,91208,91211],{},[611,91209,91210],{},"OwnerKey"," - derived from the master secret, used to recognize the owned UTXOs.",[59,91213,91214,91217,91218,91220,91221,181],{},[611,91215,91216],{},"P-Kdf"," - public key generator, which for a ",[611,91219,91163],{}," generates an appropriate public key (EC point) that corresponds to its ",[100,91222,91204],{},[59,91224,91225,91228],{},[611,91226,91227],{},"IdentityNumber"," 32-bit number",[59,91230,91231,91233,91234,181],{},[611,91232,8763],{}," - public key that corresponds to the unique private key generated for specific ",[611,91235,91227],{},[59,91237,91238,91241,91242],{},[611,91239,91240],{},"PaymentProof"," - Schnorr's signature, signed by the receiver, that it receives funds as a result of the transaction. The signature signs the following parameters:\n",[852,91243,91244,91247,91250,91252],{},[59,91245,91246],{},"Value received",[59,91248,91249],{},"Asset type",[59,91251,89253],{},[59,91253,91254,91255],{},"Sender ",[611,91256,8763],{},[34,91258,91259,91261,91262,91264,91265,91268,91269,91271,91272,91274],{},[37,91260,9127],{}," the actual key generation is according to HKDF (rfc-5869). The generated ",[100,91263,91204],{}," depends in a non-transparent way on ",[37,91266,91267],{},"all"," the fields of ",[611,91270,91163],{},", thus there's no feasible way to tamper with them and adjust the resulting ",[100,91273,91204],{}," accordingly.",[34,91276,91277,91278,91281,91282,91284,91285,91287],{},"In addition to HKDF, each computed key is multiplied by a fixed secret scalar, so-called ",[100,91279,91280],{},"co-factor",". The ",[611,91283,91216],{}," contains the same seed HKDF data, but the ",[100,91286,91280],{}," is replaced by its image (EC point).",[34,91289,91290,91293,91294,91297,91298,91301],{},[37,91291,91292],{},"Note (2):"," To denote the UTXO Beam actually uses so-called ",[100,91295,91296],{},"switch"," commitments, which are compressed el-Gamal commitments. So that in practice the obtained ",[100,91299,91300],{},"blidning factor"," gets an addition, which depends on the committed value and asset type. The host can calculate this addition alone (without the HW wallet).",[11,91303,91305],{"id":91304},"functionality-high-level","Functionality high-level",[34,91307,91308],{},"All the HW wallet functionality comes down to the following methods.",[34,91310,91311],{},"The following is returned without user permission",[852,91313,91314,91317,91321,91328,91333],{},[59,91315,91316],{},"Number of slots available",[59,91318,91319],{},[611,91320,91210],{},[59,91322,91323,91325,91326,59289],{},[611,91324,91216],{}," for arbitrary ",[100,91327,91175],{},[59,91329,91330,91331],{},"Rangeproof for arbitrary ",[611,91332,91163],{},[59,91334,91335],{},"signature for receive transaction kernel (i.e. transaction in which no funds are lost).",[34,91337,91338],{},"The following needs user permission",[852,91340,91341,91344],{},[59,91342,91343],{},"signature for send transaction kernel",[59,91345,91346],{},"signature for split transaction kernel (i.e. only transaction fee is lost)",[34,91348,91349],{},"During the HW wallet initialization it generates a seed using the true random generator (available on most HW wallets), which is used to set initial values in all the slots.",[11,91351,91353],{"id":91352},"why-this-design-is-secure","Why this design is secure?",[34,91355,91356],{},"MW transaction consists of 3 things: inputs, outputs, and transaction kernels.",[852,91358,91359,91373],{},[59,91360,91361,91362,91364,91365,98,91367,91369,91370,91372],{},"Input is denoted by its Pedersen (switch) commitment. The host can create it for any ",[611,91363,91163],{},", since only ",[100,91366,91204],{},[9352,91368,8715],{}," is needed, and ",[611,91371,91216],{}," is exported freely.",[59,91374,91375],{},"Output consists of Pedersen (switch) commitment and the rangeproof. The commitment is calculated by the host (as for inputs), and the rangeproof is calculated by the HW wallet without any restriction.",[34,91377,91378],{},"So, both inputs and outputs can be created by the host without any restrictions. But to build a valid (balanced) MW transaction the corresponding transaction kernel is required, and this is where HW wallet restrictions come into play. As we mentioned, HW wallet requests user permission along with the verifiable recipient ID for any spend transaction.",[41,91380,91382],{"id":91381},"how-do-we-verify-the-transaction-is-indeed-spendingreceiving-or-splitting","How do we verify the transaction is indeed spending\u002Freceiving, or splitting?",[34,91384,91385,91386,91388],{},"For all transactions the host specifies the input\u002Foutput ",[611,91387,91163],{},"s that belong to the user before\u002Fafter the transaction. Based on them the HW wallet deduces:",[56,91390,91391,91394],{},[59,91392,91393],{},"Overall value and asset which is obtained\u002Flost in a transaction",[59,91395,91396,91397,91399,91400,2344],{},"excess ",[100,91398,91204],{}," (diff of input\u002Foutput ",[100,91401,91402],{},"blinding factors",[34,91404,91405,91406,91408,91409,91411],{},"The transaction type is verified according to (1), whereas the signed kernel balances the transaction according to (2). As we mentioned, by ",[100,91407,91204],{}," depends on the ",[611,91410,91163],{}," in an opaque way, hence there's no feasible way to substitute different inputs\u002Foutputs in the transaction after it was signed.",[11,91413,91415],{"id":91414},"transaction-signing","Transaction signing",[34,91417,91418],{},"For all the mentioned transaction types the host supplies the following:",[852,91420,91421,91427,91430],{},[59,91422,91423,91424,91426],{},"List of input\u002Foutput ",[611,91425,91163],{},"s.",[59,91428,91429],{},"Kernel lock height (min\u002Fmax height)",[59,91431,91432],{},"Kernel fee",[34,91434,91435,91436,91439],{},"Upon signing, as usual, the excess _blinding factor of the transaction is split into 2 parts in a pseudo-random way: one goes to the kernel commitment, the other goes to the ",[100,91437,91438],{},"offset"," (plain scalar). This is done for all the MW transactions for a better obfuscation.",[34,91441,91442],{},"Send and Receive are mutual transactions, that follow the following ritual:",[56,91444,91445,91448,91451],{},[59,91446,91447],{},"Sender creates its part of the kernel commitment, and sends it to the receiver",[59,91449,91450],{},"Receiver adds its part of the commitment, signs it, and sends it back to the sender.",[59,91452,91453],{},"Sender finishes its part.",[34,91455,91456],{},"Split transaction (where the user sends funds to itself) is signed in a single invocation.",[48,91458,91460],{"id":91459},"split-transaction","Split transaction",[34,91462,91463,91464,91466],{},"This is the simplest case, as there's no additional transaction party. The HW wallet analyzes the input\u002Foutput ",[611,91465,91163],{},"s to make sure no funds \"disappear\". Means the user only spends the transaction fee.",[34,91468,91469,91470,91472,91473,181],{},"If everything matches and the user authorizes it - the HW wallet generates the kernel ",[100,91471,91204],{}," in a deterministic way, and then generates the kernel commitment + signature, and the appropriate ",[100,91474,91438],{},[48,91476,91478],{"id":91477},"receive-transaction","Receive transaction",[34,91480,91481,91482,91484],{},"As usual the HW wallet analyzes the input\u002Foutput ",[611,91483,91163],{},"s to make sure it receives funds.",[34,91486,91487,91489,91490,91492],{},[37,91488,9127],{}," currently it's allowed to receive only one asset type at a time, i.e. exchanging different assets in the same transaction is currently not allowed (as right now we don't have appropriate ",[611,91491,91240],{}," for this).",[34,91494,91495],{},"According to the ritual, by the time of invocation the sender has already produced its part. This includes the following:",[852,91497,91498,91501],{},[59,91499,91500],{},"Kernel commitment",[59,91502,91503],{},"Kernel signature \"public nonce\"",[34,91505,91506,91507,91509,91510,181],{},"If everything matches - the HW wallet generates its part of the kernel ",[100,91508,91204],{}," in a deterministic way, and then generates its part of the kernel commitment and signature, and the appropriate ",[100,91511,91438],{},[34,91513,91514,91515,91517],{},"In addition to this, the HW wallet also signs the ",[611,91516,91240],{},". The Kernel ID, value and asset type are deduced automatically. The following additional parameters are specified by the host for the signature:",[852,91519,91520,91524],{},[59,91521,91254,91522],{},[611,91523,8763],{},[59,91525,91526,91527,91529,91530,91532,91533,91535],{},"Self ",[611,91528,91227],{},", which corresponds to the ",[611,91531,8763],{}," expected by the sender. The HW wallet generates the appropriate private key, and signs the ",[611,91534,91240],{}," by it.",[48,91537,91539],{"id":91538},"send-transaction","Send transaction",[34,91541,91542,91543,91545],{},"This is the most complex case. To sign the send transaction the HW wallet should be invoked twice (as can be seen according to the ritual). It also needs a ",[100,91544,16222],{}," that should retain valid for the duration of the transaction.",[34,91547,91548,91549,91552],{},"When the HW wallet is invoked to sign the send transaction, the host, among other things, specifies the nonce ",[100,91550,91551],{},"slot"," which should be used to this transaction (the slot management, i.e. which ongoing transaction uses which slot - up to the host).",[34,91554,91555],{},"On the first invocation the HW wallet generates the kernel parameters (commitment and public nonce) based on the visible parameters and this nonce.",[34,91557,91558,91559,91561],{},"On the second invocation it verifies receiver part, verifies the ",[611,91560,91240],{}," signed by the receiver, and asks for user permission to transfer the funds to this receiver. If everything is ok - the kernel is signed.",[34,91563,91564,91566,91567,91569,91570,181],{},[37,91565,9127],{}," just before signing, the HW wallet re-generates the value of the ",[100,91568,91551],{}," used in this transaction (re-generates its value in a deterministic way). This is to prevent malicious host make HW wallet sign different transactions using the same ",[100,91571,16222],{},[41,91573,91575],{"id":91574},"note-regarding-rangeproof-generation","Note regarding rangeproof generation",[34,91577,91578,91579,91581],{},"Beam uses bulletproof as a rangeproof, which is computationally heavy for a device with limited capabilities. To improve the performance the host and HW wallet perform a multi-party computation. The HW wallet participates only where the ",[100,91580,91204],{}," is necessary.",[34,91583,91584,91585,91587],{},"However, apart from being valid, the generated bulletproof must also be detectable by the user ",[611,91586,91210],{},". This is obviously unacceptable if a malicious host can generate an output which would be \"invisible\" to the user after the transaction.",[34,91589,91590],{},"Because of this there's a considerable amount of computation that HW wallet needs to do. In particular it needs to calculate a multi-exponentiation of 129 generators. Yet it's only a fairly small fraction of the overall computation.",[41,91592,91594,91595,91597],{"id":91593},"note-regarding-paymentproof-and-bbs-addresses","Note regarding ",[611,91596,91240],{}," and BBS addresses",[34,91599,91600,91601,91603,91604,91535],{},"Normally wallets negotiate over BBS system, each has a BBS address key, by which it tries to decrypt all the BBS traffic and chase the messages intended to it. Then during the transaction the BBS public address is also treated as the peer ",[611,91602,8763],{},", i.e. the sender expects the receiver to sign the ",[611,91605,91240],{},[34,91607,91608,91609,91611,91612,91614,91615,181],{},"However for the HW wallet it's not feasible to decode all the BBS traffic. Hence we decided to separate the BBS and the ",[611,91610,8763],{},". Now in order to send\u002Freceive funds the users exchange ",[100,91613,8744],{}," (over secure channel), which optionally include both the BBS address and the ",[611,91616,8763],{},[34,91618,91619,91620,91622,91623,91626],{},"Conceptually the BBS address belongs to the entity you are directly talking to, whereas the ",[611,91621,8763],{}," belongs to the ",[9352,91624,91625],{},"final"," sender\u002Frecipient of the funds. In other words, the software wallet is a proxy, which may be compromised, whereas still there is a confirmation that the final recipient gets all the funds.",{"title":14,"searchDepth":15,"depth":15,"links":91628},[91629,91630,91631,91632,91637,91638],{"id":91062,"depth":154,"text":91063},{"id":91083,"depth":15,"text":91084},{"id":91155,"depth":15,"text":91156},{"id":91381,"depth":15,"text":91382,"children":91633},[91634,91635,91636],{"id":91459,"depth":154,"text":91460},{"id":91477,"depth":154,"text":91478},{"id":91538,"depth":154,"text":91539},{"id":91574,"depth":15,"text":91575},{"id":91593,"depth":15,"text":91639},"Note regarding PaymentProof and BBS addresses",{},"\u002Fdocs\u002Fcore-tech\u002Fhw-wallet-design",{"description":14},"docs\u002Fcore-tech\u002FHW-wallet-design","BrbYYJdO-gzxXB7jac5xww27lDykO-iq2cxm4sHbNhA",{"id":91646,"title":91647,"body":91648,"description":91655,"extension":17,"image":18,"meta":92208,"navTitle":18,"navigation":20,"path":92209,"seo":92210,"stem":92211,"__hash__":92212},"docs\u002Fdocs\u002Fcore-tech\u002FHW-wallet-requirements----DEPRECATED---.md","-- DEPRECATED --",{"type":8,"value":91649,"toc":92193},[91650,91653,91656,91683,91687,91717,91730,91733,91749,91753,91762,91770,91808,91811,91815,91818,91825,91828,91840,91846,91850,91856,91860,91862,91869,91878,91882,91885,91891,91897,91901,91903,91910,91919,91922,91926,91928,91940,91948,91954,91958,91960,91976,91983,91991,91993,91995,91997,92000,92002,92013,92019,92023,92025,92034,92038,92040,92048,92054,92058,92060,92111,92114,92119,92122,92133,92136],[11,91651,91647],{"id":91652},"deprecated",[34,91654,91655],{},"The HW wallet should support the following functionality",[56,91657,91658,91661,91664,91672,91680],{},[59,91659,91660],{},"Deterministic key generation for key parameters",[59,91662,91663],{},"Export public keys",[59,91665,91666,91667],{},"Participate in signing schemes: Schnorr's signature, Bulletproof.\n",[852,91668,91669],{},[59,91670,91671],{},"The latter in CPU-hungry, but most of the computations can be done without HW",[59,91673,91674,91675],{},"Support multi-signatures\n",[852,91676,91677],{},[59,91678,91679],{},"This includes both: signing with multiple self keys, as well as the keys generated by the others.",[59,91681,91682],{},"Obviously secret keys must not be revealed.",[41,91684,91686],{"id":91685},"nonces-and-randomness","Nonces and randomness",[34,91688,91689,91690,91693,91694,91697,91698,91701,91702,91705,91706,91709,91710,91713,91714,91716],{},"Our signing protocols follow a ritual where the signer generates some ",[100,91691,91692],{},"nonce(s)",", reveals its ",[100,91695,91696],{},"image(s)",", gets a ",[100,91699,91700],{},"challenge(s)",", and then should reveal the appropriate ",[100,91703,91704],{},"preimage",". To guarantee (5) the signer must ",[37,91707,91708],{},"never"," answer to different ",[100,91711,91712],{},"challenges"," for the same ",[100,91715,16222],{},". This is absolutely vital!",[34,91718,91719,91720,91722,91723,91726,91727,181],{},"In a regular signature protocol the ",[100,91721,16222],{}," can always be generated in a deterministic way from the visible transcript and the sercret key, the ",[100,91724,91725],{},"challenge"," is derived from the visible transcript, and the whole signing process is ",[9352,91728,91729],{},"atomic",[34,91731,91732],{},"This approach, however, is not compatible with (4). In the case of the multisignature the signing process is not atomic. And ability to create multisignatures is essential in MW.",[34,91734,91735,91736,91738,91739,91741,91742,91745,91746,91748],{},"Hence, in order to sustain the requirements the HW should use another source of (pseudo)randomness. Moreover, the random ",[100,91737,16222],{}," generated for the signing process should be kept inside the HW for indefinite time, because signing may take considerable time, during which HW wallet should be able to operate normally. In addition each ",[100,91740,16222],{}," should be ",[37,91743,91744],{},"erased"," once the ",[100,91747,91704],{}," based on it is revealed.",[11,91750,91752],{"id":91751},"proposed-design","Proposed design",[34,91754,91755,91756,91758,91759,91761],{},"HW wallet should support the basic EC cryptography primitives for the parameters specified by the ",[611,91757,89420],{}," standard (the one that is used in bitcoin). Means - 256-bit wide keys, the same EC equation, finite field parameters, same ",[611,91760,1123],{},"-generator.",[34,91763,91764,91765,91767,91768,5102],{},"The HW wallet should have non-volatile memory, represented by memory ",[100,91766,91146],{},". There should be the following ",[100,91769,91146],{},[56,91771,91772,91783,91797,91805],{},[59,91773,91774,91775],{},"Master secret.\n",[852,91776,91777,91780],{},[59,91778,91779],{},"No direct access to the caller.",[59,91781,91782],{},"Should be used as a secret for key generation.",[59,91784,91785,91786],{},"Nonce source.\n",[852,91787,91788,91790],{},[59,91789,91779],{},[59,91791,91792,91793,91796],{},"Should be initialized by ",[9352,91794,91795],{},"true random"," either during production, or upon initialization of the Master secret.",[59,91798,91799,91800],{},"Generated key.\n",[852,91801,91802],{},[59,91803,91804],{},"Contains the generated key. May be a single key or their sum\u002Fdifference (more about this later).",[59,91806,91807],{},"Generated nonces.",[34,91809,91810],{},"This low-level design may look weird, but it's needed to support all the MW functionality. The following functionality should be supported:",[48,91812,91814],{"id":91813},"nonce-regeneration","Nonce regeneration",[34,91816,91817],{},"Parameters:",[852,91819,91820],{},[59,91821,91822,91824],{},[611,91823,16945],{}," - the target slot index",[34,91826,91827],{},"Result: the target slot should contain a unique nonce, derived from the Nonce source, and the Nonce source itself should be mutated immediately after that.",[852,91829,91830,91835],{},[59,91831,91832],{},[611,91833,91834],{},"n[i] = DeriveNonce(NonceSource)",[59,91836,91837],{},[611,91838,91839],{},"NonceSource = Mutate(NonceSource)",[34,91841,91842,91845],{},[9352,91843,91844],{},"Important",": all the nonce slots must be regenerated before (or immediately after) the Master secret is initialized. In simple words, there must be no situation where the HW is operational, yet there's a nonce slot which contains predictable (zero?) value.",[48,91847,91849],{"id":91848},"key-slot-reset-assign-to-zero","Key slot reset (assign to zero)",[34,91851,91852,91853],{},"Result: the target slot should contain zero value: ",[611,91854,91855],{},"k = 0",[48,91857,91859],{"id":91858},"key-generation","Key generation",[34,91861,91817],{},[852,91863,91864],{},[59,91865,91866,91868],{},[611,91867,6243],{}," - an opaque 256-bit data that identifies the key",[34,91870,91871,91872,91874,91875],{},"Result: the generated key should be ",[9352,91873,32925],{}," to the target slot: ",[611,91876,91877],{},"k += KeyGenerate(MasterSecret, ID)",[48,91879,91881],{"id":91880},"key-split","Key split",[34,91883,91884],{},"The key should be split into 2 parts in a deterministic (yet opaque) way.",[34,91886,91887,91888],{},"Return value: ",[611,91889,91890],{},"k2 = Muate(k)",[34,91892,91893,91894],{},"Result: ",[611,91895,91896],{},"k -= k2",[48,91898,91900],{"id":91899},"image-public-key-reveal","Image (public key) reveal",[34,91902,91817],{},[852,91904,91905],{},[59,91906,91907,91909],{},[611,91908,16945],{}," - the slot index.",[34,91911,91912,91913,91915,91916],{},"Return value: EC point (in whatever representation) equals to the ",[611,91914,1123],{},"-generator multiplied by the value of this slot: ",[611,91917,91918],{},"G * n[i]",[34,91920,91921],{},"Applicable for key and nonce slots",[48,91923,91925],{"id":91924},"sig1-schnorr","Sig1 (Schnorr)",[34,91927,91817],{},[852,91929,91930,91935],{},[59,91931,91932,91934],{},[611,91933,16945],{}," - the slot index",[59,91936,91937,91939],{},[611,91938,997],{}," - challenge",[34,91941,91942,91943,7024,91945],{},"Return value: blinded ",[100,91944,91704],{},[611,91946,91947],{},"kb = n[i] + e*k",[34,91949,91950,91951],{},"Result: used nonce is immediately regenerated: ",[611,91952,91953],{},"Regenerate(i)",[48,91955,91957],{"id":91956},"sig2-bulletproof","Sig2 (Bulletproof)",[34,91959,91817],{},[852,91961,91962,91968],{},[59,91963,91964,91967],{},[611,91965,91966],{},"i1, i2"," - 2 slot indexes",[59,91969,91970,2231,91972,91975],{},[611,91971,997],{},[611,91973,91974],{},"e2"," - 2 challenges",[34,91977,91942,91978,7024,91980],{},[100,91979,91704],{},[611,91981,91982],{},"kb = n[i1] + e2*n[i2] + e*k",[34,91984,91950,91985,2231,91988],{},[611,91986,91987],{},"Regenerate(i1)",[611,91989,91990],{},"Regenerate(i2)",[3136,91992],{},[3136,91994],{},[11,91996,4975],{"id":12385},[48,91998,91859],{"id":91999},"key-generation-1",[34,92001,16900],{},[852,92003,92004,92010],{},[59,92005,92006,92009],{},[611,92007,92008],{},"KIDV"," for the needed key\nOtputs:",[59,92011,92012],{},"The public key (ECC point)",[34,92014,92015,92016,92018],{},"Generate the key, and export its image (i.e. multiplies by ",[611,92017,1123],{},"-generator)",[48,92020,92022],{"id":92021},"bulletproof-generation","Bulletproof generation",[34,92024,16900],{},[852,92026,92027,92031],{},[59,92028,92029,92009],{},[611,92030,92008],{},[59,92032,92033],{},"The Bulletproof",[48,92035,92037],{"id":92036},"nonce-generation","Nonce generation",[34,92039,16900],{},[852,92041,92042,92045],{},[59,92043,92044],{},"Slot number\nOtputs:",[59,92046,92047],{},"The nonce image (ECC point)",[34,92049,92050,92051,92053],{},"Generate the random nonce (ECC scalar), and export its image (i.e. multiplies by ",[611,92052,1123],{},"-generator).",[48,92055,92057],{"id":92056},"transaction-signature","Transaction signature",[34,92059,16900],{},[852,92061,92062,92068,92073,92076,92079],{},[59,92063,92064,92065,92067],{},"List of ",[611,92066,92008],{},"s of input UTXOs",[59,92069,92064,92070,92072],{},[611,92071,92008],{},"s of output UTXOs",[59,92074,92075],{},"Randomly generated offset (ECC scalar)",[59,92077,92078],{},"Number of the nonce slot",[59,92080,92081,92082,92084,92085],{},"Challenge ",[611,92083,997],{}," (ECC scalar) \u002F\u002F after discussion, it seems that it should be calculated on device, so we need kernel parameters\n",[852,92086,92087,92090,92093,92096,92099,92102,92105,92108],{},[59,92088,92089],{},"Fee",[59,92091,92092],{},"Commitment \u002F\u002F total public excess",[59,92094,92095],{},"minimal height",[59,92097,92098],{},"maximum height",[59,92100,92101],{},"Amount(m_AssetEmission)",[59,92103,92104],{},"m_pHashLock;",[59,92106,92107],{},"Public nonce of 2nd party (for multisig)",[59,92109,92110],{},"Public excess of 2nd party (for multisig)",[34,92112,92113],{},"Outputs:",[852,92115,92116],{},[59,92117,92118],{},"Signature (ECC scalar)",[34,92120,92121],{},"The HW wallet should do the following:",[56,92123,92124,92127,92130],{},[59,92125,92126],{},"Request user's permission for the transaction.",[59,92128,92129],{},"Calculate the result.",[59,92131,92132],{},"Immediately overwrite the nonce slot with another randomly-generated value.",[34,92134,92135],{},"The result is calculated by the following algorithm:",[56,92137,92138,92154,92160,92166,92169,92175,92181,92188],{},[59,92139,92140,92141,92143,92144,92146,92149,92151,92153],{},"Generate all the keys (i.e. blinding factors), and calculate ",[611,92142,89612],{}," as sum of inputs minus outputs.",[4953,92145],{},[611,92147,92148],{},"sk = Sum(input blinding factors) - Sum(output blinding factors) - offset",[4953,92150],{},[611,92152,91438],{}," is generated randomly on caller side",[59,92155,92156,92157],{},"Calculate multi signature public nonce: ",[611,92158,92159],{},"PublicNonce = Nonce*G + PeerPublicNonce",[59,92161,92162,92163],{},"Calculate total blinding excess: ",[611,92164,92165],{},"TotalExcess = sk * G + PeerPublicExcess",[59,92167,92168],{},"Calculate Message for sign: hash kernel parameters see: TxKernel::get_Hash",[59,92170,92171,92172],{},"Calculate challenge by: ",[611,92173,92174],{},"e = H(PublicNonce|Message)",[59,92176,92177,92178],{},"Calculate the signature by: ",[611,92179,92180],{},"Signature = sk * e + Nonce",[59,92182,92183,92184,92187],{},"Re-generate ",[611,92185,92186],{},"Nonce"," (overwrite the contents of the slot)",[59,92189,92190,92191],{},"Reveal ",[611,92192,8759],{},{"title":14,"searchDepth":15,"depth":15,"links":92194},[92195],{"id":91685,"depth":15,"text":91686,"children":92196},[92197,92198,92199,92200,92201,92202,92203,92204,92205,92206,92207],{"id":91813,"depth":154,"text":91814},{"id":91848,"depth":154,"text":91849},{"id":91858,"depth":154,"text":91859},{"id":91880,"depth":154,"text":91881},{"id":91899,"depth":154,"text":91900},{"id":91924,"depth":154,"text":91925},{"id":91956,"depth":154,"text":91957},{"id":91999,"depth":154,"text":91859},{"id":92021,"depth":154,"text":92022},{"id":92036,"depth":154,"text":92037},{"id":92056,"depth":154,"text":92057},{},"\u002Fdocs\u002Fcore-tech\u002Fhw-wallet-requirements-deprecated",{"title":91647,"description":91655},"docs\u002Fcore-tech\u002FHW-wallet-requirements----DEPRECATED---","zX2Vd4vfws9rhgr74_Fp4_LxYaDkz5E1sMYDjrsNtXo",{"id":92214,"title":92215,"body":92216,"description":14,"extension":17,"image":18,"meta":92304,"navTitle":18,"navigation":20,"path":92305,"seo":92306,"stem":92307,"__hash__":92308},"docs\u002Fdocs\u002Fcore-tech\u002FHi-Frequency-transactions.md","Hi Frequency Transactions",{"type":8,"value":92217,"toc":92300},[92218,92222,92233,92240,92244,92251,92261,92264,92281,92284,92295,92297],[41,92219,92221],{"id":92220},"standard-transaction-handling","Standard transaction handling",[34,92223,92224,92225,92228,92229,92232],{},"Standard Beam transactions are considered independent. After they are broadcast to the network (in the ",[100,92226,92227],{},"fluff"," phase) they are kept in a ",[100,92230,92231],{},"Transaction pool"," in each node, until they either expire or included in a block. Miners select the transactions according to their Fee\u002FSize ratio, to maximize the reward.",[34,92234,92235,92236,92239],{},"The transaction lifespan (e.i. ",[100,92237,92238],{},"height range",") is controlled by its creator, but usually order of several hours. Once the transaction is broadcast, the wallet monitors the new blocks, until either it notices the transaction is included in a block (succeeded), or expires (failed).",[41,92241,92243],{"id":92242},"defi","DeFi",[34,92245,92246,92247,92250],{},"While the above scheme is OK for normal transactions, smart contracts demand a different design, because transactions are potentially ",[9352,92248,92249],{},"dependent",", their order and block height may have consequences for users, or even render some of them invalid.",[34,92252,92253,92254,92256,92257,92260],{},"So we designed a concept of ",[100,92255,92249],{}," transactions. Those that insist to be included in a specified block and at the specified position, or not included at all.\nIn contrast to normal transactions, that are stored in a ",[100,92258,92259],{},"flat"," transaction pool, dependent transactions are stored in a special tree. Then in order to assemble a block, the miner picks the branch with maximum total fees, and includes all the appropriate transactions in this exact order.",[34,92262,92263],{},"When working in the HFT mode, the wallet not only gets notifications about new blocks, but also about the changes in the dependent transactions tree. Then, in order to build a transaction, it does the following:",[852,92265,92266,92269,92272,92275,92278],{},[59,92267,92268],{},"Gets the information about the current transaction branch with the maximum total fee (the one that is most likely to be selected by the miner)",[59,92270,92271],{},"Specifies this branch ID when querying the appropriate contract information. By such it can foresee the effects of all the preceding transactions in the branch, and build a new transactions accordingly.",[59,92273,92274],{},"When ready, broadcast this transaction to the node, with the branch ID that defines uniquely the position where this transaction should be included.",[59,92276,92277],{},"Even before the new block is mined, the wallet gets notification about the transaction tree updates. If for some reason the current transaction is unlikely to be mined (another competing branch has more total fee) - the wallet may rebuild and resend transaction according to the new context.",[59,92279,92280],{},"Optionally this may be repeated continuously, until the transaction is mined.",[34,92282,92283],{},"By such we achieve the following goals:",[56,92285,92286,92289,92292],{},[59,92287,92288],{},"Strict transaction inclusion rule. Protect the user from unexpected side effects (a.k.a. front running attack).",[59,92290,92291],{},"Give users prompt pseudo-confirmation for their transactions.",[59,92293,92294],{},"Give opportunity for several users to see effects of other's transactions, hence include otherwise conflicting transactions in the same block.",[11,92296,9759],{"id":9758},[34,92298,92299],{},"(in progress)",{"title":14,"searchDepth":15,"depth":15,"links":92301},[92302,92303],{"id":92220,"depth":15,"text":92221},{"id":92242,"depth":15,"text":92243},{},"\u002Fdocs\u002Fcore-tech\u002Fhi-frequency-transactions",{"description":14},"docs\u002Fcore-tech\u002FHi-Frequency-transactions","HeRPnieEjz_nHMLnOk4wt88olG7p2ouzB6Ef8WYPFOI",{"id":92310,"title":92311,"body":92312,"description":92316,"extension":17,"image":18,"meta":92921,"navTitle":18,"navigation":20,"path":92922,"seo":92923,"stem":92924,"__hash__":92925},"docs\u002Fdocs\u002Fcore-tech\u002FHow-to-build.md","How To Build",{"type":8,"value":92313,"toc":92909},[92314,92317,92324,92331,92335,92375,92379,92399,92403,92426,92430,92436,92438,92501,92503,92508,92528,92534,92539,92547,92553,92563,92569,92573,92576,92605,92609,92612,92636,92640,92643,92661,92665,92668,92685,92689,92692,92726,92730,92733,92757,92761,92764,92781,92785,92788,92805,92807],[34,92315,92316],{},"Starting from version 5.0 we separated core beam library project and its UI.",[34,92318,92319,92320,181],{},"Desktop UI is a separte git repostotry now ",[175,92321,92322],{"href":92322,"rel":92323},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam-ui",[179],[34,92325,92326,92327,181],{},"For earlier versions, build instructions are located ",[175,92328,1248],{"href":92329,"rel":92330},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FHow-to-build(old)",[179],[11,92332,92334],{"id":92333},"before-build","Before build",[56,92336,92337,92344,92362,92369],{},[59,92338,92339,92340,92343],{},"Ensure that you have ",[611,92341,92342],{},"git"," installed",[59,92345,92346,1475,92349,92351,92352,92355,92356,92358,92359],{},[611,92347,92348],{},"beam-ui",[611,92350,784],{}," project use ",[611,92353,92354],{},"CMake"," to generate build environment. The minimal supported version of ",[611,92357,92354],{}," is ",[37,92360,92361],{},"3.13",[59,92363,92364,92365,92368],{},"Download and install ",[611,92366,92367],{},"boost"," library. The minimal supported version is 1.66",[59,92370,92364,92371,92374],{},[611,92372,92373],{},"OpenSSL"," library",[11,92376,92378],{"id":92377},"common-part","Common part",[56,92380,92381,92390],{},[59,92382,92383,92384],{},"Clone Beam sources before building",[616,92385,92388],{"className":92386,"code":92387,"language":621},[619],"git clone https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam.git\n",[611,92389,92387],{"__ignoreMap":14},[59,92391,92392,92393],{},"Beam has submodules",[616,92394,92397],{"className":92395,"code":92396,"language":621},[619],"cd beam\ngit submodule update --init --recursive\n",[611,92398,92396],{"__ignoreMap":14},[41,92400,92402],{"id":92401},"branch-convention","Branch convention",[56,92404,92405,92411,92420],{},[59,92406,92407,92408,92410],{},"We use ",[611,92409,90440],{}," branch for development.",[59,92412,92413,92414,92416,92417,92419],{},"To be able to connect to ",[611,92415,90421],{}," you have to checkout ",[611,92418,90421],{}," branch",[59,92421,92413,92422,92416,92424,92419],{},[611,92423,90400],{},[611,92425,90400],{},[41,92427,92429],{"id":92428},"cmake-options","CMake options",[34,92431,92432,92433,11260],{},"Beam uses CMake to generate a build. Beam has several options to say how to build the project, which feature to turn ON\u002FOFF. T\nPlease, look reference to root ",[611,92434,92435],{},"CMakeLists.txt",[11,92437,90457],{"id":90794},[56,92439,92440,92443,92458,92474,92482,92492],{},[59,92441,92442],{},"Install Visual Studio >= 2017 with CMake support.",[59,92444,92445,92446,92450,92451,92454,92455,181],{},"Download and install Boost prebuilt binaries ",[175,92447,92448],{"href":92448,"rel":92449},"https:\u002F\u002Fsourceforge.net\u002Fprojects\u002Fboost\u002Ffiles\u002Fboost-binaries\u002F1.75.0\u002Fboost_1_75_0-msvc-14.1-64.exe",[179],", also add ",[611,92452,92453],{},"BOOST_ROOT"," to the ",[100,92456,92457],{},"Environment Variables",[59,92459,92460,92461,10328,92465,92468,92469,92454,92472,181],{},"Download and install OpenSSL prebuilt binaries ",[175,92462,92463],{"href":92463,"rel":92464},"https:\u002F\u002Fslproweb.com\u002Fproducts\u002FWin32OpenSSL.html",[179],[611,92466,92467],{},"Win64 OpenSSL v1.1.0h"," for example) and add ",[611,92470,92471],{},"OPENSSL_ROOT_DIR",[100,92473,92457],{},[59,92475,17817,92476,92454,92479,181],{},[611,92477,92478],{},"...\u002Fboost_1_75_0\u002Flib64-msvc-14.1",[100,92480,92481],{},"System Path",[59,92483,92484,92485,92488,92489,181],{},"Open project folder in Visual Studio, select your target (",[611,92486,92487],{},"Release-x64"," for example, if you downloaded 64bit Boost and OpenSSL) and select ",[611,92490,92491],{},"CMake -> Build All",[59,92493,92494,92495],{},"Open cache folder\n",[616,92496,92499],{"className":92497,"code":92498,"language":621},[619],"Visual Studio 2017:\nGo to CMake -> Cache -> Open Cache Folder -> beam\n\nVisual Studio 2019:\nProject -> CMake Cache -> Open in Explorer\n\nYou'll find binaries in beam\u002F..., wallet\u002Fcli\u002F..., explorer\u002F... subfolders.\n",[611,92500,92498],{"__ignoreMap":14},[11,92502,90460],{"id":90910},[34,92504,92505],{},[37,92506,92507],{},"Please read carefully the points below",[34,92509,92510,92513,92514,92516,92517,92520,92521,92523,92524,92527],{},[37,92511,92512],{},"1."," After finishing your build you'll find the the ",[611,92515,90478],{}," binary (node) in the ",[611,92518,92519],{},"beam\u002Fbeam"," folder, ",[611,92522,90483],{}," (cli wallet) in the ",[611,92525,92526],{},"beam\u002Fwallet\u002Fcli"," folder.",[34,92529,92530,92533],{},[37,92531,92532],{},"2."," You need to clone beam sources before building",[616,92535,92537],{"className":92536,"code":92387,"language":621},[619],[611,92538,92387],{"__ignoreMap":14},[34,92540,92541,92542,92546],{},"The command above checks out the latest master branch where all the development happens. Usually it is not what you want to build. Choose an appropriate branch ",[175,92543,1248],{"href":92544,"rel":92545},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fbranches",[179]," and check out it after you have the main repository cloned. For example the command below checks out the Double Doppler 4.0 release branch",[616,92548,92551],{"className":92549,"code":92550,"language":621},[619],"cd beam\ngit checkout double_doppler_4.0RC\n",[611,92552,92550],{"__ignoreMap":14},[34,92554,92555,92558,92559,92562],{},[37,92556,92557],{},"3."," By default instructions produce masternet builds (development version, development blockchain). To be able to build testnet (testing) or mainnet (real-world blockchain) you need to edit the ",[611,92560,92561],{},"beam\u002FCMakeLists.txt"," file lines 151-157. Uncomment (remove the '#' sign) respective definitions.",[616,92564,92567],{"className":92565,"code":92566,"language":621},[619],"# uncomment next line for testnet\n#set(BEAM_TESTNET TRUE)\n# uncomment next line for mainnet\n#set(BEAM_MAINNET TRUE)\n\n# uncomment next line for swap mainnet\n#set(SWAP_MAINNET TRUE)\n",[611,92568,92566],{"__ignoreMap":14},[41,92570,92572],{"id":92571},"ubuntu-1804-desktop","Ubuntu 18.04 Desktop",[34,92574,92575],{},"Instructions below are valid for a clean default Ubuntu 18.04.03 Desktop LTS install. If your're building on an aged system please check that steps 1, 2 & 4 do not overwrite\u002Fconflict with more recent versions of cmake and boost that might have been installed before. You can omit cmake\u002Fboost installation if you already have more recent versions.",[56,92577,92578,92587,92596],{},[59,92579,92580,92581],{},"Install dependencies",[616,92582,92585],{"className":92583,"code":92584,"language":621},[619],"sudo add-apt-repository ppa:mhier\u002Flibboost-latest\nsudo apt-get update && sudo apt-get upgrade\nsudo apt-get install g++-8 libssl-dev curl wget git make \nsudo apt-get install libgl1-mesa-dev zlib1g-dev libboost-all-dev\n",[611,92586,92584],{"__ignoreMap":14},[59,92588,92589,92590],{},"Install cmake",[616,92591,92594],{"className":92592,"code":92593,"language":621},[619],"wget https:\u002F\u002Fcmake.org\u002Ffiles\u002Fv3.13\u002Fcmake-3.13.0-Linux-x86_64.sh\nsudo sh .\u002Fcmake-3.13.0-Linux-x86_64.sh --skip-license --prefix=\u002Fusr\n",[611,92595,92593],{"__ignoreMap":14},[59,92597,92598,92599],{},"Go to the Beam project folder and start the release build",[616,92600,92603],{"className":92601,"code":92602,"language":621},[619],"export CC=gcc-8 && export CXX=g++-8\ncmake -DCMAKE_BUILD_TYPE=Release && make -j 4\n",[611,92604,92602],{"__ignoreMap":14},[41,92606,92608],{"id":92607},"ubuntu-1804-server","Ubuntu 18.04 Server",[34,92610,92611],{},"Instructions below are valid for a clean default Ubuntu 18.04.03 Server LTS with all the updates applied during install. If your're building on an aged system please check that steps 1 & 2 do not overwrite\u002Fconflict with more recent versions of cmake and boost that might have been installed before. You can omit cmake\u002Fboost installation if you already have more recent versions.",[56,92613,92614,92622,92629],{},[59,92615,92580,92616],{},[616,92617,92620],{"className":92618,"code":92619,"language":621},[619],"sudo add-apt-repository ppa:mhier\u002Flibboost-latest\nsudo apt-get update && sudo apt-get upgrade\nsudo apt-get install g++-8 libssl-dev curl wget git make \nsudo apt-get install libgl1-mesa-dev zlib1g-dev libboost1.67-dev\n",[611,92621,92619],{"__ignoreMap":14},[59,92623,92589,92624],{},[616,92625,92627],{"className":92626,"code":92593,"language":621},[619],[611,92628,92593],{"__ignoreMap":14},[59,92630,92598,92631],{},[616,92632,92634],{"className":92633,"code":92602,"language":621},[619],[611,92635,92602],{"__ignoreMap":14},[41,92637,92639],{"id":92638},"ubuntu-1910-server","Ubuntu 19.10 Server",[34,92641,92642],{},"Instructions below are valid for a default Ubuntu 19.10 Server install with updates applied during install.",[56,92644,92645,92653],{},[59,92646,92580,92647],{},[616,92648,92651],{"className":92649,"code":92650,"language":621},[619],"sudo apt-get update && sudo apt-get upgrade\nsudo apt-get install g++ git make cmake libboost-all-dev zlib1g-dev\nsudo apt-get install libssl-dev\n",[611,92652,92650],{"__ignoreMap":14},[59,92654,92598,92655],{},[616,92656,92659],{"className":92657,"code":92658,"language":621},[619],"cmake -DCMAKE_BUILD_TYPE=Release . && make -j 4\n",[611,92660,92658],{"__ignoreMap":14},[41,92662,92664],{"id":92663},"ubuntu-1910-desktop","Ubuntu 19.10 Desktop",[34,92666,92667],{},"Instructions below are valid for a minimal Ubuntu 19.10 Desktop install with 'update during install' option enabled.",[56,92669,92670,92678],{},[59,92671,92580,92672],{},[616,92673,92676],{"className":92674,"code":92675,"language":621},[619],"sudo apt-get install g++ git make cmake libboost-all-dev zlib1g-dev\nsudo apt-get install libssl-dev \n",[611,92677,92675],{"__ignoreMap":14},[59,92679,92598,92680],{},[616,92681,92683],{"className":92682,"code":92658,"language":621},[619],[611,92684,92658],{"__ignoreMap":14},[41,92686,92688],{"id":92687},"centos-77","Centos 7.7",[34,92690,92691],{},"Instructions below are valid for a clean CentOS 7.0-1908 minimal install. If your're building on an aged system please check that steps 2 & 3 do not overwrite more recent versions of cmake and boost that might have been installed before.",[56,92693,92694,92702,92711,92718],{},[59,92695,92580,92696],{},[616,92697,92700],{"className":92698,"code":92699,"language":621},[619],"sudo yum update && shutdown -r now\nsudo yum install centos-release-scl yum-utils\nsudo yum-config-manager --enable rhel-server-rhscl-8-rpms\nsudo yum install devtoolset-8-gcc* \nscl enable devtoolset-8 bash\nsudo yum install git make wget openssl-devel\n",[611,92701,92699],{"__ignoreMap":14},[59,92703,92704,92705],{},"Build & install boost. This step could take considerable amount of time",[616,92706,92709],{"className":92707,"code":92708,"language":621},[619],"wget https:\u002F\u002Fdl.bintray.com\u002Fboostorg\u002Frelease\u002F1.66.0\u002Fsource\u002Fboost_1_66_0.tar.gz\ntar xzvf boost_1_66_0.tar.gz\ncd boost_1_66_0 && .\u002Fbootstrap.sh && sudo .\u002Fb2 install && cd ~\n",[611,92710,92708],{"__ignoreMap":14},[59,92712,92589,92713],{},[616,92714,92716],{"className":92715,"code":92593,"language":621},[619],[611,92717,92593],{"__ignoreMap":14},[59,92719,92720,92721],{},"Go to the beam sources folder and start the release build",[616,92722,92724],{"className":92723,"code":92658,"language":621},[619],[611,92725,92658],{"__ignoreMap":14},[41,92727,92729],{"id":92728},"centos-8","CentOS 8",[34,92731,92732],{},"Instructions below are valid for a clean CentOS 8.0-1905 minimal install. If your're building on an aged install please check that step 2 does not overwrite more recent version of cmake that might have been installed before.",[56,92734,92735,92743,92750],{},[59,92736,92580,92737],{},[616,92738,92741],{"className":92739,"code":92740,"language":621},[619],"sudo dnf update\nsudo dnf config-manager --set-enabled PowerTools\nsudo dnf install git make cmake gcc-c++ libstdc++-static boost-devel \nsudo dnf install openssl-devel tar wget \n",[611,92742,92740],{"__ignoreMap":14},[59,92744,92589,92745],{},[616,92746,92748],{"className":92747,"code":92593,"language":621},[619],[611,92749,92593],{"__ignoreMap":14},[59,92751,92720,92752],{},[616,92753,92755],{"className":92754,"code":92658,"language":621},[619],[611,92756,92658],{"__ignoreMap":14},[41,92758,92760],{"id":92759},"fedora-31-workstation","Fedora 31 Workstation",[34,92762,92763],{},"Instructions below are valid for a default Fedora 31-1.9 Workstation install.",[56,92765,92766,92774],{},[59,92767,92580,92768],{},[616,92769,92772],{"className":92770,"code":92771,"language":621},[619],"sudo dnf update && shutdown -r now\nsudo dnf install git make cmake gcc-c++ libstdc++-static boost-devel \nsudo dnf install zlib-devel openssl-devel tar \n",[611,92773,92771],{"__ignoreMap":14},[59,92775,92598,92776],{},[616,92777,92779],{"className":92778,"code":92658,"language":621},[619],[611,92780,92658],{"__ignoreMap":14},[41,92782,92784],{"id":92783},"fedora-31-server","Fedora 31 Server",[34,92786,92787],{},"Instructions below are valid for a default Fedora 31-1.9 Headless Server install.",[56,92789,92790,92798],{},[59,92791,92580,92792],{},[616,92793,92796],{"className":92794,"code":92795,"language":621},[619],"sudo dnf update && shutdown -r now\nsudo dnf install git make cmake gcc-c++ libstdc++-static boost-devel \nsudo dnf install zlib-devel openssl-devel tar\n",[611,92797,92795],{"__ignoreMap":14},[59,92799,92598,92800],{},[616,92801,92803],{"className":92802,"code":92658,"language":621},[619],[611,92804,92658],{"__ignoreMap":14},[11,92806,90463],{"id":90861},[56,92808,92809,92839,92842,92851,92860,92869,92878,92886,92899],{},[59,92810,92811,92812,92817,92819,92820,11339,92822,92824,92825,92831,10451,92833],{},"Download the source code by using:",[616,92813,92815],{"className":92814,"code":92387,"language":621},[619],[611,92816,92387],{"__ignoreMap":14},[4953,92818],{},"this will give you a master branch which is developer's version of Beam. To get ",[100,92821,90400],{},[100,92823,90421],{}," use",[616,92826,92829],{"className":92827,"code":92828,"language":621},[619],"git clone --branch mainnet https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam.git\n",[611,92830,92828],{"__ignoreMap":14},[4953,92832],{},[616,92834,92837],{"className":92835,"code":92836,"language":621},[619],"git clone --branch testnet https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam.git\n",[611,92838,92836],{"__ignoreMap":14},[59,92840,92841],{},"Install Brew Package Manager.",[59,92843,92844,92845],{},"Install necessary packages using:",[616,92846,92849],{"className":92847,"code":92848,"language":621},[619],"brew install openssl cmake\n",[611,92850,92848],{"__ignoreMap":14},[59,92852,92853,92854],{},"Remove any existing brew installations of boost:",[616,92855,92858],{"className":92856,"code":92857,"language":621},[619],"brew uninstall --ignore-dependencies boost\n",[611,92859,92857],{"__ignoreMap":14},[59,92861,92862,92863],{},"Download and install a compatible version of boost:",[616,92864,92867],{"className":92865,"code":92866,"language":621},[619],"curl -O https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Fhomebrew-core\u002F5da5895add2f6b9320d654dd844d4827f6876c8b\u002FFormula\u002Fboost.rb\nbrew install .\u002Fboost.rb\n",[611,92868,92866],{"__ignoreMap":14},[59,92870,92871,92872],{},"Set your Environment Variables by using the following:",[616,92873,92876],{"className":92874,"code":92875,"language":621},[619],"- export OPENSSL_ROOT_DIR=\"\u002Fusr\u002Flocal\u002Fopt\u002Fopenssl@1.1\"\n",[611,92877,92875],{"__ignoreMap":14},[59,92879,92880,92881],{},"Go to Beam project folder and call",[616,92882,92884],{"className":92883,"code":92658,"language":621},[619],[611,92885,92658],{"__ignoreMap":14},[59,92887,92888,92889,92892,92893],{},"Use ",[611,92890,92891],{},"cpack"," to get .dmg file. Go to Beam project folder and call",[616,92894,92897],{"className":92895,"code":92896,"language":621},[619],"cpack\n",[611,92898,92896],{"__ignoreMap":14},[59,92900,92901,92902,92904,92905,92908],{},"You'll find binaries in ",[611,92903,92526],{},", and ",[611,92906,92907],{},"beam\u002Fexplorer"," subfolders.",{"title":14,"searchDepth":15,"depth":15,"links":92910},[92911,92912,92913,92914,92915,92916,92917,92918,92919,92920],{"id":92401,"depth":15,"text":92402},{"id":92428,"depth":15,"text":92429},{"id":92571,"depth":15,"text":92572},{"id":92607,"depth":15,"text":92608},{"id":92638,"depth":15,"text":92639},{"id":92663,"depth":15,"text":92664},{"id":92687,"depth":15,"text":92688},{"id":92728,"depth":15,"text":92729},{"id":92759,"depth":15,"text":92760},{"id":92783,"depth":15,"text":92784},{},"\u002Fdocs\u002Fcore-tech\u002Fhow-to-build",{"description":92316},"docs\u002Fcore-tech\u002FHow-to-build","Ax3zBkQ_LYWm6_UueVcK7hdjPfwFlpdvwfZ0B8MfJZY",{"id":92927,"title":90457,"body":92928,"description":14,"extension":17,"image":18,"meta":93437,"navTitle":18,"navigation":20,"path":93438,"seo":93439,"stem":93440,"__hash__":93441},"docs\u002Fdocs\u002Fcore-tech\u002FHow-to-build(old).md",{"type":8,"value":92929,"toc":93427},[92930,92932,93018,93020,93024,93045,93049,93054,93059,93064,93070,93075,93081,93096,93098,93100,93134,93136,93138,93161,93163,93165,93183,93185,93187,93213,93215,93217,93220,93251,93253,93255,93280,93282,93284,93309,93311,93313,93329,93331,93418],[11,92931,90457],{"id":90794},[56,92933,92934,92936,92946,92957,92983,92993,92999],{},[59,92935,92442],{},[59,92937,92445,92938,92450,92942,92454,92944,181],{},[175,92939,92940],{"href":92940,"rel":92941},"https:\u002F\u002Fsourceforge.net\u002Fprojects\u002Fboost\u002Ffiles\u002Fboost-binaries\u002F1.68.0\u002Fboost_1_68_0-msvc-14.1-64.exe",[179],[611,92943,92453],{},[100,92945,92457],{},[59,92947,92460,92948,10328,92951,92468,92953,92454,92955,181],{},[175,92949,92463],{"href":92463,"rel":92950},[179],[611,92952,92467],{},[611,92954,92471],{},[100,92956,92457],{},[59,92958,92959,92960,92964,92965,92454,92968,92970,92971,92974,92975,92978,92979,92982],{},"Download and install QT 5.11 ",[175,92961,92962],{"href":92962,"rel":92963},"http:\u002F\u002Fmaster.qt.io\u002Fnew_archive\u002Fqt\u002F5.11\u002F5.11.0\u002Fqt-opensource-windows-x86-5.11.0.exe",[179]," and add ",[611,92966,92967],{},"QT5_ROOT_DIR",[100,92969,92457],{}," (usually it looks like ",[611,92972,92973],{},"...\u002F5.11.0\u002Fmsvc2017_64","), also add ",[611,92976,92977],{},"QML_IMPORT_PATH"," (it should look like ",[611,92980,92981],{},"%QT5_ROOT_DIR%\\qml","). BTW disabling system antivirus on Windows makes QT installing process much faster.",[59,92984,17817,92985,1475,92988,92454,92991,181],{},[611,92986,92987],{},"...\u002Fqt511\u002F5.11.1\u002Fmsvc2017_64\u002Fbin",[611,92989,92990],{},"...\u002Fboost_1_68_0\u002Flib64-msvc-14.1",[100,92992,92481],{},[59,92994,92484,92995,92488,92997,181],{},[611,92996,92487],{},[611,92998,92491],{},[59,93000,460,93001,93004,93005,2231,93008,2231,93011,2231,93014,93017],{},[611,93002,93003],{},"CMake -> Cache -> Open Cache Folder -> beam"," (you'll find binaries in ",[611,93006,93007],{},"beam\u002F...",[611,93009,93010],{},"wallet\u002F...",[611,93012,93013],{},"ui\u002F...",[611,93015,93016],{},"explorer\u002F..."," subfolders).",[11,93019,90460],{"id":90910},[34,93021,93022],{},[37,93023,92507],{},[34,93025,93026,92513,93028,92516,93030,92520,93032,92523,93034,93037,93038,93041,93042,92527],{},[37,93027,92512],{},[611,93029,90478],{},[611,93031,92519],{},[611,93033,90483],{},[611,93035,93036],{},"beam\u002Fwallet"," folder and ",[611,93039,93040],{},"BeamWallet"," (GUI wallet) in the ",[611,93043,93044],{},"beam\u002Fui",[34,93046,93047,92533],{},[37,93048,92532],{},[616,93050,93052],{"className":93051,"code":92387,"language":621},[619],[611,93053,92387],{"__ignoreMap":14},[34,93055,92541,93056,92546],{},[175,93057,1248],{"href":92544,"rel":93058},[179],[616,93060,93062],{"className":93061,"code":92550,"language":621},[619],[611,93063,92550],{"__ignoreMap":14},[34,93065,93066,92558,93068,92562],{},[37,93067,92557],{},[611,93069,92561],{},[616,93071,93073],{"className":93072,"code":92566,"language":621},[619],[611,93074,92566],{"__ignoreMap":14},[34,93076,93077,93080],{},[37,93078,93079],{},"4."," Server instructions result only in a valid build and enable you running all the CLI tools. They are not intended to ensure that you would be able to run the UI. Desktop build instructions include additional steps to ensure that the UI can be launched.",[34,93082,93083,93086,93087,93092,93093,93095],{},[37,93084,93085],{},"5."," At the moment building the UI can take a lot of time (a few hours) due to the bug in QT: ",[175,93088,93091],{"href":93089,"rel":93090},"https:\u002F\u002Fbugreports.qt.io\u002Fbrowse\u002FQTBUG-27936",[179],"QTBUG-27936",". To skip building the UI pass ",[611,93094,90471],{}," to cmake. You can also omit all Qt5 dependencies in this case.",[41,93097,92572],{"id":92571},[34,93099,92575],{},[56,93101,93102,93110,93117,93125],{},[59,93103,92580,93104],{},[616,93105,93108],{"className":93106,"code":93107,"language":621},[619],"sudo add-apt-repository ppa:beineri\u002Fopt-qt-5.11.0-bionic\nsudo add-apt-repository ppa:mhier\u002Flibboost-latest\nsudo apt-get update && sudo apt-get upgrade\nsudo apt-get install g++-8 libssl-dev curl wget git make \nsudo apt-get install libgl1-mesa-dev zlib1g-dev libboost1.67-dev\nsudo apt-get install qt511base qt511declarative qt511svg qt511tools \n",[611,93109,93107],{"__ignoreMap":14},[59,93111,92589,93112],{},[616,93113,93115],{"className":93114,"code":92593,"language":621},[619],[611,93116,92593],{"__ignoreMap":14},[59,93118,92598,93119],{},[616,93120,93123],{"className":93121,"code":93122,"language":621},[619],"export PATH=\u002Fopt\u002Fqt511\u002Fbin:$PATH && export CC=gcc-8 && export CXX=g++-8\ncmake -DCMAKE_BUILD_TYPE=Release && make -j4\n",[611,93124,93122],{"__ignoreMap":14},[59,93126,93127,93128],{},"To be able to run the UI (BeamWallet) install additional dependencies",[616,93129,93132],{"className":93130,"code":93131,"language":621},[619],"sudo apt-get install qt511quick* qt511graphicaleffects\n",[611,93133,93131],{"__ignoreMap":14},[41,93135,92608],{"id":92607},[34,93137,92611],{},[56,93139,93140,93147,93154],{},[59,93141,92580,93142],{},[616,93143,93145],{"className":93144,"code":93107,"language":621},[619],[611,93146,93107],{"__ignoreMap":14},[59,93148,92589,93149],{},[616,93150,93152],{"className":93151,"code":92593,"language":621},[619],[611,93153,92593],{"__ignoreMap":14},[59,93155,92598,93156],{},[616,93157,93159],{"className":93158,"code":93122,"language":621},[619],[611,93160,93122],{"__ignoreMap":14},[41,93162,92639],{"id":92638},[34,93164,92642],{},[56,93166,93167,93175],{},[59,93168,92580,93169],{},[616,93170,93173],{"className":93171,"code":93172,"language":621},[619],"sudo apt-get update && sudo apt-get upgrade\nsudo apt-get install g++ git make cmake libboost-all-dev zlib1g-dev\nsudo apt-get install libssl-dev qtbase5-dev qtdeclarative5-dev \nsudo apt-get install libqt5svg5-dev qttools5-dev qt5-default\n",[611,93174,93172],{"__ignoreMap":14},[59,93176,92598,93177],{},[616,93178,93181],{"className":93179,"code":93180,"language":621},[619],"cmake -DCMAKE_BUILD_TYPE=Release . && make -j4\n",[611,93182,93180],{"__ignoreMap":14},[41,93184,92664],{"id":92663},[34,93186,92667],{},[56,93188,93189,93197,93204],{},[59,93190,92580,93191],{},[616,93192,93195],{"className":93193,"code":93194,"language":621},[619],"sudo apt-get install g++ git make cmake libboost-all-dev zlib1g-dev\nsudo apt-get install libssl-dev qtbase5-dev qtdeclarative5-dev \nsudo apt-get install libqt5svg5-dev qttools5-dev qt5-default\n",[611,93196,93194],{"__ignoreMap":14},[59,93198,92598,93199],{},[616,93200,93202],{"className":93201,"code":93180,"language":621},[619],[611,93203,93180],{"__ignoreMap":14},[59,93205,93206,93207],{},"To be able not only to build but also to run the UI (BeamWallet) you need to install additional dependencies",[616,93208,93211],{"className":93209,"code":93210,"language":621},[619],"sudo apt-get install qml-module-qt*\n",[611,93212,93210],{"__ignoreMap":14},[41,93214,92688],{"id":92687},[34,93216,92691],{},[34,93218,93219],{},"N.B. These build instruction provide only commandline tools including node but no GUI wallet. Use newer operating system with more up to date Qt libraries (5.11+) to effortlessly build the UI.",[56,93221,93222,93229,93236,93243],{},[59,93223,92580,93224],{},[616,93225,93227],{"className":93226,"code":92699,"language":621},[619],[611,93228,92699],{"__ignoreMap":14},[59,93230,92704,93231],{},[616,93232,93234],{"className":93233,"code":92708,"language":621},[619],[611,93235,92708],{"__ignoreMap":14},[59,93237,92589,93238],{},[616,93239,93241],{"className":93240,"code":92593,"language":621},[619],[611,93242,92593],{"__ignoreMap":14},[59,93244,92720,93245],{},[616,93246,93249],{"className":93247,"code":93248,"language":621},[619],"cmake -DCMAKE_BUILD_TYPE=Release -DBEAM_NO_QT_UI_WALLET=On . && make -j4\n",[611,93250,93248],{"__ignoreMap":14},[41,93252,92729],{"id":92728},[34,93254,92732],{},[56,93256,93257,93265,93272],{},[59,93258,92580,93259],{},[616,93260,93263],{"className":93261,"code":93262,"language":621},[619],"sudo dnf update\nsudo dnf config-manager --set-enabled PowerTools\nsudo dnf install git make cmake gcc-c++ libstdc++-static boost-devel \nsudo dnf install openssl-devel tar wget qt5-qtbase-devel qt5-linguist\nsudo dnf install qt5-qtsvg-devel qt5-qtdeclarative-devel \n",[611,93264,93262],{"__ignoreMap":14},[59,93266,92589,93267],{},[616,93268,93270],{"className":93269,"code":92593,"language":621},[619],[611,93271,92593],{"__ignoreMap":14},[59,93273,92720,93274],{},[616,93275,93278],{"className":93276,"code":93277,"language":621},[619],"export PATH=${PATH}:\u002Fusr\u002Flib64\u002Fqt5\u002Fbin\ncmake -DCMAKE_BUILD_TYPE=Release . && make -j4\n",[611,93279,93277],{"__ignoreMap":14},[41,93281,92760],{"id":92759},[34,93283,92763],{},[56,93285,93286,93294,93301],{},[59,93287,92580,93288],{},[616,93289,93292],{"className":93290,"code":93291,"language":621},[619],"sudo dnf update && shutdown -r now\nsudo dnf install git make cmake gcc-c++ libstdc++-static boost-devel \nsudo dnf install zlib-devel openssl-devel tar qt5-qtbase-devel qt5-linguist\nsudo dnf install qt5-qtsvg-devel qt5-qtdeclarative-devel \n",[611,93293,93291],{"__ignoreMap":14},[59,93295,92598,93296],{},[616,93297,93299],{"className":93298,"code":93180,"language":621},[619],[611,93300,93180],{"__ignoreMap":14},[59,93302,93127,93303],{},[616,93304,93307],{"className":93305,"code":93306,"language":621},[619],"sudo dnf install qt5-qtquickcontrols qt5-qtquickcontrols2\n",[611,93308,93306],{"__ignoreMap":14},[41,93310,92784],{"id":92783},[34,93312,92787],{},[56,93314,93315,93322],{},[59,93316,92580,93317],{},[616,93318,93320],{"className":93319,"code":93291,"language":621},[619],[611,93321,93291],{"__ignoreMap":14},[59,93323,92598,93324],{},[616,93325,93327],{"className":93326,"code":93180,"language":621},[619],[611,93328,93180],{"__ignoreMap":14},[11,93330,90463],{"id":90861},[56,93332,93333,93358,93360,93367,93376,93383,93390,93398,93405,93410],{},[59,93334,92811,93335,93340,92819,93342,11339,93344,92824,93346,93351,10451,93353],{},[616,93336,93338],{"className":93337,"code":92387,"language":621},[619],[611,93339,92387],{"__ignoreMap":14},[4953,93341],{},[100,93343,90400],{},[100,93345,90421],{},[616,93347,93349],{"className":93348,"code":92828,"language":621},[619],[611,93350,92828],{"__ignoreMap":14},[4953,93352],{},[616,93354,93356],{"className":93355,"code":92836,"language":621},[619],[611,93357,92836],{"__ignoreMap":14},[59,93359,92841],{},[59,93361,92844,93362],{},[616,93363,93365],{"className":93364,"code":92848,"language":621},[619],[611,93366,92848],{"__ignoreMap":14},[59,93368,93369,93370],{},"Remove any existing brew installations of qt and boost:",[616,93371,93374],{"className":93372,"code":93373,"language":621},[619],"brew uninstall --ignore-dependencies qt boost\n",[611,93375,93373],{"__ignoreMap":14},[59,93377,92862,93378],{},[616,93379,93381],{"className":93380,"code":92866,"language":621},[619],[611,93382,92866],{"__ignoreMap":14},[59,93384,93385,93386],{},"Download and install QT5.11 from the official website ",[175,93387,93388],{"href":93388,"rel":93389},"http:\u002F\u002Fmaster.qt.io\u002Fnew_archive\u002Fqt\u002F5.11\u002F5.11.0\u002Fqt-opensource-mac-x64-5.11.0.dmg",[179],[59,93391,92871,93392],{},[616,93393,93396],{"className":93394,"code":93395,"language":621},[619],"- export OPENSSL_ROOT_DIR=\"\u002Fusr\u002Flocal\u002Fopt\u002Fopenssl@1.1\"\n- export PATH=\u002FUsers\u002F\u003Cusername>\u002FQt5.11.0\u002F5.11.0\u002Fclang_64\u002Fbin:$PATH\n- export QT5_ROOT_DIR=\u002FUsers\u002F\u003Cusername>\u002FQt5.11.0\u002F5.11.0\u002F\n- export QML_IMPORT_PATH=\"\u002FUsers\u002F\u003Cusername>\u002FQt5.11.0\u002F5.11.0\u002Fqml\"\n",[611,93397,93395],{"__ignoreMap":14},[59,93399,92880,93400],{},[616,93401,93403],{"className":93402,"code":93180,"language":621},[619],[611,93404,93180],{"__ignoreMap":14},[59,93406,92888,93407,93409],{},[611,93408,92891],{}," to get .dmg file",[59,93411,92901,93412,2231,93414,92904,93416,92908],{},[611,93413,93036],{},[611,93415,93044],{},[611,93417,92907],{},[34,93419,93420,93421,93423,93424,181],{},"If you don't want to build UI don't install QT5 and add ",[611,93422,90471],{}," command line parameter when you are calling ",[611,93425,93426],{},"cmake",{"title":14,"searchDepth":15,"depth":15,"links":93428},[93429,93430,93431,93432,93433,93434,93435,93436],{"id":92571,"depth":15,"text":92572},{"id":92607,"depth":15,"text":92608},{"id":92638,"depth":15,"text":92639},{"id":92663,"depth":15,"text":92664},{"id":92687,"depth":15,"text":92688},{"id":92728,"depth":15,"text":92729},{"id":92759,"depth":15,"text":92760},{"id":92783,"depth":15,"text":92784},{},"\u002Fdocs\u002Fcore-tech\u002Fhow-to-build(old)",{"title":90457,"description":14},"docs\u002Fcore-tech\u002FHow-to-build(old)","9nwQ29l0Vzmu6f52K5taYtUvWYasLEc4Z3dcW5i2ABk",{"id":93443,"title":93444,"body":93445,"description":93449,"extension":17,"image":18,"meta":93555,"navTitle":18,"navigation":20,"path":93556,"seo":93557,"stem":93558,"__hash__":93559},"docs\u002Fdocs\u002Fcore-tech\u002FHow-to-remove-the-Desktop-Wallet-files-in-a-manual-way.md","How To Remove The Desktop Wallet Files In A Manual Way",{"type":8,"value":93446,"toc":93550},[93447,93450,93452,93466,93470,93478,93499,93503,93508,93524,93528,93533,93547],[34,93448,93449],{},"Since the current versions of the Desktop Wallet are not backward compatible, it is required to remove the files manually before upgrading to the next major version.",[34,93451,2785],{},[852,93453,93454,93457,93463],{},[59,93455,93456],{},"On Mac and Windows the wallet files reside in directories which are not shown by default, yet they can be accessed via a command line interface (see the examples below).",[59,93458,93459,93460,93462],{},"On Mac and Windows the wallet files reside (by default) in a home directory of the user. In the examples below the user name is ",[611,93461,10200],{}," on all the platforms.",[59,93464,93465],{},"The suggested commands will unconditionally remove the files, an action which cannot be undone.",[48,93467,93469],{"id":93468},"on-windows","On Windows",[852,93471,93472,93475],{},[59,93473,93474],{},"Push windows button+R, the Run window will appear. Type cmd and click OK.",[59,93476,93477],{},"In the window that appears, paste the following command and click enter:",[616,93479,93483],{"className":93480,"code":93481,"language":93482,"meta":14,"style":14},"language-sh shiki shiki-themes github-dark","RD \u002Fs \u002Fq \"C:\\Users\\alice\\AppData\\Local\\Beam Wallet\"\n","sh",[611,93484,93485],{"__ignoreMap":14},[6995,93486,93487,93490,93493,93496],{"class":244,"line":6997},[6995,93488,93489],{"class":11320},"RD",[6995,93491,93492],{"class":7012}," \u002Fs",[6995,93494,93495],{"class":7012}," \u002Fq",[6995,93497,93498],{"class":7012}," \"C:\\Users\\alice\\AppData\\Local\\Beam Wallet\"\n",[48,93500,93502],{"id":93501},"on-mac","On Mac",[852,93504,93505],{},[59,93506,93507],{},"Open the Terminal app, paste the following command and click enter:",[616,93509,93511],{"className":93480,"code":93510,"language":93482,"meta":14,"style":14},"rm -R \"\u002FUsers\u002Falice\u002FLibrary\u002FApplication Support\u002FBeam Wallet\"\n",[611,93512,93513],{"__ignoreMap":14},[6995,93514,93515,93518,93521],{"class":244,"line":6997},[6995,93516,93517],{"class":11320},"rm",[6995,93519,93520],{"class":7006}," -R",[6995,93522,93523],{"class":7012}," \"\u002FUsers\u002Falice\u002FLibrary\u002FApplication Support\u002FBeam Wallet\"\n",[48,93525,93527],{"id":93526},"on-linux","On Linux",[852,93529,93530],{},[59,93531,93532],{},"Run the following command in terminal:",[616,93534,93536],{"className":93480,"code":93535,"language":93482,"meta":14,"style":14},"rm -R \".local\u002Fshare\u002FBeam Wallet\"\n",[611,93537,93538],{"__ignoreMap":14},[6995,93539,93540,93542,93544],{"class":244,"line":6997},[6995,93541,93517],{"class":11320},[6995,93543,93520],{"class":7006},[6995,93545,93546],{"class":7012}," \".local\u002Fshare\u002FBeam Wallet\"\n",[8692,93548,93549],{},"html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}",{"title":14,"searchDepth":15,"depth":15,"links":93551},[93552,93553,93554],{"id":93468,"depth":154,"text":93469},{"id":93501,"depth":154,"text":93502},{"id":93526,"depth":154,"text":93527},{},"\u002Fdocs\u002Fcore-tech\u002Fhow-to-remove-the-desktop-wallet-files-in-a-manual-way",{"description":93449},"docs\u002Fcore-tech\u002FHow-to-remove-the-Desktop-Wallet-files-in-a-manual-way","YZMvcFLyTXVj2ySiqa07sqXEWNyYFJk5iwfsGjr1Bxc",{"id":93561,"title":93562,"body":93563,"description":14,"extension":17,"image":18,"meta":93776,"navTitle":18,"navigation":20,"path":93777,"seo":93778,"stem":93779,"__hash__":93780},"docs\u002Fdocs\u002Fcore-tech\u002FHow-to-test-Beam-with-Trezor-wallet.md","How To Test Beam With Trezor Wallet",{"type":8,"value":93564,"toc":93763},[93565,93569,93580,93595,93599,93606,93610,93634,93638,93645,93651,93655,93686,93688,93710,93714],[41,93566,93568],{"id":93567},"preparing","Preparing",[48,93570,93572,93573,1475,93576,93579],{"id":93571},"install-git-and-python3-with-pip3","Install ",[37,93574,93575],{},"Git",[37,93577,93578],{},"Python3"," (with pip3)",[852,93581,93582,93588],{},[59,93583,93584,93585],{},"Debain\u002FUbuntu: ",[611,93586,93587],{},"sudo apt-get -y install git python3 python3-pip",[59,93589,93590,93591],{},"Windows\u002FMacOS: download from ",[175,93592,93593],{"href":93593,"rel":93594},"https:\u002F\u002Fwww.python.org\u002Fdownloads",[179],[48,93596,93598],{"id":93597},"install-trezor-bridge","Install Trezor Bridge",[34,93600,460,93601,93605],{},[175,93602,93603],{"href":93603,"rel":93604},"https:\u002F\u002Fwallet.trezor.io\u002F#\u002Fbridge",[179],", download and install.",[48,93607,93609],{"id":93608},"install-protobuf-compiler","Install Protobuf Compiler",[34,93611,460,93612,93616,93617,93620,93621,93623,93624,93627,93628,7024,93631,181],{},[175,93613,93614],{"href":93614,"rel":93615},"https:\u002F\u002Fgithub.com\u002Fprotocolbuffers\u002Fprotobuf\u002Freleases",[179]," and download the latest ",[611,93618,93619],{},"protoc"," for your OS.",[4953,93622],{},"\nExtract it and add ",[611,93625,93626],{},"\u003Cpath to protoc folder>\u002Fbin"," path to the system ",[611,93629,93630],{},"PATH",[611,93632,93633],{},"export PATH=$PATH:\u002F\u003Cpath to protoc folder>\u002Fbin",[48,93635,93637],{"id":93636},"build-firmware-loader","Build Firmware Loader",[34,93639,93640,93641,93644],{},"Run the following commands (don't use ",[611,93642,93643],{},"sudo"," prefix on Windows):",[616,93646,93649],{"className":93647,"code":93648,"language":621},[619],"git clone https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fpython-trezor.git\ncd python-trezor\ngit checkout beam\ngit submodule update --init --recursive --force\n\nsudo pip3 install protobuf click requests mnemonic construct ecdsa pyblake2 typing_extensions\npython3 setup.py prebuild\n",[611,93650,93648],{"__ignoreMap":14},[41,93652,93654],{"id":93653},"install-the-firmware","Install the firmware",[852,93656,93657,93663,93672,93679],{},[59,93658,93659,93660,6618],{},"Wipe your Trezor device using ",[611,93661,93662],{},"python3 .\u002Ftrezorctl wipe-device",[59,93664,460,93665,93616,93669,181],{},[175,93666,93667],{"href":93667,"rel":93668},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Ftrezor_beam_minimal_wallet\u002Freleases",[179],[611,93670,93671],{},"firmware.bin",[59,93673,93674,93675,2344],{},"Restart the device to enter bootloader mode (video how to do it ",[175,93676,93677],{"href":93677,"rel":93678},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=xVBiSFTx0qQ",[179],[59,93680,93681,93682,93685],{},"Call ",[611,93683,93684],{},"python3 .\u002Ftrezorctl firmware-update -f \u003Cpath to firmware folder>\u002Ffirmware.bin"," to install firmware.",[48,93687,90457],{"id":90794},[852,93689,93690,93700,93705],{},[59,93691,93572,93692,98,93695,93699],{},[611,93693,93694],{},"trezorctl",[175,93696,93697],{"href":93697,"rel":93698},"https:\u002F\u002Fwiki.trezor.io\u002FInstalling_trezorctl_on_Windows",[179]," .",[59,93701,93674,93702,2344],{},[175,93703,93677],{"href":93677,"rel":93704},[179],[59,93706,93681,93707,93685],{},[611,93708,93709],{},"trezorctl firmware-update -f \u003Cpath to firmware folder>\u002Ffirmware.bin",[41,93711,93713],{"id":93712},"test-beam-with-trezor","Test Beam with Trezor",[852,93715,93716,93723,93731,93741,93750,93760],{},[59,93717,460,93718,93722],{},[175,93719,93720],{"href":93720,"rel":93721},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ftrezor_build",[179]," and download\u002Finstall the latest build.",[59,93724,93725,93726,93730],{},"Connect your device, go to ",[175,93727,93728],{"href":93728,"rel":93729},"https:\u002F\u002Ftrezor.io\u002Fstart",[179],", create a new wallet or recover with your seed phrase.",[59,93732,93733,93734,93736,93737,93740],{},"Run installed ",[37,93735,1724],{}," and push ",[611,93738,93739],{},"create new Trezor wallet"," button.",[59,93742,93743,93744,93746,93747],{},"Agree with generating ",[37,93745,8816],{}," on Trezor device and wait, it usually takes about 15 sec.\n",[241,93748],{"alt":8715,"src":93749},"https:\u002F\u002Fuser-images.githubusercontent.com\u002F1101448\u002F65770926-c5d87f80-e13f-11e9-9095-a9fbac692917.png",[59,93751,93752,93753,93756,93757],{},"Remember generated password from the ",[611,93754,93755],{},"Key Password"," page and enter it in the Beam Wallet.\n",[241,93758],{"alt":8715,"src":93759},"https:\u002F\u002Fuser-images.githubusercontent.com\u002F1101448\u002F65770789-7e51f380-e13f-11e9-899e-33dc09d96787.png",[59,93761,93762],{},"Hurray, the wallet is initialized, now try to send\u002Freceive beams to test how it works...",{"title":14,"searchDepth":15,"depth":15,"links":93764},[93765,93772,93775],{"id":93567,"depth":15,"text":93568,"children":93766},[93767,93769,93770,93771],{"id":93571,"depth":154,"text":93768},"Install Git and Python3 (with pip3)",{"id":93597,"depth":154,"text":93598},{"id":93608,"depth":154,"text":93609},{"id":93636,"depth":154,"text":93637},{"id":93653,"depth":15,"text":93654,"children":93773},[93774],{"id":90794,"depth":154,"text":90457},{"id":93712,"depth":15,"text":93713},{},"\u002Fdocs\u002Fcore-tech\u002Fhow-to-test-beam-with-trezor-wallet",{"description":14},"docs\u002Fcore-tech\u002FHow-to-test-Beam-with-Trezor-wallet","PzFLFafLa0W2dNNbP01OTCnp1TmqBLg3XmNY_AIwh3Q",{"id":93782,"title":93783,"body":93784,"description":94667,"extension":17,"image":18,"meta":94668,"navTitle":18,"navigation":20,"path":94669,"seo":94670,"stem":94671,"__hash__":94672},"docs\u002Fdocs\u002Fcore-tech\u002FInstructions-for-Command-Line-Node.md","This documentation is obsolete",{"type":8,"value":93785,"toc":94659},[93786,93789,93797,93801,93848,93852,93889,93893,93968,93972,94115,94119,94123,94207,94211,94316,94320,94450,94454,94459,94463,94500,94504,94554,94558,94600,94608,94622,94625,94631,94637,94649,94651,94656],[11,93787,93783],{"id":93788},"this-documentation-is-obsolete",[34,93790,93791,93792],{},"Please refer to ",[175,93793,93796],{"href":93794,"rel":93795},"https:\u002F\u002Fbeam-docs.readthedocs.io\u002Fen\u002Flatest\u002Frtd_pages\u002Fuser_beam_node_guide.html",[179],"Beam Node User Guide",[11,93798,93800],{"id":93799},"running-a-node","Running a node",[852,93802,93803,93810,93821,93827,93830,93836,93842],{},[59,93804,93805],{},[175,93806,93809],{"href":93807,"rel":93808},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmaster\u002Fbeam",[179],"Node source code",[59,93811,93812,93813,93817,93818,2344],{},"Node binaries for Windows, Mac and Linux can be downloaded from the Beam website (",[175,93814,93815],{"href":93815,"rel":93816},"http:\u002F\u002Fbeam.mw\u002Fdownloads",[179],") or GitHub (",[175,93819,90409],{"href":90409,"rel":93820},[179],[59,93822,93823,93824,93826],{},"Node parameters can be either passed through command line or specified in the configuration file called ",[611,93825,91010],{}," and located in the same folder the node resides in.",[59,93828,93829],{},"For every parameter, the value in the command line prevails over configuration file.",[59,93831,93832,93833,93835],{},"The log files are located in the ",[611,93834,91022],{}," folder, which in turn resides in the node folder.",[59,93837,93838,93839,93841],{},"Once started, the node will create a ",[611,93840,11829],{}," file in the same folder it is located. This file will store an internal state of the node.",[59,93843,93844,93845,181],{},"Upon the first launch, the node will download current blockchain history in batch mode as a single large macroblock. After the initial sync is complete, the node will continue to sync blocks and individual transactions from the current blockchain Tip (height) and onwards. This can be seen in the log entry: ",[611,93846,93847],{},"My Tip: 24704-f2ab414ba6430d85",[11,93849,93851],{"id":93850},"command-line-execution-example","Command line execution example:",[616,93853,93855],{"className":93480,"code":93854,"language":93482,"meta":14,"style":14},".\u002Fbeam-node --peer 104.248.159.154:8100 --mining_threads 1 --file_log_level debug --key_mine=Ipte\u002FcVRHvS72U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuWhjPJ2OwBn6ZkxKKpLX0W9PvHhGIUVPz8d6CL5CSB8fjt4kA== --key_view=xj7uVZh7kWaY2U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuVqiydGxomYaF2lQcc92Rzm3HBqsvk9LrFZlrksacvpDgteNLqxQJ4DUD+iKiDYvXy+VLCui125Rw69lO+8gxnxMM5j1rk= --pass=123\n",[611,93856,93857],{"__ignoreMap":14},[6995,93858,93859,93862,93865,93868,93871,93874,93877,93880,93883,93886],{"class":244,"line":6997},[6995,93860,93861],{"class":11320},".\u002Fbeam-node",[6995,93863,93864],{"class":7006}," --peer",[6995,93866,93867],{"class":7012}," 104.248.159.154:8100",[6995,93869,93870],{"class":7006}," --mining_threads",[6995,93872,93873],{"class":7006}," 1",[6995,93875,93876],{"class":7006}," --file_log_level",[6995,93878,93879],{"class":7012}," debug",[6995,93881,93882],{"class":7006}," --key_mine=Ipte\u002FcVRHvS72U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuWhjPJ2OwBn6ZkxKKpLX0W9PvHhGIUVPz8d6CL5CSB8fjt4kA==",[6995,93884,93885],{"class":7006}," --key_view=xj7uVZh7kWaY2U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuVqiydGxomYaF2lQcc92Rzm3HBqsvk9LrFZlrksacvpDgteNLqxQJ4DUD+iKiDYvXy+VLCui125Rw69lO+8gxnxMM5j1rk=",[6995,93887,93888],{"class":7006}," --pass=123\n",[41,93890,93892],{"id":93891},"node-command-line-parameters-explained","Node command line parameters explained:",[4998,93894,93895,93904],{},[5001,93896,93897],{},[5004,93898,93899,93902],{},[5007,93900,93901],{},"Name",[5007,93903,5012],{},[5014,93905,93906,93916,93926,93939,93948,93958],{},[5004,93907,93908,93913],{},[5019,93909,93910],{},[611,93911,93912],{},"peer",[5019,93914,93915],{},"Specifies a comma-separated list of peers the node will initially connect to. After the connection is established, the node will get an updated list of peers from other nodes, along with peer ratings and from that moment the node will manage its connections on its own.",[5004,93917,93918,93923],{},[5019,93919,93920],{},[611,93921,93922],{},"key_mine",[5019,93924,93925],{},"A password-protected secret key, exported by the wallet, that should be used for standalone mining (when the owner wallet is offline). If not specified - mining would be possible only when the owner wallet is online",[5004,93927,93928,93933],{},[5019,93929,93930],{},[611,93931,93932],{},"key_view",[5019,93934,93935,93936,93938],{},"A semicolon-separated list of password-protected viewer keys, exported by the wallet, that should be monitored by the node. The wallet master viewer key is also needed for node-wallet authentication. The ",[611,93937,93922],{},", if set, is also included implicitly",[5004,93940,93941,93945],{},[5019,93942,93943],{},[611,93944,15361],{},[5019,93946,93947],{},"A password that should be used to access they encoded keys.",[5004,93949,93950,93955],{},[5019,93951,93952],{},[611,93953,93954],{},"mining_treads",[5019,93956,93957],{},"Specifies the number of CPU cores utilized for mining. If set to 0, node acts as a validating node only.",[5004,93959,93960,93965],{},[5019,93961,93962],{},[611,93963,93964],{},"file_log_level",[5019,93966,93967],{},"Allows to raise the debug level when a deeper investigation is required.",[11,93969,93971],{"id":93970},"config-file-example","Config file example:",[616,93973,93975],{"className":93480,"code":93974,"language":93482,"meta":14,"style":14},"# port to start server on\nport=10000\n\n# secret key for mining.\nkey_mine=Ipte\u002FcVRHvS72U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuWhjPJ2OwBn6ZkxKKpLX0W9PvHhGIUVPz8d6CL5CSB8fjt4kA==\n\n# All the viewer keys.\n--key_view=xj7uVZh7kWaY2U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuVqiydGxomYaF2lQcc92Rzm3HBqsvk9LrFZlrksacvpDgteNLqxQJ4DUD+iKiDYvXy+VLCui125Rw69lO+8gxnxMM5j1rk=\n\n# Password. If required (at least 1 key specified) and not set - will be asked after launch.\n--pass=123\n\n# number of mining threads(there is no mining if 0)\nmining_threads=1\n\n# peers\npeer=104.248.159.154:8100\n\n# miner type\nminer_type=cpu\n",[611,93976,93977,93982,93992,93996,94001,94018,94022,94027,94042,94046,94051,94060,94064,94069,94078,94082,94087,94096,94100,94105],{"__ignoreMap":14},[6995,93978,93979],{"class":244,"line":6997},[6995,93980,93981],{"class":7359},"# port to start server on\n",[6995,93983,93984,93987,93989],{"class":244,"line":15},[6995,93985,93986],{"class":7000},"port",[6995,93988,6673],{"class":11296},[6995,93990,93991],{"class":7012},"10000\n",[6995,93993,93994],{"class":244,"line":154},[6995,93995,14371],{"emptyLinePlaceholder":20},[6995,93997,93998],{"class":244,"line":7033},[6995,93999,94000],{"class":7359},"# secret key for mining.\n",[6995,94002,94003,94005,94007,94010,94013,94015],{"class":244,"line":7044},[6995,94004,93922],{"class":7000},[6995,94006,6673],{"class":11296},[6995,94008,94009],{"class":7012},"Ipte\u002FcVRHvS72U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+",[6995,94011,94012],{"class":7000},"qmcVEuWhjPJ2OwBn6ZkxKKpLX0W9PvHhGIUVPz8d6CL5CSB8fjt4kA",[6995,94014,6673],{"class":11296},[6995,94016,94017],{"class":7012},"=\n",[6995,94019,94020],{"class":244,"line":7107},[6995,94021,14371],{"emptyLinePlaceholder":20},[6995,94023,94024],{"class":244,"line":7120},[6995,94025,94026],{"class":7359},"# All the viewer keys.\n",[6995,94028,94029,94032,94034,94037,94040],{"class":244,"line":7133},[6995,94030,94031],{"class":7000},"--key_view",[6995,94033,6673],{"class":11296},[6995,94035,94036],{"class":7012},"xj7uVZh7kWaY2U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuVqiydGxomYaF2lQcc92Rzm3HBqsvk9LrFZlrksacvpDgteNLqxQJ4DUD+iKiDYvXy+VLCui125Rw69lO+",[6995,94038,94039],{"class":7000},"8gxnxMM5j1rk",[6995,94041,94017],{"class":11296},[6995,94043,94044],{"class":244,"line":7146},[6995,94045,14371],{"emptyLinePlaceholder":20},[6995,94047,94048],{"class":244,"line":7159},[6995,94049,94050],{"class":7359},"# Password. If required (at least 1 key specified) and not set - will be asked after launch.\n",[6995,94052,94053,94055,94057],{"class":244,"line":7172},[6995,94054,17338],{"class":7000},[6995,94056,6673],{"class":11296},[6995,94058,94059],{"class":7012},"123\n",[6995,94061,94062],{"class":244,"line":7185},[6995,94063,14371],{"emptyLinePlaceholder":20},[6995,94065,94066],{"class":244,"line":7198},[6995,94067,94068],{"class":7359},"# number of mining threads(there is no mining if 0)\n",[6995,94070,94071,94074,94076],{"class":244,"line":7211},[6995,94072,94073],{"class":7000},"mining_threads",[6995,94075,6673],{"class":11296},[6995,94077,7686],{"class":7012},[6995,94079,94080],{"class":244,"line":7220},[6995,94081,14371],{"emptyLinePlaceholder":20},[6995,94083,94084],{"class":244,"line":7226},[6995,94085,94086],{"class":7359},"# peers\n",[6995,94088,94089,94091,94093],{"class":244,"line":7238},[6995,94090,93912],{"class":7000},[6995,94092,6673],{"class":11296},[6995,94094,94095],{"class":7012},"104.248.159.154:8100\n",[6995,94097,94098],{"class":244,"line":7250},[6995,94099,14371],{"emptyLinePlaceholder":20},[6995,94101,94102],{"class":244,"line":7263},[6995,94103,94104],{"class":7359},"# miner type\n",[6995,94106,94107,94110,94112],{"class":244,"line":7275},[6995,94108,94109],{"class":7000},"miner_type",[6995,94111,6673],{"class":11296},[6995,94113,94114],{"class":7012},"cpu\n",[11,94116,94118],{"id":94117},"the-full-list-of-options-supported-by-the-node","The full list of options supported by the node",[41,94120,94122],{"id":94121},"general-options","General options:",[4998,94124,94125,94133],{},[5001,94126,94127],{},[5004,94128,94129,94131],{},[5007,94130,93901],{},[5007,94132,5012],{},[5014,94134,94135,94147,94160,94173,94185,94197],{},[5004,94136,94137,94144],{},[5019,94138,94139,11339,94141],{},[611,94140,1145],{},[611,94142,94143],{},"help",[5019,94145,94146],{},"list of all options",[5004,94148,94149,94157],{},[5019,94150,94151,11339,94154],{},[611,94152,94153],{},"p arg",[611,94155,94156],{},"port arg (=10000)",[5019,94158,94159],{},"port to start the server on",[5004,94161,94162,94167],{},[5019,94163,94164],{},[611,94165,94166],{},"log_level arg",[5019,94168,94169,94170],{},"log level ",[611,94171,94172],{},"[info\u002Fdebug\u002Fverbose]",[5004,94174,94175,94180],{},[5019,94176,94177],{},[611,94178,94179],{},"file_log_level arg",[5019,94181,94182,94183],{},"file log level ",[611,94184,94172],{},[5004,94186,94187,94194],{},[5019,94188,94189,11339,94191],{},[611,94190,17058],{},[611,94192,94193],{},"version",[5019,94195,94196],{},"return project version",[5004,94198,94199,94204],{},[5019,94200,94201],{},[611,94202,94203],{},"git_commit_hash",[5019,94205,94206],{},"return commit hash",[41,94208,94210],{"id":94209},"node-options","Node options:",[4998,94212,94213,94221],{},[5001,94214,94215],{},[5004,94216,94217,94219],{},[5007,94218,93901],{},[5007,94220,5012],{},[5014,94222,94223,94233,94243,94253,94266,94276,94286,94296,94306],{},[5004,94224,94225,94230],{},[5019,94226,94227],{},[611,94228,94229],{},"storage arg (=node.db)",[5019,94231,94232],{},"node storage path",[5004,94234,94235,94240],{},[5019,94236,94237],{},[611,94238,94239],{},"history_dir arg (=.\u002F)",[5019,94241,94242],{},"directory for compressed history",[5004,94244,94245,94250],{},[5019,94246,94247],{},[611,94248,94249],{},"temp_dir arg (=\u002Ftmp\u002F)",[5019,94251,94252],{},"temp directory for compressed history, must be on the same volume",[5004,94254,94255,94260],{},[5019,94256,94257],{},[611,94258,94259],{},"miner_type arg (=cpu)",[5019,94261,94262,94263],{},"miner type ",[6995,94264,94265],{},"cpu\u002Fgpu",[5004,94267,94268,94273],{},[5019,94269,94270],{},[611,94271,94272],{},"mining_threads arg (=0)",[5019,94274,94275],{},"number of mining threads(there is no mining if 0)",[5004,94277,94278,94283],{},[5019,94279,94280],{},[611,94281,94282],{},"verification_threads arg (=-1)",[5019,94284,94285],{},"number of threads for cryptographic verifications (0 = single thread, -1 = auto)",[5004,94287,94288,94293],{},[5019,94289,94290],{},[611,94291,94292],{},"miner_id arg (=0)",[5019,94294,94295],{},"seed for miner nonce generation",[5004,94297,94298,94303],{},[5019,94299,94300],{},[611,94301,94302],{},"peer arg",[5019,94304,94305],{},"nodes to connect to",[5004,94307,94308,94313],{},[5019,94309,94310],{},[611,94311,94312],{},"import arg (=0)",[5019,94314,94315],{},"specify the blockchain height to import, the compressed history is assumed to be downloaded to the specified directory",[41,94317,94319],{"id":94318},"rules-configuration","Rules configuration:",[4998,94321,94322,94330],{},[5001,94323,94324],{},[5004,94325,94326,94328],{},[5007,94327,93901],{},[5007,94329,5012],{},[5014,94331,94332,94342,94352,94362,94375,94388,94398,94408,94420,94430,94440],{},[5004,94333,94334,94339],{},[5019,94335,94336],{},[611,94337,94338],{},"CoinbaseEmission arg (=80000000)",[5019,94340,94341],{},"coinbase emission in a single block",[5004,94343,94344,94349],{},[5019,94345,94346],{},[611,94347,94348],{},"MaturityCoinbase arg (=60)",[5019,94350,94351],{},"Number of blocks before coinbase UTXO can be spent",[5004,94353,94354,94359],{},[5019,94355,94356],{},[611,94357,94358],{},"MaturityStd arg (=0)",[5019,94360,94361],{},"Number of blocks before non-coinbase UTXO can be spent",[5004,94363,94364,94369],{},[5019,94365,94366],{},[611,94367,94368],{},"MaxBodySize arg (=1048576)",[5019,94370,94371,94372],{},"Max block body size in ",[611,94373,94374],{},"[bytes]",[5004,94376,94377,94382],{},[5019,94378,94379],{},[611,94380,94381],{},"DesiredRate_s arg (=60)",[5019,94383,94384,94385],{},"Desired rate of generated blocks in ",[611,94386,94387],{},"[seconds]",[5004,94389,94390,94395],{},[5019,94391,94392],{},[611,94393,94394],{},"DifficultyReviewCycle arg (=1440)",[5019,94396,94397],{},"Number of blocks after which the mining difficulty can be adjusted",[5004,94399,94400,94405],{},[5019,94401,94402],{},[611,94403,94404],{},"MaxDifficultyChange arg (=2)",[5019,94406,94407],{},"Max difficulty change after each cycle (each step is roughly x2 complexity)",[5004,94409,94410,94415],{},[5019,94411,94412],{},[611,94413,94414],{},"TimestampAheadThreshold_s arg (=7200)",[5019,94416,94417,94418],{},"Block timestamp tolerance in ",[611,94419,94387],{},[5004,94421,94422,94427],{},[5019,94423,94424],{},[611,94425,94426],{},"WindowForMedian arg (=25)",[5019,94428,94429],{},"How many blocks are considered in calculating the timestamp median",[5004,94431,94432,94437],{},[5019,94433,94434],{},[611,94435,94436],{},"AllowPublicUtxos arg (=0)",[5019,94438,94439],{},"Set to allow regular (non-coinbase) UTXO to have non-confidential signature",[5004,94441,94442,94447],{},[5019,94443,94444],{},[611,94445,94446],{},"FakePoW arg (=0)",[5019,94448,94449],{},"Don't verify PoW. Mining is simulated by the timer. For tests only",[11,94451,94453],{"id":94452},"running-beam-node-with-stratum-server","Running Beam Node with Stratum Server",[852,94455,94456],{},[59,94457,94458],{},"Beam node implements Stratum protocol for connecting external miner clients. Clients open a TCP connection to the node though which they receive jobs to mine blocks using Equihash mining protocol.",[11,94460,94462],{"id":94461},"command-line-execution-example-1","Command line execution example",[616,94464,94466],{"className":93480,"code":94465,"language":93482,"meta":14,"style":14},".\u002Fbeam-node --port {NODE_PORT} --peer {PEER_IP} --stratum_port {STRATUM_PORT} --stratum_secrets_path {DIRECTORY} ----key_view=xj7uVZh7kWaY2U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuVqiydGxomYaF2lQcc92Rzm3HBqsvk9LrFZlrksacvpDgteNLqxQJ4DUD+\"\n",[611,94467,94468],{"__ignoreMap":14},[6995,94469,94470,94472,94475,94478,94480,94483,94486,94489,94492,94495,94498],{"class":244,"line":6997},[6995,94471,93861],{"class":11320},[6995,94473,94474],{"class":7006}," --port",[6995,94476,94477],{"class":7012}," {NODE_PORT}",[6995,94479,93864],{"class":7006},[6995,94481,94482],{"class":7012}," {PEER_IP}",[6995,94484,94485],{"class":7006}," --stratum_port",[6995,94487,94488],{"class":7012}," {STRATUM_PORT}",[6995,94490,94491],{"class":7006}," --stratum_secrets_path",[6995,94493,94494],{"class":7012}," {DIRECTORY}",[6995,94496,94497],{"class":7006}," ----key_view=xj7uVZh7kWaY2U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuVqiydGxomYaF2lQcc92Rzm3HBqsvk9LrFZlrksacvpDgteNLqxQJ4DUD+",[6995,94499,11330],{"class":7012},[41,94501,94503],{"id":94502},"command-line-parameters","Command line parameters",[4998,94505,94506,94514],{},[5001,94507,94508],{},[5004,94509,94510,94512],{},[5007,94511,93901],{},[5007,94513,5012],{},[5014,94515,94516,94525,94534,94544],{},[5004,94517,94518,94522],{},[5019,94519,94520],{},[611,94521,93986],{},[5019,94523,94524],{},"port to start the node server on",[5004,94526,94527,94531],{},[5019,94528,94529],{},[611,94530,93912],{},[5019,94532,94533],{},"nodes to connect to (in example remote node from masternet)",[5004,94535,94536,94541],{},[5019,94537,94538],{},[611,94539,94540],{},"stratum_port",[5019,94542,94543],{},"stratum server port (should be >0)",[5004,94545,94546,94551],{},[5019,94547,94548],{},[611,94549,94550],{},"stratum_secrets_path",[5019,94552,94553],{},"folder where configuration files are located",[41,94555,94557],{"id":94556},"configuration-files","Configuration files",[4998,94559,94560,94568],{},[5001,94561,94562],{},[5004,94563,94564,94566],{},[5007,94565,93901],{},[5007,94567,5012],{},[5014,94569,94570,94580,94590],{},[5004,94571,94572,94577],{},[5019,94573,94574],{},[611,94575,94576],{},"stratum.crt",[5019,94578,94579],{},"TLS certificate",[5004,94581,94582,94587],{},[5019,94583,94584],{},[611,94585,94586],{},"stratum.key",[5019,94588,94589],{},"private key for TLS",[5004,94591,94592,94597],{},[5019,94593,94594],{},[611,94595,94596],{},"stratum.api.keys",[5019,94598,94599],{},"file with allowed api keys",[34,94601,94602,94603,1475,94605,94607],{},"For testing purposes ONLY ",[611,94604,94576],{},[611,94606,94586],{}," can be downloaded from:",[852,94609,94610,94616],{},[59,94611,94612],{},[175,94613,94614],{"href":94614,"rel":94615},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Futility\u002Funittest\u002Ftest.crt",[179],[59,94617,94618],{},[175,94619,94620],{"href":94620,"rel":94621},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Futility\u002Funittest\u002Ftest.key",[179],[34,94623,94624],{},"The stratum.api.keys file (which you create by yourself) should contain any number of strings at least 7 symbols long without spaces each:",[616,94626,94629],{"className":94627,"code":94628,"language":621},[619],"12345678\nsfdskjhfdksk\n984398349834\n",[611,94630,94628],{"__ignoreMap":14},[34,94632,94633,94634,94636],{},"If there is no ",[611,94635,94596],{},", ACL will be switched off.",[34,94638,94639,94640,94643,94644,94646,94647,11260],{},"Please note that ",[611,94641,94642],{},"stratum.api.key"," file is reloaded by the server every 5 seconds, if you want to add\u002Fdelete\u002Fedit  key you shouldn't restart ",[611,94645,90478],{},", just edit file ",[611,94648,94596],{},[11,94650,2777],{"id":2362},[852,94652,94653],{},[59,94654,94655],{},"CPU without SSE3 instruction set are not supported",[8692,94657,94658],{},"html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}",{"title":14,"searchDepth":15,"depth":15,"links":94660},[94661,94662,94663,94664,94665,94666],{"id":93891,"depth":15,"text":93892},{"id":94121,"depth":15,"text":94122},{"id":94209,"depth":15,"text":94210},{"id":94318,"depth":15,"text":94319},{"id":94502,"depth":15,"text":94503},{"id":94556,"depth":15,"text":94557},"Please refer to Beam Node User Guide",{},"\u002Fdocs\u002Fcore-tech\u002Finstructions-for-command-line-node",{"title":93783,"description":94667},"docs\u002Fcore-tech\u002FInstructions-for-Command-Line-Node","m45f_u9jTwSkA_ycmqZ8wdzhJ8xcsH210MEAe9D6PH4",{"id":94674,"title":93783,"body":94675,"description":95169,"extension":17,"image":18,"meta":95170,"navTitle":18,"navigation":20,"path":95171,"seo":95172,"stem":95173,"__hash__":95174},"docs\u002Fdocs\u002Fcore-tech\u002FInstructions-for-Command-Line-Wallet.md",{"type":8,"value":94676,"toc":95165},[94677,94679,94686,94690,94695,94710,94715,94719,94724,94744,94748,94753,94771,94785,94804,94808,94811,94822,94832,94835,94838,94843,94858,94867,94871,94876,94911,94916,94956,94960,94962,95031,95035,95155,95157,95162],[11,94678,93783],{"id":93788},[34,94680,93791,94681],{},[175,94682,94685],{"href":94683,"rel":94684},"https:\u002F\u002Fbeam-docs.readthedocs.io\u002Fen\u002Flatest\u002Frtd_pages\u002Fuser_cli_wallet_guide.html",[179],"Command Line User Guide",[11,94687,94689],{"id":94688},"running-a-command-line-wallet","Running a command line wallet",[852,94691,94692],{},[59,94693,94694],{},"After extracting the wallet binary to a folder, we need to initialize the wallet by executing the following command:",[616,94696,94698],{"className":93480,"code":94697,"language":93482,"meta":14,"style":14},".\u002Fbeam-wallet --command init\n",[611,94699,94700],{"__ignoreMap":14},[6995,94701,94702,94704,94707],{"class":244,"line":6997},[6995,94703,3412],{"class":11320},[6995,94705,94706],{"class":7006}," --command",[6995,94708,94709],{"class":7012}," init\n",[852,94711,94712],{},[59,94713,94714],{},"You will be prompted to provide wallet password and then the secret phrase, which would be used to initialize the master secret. Make sure to write down the secret phrase, to be able to restore wallet contents in case of emergency.",[11,94716,94718],{"id":94717},"printing-wallet-information","Printing wallet information",[852,94720,94721],{},[59,94722,94723],{},"To get the information about the current status of the wallet, execute:",[616,94725,94727],{"className":93480,"code":94726,"language":93482,"meta":14,"style":14},".\u002Fbeam-wallet --command info -n 127.0.0.1:10000\n",[611,94728,94729],{"__ignoreMap":14},[6995,94730,94731,94733,94735,94738,94741],{"class":244,"line":6997},[6995,94732,3412],{"class":11320},[6995,94734,94706],{"class":7006},[6995,94736,94737],{"class":7012}," info",[6995,94739,94740],{"class":7006}," -n",[6995,94742,94743],{"class":7012}," 127.0.0.1:10000\n",[11,94745,94747],{"id":94746},"receiving-beams","Receiving Beams",[852,94749,94750],{},[59,94751,94752],{},"To receive beams start the wallet in a listening mode by running:",[616,94754,94756],{"className":93480,"code":94755,"language":93482,"meta":14,"style":14},".\u002Fbeam-wallet --command listen -n 127.0.0.1:10000\n",[611,94757,94758],{"__ignoreMap":14},[6995,94759,94760,94762,94764,94767,94769],{"class":244,"line":6997},[6995,94761,3412],{"class":11320},[6995,94763,94706],{"class":7006},[6995,94765,94766],{"class":7012}," listen",[6995,94768,94740],{"class":7006},[6995,94770,94743],{"class":7012},[852,94772,94773,94779,94782],{},[59,94774,94775,94776],{},"After entering the password, the wallet will print out the line similar to: ",[611,94777,94778],{},"WalletID 4a0e54b24d5fdf06891a8eaa57b4b3ac16731e932a64da8ec768083495d624f1 subscribes to BBS channel 9",[59,94780,94781],{},"This shows the SBBS address the wallet is listening on. This address can be copied and sent to Sender.",[59,94783,94784],{},"If you want to create new SBBS address use the following command:",[616,94786,94788],{"className":93480,"code":94787,"language":93482,"meta":14,"style":14},".\u002Fbeam-wallet --command=new_addr --listen -n 127.0.0.1:10000\n",[611,94789,94790],{"__ignoreMap":14},[6995,94791,94792,94794,94797,94800,94802],{"class":244,"line":6997},[6995,94793,3412],{"class":11320},[6995,94795,94796],{"class":7006}," --command=new_addr",[6995,94798,94799],{"class":7006}," --listen",[6995,94801,94740],{"class":7006},[6995,94803,94743],{"class":7012},[11,94805,94807],{"id":94806},"exporting-keys-for-standalone-nodes","Exporting keys for standalone Node(s)",[34,94809,94810],{},"The Node(s) that belongs to the wallet should be given appropriate keys for the following purpose:",[852,94812,94813,94816,94819],{},[59,94814,94815],{},"Node-Wallet authentication",[59,94817,94818],{},"Standalone mining (when the wallet is offline)",[59,94820,94821],{},"Monitoring wallet activity, supporting recovery and etc.",[34,94823,94824,94825,94827,94828,94831],{},"It's possible to export the master wallet key, as well as a ",[100,94826,91175],{}," key, which is derived from the master key (but not vice versa!).\nIn addition every key can be exported as a full key, or as a ",[100,94829,94830],{},"viewer"," key, which is suitable for Node authentication and monitoring activity, but not for generating and spending the UTXOs.",[34,94833,94834],{},"Keeping in mind that the wallet may own several nodes, we recommend providing each node a different child key for mining, so that in case it gets hacked - the attacker won't be able to steal what's been mined by other nodes. Anyway when the owner wallet connects the Node prefers to involve the wallet in mining, so that key won't be used either.\nObviously it's not recommended to export the master secret key ever.",[34,94836,94837],{},"In addition to mining, one or more viewer keys should be exported and provided to the nodes. To be able to communicate with the wallet, each Node must have its master viewer key. In addition to this, every node should have all the viewer child keys that are used for mining, to be able to detect\u002Frestore all the mined UTXOs.",[852,94839,94840],{},[59,94841,94842],{},"To export a child key",[616,94844,94846],{"className":93480,"code":94845,"language":93482,"meta":14,"style":14},".\u002Fbeam-wallet --command=key_export --subkey=N\n",[611,94847,94848],{"__ignoreMap":14},[6995,94849,94850,94852,94855],{"class":244,"line":6997},[6995,94851,3412],{"class":11320},[6995,94853,94854],{"class":7006}," --command=key_export",[6995,94856,94857],{"class":7006}," --subkey=N\n",[34,94859,94860,94861,94863,94864,94866],{},"whereas ",[611,94862,1353],{}," is the child index. Specifying ",[611,94865,7180],{}," means the master key.",[11,94868,94870],{"id":94869},"sending-beams","Sending Beams",[852,94872,94873],{},[59,94874,94875],{},"To sending beams use the following command",[616,94877,94879],{"className":93480,"code":94878,"language":93482,"meta":14,"style":14},".\u002Fbeam-wallet --command=send -n 127.0.0.1:10000 -r 77de6bd3de40bc58ab7e4fb68d5e0596fd1e72f3c4fb3eb3d106082d89264909 -a 11.3 -f 0.2\n",[611,94880,94881],{"__ignoreMap":14},[6995,94882,94883,94885,94888,94890,94893,94896,94899,94902,94905,94908],{"class":244,"line":6997},[6995,94884,3412],{"class":11320},[6995,94886,94887],{"class":7006}," --command=send",[6995,94889,94740],{"class":7006},[6995,94891,94892],{"class":7012}," 127.0.0.1:10000",[6995,94894,94895],{"class":7006}," -r",[6995,94897,94898],{"class":7012}," 77de6bd3de40bc58ab7e4fb68d5e0596fd1e72f3c4fb3eb3d106082d89264909",[6995,94900,94901],{"class":7006}," -a",[6995,94903,94904],{"class":7006}," 11.3",[6995,94906,94907],{"class":7006}," -f",[6995,94909,94910],{"class":7006}," 0.2\n",[852,94912,94913],{},[59,94914,94915],{},"The send-related command line parameters of the wallet:",[4998,94917,94918,94926],{},[5001,94919,94920],{},[5004,94921,94922,94924],{},[5007,94923,93901],{},[5007,94925,5012],{},[5014,94927,94928,94938,94947],{},[5004,94929,94930,94935],{},[5019,94931,94932],{},[611,94933,94934],{},"r",[5019,94936,94937],{},"SBBS address of the receiver node",[5004,94939,94940,94944],{},[5019,94941,94942],{},[611,94943,175],{},[5019,94945,94946],{},"amount of beams to send",[5004,94948,94949,94953],{},[5019,94950,94951],{},[611,94952,1062],{},[5019,94954,94955],{},"transaction fee",[11,94957,94959],{"id":94958},"the-full-list-of-wallet-command-line-options","The Full list of wallet command line options",[41,94961,94122],{"id":94121},[4998,94963,94964,94972],{},[5001,94965,94966],{},[5004,94967,94968,94970],{},[5007,94969,93901],{},[5007,94971,5012],{},[5014,94973,94974,94984,94995,95004,95013,95023],{},[5004,94975,94976,94982],{},[5019,94977,94978,11339,94980],{},[611,94979,1145],{},[611,94981,94143],{},[5019,94983,94146],{},[5004,94985,94986,94993],{},[5019,94987,94988,94990,94991],{},[611,94989,34],{},"  or ",[611,94992,94156],{},[5019,94994,94159],{},[5004,94996,94997,95001],{},[5019,94998,94999],{},[611,95000,94166],{},[5019,95002,95003],{},"log level `[info",[5004,95005,95006,95010],{},[5019,95007,95008],{},[611,95009,94179],{},[5019,95011,95012],{},"file log level `[info",[5004,95014,95015,95021],{},[5019,95016,95017,11339,95019],{},[611,95018,17058],{},[611,95020,94193],{},[5019,95022,94196],{},[5004,95024,95025,95029],{},[5019,95026,95027],{},[611,95028,94203],{},[5019,95030,94206],{},[41,95032,95034],{"id":95033},"wallet-options","Wallet options:",[4998,95036,95037,95045],{},[5001,95038,95039],{},[5004,95040,95041,95043],{},[5007,95042,93901],{},[5007,95044,5012],{},[5014,95046,95047,95057,95067,95079,95091,95103,95115,95125,95135,95145],{},[5004,95048,95049,95054],{},[5019,95050,95051],{},[611,95052,95053],{},"seed_phrase arg",[5019,95055,95056],{},"phrase to initialize master secret, according to BIP-39",[5004,95058,95059,95064],{},[5019,95060,95061],{},[611,95062,95063],{},"pass arg",[5019,95065,95066],{},"password for the wallet",[5004,95068,95069,95076],{},[5019,95070,95071,11339,95073],{},[611,95072,175],{},[611,95074,95075],{},"amount arg",[5019,95077,95078],{},"amount to send (in Beams, 1 Beam = 1000000 chattle)",[5004,95080,95081,95088],{},[5019,95082,95083,11339,95085],{},[611,95084,1062],{},[611,95086,95087],{},"fee arg (=0)",[5019,95089,95090],{},"fee (in Beams, 1 Beam = 1000000 chattle)",[5004,95092,95093,95100],{},[5019,95094,95095,11339,95097],{},[611,95096,94934],{},[611,95098,95099],{},"receiver_addr arg",[5019,95101,95102],{},"address of receiver",[5004,95104,95105,95112],{},[5019,95106,95107,11339,95109],{},[611,95108,1352],{},[611,95110,95111],{},"node_addr arg",[5019,95113,95114],{},"address of node",[5004,95116,95117,95122],{},[5019,95118,95119],{},[611,95120,95121],{},"wallet_path arg (=wallet.db)",[5019,95123,95124],{},"path to wallet file",[5004,95126,95127,95132],{},[5019,95128,95129],{},[611,95130,95131],{},"bbs_keystore_path arg (=bbs_keys.db)",[5019,95133,95134],{},"path to file with bbs keys",[5004,95136,95137,95142],{},[5019,95138,95139],{},[611,95140,95141],{},"tx_history",[5019,95143,95144],{},"print transactions' history in info command",[5004,95146,95147,95152],{},[5019,95148,95149],{},[611,95150,95151],{},"command arg",[5019,95153,95154],{},"command to execute `[send",[11,95156,2777],{"id":2362},[852,95158,95159],{},[59,95160,95161],{},"CPUs without SSE3 instruction set are not supported",[8692,95163,95164],{},"html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":14,"searchDepth":15,"depth":15,"links":95166},[95167,95168],{"id":94121,"depth":15,"text":94122},{"id":95033,"depth":15,"text":95034},"Please refer to Command Line User Guide",{},"\u002Fdocs\u002Fcore-tech\u002Finstructions-for-command-line-wallet",{"title":93783,"description":95169},"docs\u002Fcore-tech\u002FInstructions-for-Command-Line-Wallet","H_7z1t8swK7xziC1S3V2eMQ18QccDHM0HLFzZhVk9SQ",{"id":95176,"title":95177,"body":95178,"description":14,"extension":17,"image":18,"meta":95336,"navTitle":18,"navigation":20,"path":95337,"seo":95338,"stem":95339,"__hash__":95340},"docs\u002Fdocs\u002Fcore-tech\u002FLaser-BEAM-commands.md","Laser BEAM Commands",{"type":8,"value":95179,"toc":95334},[95180,95185,95190,95195,95200,95202,95207,95212,95217,95219,95224,95229,95234,95236,95241,95246,95251,95256,95261,95263,95268,95273,95278,95280,95285,95290,95295,95300,95302,95307,95312,95317,95322,95324,95329],[56,95181,95182],{},[59,95183,95184],{},"show laser channels",[34,95186,95187],{},[611,95188,95189],{},".\u002Fbeam-wallet-masternet laser --laser_channels_list",[56,95191,95192],{"start":15},[59,95193,95194],{},"wait incoming laser connection (will generate address)",[34,95196,95197],{},[611,95198,95199],{},".\u002Fbeam-wallet-masternet laser --laser_receive --laser_my_locked_amount \u003Camount in beam> --laser_remote_locked_amount \u003Camount in beam> --laser_fee \u003Camount in groth>",[34,95201,16718],{},[34,95203,95204],{},[611,95205,95206],{},".\u002Fbeam-wallet-masternet laser --laser_receive --laser_my_locked_amount 1.1 --laser_remote_locked_amount 1.1 --laser_fee 100",[56,95208,95209],{"start":154},[59,95210,95211],{},"connect with laser",[34,95213,95214],{},[611,95215,95216],{},".\u002Fbeam-wallet-masternet laser --laser_open --laser_address \u003Caddress> --laser_my_locked_amount \u003Camount in beam> --laser_remote_locked_amount \u003Camount in beam> --laser_fee \u003Camount in groth>",[34,95218,16718],{},[34,95220,95221],{},[611,95222,95223],{},".\u002Fbeam-wallet-masternet laser --laser_open --laser_address 285a776d78e6e0ee285a196282e61768b87c7c108a7d8cf7622a094555d2cfeb80e --laser_my_locked_amount 0.9 --laser_remote_locked_amount 1.1 --laser_fee 100",[56,95225,95226],{"start":7033},[59,95227,95228],{},"listen laser channels",[34,95230,95231],{},[611,95232,95233],{},".\u002Fbeam-wallet-masternet laser --laser_listen [channel id 1,channel id 2, ... channel id N]",[34,95235,16718],{},[34,95237,95238],{},[611,95239,95240],{},".\u002Fbeam-wallet-masternet laser --laser_listen",[34,95242,95243],{},[611,95244,95245],{},".\u002Fbeam-wallet-masternet laser --laser_listen 4bd5ee31b264f6102709dc145cf37b55",[34,95247,95248],{},[611,95249,95250],{},".\u002Fbeam-wallet-masternet laser --laser_listen 4bd5ee31b264f6102709dc145cf37b55,73e5af986eb3ea165f71bbb54ebfad37",[56,95252,95253],{"start":7044},[59,95254,95255],{},"send coins",[34,95257,95258],{},[611,95259,95260],{},".\u002Fbeam-wallet-masternet laser --laser_send \u003Camount in beam> --laser_channel \u003Cchannel id>",[34,95262,16718],{},[34,95264,95265],{},[611,95266,95267],{},".\u002Fbeam-wallet-masternet laser --laser_send 0.1 --laser_channel 4bd5ee31b264f6102709dc145cf37b55",[56,95269,95270],{"start":7107},[59,95271,95272],{},"close laser channels. after lock time is up or if other side is offline",[34,95274,95275],{},[611,95276,95277],{},".\u002Fbeam-wallet-masternet laser --laser_drop \u003Cchannel id 1,channel id 2, ... channel id N>",[34,95279,16718],{},[34,95281,95282],{},[611,95283,95284],{},".\u002Fbeam-wallet-masternet laser --laser_drop 4bd5ee31b264f6102709dc145cf37b55",[34,95286,95287],{},[611,95288,95289],{},".\u002Fbeam-wallet-masternet laser --laser_drop 4bd5ee31b264f6102709dc145cf37b55,73e5af986eb3ea165f71bbb54ebfad37",[56,95291,95292],{"start":7120},[59,95293,95294],{},"close laser channels. before lock time is up, only if other side is online",[34,95296,95297],{},[611,95298,95299],{},".\u002Fbeam-wallet-masternet laser --laser_close \u003Cchannel id 1,channel id 2, ... channel id N>",[34,95301,16718],{},[34,95303,95304],{},[611,95305,95306],{},".\u002Fbeam-wallet-masternet laser --laser_close 4bd5ee31b264f6102709dc145cf37b55",[34,95308,95309],{},[611,95310,95311],{},".\u002Fbeam-wallet-masternet laser --laser_close 4bd5ee31b264f6102709dc145cf37b55,73e5af986eb3ea165f71bbb54ebfad37",[56,95313,95314],{"start":7133},[59,95315,95316],{},"delete laser channels from DB, only for closed channels",[34,95318,95319],{},[611,95320,95321],{},".\u002Fbeam-wallet-masternet laser --laser_delete \u003Cchannel id 1,channel id 2, ... channel id N>",[34,95323,16718],{},[34,95325,95326],{},[611,95327,95328],{},".\u002Fbeam-wallet-masternet laser --laser_delete 4bd5ee31b264f6102709dc145cf37b55",[34,95330,95331],{},[611,95332,95333],{},".\u002Fbeam-wallet-masternet laser --laser_delete 4bd5ee31b264f6102709dc145cf37b55,73e5af986eb3ea165f71bbb54ebfad37",{"title":14,"searchDepth":15,"depth":15,"links":95335},[],{},"\u002Fdocs\u002Fcore-tech\u002Flaser-beam-commands",{"description":14},"docs\u002Fcore-tech\u002FLaser-BEAM-commands","lgRWJbaezGzl4PY4_kbqsabW6z5U2Iqd8eDqaHP5uzk",{"id":95342,"title":88555,"body":95343,"description":14,"extension":17,"image":18,"meta":95599,"navTitle":18,"navigation":20,"path":95600,"seo":95601,"stem":95602,"__hash__":95603},"docs\u002Fdocs\u002Fcore-tech\u002FLelantus-CLI.md",{"type":8,"value":95344,"toc":95586},[95345,95349,95352,95396,95405,95407,95429,95432,95441,95450,95452,95455,95458,95464,95467,95470,95476,95480,95483,95489,95493,95496,95499,95513,95516,95534,95537],[41,95346,95348],{"id":95347},"v60-changes","V6.0 Changes",[34,95350,95351],{},"Starting from v6.0",[852,95353,95354,95364,95371,95384],{},[59,95355,95356,95357,95360,95361],{},"CLI ",[611,95358,95359],{},"get_address --offline"," switch is renamed to ",[611,95362,95363],{},"--offline_count",[59,95365,95366,95367,95370],{},"default address generated by the UI is an offline address that includes 1 offline voucher (enables 1 offline payment). This address is equivalent to the ",[611,95368,95369],{},"get_address --ofline_count 1"," in CLI",[59,95372,95373,95374,95376,95377,95379,95380,95383],{},"all ",[611,95375,11810],{}," addresses by default trigger an online regular transaction if used in CLI ",[611,95378,15797],{}," without the ",[611,95381,95382],{},"--offline"," switch",[59,95385,95386,95387,95389,95390,95392,95393,95395],{},"to make an offline payment via the ",[611,95388,15797],{}," command with the ",[611,95391,11810],{}," address the ",[611,95394,95382],{}," switch should be added",[34,95397,95398,95399,95404],{},"Text below includes the changes described in this section. For CLI instructions before v6.0 refer the ",[175,95400,95403],{"href":95401,"rel":95402},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FLelantus-CLI-(v6.0-)",[179],"Lelantus CLI Historical"," page.",[41,95406,10406],{"id":10405},[34,95408,95409,95410,95413,95414,95417,95418,95421,95422,95425,95426,95428],{},"Conceptually, Lelantus is a mean which allows to avoid UXTO linkability in transactions graph. To make UTXOs unlinked user should insert regular BEAM UTXO into ",[100,95411,95412],{},"shielded pool",", converting these UTXOs into ",[100,95415,95416],{},"shielded UTXOs"," and then, after some time extract them back as ",[100,95419,95420],{},"unlinked"," UTXOs. ",[100,95423,95424],{},"Shielded UTXO"," belonging to the wallet could be detected by the node with owner key (as regular utxo), and the user can use this info to extract these coins back.\nWe are trying to hide the details of this process from the user, extracting from the ",[100,95427,95412],{}," is performed automatically when user sends beams, it influences the fee, but the user shouldn't think about unlinking.",[34,95430,95431],{},"To send BEAMs through Lelantus we introduced three types of addresses:",[852,95433,95434,95436,95438],{},[59,95435,11810],{},[59,95437,11813],{},[59,95439,95440],{},"public offline",[34,95442,95443,95444,95446,95447,87638],{},"All of these addresses could be used with ",[611,95445,15797],{}," command and should be passed via ",[611,95448,95449],{},"-r",[48,95451,9094],{"id":9093},[34,95453,95454],{},"It allows sending BEAMs without interactions with the receiver. It is a very long base58 string, which contains embedded information for 10 payments(in UI), also it has SBBS address of the receiver, so, in the case when the receiver becomes online, the sender could get info for more payments.",[34,95456,95457],{},"To generate this type of address with 10 embedded payments use",[616,95459,95462],{"className":95460,"code":95461,"language":621},[619],".\u002Fbeam-wallet get_address --offline_count=10\n",[611,95463,95461],{"__ignoreMap":14},[48,95465,95466],{"id":9134},"Max privacy address",[34,95468,95469],{},"This address allows to make only one payment, there is no ability to get more payments, and there is a guaranty that shielded coins received by sending on this address will be extracted in the correct moment to achieve the max privacy effect.\nTo generate a new max privacy address use",[616,95471,95474],{"className":95472,"code":95473,"language":621},[619],".\u002Fbeam-wallet get_address --max_privacy \n",[611,95475,95473],{"__ignoreMap":14},[48,95477,95479],{"id":95478},"public-offline-address","Public offline address",[34,95481,95482],{},"This type of address is intended to be used to receive donations. It is permanent, relatively short, and provides less privacy comparing with others, the sender has an ability to detect if the sent shielded coin has been spent.\nThis type of address could be obtained with the following command:",[616,95484,95487],{"className":95485,"code":95486,"language":621},[619],".\u002Fbeam-wallet get_address --public_offline \n",[611,95488,95486],{"__ignoreMap":14},[41,95490,95492],{"id":95491},"offline-payments","Offline payments",[34,95494,95495],{},"With Lelantus we are able to without need to be online, this is also known as one-side payments. To make them we need to accomplish the following steps:",[48,95497,95498],{"id":24051},"Receiver",[56,95500,95501,95510],{},[59,95502,95503,95504],{},"Receiver have to generate a token with the needed quantity of vouchers (allowed number of payments)",[616,95505,95508],{"className":95506,"code":95507,"language":621},[619],".\u002Fbeam-wallet get_address --offline_count=3 \n",[611,95509,95507],{"__ignoreMap":14},[59,95511,95512],{},"Send this token to the sender, and go offline",[48,95514,95515],{"id":24045},"Sender",[56,95517,95518],{},[59,95519,95520,95521,95523,95524,95527,95528],{},"Sender can use the received token with the ",[611,95522,95382],{}," switch to make payments as many times as many vouchers this token has. If the ",[611,95525,95526],{},"--ofline"," switch is not specified, regular online transaction would be executed",[616,95529,95532],{"className":95530,"code":95531,"language":621},[619],".\u002Fbeam_wallet send -r \u003Ctoken> --offline -n \u003Cnode address> -a \u003Camount> -f \u003Cfee>\n",[611,95533,95531],{"__ignoreMap":14},[48,95535,95498],{"id":95536},"receiver-1",[56,95538,95539,95561],{},[59,95540,95541,95542,95544,95550,95552,95553,95555],{},"Receiver after a while should check if he has ",[100,95543,95416],{},[616,95545,95548],{"className":95546,"code":95547,"language":621},[619],".\u002Fbeam_wallet info\n",[611,95549,95547],{"__ignoreMap":14},[4953,95551],{},"the shielded coins has type ",[611,95554,23305],{},[616,95556,95559],{"className":95557,"code":95558,"language":621},[619],"|    ID |           BEAM |          GROTH | Maturity           | Status               | Type     |\n   14724               34                0   95849                [Spent]                shld\n   14725                7                0   95873                [Spent]                shld\n",[611,95560,95558],{"__ignoreMap":14},[59,95562,95563,95564,2231,95567,11339,95570,95573,95574,95580],{},"Also a new transaction record should appear with status ",[611,95565,95566],{},"received max privacy",[611,95568,95569],{},"received offline",[611,95571,95572],{},"received public offline",", depending od what address type was used",[616,95575,95578],{"className":95576,"code":95577,"language":621},[619],".\u002Fbeam_wallet info --tx_history\n",[611,95579,95577],{"__ignoreMap":14},[616,95581,95584],{"className":95582,"code":95583,"language":621},[619],"2020.11.14 12:52:22    incoming                                     5   received offline        c714875164c8444cb12f90c4353fa1f6\n2020.10.30 18:13:22    incoming                                     1   received max privacy    7a6dbf11fa6649e39992c41c349ab6ad\n2020.10.30 17:57:22    incoming                                     4   received max privacy    d5f1b5acee474b4cb187321431040306\n2020.10.30 11:15:22    incoming                                     2   received public offline\n",[611,95585,95583],{"__ignoreMap":14},{"title":14,"searchDepth":15,"depth":15,"links":95587},[95588,95589,95594],{"id":95347,"depth":15,"text":95348},{"id":10405,"depth":15,"text":10406,"children":95590},[95591,95592,95593],{"id":9093,"depth":154,"text":9094},{"id":9134,"depth":154,"text":95466},{"id":95478,"depth":154,"text":95479},{"id":95491,"depth":15,"text":95492,"children":95595},[95596,95597,95598],{"id":24051,"depth":154,"text":95498},{"id":24045,"depth":154,"text":95515},{"id":95536,"depth":154,"text":95498},{},"\u002Fdocs\u002Fcore-tech\u002Flelantus-cli",{"description":14},"docs\u002Fcore-tech\u002FLelantus-CLI","Fsx6tjgqFtZdnGrD9Q2s_64hiR827CdcFGfXZD6EBhw",{"id":95605,"title":95606,"body":95607,"description":14,"extension":17,"image":18,"meta":95764,"navTitle":18,"navigation":20,"path":95765,"seo":95766,"stem":95767,"__hash__":95768},"docs\u002Fdocs\u002Fcore-tech\u002FLelantus-CLI-(historical,-below-v6.0).md","Lelantus CLI (historical, Below V60)",{"type":8,"value":95608,"toc":95751},[95609,95613,95619,95621,95633,95635,95643,95649,95651,95653,95655,95661,95663,95665,95670,95672,95674,95679,95681,95683,95685,95697,95699,95710,95712],[41,95610,95612],{"id":95611},"historical-notice","Historical notice",[34,95614,95615,95616,95404],{},"This document is valid for version below v6.0 and is retained only for historical reasons. For v6.0+ refer the ",[175,95617,88555],{"href":18581,"rel":95618},[179],[41,95620,10406],{"id":10405},[34,95622,95409,95623,95413,95625,95417,95627,95421,95629,95425,95631,95428],{},[100,95624,95412],{},[100,95626,95416],{},[100,95628,95420],{},[100,95630,95424],{},[100,95632,95412],{},[34,95634,95431],{},[852,95636,95637,95639,95641],{},[59,95638,11810],{},[59,95640,11813],{},[59,95642,95440],{},[34,95644,95443,95645,95446,95647,87638],{},[611,95646,15797],{},[611,95648,95449],{},[48,95650,9094],{"id":9093},[34,95652,95454],{},[34,95654,95457],{},[616,95656,95659],{"className":95657,"code":95658,"language":621},[619],".\u002Fbeam-wallet get_address --offline=10\n",[611,95660,95658],{"__ignoreMap":14},[48,95662,95466],{"id":9134},[34,95664,95469],{},[616,95666,95668],{"className":95667,"code":95473,"language":621},[619],[611,95669,95473],{"__ignoreMap":14},[48,95671,95479],{"id":95478},[34,95673,95482],{},[616,95675,95677],{"className":95676,"code":95486,"language":621},[619],[611,95678,95486],{"__ignoreMap":14},[41,95680,95492],{"id":95491},[34,95682,95495],{},[48,95684,95498],{"id":24051},[56,95686,95687,95695],{},[59,95688,95503,95689],{},[616,95690,95693],{"className":95691,"code":95692,"language":621},[619],".\u002Fbeam-wallet get_address --offline=3 \n",[611,95694,95692],{"__ignoreMap":14},[59,95696,95512],{},[48,95698,95515],{"id":24045},[56,95700,95701],{},[59,95702,95703,95704],{},"Sender can use the received token to make payments as many times as many vouchers this token has.\n",[616,95705,95708],{"className":95706,"code":95707,"language":621},[619],".\u002Fbeam_wallet insert_to_pool -r \u003Ctoken> -n \u003Cnode address> -a \u003Camount> -f \u003Cfee>\n",[611,95709,95707],{"__ignoreMap":14},[48,95711,95498],{"id":95536},[56,95713,95714,95733],{},[59,95715,95541,95716,95718,95723,95552,95725,95727],{},[100,95717,95416],{},[616,95719,95721],{"className":95720,"code":95547,"language":621},[619],[611,95722,95547],{"__ignoreMap":14},[4953,95724],{},[611,95726,23305],{},[616,95728,95731],{"className":95729,"code":95730,"language":621},[619],"|                                                ID |           BEAM |          GROTH | Maturity           | Status               | Type     |\n                                               14724               34                0   95849                [Spent]                shld\n                                               14725                7                0   95873                [Spent]                shld\n",[611,95732,95730],{"__ignoreMap":14},[59,95734,95563,95735,2231,95737,11339,95739,95573,95741,95746],{},[611,95736,95566],{},[611,95738,95569],{},[611,95740,95572],{},[616,95742,95744],{"className":95743,"code":95577,"language":621},[619],[611,95745,95577],{"__ignoreMap":14},[616,95747,95749],{"className":95748,"code":95583,"language":621},[619],[611,95750,95583],{"__ignoreMap":14},{"title":14,"searchDepth":15,"depth":15,"links":95752},[95753,95754,95759],{"id":95611,"depth":15,"text":95612},{"id":10405,"depth":15,"text":10406,"children":95755},[95756,95757,95758],{"id":9093,"depth":154,"text":9094},{"id":9134,"depth":154,"text":95466},{"id":95478,"depth":154,"text":95479},{"id":95491,"depth":15,"text":95492,"children":95760},[95761,95762,95763],{"id":24051,"depth":154,"text":95498},{"id":24045,"depth":154,"text":95515},{"id":95536,"depth":154,"text":95498},{},"\u002Fdocs\u002Fcore-tech\u002Flelantus-cli-(historical-below-v6.0)",{"description":14},"docs\u002Fcore-tech\u002FLelantus-CLI-(historical,-below-v6.0)","WVVVDmitqRon2AlavoARDuWxdcVtPxFTl_WGiWyMlug",{"id":95770,"title":95771,"body":95772,"description":95776,"extension":17,"image":18,"meta":96500,"navTitle":18,"navigation":20,"path":96501,"seo":96502,"stem":96503,"__hash__":96504},"docs\u002Fdocs\u002Fcore-tech\u002FLelantus-MW.md","Lelantus MW",{"type":8,"value":95773,"toc":96487},[95774,95777,95785,95789,95797,95800,95804,95807,95822,95825,95836,95839,95842,95864,95867,95870,95877,95880,95883,95889,95899,95914,95918,95921,95928,95939,95942,95945,95973,95976,96002,96005,96008,96023,96027,96030,96041,96044,96093,96097,96100,96109,96112,96116,96119,96125,96132,96135,96152,96162,96172,96187,96190,96227,96231,96237,96240,96252,96259,96277,96280,96298,96310,96313,96339,96342,96345,96389,96392,96445,96449,96452,96456,96477,96481,96484],[34,95775,95776],{},"Linkability is the Achilles' heel of MW.",[34,95778,95779,95780,95784],{},"Beam has several ",[175,95781,2347],{"href":95782,"rel":95783},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FTransaction-graph-obfuscation",[179]," to the original MW to obfuscate the transaction graph. Now we're building a hybrid, of MW and Lelantus, which should be a huge step forward in this direction.",[41,95786,95788],{"id":95787},"disclaimer","Disclaimer",[34,95790,6547,95791,95796],{},[175,95792,95795],{"href":95793,"rel":95794},"https:\u002F\u002Flelantus.io\u002F",[179],"Lelantus protocol"," is the work of Zcoin's cryptographer Aram Jivanyan as part of its research to improve its privacy protocol.",[34,95798,95799],{},"Our design and implementation are based on the publicly-available Lelantus scientific paper. All our code was developed from scratch based on this paper alone.",[11,95801,95803],{"id":95802},"our-design","Our design",[34,95805,95806],{},"To fit our needs and utilize the full power of MW we made several modifications to the original protocol.",[56,95808,95809,95816,95819],{},[59,95810,95811,95812,95815],{},"Instead of focusing on transaction types described in the paper (Mint, Spend, Joint-Split) we implement this in terms of ",[100,95813,95814],{},"primitives",", which can be combined and used in various transaction types.",[59,95817,95818],{},"Minted\u002Fspent values are never revealed.",[59,95820,95821],{},"We use other technique to prove the transaction balance. We removed the balance proof from the original Lelantus protocol, hence it's now closer to the original Sigma protocol by Jens Groth.",[34,95823,95824],{},"MW blockchain consists of the following objects (primitives):",[56,95826,95827,95830,95833],{},[59,95828,95829],{},"Inputs - references to existing UTXOs, that are being spent",[59,95831,95832],{},"Outputs",[59,95834,95835],{},"Transaction kernels",[34,95837,95838],{},"Our design, which we call Lelantus-MW, keeps this structure, and the Balance-to-zero principle also holds.\nAll those 3 object types, however, are modified to support Lelantus.",[34,95840,95841],{},"We use the following notation in the code:",[852,95843,95844,95849,95854],{},[59,95845,95846,95848],{},[37,95847,1123],{}," - generator (nothing-up-my-sleeve EC point) multiplied by UTXO blinding factor",[59,95850,95851,95853],{},[37,95852,1146],{}," - generator multiplied by UTXO Value",[59,95855,95856,95859,95860,95863],{},[37,95857,95858],{},"J"," - generator multiplied by UTXO 2",[8009,95861,95862],{},"nd"," blinding factor (i.e. double-blinded commitment).",[41,95865,95832],{"id":95866},"outputs",[34,95868,95869],{},"Normal MW output consists of a Pedersen commitment (EC point) and the Bulletproof signature. After validation it's added to the UTXO set, and later can be referenced as inputs in consequent blocks\u002Ftransactions.",[34,95871,95872,95873,95876],{},"The modified output, used in Lelantus, is called ",[100,95874,95875],{},"Shielded"," output. Unlike normal output, shielded output is double-blinded, hence its bulletproof is (slightly) extended.",[34,95878,95879],{},"After validation it's added to the Shielded pool (rather than UTXO set).",[41,95881,95882],{"id":25359},"Kernels",[34,95884,95885,95886,95888],{},"As we said, shielded outputs are double-blinded. Hence, in order to keep the balance-to-zero principle, transaction kernels can optionally contain the 2",[8009,95887,95862],{}," blinding factor excess as well. So that transactions are allowed to have excess of both blinding factors, but not the value (obviously).",[34,95890,95891,95892,95895,95896],{},"Such kernels are signed by ",[9352,95893,95894],{},"generalized Schnorr's signature"," (rather than normal Schnorr's signature), to prove that their revealed commitment is indeed of the form ",[611,95897,95898],{},"k*G + s*J",[34,95900,95901,95903,95904,1475,95907,95910,95911,95913],{},[780,95902,9127],{}," the generalized Schnorr's signature does not reveal which part of the kernel commitment is due to each of the blinding factors. I.e. the attacker can't split it into ",[611,95905,95906],{},"k*G",[611,95908,95909],{},"s*J",". This is important, as the 2",[8009,95912,95862],{}," blinding factor (a.k.a. serial number) eventually gets revealed, there is still no way to identify its corresponding transaction kernel.",[41,95915,95917],{"id":95916},"inputs","Inputs",[34,95919,95920],{},"Normal inputs are just commitments (EC points) that correspond to previous outputs that must be in the current UTXO set.",[34,95922,95923,95924,95927],{},"Shielded inputs, in addition to the commitment, have the ",[9352,95925,95926],{},"Spend Proof",", which proves that:",[852,95929,95930,95933,95936],{},[59,95931,95932],{},"A valid shielded element is being-spent",[59,95934,95935],{},"No double-spend",[59,95937,95938],{},"The specified input commitment encodes the value equal to the one being spent (with different blinding factor though).",[11,95940,95926],{"id":95941},"spend-proof",[34,95943,95944],{},"In the original Lelantus paper the proof idea is the following:",[852,95946,95947,95952,95958,95965],{},[59,95948,95949,95950],{},"Convert the revealed public Spend Key into serial number ",[611,95951,1446],{},[59,95953,95954,95955,95957],{},"Subtract (methodically) ",[611,95956,95909],{}," from each commitment in the referenced anonymity set (a.k.a. cmList)",[59,95959,95960,95961,95964],{},"Prove the knowledge of the opening of one of the elements in the form of ",[611,95962,95963],{},"k*G + v*H",", i.e. without the serial number",[59,95966,95967,95968],{},"Additionally prove that the revealed being-extracted value corresponds to the value of that element\n",[852,95969,95970],{},[59,95971,95972],{},"For this the original Sigma protocol was modified",[34,95974,95975],{},"We modified it into the following:",[852,95977,95978,95982,95991,95997],{},[59,95979,95949,95980],{},[611,95981,1446],{},[59,95983,95984,95985,95987,95988,95990],{},"Prove that the revealed commitment ",[611,95986,837],{}," is of the form ",[611,95989,95963],{},", i.e. does not conceal additional serial number",[59,95992,95954,95993,95996],{},[611,95994,95995],{},"s*J + C"," from each commitment in the referenced anonymity set",[59,95998,95960,95999,96001],{},[611,96000,95906],{}," only, i.e. without the serial number or additional value",[34,96003,96004],{},"In such a scheme there is no need to provide additional balance proof, since the value of extracted commitment should be the same as of the element being-spent. Because of this there is also no need to prove the value is non-negative (by bulletproof), as it was already proven when the element was added to the shielded pool.",[34,96006,96007],{},"So, the whole Spend proof, in addition to the commitment being-extracted, contains the following:",[852,96009,96010,96015,96018],{},[59,96011,96012,96013],{},"Generalized Schnorr's proof that this commitment is of the form ",[611,96014,95963],{},[59,96016,96017],{},"Public spend key, and the whole spend proof is signed by the appropriate private key",[59,96019,96020,96021,17120],{},"Standard 1-out-of-N Sigma protocol in terms of a single ",[611,96022,1123],{},[41,96024,96026],{"id":96025},"compared-to-original-lelantus-paper","Compared to original Lelantus paper",[34,96028,96029],{},"What is similar:",[852,96031,96032,96035,96038],{},[59,96033,96034],{},"Shielded outputs are double-blinded, with the appropriate (extended) bulletproof signature",[59,96036,96037],{},"To spend a shielded element the public Spend Key must be revealed, and the Spend Proof must be signed by the appropriate private key",[59,96039,96040],{},"Spend proof is also based on the 1-out-of-N Sigma protocol (by Jens Groth)",[34,96042,96043],{},"What is different:",[852,96045,96046,96068,96071,96074],{},[59,96047,96048,96049],{},"Rather than specifying transactions, Lelantus-MW is formulated in terms of inputs and outputs (i.e. MW-style). Hence:\n",[852,96050,96051,96054,96057],{},[59,96052,96053],{},"Just a single type of shielded input and output primitive is enough",[59,96055,96056],{},"Transactions are easily merged (as usual)",[59,96058,96059,96060],{},"Despite better size and verification time, we don't implement multi-input spend proofs.\n",[852,96061,96062,96065],{},[59,96063,96064],{},"Limiting all the inputs to the same anonymity set seems to be practically restricting",[59,96066,96067],{},"This also potentially reveals their linkability",[59,96069,96070],{},"Added\u002Fspent values are never revealed",[59,96072,96073],{},"Separate balance proof is not required: it's an inherent part of each MW block\u002Ftransaction.",[59,96075,96076,96077],{},"Spend proof is improved\n",[852,96078,96079,96082,96085],{},[59,96080,96081],{},"Implemented in terms of classical (unmodified) Sigma protocol",[59,96083,96084],{},"Significantly smaller size",[59,96086,96087,96088],{},"Better verification time\n",[852,96089,96090],{},[59,96091,96092],{},"Significant in batch mode, when all the proofs refer to the same anonymity set",[11,96094,96096],{"id":96095},"direct-anonymous-payments","Direct anonymous payments",[34,96098,96099],{},"In classical MW payments are interactive, and this is unavoidable: payment means creating an UTXO for someone else, however in order to create such an UTXO and its bulletproof the creator needs its blinding factor, hence it owns it, means it must be the payee.",[34,96101,96102,96103,96108],{},"We ",[175,96104,96107],{"href":96105,"rel":96106},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FOne-side-payments",[179],"designed"," a mechanism to allow one-side payments after initial setup (currently fully supported in Node, but not in the wallet), however it's less anonymous, and the functionality is limited.",[34,96110,96111],{},"Lelantus doesn't have this limitation. It's possible to create a shielded output, such that the creator itself can't spend (thanks to the idea with Spend pubkey). What's remaining is the \"coloring\" scheme of the shielded output, i.e. how to make it distinguishable to the payee only, but not to others, including those that pay to the same payee.",[41,96113,96115],{"id":96114},"standard-bulletproof-coloring-scheme","Standard bulletproof coloring scheme",[34,96117,96118],{},"(based on the coloring scheme used by secp256k1 library)",[34,96120,96121,96122,181],{},"Our standard UTXO coloring scheme allows to embed an arbitrary 255-bits long description. In practice we use 24-byte description, which we call ",[100,96123,96124],{},"Coin ID",[34,96126,96127,96128,96131],{},"During bulletproof construction various nonces are generated. Those nonces are generated in a deterministic way from the public (visible) UTXO commitment, and a secret ",[100,96129,96130],{},"coloring seed"," (not necessarily the one used to generate the blinding factor).",[34,96133,96134],{},"In particular the following is performed",[852,96136,96137,96140,96143,96146],{},[59,96138,96139],{},"α - generated nonce",[59,96141,96142],{},"ρ - generated nonce",[59,96144,96145],{},"x - challenge",[59,96147,96148,96149],{},"Revealed: ",[611,96150,96151],{},"μ = α + ρ*x",[34,96153,96154,96155,96158,96159,181],{},"In order to embed meta-data into UTXO, the creator converts it into a scalar ",[611,96156,96157],{},"β"," (possible for every 255-bit data), and adds it to the originally-generated nonce ",[611,96160,96161],{},"α",[34,96163,96164,96165,96168,96169,181],{},"So, the revealed ",[611,96166,96167],{},"μ"," is calculated as: ",[611,96170,96171],{},"μ = α + β + ρ*x",[34,96173,96174,96175,96177,96178,2231,96180,96183,96184,96186],{},"In order to recognize such an UTXO one needs the same secret ",[100,96176,96130],{},". It generates the same ",[611,96179,96161],{},[611,96181,96182],{},"ρ",", and then recovers ",[611,96185,96157],{}," and the embedded parameters:",[34,96188,96189],{},"The recognition process goes as following:",[852,96191,96192,96201,96208,96213,96219,96224],{},[59,96193,10062,96194,2231,96196,96198,96199],{},[611,96195,96161],{},[611,96197,96182],{}," from the UTXO commitment and the ",[100,96200,96130],{},[59,96202,96203,96204,96207],{},"Calculate the challenge ",[611,96205,96206],{},"x"," (from the revealed bulletproof transcript)",[59,96209,89654,96210],{},[611,96211,96212],{},"β = μ - α - ρ*x",[59,96214,96215,96216,96218],{},"Decode the ",[100,96217,96124],{},", see if this makes sense (in particular it may have only 24 trailing non-zero bytes)",[59,96220,96221,96222],{},"Recreate the UTXO commitment from the master secret and the extracted ",[100,96223,96124],{},[59,96225,96226],{},"Check if the obtained commitment is correct",[41,96228,96230],{"id":96229},"advanced-coloring","Advanced coloring",[34,96232,96233,96234,96236],{},"So far the above scheme is suitable for coloring the shielded double-blind UTXO, but it's not anonymous: anyone with the same ",[100,96235,96130],{}," can identify such an UTXO",[34,96238,96239],{},"To overcome this limitation we use an additional step. We'll encode the embedded meta-data using the Diffie-Hellman encoding scheme.",[34,96241,96242,96243,91281,96246,96249,96250,181],{},"The payee creates a private\u002Fpublic key pair, which we call ",[100,96244,96245],{},"encoding key",[100,96247,96248],{},"encoding pubkey"," is given to the payer, along with the ",[100,96251,96130],{},[34,96253,96254,96255,96258],{},"During the bulletproof construction, among other things, the creator reveals the ",[611,96256,96257],{},"T1"," commitment, which is used to hide the blinding factors. In case of double-blinded bulletproof it's calculated as:",[852,96260,96261,96266],{},[59,96262,96263],{},[611,96264,96265],{},"T1 = n1 * G + n2 * J",[59,96267,96268,2231,96271,96274,96275],{},[611,96269,96270],{},"n1",[611,96272,96273],{},"n2"," - nonces, generated deterministically from the UTXO commitment and the ",[100,96276,96130],{},[34,96278,96279],{},"Now we'll add another nonce to this:",[852,96281,96282,96287],{},[59,96283,96284],{},[611,96285,96286],{},"T1 = (n1 + n3) * G + n2 + J",[59,96288,96289,10072,96292,96295,96296],{},[611,96290,96291],{},"n3",[37,96293,96294],{},"random"," nonce, i.e. can't be recovered from the ",[100,96297,96130],{},[34,96299,96300,96301,96303,96304,96306,96307,181],{},"So, using the ",[100,96302,96130],{}," it's not possible to recover ",[611,96305,96291],{},", but it's possible to obtain ",[611,96308,96309],{},"n3 * G",[34,96311,96312],{},"Finally, both payer and payee calculate the same secret:",[852,96314,96315,96327],{},[59,96316,96317,96318],{},"Payer:\n",[852,96319,96320],{},[59,96321,96322,96324,96325],{},[611,96323,96291],{}," * ",[100,96326,96248],{},[59,96328,96329,96330],{},"Payee:\n",[852,96331,96332],{},[59,96333,96334,96324,96336],{},[611,96335,96309],{},[100,96337,96338],{},"encoding private key",[34,96340,96341],{},"Finally the scheme goes as following:",[34,96343,96344],{},"Payer:",[852,96346,96347,96352,96358,96372,96379,96386],{},[59,96348,96349,96350],{},"Generate random nonce ",[611,96351,96291],{},[59,96353,96354,96355],{},"Calculate shared secret point ",[611,96356,96357],{},"S = n3 * encoding pubkey",[59,96359,96360,96361,96363,96364,96367],{},"Convert X-coordinate of ",[611,96362,1447],{}," to a scalar ",[611,96365,96366],{},"γ",[852,96368,96369],{},[59,96370,96371],{},"If it's too large and can't be converted (highly unlikely) - retry with different nonce",[59,96373,17817,96374,96376,96377],{},[611,96375,96366],{}," to the encoded meta-data ",[611,96378,96157],{},[59,96380,17817,96381,10218,96383,96385],{},[611,96382,96291],{},[611,96384,96270],{}," for the rest of the protocol",[59,96387,96388],{},"The rest is straight-forward",[34,96390,96391],{},"Payee:",[852,96393,96394,96401,96406,96414,96419,96430,96436,96443],{},[59,96395,96396,96397,2231,96399],{},"Generate the nonces ",[611,96398,96270],{},[611,96400,96273],{},[59,96402,96403,96404],{},"Calculate the \"unmodified\" ",[611,96405,96257],{},[59,96407,96408,96409,96411,96412],{},"Subtract it from the revealed ",[611,96410,96257],{}," to obtain ",[611,96413,96309],{},[59,96415,96354,96416],{},[611,96417,96418],{},"n3 * G * encoding private key",[59,96420,96360,96421,96363,96423,96425],{},[611,96422,1447],{},[611,96424,96366],{},[852,96426,96427],{},[59,96428,96429],{},"If it's too large - skip the rest",[59,96431,96432,96433,96435],{},"Recover encoded meta-data ",[611,96434,96157],{}," (as usual)",[59,96437,96438,96439,10004,96441],{},"Subtract ",[611,96440,96366],{},[611,96442,96157],{},[59,96444,96388],{},[48,96446,96448],{"id":96447},"what-about-shielded-inputs","What about shielded inputs?",[34,96450,96451],{},"They are identified by the revealed Spend pubkey. The payee should track all the Spend pubkeys for shielded outputs it detected, and realize the spending once it sees the shielded input from the same Spend pubkey.",[48,96453,96455],{"id":96454},"payee-address","Payee address",[34,96457,96458,96459,87403,96461,96463,96464,96466,96467,96469,96470,96472,96473,96476],{},"So far the payer needs the ",[100,96460,96130],{},[100,96462,96248],{},". But they don't have to be different: a payee can provide the ",[100,96465,96248],{},", and the ",[100,96468,96130],{}," may be generated from it in a deterministic way.\nMoreover, since the ",[100,96471,96248],{}," is fully controlled by the payee - it can always make sure its ",[611,96474,96475],{},"Y","-coordinate is odd\u002Feven (by just negating the private key), hence providing only X-coordinate (32 bytes) is enough.",[48,96478,96480],{"id":96479},"multiple-address","Multiple address?",[34,96482,96483],{},"Although in the above scheme a payer can not identify payments of others to the same payee, it may still be necessary to have multiple addresses. For instance, if payers share information, it may be necessary to conceal the fact that they pay to the same payee.",[34,96485,96486],{},"The above scheme is possible to extend to multiple addresses, they payee can generate arbitrary number of addresses. However there is no unified way for the payee to identify the payments: it needs to scan all the shielded outputs by all its generated addresses.",{"title":14,"searchDepth":15,"depth":15,"links":96488},[96489,96490,96491,96492,96493,96494,96495],{"id":95787,"depth":15,"text":95788},{"id":95866,"depth":15,"text":95832},{"id":25359,"depth":15,"text":95882},{"id":95916,"depth":15,"text":95917},{"id":96025,"depth":15,"text":96026},{"id":96114,"depth":15,"text":96115},{"id":96229,"depth":15,"text":96230,"children":96496},[96497,96498,96499],{"id":96447,"depth":154,"text":96448},{"id":96454,"depth":154,"text":96455},{"id":96479,"depth":154,"text":96480},{},"\u002Fdocs\u002Fcore-tech\u002Flelantus-mw",{"description":95776},"docs\u002Fcore-tech\u002FLelantus-MW","TN9a6qqdytv7FBhrpa9g74mjR3KWWvJYSsVj9hDm6JY",{"id":96506,"title":96507,"body":96508,"description":14,"extension":17,"image":18,"meta":97103,"navTitle":18,"navigation":20,"path":97104,"seo":97105,"stem":97106,"__hash__":97107},"docs\u002Fdocs\u002Fcore-tech\u002FLightning-Network.md","Lightning Network",{"type":8,"value":96509,"toc":97083},[96510,96514,96518,96525,96536,96543,96592,96596,96602,96608,96612,96615,96626,96630,96633,96636,96644,96647,96651,96654,96667,96681,96687,96691,96694,96703,96709,96712,96716,96719,96722,96756,96770,96773,96799,96813,96817,96820,96824,96853,96856,96860,96877,96881,96892,96895,96899,96907,96911,96914,96917,96978,96982,96988,96991,96997,97000,97004,97007,97011,97017,97020,97024,97030,97041,97044,97048,97054,97058,97064,97067,97071,97077,97080],[41,96511,96513],{"id":96512},"aka-laser-beam","a.k.a. Laser Beam",[11,96515,96517],{"id":96516},"what-is-lightning-network","What is Lightning Network",[34,96519,96520,96521,96524],{},"As in traditional blockchains (btc-alike), in Beam lightning network two (or more) users lock some funds, and then effectively transfer them ",[100,96522,96523],{},"off-chain",". This has the following advantages:",[852,96526,96527,96530,96533],{},[59,96528,96529],{},"Instant. No need to wait for transaction confirmation (after initial setup).",[59,96531,96532],{},"No transaction fee.",[59,96534,96535],{},"Hidden. The information about intermediate transactions is never broadcasted. The number of off-chain transactions, frequency and amounts are never revealed.",[34,96537,96538,96539,96542],{},"All the transfers are performed in the context of the ",[100,96540,96541],{},"Lightning channel",". Its lifetime consists of the following:",[56,96544,96545,96560,96574],{},[59,96546,96547,96548],{},"Channel Open\n",[852,96549,96550,96553],{},[59,96551,96552],{},"Users prepare and broadcast the transaction that consumes their inputs, and create a multi-signed output, which can be spent collectively.",[59,96554,96555,96556,96559],{},"At this point each user ",[9352,96557,96558],{},"already has a refund transaction",", which can be used to get the funds back.",[59,96561,96562,96563],{},"Off-chain funds transfers (arbitrary number of times).\n",[852,96564,96565,96568],{},[59,96566,96567],{},"Users agree on another partition of the locked funds, and generate newer refund transactions, with appropriate amounts to each, which is effectively equivalent to the funds transfer.",[59,96569,96570,96573],{},[9352,96571,96572],{},"Older refund transactions are revoked"," (more about this later). Nothing is broadcasted to the network.",[59,96575,96576,96577],{},"Channel close.\n",[852,96578,96579,96582,96585],{},[59,96580,96581],{},"Each user any moment can broadcast the most recent refund transaction, to get the funds back.",[59,96583,96584],{},"All the users notice this, and the channel is considered closed.",[59,96586,96587,96588,96591],{},"In case the users cooperate and perform a ",[100,96589,96590],{},"graceful"," channel closure - it'd be faster, and with less fee (more about this later).",[11,96593,96595],{"id":96594},"implementation-in-beam","Implementation in Beam",[34,96597,96598,96599,181],{},"Since there are no scripts in MW, all the relevant functionality is implemented within the context of the transaction negotiation. This is called ",[100,96600,96601],{},"scriptless scripts",[34,96603,96604,96605,181],{},"The actual negotiation flow is somewhat complex, but logically it can be split into separate ",[100,96606,96607],{},"building blocks",[48,96609,96611],{"id":96610},"multisig-multisigned-utxo","MultiSig - multisigned UTXO",[34,96613,96614],{},"An UTXO created by several users, whose blinding factor consists of their blinding factor. Such an UTXO looks indistinguishable from others. The following operations can only be done collectively by all the users:",[852,96616,96617,96620,96623],{},[59,96618,96619],{},"Creating the UTXO (commitment + bulletproof)",[59,96621,96622],{},"Transaction that creates it (has as an output)",[59,96624,96625],{},"Transaction that spends it (has as an input)",[48,96627,96629],{"id":96628},"relative-timelock","Relative timelock",[34,96631,96632],{},"This feature enables to create 2 dependent transactions, whereas the second one becomes valid only after the first one is already accepted in a block, and the block is mature enough. Means - there is a minimum enforced delay between the transactions.\nIt requires a special processing on the node side, and will be available after the planned Hard Fork 1.",[34,96634,96635],{},"Technically each kernel may optionally contain the Relative Lock info, which consists of:",[852,96637,96638,96641],{},[59,96639,96640],{},"Kernel ID (hash) being referenced",[59,96642,96643],{},"Minimum maturity (height difference)",[34,96645,96646],{},"When such a kernel is encountered the node verifies if indeed the referenced kernel exists in the blockchain, and is mature enough.",[48,96648,96650],{"id":96649},"refund-procedure","Refund procedure",[34,96652,96653],{},"Refund procedure consists of 2 transactions, which consume the locked funds and create the agreed user outputs.",[56,96655,96656,96659],{},[59,96657,96658],{},"MultiSig.0 -> MultiSig.N",[59,96660,96661,96662],{},"MultiSig.N -> Outputs.N\n",[852,96663,96664],{},[59,96665,96666],{},"Relatively time-locked w.r.t. transaction (1).",[34,96668,94860,96669,96672,96673,96676,96677,96680],{},[611,96670,96671],{},"MultiSig.0"," represents the funds locked in the channel, ",[611,96674,96675],{},"MultiSig.N"," is an intermediate multisigned UTXO, and ",[611,96678,96679],{},"Outputs.N"," are all the outputs that users are supposed to get by the refund.",[34,96682,96683,96684,96686],{},"The transaction (2) is time-locked w.r.t. transaction (1). Means, after (1) was broadcasted, the ",[611,96685,96675],{}," becomes visible in the blockchain, but the transaction (2) can't be used immediately.\nAs we'll see this is important. In case a malicious user would try to use not the most recently agreed refund procedure, it gives a time window for the affected user to respond.",[48,96688,96690],{"id":96689},"refund-revocation","Refund revocation",[34,96692,96693],{},"As we said, there is a way to revoke the refund procedure. This should prevent malicious users from trying to use an older refund procedure after a newer agreement was set.",[34,96695,96696,96697,96700,96701,181],{},"In Beam in order to revoke the N-th refund procedure, the user ",[37,96698,96699],{},"reveals its blinding factor"," that was used for ",[611,96702,96675],{},[34,96704,96705,96706,96708],{},"Once the blinding factor was revealed the user won't be able to use the refund procedure. If it does, then after transaction (1) the ",[611,96707,96675],{}," becomes visible in the blockchain, and the peer can consume it immediately, because it knows the overall blinding factor. Just build and broadcast a transaction immediately that takes it as an input, and creates an output that belongs solely to it, i.e. punish.",[34,96710,96711],{},"This is why relative timelock is important.",[48,96713,96715],{"id":96714},"multi-user-refund-procedure","Multi-user Refund procedure",[34,96717,96718],{},"Now let's see how 2 users (A)lice and (B)ob build and use their refund procedures. We'll study the case for 2 users, but it can easily be generalized for arbitrary number of users.",[34,96720,96721],{},"To build N-th refund procedure (A) and (B) negotiate to build the following transactions:",[852,96723,96724,96732,96740,96748],{},[59,96725,96726,96727],{},"Refund.N.A.1\n",[852,96728,96729],{},[59,96730,96731],{},"MultiSig.0 -> MultiSig.N.A",[59,96733,96734,96735],{},"Refund.N.A.2\n",[852,96736,96737],{},[59,96738,96739],{},"MultiSig.N.A -> Outputs.N",[59,96741,96742,96743],{},"Refund.N.B.1\n",[852,96744,96745],{},[59,96746,96747],{},"MultiSig.0 -> MultiSig.N.B",[59,96749,96750,96751],{},"Refund.N.B.2\n",[852,96752,96753],{},[59,96754,96755],{},"MultiSig.B.A -> Outputs.N",[34,96757,96758,96759,96762,96763,96766,96767,96769],{},"So there are 4 transactions overall, all of them are built collectively. At the end ",[9352,96760,96761],{},"each user has its own refund procedure",", with different intermediate ",[611,96764,96765],{},"MultiSig.N.X",", but the final ",[611,96768,96679],{}," are the same.",[34,96771,96772],{},"Note the following:",[852,96774,96775,96781,96788],{},[59,96776,96777,96778,96780],{},"The transaction (1) of each refund procedure is kept ",[37,96779,88745],{},". Means - only (A) has the Refund.N.A.1, and only (B) has the Refund.N.B.1",[59,96782,96783,96784,96787],{},"The transaction (2) of each refund procedure is ",[37,96785,96786],{},"public",". Means - both (A) and (B) have Refund.N.A.2 and Refund.N.B.2",[59,96789,96790,96791,96793,96794],{},"The order of transaction building is important. Both (A) and (B) should ",[37,96792,8836],{}," complete their parts of transaction (1) for the peer, before they have the appropriate transaction (2).\n",[852,96795,96796],{},[59,96797,96798],{},"Otherwise a malicious user can just use the transaction (1) to lock the funds permanently.",[34,96800,96801,96802,96805,96806,1475,96809,96812],{},"So, the idea is that (A) and (B) have their own refund procedures, partly kept private. This separation is important, since in case they come to another agreement and create a newer refund procedures - they will need to ",[9352,96803,96804],{},"revoke"," the older ones, which means the appropriate blinding factors of ",[611,96807,96808],{},"MultiSig.N.A",[611,96810,96811],{},"MultiSig.N.B"," must be revealed. As we already mentioned, using a compromised transaction (1) would lead to loss of funds. But, importantly, we must also guarantee that user that gets the revealed blinding factor can't initiate the compromised path on its own. This is the reason why the appropriate transactions (1) are private.",[11,96814,96816],{"id":96815},"lightning-channel-from-the-building-blocks","Lightning channel from the building blocks.",[34,96818,96819],{},"Conceptually the lightning channel operates the following way:",[48,96821,96823],{"id":96822},"channel-open","Channel open",[56,96825,96826,96829,96834,96840,96850],{},[59,96827,96828],{},"Users agree on how much funds each of them locks.",[59,96830,96831,96832],{},"Create the ",[611,96833,96671],{},[59,96835,96836,96837],{},"Build ",[611,96838,96839],{},"Refund.1",[59,96841,96842,96843,96845,96846,18641,96848],{},"Create a transaction ",[611,96844,95917],{}," -> ",[611,96847,96671],{},[611,96849,87610],{},[59,96851,96852],{},"Wait for confirmation",[34,96854,96855],{},"Of course the order is important. Users should not make (4) available before they have (3).",[48,96857,96859],{"id":96858},"off-chain-funds-transfer","Off-chain funds transfer",[56,96861,96862,96865,96871],{},[59,96863,96864],{},"Users agree on newer partition of the locked funds.",[59,96866,96867,96868],{},"Negotiate to build ",[611,96869,96870],{},"Refund.N",[59,96872,96873,96874],{},"Revoke the previous ",[611,96875,96876],{},"Refund.N-1",[48,96878,96880],{"id":96879},"graceful-channel-closure","Graceful channel closure.",[56,96882,96883,96886],{},[59,96884,96885],{},"Users agree to close the channel gracefully.",[59,96887,96842,96888,96845,96890],{},[611,96889,96671],{},[611,96891,96679],{},[34,96893,96894],{},"This scheme makes the withdrawal immediate. No timelocks are needed.",[48,96896,96898],{"id":96897},"one-side-channel-closure","One-side channel closure.",[56,96900,96901,96904],{},[59,96902,96903],{},"User decides to invoke its refund procedure (in case there's no cooperation)",[59,96905,96906],{},"User uses its latest refund procedure (all the others are revoked).",[48,96908,96910],{"id":96909},"blockchain-status-monitoring-aka-watch-towers","Blockchain status monitoring (a.k.a. watch towers)",[34,96912,96913],{},"In addition to the voluntary actions, all the users should monitor the blockchain to detect if\u002Fwhen any of them made one-side actions.\nDepends on the agreed timelock (which is applied in all the relative locks of all the refund procedures) - the monitoring doesn't have to be for each new block. It can be once in many blocks as well.",[34,96915,96916],{},"Once a new block arrives and the user decides to check the status:",[852,96918,96919],{},[59,96920,96921,96922,96924,96925],{},"Does ",[611,96923,96671],{}," present?\n",[852,96926,96927,96930],{},[59,96928,96929],{},"Yes - channel is open. No further actions.",[59,96931,96932,96933],{},"No\n",[852,96934,96935],{},[59,96936,96937,96938],{},"Was the channel open already?\n",[852,96939,96940,96943],{},[59,96941,96942],{},"No - we're still opening it (waiting for the 1st tx).",[59,96944,96945,96946],{},"Yes - the channel is being closed!\n",[852,96947,96948,96954],{},[59,96949,96950,96951,96953],{},"Find one of he ",[611,96952,96675],{}," that was created for the refund procedures.",[59,96955,96956,96957],{},"Does it belong to the revoked refund?\n",[852,96958,96959,96967],{},[59,96960,96961,96962],{},"Yes - cheat attempt detected!!!\n",[852,96963,96964],{},[59,96965,96966],{},"Claim all the funds immediately.",[59,96968,96969,96970],{},"No - valid withdrawal triggered\n",[852,96971,96972,96975],{},[59,96973,96974],{},"Wait until the timelock expires",[59,96976,96977],{},"Broadcast the appropriate transaction (2)",[41,96979,96981],{"id":96980},"code-design-minimizing-the-number-of-negotiation-roundtrips","Code design - Minimizing the number of negotiation roundtrips.",[34,96983,96984,96985,96987],{},"As we saw, each operation on the Lightning channel requires to prepare many different ",[100,96986,96607],{},", with dependencies. Some are literally dependent on each other (some of their results are needed by others), whereas for some there are artificial order restrictions to prevent malicious users from doing harm.",[34,96989,96990],{},"Nevertheless, many such negotiations may run in parallel. At least partially, up to the point where their dependencies come into play.",[34,96992,96993,96994,96996],{},"To allow this Beam code infrastructure allows the negotiations in terms of ",[100,96995,95814],{},", each is responsible for a well-defined functionality (such as creating a MultiSig, or a transaction), each has an interface to load\u002Fstore the parameters and transfer the data to the peer.\nWhen those primitives are aggregated to create a more complex negotiation scheme - their inputs\u002Foutputs are \"re-routed\", to reflect their dependency.",[34,96998,96999],{},"By such the code remains relatively not too complex (readable), the dependencies are visible and can be verified, whereas on the other hand the negotiations effectively run in parallel, and each action is performed in a minimum number of negotiation roundtrips.",[11,97001,97003],{"id":97002},"how-typical-negotiations-look","How typical negotiations look",[34,97005,97006],{},"Below are the real negotiations produced by our code.",[48,97008,97010],{"id":97009},"multisig","MultiSig",[616,97012,97015],{"className":97013,"code":97014,"language":621},[619],"    A -> B 115 bytes\n         Partial Commitment\n         Bulletproof T1,T2\n    B -> A 155 bytes\n         Partial Commitment\n         Bulletproof T1,T2\n         Bulletproof TauX\n    B done\n    A done\n",[611,97016,97014],{"__ignoreMap":14},[34,97018,97019],{},"Overall 1 roundtrip, assuming both users get the commitment, but only A has the valid bulletproof",[48,97021,97023],{"id":97022},"refund-one-sided","Refund, one-sided",[616,97025,97028],{"className":97026,"code":97027,"language":621},[619],"    A -> B 279 bytes\n         MultiSig.Partial Commitment\n         MultiSig.Bulletproof T1,T2\n         Tx-TLock.Excess Commitment\n         Tx-TLock.Nonce Commitment\n         Tx-Final.Excess Commitment\n         Tx-Final.Nonce Commitment\n    B -> A 1158 bytes\n         MultiSig.Partial Commitment\n         MultiSig.Bulletproof T1,T2\n         MultiSig.Bulletproof TauX\n         Tx-TLock.Excess Commitment\n         Tx-TLock.Nonce Commitment\n         Tx-TLock.Partial Kernel Signature\n         Tx-Final.Excess Commitment\n         Tx-Final.Nonce Commitment\n         Tx-Final.Partial Kernel Signature\n         Tx-Final.Partial Transaction\n    A -> B 925 bytes\n         Tx-Final.Partial Transaction\n    B -> A 52 bytes\n         Tx-TLock.Partial Transaction\n    B done\n    A done\n",[611,97029,97027],{"__ignoreMap":14},[34,97031,97032,97033,97036,97037,97040],{},"Overall 2 roundtrips. Note that B delays the completion of ",[611,97034,97035],{},"Tx-TLock"," for A until it gets and validates the ",[611,97038,97039],{},"Tx-Final"," from it.",[34,97042,97043],{},"Now let's see how the Lightning channel operations are negotiated.",[41,97045,97047],{"id":97046},"lightning-channel-open","Lightning channel open",[616,97049,97052],{"className":97050,"code":97051,"language":621},[619],"    A -> B 591 bytes\n         MultiSig.Partial Commitment\n         MultiSig.Bulletproof T1,T2\n         Tx-Open.Excess Commitment\n         Tx-Open.Nonce Commitment\n         Exit-A.MultiSig.Partial Commitment\n         Exit-A.MultiSig.Bulletproof T1,T2\n         Exit-A.Tx-TLock.Excess Commitment\n         Exit-A.Tx-TLock.Nonce Commitment\n         Exit-A.Tx-Final.Excess Commitment\n         Exit-A.Tx-Final.Nonce Commitment\n         Exit-B.MultiSig.Partial Commitment\n         Exit-B.MultiSig.Bulletproof T1,T2\n    B -> A 1754 bytes\n         MultiSig.Partial Commitment\n         MultiSig.Bulletproof T1,T2\n         MultiSig.Bulletproof TauX\n         Tx-Open.Excess Commitment\n         Tx-Open.Nonce Commitment\n         Tx-Open.Partial Kernel Signature\n         Exit-A.MultiSig.Partial Commitment\n         Exit-A.MultiSig.Bulletproof T1,T2\n         Exit-A.MultiSig.Bulletproof TauX\n         Exit-A.Tx-TLock.Excess Commitment\n         Exit-A.Tx-TLock.Nonce Commitment\n         Exit-A.Tx-TLock.Partial Kernel Signature\n         Exit-A.Tx-Final.Excess Commitment\n         Exit-A.Tx-Final.Nonce Commitment\n         Exit-A.Tx-Final.Partial Kernel Signature\n         Exit-A.Tx-Final.Partial Transaction\n         Exit-B.MultiSig.Partial Commitment\n         Exit-B.MultiSig.Bulletproof T1,T2\n         Exit-B.MultiSig.Bulletproof TauX\n         Exit-B.Tx-TLock.Excess Commitment\n         Exit-B.Tx-TLock.Nonce Commitment\n         Exit-B.Tx-Final.Excess Commitment\n         Exit-B.Tx-Final.Nonce Commitment\n    A -> B 1968 bytes\n         Exit-A.Tx-Final.Partial Transaction\n         Exit-B.MultiSig.Bulletproof TauX\n         Exit-B.Tx-TLock.Excess Commitment\n         Exit-B.Tx-TLock.Nonce Commitment\n         Exit-B.Tx-TLock.Partial Kernel Signature\n         Exit-B.Tx-Final.Excess Commitment\n         Exit-B.Tx-Final.Nonce Commitment\n         Exit-B.Tx-Final.Partial Kernel Signature\n         Exit-B.Tx-Final.Partial Transaction\n    B -> A 977 bytes\n         Exit-A.Tx-TLock.Partial Transaction\n         Exit-B.Tx-Final.Partial Transaction\n    A -> B 52 bytes\n         Exit-B.Tx-TLock.Partial Transaction\n    B -> A 85 bytes\n         Tx-Open.Partial Transaction\n    B done\n    A done\n",[611,97053,97051],{"__ignoreMap":14},[41,97055,97057],{"id":97056},"lightning-channel-update-funds-transfer","Lightning channel update (funds transfer)",[616,97059,97062],{"className":97060,"code":97061,"language":621},[619],"    A -> B 394 bytes\n         Exit-A.MultiSig.Partial Commitment\n         Exit-A.MultiSig.Bulletproof T1,T2\n         Exit-A.Tx-TLock.Excess Commitment\n         Exit-A.Tx-TLock.Nonce Commitment\n         Exit-A.Tx-Final.Excess Commitment\n         Exit-A.Tx-Final.Nonce Commitment\n         Exit-B.MultiSig.Partial Commitment\n         Exit-B.MultiSig.Bulletproof T1,T2\n    B -> A 1477 bytes\n         Exit-A.MultiSig.Partial Commitment\n         Exit-A.MultiSig.Bulletproof T1,T2\n         Exit-A.MultiSig.Bulletproof TauX\n         Exit-A.Tx-TLock.Excess Commitment\n         Exit-A.Tx-TLock.Nonce Commitment\n         Exit-A.Tx-TLock.Partial Kernel Signature\n         Exit-A.Tx-Final.Excess Commitment\n         Exit-A.Tx-Final.Nonce Commitment\n         Exit-A.Tx-Final.Partial Kernel Signature\n         Exit-A.Tx-Final.Partial Transaction\n         Exit-B.MultiSig.Partial Commitment\n         Exit-B.MultiSig.Bulletproof T1,T2\n         Exit-B.MultiSig.Bulletproof TauX\n         Exit-B.Tx-TLock.Excess Commitment\n         Exit-B.Tx-TLock.Nonce Commitment\n         Exit-B.Tx-Final.Excess Commitment\n         Exit-B.Tx-Final.Nonce Commitment\n    A -> B 1968 bytes\n         Exit-A.Tx-Final.Partial Transaction\n         Exit-B.MultiSig.Bulletproof TauX\n         Exit-B.Tx-TLock.Excess Commitment\n         Exit-B.Tx-TLock.Nonce Commitment\n         Exit-B.Tx-TLock.Partial Kernel Signature\n         Exit-B.Tx-Final.Excess Commitment\n         Exit-B.Tx-Final.Nonce Commitment\n         Exit-B.Tx-Final.Partial Kernel Signature\n         Exit-B.Tx-Final.Partial Transaction\n    B -> A 977 bytes\n         Exit-A.Tx-TLock.Partial Transaction\n         Exit-B.Tx-Final.Partial Transaction\n    A -> B 92 bytes\n         Reveal Previous Blinding Factor\n         Exit-B.Tx-TLock.Partial Transaction\n    B -> A 40 bytes\n         Reveal Previous Blinding Factor\n    B done\n    A done\n",[611,97063,97061],{"__ignoreMap":14},[34,97065,97066],{},"So, both channel open and funds transfer negotiations are completed in 3 full roundtrips, whereas all the dependencies are observed.",[11,97068,97070],{"id":97069},"demo","Demo",[34,97072,97073,97074],{},"There's a working demo of the Lightning channel in our codebase here: ",[611,97075,97076],{},"beam\u002Fnode\u002Flaser_beam_demo",[34,97078,97079],{},"Various scenarios are emulated, such as graceful channel opening and closure, one-side channel closure and appropriate user responses, and the cheat attempt and punishing.",[34,97081,97082],{},"The node used in the demo is the standard Beam node (no hacks, workarounds, or other tricks specifically for the demo), configured to generate fake PoW. All the broadcasted transactions and timelocks are fully validated.",{"title":14,"searchDepth":15,"depth":15,"links":97084},[97085,97097,97101,97102],{"id":96512,"depth":15,"text":96513,"children":97086},[97087,97088,97089,97090,97091,97092,97093,97094,97095,97096],{"id":96610,"depth":154,"text":96611},{"id":96628,"depth":154,"text":96629},{"id":96649,"depth":154,"text":96650},{"id":96689,"depth":154,"text":96690},{"id":96714,"depth":154,"text":96715},{"id":96822,"depth":154,"text":96823},{"id":96858,"depth":154,"text":96859},{"id":96879,"depth":154,"text":96880},{"id":96897,"depth":154,"text":96898},{"id":96909,"depth":154,"text":96910},{"id":96980,"depth":15,"text":96981,"children":97098},[97099,97100],{"id":97009,"depth":154,"text":97010},{"id":97022,"depth":154,"text":97023},{"id":97046,"depth":15,"text":97047},{"id":97056,"depth":15,"text":97057},{},"\u002Fdocs\u002Fcore-tech\u002Flightning-network",{"description":14},"docs\u002Fcore-tech\u002FLightning-Network","87ECtmF8OgOWnVW03dt1kgvfN5A38r7R3D7hEWQYKS0",{"id":97109,"title":87802,"body":97110,"description":97114,"extension":17,"image":18,"meta":97947,"navTitle":18,"navigation":20,"path":97948,"seo":97949,"stem":97950,"__hash__":97951},"docs\u002Fdocs\u002Fcore-tech\u002FMW-CLA.md",{"type":8,"value":97111,"toc":97930},[97112,97115,97118,97121,97167,97171,97176,97189,97193,97196,97235,97239,97248,97254,97256,97259,97263,97266,97280,97290,97294,97297,97300,97304,97310,97313,97321,97327,97331,97334,97359,97364,97367,97371,97374,97381,97384,97423,97426,97430,97441,97444,97458,97461,97469,97472,97484,97488,97490,97530,97538,97565,97568,97578,97586,97590,97592,97637,97642,97653,97680,97690,97694,97703,97725,97738,97741,97762,97768,97772,97775,97816,97819,97830,97833,97836,97839,97845,97853,97860,97862,97872,97887,97893,97900,97913,97916,97924,97927],[34,97113,97114],{},"MW-CLA stands for Mimblewimble Confidential Lelantus Assets",[34,97116,97117],{},"This page describes our most recent system design, which will be activated on Fork2. It includes CA (confidential assets), Lelantus-MW, as well as will enable adding more features in the future.",[34,97119,97120],{},"Those are the key features:",[852,97122,97123,97134,97145],{},[59,97124,97125,97126],{},"CA support\n",[852,97127,97128,97131],{},[59,97129,97130],{},"each UTXO may optionally have a blinded asset tag (similar to the Elements design by A.Poelstra).",[59,97132,97133],{},"There's a proof of validity of the asset tag. It's based on the 1-out-of-many Sigma protocol (by Jens Groth).",[59,97135,97136,97137],{},"Shielded pool (a.k.a. Lelantus-MW)\n",[852,97138,97139,97142],{},[59,97140,97141],{},"CA support for shielded operations too",[59,97143,97144],{},"Support for one-side payments and direct anonymous payments",[59,97146,97147,97148],{},"The system design is heterogeneous in nature:\n",[852,97149,97150,97153,97164],{},[59,97151,97152],{},"All kernels carry an excess blinding factors, and (optionally) extra validation rules (height lock, relative lock, etc.)",[59,97154,97155,97156],{},"Some kernels may control subsystems:\n",[852,97157,97158,97161],{},[59,97159,97160],{},"Asset control (creation, emission).",[59,97162,97163],{},"Shielded operations (mint, spend).",[59,97165,97166],{},"Those kernels, in addition to contributing to the balance, will have side effects as well.",[11,97168,97170],{"id":97169},"confidential-assets-support","Confidential assets support",[34,97172,97173,97175],{},[9352,97174,9770],{},": this design is very different from the older preliminary design.",[34,97177,97178,97179,97181,97182,97184,97185,97188],{},"We identify each asset by ",[611,97180,91193],{},", which is a 32-bit integer. For each asset there's an appropriate NUMS generator, which is generated deterministically from the ",[611,97183,91193],{}," (via hashing). The ",[611,97186,97187],{},"AssetID == 0"," is reserved for default asset (Beam).",[41,97190,97192],{"id":97191},"utxo-encoding","UTXO encoding",[34,97194,97195],{},"In MW it's possible to encode UTXOs of different kinds (asset types) by using different NUMS (nothing-up-my-sleeve) generators. The UTXO that encodes an asset consists of the following:",[852,97197,97198,97216,97219,97232],{},[59,97199,97200,97201,18645,97206,97210,97211,97213,97214],{},"Blinded generator: ",[37,97202,1146,97203],{},[8009,97204,97205],{},"*",[37,97207,1146,97208],{},[2327,97209,16945],{}," + k",[2327,97212,697],{},"•",[37,97215,1123],{},[59,97217,97218],{},"Asset surjection proof (proves that the provided generator is indeed one of the list with arbitrary blinding factor added)",[59,97220,97221,97222,97224,97225,97227,97228],{},"Pedersen commitment: ",[37,97223,837],{}," = k•",[37,97226,1123],{}," + v•",[37,97229,1146,97230],{},[8009,97231,97205],{},[59,97233,97234],{},"Rangeproof (bulletproof) in terms of this blinded generator",[48,97236,97238],{"id":97237},"asset-surjection-proof","Asset surjection proof",[34,97240,97241,97242,10241,97245,97247],{},"It's based on Sigma protocol. The prover specifies a ",[100,97243,97244],{},"range",[611,97246,91193],{}," values, and proves that the specified generator is one of those with arbitrary blinding factor added.",[34,97249,97250,97251,97253],{},"The verifier generates the list of the asset generators for this range, and subtracts (methodically) the provided blinded generator from each element in the list. Then the prover proves by the Sigma protocol that it knows the opening of one of the elements in terms of ",[611,97252,1123],{}," generator (used for blinding factor).",[41,97255,88729],{"id":88728},[34,97257,97258],{},"Any user is allowed to create its asset types. Unlike Beams, which are created automatically with each new block generated, assets are emitted and burned explicitly by their owners. The life cycle of each asset goes as following:",[48,97260,97262],{"id":97261},"asset-creation","Asset creation.",[34,97264,97265],{},"The user sends a transaction (kernel) that asks to create its asset type. It provides the following:",[852,97267,97268,97274],{},[59,97269,97270,97273],{},[100,97271,97272],{},"Owner key"," - an arbitrary public key that will be associated with this asset. All further asset actions must be signed by the appropriate private key.",[59,97275,97276,97279],{},[100,97277,97278],{},"Metadata"," - arbitrary data (buffer), visible to all other users. Once asset is created this metadata can't be modified.",[34,97281,97282,97283,97286,97287,97289],{},"In addition to this, the user ",[100,97284,97285],{},"Locks"," a considerable amount of Beams, i.e. this transaction implicitly consumes this amount. If successful, the system allocates the lowest available (unused) ",[611,97288,91193],{},", and associates it with this asset.",[48,97291,97293],{"id":97292},"asset-emissionburn","Asset emission\u002Fburn.",[34,97295,97296],{},"The user sends a special asset emission kernel (emission amount may be either positive or negative). In addition to signing the kernel excess blinding factor (as usual) - it also must be signed by the appropriate private key of the asset owner.",[34,97298,97299],{},"This transaction implicitly creates\u002Fconsumes some amount of this asset, which should be compensated by other transaction elements (inputs and outputs).",[48,97301,97303],{"id":97302},"asset-destroying","Asset destroying.",[34,97305,97306,97307,97309],{},"To destroy an asset the user sends an appropriate asset destruction kernel (signed by the appropriate owner key). After the asset is destroyed - the ",[611,97308,91193],{}," is no longer associated with the owner, and the user gets the locked Beams back.",[34,97311,97312],{},"Note that asset can be destroyed only if:",[852,97314,97315,97318],{},[59,97316,97317],{},"It is completely burned.",[59,97319,97320],{},"Minimum lock period elapsed after it was completely burned, and not emitted since then.",[34,97322,97323,97324,97326],{},"This minimum lock period is needed to prevent manipulations (tampering) by the asset owner. For example, a user may want to receive a specific asset, then it must be sure that this ",[611,97325,91193],{}," will be associated with exactly this asset info (Metadata and owner key) before its transaction expires, i.e. the asset owner won't be able to destroy and re-create the asset in the meanwhile.",[41,97328,97330],{"id":97329},"asset-state","Asset state.",[34,97332,97333],{},"The system state contains a commitment to the most recent assets state. It's an MMR root of all the currently active assets, with their info, which includes:",[852,97335,97336,97342,97345],{},[59,97337,97338,97339,97341],{},"Static info: ",[100,97340,97278],{}," and owner public key",[59,97343,97344],{},"Current emission value",[59,97346,97347,97350,97351],{},[100,97348,97349],{},"Lockheight"," - the most recent height of the asset burned\u002Fnot-burned transition. Based on this users can:\n",[852,97352,97353,97356],{},[59,97354,97355],{},"Asset owner: knows if\u002Fwhen it can destroy the asset, and get the locked funds back",[59,97357,97358],{},"Other users: estimate the minimum height range when this asset can be used safely. i.e. can it disappear due to reorgs in the past, or tampered in the future.",[34,97360,97361,97363],{},[9352,97362,9770],{},": The ever need to lock the funds for asset creation is needed to prevent system spamming. Not only excess of assets will make Nodes heavier, it'll also make the asset surjection proof less effective (since its anonymity set is limited).",[34,97365,97366],{},"However despite the need to lock considerable funds, this design should be ok for users that just want to experiment with assets, since they are supposed to get the funds back once they finish.\nOrganizations that sell their asset to users - not obvious if they will ever be able to burn their asset back (for this they first need to own all their asset). But this seems as a justified risk.",[41,97368,97370],{"id":97369},"note-on-transaction-repeatability","Note on transaction repeatability",[34,97372,97373],{},"One of the problems specific to UTXO-based systems in general and MW particularly is repeatability. If an attacker controls all the inputs of a specific transaction where it pays someone (which is usually the case) - it can repeat this transaction later regardless to the will of the other user. Moreover, if that user later spends only the inputs received from the attacker - then the attacker can repeat those transactions too, and so on. Everything can be 'replayed' up to some depth, where more inputs are needed, that were not originally received from the attacker.",[34,97375,97376,97377,97380],{},"If only beams are traded, then there's no big problem. Because of those 'replays' users can only get paid, not loose their funds. But replaying asset-controlling transaction ",[37,97378,97379],{},"IS"," a problem. Because assets are essentially created from 'thin air', by replaying some transactions the attacker may cause extra asset emission (which is already a big problem), and may even be able to get some amount of this asset.",[34,97382,97383],{},"To mitigate this threat, starting from Fork2 duplicating kernels will be forbidden. Technically this is achieved by the following:",[852,97385,97386,97393,97400,97411,97417],{},[59,97387,97388,97389,97392],{},"There will be a new consensus parameter, ",[611,97390,97391],{},"MaxKernelLifespan",", probably equivalent to ~ 1 month.",[59,97394,97395,97396,97399],{},"Starting from Fork2, kernels with ",[611,97397,97398],{},"HeightLock.Min"," (minimum height) lower than Fork2 will be rejected.",[59,97401,97402,97403,97406,97407,97410],{},"Each kernel, in addition to the optional ",[611,97404,97405],{},"HeightLock.Max"," (maximum height) will have implicit max height lock as ",[611,97408,97409],{},"HeightLock.Min + MaxKernelLifespan",". This (and the previous restriction) will make repeating old kernels impossible.",[59,97412,97413,97414,97416],{},"Each node will have to keep track of all the recent kernels, down to current height minus ",[611,97415,97391],{},". Kernels below this height may be forgotten (for the sake of blockchain verification).",[59,97418,97419,97420,97422],{},"Side effect: Kernels with relative height lock (already available on the mainnet) will not be able to reference a kernel older than ",[611,97421,97391],{},". But this is ok, practically relative locks are needed for much shorter duration.",[34,97424,97425],{},"By such we will make kernel replaying illegal, whereas nodes will have to keep track only of the most recent kernels.",[11,97427,97429],{"id":97428},"shielded-pool-aka-lelantus-mw","Shielded pool (a.k.a. Lelantus-MW)",[34,97431,97432,97435,97436,97440],{},[37,97433,97434],{},"Disclaimer:"," The ",[175,97437,97439],{"href":95793,"rel":97438},[179],"Lelantus Protocol"," is the work of Zcoin's cryptographer Aram Jivanyan as part of its research to improve its privacy protocol. Our design and implementation are based on the publicly-available Lelantus scientific paper. All our code was developed from scratch based on this paper alone.",[34,97442,97443],{},"In order to solve the MW linkability problem, users will be able to recycle their funds via shielded pool. Our design is different from the original Lelantus protocol in the following ways:",[852,97445,97446,97449,97455],{},[59,97447,97448],{},"Transaction values are never revealed",[59,97450,97451,97452,97454],{},"Instead of transactions, it's formulated in terms of mint\u002Fspend ",[100,97453,95814],{},", and the final transactions are composed of MW and shielded parts in any combinations, keeping the balance-to-zero principle (MW-style).",[59,97456,97457],{},"CA are naturally supported",[34,97459,97460],{},"Technically in addition to standard transaction elements, the following are supported:",[852,97462,97463,97466],{},[59,97464,97465],{},"Shielded output - transfers some amount from MW into shielded pool",[59,97467,97468],{},"Shielded input - withdraws some amount from the shielded pool back into MW",[34,97470,97471],{},"Both elements are encoded as special transaction kernels.",[34,97473,97474,97475,97477,97478,97480,97481,181],{},"In addition to the standard MW blinding factor generator ",[37,97476,1123],{},", there's an additional generator ",[37,97479,95858],{}," for the secondary blinding factor, a.k.a. ",[100,97482,97483],{},"serial number",[41,97485,97487],{"id":97486},"shielded-output","Shielded output",[34,97489,89011],{},[852,97491,97492,97507,97510,97513,97527],{},[59,97493,97494,97495,97499,97500,97213,97502,97504,97505],{},"Blinded serial number commitment: ",[37,97496,837,97497],{},[2327,97498,1446],{}," = k",[2327,97501,1446],{},[37,97503,1123],{}," + s•",[37,97506,95858],{},[59,97508,97509],{},"Generalized Schnorr's signature that proves the above commitment is indeed of this form",[59,97511,97512],{},"Optionally asset info: the blinded asset generator + asset surjection proof.",[59,97514,97515,97516,97499,97521,97213,97523,97227,97525],{},"UTXO commitment ",[37,97517,837,97518],{},[2327,97519,97520],{},"MW",[2327,97522,97520],{},[37,97524,1123],{},[37,97526,1146],{},[59,97528,97529],{},"Rangeproof",[34,97531,97532,97533,97537],{},"In order to verify the overall transaction balance - only the UTXO commitment ",[37,97534,837,97535],{},[2327,97536,97520],{}," (without the serial number) is accounted for. After verification, instead of going to the UTXO set, the following double-blinded commitment goes into the shielded pool:",[852,97539,97540],{},[59,97541,97542,18645,97544,18641,97548,97552,97553,97555,97556,97210,97558,97560,97561,97227,97563],{},[37,97543,837],{},[37,97545,837,97546],{},[2327,97547,1446],{},[37,97549,837,97550],{},[2327,97551,97520],{}," = s•",[37,97554,95858],{}," + (k",[2327,97557,1446],{},[2327,97559,97520],{},")•",[37,97562,1123],{},[37,97564,1146],{},[34,97566,97567],{},"The shielded outputs in the pool form a sequence of commitments (EC points).",[34,97569,97570,97571,97573,97574,97577],{},"Note: the serial number ",[100,97572,1446],{}," is derived from another public key ",[100,97575,97576],{},"SpendKey",", which will need to be revealed during spending. In addition the prover will need to prove the knowledge of the appropriate private key.",[34,97579,97580,97581,97585],{},"In addition, the ",[37,97582,837,97583],{},[2327,97584,1446],{}," commitment must be unique. This is to prevent accidental misuse, which will make subsequent element withdrawal impossible.",[41,97587,97589],{"id":97588},"shielded-input","Shielded input",[34,97591,89011],{},[852,97593,97594,97597,97602,97604,97626,97634],{},[59,97595,97596],{},"Range within the shielded pool, that contains the being-spent element.",[59,97598,97599,97601],{},[100,97600,97576],{}," is revealed, and the whole shielded input is signed by the appropriate private key",[59,97603,97512],{},[59,97605,97606,97607,97499,97612,97213,97614,97227,97616,97618],{},"Output commitment ",[37,97608,837,97609],{},[2327,97610,97611],{},"out",[2327,97613,97611],{},[37,97615,1123],{},[37,97617,1146],{},[852,97619,97620],{},[59,97621,97622,97623,97625],{},"It should commit to the same value, but the blinding factor k",[2327,97624,97611],{}," is different from that used in shielded output.",[59,97627,97628,97629,97633],{},"Generalized Schnorr's signature, that proves the ",[37,97630,837,97631],{},[2327,97632,97611],{}," is indeed of this form.",[59,97635,97636],{},"Sigma proof for the rest",[34,97638,6547,97639,97641],{},[100,97640,97576],{}," must be unique, this way double-spend is prevented.",[34,97643,97644,97645,98,97647,97649,97650,97652],{},"During the verification, the verifier computes the ",[100,97646,97483],{},[100,97648,1446],{}," from the ",[100,97651,97576],{},". Then the following is calculated:",[852,97654,97655,97666],{},[59,97656,97657,18645,97659,97504,97663,97665],{},[37,97658,837],{},[37,97660,837,97661],{},[2327,97662,97611],{},[37,97664,95858],{},"\nThis EC point is subtracted (methodically) from all the elements in the referenced range of the shielded pool. If everything is correct, then the element being-spent turns into:",[59,97667,97668,97670,97671,97210,97673,97675,97676,97560,97678],{},[37,97669,837],{}," = (k",[2327,97672,1446],{},[2327,97674,97520],{}," - k",[2327,97677,97611],{},[37,97679,1123],{},[34,97681,97682,97683,1475,97685,97687,97688,17120],{},"Note that both asset and serial number generators ",[37,97684,1146],{},[37,97686,95858],{}," are eliminated. The prover then proves knowledge of opening of one of the elements in the range in terms of ",[37,97689,1123],{},[41,97691,97693],{"id":97692},"one-side-payments-and-direct-anonymous-payments","One-side payments, and direct anonymous payments.",[34,97695,97696,97697,97699,97700,97702],{},"In addition to solving the linkability problem, shielded pool allows one-side payments (normally in MW transactions are built mutually). This is due to the fact that ",[100,97698,97483],{}," is derived from an arbitrary public key ",[100,97701,97576],{},", which, after initial setup, may be calculated by the sender alone, without the knowledge of the appropriate private key (and, hence, the ability to spend it).",[34,97704,97705,97706,97708,97709,1475,97713,97717,97718,97722,97723,181],{},"This already provides the one-side payments ability. However it's not completely anonymous: since the sender knows the ",[100,97707,97576],{}," - it can see when the receiver spends it.\nBut this can be solved too, due to the fact that the shielded output consists of 2 parts: the ",[37,97710,837,97711],{},[2327,97712,1446],{},[37,97714,837,97715],{},[2327,97716,97520],{},". During the initial setup the receiver generates and sends arbitrary number of different ",[37,97719,837,97720],{},[2327,97721,1446],{}," elements (with their Schnorr's signatures). The sender will use them as-is in the shielded output, without the knowledge of the ",[100,97724,97483],{},[34,97726,97727,97728,97732,97733,97737],{},"We incorporated a scheme by which the receiver detects all its shielded outputs by scanning the blockchain (i.e. no auxiliary channel is needed to notify the receiver). For ",[37,97729,837,97730],{},[2327,97731,1446],{}," all the owner info is embedded within the Schnorr's signature (which has a degree of freedom). For the ",[37,97734,837,97735],{},[2327,97736,97520],{}," all the needed info is recovered from the bulletproof.",[34,97739,97740],{},"At the end the following information is recovered:",[852,97742,97743,97748,97756,97759],{},[59,97744,97745,97746],{},"All the relevant parameters: blinding factor, SpendKey, value, ",[611,97747,91193],{},[59,97749,97750,97751,97755],{},"Is it visible to the sender, i.e. was the ",[37,97752,837,97753],{},[2327,97754,1446],{}," created by the sender or the receiver in advance.",[59,97757,97758],{},"Sender ID (a public key belonging to the sender)",[59,97760,97761],{},"Arbitrary 32-byte message",[34,97763,97764,97765,97767],{},"Note also that this info can be obtained by the so-called ",[100,97766,97272],{},", but still in order to spend it - the master key is required. This allows to use the owner key in owned nodes to detect owned TXOs and shielded elements, without the risk of loosing the funds if the node is compromised.",[41,97769,97771],{"id":97770},"implications-and-constraints","implications and constraints",[34,97773,97774],{},"The Lelantus is a great technology, but it comes at a price.",[852,97776,97777,97799],{},[59,97778,97779,97780],{},"Scalability (size)\n",[852,97781,97782,97796],{},[59,97783,97784,97785],{},"Obviously no cut-through for the shielded inputs\u002Foutputs\n",[852,97786,97787,97790,97793],{},[59,97788,97789],{},"Shielded output ~800 bytes",[59,97791,97792],{},"Shielded input ~1.6KB, depends on the anonymity set size",[59,97794,97795],{},"If asset type is blinded: 2 more asset proofs (for output and input), another ~2K",[59,97797,97798],{},"But cut-through is still applied on the MW part.",[59,97800,97801,97802],{},"Verification time\n",[852,97803,97804,97807,97810,97813],{},[59,97805,97806],{},"~1sec for 64K elements (very big)",[59,97808,97809],{},"easily parallelized",[59,97811,97812],{},"only 10ms for each additional proof for the same anonymity set (batch verification)",[59,97814,97815],{},"During initial sync many blocks can be batch-verified at once as well.",[34,97817,97818],{},"So, in order to build a sane system, which enjoys the benefits of MW, but helps break the linkability, we design it this way:",[852,97820,97821,97824,97827],{},[59,97822,97823],{},"Most of transactions should remain in MW",[59,97825,97826],{},"Max number of shielded inputs\u002Foutputs in a block is limited. Users will have to compete for them (fee market)",[59,97828,97829],{},"The spend window (anonymity set size) is limited, and dramatically decreased if the element being-spent is not one of the most recent.",[34,97831,97832],{},"The maximum spend window (anonymity set size) will probably be ~50K - 100K (not decided yet). The maximum number of shielded elements in a block will be tuned such that this window will be created within at least several days.",[34,97834,97835],{},"Another important restriction: users will be able to spend their shielded element with the maximum spend window only if it references the most recent elements. It won't be possible to specify a large spend window, that covers a range older than twice this window size.",[34,97837,97838],{},"In simple words, users will have a time window to spend their element \"nicely\". If they miss their opportunity - they'll have to spend it in a dramatically smaller spend window (~1K elements), but then they will be able to recycle it through shielded pool again.",[34,97840,97841,97842,5102],{},"By such we expect to keep ",[9352,97843,97844],{},"good scalability and performance",[852,97846,97847,97850],{},[59,97848,97849],{},"Not too many elements that can't be cut-through",[59,97851,97852],{},"Reasonable verification times: shielded inputs will have large overlap.",[34,97854,97855,97856,97859],{},"But importantly those restrictions will also lead to ",[9352,97857,97858],{},"better privacy",". Here's why.",[41,97861,1431],{"id":1430},[34,97863,97864,97865,1475,97868,97871],{},"To understand which privacy is achieved while hiding in a crowd, let's first define ",[100,97866,97867],{},"absolute",[100,97869,97870],{},"relative"," anonymity sets.",[852,97873,97874,97879],{},[59,97875,6547,97876,97878],{},[100,97877,97867],{}," anonymity set size is the net size of the set chosen by the user.",[59,97880,6547,97881,97883,97884,97886],{},[100,97882,97870],{}," anonymity set size is the ratio of the chosen ",[100,97885,97867],{}," set size, to the weighted overall set, where the user could potentially hide, with appropriate probabilities.",[34,97888,97889,97890,97892],{},"Speaking simply, the ",[100,97891,97870],{}," set size is a probability of a user to choose a specific absolute set.",[34,97894,97895,97896,97899],{},"To achieve high privacy ",[9352,97897,97898],{},"both"," the absolute and the relative sets should be maximized.",[852,97901,97902,97905],{},[59,97903,97904],{},"Obviously if the absolute set size is small, then the user is already suspected.",[59,97906,97907,97908],{},"If the relative set size is small then the user can be deanonymized by a number of recurring transactions, even if the absolute anonymity set is big! ",[175,97909,97912],{"href":97910,"rel":97911},"https:\u002F\u002Fwww.zfnd.org\u002Fblog\u002Fblockchain-privacy\u002F",[179],"A good explanation by Ian Miers is here.",[34,97914,97915],{},"Because the anonymity set size in Lelantus is finite, we need a compromise.",[852,97917,97918,97921],{},[59,97919,97920],{},"If too few users use it, then every user is already is a suspect.",[59,97922,97923],{},"If too many users use it, then the window is filled within shorter time period, which means smaller relative set (smaller probability of an unrelated user to fall into the same set).",[34,97925,97926],{},"The systems with unlimited anonymity set size (like Zcash) have an advantage here. However, speaking practically, the difference may be not that big. Although theoretically users can spend any element, practically they probably spend their recent outputs anyway (because of the usage nature). So the information leaked in Lelantus is considerable, but could be assumed by the attacker with significant probability anyway.",[34,97928,97929],{},"Probably real-world usage data is needed to estimate the practical privacy of the system",{"title":14,"searchDepth":15,"depth":15,"links":97931},[97932,97935,97940,97941,97942,97943,97944,97945,97946],{"id":97191,"depth":15,"text":97192,"children":97933},[97934],{"id":97237,"depth":154,"text":97238},{"id":88728,"depth":15,"text":88729,"children":97936},[97937,97938,97939],{"id":97261,"depth":154,"text":97262},{"id":97292,"depth":154,"text":97293},{"id":97302,"depth":154,"text":97303},{"id":97329,"depth":15,"text":97330},{"id":97369,"depth":15,"text":97370},{"id":97486,"depth":15,"text":97487},{"id":97588,"depth":15,"text":97589},{"id":97692,"depth":15,"text":97693},{"id":97770,"depth":15,"text":97771},{"id":1430,"depth":15,"text":1431},{},"\u002Fdocs\u002Fcore-tech\u002Fmw-cla",{"description":97114},"docs\u002Fcore-tech\u002FMW-CLA","ojfYyj1ik_H2rEOuGqN0lbkAErUplnarXQLsqh_L7AU",{"id":97953,"title":97954,"body":97955,"description":14,"extension":17,"image":18,"meta":98265,"navTitle":18,"navigation":20,"path":98266,"seo":98267,"stem":98268,"__hash__":98269},"docs\u002Fdocs\u002Fcore-tech\u002FMain-wallet-entities-and-their-attributes.md","User info",{"type":8,"value":97956,"toc":98263},[97957,97960,97971,97973,97984,97987,98017,98021,98169,98171],[11,97958,97954],{"id":97959},"user-info",[852,97961,97962,97965,97968],{},[59,97963,97964],{},"Address (can be many): Unique ID money can be sent to\u002Ffrom. Each user\u002Fwallet can create and use any number of addresses. Address is assigned to one or more address categories (each category is denoted by name and color).",[59,97966,97967],{},"Name: Meaningful name is kept for semantic identification only (in a separate Directory service, should not be unique).",[59,97969,97970],{},"Avatar: Small and nice picture for the further identification.",[11,97972,739],{"id":738},[852,97974,97975,97978,97981],{},[59,97976,97977],{},"a list of categories it is assigned to",[59,97979,97980],{},"a textual description (optional)",[59,97982,97983],{},"additional attributes such as: single use (won't be valid after the transaction is completed or failed) or time expiration (won't be valid once expired)",[11,97985,97986],{"id":713},"Balance",[852,97988,97989,98003],{},[59,97990,97991,97992],{},"Amounts, aggregated by transaction states:\n",[852,97993,97994,97997,98000],{},[59,97995,97996],{},"Available: always shown, with LARGE font",[59,97998,97999],{},"In progress: Sending, Receiving, Change etc: shown when applicable (Alexandra Shelenkova do we need it?)",[59,98001,98002],{},"Locked: shown separately when applicable (sub-cases: \"maturing\" etc)",[59,98004,98005,98006],{},"currency is:\n",[852,98007,98008,98011,98014],{},[59,98009,98010],{},"BEAM",[59,98012,98013],{},"GROTH (1*10^-8 of BEAM)",[59,98015,98016],{},"Consider estimated amount in BTC\u002FETH later on",[11,98018,98020],{"id":98019},"utxo-details","UTXO details",[852,98022,98023,98025,98027,98038,98063,98140,98154,98166],{},[59,98024,6243],{},[59,98026,88983],{},[59,98028,98029,98030],{},"Transactions it had participated in\n",[852,98031,98032,98035],{},[59,98033,98034],{},"As output UTXO for incoming transaction, \"earned\" time is specified",[59,98036,98037],{},"As input UTXO for outgoing transaction, \"spent\" time is specified",[59,98039,98040,98041],{},"Coin type\n",[852,98042,98043,98054,98057,98060],{},[59,98044,98045,98046],{},"Regular: just a regular coin, can receive most of the statuses (see below)\n",[852,98047,98048,98051],{},[59,98049,98050],{},"Regular (received): received upon a successful completion of an incoming transaction",[59,98052,98053],{},"Regular (change): received by the sender when his UTXO is split during a successfully accomplished outgoing transaction",[59,98055,98056],{},"Transaction fee: paid by the user, is always created with \"Maturing\" status",[59,98058,98059],{},"Coinbase: mined when miner closed the block, is always created with \"Maturing\" status",[59,98061,98062],{},"Treasury: generated for maintenance and development of the project",[59,98064,98065,98066],{},"Status\n",[852,98067,98068,98071,98134,98137],{},[59,98069,98070],{},"Available: not in the transaction, can be spent",[59,98072,98073,98074],{},"In progress, can have the following sub-cases:\n",[852,98075,98076,98095,98116],{},[59,98077,98078,98079],{},"Incoming (draft) or Incoming: the amount is locked because of the ongoing incoming transaction\n",[852,98080,98081],{},[59,98082,98083,98084],{},"Example:\n",[852,98085,98086,98089,98092],{},[59,98087,98088],{},"Alice has single UTXO of 100 BEAM and wants to send it fully to Bob (zero transaction fee for clarity)",[59,98090,98091],{},"Bob sees 100 BEAM as \"Incoming (draft)\" before that UTXO was registered in the node\u002Fblockchain",[59,98093,98094],{},"Bob sees 100 BEAM as \"Incoming\" when that UTXO was recognized registered in the node\u002Fblockchain",[59,98096,98097,98098],{},"Outgoing: the amount is locked because of the ongoing outgoing transaction, new UTXO will be generated as a change once the transaction will be competed\n",[852,98099,98100],{},[59,98101,98083,98102],{},[852,98103,98104,98107,98110,98113],{},[59,98105,98106],{},"Alice has single UTXO of 100 BEAM and wants to send 20 BEAM to Bob (zero transaction fee for clarity)",[59,98108,98109],{},"Alice sees 100 BEAM are \"outgoing (locked)\" at first",[59,98111,98112],{},"Alice sees 80 BEAM as \"incoming (change)\" and Bob sees 20 BEAM \"incoming\"",[59,98114,98115],{},"Alice sees 80 BEAM as \"Available\" and Bob sees 20 BEAM \"Available\"",[59,98117,98118,98119],{},"Maturing\n",[852,98120,98121,98128],{},[59,98122,98123,98124],{},"Reserved till ",[98125,98126,98127],"time",{},": the amount will become available after the \"locked\" timeout will expire",[59,98129,98130,98131],{},"Mined till block height ",[12542,98132,98133],{}," (similar to \"Reserved\", but measured in block height): the mined amount becomes available to miners only after the block height will be reached",[59,98135,98136],{},"Spent: gone with the completed outgoing transaction",[59,98138,98139],{},"Unavailable: for UTXO that cannot be spent anymore (due to transaction rollback or mining result rollback, the reason should be supplied just like for the \"Locked\" status)",[59,98141,98142,98143],{},"Incoming Transaction details (if available, for example is not mined locally)\n",[852,98144,98145,98148,98151],{},[59,98146,98147],{},"Transaction ID - when clicked, should be taken to transaction list with the designated transaction details opened",[59,98149,98150],{},"Transaction completion time (ie time when UTXO was received)",[59,98152,98153],{},"Transaction Address ID (and its address group name and category if available)",[59,98155,98156,98157],{},"Outgoing Transaction details (if available, for example not spent yet)\n",[852,98158,98159,98161,98164],{},[59,98160,98147],{},[59,98162,98163],{},"Transaction completion time (ie time when UTXO was spent)",[59,98165,98153],{},[59,98167,98168],{},"A history of status changes with its respective timestamps etc",[11,98170,9410],{"id":2000},[852,98172,98173,98176,98202,98234],{},[59,98174,98175],{},"amount: shown as \u003Ccurrency + amount + state>",[59,98177,98178,98179],{},"short state (displayed in transaction status in mobile)\n",[852,98180,98181,98184,98187,98190,98193,98196,98199],{},[59,98182,98183],{},"sending\u002Freceiving for Send\u002FReceive",[59,98185,98186],{},"in progress for Atomic Swap",[59,98188,98189],{},"sent\u002Freceived for Send\u002FReceive",[59,98191,98192],{},"completed for Atomic Swap",[59,98194,98195],{},"cancelled for both",[59,98197,98198],{},"failed for both",[59,98200,98201],{},"expired for both",[59,98203,98204,98205],{},"detailed state (displayed on desktop or in transaction details in mobile)\n",[852,98206,98207,98210,98213,98216,98219,98222,98225,98228,98231],{},[59,98208,98209],{},"\"Waiting for network sync to complete\" - to indicate that transaction can't be started before the network sync is accomplished",[59,98211,98212],{},"\"Waiting for Sender\u002FWaiting for Receiver\" - to indicate that sender or receiver should come online to initiate the transaction",[59,98214,98215],{},"\"Handshaking\" - two wallets are negotiating the transaction details",[59,98217,98218],{},"\"Syncing with blockchain\" - the transaction is being registered with the node",[59,98220,98221],{},"\"Sending\u002FReceiving\" - the transaction is taken care by the blockchain, some miner needs to PoW and to add it to a block, the block should be added to the blockchain",[59,98223,98224],{},"\"Sent\u002FReceived\" - the transaction is completed",[59,98226,98227],{},"\"Cancelled\" (by Sender, due to Rollback)",[59,98229,98230],{},"\"Expired\" (by timeout)",[59,98232,98233],{},"\"Failed\" (should come with the user-friendly actionable reason\u002Fdescription)",[59,98235,98236,98237],{},"time for every status change in the transaction lifecycle such as:\n",[852,98238,98239,98242,98245,98248,98251,98254,98257,98260],{},[59,98240,98241],{},"creation timestamp",[59,98243,98244],{},"peer online timestamp",[59,98246,98247],{},"peer offline timestamp",[59,98249,98250],{},"timestamp for each confirmation",[59,98252,98253],{},"deletion time (where appropriate)",[59,98255,98256],{},"peer addresses (sending, receiving escrow in the future etc), each address can be assigned to an address groups",[59,98258,98259],{},"related UTXOs (ie IDs of transactions, outputs of which serve as inputs for the current transaction)",[59,98261,98262],{},"textual annotation (optional), sender and receiver have separate annotations, each is stored locally",{"title":14,"searchDepth":15,"depth":15,"links":98264},[],{},"\u002Fdocs\u002Fcore-tech\u002Fmain-wallet-entities-and-their-attributes",{"title":97954,"description":14},"docs\u002Fcore-tech\u002FMain-wallet-entities-and-their-attributes","0ku5tuzkdNvjwOBM-lZENphsst1yFdPleYsN33BBcAY",{"id":98271,"title":98272,"body":98273,"description":98277,"extension":17,"image":18,"meta":98547,"navTitle":18,"navigation":20,"path":98548,"seo":98549,"stem":98550,"__hash__":98551},"docs\u002Fdocs\u002Fcore-tech\u002FMerkle-trees.md","Merkle Trees",{"type":8,"value":98274,"toc":98540},[98275,98278,98281,98289,98292,98295,98299,98306,98313,98316,98323,98326,98331,98335,98342,98350,98357,98360,98366,98370,98377,98380,98386,98390,98393,98403,98406,98409,98413,98416,98419,98423,98426,98429,98452,98455,98458,98524,98527,98531,98534,98537],[34,98276,98277],{},"BEAM uses various kinds of Merkle trees and proofs.",[34,98279,98280],{},"There are 2 kinds of proofs used:",[852,98282,98283,98286],{},[59,98284,98285],{},"Standard proofs. Consists of an array of hashes, with the flag that specifies the hashing direction (left\u002Fright)",[59,98287,98288],{},"Hard proofs. Consists only of hashes. The hashing direction (as long as the proof length) is deduced by the Verifier automatically.",[34,98290,98291],{},"Hard proofs are used where the client is aware of the supposed Merkle tree structure and the position of the needed element. Those proofs are not only a little smaller, but also more robust - they won't allow the Attacker to include different versions of the same element.",[34,98293,98294],{},"In addition there are combinations: a proof which begins as a standard proof, whereas for the suffix the client may deduce the hashing direction. More about this later.",[11,98296,98298],{"id":98297},"mmr","MMR",[34,98300,98301,98302,98305],{},"Stands for ",[100,98303,98304],{},"Merkle Mountain Range",", which is a fancy term to describe a (potentially) incomplete Merkle tree.",[34,98307,98308,98309,98312],{},"The underlying objects that are represented by the leaf nodes are converted to hashes according to a specific scheme applicable to the specific object kind (Means - Merkle trees in BEAM never contain ",[100,98310,98311],{},"raw objects",", to prevent possible ambiguity attacks).",[34,98314,98315],{},"The hashing used is SHA-256. Non-leaf node hashes are calculated according to",[11818,98317,98318],{},[34,98319,98320],{},[611,98321,98322],{},"Hash ( Left-Child | Right->Child )",[34,98324,98325],{},"The tree fill order is left-to-right, whereas at each height two adjacent nodes form a parent node. This forms a sequence of complete trees of decreasing height (a.k.a. Mountain Range). Then adjacent trees are grouped from right to left, and form a mutual parent node, whose children are the roots of those trees. So it's like a regular Merkle tree, except the fact that the root node of the right child is \"promoted\" to the height of the left tree.",[34,98327,98328,98330],{},[37,98329,9770],{},": in our implementation this promotion doesn't involve any actions, such as hashing with itself (which is used AFAIK in some implementations). This means that the proof length may vary for different elements.",[41,98332,98334],{"id":98333},"implementation-details","Implementation details",[34,98336,98337,98338,98341],{},"The core MMR implementation is in ",[611,98339,98340],{},"Mmr"," abstract class. Contains the following virtual functions:",[11818,98343,98344],{},[616,98345,98348],{"className":98346,"code":98347,"language":621},[619],"  virtual void LoadElement(Hash&, const Position&) const = 0;\n  virtual void SaveElement(const Hash&, const Position&) = 0;\n",[611,98349,98347],{"__ignoreMap":14},[34,98351,98352,98353,98356],{},"Whereas ",[611,98354,98355],{},"Position"," is a logical position of an element in the tree (Height and X-coordinate).",[34,98358,98359],{},"Based on the underlying implementation in a derived class, which is supposed to load\u002Fsave an arbitrary tree element, it supports the expected functionality: appending elements, getting the root hash, getting a proof for a specific element.",[34,98361,98362,98363,98365],{},"There are various implementation base on ",[611,98364,98340],{},", which differ in how they actually store the hashes.",[48,98367,98369],{"id":98368},"dmmr-distributed-mmr","DMMR - Distributed MMR",[34,98371,98372,98373,98376],{},"A more sophisticated variant is called ",[611,98374,98375],{},"DistributedMmr",". It's assumed that the tree data is not stored in one place, but distributed over multiple sites. So that whenever a new element is added to the tree - this element gets a \"reference\" to the existing tree data, and all the new data that should be created (new non-leaf node hashes) is stored in the context of this element only, without the modification of older ones.",[34,98378,98379],{},"This is very useful for branching, whereas one needs to keep track of different variants of what's added to the MMR.",[34,98381,98382],{},[175,98383,98385],{"href":14200,"rel":98384},[179],"More information about their structure is here.",[1898,98387,98389],{"id":98388},"use-case","Use case",[34,98391,98392],{},"Every system state should have an MMR of all the inherited states to support",[852,98394,98395,98398],{},[59,98396,98397],{},"proof of state inclusion in the current state",[59,98399,98400,98401,2344],{},"Chainwork proof (variation of ",[100,98402,87415],{},[34,98404,98405],{},"Every state references the DMMR of the inherited state and adds the extra data to reflect its addition to the tree.",[34,98407,98408],{},"This allows to use the full MMR functionality for every state, no matter if it's the branch tip or not, as well as if it's a part of the current consensus branch or not.",[41,98410,98412],{"id":98411},"multiproof","Multiproof",[34,98414,98415],{},"We use an efficient encoding scheme in a situation where the Prover is supposed to prove multiple elements, whereas the tree structure is known to the Verifier (i.e. the client is able to deduce the Merkle path for any element). In this scenario, during the proof interpretation, both the Prover and the Verifier process hashes up to the point where the Merkle path collides with a path of an element which was included already.",[34,98417,98418],{},"This both saves the proof size and the verification complexity.",[11,98420,98422],{"id":98421},"radix-tree","Radix Tree",[34,98424,98425],{},"(a.k.a. Patricia tree, Merklish (?) tree)",[34,98427,98428],{},"BEAM makes use of special Radix trees, with the following properties:",[852,98430,98431,98434,98445],{},[59,98432,98433],{},"It's a variant of a Merkle tree. Means - leaf elements represented by hashes, non-leaf nodes have exactly 2 children, and their hash is evaluated accordingly.",[59,98435,98436,98437],{},"It's also a binary search tree, which means:\n",[852,98438,98439,98442],{},[59,98440,98441],{},"logarithmic search, modification",[59,98443,98444],{},"Option to search by either exact or partial key, find elements within key ranges, and etc.",[59,98446,98447,98448,98451],{},"The internal tree structure is fully defined by the set of contained elements. Regardless to the ",[100,98449,98450],{},"history"," (i.e. in which order they were inserted\u002Fremoved).",[34,98453,98454],{},"The search key is an opaque bits sequence, whereas the length of this sequence must be equal among all the elements contained in the Radix tree. It may, however, be different for different tree instances, which are supposed to contain objects of different kinds (UTXOs, kernels, etc.).",[34,98456,98457],{},"Our Radix trees have the following properties:",[852,98459,98460,98471,98482,98498,98509],{},[59,98461,98462,98463],{},"1bit - radix.\n",[852,98464,98465,98468],{},[59,98466,98467],{},"Means - the key bits are evaluated one-by-one, and each bit is potentially a junction.",[59,98469,98470],{},"Non-leaf nodes always have exactly 2 children",[59,98472,98473,98474],{},"Lazy split\n",[852,98475,98476,98479],{},[59,98477,98478],{},"Unlike classical radix trees, our trees have non-leaf nodes only where splitting is needed.",[59,98480,98481],{},"In particular if there's only 1 element - there is indeed just a single leaf node.",[59,98483,98484,98485],{},"Lazy evaluate\n",[852,98486,98487,98493],{},[59,98488,98489,98490,181],{},"Merkle hashes are not immediately recalculated when the tree is modified, instead they're just marked ",[100,98491,98492],{},"dirty",[59,98494,98495,98496,181],{},"They are re-evaluated (recursively) only when needed and only if ",[100,98497,98492],{},[59,98499,98500,98501],{},"Intrusive-container-like semantics\n",[852,98502,98503,98506],{},[59,98504,98505],{},"To insert an element into the tree it's first allocated with the key (as a single allocation block).",[59,98507,98508],{},"The key of the allocated leaf node is used by the non-leaf nodes (they have a pointer to the same key).",[59,98510,98511,98512],{},"No pointer to parent\n",[852,98513,98514,98517],{},[59,98515,98516],{},"To save space pointers to parent are omitted.",[59,98518,98519,98520,98523],{},"To allow this - during the operation we keep a ",[100,98521,98522],{},"Cursor",", which contains the pointers to all the passed nodes to the point.",[34,98525,98526],{},"Speaking technically, non-leaf nodes are allocated\u002Fdestroyed on-demand, they have the pointer to the key (of one of the leaf nodes contained beneath), and the bit count remaining to the next node. Either the next node is the leaf or not - is determined by the total path length - is it equal to the assumed key length (which is known and supposed to be equal for all the contained elements).",[41,98528,98530],{"id":98529},"merkle-disproof","Merkle disproof",[34,98532,98533],{},"Surprisingly using those radix trees it's possible  to prove (with some assumptions) that there is no queried element.",[34,98535,98536],{},"If there is no queried element - the Prover can present its two closest siblings (or one if it's the maximum\u002Fminimum) with their Merkle proofs, which the Verifier can verify indeed belong to adjacent elements.",[34,98538,98539],{},"The Verifier needs, however, to assume that the tree was built according to the rules. In particular when querying for multiple elements, both existing and non-existing, the Verifier should verify that indeed all the presented proofs are in agreement with the assumed element order.",{"title":14,"searchDepth":15,"depth":15,"links":98541},[98542,98545,98546],{"id":98333,"depth":15,"text":98334,"children":98543},[98544],{"id":98368,"depth":154,"text":98369},{"id":98411,"depth":15,"text":98412},{"id":98529,"depth":15,"text":98530},{},"\u002Fdocs\u002Fcore-tech\u002Fmerkle-trees",{"description":98277},"docs\u002Fcore-tech\u002FMerkle-trees","7clTzwvPdERfq8sFhl7AVtPwmfYKfoaCzucdHjDDzCc",{"id":98553,"title":98554,"body":98555,"description":98559,"extension":17,"image":18,"meta":98854,"navTitle":18,"navigation":20,"path":98855,"seo":98856,"stem":98857,"__hash__":98858},"docs\u002Fdocs\u002Fcore-tech\u002FMimblewimble-Whitepaper-(June-2016).md","Mimblewimble Whitepaper (June 2016)",{"type":8,"value":98556,"toc":98852},[98557,98560,98567,98570,98573,98576,98579,98590,98593,98599,98605,98611,98616,98619,98622,98628,98631,98638,98641,98648,98651,98654,98676,98686,98689,98703,98706,98709,98714,98720,98723,98730,98733,98744,98747,98752,98755,98758,98765,98768,98771,98777,98782,98785,98803],[34,98558,98559],{},"MIMBLEWIMBLE\nTom Elvis Jedusor\n19 July, 2016",[34,98561,98562,98563,98566],{},"**",[37,98564,98565],{},"\u002F\nIntroduction\n\u002F","**\\",[34,98568,98569],{},"Bitcoin is the first widely used financial system for which all the necessary\ndata to validate the system status can be cryptographically verified by anyone.\nHowever, it accomplishes this feat by storing all transactions in a public\ndatabase called \"the blockchain\" and someone who genuinely wishes to check\nthis state must download the whole thing and basically replay each transaction,\ncheck each one as they go. Meanwhile, most of these transactions have not\naffected the actual final state (they create outputs that are destroyed\na transaction later).",[34,98571,98572],{},"At the time of this writing, there were nearly 150 million transactions\ncommitted in the blockchain, which must be replayed to produce a set of\nonly 4 million unspent outputs.",[34,98574,98575],{},"It would be better if an auditor needed only to check data on the outputs\nthemselves, but this is impossible because they are valid if and only if the\noutput is at the end of a chain of previous outputs, each signs the next. In\nother words, the whole blockchain must be validated to confirm the final\nstate.",[34,98577,98578],{},"Add to this that these transactions are cryptographically atomic, it is clear\nwhat outputs go into every transaction and what emerges. The \"transaction graph\"\nresulting reveals a lot of information and is subjected to analysis by many\ncompanies whose business model is to monitor and control the lower classes.\nThis makes it very non-private and even dangerous for people to use.",[34,98580,98581,98582,98584,98585,98587,98588,181],{},"Some solutions to this have been proposed. Greg Maxwell discovered to encrypt\nthe amounts, so that the graph of the transaction is faceless but still allow\nvalidation that the sums are correct ",[6995,98583,6679],{},". Dr Maxwell also produced CoinJoin,\na system for Bitcoin users to combine interactively transactions, confusing\nthe transaction graph. Nicolas van Saberhagen has developed a system to blind\nthe transaction entries, goes much further to cloud the transaction graph (as\nwell as not needed the user interaction) ",[6995,98586,11136],{},". Later, Shen Noether combined\nthe two approaches to obtain \"confidential transactions\" of Maxwell AND the\ndarkening of van Saberhagen ",[6995,98589,8439],{},[34,98591,98592],{},"These solutions are very good and would make Bitcoin very safe to use. But\nthe problem of too much data is made even worse. Confidential transactions\nrequire multi-kilobyte proofs on every output, and van Saberhagen signatures\nrequire every output to be stored for ever, since it is not possible to tell\nwhen they are truly spent.",[34,98594,98595,98596,98598],{},"Dr. Maxwell's CoinJoin has the problem of needing interactivity. Dr. Yuan Horas\nMouton fixed this by making transactions freely mergeable ",[6995,98597,14095],{},", but he needed to\nuse pairing-based cryptography, which is potentially slower and more difficult\nto trust. He called this \"one-way aggregate signatures\" (OWAS).",[34,98600,98601,98602,98604],{},"OWAS had the good idea to combine the transactions in blocks. Imagine that we\ncan combine across blocks (perhaps with some glue data) so that when the outputs\nare created and destroyed, it is the same as if they never existed. Then, to\nvalidate the entire chain, users only need to know when money is entered into\nthe system (new money in each block as in Bitcoin or Monero or peg-ins for\nsidechains ",[6995,98603,7027],{},") and final unspent outputs, the rest can be removed and forgotten.\nThen we can have Confidential Transactions to hide the amounts and OWAS to blur\nthe transaction graph, and use LESS space than Bitcoin to allow users to fully\nverify the blockchain. And also imagine that we must not pairing-based cryptography\nor new hypotheses, just regular discrete logarithms signatures like Bitcoin.\nHere is what I propose.",[34,98606,98607,98608,181],{},"I call my creation Mimblewimble because it is used to prevent the blockchain from\ntalking about all user's information ",[6995,98609,98610],{},"7",[34,98612,98562,98613,98566],{},[37,98614,98615],{},"\u002F\nConfidential Transactions and OWAS\n\u002F",[34,98617,98618],{},"The first thing we need to do is remove Bitcoin Script. This is sad, but it is too\npowerful so it is impossible to merge transactions using general scripts. We will\ndemonstrate that confidential transactions of Dr. Maxwell are enough (after some\nsmall modification) to authorize spending of outputs and also allows to make\ncombined transactions without interaction. This is in fact identical to OWAS,\nand allows relaying nodes take some transaction fee or the recipient to change\nthe transaction fees. These additional things Bitcoin can not do, we get for free.",[34,98620,98621],{},"We start by reminding the reader how confidential transactions work. First, the\namounts are coded by the following equation:",[616,98623,98626],{"className":98624,"code":98625,"language":621},[619],"C = r*G + v*H\n",[611,98627,98625],{"__ignoreMap":14},[34,98629,98630],{},"where C is a Pedersen commitment, G and H are fixed nothing-up-my-sleeve elliptic\ncurve group generators, v is the amount, and r is a secret random blinding key.",[34,98632,98633,98634,98637],{},"Attached to this output is a rangeproof which proves that v is in ",[6995,98635,98636],{},"0, 2^64",", so\nthat user cannot exploit the blinding to produce overflow attacks, etc.",[34,98639,98640],{},"To validate a transaction, the verifer will add commitments for all outputs, plus\nf*H (f here is the transaction fee which is given explicitly) and subtracts all\ninput commitments. The result must be 0, which proves that no amount was created\nor destroyed overall.",[34,98642,98643,98644,98647],{},"We note that to create such a transaction, the user must know the sum of all the\nvalues of r for commitments entries. Therefore, the r-values (and their sums) act\nas secret keys. If we can make the r output values known only to the recipient,\nthen we have an authentication system! Unfortunately, if we keep the rule that\ncommits all add to 0, this is impossible, because the sender knows the sum of\nall ",[100,98645,98646],{},"his"," r values, and therefore knows the receipient's r values sum to the\nnegative of that. So instead, we allow the transaction to sum to a nonzero value\nk*G, and require a signature of an empty string with this as key, to prove its\namount component is zero.",[34,98649,98650],{},"We let transactions have as many k*G values as they want, each with a signature,\nand sum them during verification.",[34,98652,98653],{},"To create transactions sender and recipient do following ritual:",[56,98655,98656,98659,98666,98673],{},[59,98657,98658],{},"Sender and recipient agree on amount to be sent. Call this b.",[59,98660,98661,98662,98665],{},"Sender creates transaction with all inputs and change output(s), and gives\nrecipient the total blinding factor (r-value of change minus r-values of\ninputs) along with this transaction. So the commitments sum to r",[100,98663,98664],{},"G - b","H.",[59,98667,98668,98669,98672],{},"Recipient chooses random r-values for his outputs, and values that sum\nto b minus fee, and adds these to transaction (including range proof).\nNow the commitments sum to k",[100,98670,98671],{},"G - fee","H for some k that only recipient\nknows.",[59,98674,98675],{},"Recipient attaches signature with k to the transaction, and the explicit\nfee. It has done.",[34,98677,98678,98679,98682,98683,98685],{},"Now, creating transactions in this manner supports OWAS already. To show this,\nsuppose we have two transactions that have a surplus k1",[100,98680,98681],{},"G and k2","G, and the\nattached signatures with these. Then you can combine the lists of inputs and\noutputs of the two transactions, with both k1",[100,98684,98681],{},"G to the mix, and\nvoilá! is again a valid transaction. From the combination, it is impossible to\nsay which outputs or inputs are from which original transaction.",[34,98687,98688],{},"Because of this, we change our block format from Bitcoin to this information:",[56,98690,98691,98694,98697,98700],{},[59,98692,98693],{},"Explicit amounts for new money (block subsidy or sidechain peg-ins) with\nwhatever else data this needs. For a sidechain peg-in maybe it references\na Bitcoin transaction that commits to a specific excess k*G value?",[59,98695,98696],{},"Inputs of all transactions",[59,98698,98699],{},"Outputs of all transactions",[59,98701,98702],{},"Excess k*G values for all transactions",[34,98704,98705],{},"Each of these are grouped together because it do not matter what the transaction\nboundaries are originally. In addition, Lists 2 3 and 4 should be required to be\ncoded in alphabetical order, since it is quick to check and prevents the block\ncreator of leaking any information about the original transactions.",[34,98707,98708],{},"Note that the outputs are now identified by their hash, and not by their position\nin a transaction that could easily change. Therefore, it should be banned to have\ntwo unspent outputs are equal at the same time, to avoid confusion.",[34,98710,98562,98711,98566],{},[37,98712,98713],{},"\u002F\nMerging Transactions Across Blocks\n\u002F",[34,98715,98716,98717,98719],{},"Now, we have used Dr. Maxwell's Confidential Transactions to create a noninteractive\nversion of Dr. Maxwell's CoinJoin, but we have not seen the last of marvelous Dr. Maxwell!\nWe need another idea, transaction cut-through, he described in ",[6995,98718,18961],{},". Again, we create a\nnoninteractive version of this, and to show how it is used with several blocks.",[34,98721,98722],{},"We can imagine now each block as one large transaction. To validate it, we add all the\noutput commitments together, then subtracts all input commitments, k*G values, and all\nexplicit input amounts times H. We find that we could combine transactions from two\nblocks, as we combined transactions to form a single block, and the result is again\na valid transaction. Except now, some output commitments have an input commitment exactly\nequal to it, where the first block's output was spent in the second block. We could\nremove both commitments and still have a valid transaction. In fact, there is not even\nneed to check the rangeproof of the deleted output.",[34,98724,98725,98726,98729],{},"The extension of this idea all the way from the genesis block to the latest block, we\nsee that EVERY nonexplicit input is deleted along with its referenced output. What\nremains are only the unspent outputs, explicit input amounts and every k",[100,98727,98728],{},"G value.\nAnd this whole mess can be validated as if it were one transaction: add all unspent\ncommitments output, subtract the values k","G, validate explicit input amounts (if there\nis anything to validate) then subtract them times H. If the sum is 0, the entire\nchain is good.",[34,98731,98732],{},"What is this mean? When a user starts up and downloads the chain he needs the following\ndata from each block:",[56,98734,98735,98738,98741],{},[59,98736,98737],{},"Explicit amounts for new money (block subsidy or sidechain peg-ins) with\nwhatever else data this needs.",[59,98739,98740],{},"Unspent outputs of all transactions, along with a merkle proof that each\noutput appeared in the original block.",[59,98742,98743],{},"Excess k*G values for all transactions.",[34,98745,98746],{},"Bitcoin today there are about 423000 blocks, totaling 80GB or so of data on the hard\ndrive to validate everything. These data are about 150 million transactions and 5 million\nunspent nonconfidential outputs. Estimate how much space the number of transactions\ntake on a Mimblewimble chain. Each unspent output is around 3Kb for rangeproof and\nMerkle proof. Each transaction also adds about 100 bytes: a k*G value and a signature.\nThe block headers and explicit amounts are negligible. Add this together and get\n30Gb -- with a confidential transaction and obscured transaction graph!",[34,98748,98562,98749,98566],{},[37,98750,98751],{},"\u002F\nQuestions and Intuition\n\u002F",[34,98753,98754],{},"Here are some questions that since these weeks, dreams asked me and I woke up sweating.\nBut in fact it is OK.",[34,98756,98757],{},"Q. If you delete the transaction outputs, user cannot verify the rangeproof and maybe\na negative amount is created.",[34,98759,98760,98761,98764],{},"A. This is OK. For the entire transaction to validate all negative amounts must have\nbeen destroyed. User have SPV security only that no illegal inflation happened in\nthe past, but the user knows that ",[100,98762,98763],{},"at this time"," no inflation occurred.",[34,98766,98767],{},"Q. If you delete the inputs, double spending can happen.",[34,98769,98770],{},"A. In fact, this means: maybe someone claims that some unspent output was spent\nin the old days. But this is impossible, otherwise the sum of the combined transaction\ncould not be zero.",[616,98772,98775],{"className":98773,"code":98774,"language":621},[619]," An exception is that if the outputs are amount zero, it is possible to make two that\n are negatives of each other, and the pair can be revived without anything breaks. So to\n prevent consensus problems, outputs 0-amount should be banned. Just add H at each output,\n now they all amount to at least 1.\n",[611,98776,98774],{"__ignoreMap":14},[34,98778,98562,98779,98566],{},[37,98780,98781],{},"\u002F\nFuture Research\n\u002F",[34,98783,98784],{},"Here are some questions I can not answer at the time of this writing.",[56,98786,98787,98790,98797],{},[59,98788,98789],{},"What script support is possible? We would need to translate script operations into\nsome sort of discrete logarithm information.",[59,98791,98792,98793,98796],{},"We require user to check all k",[100,98794,98795],{},"G values, when in fact all that is needed is that their\nsum is of the form k","G. Instead of using signatures is there another proof of discrete\nlogarithm that could be combined?",[59,98798,98799,98800,98802],{},"There is a denial-of-service option when a user downloads the chain, the peer can give\ngigabytes of data and list the wrong unspent outputs. The user will see that the result\ndo not add up to 0, but cannot tell where the problem is.",[4953,98801],{},"For now maybe the user should just download the blockchain from a Torrent or something\nwhere the data is shared between many users and is reasonably likely to be correct.",[34,98804,98805,98,98807,98810,98,98812,98816,98,98818,98822,98,98824,98828,98,98830,98834,98,98836,98840,98,98842,98847,98,98849],{},[6995,98806,6679],{},[175,98808,14144],{"href":14144,"rel":98809},[179],[6995,98811,7511],{},[175,98813,98814],{"href":98814,"rel":98815},"https:\u002F\u002Fbitcointalk.org\u002Findex.php?topic=279249.0",[179],[6995,98817,11136],{},[175,98819,98820],{"href":98820,"rel":98821},"https:\u002F\u002Fcryptonote.org\u002Fwhitepaper.pdf",[179],[6995,98823,8439],{},[175,98825,98826],{"href":98826,"rel":98827},"https:\u002F\u002Feprint.iacr.org\u002F2015\u002F1098.pdf",[179],[6995,98829,14095],{},[175,98831,98832],{"href":98832,"rel":98833},"https:\u002F\u002Fdownload.wpsoftware.net\u002Fbitcoin\u002Fwizardry\u002Fhorasyuanmouton-owas.pdf",[179],[6995,98835,7027],{},[175,98837,98838],{"href":98838,"rel":98839},"http:\u002F\u002Fblockstream.com\u002Fsidechains.pdf",[179],[6995,98841,98610],{},[175,98843,98846],{"href":98844,"rel":98845},"http:\u002F\u002Ffr.harrypotter.wikia.com\u002Fwiki\u002FSortil%C3%A8ge_de_Langue_de_Plomb",[179],"http:\u002F\u002Ffr.harrypotter.wikia.com\u002Fwiki\u002FSortilège_de_Langue_de_Plomb",[6995,98848,18961],{},[175,98850,14150],{"href":14150,"rel":98851},[179],{"title":14,"searchDepth":15,"depth":15,"links":98853},[],{},"\u002Fdocs\u002Fcore-tech\u002Fmimblewimble-whitepaper-(june-2016)",{"description":98559},"docs\u002Fcore-tech\u002FMimblewimble-Whitepaper-(June-2016)","mQL5mSR9mIlV2A6TbsodmbZuUw8KUqFFIMkGEJjpZU8",{"id":98860,"title":98861,"body":98862,"description":98866,"extension":17,"image":18,"meta":98922,"navTitle":18,"navigation":20,"path":98923,"seo":98924,"stem":98925,"__hash__":98926},"docs\u002Fdocs\u002Fcore-tech\u002FMining-Difficulty.md","Mining Difficulty",{"type":8,"value":98863,"toc":98920},[98864,98867,98871,98874,98877,98880,98887,98891,98894,98897,98917],[34,98865,98866],{},"Mining difficulty is a measure of how many attempts on average it is required to find the proof-of-work solution required to mine a block and receive the mining reward.\nOne can define the Difficulty as the inverse probability of a random solution being the correct one. Thus, a difficulty of 100 means that one in 100 tries should produce a valid block in average.",[11,98868,98870],{"id":98869},"why-change-the-difficulty","Why change the difficulty?",[34,98872,98873],{},"In Proof of Work blockchains, the difficulty is a dynamic parameter, periodically retargeted to reflect the fluctuations in the total computational power of all the miners. Accounting for changes in mining competition, as well as improvements in mining technology.",[34,98875,98876],{},"The goal of updating the difficulty is to keep the average block time at a certain value. In Beam, the target block time is 60 seconds, which underpins a constant currency issuance and the transaction settlement time of the network.",[34,98878,98879],{},"Here’s an example. Let’s assume we have 100 miners in our network. They are trying different random solutions and find one roughly every minute. Now 100 more miners join, the hashrate of the network doubles, and it will take just 30 seconds to find the solution in average. And if 200 and more join, the time will halve into 15 seconds, and so on.",[34,98881,98882,98883,98886],{},"To mitigate that, Beam nodes adjust ",[6995,98884,98885],{},"shall we mention that they reach consensus here?","the difficulty, increasing the difficulty of the proof of work algorithm as more miners join, and lowering it if the number of miners decreases.",[11,98888,98890],{"id":98889},"how-difficulty-is-calculated-in-beam","How Difficulty is calculated in Beam",[34,98892,98893],{},"In Beam, the difficulty is reassessed with every block, by every client independently\nThe algorithm looks at the average time and the average difficulty the last 1440 blocks. f the time required to mine the last 1440 blocks is higher or lower than 24 hours, the difficulty is retargeted accordingly.",[34,98895,98896],{},"The detailed algorithm is outlined below:",[56,98898,98899,98902,98905,98908,98911,98914],{},[59,98900,98901],{},"Look at the last 7 blocks. Identify the block that has the median block time. This is the Window End block.",[59,98903,98904],{},"Look at blocks from 127 to 120 before the current block (7 blocks altogether). Identify the block that has the median block time out of those. This will be the Window Start block.",[59,98906,98907],{},"Sum all the difficulties of the blocks from Window Start to Window End. This is Delta Work.",[59,98909,98910],{},"Calculate the time difference between Window Start and Window End blocks. This is Delta Time.",[59,98912,98913],{},"Calculate the difficulty for next block as: NewDifficulty = (Delta Work \u002F Delta Time) * 60seconds.",[59,98915,98916],{},"The Delta Time is bounded by 1 hour and 4 hours. I.e. if the difference is less than 1 hour, 1 hours is still used as Delta Time, same for differences larger than 4 hours. This is done to prevent extreme changes in difficulty.",[34,98918,98919],{},"The algorithm above ensures that as the total solution power of the network fluctuates, the difficulty is gradually adjusted and thus the target block time is ensured.",{"title":14,"searchDepth":15,"depth":15,"links":98921},[],{},"\u002Fdocs\u002Fcore-tech\u002Fmining-difficulty",{"description":98866},"docs\u002Fcore-tech\u002FMining-Difficulty","WBEWkLdodR5Bwr9hpCJuY9nlu2l_AjwCHeoXAVE2hI8",{"id":98928,"title":11723,"body":98929,"description":14,"extension":17,"image":18,"meta":100489,"navTitle":18,"navigation":20,"path":100490,"seo":100491,"stem":100492,"__hash__":100493},"docs\u002Fdocs\u002Fcore-tech\u002FNew-address-types-support.md",{"type":8,"value":98930,"toc":100478},[98931,98933,98935,98940,98944,98946,98952,98955,98959,98962,98972,98976,98980,98982,100182,100186,100199,100203,100352,100356,100367,100369,100467,100475],[11,98932,11723],{"id":11728},[41,98934,878],{"id":877},[34,98936,6945,98937,6949],{},[175,98938,4975],{"href":4973,"rel":98939},[179],[41,98941,98943],{"id":98942},"new-transaction-types","New transaction types",[34,98945,11750],{},[852,98947,98948,98950],{},[59,98949,11755],{},[59,98951,11758],{},[34,98953,98954],{},"In order to receive these transactions there are no need to make any changes, but if you want to send them you have to explicitly enable them in the wallet, and distinguish new address types.",[41,98956,98958],{"id":98957},"new-address-types","New address types",[34,98960,98961],{},"We introduced new address types in CLI and Desktop wallet version 5.0, now they are available in API. We highly recommend to use these new addresses, this should bring better user experience both for sending and receiving. For backward compatibility we preserved old address type.\nThe difference between new addresses and old are the following",[852,98963,98964,98970],{},[59,98965,11772,98966,11776,98968,11780],{},[611,98967,11775],{},[611,98969,11779],{},[59,98971,11783],{},[41,98973,98975],{"id":98974},"updating-wallet-api","Updating wallet API",[48,98977,98979],{"id":98978},"download-new-binaries-of-the-wallet-api","Download new binaries of the wallet API",[48,98981,6953],{"id":6952},[852,98983,98984,98994,99028,99180,99317,99682,99808,99936],{},[59,98985,6958,98986,6961,98988],{},[611,98987,4979],{},[616,98989,98992],{"className":98990,"code":98991,"language":621},[619],"    .\u002Fwallet-api --enable_assets -n \u003Cnode address>\n",[611,98993,98991],{"__ignoreMap":14},[59,98995,98996,98997,2231,98999,1475,99001,99003,99004,99007,99008,99011,99012,99014,99015,2231,99017,2231,99019,2231,99021,99023,99024,99027],{},"updated the codebase. Methods ",[611,98998,18014],{},[611,99000,18327],{},[611,99002,6900],{}," now has ",[611,99005,99006],{},"\"assets\""," parameter, if you pass ",[611,99009,99010],{},"\"assets\": true"," these methods return data related to CA. If you wish to send or split CA you should specify ",[611,99013,7478],{}," parameter. Also there are some new methods which provide CA specific functionality (",[611,99016,6935],{},[611,99018,6930],{},[611,99020,6920],{},[611,99022,6925],{},"). Please, see ",[175,99025,90721],{"href":84290,"rel":99026},[179]," for more details.",[59,99029,99030,99031,12191,99033,99035,99036,99038,99040],{},"add ",[611,99032,99010],{},[611,99034,18014],{}," method to view assets",[4953,99037],{},[611,99039,6986],{},[616,99041,99043],{"className":6989,"code":99042,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"method\":\"get_utxo\",\n    \"params\" :\n    {\n        \"count\": 10,\n        \"skip\": 0,\n        \"assets\": true,           \u002F\u002F \u003C------------ report assets\n        \"sort\": {\n            \"field\": \"amount\",\n            \"direction\": \"asc\"\n        },\n        \"filter\": {\n            \"asset_id\": 1         \u002F\u002F \u003C------------ filter assets with ID 1\n        }\n    }\n}\n",[611,99044,99045,99049,99059,99069,99079,99085,99089,99099,99109,99123,99129,99139,99147,99151,99157,99168,99172,99176],{"__ignoreMap":14},[6995,99046,99047],{"class":244,"line":6997},[6995,99048,7001],{"class":7000},[6995,99050,99051,99053,99055,99057],{"class":244,"line":15},[6995,99052,7007],{"class":7006},[6995,99054,5102],{"class":7000},[6995,99056,7013],{"class":7012},[6995,99058,7016],{"class":7000},[6995,99060,99061,99063,99065,99067],{"class":244,"line":154},[6995,99062,7021],{"class":7006},[6995,99064,7024],{"class":7000},[6995,99066,7027],{"class":7006},[6995,99068,7030],{"class":7000},[6995,99070,99071,99073,99075,99077],{"class":244,"line":7033},[6995,99072,7036],{"class":7006},[6995,99074,5102],{"class":7000},[6995,99076,22779],{"class":7012},[6995,99078,7030],{"class":7000},[6995,99080,99081,99083],{"class":244,"line":7044},[6995,99082,7529],{"class":7006},[6995,99084,7811],{"class":7000},[6995,99086,99087],{"class":244,"line":7107},[6995,99088,7537],{"class":7000},[6995,99090,99091,99093,99095,99097],{"class":244,"line":7120},[6995,99092,21259],{"class":7006},[6995,99094,7024],{"class":7000},[6995,99096,22800],{"class":7006},[6995,99098,7030],{"class":7000},[6995,99100,99101,99103,99105,99107],{"class":244,"line":7133},[6995,99102,21248],{"class":7006},[6995,99104,7024],{"class":7000},[6995,99106,7180],{"class":7006},[6995,99108,7030],{"class":7000},[6995,99110,99111,99113,99115,99117,99120],{"class":244,"line":7146},[6995,99112,23092],{"class":7006},[6995,99114,7024],{"class":7000},[6995,99116,8689],{"class":7006},[6995,99118,99119],{"class":7000},",           ",[6995,99121,99122],{"class":7359},"\u002F\u002F \u003C------------ report assets\n",[6995,99124,99125,99127],{"class":244,"line":7159},[6995,99126,22817],{"class":7006},[6995,99128,7092],{"class":7000},[6995,99130,99131,99133,99135,99137],{"class":244,"line":7172},[6995,99132,22824],{"class":7006},[6995,99134,7024],{"class":7000},[6995,99136,22829],{"class":7012},[6995,99138,7030],{"class":7000},[6995,99140,99141,99143,99145],{"class":244,"line":7185},[6995,99142,22836],{"class":7006},[6995,99144,7024],{"class":7000},[6995,99146,22841],{"class":7012},[6995,99148,99149],{"class":244,"line":7198},[6995,99150,21243],{"class":7000},[6995,99152,99153,99155],{"class":244,"line":7211},[6995,99154,21209],{"class":7006},[6995,99156,7092],{"class":7000},[6995,99158,99159,99161,99163,99165],{"class":244,"line":7220},[6995,99160,23109],{"class":7006},[6995,99162,7024],{"class":7000},[6995,99164,6679],{"class":7006},[6995,99166,99167],{"class":7359},"         \u002F\u002F \u003C------------ filter assets with ID 1\n",[6995,99169,99170],{"class":244,"line":7226},[6995,99171,15327],{"class":7000},[6995,99173,99174],{"class":244,"line":7238},[6995,99175,7615],{"class":7000},[6995,99177,99178],{"class":244,"line":7250},[6995,99179,7047],{"class":7000},[59,99181,99030,99182,12191,99184,99186,99187,99189,99191],{},[611,99183,99010],{},[611,99185,18327],{}," method, to view report transaction list including transactions with assets",[4953,99188],{},[611,99190,6986],{},[616,99192,99194],{"className":6989,"code":99193,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"method\":\"tx_list\",\n    \"params\":\n    {\n        \"filter\" :             \u002F\u002F \u003C--------------- you can filter buy asset_id here\n        {\n            \"status\":4,\n            \"height\":1055,\n        },\n        \"skip\" : 0,\n        \"count\" : 10,\n        \"assets\": true         \u002F\u002F \u003C--------------- report assets too\n    }\n}\n",[611,99195,99196,99200,99210,99220,99230,99236,99240,99250,99254,99264,99274,99278,99288,99298,99309,99313],{"__ignoreMap":14},[6995,99197,99198],{"class":244,"line":6997},[6995,99199,7001],{"class":7000},[6995,99201,99202,99204,99206,99208],{"class":244,"line":15},[6995,99203,7007],{"class":7006},[6995,99205,5102],{"class":7000},[6995,99207,7013],{"class":7012},[6995,99209,7016],{"class":7000},[6995,99211,99212,99214,99216,99218],{"class":244,"line":154},[6995,99213,7021],{"class":7006},[6995,99215,7024],{"class":7000},[6995,99217,18961],{"class":7006},[6995,99219,7030],{"class":7000},[6995,99221,99222,99224,99226,99228],{"class":244,"line":7033},[6995,99223,7036],{"class":7006},[6995,99225,5102],{"class":7000},[6995,99227,21192],{"class":7012},[6995,99229,7030],{"class":7000},[6995,99231,99232,99234],{"class":244,"line":7044},[6995,99233,7529],{"class":7006},[6995,99235,7532],{"class":7000},[6995,99237,99238],{"class":244,"line":7107},[6995,99239,7537],{"class":7000},[6995,99241,99242,99244,99247],{"class":244,"line":7120},[6995,99243,21209],{"class":7006},[6995,99245,99246],{"class":7000}," :             ",[6995,99248,99249],{"class":7359},"\u002F\u002F \u003C--------------- you can filter buy asset_id here\n",[6995,99251,99252],{"class":244,"line":7133},[6995,99253,14405],{"class":7000},[6995,99255,99256,99258,99260,99262],{"class":244,"line":7146},[6995,99257,21220],{"class":7006},[6995,99259,5102],{"class":7000},[6995,99261,8439],{"class":7006},[6995,99263,7030],{"class":7000},[6995,99265,99266,99268,99270,99272],{"class":244,"line":7159},[6995,99267,21231],{"class":7006},[6995,99269,5102],{"class":7000},[6995,99271,21236],{"class":7006},[6995,99273,7030],{"class":7000},[6995,99275,99276],{"class":244,"line":7172},[6995,99277,21243],{"class":7000},[6995,99279,99280,99282,99284,99286],{"class":244,"line":7185},[6995,99281,21248],{"class":7006},[6995,99283,7746],{"class":7000},[6995,99285,7180],{"class":7006},[6995,99287,7030],{"class":7000},[6995,99289,99290,99292,99294,99296],{"class":244,"line":7198},[6995,99291,21259],{"class":7006},[6995,99293,7746],{"class":7000},[6995,99295,22800],{"class":7006},[6995,99297,7030],{"class":7000},[6995,99299,99300,99302,99304,99306],{"class":244,"line":7211},[6995,99301,23092],{"class":7006},[6995,99303,7024],{"class":7000},[6995,99305,8689],{"class":7006},[6995,99307,99308],{"class":7359},"         \u002F\u002F \u003C--------------- report assets too\n",[6995,99310,99311],{"class":244,"line":7220},[6995,99312,7615],{"class":7000},[6995,99314,99315],{"class":244,"line":7226},[6995,99316,7047],{"class":7000},[59,99318,99319,99320,12191,99322,99324,99325,99327,99329,99391,99393,99395],{},"to retrieve info about assets in your wallet pass ",[611,99321,99010],{},[611,99323,6900],{}," method, to get status of the wallet and its balance in different CAs and BEAM",[4953,99326],{},[611,99328,6986],{},[616,99330,99332],{"className":6989,"code":99331,"language":6991,"meta":14,"style":14},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"method\":\"wallet_status\",\n        \"params\": {\n              \"assets\" : true\n        }\n}\n",[611,99333,99334,99338,99348,99358,99368,99374,99383,99387],{"__ignoreMap":14},[6995,99335,99336],{"class":244,"line":6997},[6995,99337,7001],{"class":7000},[6995,99339,99340,99342,99344,99346],{"class":244,"line":15},[6995,99341,7007],{"class":7006},[6995,99343,5102],{"class":7000},[6995,99345,7013],{"class":7012},[6995,99347,7016],{"class":7000},[6995,99349,99350,99352,99354,99356],{"class":244,"line":154},[6995,99351,7021],{"class":7006},[6995,99353,7024],{"class":7000},[6995,99355,7027],{"class":7006},[6995,99357,7030],{"class":7000},[6995,99359,99360,99362,99364,99366],{"class":244,"line":7033},[6995,99361,7036],{"class":7006},[6995,99363,5102],{"class":7000},[6995,99365,17939],{"class":7012},[6995,99367,7030],{"class":7000},[6995,99369,99370,99372],{"class":244,"line":7044},[6995,99371,29431],{"class":7006},[6995,99373,7092],{"class":7000},[6995,99375,99376,99379,99381],{"class":244,"line":7107},[6995,99377,99378],{"class":7006},"              \"assets\"",[6995,99380,7746],{"class":7000},[6995,99382,8505],{"class":7006},[6995,99384,99385],{"class":244,"line":7120},[6995,99386,15327],{"class":7000},[6995,99388,99389],{"class":244,"line":7133},[6995,99390,7047],{"class":7000},[4953,99392],{},[611,99394,7052],{},[616,99396,99398],{"className":6989,"code":99397,"language":6991,"meta":14,"style":14},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 112,\n    \"current_state_hash\": \"b9e8b868de60f28e553a1499a569f481991e4cff9fe2191d09d71a03c7708296\",\n    \"difficulty\": 378.36236572265625,\n    \"prev_state_hash\": \"3f84da0b0390deaca908603b6061867def987575a1af9311248ffb01503a0f02\",\n    \"totals\": [\n      {\n        \"asset_id\": 0,\n        \"available\": 303000000000,\n        \"available_str\": \"303000000000\",\n        \"maturing\": 8000000000,\n        \"maturing_str\": \"8000000000\",\n        \"receiving\": 0,\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      },\n      {\n        \"asset_id\": 1,                    \u002F\u002F \u003C--------------- this could be used to send\u002Fsplit CA or to retrieve extended info\n        \"available\": 2000000000,\n        \"available_str\": \"2000000000\",\n        \"maturing\": 0,\n        \"maturing_str\": \"0\",\n        \"receiving\": 0,\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      }\n    ]\n  }\n}\n",[611,99399,99400,99404,99414,99424,99430,99440,99450,99460,99470,99476,99480,99490,99500,99510,99520,99530,99540,99550,99560,99568,99572,99576,99588,99598,99608,99618,99628,99638,99648,99658,99666,99670,99674,99678],{"__ignoreMap":14},[6995,99401,99402],{"class":244,"line":6997},[6995,99403,7001],{"class":7000},[6995,99405,99406,99408,99410,99412],{"class":244,"line":15},[6995,99407,7066],{"class":7006},[6995,99409,7024],{"class":7000},[6995,99411,7071],{"class":7006},[6995,99413,7030],{"class":7000},[6995,99415,99416,99418,99420,99422],{"class":244,"line":154},[6995,99417,7078],{"class":7006},[6995,99419,7024],{"class":7000},[6995,99421,7013],{"class":7012},[6995,99423,7030],{"class":7000},[6995,99425,99426,99428],{"class":244,"line":7033},[6995,99427,7089],{"class":7006},[6995,99429,7092],{"class":7000},[6995,99431,99432,99434,99436,99438],{"class":244,"line":7044},[6995,99433,7097],{"class":7006},[6995,99435,7024],{"class":7000},[6995,99437,7102],{"class":7006},[6995,99439,7030],{"class":7000},[6995,99441,99442,99444,99446,99448],{"class":244,"line":7107},[6995,99443,7110],{"class":7006},[6995,99445,7024],{"class":7000},[6995,99447,7115],{"class":7012},[6995,99449,7030],{"class":7000},[6995,99451,99452,99454,99456,99458],{"class":244,"line":7120},[6995,99453,7123],{"class":7006},[6995,99455,7024],{"class":7000},[6995,99457,7128],{"class":7006},[6995,99459,7030],{"class":7000},[6995,99461,99462,99464,99466,99468],{"class":244,"line":7133},[6995,99463,7136],{"class":7006},[6995,99465,7024],{"class":7000},[6995,99467,7141],{"class":7012},[6995,99469,7030],{"class":7000},[6995,99471,99472,99474],{"class":244,"line":7146},[6995,99473,7214],{"class":7006},[6995,99475,7217],{"class":7000},[6995,99477,99478],{"class":244,"line":7159},[6995,99479,7223],{"class":7000},[6995,99481,99482,99484,99486,99488],{"class":244,"line":7172},[6995,99483,7229],{"class":7006},[6995,99485,7024],{"class":7000},[6995,99487,7180],{"class":7006},[6995,99489,7030],{"class":7000},[6995,99491,99492,99494,99496,99498],{"class":244,"line":7185},[6995,99493,7241],{"class":7006},[6995,99495,7024],{"class":7000},[6995,99497,7154],{"class":7006},[6995,99499,7030],{"class":7000},[6995,99501,99502,99504,99506,99508],{"class":244,"line":7198},[6995,99503,7253],{"class":7006},[6995,99505,7024],{"class":7000},[6995,99507,7258],{"class":7012},[6995,99509,7030],{"class":7000},[6995,99511,99512,99514,99516,99518],{"class":244,"line":7211},[6995,99513,7266],{"class":7006},[6995,99515,7024],{"class":7000},[6995,99517,7193],{"class":7006},[6995,99519,7030],{"class":7000},[6995,99521,99522,99524,99526,99528],{"class":244,"line":7220},[6995,99523,7278],{"class":7006},[6995,99525,7024],{"class":7000},[6995,99527,7283],{"class":7012},[6995,99529,7030],{"class":7000},[6995,99531,99532,99534,99536,99538],{"class":244,"line":7226},[6995,99533,7291],{"class":7006},[6995,99535,7024],{"class":7000},[6995,99537,7180],{"class":7006},[6995,99539,7030],{"class":7000},[6995,99541,99542,99544,99546,99548],{"class":244,"line":7238},[6995,99543,7303],{"class":7006},[6995,99545,7024],{"class":7000},[6995,99547,7405],{"class":7012},[6995,99549,7030],{"class":7000},[6995,99551,99552,99554,99556,99558],{"class":244,"line":7250},[6995,99553,7316],{"class":7006},[6995,99555,7024],{"class":7000},[6995,99557,7180],{"class":7006},[6995,99559,7030],{"class":7000},[6995,99561,99562,99564,99566],{"class":244,"line":7263},[6995,99563,7328],{"class":7006},[6995,99565,7024],{"class":7000},[6995,99567,7333],{"class":7012},[6995,99569,99570],{"class":244,"line":7275},[6995,99571,7339],{"class":7000},[6995,99573,99574],{"class":244,"line":7288},[6995,99575,7223],{"class":7000},[6995,99577,99578,99580,99582,99584,99586],{"class":244,"line":7300},[6995,99579,7229],{"class":7006},[6995,99581,7024],{"class":7000},[6995,99583,6679],{"class":7006},[6995,99585,7356],{"class":7000},[6995,99587,7360],{"class":7359},[6995,99589,99590,99592,99594,99596],{"class":244,"line":7313},[6995,99591,7241],{"class":7006},[6995,99593,7024],{"class":7000},[6995,99595,7370],{"class":7006},[6995,99597,7030],{"class":7000},[6995,99599,99600,99602,99604,99606],{"class":244,"line":7325},[6995,99601,7253],{"class":7006},[6995,99603,7024],{"class":7000},[6995,99605,7382],{"class":7012},[6995,99607,7030],{"class":7000},[6995,99609,99610,99612,99614,99616],{"class":244,"line":7336},[6995,99611,7266],{"class":7006},[6995,99613,7024],{"class":7000},[6995,99615,7180],{"class":7006},[6995,99617,7030],{"class":7000},[6995,99619,99620,99622,99624,99626],{"class":244,"line":7342},[6995,99621,7278],{"class":7006},[6995,99623,7024],{"class":7000},[6995,99625,7405],{"class":7012},[6995,99627,7030],{"class":7000},[6995,99629,99630,99632,99634,99636],{"class":244,"line":7347},[6995,99631,7291],{"class":7006},[6995,99633,7024],{"class":7000},[6995,99635,7180],{"class":7006},[6995,99637,7030],{"class":7000},[6995,99639,99640,99642,99644,99646],{"class":244,"line":7363},[6995,99641,7303],{"class":7006},[6995,99643,7024],{"class":7000},[6995,99645,7405],{"class":7012},[6995,99647,7030],{"class":7000},[6995,99649,99650,99652,99654,99656],{"class":244,"line":7375},[6995,99651,7316],{"class":7006},[6995,99653,7024],{"class":7000},[6995,99655,7180],{"class":7006},[6995,99657,7030],{"class":7000},[6995,99659,99660,99662,99664],{"class":244,"line":7387},[6995,99661,7328],{"class":7006},[6995,99663,7024],{"class":7000},[6995,99665,7333],{"class":7012},[6995,99667,99668],{"class":244,"line":7398},[6995,99669,7455],{"class":7000},[6995,99671,99672],{"class":244,"line":7410},[6995,99673,7461],{"class":7000},[6995,99675,99676],{"class":244,"line":7421},[6995,99677,7467],{"class":7000},[6995,99679,99680],{"class":244,"line":7432},[6995,99681,7047],{"class":7000},[59,99683,7475,99684,7479,99686,99688,99690],{},[611,99685,7478],{},[4953,99687],{},[611,99689,6986],{},[616,99691,99692],{"className":6989,"code":7486,"language":6991,"meta":14,"style":14},[611,99693,99694,99698,99708,99718,99728,99734,99738,99748,99758,99768,99778,99788,99800,99804],{"__ignoreMap":14},[6995,99695,99696],{"class":244,"line":6997},[6995,99697,7001],{"class":7000},[6995,99699,99700,99702,99704,99706],{"class":244,"line":15},[6995,99701,7007],{"class":7006},[6995,99703,5102],{"class":7000},[6995,99705,7013],{"class":7012},[6995,99707,7016],{"class":7000},[6995,99709,99710,99712,99714,99716],{"class":244,"line":154},[6995,99711,7021],{"class":7006},[6995,99713,7024],{"class":7000},[6995,99715,7511],{"class":7006},[6995,99717,7030],{"class":7000},[6995,99719,99720,99722,99724,99726],{"class":244,"line":7033},[6995,99721,7036],{"class":7006},[6995,99723,5102],{"class":7000},[6995,99725,7522],{"class":7012},[6995,99727,7016],{"class":7000},[6995,99729,99730,99732],{"class":244,"line":7044},[6995,99731,7529],{"class":7006},[6995,99733,7532],{"class":7000},[6995,99735,99736],{"class":244,"line":7107},[6995,99737,7537],{"class":7000},[6995,99739,99740,99742,99744,99746],{"class":244,"line":7120},[6995,99741,7542],{"class":7006},[6995,99743,7024],{"class":7000},[6995,99745,7547],{"class":7006},[6995,99747,7030],{"class":7000},[6995,99749,99750,99752,99754,99756],{"class":244,"line":7133},[6995,99751,7554],{"class":7006},[6995,99753,7024],{"class":7000},[6995,99755,7511],{"class":7006},[6995,99757,7030],{"class":7000},[6995,99759,99760,99762,99764,99766],{"class":244,"line":7146},[6995,99761,7565],{"class":7006},[6995,99763,7024],{"class":7000},[6995,99765,7570],{"class":7012},[6995,99767,7030],{"class":7000},[6995,99769,99770,99772,99774,99776],{"class":244,"line":7159},[6995,99771,7577],{"class":7006},[6995,99773,7024],{"class":7000},[6995,99775,7570],{"class":7012},[6995,99777,7030],{"class":7000},[6995,99779,99780,99782,99784,99786],{"class":244,"line":7172},[6995,99781,7588],{"class":7006},[6995,99783,7024],{"class":7000},[6995,99785,7593],{"class":7012},[6995,99787,7030],{"class":7000},[6995,99789,99790,99792,99794,99796,99798],{"class":244,"line":7185},[6995,99791,7229],{"class":7006},[6995,99793,7024],{"class":7000},[6995,99795,6679],{"class":7006},[6995,99797,7607],{"class":7606},[6995,99799,7610],{"class":7606},[6995,99801,99802],{"class":244,"line":7198},[6995,99803,7615],{"class":7000},[6995,99805,99806],{"class":244,"line":7211},[6995,99807,7047],{"class":7000},[59,99809,7622,99810,99812,99814,99878,99880,99882],{},[4953,99811],{},[611,99813,6986],{},[616,99815,99816],{"className":6989,"code":7629,"language":6991,"meta":14,"style":14},[611,99817,99818,99822,99832,99842,99852,99858,99862,99870,99874],{"__ignoreMap":14},[6995,99819,99820],{"class":244,"line":6997},[6995,99821,7001],{"class":7000},[6995,99823,99824,99826,99828,99830],{"class":244,"line":15},[6995,99825,7007],{"class":7006},[6995,99827,5102],{"class":7000},[6995,99829,7013],{"class":7012},[6995,99831,7016],{"class":7000},[6995,99833,99834,99836,99838,99840],{"class":244,"line":154},[6995,99835,7021],{"class":7006},[6995,99837,7024],{"class":7000},[6995,99839,7511],{"class":7006},[6995,99841,7030],{"class":7000},[6995,99843,99844,99846,99848,99850],{"class":244,"line":7033},[6995,99845,7036],{"class":7006},[6995,99847,7024],{"class":7000},[6995,99849,7664],{"class":7012},[6995,99851,7030],{"class":7000},[6995,99853,99854,99856],{"class":244,"line":7044},[6995,99855,7529],{"class":7006},[6995,99857,7673],{"class":7000},[6995,99859,99860],{"class":244,"line":7107},[6995,99861,7537],{"class":7000},[6995,99863,99864,99866,99868],{"class":244,"line":7120},[6995,99865,7229],{"class":7006},[6995,99867,7024],{"class":7000},[6995,99869,7686],{"class":7006},[6995,99871,99872],{"class":244,"line":7133},[6995,99873,7615],{"class":7000},[6995,99875,99876],{"class":244,"line":7146},[6995,99877,7047],{"class":7000},[4953,99879],{},[611,99881,7052],{},[616,99883,99884],{"className":6989,"code":7701,"language":6991,"meta":14,"style":14},[611,99885,99886,99890,99900,99910,99916,99920,99928,99932],{"__ignoreMap":14},[6995,99887,99888],{"class":244,"line":6997},[6995,99889,7001],{"class":7000},[6995,99891,99892,99894,99896,99898],{"class":244,"line":15},[6995,99893,7007],{"class":7006},[6995,99895,5102],{"class":7000},[6995,99897,7013],{"class":7012},[6995,99899,7016],{"class":7000},[6995,99901,99902,99904,99906,99908],{"class":244,"line":154},[6995,99903,7021],{"class":7006},[6995,99905,7024],{"class":7000},[6995,99907,7511],{"class":7006},[6995,99909,7030],{"class":7000},[6995,99911,99912,99914],{"class":244,"line":7033},[6995,99913,7732],{"class":7006},[6995,99915,7532],{"class":7000},[6995,99917,99918],{"class":244,"line":7044},[6995,99919,7537],{"class":7000},[6995,99921,99922,99924,99926],{"class":244,"line":7107},[6995,99923,7743],{"class":7006},[6995,99925,7746],{"class":7000},[6995,99927,7749],{"class":7012},[6995,99929,99930],{"class":244,"line":7120},[6995,99931,7615],{"class":7000},[6995,99933,99934],{"class":244,"line":7133},[6995,99935,7047],{"class":7000},[59,99937,7760,99938,99940,99942,100006,100012,100014,100016,100140,7981,100142,181,100144],{},[4953,99939],{},[611,99941,6986],{},[616,99943,99944],{"className":6989,"code":7767,"language":6991,"meta":14,"style":14},[611,99945,99946,99950,99960,99970,99980,99986,99990,99998,100002],{"__ignoreMap":14},[6995,99947,99948],{"class":244,"line":6997},[6995,99949,7001],{"class":7000},[6995,99951,99952,99954,99956,99958],{"class":244,"line":15},[6995,99953,7007],{"class":7006},[6995,99955,5102],{"class":7000},[6995,99957,7013],{"class":7012},[6995,99959,7016],{"class":7000},[6995,99961,99962,99964,99966,99968],{"class":244,"line":154},[6995,99963,7021],{"class":7006},[6995,99965,7024],{"class":7000},[6995,99967,7027],{"class":7006},[6995,99969,7030],{"class":7000},[6995,99971,99972,99974,99976,99978],{"class":244,"line":7033},[6995,99973,7036],{"class":7006},[6995,99975,7024],{"class":7000},[6995,99977,7802],{"class":7012},[6995,99979,7030],{"class":7000},[6995,99981,99982,99984],{"class":244,"line":7044},[6995,99983,7529],{"class":7006},[6995,99985,7811],{"class":7000},[6995,99987,99988],{"class":244,"line":7107},[6995,99989,7537],{"class":7000},[6995,99991,99992,99994,99996],{"class":244,"line":7120},[6995,99993,7229],{"class":7006},[6995,99995,7024],{"class":7000},[6995,99997,7686],{"class":7006},[6995,99999,100000],{"class":244,"line":7133},[6995,100001,7615],{"class":7000},[6995,100003,100004],{"class":244,"line":7146},[6995,100005,7047],{"class":7000},[852,100007,100008],{},[59,100009,100010,7838],{},[611,100011,6869],{},[4953,100013],{},[611,100015,7052],{},[616,100017,100018],{"className":6989,"code":7845,"language":6991,"meta":14,"style":14},[611,100019,100020,100024,100034,100044,100050,100054,100064,100074,100084,100094,100104,100114,100124,100132,100136],{"__ignoreMap":14},[6995,100021,100022],{"class":244,"line":6997},[6995,100023,7001],{"class":7000},[6995,100025,100026,100028,100030,100032],{"class":244,"line":15},[6995,100027,7021],{"class":7006},[6995,100029,7024],{"class":7000},[6995,100031,7071],{"class":7006},[6995,100033,7030],{"class":7000},[6995,100035,100036,100038,100040,100042],{"class":244,"line":154},[6995,100037,7007],{"class":7006},[6995,100039,7024],{"class":7000},[6995,100041,7013],{"class":7012},[6995,100043,7030],{"class":7000},[6995,100045,100046,100048],{"class":244,"line":7033},[6995,100047,7732],{"class":7006},[6995,100049,7673],{"class":7000},[6995,100051,100052],{"class":244,"line":7044},[6995,100053,7537],{"class":7000},[6995,100055,100056,100058,100060,100062],{"class":244,"line":7107},[6995,100057,7229],{"class":7006},[6995,100059,7024],{"class":7000},[6995,100061,6679],{"class":7006},[6995,100063,7030],{"class":7000},[6995,100065,100066,100068,100070,100072],{"class":244,"line":7120},[6995,100067,7896],{"class":7006},[6995,100069,7024],{"class":7000},[6995,100071,7370],{"class":7006},[6995,100073,7030],{"class":7000},[6995,100075,100076,100078,100080,100082],{"class":244,"line":7133},[6995,100077,7907],{"class":7006},[6995,100079,7024],{"class":7000},[6995,100081,7382],{"class":7012},[6995,100083,7030],{"class":7000},[6995,100085,100086,100088,100090,100092],{"class":244,"line":7146},[6995,100087,7918],{"class":7006},[6995,100089,7024],{"class":7000},[6995,100091,6679],{"class":7006},[6995,100093,7030],{"class":7000},[6995,100095,100096,100098,100100,100102],{"class":244,"line":7159},[6995,100097,7929],{"class":7006},[6995,100099,7024],{"class":7000},[6995,100101,7934],{"class":7006},[6995,100103,7030],{"class":7000},[6995,100105,100106,100108,100110,100112],{"class":244,"line":7172},[6995,100107,7941],{"class":7006},[6995,100109,7024],{"class":7000},[6995,100111,7946],{"class":7012},[6995,100113,7030],{"class":7000},[6995,100115,100116,100118,100120,100122],{"class":244,"line":7185},[6995,100117,7953],{"class":7006},[6995,100119,7024],{"class":7000},[6995,100121,7958],{"class":7012},[6995,100123,7030],{"class":7000},[6995,100125,100126,100128,100130],{"class":244,"line":7198},[6995,100127,7965],{"class":7006},[6995,100129,7024],{"class":7000},[6995,100131,7970],{"class":7006},[6995,100133,100134],{"class":244,"line":7211},[6995,100135,7615],{"class":7000},[6995,100137,100138],{"class":244,"line":7220},[6995,100139,7047],{"class":7000},[4953,100141],{},[175,100143,7985],{"href":7984},[852,100145,100146,100150,100154,100168,100172,100176],{},[59,100147,100148,7992],{},[611,100149,6869],{},[59,100151,100152,7998],{},[611,100153,7997],{},[59,100155,100156,8003,100158,8007,100160,8012,100162,8016,100164,8020,100166,8023],{},[611,100157,1020],{},[611,100159,8006],{},[8009,100161,8011],{},[611,100163,8015],{},[8009,100165,8019],{},[611,100167,8015],{},[59,100169,100170,8029],{},[611,100171,8028],{},[59,100173,100174,8035],{},[611,100175,8034],{},[59,100177,100178,8041,100180,8045],{},[611,100179,8040],{},[175,100181,6930],{"href":8044},[48,100183,100185],{"id":100184},"enable-new-types-of-transaction","Enable new types of transaction",[852,100187,100188],{},[59,100189,6958,100190,100192,100193],{},[611,100191,12315],{},". With this flag your wallet is able to send UTXO via shielded pool.",[616,100194,100197],{"className":100195,"code":100196,"language":621},[619],"    .\u002Fwallet-api --enable_lelantus -n \u003Cnode address>\n",[611,100198,100196],{"__ignoreMap":14},[48,100200,100202],{"id":100201},"newer-address-type-support","Newer address type support",[852,100204,100205],{},[59,100206,11849,100207,100209,100210,100212,100214,100302],{},[611,100208,11852],{}," method return additional info about address:",[4953,100211],{},[611,100213,7052],{},[616,100215,100216],{"className":6989,"code":11860,"language":6991,"meta":14,"style":14},[611,100217,100218,100222,100232,100242,100248,100252,100262,100272,100284,100294,100298],{"__ignoreMap":14},[6995,100219,100220],{"class":244,"line":6997},[6995,100221,7001],{"class":7000},[6995,100223,100224,100226,100228,100230],{"class":244,"line":15},[6995,100225,7007],{"class":7006},[6995,100227,5102],{"class":7000},[6995,100229,7013],{"class":7012},[6995,100231,7016],{"class":7000},[6995,100233,100234,100236,100238,100240],{"class":244,"line":154},[6995,100235,7021],{"class":7006},[6995,100237,7024],{"class":7000},[6995,100239,6679],{"class":7006},[6995,100241,7030],{"class":7000},[6995,100243,100244,100246],{"class":244,"line":7033},[6995,100245,7732],{"class":7006},[6995,100247,11893],{"class":7000},[6995,100249,100250],{"class":244,"line":7044},[6995,100251,7537],{"class":7000},[6995,100253,100254,100256,100258,100260],{"class":244,"line":7107},[6995,100255,11902],{"class":7006},[6995,100257,7746],{"class":7000},[6995,100259,8689],{"class":7006},[6995,100261,7030],{"class":7000},[6995,100263,100264,100266,100268,100270],{"class":244,"line":7120},[6995,100265,11913],{"class":7006},[6995,100267,7746],{"class":7000},[6995,100269,11094],{"class":7006},[6995,100271,7030],{"class":7000},[6995,100273,100274,100276,100278,100280,100282],{"class":244,"line":7133},[6995,100275,11924],{"class":7006},[6995,100277,7024],{"class":7000},[6995,100279,11929],{"class":7012},[6995,100281,11932],{"class":7000},[6995,100283,11935],{"class":7359},[6995,100285,100286,100288,100290,100292],{"class":244,"line":7146},[6995,100287,11940],{"class":7006},[6995,100289,7024],{"class":7000},[6995,100291,11136],{"class":7006},[6995,100293,11947],{"class":7359},[6995,100295,100296],{"class":244,"line":7159},[6995,100297,7615],{"class":7000},[6995,100299,100300],{"class":244,"line":7172},[6995,100301,7047],{"class":7000},[852,100303,100304,100346],{},[59,100305,100306,11963,100308],{},[611,100307,11962],{},[852,100309,100310,100316,100324,100332,100340],{},[59,100311,100312,11970,100314,11973],{},[611,100313,11803],{},[611,100315,11779],{},[59,100317,100318,11978,100320,11981,100322,11984],{},[611,100319,11810],{},[611,100321,11775],{},[100,100323,11810],{},[59,100325,100326,11978,100328,11981,100330,11995],{},[611,100327,11989],{},[611,100329,11775],{},[100,100331,11994],{},[59,100333,100334,11978,100336,11981,100338,12005],{},[611,100335,12000],{},[611,100337,11775],{},[100,100339,11810],{},[59,100341,100342,11978,100344,12013],{},[611,100343,12010],{},[611,100345,11775],{},[59,100347,100348,12019,100350,12022],{},[611,100349,12018],{},[611,100351,11810],{},[34,100353,12025,100354,12028],{},[611,100355,11803],{},[852,100357,100358],{},[59,100359,100360,100361],{},"regex for the newer address is:\n",[616,100362,100365],{"className":100363,"code":100364,"language":621},[619],"\u002F[0-9a-zA-Z]{1,1000}\u002F\n",[611,100366,100364],{"__ignoreMap":14},[34,100368,12184],{},[852,100370,100371],{},[59,100372,12187,100373,12191,100375,12195,100377,100379,100381],{},[611,100374,12190],{},[611,100376,12194],{},[4953,100378],{},[611,100380,6986],{},[616,100382,100383],{"className":6989,"code":12202,"language":6991,"meta":14,"style":14},[611,100384,100385,100389,100399,100409,100419,100425,100429,100441,100451,100459,100463],{"__ignoreMap":14},[6995,100386,100387],{"class":244,"line":6997},[6995,100388,7001],{"class":7000},[6995,100390,100391,100393,100395,100397],{"class":244,"line":15},[6995,100392,7007],{"class":7006},[6995,100394,7746],{"class":7000},[6995,100396,7013],{"class":7012},[6995,100398,7016],{"class":7000},[6995,100400,100401,100403,100405,100407],{"class":244,"line":154},[6995,100402,7021],{"class":7006},[6995,100404,7746],{"class":7000},[6995,100406,6679],{"class":7006},[6995,100408,7030],{"class":7000},[6995,100410,100411,100413,100415,100417],{"class":244,"line":7033},[6995,100412,7036],{"class":7006},[6995,100414,7746],{"class":7000},[6995,100416,12237],{"class":7012},[6995,100418,7016],{"class":7000},[6995,100420,100421,100423],{"class":244,"line":7044},[6995,100422,7529],{"class":7006},[6995,100424,7811],{"class":7000},[6995,100426,100427],{"class":244,"line":7107},[6995,100428,7537],{"class":7000},[6995,100430,100431,100433,100435,100437,100439],{"class":244,"line":7120},[6995,100432,11924],{"class":7006},[6995,100434,7024],{"class":7000},[6995,100436,12258],{"class":7012},[6995,100438,11932],{"class":7000},[6995,100440,12263],{"class":7359},[6995,100442,100443,100445,100447,100449],{"class":244,"line":7133},[6995,100444,12268],{"class":7006},[6995,100446,7746],{"class":7000},[6995,100448,12273],{"class":7012},[6995,100450,7030],{"class":7000},[6995,100452,100453,100455,100457],{"class":244,"line":7146},[6995,100454,7588],{"class":7006},[6995,100456,7746],{"class":7000},[6995,100458,12284],{"class":7012},[6995,100460,100461],{"class":244,"line":7159},[6995,100462,7615],{"class":7000},[6995,100464,100465],{"class":244,"line":7172},[6995,100466,7047],{"class":7000},[34,100468,12295,100469,12298,100471,98,100473,12304],{},[611,100470,12190],{},[611,100472,12190],{},[611,100474,12303],{},[8692,100476,100477],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s6RL2, html code.shiki .s6RL2{--shiki-default:#FDAEB7;--shiki-default-font-style:italic}",{"title":14,"searchDepth":15,"depth":15,"links":100479},[100480,100481,100482,100483],{"id":877,"depth":15,"text":878},{"id":98942,"depth":15,"text":98943},{"id":98957,"depth":15,"text":98958},{"id":98974,"depth":15,"text":98975,"children":100484},[100485,100486,100487,100488],{"id":98978,"depth":154,"text":98979},{"id":6952,"depth":154,"text":6953},{"id":100184,"depth":154,"text":100185},{"id":100201,"depth":154,"text":100202},{},"\u002Fdocs\u002Fcore-tech\u002Fnew-address-types-support",{"title":11723,"description":14},"docs\u002Fcore-tech\u002FNew-address-types-support","dIE59HhPTdBLPJrBR31PapVHFgyxzI5BntO19MGlLeQ",{"id":100495,"title":91647,"body":100496,"description":100731,"extension":17,"image":18,"meta":100732,"navTitle":18,"navigation":20,"path":100733,"seo":100734,"stem":100735,"__hash__":100736},"docs\u002Fdocs\u002Fcore-tech\u002FNode-initial-synchronization-(DEPRECATED).md",{"type":8,"value":100497,"toc":100725},[100498,100500,100511,100514,100537,100546,100574,100578,100583,100594,100597,100627,100630,100633,100647,100660,100663,100669,100672,100675,100683,100687,100693,100719],[11,100499,91647],{"id":91652},[34,100501,100502,100503,100506,100507,100510],{},"BEAM Node initially operates in ",[37,100504,100505],{},"Sync"," mode, then eventually it switches to the ",[37,100508,100509],{},"Standard"," mode.",[34,100512,100513],{},"Initial state selection is performed according to the following logic:",[852,100515,100516,100522,100531],{},[59,100517,100518,100519,100521],{},"If the current blockchain tip is non-empty, i.e. contains at least the genesis block ",[37,100520,100509],{}," mode is selected.",[59,100523,100524,100525,100527,100528,100530],{},"If there is a ",[100,100526,11505],{}," block(s) defined - the Node is supposed to create the genesis block. It switches to the ",[37,100529,100509],{}," mode, mines the genesis block(s), and eventually broadcasts it to the network.",[59,100532,100533,100534,100536],{},"Otherwise ",[37,100535,100505],{}," mode is activated.",[34,100538,100539,100540,100542,100543,100545],{},"The goal of the ",[37,100541,100505],{}," mode is to allow the fast-Sync via ",[100,100544,87492],{}," whenever possible. It consists of three phases.",[56,100547,100548,100557,100566],{},[59,100549,100550,100553,100554,100556],{},[100,100551,100552],{},"Detection phase",". Node analyzes its peers, and selects the most suitable ",[100,100555,87492],{}," to download.",[59,100558,100559,100562,100563,100565],{},[100,100560,100561],{},"Download phase",". Node downloads the ",[100,100564,87492],{}," (by portions), from one or several peers.",[59,100567,100568,100571,100572,100510],{},[100,100569,100570],{},"Import phase",". Once fully downloaded - the Node uses it to import, and then switches to the ",[37,100573,100509],{},[48,100575,100577],{"id":100576},"synchronization-via-macroblock","Synchronization via Macroblock",[34,100579,6547,100580,100582],{},[100,100581,87492],{}," is a \"compressed\" blockchain history, which includes the following:",[56,100584,100585,100588,100591],{},[59,100586,100587],{},"All the block headers, with PoW.",[59,100589,100590],{},"All the transaction kernels.",[59,100592,100593],{},"The unspent UTXO set.",[34,100595,100596],{},"In contrast to the original blocks the macroblock doesn't contain any info about spent UTXOs. Once downloaded, the Node verifies the following:",[56,100598,100599,100602,100613],{},[59,100600,100601],{},"All the headers are valid (sane, have valid PoW, form a valid blockchain)",[59,100603,100604,100605],{},"All the original kernels are included in the macroblock\n",[852,100606,100607,100610],{},[59,100608,100609],{},"This is done by verifying groups of kernels corresponding to a specific block w.r.t. kernel commitment in the appropriate header.",[59,100611,100612],{},"This proves that all the original transactions are included.",[59,100614,100615,100616],{},"The resulting state of the system is valid:\n",[852,100617,100618,100621,100624],{},[59,100619,100620],{},"Unspent UTXOs with all the kernels form a valid transformation from the genesis to the asserted height.",[59,100622,100623],{},"The overall value equals what it should be according to the emission schedule.",[59,100625,100626],{},"Recent coinbase UTXOs are time-locked, according to the system rules.",[41,100628,100552],{"id":100629},"detection-phase",[34,100631,100632],{},"For each peer with non-empty tip the Node requests the following:",[852,100634,100635,100641],{},[59,100636,100637,100640],{},[100,100638,100639],{},"Chainwork proof"," (to ensure the credibility of the reported tip)",[59,100642,100643,100644,100646],{},"Information about the most recently generated ",[100,100645,87492],{}," (its State ID).",[34,100648,100649,100650,100653,100654,100656,100657,100659],{},"This continues until either enough such peers are examined, or the timeout expires (since the first suitable peer was found). The macroblock of the peer with the highest ",[100,100651,100652],{},"Chainwork"," is selected.\nIf there is no macroblock to download (which is typically the case until blockchain height is low) - the Node switches to the ",[37,100655,100509],{}," mode, otherwise the ",[100,100658,100561],{}," is activated.",[41,100661,100561],{"id":100662},"download-phase",[34,100664,100665,100666,100668],{},"During this phase the ",[100,100667,87492],{}," is downloaded by portions. Each time it gets a portion - the next portion is requested from the same peer. In case the peer goes down or has no macroblock for upload - another peer is selected.",[34,100670,100671],{},"In case of shutdown\u002Frestart - the Node will continue the download from where it stopped.",[41,100673,100570],{"id":100674},"import-phase",[34,100676,100677,100678,100680,100681,100510],{},"The Node performs the import from the downloaded ",[100,100679,87492],{},", and then switches to the ",[37,100682,100509],{},[11,100684,100686],{"id":100685},"notes","Notes",[34,100688,100689,100690,100692],{},"In case something goes wrong during the ",[37,100691,100505],{}," mode - there is no automatic retry\u002Frestart. User intervention is required. Whereas in typical scenarios problems are unlikely, possible abnormal cases are:",[852,100694,100695,100704,100716],{},[59,100696,100697,100698,100700,100701,100703],{},"No Macroblock detected. Can happen if the peer with the highest (proven) chainwork reports than it has no ",[100,100699,87492],{},". In this case Node goes straight to the ",[37,100702,100509],{}," mode to sync, which is slower, and may not succeed in case old original blocks are already deleted in all peers.",[59,100705,100706,100707,100709,100710,100712,100713,100715],{},"Macroblock download stuck: Node attempts to download a ",[100,100708,87492],{}," which no more exists in any of its peers. Can happen if the download takes insanely long, and during this time all the peers generated many newer ",[100,100711,89039],{},". Typically each node keeps several most recently-generated ",[100,100714,89039],{}," (7 by default), and eventually deletes older ones.",[59,100717,100718],{},"Macroblock import error (data corruped, inconsistent state). Most probably the result of DoS attack,  or less probably - some bug or the storage corruption.",[34,100720,100721,100722,100724],{},"In case of an error it's possible to reset the Node state, and retry the synchronization. Or, alternatively, the most recent ",[100,100723,87492],{}," may be downloaded manually, and given to the Node for explicit initialization",{"title":14,"searchDepth":15,"depth":15,"links":100726},[100727,100728,100729,100730],{"id":100576,"depth":154,"text":100577},{"id":100629,"depth":15,"text":100552},{"id":100662,"depth":15,"text":100561},{"id":100674,"depth":15,"text":100570},"BEAM Node initially operates in Sync mode, then eventually it switches to the Standard mode.",{},"\u002Fdocs\u002Fcore-tech\u002Fnode-initial-synchronization-(deprecated)",{"title":91647,"description":100731},"docs\u002Fcore-tech\u002FNode-initial-synchronization-(DEPRECATED)","tsL2JOip5-K9T8_Hcd1FW8vF8VEMXB_n7gZw7IcUYyM",{"id":100738,"title":100739,"body":100740,"description":100776,"extension":17,"image":18,"meta":100777,"navTitle":18,"navigation":20,"path":100778,"seo":100779,"stem":100780,"__hash__":100781},"docs\u002Fdocs\u002Fcore-tech\u002FNode-standard-operation-mode.md","Node Standard Operation Mode",{"type":8,"value":100741,"toc":100773},[100742,100749,100757,100760,100763,100767,100770],[34,100743,100744,100745,100748],{},"According to the protocol Node advertises its tip (header) to all the connected peers, which may ",[100,100746,100747],{},"potentially"," be interested in it. Potentially interested means the following:",[852,100750,100751,100754],{},[59,100752,100753],{},"The peer tip has lower Chainwork",[59,100755,100756],{},"The peer tip has the same Chainwork, but the tip is different\nImmediately after connecting the tip is always sent, because the peer tip is not known yet (by default assumed empty). Then, after each state transition, the tip is sent only if either of the above criterias is satisfied.",[34,100758,100759],{},"In addition to the advertising, Nodes synchronize actively: request and send headers and blocks. The data request logic is designed such that all the nodes aim to reach the tip of the heaviest branch, but in practice nodes would also request any data to achieve a higher state than the current (so that they're not easily paralyzed by revealing a non-existing tip).",[34,100761,100762],{},"There are 2 types of requests: headers and block.",[41,100764,100766],{"id":100765},"headers","Headers",[34,100768,100769],{},"sends its tip (header) to every peer (be it client or other Node) when it connects.",[34,100771,100772],{},"Then, if the peer tip is also received, the Node",{"title":14,"searchDepth":15,"depth":15,"links":100774},[100775],{"id":100765,"depth":15,"text":100766},"According to the protocol Node advertises its tip (header) to all the connected peers, which may potentially be interested in it. Potentially interested means the following:",{},"\u002Fdocs\u002Fcore-tech\u002Fnode-standard-operation-mode",{"description":100776},"docs\u002Fcore-tech\u002FNode-standard-operation-mode","KpFp-xEMig6tpObhqvEAvUuVBR4JGBwHLUmpNTynU3Q",{"id":100783,"title":100784,"body":100785,"description":100789,"extension":17,"image":18,"meta":100968,"navTitle":18,"navigation":20,"path":100969,"seo":100970,"stem":100971,"__hash__":100972},"docs\u002Fdocs\u002Fcore-tech\u002FOne-side-payments.md","One Side Payments",{"type":8,"value":100786,"toc":100960},[100787,100790,100794,100797,100826,100837,100843,100846,100850,100853,100857,100872,100875,100879,100882,100886,100889,100893,100896,100907,100910,100929,100933,100936,100940,100944,100947,100950,100953,100957],[34,100788,100789],{},"In MW in order to create a valid transaction all the parties must collaborate. Here we'll present a one-side payment scheme, which, after initial setup, allows arbitrary senders to pay specified (fixed) values to a particular receiver, without any further collaboration from the receiver side.",[11,100791,100793],{"id":100792},"principle","Principle",[34,100795,100796],{},"In order to receive a payment the receiver creates and publishes the following:",[852,100798,100799,100802,100805,100812],{},[59,100800,100801],{},"The value that it expects to receive",[59,100803,100804],{},"An UTXO (commitment + Bulletproof) that encodes the above value, with arbitrary blinding factor",[59,100806,100807,100808,100811],{},"A ",[100,100809,100810],{},"compensatory"," kernel that compensates for the above blinding factor",[59,100813,100814,100815],{},"Optionally: a signed payment proof\n",[852,100816,100817,100820,100823],{},[59,100818,100819],{},"Should include the received value, and the above kernel ID",[59,100821,100822],{},"No sender address, since it's unknown, plus payment may come from multiple senders",[59,100824,100825],{},"Should be signed by a private key bound to the receiver identity",[34,100827,100828,100829,100832,100833,100836],{},"The above UTXO and the kernel form a part of the transaction with zero (or any other ",[9352,100830,100831],{},"known"," value) blinding factor, and a known value on output. Let's call it an ",[100,100834,100835],{},"acceptor"," part.",[34,100838,100839,100840,100836],{},"In order to pay this receiver the sender create its own transaction part, which has appropriate value on input, and the kernel that compensates for its blinding factor. Call it a ",[100,100841,100842],{},"donor",[34,100844,100845],{},"Together those 2 parts form a valid transaction with 2 kernels.",[11,100847,100849],{"id":100848},"why-this-is-not-good-enough","Why this is not good enough",[34,100851,100852],{},"The above scheme is naïve, and there are several problems with it.",[41,100854,100856],{"id":100855},"value-can-be-stolen","Value can be stolen",[34,100858,100859,100860,87403,100862,100864,100865,100868,100869,100871],{},"As we said, the above transaction consists of two parts: the ",[100,100861,100842],{},[100,100863,100835],{},". Means it's ",[9352,100866,100867],{},"not atomic",". A malicious node may delete the original ",[100,100870,100835],{}," part, and instead substitute its own, effectively stealing the value.",[34,100873,100874],{},"If the above payment scheme was agreed secretly between the sender and the receiver - still there's a chance the receiver is colluded with the miners.",[41,100876,100878],{"id":100877},"impossible-to-prove-the-payment","Impossible to prove the payment",[34,100880,100881],{},"Normally the existence of the kernel in the blockchain together with the payment proof signed by the receiver unambiguously prove the payment. However in this case the signed payment proof doesn't include the sender address, and the sender can't prove that the payment was made by him\u002Fher.",[11,100883,100885],{"id":100884},"improved-scheme","Improved scheme",[34,100887,100888],{},"In BEAM the above issues are solved by the following extensions to the protocol.",[41,100890,100892],{"id":100891},"kernel-fusion","Kernel fusion",[34,100894,100895],{},"In BEAM it's possible to create a transaction kernel which includes \"internally\" arbitrary number of additional ones. The kernel signature accounts for all the contents, so it's not feasible to tamper with it.",[34,100897,100898,100899,100902,100903,100906],{},"So, in order to send a payment, the sender creates a ",[100,100900,100901],{},"composite"," kernel, which includes ",[100,100904,100905],{},"internally"," the receiver compensatory kernel. This makes it impossible for the attacker to remove the receiver kernel, hence the receiver UTXO also must remain. This guarantees the integrity of the transaction.",[34,100908,100909],{},"In addition the sender now has an ability to prove that the payment was made by him\u002Fher. For this the sender must do the following:",[852,100911,100912,100915,100918],{},[59,100913,100914],{},"Locate its composite kernel in the blockchain",[59,100916,100917],{},"Demonstrate that it includes internally the receiver compensatory kernel, as well as the payment proof signed by the receiver, which means that this receiver kernel means accepting a specific value.",[59,100919,100920,100921],{},"Prove that the composite kernel indeed belongs to the sender\n",[852,100922,100923,100926],{},[59,100924,100925],{},"It's sufficient to prove the knowledge of the blinding factor of the \"outer\" part of the kernel. Given an arbitrary data, the sender will sign it with its blinding factor. The verifier may check it corresponds to the visible kernel excess.",[59,100927,100928],{},"This scheme must be elaborated though to prevent MITM attack.",[41,100930,100932],{"id":100931},"duplicated-utxos-are-allowed-in-beam","Duplicated UTXOs are allowed in BEAM",[34,100934,100935],{},"This is important to allow multiple payments, as well as payments in terms of several instances of predefined values.",[11,100937,100939],{"id":100938},"additional-notes-and-caveats","Additional notes and caveats",[41,100941,100943],{"id":100942},"potential-problem-with-transaction-replaying","Potential problem with transaction replaying",[34,100945,100946],{},"Assume receiver owns several identical UTXOs, and decides to spend only one of them in a transaction.\nThe problem is that such a transaction can be replayed (repeated) several times, without the permission of the owner, each time it will consume the next such an UTXO.",[34,100948,100949],{},"To prevent this the wallet must NEVER create a transaction that spends only (potentially) duplicated UTXOs. The set of inputs must contain at least 1 unique UTXO, which is not supposed to get duplicated (with non-negligible probability).",[34,100951,100952],{},"This logic must be implemented in the wallet. In the simplest case the wallet may have a single \"dummy\" UTXO (i.e. with zero value) for this. Whenever necessary it will be used as an input, whereas another unique dummy will be created on output instead of the consumed one.",[41,100954,100956],{"id":100955},"less-anonimity","Less anonimity",[34,100958,100959],{},"Naturally the described scheme provides less anonymity than the standard MW. This however impacts the receiver only, and basically only those UTXOs used in this scheme.",{"title":14,"searchDepth":15,"depth":15,"links":100961},[100962,100963,100964,100965,100966,100967],{"id":100855,"depth":15,"text":100856},{"id":100877,"depth":15,"text":100878},{"id":100891,"depth":15,"text":100892},{"id":100931,"depth":15,"text":100932},{"id":100942,"depth":15,"text":100943},{"id":100955,"depth":15,"text":100956},{},"\u002Fdocs\u002Fcore-tech\u002Fone-side-payments",{"description":100789},"docs\u002Fcore-tech\u002FOne-side-payments","xbEtyyP5md98NBBMyEiDh_blhk66SiMAXgNp1Bd9hnU",{"id":100974,"title":91647,"body":100975,"description":100983,"extension":17,"image":18,"meta":101032,"navTitle":18,"navigation":20,"path":101033,"seo":101034,"stem":101035,"__hash__":101036},"docs\u002Fdocs\u002Fcore-tech\u002FOne-side-payments-(take-2)---DEPRECATED.md",{"type":8,"value":100976,"toc":101030},[100977,100979,100981,100984,100995,101002,101006,101020,101023,101027],[11,100978,91647],{"id":91652},[3136,100980],{},[34,100982,100983],{},"In MW transactions are built interactively, means sender and receiver must collaborate to build a transaction. Here we'll describe a scheme where the sender can pay the receiver without the latter being involved during the payment.",[34,100985,100986,100987,100990,100991,100994],{},"Previously we described such a scheme that allowed one-side payments, which demanded our extension to MW which we called ",[100,100988,100989],{},"kernel fusion",". The idea was that the receiver prepares in advance its UTXO + kernel that compensates for its blinding factor. Then in order to pay the sender creates a transaction with this UTXO appended, and another kernel ",[100,100992,100993],{},"fused"," with that given by the receiver. The drawback of this scheme is that it was possible to transfer fixed values only (that corresponded to the prepared UTXOs).",[34,100996,100997,100998,101001],{},"Here we describe a scheme without this drawback, i.e. where the sender can transfer any amount to the receiver.\nThe idea is to ",[100,100999,101000],{},"fuse"," UTXOs rather than kernel. The receiver should prepare the UTXO only partially, then the sender would finalize it to accomplish the payment.",[11,101003,101005],{"id":101004},"detailed-description","Detailed description",[34,101007,101008,101009,101012,101013,101015,101016,101019],{},"The UTXO is redefined, and may optionally contain an ",[100,101010,101011],{},"extra excess",", which is an arbitrary EC point with the Schnorr's signature that proves there's no value hidden (similar to kernel). So that when the UTXO signature (bulletproof) is created - it signs the visible UTXO Commitment minus the ",[100,101014,101011],{},", however this ",[100,101017,101018],{},"excess"," is accounted for in the signature, so that it's not possible to remove it (this is the fusion).",[34,101021,101022],{},"The receiver picks an arbitrary excess, signs both this excess and the kernel that would compensate for it. In addition it picks the KDF (key deviation function) parameters.",[11,101024,101026],{"id":101025},"comparison-of-both-schemes","Comparison of both schemes",[34,101028,101029],{},"Kernel fusion\n*",{"title":14,"searchDepth":15,"depth":15,"links":101031},[],{},"\u002Fdocs\u002Fcore-tech\u002Fone-side-payments-(take-2)-deprecated",{"title":91647,"description":100983},"docs\u002Fcore-tech\u002FOne-side-payments-(take-2)---DEPRECATED","_A6Iox9cT5zMO5OVvpilNIFFHalUX3o6VYwhgAscVqw",{"id":101038,"title":101039,"body":101040,"description":101047,"extension":17,"image":18,"meta":101105,"navTitle":18,"navigation":20,"path":101106,"seo":101107,"stem":101108,"__hash__":101109},"docs\u002Fdocs\u002Fcore-tech\u002FOut-of-sync-wallets.md","Out of sync wallets",{"type":8,"value":101041,"toc":101101},[101042,101045,101048,101054,101062,101066,101069,101080,101084,101087],[11,101043,101039],{"id":101044},"out-of-sync-wallets",[34,101046,101047],{},"This document describes scenarios of transferring beams between wallets which are not in sync with node or syncing is in progress.",[34,101049,101050,101051,101053],{},"Beam is decentralized system, as a result wallet and node cannot be 100% confident about their current state. Is their last known block real tip of the chain or not? - the question wallet and node are trying to resolve through their life.",[4953,101052],{},"\nIn these circumstances, wallets may communicate with each other being on different heights of the chain. In general, this is not a problem if these wallets will come out with a valid transaction which will be accepted by the node. But there are some possibilities to create invalid transaction in this case:",[852,101055,101056,101059],{},[59,101057,101058],{},"sender has selected outdated (or spent) UTXO for transaction (possible reasons: wallet clones)",[59,101060,101061],{},"transaction kernel max height is less than current chain tip height. For this case there are following scenarios:",[41,101063,101065],{"id":101064},"old-wallets-204431","Old wallets (\u003C= 2.0.4431)",[34,101067,101068],{},"In this version the sender sets min and max height of the kernel.",[852,101070,101071,101074,101077],{},[59,101072,101073],{},"if sender is in sync whereas receiver is out-of-sync the kernel's height will be correct, receiver will simply accept the transaction and sender will send it to the node.",[59,101075,101076],{},"if sender is out-of-sync and its known tip height is significantly less than current chain's height, then it will create kernel which will be rejected by the node and transaction will be failed.",[59,101078,101079],{},"if sender is out-of-sync and the difference in height with the chain is less than transaction lifetime (default lifetime is 120 blocks it should be roughly equal 2h), then new transaction probably will be accepted by the node.",[41,101081,101083],{"id":101082},"new-wallets-204431","New wallets (> 2.0.4431)",[34,101085,101086],{},"Starting from this version min and max height are set by receiver. If receiver got invitation to transaction it makes kernel's max height as currently known height + lifetime (120 block by default). Sender checks that this height is valid from his known height and sends transaction to the node.",[852,101088,101089,101092,101095,101098],{},[59,101090,101091],{},"if sender is in sync and receiver is out-of-sync and its known height is far below sender's (more than lifetime of transaction), then transaction will be failed by sender.",[59,101093,101094],{},"if sender is out-of-sync, but receiver is in sync and its known height is far above sender's, then transaction will be failed by sender.",[59,101096,101097],{},"if both sender and receiver are out-of-sync and kernel's maximum height is below than current chain height, then transaction will be failed by the node",[59,101099,101100],{},"in other cases, kernel with valid range of heights should be created and, as a result, it should most likely be accepted by the node",{"title":14,"searchDepth":15,"depth":15,"links":101102},[101103,101104],{"id":101064,"depth":15,"text":101065},{"id":101082,"depth":15,"text":101083},{},"\u002Fdocs\u002Fcore-tech\u002Fout-of-sync-wallets",{"title":101039,"description":101047},"docs\u002Fcore-tech\u002FOut-of-sync-wallets","0Bk_Beegg2Yyzx7ZdYj8FwE3XwuY6BRz35KyIES7ELc",{"id":101111,"title":101112,"body":101113,"description":101117,"extension":17,"image":18,"meta":101426,"navTitle":18,"navigation":20,"path":101427,"seo":101428,"stem":101429,"__hash__":101430},"docs\u002Fdocs\u002Fcore-tech\u002FPayment-confirmation-(proof).md","Payment Confirmation (proof)",{"type":8,"value":101114,"toc":101416},[101115,101118,101122,101125,101136,101140,101146,101155,101164,101166,101172,101175,101179,101185,101193,101200,101202,101205,101216,101223,101229,101233,101243,101246,101268,101271,101274,101278,101281,101300,101303,101339,101343],[34,101116,101117],{},"Before describing the Payment confirmation - some basic definitions, concepts and disambiguations.",[41,101119,101121],{"id":101120},"coins-transactions-kernels-and-bbs-addresses","Coins, Transactions, Kernels and BBS addresses",[34,101123,101124],{},"In MW there are no addresses, and all the UTXOs (i.e. coins) look like random EC points, no public info that can bind a specific UTXO to a user.",[34,101126,101127,101128,101135],{},"Upon initialization the wallet either generates a secret 12-word phrase, or is given it explicitly (in case of restore). It is used to derive the ",[9352,101129,101130],{},[37,101131,101132],{},[100,101133,101134],{},"Master Secret"," - the root secret key, used to generate all other secret objects.",[48,101137,101139],{"id":101138},"utxos","UTXOs",[34,101141,101142,101143,101145],{},"In Beam UTXOs are created by the wallet using its ",[100,101144,101134],{},", and they are signed in a special way, by which the wallet can identify them in the blockchain, whereas for others they are indistinguishable.",[34,101147,101148,101150,101151,101154],{},[9352,101149,9770],{},": when your wallet receives a payment from another one - your resulting UTXO is created by ",[9352,101152,101153],{},"your"," wallet, not by the sender.",[34,101156,101157,101158,101161,101162,181],{},"This means that by scanning the blockchain you can ",[37,101159,101160],{},"always"," recover all your UTXOs that are unspent yet. It doesn't matter how the transaction was negotiated, which BBS address was used. UTXOs can always be identified with the ",[100,101163,101134],{},[48,101165,14332],{"id":90645},[34,101167,101168,101169,101171],{},"In MW parties must negotiate to build a valid transaction. Upon successful negotiation they build and then broadcast a valid transaction, that consumes some of their UTXOs (inputs), produces new UTXOs (outputs), and a ",[100,101170,89149],{}," (more about it later).",[34,101173,101174],{},"In Beam transactions are negotiated via (S)BBS - secure message exchange system.",[48,101176,101178],{"id":101177},"bbs-address","BBS address",[34,101180,101181,101182,101184],{},"In order to negotiate parties generate at least one ",[100,101183,101178],{},". It consists of the following:",[852,101186,101187,101190],{},[59,101188,101189],{},"Channel number",[59,101191,101192],{},"Public Key",[34,101194,101195,101196,101199],{},"In order to send a BBS message to an address one uses the Public Key to encrypt the message, and then this message is broadcasted on the specified channel and replicated in all the Nodes. There is an E2E encryption, no info about to\u002Ffrom is leaked as well, and it's only possible to decrypt with the appropriate ",[9352,101197,101198],{},"Private Key"," of the BBS address.",[48,101201,95882],{"id":25359},[34,101203,101204],{},"Each transaction produces a transaction kernel (one or more), which has the following properties:",[56,101206,101207,101210,101213],{},[59,101208,101209],{},"It's co-signed by all the transaction parties (the sender and the receiver in a simple payment transaction). Both must cooperate.",[59,101211,101212],{},"It's practically unique. There is no feasible way to craft the same valid kernel without the cooperation of all the parties.",[59,101214,101215],{},"Unlike UTXOs it can't be consumed, hence it's guaranteed to stay in the blockchain.",[34,101217,101218,101219,101222],{},"So, the ",[9352,101220,101221],{},"kernel in the blockchain is the only reliable indicator of the transaction",". The even presence of it in the blockchain unambiguously tells the transaction took place, whereas its absence means the opposite. So all the transaction parties can monitor the blockchain (or ask for a proof from an arbitrary node) to see if\u002Fwhen the transaction takes place.",[34,101224,101225,101226,181],{},"However in case of a dispute the ",[9352,101227,101228],{},"receiver can deny any relation to this transaction",[11,101230,101232],{"id":101231},"payment-confirmation","Payment confirmation",[34,101234,6547,101235,101238,101239,101242],{},[100,101236,101237],{},"Payment Confirmation"," is a cryptographic proof, using which the sender should be able to convince a 3",[8009,101240,101241],{},"rd"," party that the receiver actually received the payment.",[34,101244,101245],{},"It's a message, signed by the receiver, that he\u002Fshe accepts the payment. It includes the following:",[852,101247,101248,101251,101257,101263],{},[59,101249,101250],{},"Value to-be-received",[59,101252,101253,101256],{},[611,101254,101255],{},"KernelID"," - the unique identifier of the kernel of the transaction",[59,101258,101259,101262],{},[611,101260,101261],{},"SenderID"," - The Public Key of the sender BBS address",[59,101264,101265,101267],{},[611,101266,8759],{}," - The Schnorr's signature of this message, signed by the Private Key of the receiver BBS address.",[34,101269,101270],{},"During the transaction negotiation, before the sender completes its part of the kernel signature, the receiver is expected to sign the Payment confirmation. Without it the sender will not collaborate, and the transaction negotiation fails with \"no payment confirmation\" error (unless unconfirmed payments are enabled, please see remarks for more info).",[34,101272,101273],{},"Upon successful negotiation - the Payment confirmation is stored within the sender wallet, and can be exported and then validated by everyone.",[41,101275,101277],{"id":101276},"dispute-what-should-be-presentedassumed","Dispute - what should be presented\u002Fassumed?",[34,101279,101280],{},"In case the transaction actually took place whereas the receiver denies it - the following should be presented:",[852,101282,101283,101297],{},[59,101284,101285,101286],{},"Proof of the kernel with the specified KernelID in the blockchain.\n",[852,101287,101288,101291,101294],{},[59,101289,101290],{},"Can be discovered via blockchain explorer.",[59,101292,101293],{},"It's also possible to get a cryptographic proof of inclusion this kernel in a specific parent block of the current tip.",[59,101295,101296],{},"Since blocks also include the Timestamp - it's also an indication of when the transaction took place.",[59,101298,101299],{},"Payment confirmation.",[34,101301,101302],{},"The following is assumed:",[852,101304,101305,101316],{},[59,101306,101307,101308],{},"The receiver BBS address (Private key of which was used to sign the Payment confirmation) indeed belongs to the receiver\n",[852,101309,101310,101313],{},[59,101311,101312],{},"This is usually the case for automated payment systems, where a user registers via a website, and defines its BBS address for payments.",[59,101314,101315],{},"For regular P2P payments the sender should consider how it'd bind the specific user to its BBS address. Perhaps some documentation or message history should be kept.",[59,101317,101318,101319],{},"The sender BBS address indeed belongs to the sender\n",[852,101320,101321,101324],{},[59,101322,101323],{},"The receiver may claim that this specific transaction was from someone else",[59,101325,101326,101327,101330,101331],{},"The sender theoretically ",[37,101328,101329],{},"can"," prove that the sender address belongs to him\u002Fher by proving that he\u002Fshe has the appropriate private key.\n",[852,101332,101333,101336],{},[59,101334,101335],{},"A naive non-interactive scheme (like the one used by the receiver) is inappropriate, because it's prone to the MITM attack.",[59,101337,101338],{},"Right now the appropriate interactive scheme isn't implemented yet. But it will be in the near future.",[41,101340,101342],{"id":101341},"remarks","Remarks",[852,101344,101345,101367,101378,101397],{},[59,101346,101347,101348],{},"Initially released wallet didn't support the payment confirmations.\n",[852,101349,101350,101357],{},[59,101351,101352,101353,101356],{},"To be backward-compatible, the newer wallet by default ",[37,101354,101355],{},"will"," send a payment to the older one, without confirmation.",[59,101358,101359,101360],{},"This can be prevented, by explicitly configuring it to disallow unconfirmed payments.\n",[852,101361,101362],{},[59,101363,101364],{},[611,101365,101366],{},"beam-wallet --payment_proof_required=1",[59,101368,101369,101370],{},"During wallet restore - only the unspent UTXOs are recovered.\n",[852,101371,101372,101375],{},[59,101373,101374],{},"Neither transaction info, nor Payment confirmations can be recovered if they are lost",[59,101376,101377],{},"It's important to back-up the wallet",[59,101379,101380,101381],{},"Exporting the Payment confirmation:\n",[852,101382,101383,101388,101394],{},[59,101384,101385],{},[611,101386,101387],{},"beam-wallet payment_proof_export --tx_id=\u003Ctx_id>",[59,101389,101390,101393],{},[611,101391,101392],{},"\u003Ctx_id>"," is the internal transaction ID",[59,101395,101396],{},"Upon success the payment confirmation summary will be printed, as well as the appropriate text-encoded (base-64) message, including all the relevant data and the signature, that can be copied and verified within an arbitrary wallet.",[59,101398,101399,101400],{},"Verifying the Payment confirmation:\n",[852,101401,101402,101407,101413],{},[59,101403,101404],{},[611,101405,101406],{},"beam-wallet payment_proof_verify --payment_proof=\u003Cmessage>",[59,101408,101409,101412],{},[611,101410,101411],{},"\u003Cmessage>"," is the exported text-encoded message.",[59,101414,101415],{},"The message will be parsed, signature verified, and upon success - the Payment confirmation details will be printed.",{"title":14,"searchDepth":15,"depth":15,"links":101417},[101418,101424,101425],{"id":101120,"depth":15,"text":101121,"children":101419},[101420,101421,101422,101423],{"id":101138,"depth":154,"text":101139},{"id":90645,"depth":154,"text":14332},{"id":101177,"depth":154,"text":101178},{"id":25359,"depth":154,"text":95882},{"id":101276,"depth":15,"text":101277},{"id":101341,"depth":15,"text":101342},{},"\u002Fdocs\u002Fcore-tech\u002Fpayment-confirmation-(proof)",{"description":101117},"docs\u002Fcore-tech\u002FPayment-confirmation-(proof)","mir_OkVIeqhZJ-eGE301135u2Jhmhsa2rEJz5WvS-Hw",{"id":101432,"title":101433,"body":101434,"description":101438,"extension":17,"image":18,"meta":101489,"navTitle":18,"navigation":20,"path":101490,"seo":101491,"stem":101492,"__hash__":101493},"docs\u002Fdocs\u002Fcore-tech\u002FProgramming-Beam.md","Programming Beam",{"type":8,"value":101435,"toc":101487},[101436,101439,101442,101449,101452],[34,101437,101438],{},"The following series of articles starts the documentation process for Beam project.",[34,101440,101441],{},"Beam is a Mimblewimble implementation done from scratch in the C++ programming language.",[34,101443,101444],{},[175,101445,101448],{"href":101446,"rel":101447},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FProgramming-Beam-Terms-and-Concepts",[179],"Key Terms and Concepts",[34,101450,101451],{},"Beam project can be divided into the following logical modules:",[56,101453,101454,101464,101476,101481],{},[59,101455,101456,101459,101460,181],{},[175,101457,101458],{"href":14},"P2P and networking",". A lower level implementation of the communication mechanisms. There are several different types of communications: Node2Node, Node2Wallet and Wallet2Wallet. The implementation of the P2P infrastructure can be found ",[175,101461,1248],{"href":101462,"rel":101463},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmaster\u002Fp2p",[179],[59,101465,101466,101469,101470,101475],{},[175,101467,101468],{"href":14},"Cryptography and Core elements",". All cryptographic primitives and necessary building blocks are implemented in the ",[175,101471,101474],{"href":101472,"rel":101473},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmaster\u002Fcore",[179],"core"," of the project",[59,101477,101478],{},[175,101479,101480],{"href":14},"Beam Node",[59,101482,101483],{},[175,101484,1724],{"href":101485,"rel":101486},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FProgramming-Beam-Wallet",[179],{"title":14,"searchDepth":15,"depth":15,"links":101488},[],{},"\u002Fdocs\u002Fcore-tech\u002Fprogramming-beam",{"description":101438},"docs\u002Fcore-tech\u002FProgramming-Beam","C5u43Dgik1RJGq6WoPB0u9arni-zY7hW6cVh1U8HjIU",{"id":101495,"title":101496,"body":101497,"description":14,"extension":17,"image":18,"meta":101691,"navTitle":18,"navigation":20,"path":101692,"seo":101693,"stem":101694,"__hash__":101695},"docs\u002Fdocs\u002Fcore-tech\u002FProgramming-Beam-Terms-and-Concepts.md","Programming Beam Terms And Concepts",{"type":8,"value":101498,"toc":101674},[101499,101504,101507,101509,101512,101515,101524,101526,101539,101543,101546,101548,101557,101561,101574,101576,101583,101587,101596,101600,101603,101605,101623,101627,101630,101633,101642,101646,101656,101660,101663,101665],[11818,101500,101501],{},[34,101502,101503],{},"The following document is still under construction and is subject to changes",[34,101505,101506],{},"This page presents a list of terms and concepts used in Beam code",[48,101508,739],{"id":738},[34,101510,101511],{},"In Mimblewimble, unlike most other cryptocurrencies there are no addresses stored in the blockchian. However the Wallets still should be able to communicate to interactively create a transaction. Which is why in Beam, we provide the Secure Bulletin Board System (SBBS ) which allows wallets to send encrypted messages to each other via Beam Nodes. In SBBS=, each wallet is identified by one or more SBBS Addresses. Each Address is represented by a private\u002Fpublic key pair. All addreses are derived from the seed phrase, using a separate key chain, and are only stored in the wallet (not on the blockchain)",[48,101513,9658],{"id":101514},"atomic-swap",[34,101516,101517,101518,101523],{},"Atomic Swap is an algorithm that allows to exchange value between two independent blockchains (for example Bitcoin and Beam) without having to rely on a centralized entity, such as exchange or any of the parties participating in the exchange. Atomic Swap is based on an ability to lock funds using Hash and Time Lock Contracts (",[175,101519,101522],{"href":101520,"rel":101521},"https:\u002F\u002Fen.bitcoin.it\u002Fwiki\u002FHash_Time_Locked_Contracts",[179],"HTLC"," ) on both chains.",[48,101525,824],{"id":823},[34,101527,101528,101529,101532,101533,101538],{},"Each UTXO, though confidential, should be a representation of a positive value. Creating negative coins could break the protocol and allow for arbitrary inflation. To prove that value is positive without revealing the value itself, Beam uses an implementation of the non interactive zero knowledge proof algorithm knows as ",[175,101530,824],{"href":14161,"rel":101531},[179],". Beam is using its own ",[175,101534,101537],{"href":101535,"rel":101536},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fcore\u002Fecc_bulletproof.cpp",[179],"implementation"," of Bulletproofs.",[48,101540,101542],{"id":101541},"coin","Coin",[34,101544,101545],{},"Internal representation of the single commitment for specific value in Beam Wallet. In reality, key id and value are stored and the actual blinding factors are generated each time. More detailed explanation on this structure is provided below",[48,101547,952],{"id":951},[34,101549,101550,101551,101556],{},"An improvement of the basic P2P layer 'gossip' style protocol ",[175,101552,101555],{"href":101553,"rel":101554},"https:\u002F\u002Farxiv.org\u002Fabs\u002F1805.11060",[179],"whitepaper"," making tracing of transaction source much more difficult through introduction of two phase transaction propagation. In 'Stem' phase, the transaction is sent through a series of random peers, during which each peer decides with a given probability whether to continue the 'Stem' or whether to 'Fluff'. In 'Fluff' phrase the transaction is broadcast to all known peers, effectively falling back to 'gossip' for transaction propagation.",[48,101558,101560],{"id":101559},"elliptic-curve","Elliptic Curve",[34,101562,101563,101564,101568,101569],{},"Beam makes heavy use of ",[175,101565,1002],{"href":101566,"rel":101567},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FElliptic-curve_cryptography",[179],". Beam uses the ",[175,101570,101573],{"href":101571,"rel":101572},"https:\u002F\u002Fen.bitcoin.it\u002Fwiki\u002FSecp256k1",[179],"same curve as Bitcoin",[48,101575,1047],{"id":1046},[34,101577,101578,101579,181],{},"Beam uses Equihash Proof of Work mining algorithm. ",[175,101580,10412],{"href":101581,"rel":101582},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FEquihash",[179],[48,101584,101586],{"id":101585},"fly-client","Fly Client",[34,101588,101589,101590],{},"In Beam implementation FlyClient protocol (located in project core) provides an abstraction for communication with either 'own' node and 'untrusted' node and hides implementation details from the Wallet. ",[6995,101591,98,101592],{},[175,101593,101537],{"href":101594,"rel":101595},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fcore\u002Ffly_client.h",[179],[48,101597,101599],{"id":101598},"kidf","KIDF",[34,101601,101602],{},"Hierarchical key generator that allows to create new private and public keys from the master secret, generated from the seed_phrase and specific key index.",[48,101604,1256],{"id":1255},[34,101606,101607,101611,101612,101617,101618,101622],{},[175,101608,1256],{"href":101609,"rel":101610},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMerkle_tree",[179]," is a data structure representing a binary tree in which each non leaf node holds a cryptographic hash or the child nodes and which provides an efficient way to prove that a certain element is present in the tree in logarithmic time. In Beam, Merkle Tree is based on a ",[175,101613,101616],{"href":101614,"rel":101615},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fcore\u002Fradixtree.h",[179],"Radix tree",", in which the order of nodes is independent of the order in which the values were entered into the tree. Beam ",[175,101619,101537],{"href":101620,"rel":101621},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fcore\u002Fmerkle.h",[179]," uses generalized concept of Merkle Mountain Range, which can be seen as a collection fo Merkle Trees",[48,101624,101626],{"id":101625},"own-node","Own node",[34,101628,101629],{},"Beam wallet has two key modes of operation one with 'own' (trusted) node and one with 'untrusted' node. Regardless whether local or remote, the 'own' node knows the 'owner key' which is generated from the seed phrase and is used to tag specific UTXOs that belong to the wallet. In this case the node is considered trusted and the information received from it is treated accordindly. In case of the untrusted node, Beam Wallet employ the protocol called ChainWork (an implementation of the FlyClient idea by Benedict Bunz) which implements compact and reliable way of validation the information sent by the Node.",[48,101631,101632],{"id":93912},"Peer",[34,101634,101635,101636,101641],{},"In the context of Node to Node communications, each node is a Peer for all others. Node stores and manages the list of Peers it is currently connected to and uses this list to propagate transactions and blocks. ",[175,101637,101640],{"href":101638,"rel":101639},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fcore\u002Fpeer_manager.h",[179],"Peer Manager"," implements the logic of rating Peers and preferring those that are quicker to respond and provide valid information.",[48,101643,101645],{"id":101644},"sbbs","SBBS",[34,101647,101648,101649],{},"SBBS stands for Secure Bulletin Board System and provides an infrastructure for sending secure and encrypted messages between Beam Wallets to create a transaction. SBBS is part of the Beam Node. Each Address in the SBBS represents a private \u002F public key pair used for encrypting the messages. Each wallet listens to a number of SBBS channels, derived from the Address to reduce the load on the wallet ",[6995,101650,98,101651],{},[175,101652,101655],{"href":101653,"rel":101654},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fcore\u002Fproto.h",[179],"protocol",[48,101657,101659],{"id":101658},"seed-phrase","Seed Phrase",[34,101661,101662],{},"This is the most secret key generated from the 12 word seed phrase. Using the seed phrase only it is always possible to reconstruct the entire UTXO set directly from the blockchain. In fact, this is the only information that can be extracted from the blockchain, all the other data including transaction history should be stored locally in the wallet.",[48,101664,89267],{"id":89266},[34,101666,101667,101668],{},"In Mimblewimble transaction is created by both Sender and Receiver wallets and in its simplest form describes exchange of certain value between two (or more) participants. Unlike most other blockchains, transactions are actually meaningless in the context of the blockchain itself. They are however important in the context of the wallet. ",[6995,101669,98,101670],{},[175,101671,101537],{"href":101672,"rel":101673},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fwallet\u002Fbase_transaction.h",[179],{"title":14,"searchDepth":15,"depth":15,"links":101675},[101676,101677,101678,101679,101680,101681,101682,101683,101684,101685,101686,101687,101688,101689,101690],{"id":738,"depth":154,"text":739},{"id":101514,"depth":154,"text":9658},{"id":823,"depth":154,"text":824},{"id":101541,"depth":154,"text":101542},{"id":951,"depth":154,"text":952},{"id":101559,"depth":154,"text":101560},{"id":1046,"depth":154,"text":1047},{"id":101585,"depth":154,"text":101586},{"id":101598,"depth":154,"text":101599},{"id":1255,"depth":154,"text":1256},{"id":101625,"depth":154,"text":101626},{"id":93912,"depth":154,"text":101632},{"id":101644,"depth":154,"text":101645},{"id":101658,"depth":154,"text":101659},{"id":89266,"depth":154,"text":89267},{},"\u002Fdocs\u002Fcore-tech\u002Fprogramming-beam-terms-and-concepts",{"description":14},"docs\u002Fcore-tech\u002FProgramming-Beam-Terms-and-Concepts","a2lZ3VPmOW_AvZVFYeGwt4GCSgrXi3c9oCVWwKpXMlg",{"id":101697,"title":101698,"body":101699,"description":14,"extension":17,"image":18,"meta":101779,"navTitle":18,"navigation":20,"path":101780,"seo":101781,"stem":101782,"__hash__":101783},"docs\u002Fdocs\u002Fcore-tech\u002FProgramming-Beam-Wallet.md","Programming Beam Wallet",{"type":8,"value":101700,"toc":101775},[101701,101705,101709,101712,101720,101723,101737,101741,101744,101772],[11818,101702,101703],{},[34,101704,101503],{},[41,101706,101708],{"id":101707},"key-differences-of-mimblewimble-wallets","Key Differences of Mimblewimble Wallets",[34,101710,101711],{},"Since Beam is an implementation of the Mimblewimble protocol, it has all the nuances that are specific to this protocol and have a huge impact on the wallet architecture, making it very different in comparison to most existing cryptocurrencies. Such changes include:",[56,101713,101714,101717],{},[59,101715,101716],{},"Not all the information can be extracted from the blockchain. In fact, only the UTXOs are stored in the blockchain, hence all additional information regarding transactions, addresses etc... has to be locally stored in the wallet.",[59,101718,101719],{},"Transaction is created interactively by both the sender and the receiver. Hence, a state machine and communication model is required between two wallets, a problem which does not exist in Bitcoin and most other cryprocurrencies where transaction can be created by a single wallet and immediately sent to the network.",[34,101721,101722],{},"This means that Beam Wallet has several different responsibilities:",[56,101724,101725,101728,101731,101734],{},[59,101726,101727],{},"Storing and managing the list of Coins (UTXO set)",[59,101729,101730],{},"Storing and managing SBBS Addresses (described below) for communication between wallets",[59,101732,101733],{},"Allow wallet to wallet (W2W) communications and interactive creation of new transactions",[59,101735,101736],{},"Handle wallet to node (W2N) communications, send transactions to the node, request proofs for kernels and UTXOs and process blockchain updates and manage transaction and Coin state",[41,101738,101740],{"id":101739},"wallet-code-structure-and-high-level-architecture","Wallet Code Structure and High Level Architecture",[34,101742,101743],{},"Beam Wallet has the following conceptual modules (located in the wallet folder)",[852,101745,101746,101750,101757,101763,101767],{},[59,101747,101748],{},[175,101749,101474],{"href":14},[59,101751,101752],{},[175,101753,101756],{"href":101754,"rel":101755},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-Wallet-Database",[179],"database",[59,101758,101759],{},[175,101760,90645],{"href":101761,"rel":101762},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FProgramming-Beam-Wallet-Transactions",[179],[59,101764,101765],{},[175,101766,1521],{"href":14},[59,101768,101769],{},[175,101770,101771],{"href":14},"wallet_client",[34,101773,101774],{},"The structure of the files and folders is currently being refactored to match the structure described above",{"title":14,"searchDepth":15,"depth":15,"links":101776},[101777,101778],{"id":101707,"depth":15,"text":101708},{"id":101739,"depth":15,"text":101740},{},"\u002Fdocs\u002Fcore-tech\u002Fprogramming-beam-wallet",{"description":14},"docs\u002Fcore-tech\u002FProgramming-Beam-Wallet","nC1qvcahLfnlypOPXaqM9EgmQCPE66psU8vpi6sZzw8",{"id":101785,"title":101786,"body":101787,"description":101791,"extension":17,"image":18,"meta":102099,"navTitle":18,"navigation":20,"path":102100,"seo":102101,"stem":102102,"__hash__":102103},"docs\u002Fdocs\u002Fcore-tech\u002FProgramming-Beam-Wallet-Transactions.md","Programming Beam Wallet Transactions",{"type":8,"value":101788,"toc":102085},[101789,101792,101794,101797,101804,101815,101819,101828,101838,101841,101884,101894,101897,101911,101915,101922,101932,101935,101939,101942,102063,102073,102080,102083],[34,101790,101791],{},"This section describes the structure of Beam transactions. Transactions are created and managed locally in the Beam wallet.",[41,101793,10460],{"id":10459},[34,101795,101796],{},"Transactions are defined and stored in the database as a set of transaction parameters, thus allowing a lot of flexibility.",[34,101798,101799,101800],{},"The complete list of transaction parameters is defined ",[175,101801,1248],{"href":101802,"rel":101803},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fedf0bb8a16626f6e1160bc09a7af4e0a40adb813\u002Fwallet\u002Fcommon.h#L226",[179],[34,101805,101806,101807,101810,101811,101814],{},"Transaction parameters are divided into two groups. ",[37,101808,101809],{},"Public"," parameters can be set during the interaction between wallets. Once public parameter is set, it can not be changed. ",[37,101812,101813],{},"Private"," parameters, can be set and reset at any time within the wallet and are not sent outside the wallet. The reason for this separation is to maintain a clear distinction between the parameters that are revealed to or received from the other wallet and can thus irreversibly affect the state of negotiation between the wallets creating the transaction.",[41,101816,101818],{"id":101817},"transaction-id","Transaction id",[34,101820,101821,101822,101827],{},"TxID, ",[175,101823,101826],{"href":101824,"rel":101825},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fedf0bb8a16626f6e1160bc09a7af4e0a40adb813\u002Fwallet\u002Fcommon.h#L37",[179],"defined here"," is the unique id of the transaction",[41,101829,101831,101832],{"id":101830},"itransaction-interface-definition","ITransaction interface ",[6995,101833,98,101834],{},[175,101835,14358],{"href":101836,"rel":101837},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fedf0bb8a16626f6e1160bc09a7af4e0a40adb813\u002Fwallet\u002Fbase_transaction.h#L28",[179],[34,101839,101840],{},"Defines basic set of operations for each transaction, Update, Cancel and Rollback",[616,101842,101844],{"className":14362,"code":101843,"language":14364,"meta":14,"style":14},"struct ITransaction\n    {\n        using Ptr = std::shared_ptr\u003CITransaction>;\n        virtual TxType GetType() const = 0;\n        virtual void Update() = 0;\n        virtual void Cancel() = 0;\n        virtual bool Rollback(Height height) = 0;\n    };\n\n",[611,101845,101846,101851,101855,101860,101865,101870,101875,101880],{"__ignoreMap":14},[6995,101847,101848],{"class":244,"line":6997},[6995,101849,101850],{},"struct ITransaction\n",[6995,101852,101853],{"class":244,"line":15},[6995,101854,7537],{},[6995,101856,101857],{"class":244,"line":154},[6995,101858,101859],{},"        using Ptr = std::shared_ptr\u003CITransaction>;\n",[6995,101861,101862],{"class":244,"line":7033},[6995,101863,101864],{},"        virtual TxType GetType() const = 0;\n",[6995,101866,101867],{"class":244,"line":7044},[6995,101868,101869],{},"        virtual void Update() = 0;\n",[6995,101871,101872],{"class":244,"line":7107},[6995,101873,101874],{},"        virtual void Cancel() = 0;\n",[6995,101876,101877],{"class":244,"line":7120},[6995,101878,101879],{},"        virtual bool Rollback(Height height) = 0;\n",[6995,101881,101882],{"class":244,"line":7133},[6995,101883,14592],{},[41,101885,101887,101888],{"id":101886},"basetransaction-definition","BaseTransaction ",[6995,101889,98,101890],{},[175,101891,14358],{"href":101892,"rel":101893},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fedf0bb8a16626f6e1160bc09a7af4e0a40adb813\u002Fwallet\u002Fbase_transaction.h#L55",[179],[34,101895,101896],{},"Implements the ITransaction interface and provides the state machine for creation of transactions. Constructor for BaseTransaction receives three parameters:",[616,101898,101900],{"className":14362,"code":101899,"language":14364,"meta":14,"style":14},"\nBaseTransaction(INegotiatorGateway& gateway, beam::IWalletDB::Ptr walletDB, const TxID& txID);\n\n",[611,101901,101902,101906],{"__ignoreMap":14},[6995,101903,101904],{"class":244,"line":6997},[6995,101905,14371],{"emptyLinePlaceholder":20},[6995,101907,101908],{"class":244,"line":15},[6995,101909,101910],{},"BaseTransaction(INegotiatorGateway& gateway, beam::IWalletDB::Ptr walletDB, const TxID& txID);\n",[41,101912,101914],{"id":101913},"basetxbuilder","BaseTxBuilder",[34,101916,101917,101918,181],{},"This class encapsulates all the methods necessary for transaction creation following the protocol described ",[175,101919,1248],{"href":101920,"rel":101921},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FTransaction-creation-protocol",[179],[41,101923,101925,101926],{"id":101924},"inegotiatorgateway-definition","INegotiatorGateway ",[6995,101927,98,101928],{},[175,101929,14358],{"href":101930,"rel":101931},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fedf0bb8a16626f6e1160bc09a7af4e0a40adb813\u002Fwallet\u002Fcommon.h#L409",[179],[34,101933,101934],{},"Negotiator Gateway provides an abstraction of the messaging between the node or another wallet during the transaction creation. The INegotiatorGateway interface is implemented by the Wallet class.",[41,101936,101938],{"id":101937},"basetransactionupdate-method","BaseTransaction::Update method",[34,101940,101941],{},"The Update method describes generic logic of asynchronous transaction update. The update logic is implemented in the UpdateImpl method described below.",[616,101943,101945],{"className":14362,"code":101944,"language":14364,"meta":14,"style":14},"\nvoid BaseTransaction::Update()\n    {\n        AsyncContextHolder async(m_Gateway);\n        try\n        {\n            if (CheckExternalFailures())\n            {\n                return;\n            }\n\n            UpdateImpl();\n\n            CheckExpired();\n        }\n        catch (const TransactionFailedException& ex)\n        {\n            LOG_ERROR() \u003C\u003C GetTxID() \u003C\u003C \" exception msg: \" \u003C\u003C ex.what();\n            OnFailed(ex.GetReason(), ex.ShouldNofify());\n        }\n        catch (const exception& ex)\n        {\n            LOG_ERROR() \u003C\u003C GetTxID() \u003C\u003C \" exception msg: \" \u003C\u003C ex.what();\n            OnFailed(TxFailureReason::Unknown);\n        }\n    }\n\n",[611,101946,101947,101951,101956,101960,101965,101970,101974,101979,101983,101988,101992,101996,102001,102005,102010,102014,102019,102023,102028,102033,102037,102042,102046,102050,102055,102059],{"__ignoreMap":14},[6995,101948,101949],{"class":244,"line":6997},[6995,101950,14371],{"emptyLinePlaceholder":20},[6995,101952,101953],{"class":244,"line":15},[6995,101954,101955],{},"void BaseTransaction::Update()\n",[6995,101957,101958],{"class":244,"line":154},[6995,101959,7537],{},[6995,101961,101962],{"class":244,"line":7033},[6995,101963,101964],{},"        AsyncContextHolder async(m_Gateway);\n",[6995,101966,101967],{"class":244,"line":7044},[6995,101968,101969],{},"        try\n",[6995,101971,101972],{"class":244,"line":7107},[6995,101973,14405],{},[6995,101975,101976],{"class":244,"line":7120},[6995,101977,101978],{},"            if (CheckExternalFailures())\n",[6995,101980,101981],{"class":244,"line":7133},[6995,101982,15683],{},[6995,101984,101985],{"class":244,"line":7146},[6995,101986,101987],{},"                return;\n",[6995,101989,101990],{"class":244,"line":7159},[6995,101991,15811],{},[6995,101993,101994],{"class":244,"line":7172},[6995,101995,14371],{"emptyLinePlaceholder":20},[6995,101997,101998],{"class":244,"line":7185},[6995,101999,102000],{},"            UpdateImpl();\n",[6995,102002,102003],{"class":244,"line":7198},[6995,102004,14371],{"emptyLinePlaceholder":20},[6995,102006,102007],{"class":244,"line":7211},[6995,102008,102009],{},"            CheckExpired();\n",[6995,102011,102012],{"class":244,"line":7220},[6995,102013,15327],{},[6995,102015,102016],{"class":244,"line":7226},[6995,102017,102018],{},"        catch (const TransactionFailedException& ex)\n",[6995,102020,102021],{"class":244,"line":7238},[6995,102022,14405],{},[6995,102024,102025],{"class":244,"line":7250},[6995,102026,102027],{},"            LOG_ERROR() \u003C\u003C GetTxID() \u003C\u003C \" exception msg: \" \u003C\u003C ex.what();\n",[6995,102029,102030],{"class":244,"line":7263},[6995,102031,102032],{},"            OnFailed(ex.GetReason(), ex.ShouldNofify());\n",[6995,102034,102035],{"class":244,"line":7275},[6995,102036,15327],{},[6995,102038,102039],{"class":244,"line":7288},[6995,102040,102041],{},"        catch (const exception& ex)\n",[6995,102043,102044],{"class":244,"line":7300},[6995,102045,14405],{},[6995,102047,102048],{"class":244,"line":7313},[6995,102049,102027],{},[6995,102051,102052],{"class":244,"line":7325},[6995,102053,102054],{},"            OnFailed(TxFailureReason::Unknown);\n",[6995,102056,102057],{"class":244,"line":7336},[6995,102058,15327],{},[6995,102060,102061],{"class":244,"line":7342},[6995,102062,7615],{},[41,102064,102066,102067,102072],{"id":102065},"simpletransaction-wallet_transactionh","SimpleTransaction ( ",[175,102068,102071],{"href":102069,"rel":102070},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fedf0bb8a16626f6e1160bc09a7af4e0a40adb813\u002Fwallet\u002Fwallet_transaction.h#L1",[179],"wallet_transaction.h"," )",[34,102074,102075,102076,102079],{},"SimpleTransaction extends BaseTransaction and provides an implementation of the basic confidential transaction between two wallets. The key part of the implementation is the ",[611,102077,102078],{},"void SimpleTransaction::UpdateImpl()"," method that provides the state machine for the transaction creation logic.",[34,102081,102082],{},"\u002F\u002FTODO: Add detailed explanation for the transaction creation logic",[8692,102084,14730],{},{"title":14,"searchDepth":15,"depth":15,"links":102086},[102087,102088,102089,102091,102093,102094,102096,102097],{"id":10459,"depth":15,"text":10460},{"id":101817,"depth":15,"text":101818},{"id":101830,"depth":15,"text":102090},"ITransaction interface  definition",{"id":101886,"depth":15,"text":102092},"BaseTransaction  definition",{"id":101913,"depth":15,"text":101914},{"id":101924,"depth":15,"text":102095},"INegotiatorGateway  definition",{"id":101937,"depth":15,"text":101938},{"id":102065,"depth":15,"text":102098},"SimpleTransaction ( wallet_transaction.h )",{},"\u002Fdocs\u002Fcore-tech\u002Fprogramming-beam-wallet-transactions",{"description":101791},"docs\u002Fcore-tech\u002FProgramming-Beam-Wallet-Transactions","BSSvVzHpkIlin_bHZG-CAYy4hqtMYyXHB3ZVRIfQ5U0",{"id":102105,"title":102106,"body":102107,"description":14,"extension":17,"image":18,"meta":102272,"navTitle":18,"navigation":20,"path":102273,"seo":102274,"stem":102275,"__hash__":102276},"docs\u002Fdocs\u002Fcore-tech\u002FProposal-for-I-O-layer-and-P2P.md","Proposal For I O Layer And P2P",{"type":8,"value":102108,"toc":102265},[102109,102113,102117,102120,102162,102166,102225,102229,102240],[41,102110,102112],{"id":102111},"нынешнее-видение-по-организации-сетевого-в-тч-p2p-модуля","Нынешнее видение по организации сетевого (в т.ч. p2p) модуля",[48,102114,102116],{"id":102115},"несколько-уровней-внутри-самого-модуля","Несколько уровней внутри самого модуля",[34,102118,102119],{},"Для тестирования самое то. Код понятный, кусок логики не придется искать в других директориях. Снизу наверх:",[56,102121,102122,102125,102148],{},[59,102123,102124],{},"IO уровень: оперирует соединениями, сырыми байтами, реконнектами, таймаутами и асинхронностью (там поллинг самого общего плана)",[59,102126,102127,102128],{},"Peer уровень:",[852,102129,102130,102133,102136,102139,102142,102145],{},[59,102131,102132],{},"протокол и сериализация,",[59,102134,102135],{},"коллекция peers,",[59,102137,102138],{},"броадкасты,",[59,102140,102141],{},"персистентное хранилище, связанное с peers (пусть отдельно будет от хранилища блокчейна),",[59,102143,102144],{},"ban\u002Funban",[59,102146,102147],{},"Dandelion (да, он здесь, а не в уровне 3)",[59,102149,102150,102151],{},"Integration layer:",[852,102152,102153,102156,102159],{},[59,102154,102155],{},"фильтр и cache (это множество хешей, которые позволят не отправлять TX или блок в узел, у которого он есть, а также не отсылать в другие модули то, что им уже известно)",[59,102157,102158],{},"бридж с основной системой, т.е. формирование и трансляция запросов\u002Fответов между ней (API модулей) и уровнем 2",[59,102160,102161],{},"межпоточное взаимодействие",[48,102163,102165],{"id":102164},"основные-моменты-подробнее","Основные моменты подробнее",[56,102167,102168,102189,102206,102217],{},[59,102169,102170,102171],{},"Один поток на все вышесказанное (сетевая логика, а также уровни 2 и 3)",[852,102172,102173,102176,102179,102182],{},[59,102174,102175],{},"Тут логика, которая не требует вычислений, можно иметь очень много активных соединений, пределом может стать только сеть или память, но не cpu",[59,102177,102178],{},"Исключение: может понадобиться отдельный поток, который зипует громоздкие ответы. Пусть они асинхронно формируются по мере надобности в них",[59,102180,102181],{},"Взаимодействие с другими потоками или через очереди (если это запросы\u002Fответы) или напрямую (явно сделать, чтоб было понятно, что это константный кусок памяти). Мьютексы ставить на небольшие кусочки обновляемых данных (ну например { total_difficulty, total_height }), которые можно быстро прочитать",[59,102183,102184,102185],{},"В очередях только что-то легко копируемое или immutable data, напр. { Type type; shared_ptr",[102186,102187,102188],"const",{"tx":14}," и т.п.}",[59,102190,102191,102192],{},"Сетевое хозяйство и протокол",[852,102193,102194,102197,102200,102203],{},[59,102195,102196],{},"Ограничиваемся TCP и IPv4. Потом успеем добавить если что понадобится, а так пусть меньше сначала кода будет",[59,102198,102199],{},"В качестве библиотеки по сетевым вещам и асинхронности очень желаю libuv. Обоснование ниже.",[59,102201,102202],{},"Можно взять за основу протокол из grin, что-то убрать\u002Fдобавить проблем не составит",[59,102204,102205],{},"Dandelion: надо определиться с одной из 2х схем, прописанных в документации по grin",[59,102207,102208,102209],{},"Peers",[852,102210,102211,102214],{},[59,102212,102213],{},"Логику взять у grin, для начала",[59,102215,102216],{},"Для хранилища (не блокчейн, только для peers, оно отдельное должно быть) взять sqlite как наиболее проверенную временем штуку. Она гибкая (индексы и т.д.). Кстати, in-memory sqlite тоже хорошо себя зарекомендовало как штука для работы с табличными данными и сложными индексами. Когда\u002Fесли будут видны ограничения по performance или станет ясно, что не нужно индексирование, можно быдет подобрать key-value storage побыстрее",[59,102218,102219,102220],{},"Кэши и фильтры",[852,102221,102222],{},[59,102223,102224],{},"То же, что и у grin для начала. Можно будет какой-нибудь bloom filter попробовать, чтоб избежать ограничений, которые мы в этой части видим у grin",[48,102226,102228],{"id":102227},"доводы-в-пользу-libuv","Доводы в пользу libuv",[34,102230,102231,102232,2231,102236],{},"Оно здесь: ",[175,102233,102234],{"href":102234,"rel":102235},"http:\u002F\u002Fdocs.libuv.org\u002Fen\u002Fv1.x\u002F",[179],[175,102237,102238],{"href":102238,"rel":102239},"https:\u002F\u002Fgithub.com\u002Flibuv\u002Flibuv",[179],[852,102241,102242,102250,102253,102256,102259,102262],{},[59,102243,102244,102245,181],{},"Качественная и компактная вещь. На ней весь node.js и его асинхронность и ",[175,102246,102249],{"href":102247,"rel":102248},"https:\u002F\u002Fgithub.com\u002Flibuv\u002Flibuv\u002Fwiki\u002FProjects-that-use-libuv",[179],"много еще чего",[59,102251,102252],{},"Можно зафиксировать версию и исходники встроить в build system",[59,102254,102255],{},"У меня с ней очень положительный опыт и не один. Вообще могу всю эту часть взять на себя и гарантировать хороший результат, и быстрый, т.к. изнутри знаю, что там",[59,102257,102258],{},"Будет на несколько % медленнее самописного решения на epoll, но зато mature и не один линукс",[59,102260,102261],{},"Туда же приделывается асинхронность и таймеры, API можно вывести приличное, на std::function, например",[59,102263,102264],{},"Также можно приделать, когда понадобится, http и TLS",{"title":14,"searchDepth":15,"depth":15,"links":102266},[102267],{"id":102111,"depth":15,"text":102112,"children":102268},[102269,102270,102271],{"id":102115,"depth":154,"text":102116},{"id":102164,"depth":154,"text":102165},{"id":102227,"depth":154,"text":102228},{},"\u002Fdocs\u002Fcore-tech\u002Fproposal-for-i-o-layer-and-p2p",{"description":14},"docs\u002Fcore-tech\u002FProposal-for-I-O-layer-and-P2P","PyeLh99ua8PRVSEQCsCSuds5dl9kQ7JS4vlpDOExZPE",{"id":102278,"title":102279,"body":102280,"description":14,"extension":17,"image":18,"meta":102616,"navTitle":18,"navigation":20,"path":102617,"seo":102618,"stem":102619,"__hash__":102620},"docs\u002Fdocs\u002Fcore-tech\u002FREADME.md","README",{"type":8,"value":102281,"toc":102613},[102282,102285,102292,102304,102307,102317,102321,102328,102335,102342,102345,102351,102358,102362,102511,102515,102530,102532,102545,102549,102565,102569],[41,102283,11615],{"id":102284},"important",[34,102286,102287],{},[175,102288,102291],{"href":102289,"rel":102290},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-Fierce-Fermion-6.0-Upgrade-Guide-for-pools-and-exchanges",[179],"Upgrade guide for pools and exchanges",[34,102293,102294,102295,102299,102300],{},"In case you encounter any problem, please open a GitHub ticket at ",[175,102296,102297],{"href":102297,"rel":102298},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fissues",[179]," or email us at ",[175,102301,102303],{"href":102302},"mailto:testnet@beam.mw","testnet@beam.mw",[34,102305,102306],{},"For effective investigation please attach the following items for every issue:",[852,102308,102309,102312,102314],{},[59,102310,102311],{},"Logs, compressed into a single archive",[59,102313,91005],{},[59,102315,102316],{},"Command line parameters of the executed binary",[11,102318,102320],{"id":102319},"beam-confidential-defi-platform","Beam Confidential DeFi Platform",[34,102322,102323],{},[175,102324,102327],{"href":102325,"rel":102326},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fshader-sdk",[179],"Beam Shader SDK",[34,102329,102330],{},[175,102331,102334],{"href":102332,"rel":102333},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fshader-sdk\u002Fwiki\u002FBVM-functions-for-shaders",[179],"BVM Specifications",[34,102336,102337],{},[175,102338,102341],{"href":102339,"rel":102340},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FWASM-wallet-client",[179],"Web wallet client",[11,102343,2519],{"id":102344},"documentation",[34,102346,102347],{},[175,102348,102350],{"href":102349},"\u002Fdocs","User Guides",[34,102352,102353],{},[175,102354,102357],{"href":102355,"rel":102356},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FExchange-Pool-integration-guide",[179],"Exchange integration Guide",[11,102359,102361],{"id":102360},"specifications","Specifications",[852,102363,102364,102424,102439,102444,102450,102478,102484,102491,102497,102504],{},[59,102365,102366,102370],{},[175,102367,14172],{"href":102368,"rel":102369},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FBeam-Technical-Specifications",[179],[852,102371,102372,102378,102393,102399,102406,102413],{},[59,102373,102374],{},[175,102375,14186],{"href":102376,"rel":102377},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FCryptographic-primitives",[179],[59,102379,102380,102384],{},[175,102381,14193],{"href":102382,"rel":102383},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FMerkle-trees",[179],[852,102385,102386],{},[59,102387,102388],{},[175,102389,102392],{"href":102390,"rel":102391},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FDMMR-internal-layout",[179],"DMMR internal layout",[59,102394,102395],{},[175,102396,14209],{"href":102397,"rel":102398},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FCore-transaction-elements",[179],[59,102400,102401],{},[175,102402,102405],{"href":102403,"rel":102404},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBlocks,-headers,-system-states.-Concept,-relevant-structures-and-values",[179],"Blocks, headers, system states: concept, relevant structures and values",[59,102407,102408],{},[175,102409,102412],{"href":102410,"rel":102411},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FSystem-state-in-depth",[179],"System state in-depth",[59,102414,14226,102415],{},[852,102416,102417],{},[59,102418,102419],{},[175,102420,102423],{"href":102421,"rel":102422},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FUTXO-set,-horizons-and-cut-through",[179],"Synchronization and cut-through",[59,102425,102426,102431],{},[175,102427,102430],{"href":102428,"rel":102429},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBEAM-Mining",[179],"Beam Mining",[852,102432,102433],{},[59,102434,102435],{},[175,102436,98861],{"href":102437,"rel":102438},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FMining-Difficulty",[179],[59,102440,102441],{},[175,102442,1451],{"href":14240,"rel":102443},[179],[59,102445,102446],{},[175,102447,102449],{"href":101920,"rel":102448},[179],"Transaction creation protocol",[59,102451,102452,102457],{},[175,102453,102456],{"href":102454,"rel":102455},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FMain-wallet-entities-and-their-attributes",[179],"Wallet application: main entities and their attributes",[852,102458,102459,102465,102471],{},[59,102460,102461],{},[175,102462,101237],{"href":102463,"rel":102464},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FPayment-confirmation-(proof)",[179],[59,102466,102467],{},[175,102468,102470],{"href":96105,"rel":102469},[179],"One side payment",[59,102472,102473],{},[175,102474,102477],{"href":102475,"rel":102476},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FTransactions-with-Beam-Wallet-CLI-over-TOR-network",[179],"Transactions with Beam Wallet CLI over TOR network",[59,102479,102480],{},[175,102481,102483],{"href":102355,"rel":102482},[179],"Exchanges and Pools Integration Guide",[59,102485,102486],{},[175,102487,102490],{"href":102488,"rel":102489},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FCold-wallet-implementation",[179],"Cold Wallet Support",[59,102492,102493],{},[175,102494,14258],{"href":102495,"rel":102496},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-URI-scheme",[179],[59,102498,102499],{},[175,102500,102503],{"href":102501,"rel":102502},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FAtomic-swap-token",[179],"Token format",[59,102505,102506],{},[175,102507,102510],{"href":102508,"rel":102509},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-news-channels",[179],"News channels",[11,102512,102514],{"id":102513},"apis","APIs",[852,102516,102517,102524],{},[59,102518,102519],{},[175,102520,102523],{"href":102521,"rel":102522},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-mining-protocol-API-(Stratum)",[179],"Beam Mining API (Stratum)",[59,102525,102526],{},[175,102527,102529],{"href":84290,"rel":102528},[179],"Beam Wallet API",[11,102531,95771],{"id":9025},[852,102533,102534,102539],{},[59,102535,102536],{},[175,102537,95771],{"href":1246,"rel":102538},[179],[59,102540,102541],{},[175,102542,102544],{"href":87800,"rel":102543},[179],"Confidential Lelantus Assets",[11,102546,102548],{"id":102547},"hardware-wallet-support","Hardware Wallet Support",[852,102550,102551,102558],{},[59,102552,102553],{},[175,102554,102557],{"href":102555,"rel":102556},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FHW-wallet-requirements",[179],"Hardware Wallet Requirements",[59,102559,102560],{},[175,102561,102564],{"href":102562,"rel":102563},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FHow-to-test-Beam-with-Trezor-wallet",[179],"How to test Beam with Trezor T HW wallet",[11,102566,102568],{"id":102567},"research","Research",[852,102570,102571,102578,102585,102592,102599,102606],{},[59,102572,102573],{},[175,102574,102577],{"href":102575,"rel":102576},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FThoughts-about-eliminating-transaction-kernels",[179],"Eliminating transaction kernels",[59,102579,102580],{},[175,102581,102584],{"href":102582,"rel":102583},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FTransaction-graph-obfuscation",[179],"Transaction graph obfuscation",[59,102586,102587],{},[175,102588,102591],{"href":102589,"rel":102590},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FWallet-audit",[179],"Auditable wallet",[59,102593,102594],{},[175,102595,102598],{"href":102596,"rel":102597},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FAtomic-swap",[179],"Atomic swap",[59,102600,102601],{},[175,102602,102605],{"href":102603,"rel":102604},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FConfidential-assets",[179],"Confidential assets",[59,102607,102608],{},[175,102609,102612],{"href":102610,"rel":102611},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FLightning-Network",[179],"Laser Beam",{"title":14,"searchDepth":15,"depth":15,"links":102614},[102615],{"id":102284,"depth":15,"text":11615},{},"\u002Fdocs\u002Fcore-tech\u002Freadme",{"description":14},"docs\u002Fcore-tech\u002FREADME","v6dJOmKmccyDlciXaoOY-nGx9MIolh9sZjrmG_arinw",{"id":102622,"title":102623,"body":102624,"description":102631,"extension":17,"image":18,"meta":102703,"navTitle":18,"navigation":20,"path":102704,"seo":102705,"stem":102706,"__hash__":102707},"docs\u002Fdocs\u002Fcore-tech\u002FRescan-offline.md","Rescan offline",{"type":8,"value":102625,"toc":102701},[102626,102629,102632,102637,102642,102644,102649,102652,102663,102668,102671,102676,102679,102685,102690,102695,102698],[11,102627,102623],{"id":102628},"rescan-offline",[34,102630,102631],{},"This scenario is for cases when you don't want to stop running node and wallet and you wish to ensure if the balance is correct.",[56,102633,102634],{},[59,102635,102636],{},"Create a clone of your running wallet. This can be done by restoring the wallet from the seed",[34,102638,102639],{},[611,102640,102641],{},".\u002Fbeam_wallet restore --seed_phrase=\u003Ca;d;b>",[34,102643,10451],{},[34,102645,102646,102647,14344],{},"by copying of its ",[611,102648,3449],{},[34,102650,102651],{},"It can be done on separate machine with no internet connection.",[56,102653,102654,102657],{"start":15},[59,102655,102656],{},"Copy your running node.db. to these machine",[59,102658,102659,102660,102662],{},"Ensure that this copied node has ",[100,102661,101153],{}," owner_key. Export it from your cloned wallet",[34,102664,102665],{},[611,102666,102667],{},".\u002Fbeam_wallet export_owner_key",[34,102669,102670],{},"and launch your node",[34,102672,102673],{},[611,102674,102675],{},".\u002Fbeam_node --owner_key=\u003Ckey>",[34,102677,102678],{},"Note that this node may have no connection to internet, as a result this wallet will not accept incoming transactions.",[34,102680,102681,102684],{},[611,102682,102683],{},"Node.db"," contains the blockchain data up to the height when you did a copy of it.\nNow, with owner key node should distinguish all your transaction outputs.",[56,102686,102687],{"start":7033},[59,102688,102689],{},"Connect you cloned wallet to your offline node",[34,102691,102692],{},[611,102693,102694],{},".\u002Fbeam_wallet listen -n 127.0.0.1:10000",[34,102696,102697],{},"or if you copied existing wallet.db",[34,102699,102700],{},"`.\u002Fbeam_wallet rescan -n 127.0.0.1:10000",{"title":14,"searchDepth":15,"depth":15,"links":102702},[],{},"\u002Fdocs\u002Fcore-tech\u002Frescan-offline",{"title":102623,"description":102631},"docs\u002Fcore-tech\u002FRescan-offline","8dwDmW6wxxf0G9VE4JKBa40wpVihnLBCiV74Zjmk6bU",{"id":102709,"title":14242,"body":102710,"description":14,"extension":17,"image":18,"meta":103077,"navTitle":18,"navigation":20,"path":103078,"seo":103079,"stem":103080,"__hash__":103081},"docs\u002Fdocs\u002Fcore-tech\u002FSecure-bulletin-board-system-(SBBS).md",{"type":8,"value":102711,"toc":103072},[102712,102714,102716,102719,102723,102726,102730,102737,102757,102787,102790,102793,102812,102833,102852,102855,102858,102881,102884,102889,102898,102902,102905,102909,102912,102933,102937,102940,102954,102994,102998,103006,103014,103028,103034,103051,103056],[11,102713,14242],{"id":1450},[41,102715,10406],{"id":10405},[34,102717,102718],{},"The main goal of BBS is to allow wallets to communicate with each other in a secure and asynchronous manner. Using BBS wallets allows individuals to exchange messages, even if one of the individuals is offline. In general, BBS is a virtual board, where users can place messages, and each message is encrypted. For encryption, the public key of the recipient is used. This implies that the recipient’s public key is his address in terms of this system. Every participant who is interested in messages from this board, observes and tries to decrypt new messages with his private key, and he manages to do so only if the message has been addressed to him. It consists of server and client sides. The server is implemented as a part of the node. The client is a wallet.",[41,102720,102722],{"id":102721},"server-side","Server side",[34,102724,102725],{},"BBS is a part of our node, This implementation implies that messages are sent to n=32 channels, which can ultimately change. The channel is calculated from the public key (first 5 bits). A client has to subscribe to a specific channel, and the server will retranslate all of the new messages to subscribers. Also, the server receives and stores within the database all new messages and exchanges these messages with other servers using a P2P protocol. This logic is implemented in class Node::Peer. It represents the node’s peer and handles the node’s P2P message. BBS messages are a part of node P2P protocol.",[1898,102727,102729],{"id":102728},"bbssubscribe","BbsSubscribe",[34,102731,102732,102733,102736],{},"Message ",[611,102734,102735],{},"tp"," allows clients to subscribe\u002Funsubscribe to notifications from the node about new messages.",[852,102738,102739,102745,102751],{},[59,102740,102741,102744],{},[611,102742,102743],{},"BbsChannel m_Channel"," – channel to listen.",[59,102746,102747,102750],{},[611,102748,102749],{},"Timestamp m_TimeFrom"," – timestamp used to avoid sending of out-of-date messages.",[59,102752,102753,102756],{},[611,102754,102755],{},"bool m_On"," – subscribe\u002Funsubscribe flag.",[34,102758,102759,102760,1475,102763,102766,102767,102770,102771,102774,102775,102778,102779,102782,102783,102786],{},"When the server receives this message from the peer with ",[611,102761,102762],{},"m_On == true",[611,102764,102765],{},"Node::Peer::m_Subscriptions"," list doesn’t have it (the look up is made by channel), then the node adds a new instance of ",[611,102768,102769],{},"Node::Bbs::Subscription"," to this list and to ",[611,102772,102773],{},"Node::m_Bbs::m_Subscribed",". If the node has messages for this channel that are sent after given timestamp, then it sends them as a new ",[611,102776,102777],{},"BbsMsg"," to this subscriber. If ",[611,102780,102781],{},"m_On == false"," and a given subscriber exists in ",[611,102784,102785],{},"m_Subscriptions"," list, the node simply removes it.",[1898,102788,102777],{"id":102789},"bbsmsg",[34,102791,102792],{},"A message which is used to put an encrypted message onto the board or to exchange between nodes:",[852,102794,102795,102800,102806],{},[59,102796,102797,102799],{},[611,102798,102743],{}," – target channel.",[59,102801,102802,102805],{},[611,102803,102804],{},"Timestamp m_TimePosted"," – timestamp, when wallet has posted message to bbs.",[59,102807,102808,102811],{},[611,102809,102810],{},"ByteBuffer m_Message"," – the encrypted content.",[34,102813,102814,102815,102818,102819,102821,102822,102825,102826,102829,102830,181],{},"When this message is received, server gets current timestamp. If ",[611,102816,102817],{},"m_TimePosted"," \u003C= currentTime-24 hours, i.e. to old, or ",[611,102820,102817],{}," > currentTime + 2 hour (someone generates messages from future), then node rejects this message. If it doesn’t have this message it stores it in database, sends ",[611,102823,102824],{},"BbsHaveMsg",", to inform other peers about new bbs message, and sends ",[611,102827,102828],{},"BbsMsg ","to subscriberd interested in messages from ",[611,102831,102832],{},"m_Channel",[34,102834,102835,102836,102839,102840,102843,102844,102846,102847,102849,102850,181],{},"When this message is received, the server gets a current timestamp. If ",[611,102837,102838],{},"m_TimePosted \u003C= currentTime-24"," hours, i.e. too old, or ",[611,102841,102842],{},"m_TimePosted > currentTime + 2"," hours (someone generates messages from the future), then the node rejects this message. If it doesn’t have this message, it is stored in the database, and sent ",[611,102845,102824],{},", in order to inform other peers about new bbs message. It sends ",[611,102848,102777],{}," to subscribed interested in messages from ",[611,102851,102832],{},[1898,102853,102824],{"id":102854},"bbshavemsg",[34,102856,102857],{},"A Message which is used by BBS server (node) to exchange information about message that it has.",[852,102859,102860],{},[59,102861,102862,102865,102866,87403,102869,11342,102871,102873,102874,102877,102878,181],{},[611,102863,102864],{},"BbsMsgID m_Key"," – the message’s key. It is defined as a hash of the ",[611,102867,102868],{},"m_Message",[611,102870,102832],{},[611,102872,102777],{},". In order to handle this message, the node checks if it already has this message. If it doesn’t, it stores it into waitlist ",[611,102875,102876],{},"Node::m_Bbs::m_W"," and sends ",[611,102879,102880],{},"BbsGetMsg",[1898,102882,102880],{"id":102883},"bbsgetmsg",[34,102885,102886,102887,181],{},"A peer server request for bbs message, which occurs as a response to ",[611,102888,102824],{},[852,102890,102891],{},[59,102892,102893,102895,102896,181],{},[611,102894,102864],{}," If the node has a bbs message with a given key, it sends it back as ",[611,102897,102777],{},[1898,102899,102901],{"id":102900},"bbspickchannel","BbsPickChannel",[34,102903,102904],{},"The Client asks the server for recommended channels.",[1898,102906,102908],{"id":102907},"bbspickchannelres","BbsPickChannelRes",[34,102910,102911],{},"Server channel recommendation",[852,102913,102914],{},[59,102915,102916,102918,102919,102922,102923,102926,102927,102930,102931,181],{},[611,102917,102743],{}," - recommended channel. Once in an hour ",[611,102920,102921],{},"(Node::m_Cfg::m_Timeout::m_BbsCleanupPeriod_ms)"," the node tries to find a channel which is populated with less than 100 listeners ",[611,102924,102925],{},"(Node::m_Cfg::m_BbsIdealChannelPopulation)",". Found value is stored into ",[611,102928,102929],{},"m_RecommendedChannel"," and it is used as a response to ",[611,102932,102901],{},[41,102934,102936],{"id":102935},"client-side","Client side",[34,102938,102939],{},"In the wallet, the BBS communication is placed in WalletNetworkViaBbs class. It allows to send a message to BBS and it manages BBS keys and timestamps. This class contains references to:",[852,102941,102942,102948],{},[59,102943,102944,102947],{},[611,102945,102946],{},"IWallet& m_Wallet"," - which is used for callbacks to wallet object.",[59,102949,102950,102953],{},[611,102951,102952],{},"proto::FlyClient::INetwork& m_NodeNetwork"," - which is used to communicate with the node.",[34,102955,102956,102957,102960,102961,102964,102965,102968,102969,102972,102973,102975,102976,102978,102979,102982,102983,102986,102987,102990,102991,102993],{},"When the wallet wants to create a new address (from cli, ui) or load already-created addresses from the database, ",[611,102958,102959],{},"AddOwnAddress()"," is called. This method calls ",[611,102962,102963],{},"IWalletDB::calcKey()"," with the key type ",[611,102966,102967],{},"Bbs"," to generate a private key for BBS. The public key is created using ",[611,102970,102971],{},"proto::Sk2Pk()",". Index, which is used for generating a private key that is stored in ",[611,102974,3449],{},". The wallet will then choose a channel. If the client has not subscribed to the chosen channel, the ",[611,102977,102729],{}," message is posted to the node via ",[611,102980,102981],{},"m_NodeNetwork",". If the wallet wants to send a message via Bbs it calls the overridden method ",[611,102984,102985],{},"Send()",". In this method, the given message is encrypted using ",[611,102988,102989],{},"proto::BbsEncrypt()"," and sent to ",[611,102992,102981],{},". If the wallet received the bbs message it updates the timestamp for the channel and stores them to the database.",[1898,102995,102997],{"id":102996},"usage-of-bbs-to-exchange-message","Usage of BBS to exchange message",[34,102999,103000,103001,103003,103004,181],{},"There are two sides wallet ",[37,103002,697],{}," and wallet ",[37,103005,781],{},[103007,103008,103010,1475,103012,5102],"h5",{"id":103009},"a-and-b",[37,103011,697],{},[37,103013,781],{},[852,103015,103016,103019,103022],{},[59,103017,103018],{},"picks or generates a pair of keys public and private",[59,103020,103021],{},"choose channel\u002F\u002Fasks BBS server (node) for suitable",[59,103023,103024,103025,103027],{},"sends ",[611,103026,102729],{}," to chosen channel, if needed",[103007,103029,103031,103032,5102],{"id":103030},"wallet-a","Wallet ",[37,103033,697],{},[852,103035,103036,103039,103042,103045],{},[59,103037,103038],{},"chooses the address of target recipient (his public key)",[59,103040,103041],{},"creates a message, it has to contain its public key as an address for answer",[59,103043,103044],{},"encrypts this message using pub",[59,103046,103047,103048,103050],{},"creates ",[611,103049,102777],{},", fills it and sends to BBS server",[103007,103052,103031,103054,5102],{"id":103053},"wallet-b",[37,103055,781],{},[852,103057,103058,103063,103066,103069],{},[59,103059,103060,103061],{},"receives ",[611,103062,102777],{},[59,103064,103065],{},"updates timestamps for the message channel",[59,103067,103068],{},"tries to decrypt bbs message using the known key for message channel",[59,103070,103071],{},"if succeeded, it notifies wallet",{"title":14,"searchDepth":15,"depth":15,"links":103073},[103074,103075,103076],{"id":10405,"depth":15,"text":10406},{"id":102721,"depth":15,"text":102722},{"id":102935,"depth":15,"text":102936},{},"\u002Fdocs\u002Fcore-tech\u002Fsecure-bulletin-board-system-(sbbs)",{"title":14242,"description":14},"docs\u002Fcore-tech\u002FSecure-bulletin-board-system-(SBBS)","smC1mzvHMFGFiEF-uOHbDKKp7G71eV7jA-RtYIAlfh8",{"id":103083,"title":103084,"body":103085,"description":14,"extension":17,"image":18,"meta":103208,"navTitle":18,"navigation":20,"path":103209,"seo":103210,"stem":103211,"__hash__":103212},"docs\u002Fdocs\u002Fcore-tech\u002FSetting-up-read-only-wallet-for-monitoring.md","Setting Up Read Only Wallet For Monitoring",{"type":8,"value":103086,"toc":103203},[103087,103089,103092,103095,103103,103107,103146,103150,103180,103185,103188,103194,103197],[41,103088,10406],{"id":10405},[34,103090,103091],{},"The intention of this scenario is to have a some kind of monitoring wallet,  which can provide info about the list of the transactions, possibly, the list of UTXO, but without any ability to create or accept a new transaction and without access to any secrets.",[34,103093,103094],{},"In this scenario user should have:",[852,103096,103097,103100],{},[59,103098,103099],{},"a regular (live ) wallet connected to the node, but initialized in the way, that it has separate storage for private data (master key) and for public data. User should be able to get this public database and provide it to monitoring wallet.",[59,103101,103102],{},"a read-only (monitoring) wallet api server, also connected to the node. It should have access to the public data only. This server should have set up Access control list (ACL). This wallet does not hold any secret keys",[41,103104,103106],{"id":103105},"setup-live-wallet","Setup live wallet",[56,103108,103109,103125,103138],{},[59,103110,103111,103112,103114,103116,103118,103119,103121,103122,103124],{},"Init live wallet with separated private data (--cold_wallet flag allows us to do this)",[4953,103113],{},[611,103115,87647],{},[4953,103117],{},"it creates new wallet with two databases: ",[611,103120,3449],{}," for public data and ",[611,103123,87596],{}," for private.",[59,103126,103127,103128,103130,103133,103135],{},"Create \"own\" node for this wallet, for this you should export wallet's owner key and pass it to the node. This will let this wallet get notifications about UTXO which belong to this wallet.",[4953,103129],{},[611,103131,103132],{},"beam-wallet export_owner_key",[4953,103134],{},[611,103136,103137],{},"beam-node --owner_key=\u003Coutput from previous command> --peer=\u003Curl to existing node on target network>",[59,103139,103140,103141,1475,103143,103145],{},"Use this wallet for sending\u002Freceiving beams. It should work as regular BEAM wallet with no exceptions. You even may put ",[611,103142,3449],{},[611,103144,87596],{}," to the application data folder of UI wallet and it should work.",[41,103147,103149],{"id":103148},"setup-read-only-monitoring-wallet","Setup read only monitoring wallet",[56,103151,103152,103155,103162,103165,103171,103174],{},[59,103153,103154],{},"On a different machine, setup another instance of wallet API",[59,103156,103157,181],{},[175,103158,103161],{"href":103159,"rel":103160},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API#user-authorization",[179],"Setup access to you wallet API",[59,103163,103164],{},"Stop monitoring wallet",[59,103166,103167,103168,103170],{},"Copy ",[611,103169,3449],{}," from live wallet to a monitoring wallet.",[59,103172,103173],{},"Launch wallet API server.",[59,103175,103176,103177,103179],{},"Repeat steps 3 to 5 with updated ",[611,103178,3449],{}," from live wallet to get latest transactions.",[34,103181,103182],{},[611,103183,103184],{},"wallet-api -n \u003Curl of a node with port> --port=\u003Cport> --use_acl=1 --acl_path=wallet_api.acl",[34,103186,103187],{},"This wallet API server should allow to perform:",[616,103189,103192],{"className":103190,"code":103191,"language":621},[619],"validate_address\naddr_list\ndelete_address\nedit_address\ntx_status\ntx_list\ntx_cancel\nwallet_status\nget_utxo\n",[611,103193,103191],{"__ignoreMap":14},[34,103195,103196],{},"whereas the following methods should be prohibited (due to lack of secret key)",[616,103198,103201],{"className":103199,"code":103200,"language":621},[619],"create_address\ntx_send\ntx_split\n",[611,103202,103200],{"__ignoreMap":14},{"title":14,"searchDepth":15,"depth":15,"links":103204},[103205,103206,103207],{"id":10405,"depth":15,"text":10406},{"id":103105,"depth":15,"text":103106},{"id":103148,"depth":15,"text":103149},{},"\u002Fdocs\u002Fcore-tech\u002Fsetting-up-read-only-wallet-for-monitoring",{"description":14},"docs\u002Fcore-tech\u002FSetting-up-read-only-wallet-for-monitoring","afezKoTEuBTTyAvmP0Ok49v8NOLy8kDCt212ysuidv8",{"id":103214,"title":103215,"body":103216,"description":103220,"extension":17,"image":18,"meta":103229,"navTitle":18,"navigation":20,"path":103230,"seo":103231,"stem":103232,"__hash__":103233},"docs\u002Fdocs\u002Fcore-tech\u002FSupported-nVidia-cards-for-mining-using-OpenCL-miner.md","Supported NVidia Cards For Mining Using OpenCL Miner",{"type":8,"value":103217,"toc":103227},[103218,103221],[34,103219,103220],{},"The following list of card should be supported by Beam OpenCL miner:",[616,103222,103225],{"className":103223,"code":103224,"language":621},[619],"Tesla K40\u002FK80\nGeForce 700\nGT-730\nTesla K40\nTesla K80\nTesla\u002FQuadro M series\nQuadro M6000\nGeForce 900\nGTX-970\nGTX-980\nGTX Titan X\nGP100\u002FTesla P100 – DGX-1\nGTX 1080\nGTX 1070\nGTX 1060\nGTX 1050\nGTX 1030\nTitan Xp\nTesla P40\nTesla P4\nTesla V100\nGTX 1180 (GV104)\n",[611,103226,103224],{"__ignoreMap":14},{"title":14,"searchDepth":15,"depth":15,"links":103228},[],{},"\u002Fdocs\u002Fcore-tech\u002Fsupported-nvidia-cards-for-mining-using-opencl-miner",{"description":103220},"docs\u002Fcore-tech\u002FSupported-nVidia-cards-for-mining-using-OpenCL-miner","HUNhG8h_W0x-BLPrwqpIpxDUtHH2Xoi6vUdXanto_8c",{"id":103235,"title":103236,"body":103237,"description":103241,"extension":17,"image":18,"meta":103430,"navTitle":18,"navigation":20,"path":103431,"seo":103432,"stem":103433,"__hash__":103434},"docs\u002Fdocs\u002Fcore-tech\u002FSystem-state-in-depth.md","System State In Depth",{"type":8,"value":103238,"toc":103426},[103239,103242,103244,103247,103260,103263,103275,103278,103286,103299,103305,103309,103318,103324,103327,103337,103344,103355,103362,103367,103370,103372,103375,103378,103382,103385,103388,103391,103395,103402,103405,103417],[34,103240,103241],{},"So the system state is comprised from the existing UTXOs, Kernels, and inherited system states, each is organized in an appropriate data structure.",[11,103243,101139],{"id":101138},[34,103245,103246],{},"The Node must track all the existing unspent UTXOs in the system, and the maturity of each one (i.e. the state height from which it can be spent). In addition we support duplicate UTXOs (there's a use-case for this).",[34,103248,103249,103250,103252,103253,103255,103256,103259],{},"UTXOs are stored in an ",[611,103251,87431],{},", which is a variant of our ",[611,103254,87435],{},". Each UTXO is represented by an ",[611,103257,103258],{},"UtxoLeaf",", which is a leaf node with a key and additional values.",[34,103261,103262],{},"The key is a 321-bit long bits sequence, consisting of (the order matters):",[56,103264,103265,103270],{},[59,103266,103267,103269],{},[611,103268,89018],{}," 257 bits",[59,103271,103272,103274],{},[611,103273,89028],{}," 64 bits",[34,103276,103277],{},"The value that is stored for each such a node is:",[852,103279,103280],{},[59,103281,103282,103285],{},[611,103283,103284],{},"Input::Count m_Count"," 32 bits",[34,103287,103288,103289,103291,103292,103294,103295,103298],{},"So that there is a unique ",[611,103290,103258],{}," for each Commitment + Maturity combination. However if several UTXOs happen to have both those parameters identical - the information is stored within a single ",[611,103293,103258],{}," (with the ",[611,103296,103297],{},"m_Count"," > 1). This is an intentional design decision. To validate transactions it's essential to know the Commitment and the Maturity of the all the UTXOs, whereas other parameters are not important, and such UTXOs are considered identical.",[34,103300,103301,103302,103304],{},"When an input UTXO is referenced by the Commitment - the Node always looks for the UTXO with the specified Commitment, and the lowest Maturity, which also must not be higher than the current State Height (recall that ",[611,103303,87435],{}," supports search by partially-specified key). So there is no ambiguity with the selection of the input UTXOs.",[48,103306,103308],{"id":103307},"utxo-hash-proof","UTXO Hash, Proof",[34,103310,103311,103312,103314,103315,103317],{},"When the ",[611,103313,87431],{}," hash is evaluated, the ",[611,103316,103258],{}," is hashed by the following formula:",[34,103319,103320,103323],{},[611,103321,103322],{},"UtxoLeaf.Hash = Hash ( UtxoLeaf.Key | UtxoLeaf.m_Count )"," (the 321-bit key is zero-padded to the byte boundary)",[34,103325,103326],{},"The client requests a Merkle proof for an UTXO - the following is specified:",[852,103328,103329,103331],{},[59,103330,10752],{},[59,103332,103333,103336],{},[611,103334,103335],{},"MaturityMin"," - Optionally the minimum Maturity to query (0 by default)",[34,103338,103339,103340,103343],{},"The Node response includes an ",[9352,103341,103342],{},"array"," of the following:",[852,103345,103346,103349,103352],{},[59,103347,103348],{},"Maturity",[59,103350,103351],{},"Count",[59,103353,103354],{},"Merkle Proof",[34,103356,103357,103358,103361],{},"After receiving the result the client evaluates the ",[611,103359,103360],{},"UtxoLeaf.Hash"," according to the same formula, substituting the asserted Maturity and Count, and then verifies the Merkle proof.",[34,103363,103364,103365,181],{},"Empty array means such an UTXO doesn't exist. The array size is limited to 20 elements, so that if there are more combinations - the client should repeat the query, settings a higher ",[611,103366,103335],{},[34,103368,103369],{},"Sounds somewhat complicated, but this is the price of the versatility, supporting duplicates. For regular UTXOs, however, where the duplicates are not possible (unless with a negligible probability), the client won't deal with all this. There will either be a single proof, or no proof.",[11,103371,95882],{"id":25359},[34,103373,103374],{},"Same idea as with UTXOs, but simpler, because kernels have no Maturity, and duplicates are not supported. So - it's just hashes. The Kernel ID is evaluated, and this is the hash of the leaf node.",[34,103376,103377],{},"For the Kernel proof the client just sends its ID, and gets a single Proof iff the kernel indeed exists in the System state.",[48,103379,103381],{"id":103380},"why-kernel-proofs-are-important","Why Kernel proofs are important?",[34,103383,103384],{},"Unlike UTXOs, Kernels don't contain funds, and can't be used in the future transactions, so why would anyone need a proof for it?",[34,103386,103387],{},"The main reason is that Kernel proof can be used to verify that UTXO is spent. The client may ask for an UTXO proof and get an empty result, but this is not a proof! It's impossible to prove that an object does not exist in the Merkle tree.",[34,103389,103390],{},"So, Kernel proof is the best verification of the transaction, no matter if UTXOs are received or spent.",[11,103392,103394],{"id":103393},"inherited-states","Inherited states",[34,103396,103397,103398,103401],{},"Implemented in terms of the ",[37,103399,103400],{},"D-MMR"," (Distributed MMR). The leaf nodes are the System State Hashes (not to be confused with the System Definition Hashes). Apart from the somewhat sophisticated D-MMR, the rest is straighforward (generating and verifying proofs).",[34,103403,103404],{},"They are needed in 2 scenarios:",[852,103406,103407,103410],{},[59,103408,103409],{},"Simple scenario: a client was offline for a while, then comes back, and wants to ensure the last State that it observed is still a part of the current consensus branch.",[59,103411,103412,103413,103416],{},"More complex: Client requests a ",[100,103414,103415],{},"ChainWork Proof",", which is a (relatively) compact proof for all the state headers, without fully downloading them all.",[34,103418,103419,103421,103422,103425],{},[37,103420,9770],{},": In contrast to UTXOs and Kernels, the client knows the structure of the Inherited States tree, hence it receives the proof in a form of a ",[100,103423,103424],{},"Hard"," proof, i.e. only the hashes, whereas the hashing direction is deduced automatically.",{"title":14,"searchDepth":15,"depth":15,"links":103427},[103428,103429],{"id":103307,"depth":154,"text":103308},{"id":103380,"depth":154,"text":103381},{},"\u002Fdocs\u002Fcore-tech\u002Fsystem-state-in-depth",{"description":103241},"docs\u002Fcore-tech\u002FSystem-state-in-depth","z0SA0E1h3VnvDTrr0pUDwesruYIB7qKW-mt1oDLC-Pw",{"id":103436,"title":103437,"body":103438,"description":103442,"extension":17,"image":18,"meta":103484,"navTitle":18,"navigation":20,"path":103485,"seo":103486,"stem":103487,"__hash__":103488},"docs\u002Fdocs\u002Fcore-tech\u002FTesting-Beam-Hard-Fork-on-Local-Testnet.md","Testing Beam Hard Fork On Local Testnet",{"type":8,"value":103439,"toc":103482},[103440,103443,103446,103449,103479],[34,103441,103442],{},"Beam Clear Cathode 3.0 version includes a Hard Fork that will be activated in block 321321 (approximately around August 15th, 2019). As part of the fork, the mining algo will be updated to BeamHash II.",[34,103444,103445],{},"Pools and Solo miners are strongly encouraged to test the version before that time using the latest versions of LolMiner and GMiner that already support BeamHash II.",[34,103447,103448],{},"To test the fork please perform the following steps:",[56,103450,103451,103454,103463,103472],{},[59,103452,103453],{},"Download latest Testnet binaries (or build from source)",[59,103455,103456,103457,103462],{},"Follow the instructions on ",[175,103458,103461],{"href":103459,"rel":103460},"http:\u002F\u002Fdocumentation.beam.mw\u002Fen\u002Flatest\u002Frtd_pages\u002Fdev_local_setup.html",[179],"Local Setup"," to create a stand alone network.",[59,103464,103465,103466,103471],{},"Follow the instruction in ",[175,103467,103470],{"href":103468,"rel":103469},"http:\u002F\u002Fdocumentation.beam.mw\u002Fen\u002Flatest\u002Frtd_pages\u002Fuser_mining_beam.html",[179],"Mining Beam"," section, to setup the latest version of the miner.",[59,103473,103474,103475,103478],{},"Use Fork1=",[611,103476,103477],{},"fork height"," parameter in the configuration file for both node and wallet, to set a fork height.",[34,103480,103481],{},"IMPORTANT: You have to delete the node.db after the fork happens to repeat the test. Just setting a different fork height would not be enough.",{"title":14,"searchDepth":15,"depth":15,"links":103483},[],{},"\u002Fdocs\u002Fcore-tech\u002Ftesting-beam-hard-fork-on-local-testnet",{"description":103442},"docs\u002Fcore-tech\u002FTesting-Beam-Hard-Fork-on-Local-Testnet","0Q1zrh8YJbZpDpUgBEKklL9BFg2Y5PyhKCKZHh9-_Rk",{"id":103490,"title":103491,"body":103492,"description":103498,"extension":17,"image":18,"meta":103736,"navTitle":18,"navigation":20,"path":103737,"seo":103738,"stem":103739,"__hash__":103740},"docs\u002Fdocs\u002Fcore-tech\u002FTestnet-Command-Line-Instructions.md","Testnet Command Line Instructions",{"type":8,"value":103493,"toc":103734},[103494,103499,103511,103514,103519,103531,103534,103538,103541,103543,103548,103551,103554,103557,103560,103563,103567,103570,103591,103594,103608,103612,103615,103620,103623,103627,103630,103635,103639,103642,103647,103650,103654,103657,103661,103666,103677,103682,103696,103718,103726,103731],[34,103495,103496],{},[37,103497,103498],{},"Welcome to Beam Testnet 1",[34,103500,103501,103502,103506,103507,8764],{},"Node binaries can be downloaded from the Beam website (",[175,103503,103504],{"href":103504,"rel":103505},"http:\u002F\u002Fbeam-mw.com\u002Fdownloads",[179],") or from Github (",[175,103508,103509],{"href":103509,"rel":103510},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam-builds\u002Ftree\u002Fmaster\u002Ftestnet\u002Frelease",[179],[34,103512,103513],{},"You can run the node with command line options, or modify the attached config file. Once you start the node it will create a node.db file in the same folder. This file will store internal state of the node.",[34,103515,103516],{},[37,103517,103518],{},"Reporting issues",[34,103520,103521,103522,103526,103527],{},"In case you encounter any problems, please report them via еmail to ",[175,103523,103525],{"href":103524},"mailto:testnet@beam-mw.com","testnet@beam-mw.com"," or open a github ticket at ",[175,103528,103529],{"href":103529,"rel":103530},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam",[179],[34,103532,103533],{},"Attach archive with logs, configuration file and command line parameters to allow effective investigation of the issues.",[34,103535,103536],{},[37,103537,93800],{},[34,103539,103540],{},"Node parameters can be either passed through command line or written in the beam-node.cfg file.",[34,103542,16718],{},[34,103544,103545],{},[100,103546,103547],{},".\u002Fbeam-node --peer 138.68.130.189:8101 --wallet_seed 111 --mining_threads 1 --file_log_level debug",[34,103549,103550],{},"The --peer parameter specifies a comma separated list of peers that the node will initially connect to. After the connection is established, the node will get an updated list of peers from the nodes, along with peer ratings and from that moment it will manage the connections on its own.",[34,103552,103553],{},"--wallet_seed - is a secret key for the wallet that will connect to this node to collect mining rewards (if the node is mining)",[34,103555,103556],{},"--mining_treads - specifies the number of CPU cores utilized for mining. If set to 0, node acts as validating node only.",[34,103558,103559],{},"--file_log_level - allows you to see that is going on behind the scenes.",[34,103561,103562],{},"Upon first launch, the node will download current blockchain history in batch mode as one large macroblock. After the initial sync is complete, the node will continue to sync blocks and individual transactions from the current blockchain Tip and onwards. This can be seen in the log entry:",[34,103564,103565],{},[100,103566,93847],{},[34,103568,103569],{},"Here is the full list of options supported by the node",[34,103571,103572,103573,103576,103577,103579,103580,103583,103584,103586,103587,103590],{},"General options:\n-h ",[6995,103574,103575],{}," --help","                     \tlist of all options\n-p ",[6995,103578,94474],{}," arg (=10000)        \tport to start the server on\n--wallet_seed arg                 \tsecret key generation seed\n--log_level arg                   \tlog level ",[6995,103581,103582],{},"info|debug|verbose","\n--file_log_level arg              \tfile log level ",[6995,103585,103582],{},"\n-v ",[6995,103588,103589],{}," --version","               \treturn project version\n--git_commit_hash                 \treturn commit hash",[34,103592,103593],{},"Node options:\n--storage arg (=node.db)          \tnode storage path\n--history_dir arg (=.\u002F)           \tdirectory for compressed history\n--temp_dir arg (=\u002Ftmp\u002F)           \ttemp directory for compressed history,\nmust be on the same volume\n--mining_threads arg (=0)         \tnumber of mining threads(there is no\nmining if 0)\n--verification_threads arg (=-1)  \tnumber of threads for cryptographic\nverifications (0 = single thread, -1 =\nauto)\n--miner_id arg (=0)               \tseed for miner nonce generation\n--peer arg                        \tnodes to connect to\n--import arg (=0)                 \tSpecify the blockchain height to\nimport. The compressed history is\nassumed to be downloaded the the\nspecified directory",[34,103595,103596,103597,103600,103601,103604,103605,103607],{},"Rules configuration:\n--CoinbaseEmission arg (=80000000)\tcoinbase emission in a single block\n--MaturityCoinbase arg (=60)      \tnum of blocks before coinbase UTXO can\nbe spent\n--MaturityStd arg (=0)            \tnum of blocks before non-coinbase UTXO\ncan be spent\n--MaxBodySize arg (=1048576)      \tMax block body size ",[6995,103598,103599],{},"bytes","\n--DesiredRate_s arg (=60)         \tDesired rate of generated blocks\n",[6995,103602,103603],{},"seconds","\n--DifficultyReviewCycle arg (=1440)   num of blocks after which the mining\ndifficulty can be adjusted\n--MaxDifficultyChange arg (=2)    \tMax difficulty change after each cycle\n(each step is roughly x2 complexity)\n--TimestampAheadThreshold_s arg (=7200)\nBlock timestamp tolerance ",[6995,103606,103603],{},"\n--WindowForMedian arg (=25)       \tHow many blocks are considered in\ncalculating the timestamp median\n--AllowPublicUtxos arg (=0)       \tset to allow regular (non-coinbase)\nUTXO to have non-confidential signature\n--FakePoW arg (=0)                \tDon't verify PoW. Mining is simulated\nby the timer. For tests only",[34,103609,103610],{},[37,103611,94689],{},[34,103613,103614],{},"After extracting the wallet binary to a folder, first we need to initialize the wallet by running:",[34,103616,103617],{},[100,103618,103619],{},".\u002Fbeam-wallet --command init",[34,103621,103622],{},"You will be prompted to provide wallet password and then seed. If you are using a miner node, the seed should be the same as was set in the --wallet_seed flag of the node",[34,103624,103625],{},[37,103626,94718],{},[34,103628,103629],{},"To get the information about the status of the wallet, run:",[34,103631,103632],{},[100,103633,103634],{},".\u002Fbeam-wallet --command info -n 127.0.0.1:10000",[34,103636,103637],{},[37,103638,94747],{},[34,103640,103641],{},"To receive beams we need to start a wallet in a listening mode by running:",[34,103643,103644],{},[100,103645,103646],{},".\u002Fbeam-wallet --command listen -n 127.0.0.1:10000;",[34,103648,103649],{},"After entering the password, wallet will print out the line similar to:",[34,103651,103652],{},[100,103653,94778],{},[34,103655,103656],{},"This show the SBBS address the wallet is listening on. This address can be copied and sent to Sender.",[34,103658,103659],{},[37,103660,94870],{},[34,103662,103663],{},[100,103664,103665],{},".\u002Fbeam-wallet --command=send -n 127.0.0.1:10000 -r 77de6bd3de40bc58ab7e4fb68d5e0596fd1e72f3c4fb3eb3d106082d89264909 -a 11.3 -f 0.2",[34,103667,103668,103669],{},"To send Beams, use 'send' command with the following parameters:\n-r ",[101644,103670,103671,103672],{"address":14,"of":14,"the":14,"receiver":14,"node":14},"\n-a ",[8404,103673,103674,103675],{"of":14,"beams":14,"to":14,"send":14},"\n-f ",[89266,103676],{"fee":14},[34,103678,103679],{},[37,103680,103681],{},"Full list of wallet options",[34,103683,103572,103684,103686,103687,103579,103689,103583,103691,103586,103693,103695],{},[6995,103685,103575],{},"    \t                 list of all options\n-p ",[6995,103688,94474],{},[6995,103690,103582],{},[6995,103692,103582],{},[6995,103694,103589],{},"                  \treturn project version\n--git_commit_hash                 \treturn commit hash",[34,103697,103698,103699,103702,103703,103706,103707,103710,103711,103714,103715],{},"Wallet options:\n--pass arg                        \tpassword for the wallet\n-a ",[6995,103700,103701],{}," --amount"," arg               \tamount to send (in Beams, 1 Beam =\n1000000 chattle)\n-f ",[6995,103704,103705],{}," --fee"," arg (=0)             \tfee (in Beams, 1 Beam = 1000000\nchattle)\n-r ",[6995,103708,103709],{}," --receiver_addr"," arg        \taddress of receiver\n-n ",[6995,103712,103713],{}," --node_addr"," arg            \taddress of node\n--treasury_path arg (=treasury.mw)\tBlock to create\u002Fappend treasury to\n--wallet_path arg (=wallet.db)    \tpath to wallet file\n--bbs_keystore_path arg (=bbs_keys.db)\npath to file with bbs keys\n--tx_history                      \tprint transacrions' history in info\ncommand\n--tr_Count arg (=30)              \ttreasury UTXO count\n--tr_HeightStep arg (=1440)       \ttreasury UTXO height lock step\n--tr_BeamsPerUtxo arg (=10)       \ttreasury value of each UTXO (in Beams)\n--command arg                     \tcommand to execute ",[6995,103716,103717],{},"send|receive|listen\n|init|info|treasury",[34,103719,103596,103720,103600,103722,103604,103724,103607],{},[6995,103721,103599],{},[6995,103723,103603],{},[6995,103725,103603],{},[34,103727,103728],{},[37,103729,103730],{},"List of testnet 1 nodes",[34,103732,103733],{},"142.93.89.204:8101\n188.166.148.169:8101\n206.189.141.171:8101\n138.68.130.189:8101\n178.128.225.252:8101\n128.199.142.41:8101\n139.59.191.116:8101\n206.189.3.9:8101\n206.189.15.198:8101\n204.48.26.118:8101\n174.138.58.140:8101\n142.93.241.66:8101\n188.166.122.215:8101\n142.93.17.121:8101\n104.248.77.220:8101\n104.248.27.246:8101\n188.166.60.223:8101\n128.199.144.164:8101\n104.248.182.148:8101\n104.248.182.152:8101\n159.203.72.8:8101\n178.128.233.252:8101\n104.248.43.86:8101\n104.248.43.99:8101\n178.62.19.156:8101\n104.248.75.183:8101\n206.81.11.82:8101\n206.189.138.82:8101\n178.128.225.8:8101\n142.93.246.182:8101\n104.248.31.169:8101\n128.199.144.48:8101\n178.128.229.48:8101\n128.199.144.196:8101\n159.65.40.42:8101\n178.128.229.50:8101\n138.197.193.229:8101\n128.199.144.206:8101\n178.128.229.65:8101\n159.89.234.65:8101\n104.248.43.120:8101\n104.248.186.25:8101\n128.199.145.212:8101\n188.166.15.205:8101\n138.68.163.99:8101",{"title":14,"searchDepth":15,"depth":15,"links":103735},[],{},"\u002Fdocs\u002Fcore-tech\u002Ftestnet-command-line-instructions",{"description":103498},"docs\u002Fcore-tech\u002FTestnet-Command-Line-Instructions","Ev37u6XREWpOwKN8ttsINympkUO_-cHaW3r_JPfAFmo",{"id":103742,"title":103743,"body":103744,"description":14,"extension":17,"image":18,"meta":103975,"navTitle":18,"navigation":20,"path":103976,"seo":103977,"stem":103978,"__hash__":103979},"docs\u002Fdocs\u002Fcore-tech\u002FThoughts-about-eliminating-transaction-kernels.md","Thoughts About Eliminating Transaction Kernels",{"type":8,"value":103745,"toc":103966},[103746,103750,103757,103765,103768,103772,103775,103789,103793,103796,103816,103822,103825,103832,103841,103844,103858,103861,103890,103892,103896,103905,103909,103918,103922,103931,103935,103938,103941,103944,103948,103951,103958],[48,103747,103749],{"id":103748},"transaction-and-kernels","Transaction and kernels",[34,103751,103752,103753,103756],{},"One of the fundamental features of a MimbleWimble transaction is the ",[9352,103754,103755],{},"irreversibility",". That is, once the transaction enters the blockchain, it can't be reversed, which guarantees that once a user receives the coins, the sender can't \"change his mind\" later.",[34,103758,103759,103760,103764],{},"This is achieved by transaction ",[9352,103761,103762],{},[100,103763,25359],{},", which are cryptographically signed, and encode (among other things) the total blinding factor of the transaction. While a UTXO can be either consumed or created by the transaction, the kernels can only be created, and never consumed. This guarantees the irreversibility of the transaction.",[34,103766,103767],{},"This leads to the accumulation of the transaction kernels in the system with time. While the UTXOs denote the \"live\" coins, which can be spent by their owners, the transaction kernels are actually \"dead weight\", and play no role in future transactions. OTOH the fully-functional processing node is obliged to keep them forever, in order to allow for new nodes to sync and verify the most recent blockchain state.",[48,103769,103771],{"id":103770},"how-to-consume-the-transaction-kernels-principles","How to consume the transaction kernels - principles",[34,103773,103774],{},"Let's assume that transaction kernels can also be consumed, and a valid transaction can contain transaction kernels on both input and output sides. In order to keep the irreversibility principle we apply additional restrictions on the output kernels, such that the verifier can:",[56,103776,103777,103780,103783,103786],{},[59,103778,103779],{},"Verify that for each input kernel there's a corresponding output kernel, that can only be signed if its creator(s) know the opening of the input kernel.",[59,103781,103782],{},"Such a transaction is irreversible \"on its own\". Means - input and output kernels can't be exchanged.",[59,103784,103785],{},"The above rules must also hold when transactions are merged and intermediate outputs are fully deleted.",[59,103787,103788],{},"In addition the output kernel should remain compact, and not inflate with every such a transaction. There's no benefit of keeping one large kernel vs many small ones.",[11,103790,103792],{"id":103791},"proposal","Proposal",[34,103794,103795],{},"Kernel consists of the following fields:",[852,103797,103798,103807,103810],{},[59,103799,103800,103801,103803,103804,103806],{},"Public excess: the ",[611,103802,95906],{}," curve point, whereas the ",[611,103805,16988],{}," is the total blinding of the transaction.",[59,103808,103809],{},"Various optional fields (fee, block height, custom co-signed contract, nested kernels).",[59,103811,103812,103813,103815],{},"Schnorr's signature of the kernel body, whereas the ",[611,103814,16988],{}," is the signature private key.",[34,103817,103818,103819,103821],{},"The blinding factor ",[611,103820,16988],{}," is the sum of the total blinding factors of all the participants, and the kernel is co-signed collectively.",[34,103823,103824],{},"Let's add additional field to the kernel:",[852,103826,103827],{},[59,103828,103829,103831],{},[611,103830,1251],{}," - Multiplier, a 64-bit integer.",[34,103833,103834,103835,103838,103839,181],{},"If not specified - by default it's assumed to be 1. The actual transaction excess is ",[611,103836,103837],{},"mk*G",", i.e. multiplied by ",[611,103840,1251],{},[34,103842,103843],{},"During the transaction verification, the verifier must ensure that for every input kernel there is a corresponding output kernel, which:",[852,103845,103846,103851],{},[59,103847,103848,103849,181],{},"Has the same unmultiplied excess ",[611,103850,17201],{},[59,103852,103853,103854,103857],{},"Has a multiplier which is ",[37,103855,103856],{},"greater"," than that of the input kernel.",[34,103859,103860],{},"It's easy to see that such a scheme conforms to the rules 1-4.",[56,103862,103863,103876,103879,103885],{},[59,103864,103865,103866,103868,103869,103872,103873,103875],{},"In order to co-sign the new kernel, the participants ",[37,103867,88654],{}," know the ",[611,103870,103871],{},"mk",", hence they know ",[611,103874,16988],{},". Means - those are the same participants that signed the input kernel.",[59,103877,103878],{},"Such a transaction is irreversible, since the output multiplier must be (strictly) greater than the input.",[59,103880,103881,103882,103884],{},"When such a procedure repeated many times, and intermediate outputs are deleted - we have the same ",[611,103883,17201],{}," correspondence, and the same inequality for multipliers.",[59,103886,103887,103888,2344],{},"The kernel remains compact, its size is independent of the reuse count (up to order of 2",[8009,103889,87943],{},[11,103891,101342],{"id":101341},[48,103893,103895],{"id":103894},"how-to-encourage-this-scheme","How to encourage this scheme",[34,103897,103898,103899,103904],{},"Naturally users are not obliged to consume their old kernels, and are free to create new ones (even several kernels) with every transaction.\nHowever we'd like to encourage this scheme. Hence we'll define an ",[9352,103900,103901],{},[37,103902,103903],{},"implicit kernel fee",". So that consuming old kernels will be beneficial to the users.\nOptionally this fee may depend on the kernel size (the size of a single kernel is limited, but it may contain arbitrary number of nested kernels).",[48,103906,103908],{"id":103907},"how-to-use-it-in-practice","How to use it in practice",[34,103910,103911,103912,103914,103915,103917],{},"This scheme can be used by the same set of users (2 in the most common scenario), which perform several transactions.\nOn the first transaction each peaks a random ",[611,103913,16988],{}," used to construct the first transaction.\nOn the consequent transactions they decide to reuse the older kernel and increment the multiplier ",[611,103916,1251],{}," for the new kernel.",[48,103919,103921],{"id":103920},"degrees-of-freedom-for-newly-created-utxos","Degrees of freedom for newly-created UTXOs",[34,103923,103924,103925,103927,103928,103930],{},"The total blinding factor of each consequent transaction is pre-defined (",[611,103926,17201],{}," multiplied by the multiplier difference). It may seem that due to this fact the users are restricted to pick specific blinding factors for their UTXOs (hence - making them less confident and easier to track), but this is not so.\nThe transaction, in addition to the UTXOs and kernels, contains also an arbitrary ",[611,103929,91438],{}," - the arbitrary non-encoded blinding factor, which is summed when transactions are combined. Using this degree of freedom users can pick arbitrary blinding factors for the newly-created UTXOs.",[48,103932,103934],{"id":103933},"confidentiality-consideration","Confidentiality consideration",[34,103936,103937],{},"One obvious thing is that anyone can see that the same set of users do several transactions. Without dandelion a hostile node can reveal the user identity (IP address) for the specific transaction that it received. If the kernel consuming scheme is used, the hostile node can also detect when the same set of users create more transactions (both in the past and in the future), even if they used another node.\nHowever it will not be able to identify and track the appropriate UTXOs (unless this hostile node actually received all those transactions).",[34,103939,103940],{},"With the use of dandelion this risk is reduced (but not removed completely).",[34,103942,103943],{},"I can't see other issues, and this specific one is minor IMHO.",[48,103945,103947],{"id":103946},"what-if-the-user-wants-the-kernel-to-remain-forever","What if the user wants the kernel to remain forever?",[34,103949,103950],{},"As we said, the kernels are \"dead weight\" that the processing node normally can't get rid of. But in fact kernels may encode some information useful for users. For instance, it may be a co-signed contract, which users may use later to prove the payment.",[34,103952,103953,103954,103957],{},"In this specific case users should wait until the transaction becomes visible in the block, and obtain the ",[9352,103955,103956],{},"Merkle proof"," for this kernel.\nOnce they have it - they can safely reuse it. Whereas the kernel itself will eventually be deleted from the system, they still will be able to prove it was there. The proof consists of two parts:",[56,103959,103960,103963],{},[59,103961,103962],{},"Proof that a specific kernel was in the specific system state (blockchain height + hash).",[59,103964,103965],{},"Proof that this older state is a part of the present blockchain.",{"title":14,"searchDepth":15,"depth":15,"links":103967},[103968,103969,103970,103971,103972,103973,103974],{"id":103748,"depth":154,"text":103749},{"id":103770,"depth":154,"text":103771},{"id":103894,"depth":154,"text":103895},{"id":103907,"depth":154,"text":103908},{"id":103920,"depth":154,"text":103921},{"id":103933,"depth":154,"text":103934},{"id":103946,"depth":154,"text":103947},{},"\u002Fdocs\u002Fcore-tech\u002Fthoughts-about-eliminating-transaction-kernels",{"description":14},"docs\u002Fcore-tech\u002FThoughts-about-eliminating-transaction-kernels","Z4zyz_tg8UjMl8Zkvyri82WKIaINQPt8UPHyumw3hlM",{"id":103981,"title":102449,"body":103982,"description":103989,"extension":17,"image":18,"meta":104638,"navTitle":18,"navigation":20,"path":104639,"seo":104640,"stem":104641,"__hash__":104642},"docs\u002Fdocs\u002Fcore-tech\u002FTransaction-creation-protocol.md",{"type":8,"value":103983,"toc":104625},[103984,103987,103990,103994,103997,104011,104014,104030,104033,104037,104045,104199,104202,104206,104209,104213,104254,104258,104261,104265,104379,104411,104415,104418,104508,104541,104545,104548,104552,104555,104611,104619,104622],[11,103985,102449],{"id":103986},"transaction-creation-protocol",[34,103988,103989],{},"Creating transactions in Beam (as with other MimbleWimble implementations) is interactive. In order to create a new Beam transaction, the sending and receiving wallets communicate with each other. The wallets exchange parameters which produce the transaction. As a result, the protocol between the wallets is extendable.",[41,103991,103993],{"id":103992},"what-is-a-transaction-in-beam","What is a transaction in Beam?",[34,103995,103996],{},"Any Beam transaction contains the following parameters:",[852,103998,103999,104002,104005,104008],{},[59,104000,104001],{},"A Set of input UTXOs (Inputs), which have to already be present in the blockchain.",[59,104003,104004],{},"A Set of newly created UTXOs (Outputs) and rangeproofs for each output",[59,104006,104007],{},"The Explicit excess (offset)",[59,104009,104010],{},"The transaction kernel",[34,104012,104013],{},"The transaction kernel requires the following parameters:",[852,104015,104016,104019,104021,104024,104027],{},[59,104017,104018],{},"Blinded excess",[59,104020,89182],{},[59,104022,104023],{},"Minimum height",[59,104025,104026],{},"Maximum height",[59,104028,104029],{},"Signature. This is a Schnorr’s multi-signature which signs all the values listed above",[34,104031,104032],{},"The minimum and maximum height values set the time in which the transaction is valid. Nodes will reject a transaction if its height is below the minimum height and greater than the maximum height",[48,104034,104036],{"id":104035},"a-simple-transaction-flow","A simple transaction flow.",[34,104038,104039,104040,104042,104043,181],{},"In the following example, a ",[100,104041,95515],{}," makes a payment to a ",[100,104044,95498],{},[852,104046,104047,104058,104087,104098,104108,104131,104148,104173,104193],{},[59,104048,104049,1475,104051,104053,104054,1475,104056,181],{},[100,104050,95515],{},[100,104052,95498],{}," agree on the ",[100,104055,8404],{},[100,104057,8147],{},[59,104059,6547,104060,104062,104063,9155,104066],{},[100,104061,95515],{}," selects input UTXO which allow paying ",[100,104064,104065],{},"amount + fee",[852,104067,104068,104076],{},[59,104069,104070,104071,2231,104073,104075],{},"If the sum of inputs is greater than ",[100,104072,104065],{},[100,104074,95515],{}," also creates output UTXO for the change.",[59,104077,6547,104078,104080,104081,1475,104084],{},[100,104079,95515],{}," creates overall blinding excess value ",[611,104082,104083],{},"blindingExcess_S",[611,104085,104086],{},"offset_S",[59,104088,6547,104089,104091,104092,1475,104095],{},[100,104090,95498],{}," creates outputs for a given amount and calculates blinding excess ",[611,104093,104094],{},"blindingExcess_R",[611,104096,104097],{},"offset_R",[59,104099,104100,104101,1475,104104,104107],{},"Both parties generate nonces ",[611,104102,104103],{},"nonce_S",[611,104105,104106],{},"nonce_R"," respectively.",[59,104109,104110,104111],{},"Both parties send each other public forms of excesses:\n",[852,104112,104113,104122],{},[59,104114,104115,1475,104118,104121],{},[611,104116,104117],{},"publicNonce_S = nonce_S*G",[611,104119,104120],{},"publicNonce_R = nonce_R*G"," – public nonces",[59,104123,104124,1475,104127,104130],{},[611,104125,104126],{},"publicExcess_S = blindingExcess_S*G",[611,104128,104129],{},"publicExcess_R = blindingExcess_R*G"," – public blinding excessed",[59,104132,104133,104134],{},"Both parties compute total blinding excess and total public nonce:\n",[852,104135,104136,104142],{},[59,104137,104138,104139],{},"total blinding excess: ",[611,104140,104141],{},"X = publicExcess_S + publicExcess_R",[59,104143,104144,104145],{},"total public nonce: ",[611,104146,104147],{},"K = publicNonce_S + publicNonce_R",[59,104149,104150,104151],{},"Both parties compute a Schnorr’s signature challenge:\n",[852,104152,104153],{},[59,104154,104155,104158,104159,104161,104162,2231,104165,2231,104167,92904,104170],{},[611,104156,104157],{},"e = H(K|M)",", where ",[611,104160,1252],{}," is a signed message, it calculates from kernel and it includes ",[611,104163,104164],{},"X",[611,104166,8147],{},[611,104168,104169],{},"min height",[611,104171,104172],{},"max height",[59,104174,104175,104176],{},"Both parties compute and send  to each other partial signatures:\n",[852,104177,104178,104185],{},[59,104179,104180,7024,104182],{},[611,104181,1447],{},[611,104183,104184],{},"partialSignature_S = publicNonce_S + e*publicExcess_S",[59,104186,104187,7024,104190],{},[611,104188,104189],{},"R",[611,104191,104192],{},"partialSignature_R = publicNonce_R + e*publicExcess_R",[59,104194,104195,104196],{},"Final signature is computed: ",[611,104197,104198],{},"signature = partialSignature_S + partialSignature_R",[34,104200,104201],{},"[[\u002Fimages\u002FSimpleTransactionFlow.png]]",[41,104203,104205],{"id":104204},"wallet-to-wallet-protocol","Wallet-To-Wallet protocol",[34,104207,104208],{},"The protocol itself consists of a single message and can be implemented in all the possible scenarios and transaction types. This message can be encapsulated and passed to other parties by different protocols, such as a direct message over a peer-to-peer connection, or an indirect message sent through the Secure Bulletin Board System (SBBS), and others.",[41,104210,104212],{"id":104211},"settxparameter","SetTxParameter",[852,104214,104215,104218,104228,104234,104240],{},[59,104216,104217],{},"Transfers a bundle of transaction parameters from one wallet to another. This message may initiate a new transaction.",[59,104219,104220,104223,104224,104227],{},[611,104221,104222],{},"WalletID m_From"," – The response address set by the wallet, used when sending messages over SBBS. ",[611,104225,104226],{},"WalletID"," is a packed 8 bytes of the SBBS channel and 32 bytes of the wallet’s public key.",[59,104229,104230,104233],{},[611,104231,104232],{},"TxID m_TxID"," – Unique 16-byte transaction identifier. Generated by the transaction initiator.",[59,104235,104236,104239],{},[611,104237,104238],{},"TxType m_Type"," – Transaction type (Simple, AtomicSwap etc.) This field is used to create a new transaction object when this message is the first in the line, or for verification purposes otherwise.",[59,104241,104242,104245,104246,104249,104250,104253],{},[611,104243,104244],{},"std::vector\u003Cstd::pair\u003CTxParameterID, ByteBuffer>> m_Parameters"," – Vector of transaction parameter pairs. Each parameter is a pair of IDs from the range ",[6995,104247,104248],{},"0...255"," and the value represented as a raw bytes buffer. ID values are separated in two parts: private and public (IDs below ",[611,104251,104252],{},"PrivateFirstParam == 128"," are private). Public parameters come from outside and they are not allowed to be overridden. Private parameters do not have limitations.",[41,104255,104257],{"id":104256},"example-simple-transaction","Example: Simple transaction",[34,104259,104260],{},"A simple transaction is a payment from Wallet A to Wallet B, with a change UTXO and a fee.",[48,104262,104264],{"id":104263},"wallet-a-sends-an-invitation","Wallet A sends an invitation.",[616,104266,104270],{"className":104267,"code":104268,"language":104269,"meta":14,"style":14},"language-javascript shiki shiki-themes github-dark","SetTxParameter\n{\n    m_From: XXXXXX \u002F\u002F response address set by wallet A. \n    m_TxID: 651798 \u002F\u002Fnewly generated random identifier.\n    m_Type: TxType::Simple,\n    [\n        {TxParameterID::Amount, amount},\n        {TxParameterID::Fee, fee},\n        {TxParameterID::MinHeight, minHeight}, \n        {TxParameterID::MaxHeight, maxHeight}, \n        {TxParameterID::IsSender, false}, \u002F\u002F flag to distinguish the sender from the receiver \n        {TxParameterID::PeerProtoVersion, protocolVersion}, \u002F\u002F current version is 1\n        {TxParameterID::PeerPublicExcess, publicExcess}, \n        {TxParameterID::PeerPublicNonce, publicNonce}\n    ]\n}\n","javascript",[611,104271,104272,104277,104281,104294,104307,104320,104325,104330,104335,104340,104345,104353,104361,104366,104371,104375],{"__ignoreMap":14},[6995,104273,104274],{"class":244,"line":6997},[6995,104275,104276],{"class":7000},"SetTxParameter\n",[6995,104278,104279],{"class":244,"line":15},[6995,104280,7001],{"class":7000},[6995,104282,104283,104286,104288,104291],{"class":244,"line":154},[6995,104284,104285],{"class":11320},"    m_From",[6995,104287,7024],{"class":7000},[6995,104289,104290],{"class":7006},"XXXXXX",[6995,104292,104293],{"class":7359}," \u002F\u002F response address set by wallet A. \n",[6995,104295,104296,104299,104301,104304],{"class":244,"line":7033},[6995,104297,104298],{"class":11320},"    m_TxID",[6995,104300,7024],{"class":7000},[6995,104302,104303],{"class":7006},"651798",[6995,104305,104306],{"class":7359}," \u002F\u002Fnewly generated random identifier.\n",[6995,104308,104309,104312,104314,104317],{"class":244,"line":7044},[6995,104310,104311],{"class":11320},"    m_Type",[6995,104313,7024],{"class":7000},[6995,104315,104316],{"class":11320},"TxType",[6995,104318,104319],{"class":7000},"::Simple,\n",[6995,104321,104322],{"class":244,"line":7107},[6995,104323,104324],{"class":7000},"    [\n",[6995,104326,104327],{"class":244,"line":7120},[6995,104328,104329],{"class":7000},"        {TxParameterID::Amount, amount},\n",[6995,104331,104332],{"class":244,"line":7133},[6995,104333,104334],{"class":7000},"        {TxParameterID::Fee, fee},\n",[6995,104336,104337],{"class":244,"line":7146},[6995,104338,104339],{"class":7000},"        {TxParameterID::MinHeight, minHeight}, \n",[6995,104341,104342],{"class":244,"line":7159},[6995,104343,104344],{"class":7000},"        {TxParameterID::MaxHeight, maxHeight}, \n",[6995,104346,104347,104350],{"class":244,"line":7172},[6995,104348,104349],{"class":7000},"        {TxParameterID::IsSender, false}, ",[6995,104351,104352],{"class":7359},"\u002F\u002F flag to distinguish the sender from the receiver \n",[6995,104354,104355,104358],{"class":244,"line":7185},[6995,104356,104357],{"class":7000},"        {TxParameterID::PeerProtoVersion, protocolVersion}, ",[6995,104359,104360],{"class":7359},"\u002F\u002F current version is 1\n",[6995,104362,104363],{"class":244,"line":7198},[6995,104364,104365],{"class":7000},"        {TxParameterID::PeerPublicExcess, publicExcess}, \n",[6995,104367,104368],{"class":244,"line":7211},[6995,104369,104370],{"class":7000},"        {TxParameterID::PeerPublicNonce, publicNonce}\n",[6995,104372,104373],{"class":244,"line":7220},[6995,104374,7461],{"class":7000},[6995,104376,104377],{"class":244,"line":7226},[6995,104378,7047],{"class":7000},[852,104380,104381,104387,104393,104399,104405],{},[59,104382,104383,104386],{},[611,104384,104385],{},"minHeight"," - if the height of the blockchain is less than the specified value, the transaction will not be taken into account",[59,104388,104389,104392],{},[611,104390,104391],{},"maxHeight"," - if the height of the blockchain is greater than the specified then the node will reject the created transaction.",[59,104394,104395,104398],{},[611,104396,104397],{},"protocolVersion"," - version of wallet-to-wallet protocol",[59,104400,104401,104404],{},[611,104402,104403],{},"publicExcess"," - the public form of the sender’s excess calculated from blinding factors of inputs and change output.",[59,104406,104407,104410],{},[611,104408,104409],{},"publicNonce"," - sender generates a secret nonce, this is its public value.",[48,104412,104414],{"id":104413},"wallet-b-confirms-invitation","Wallet B confirms invitation.",[34,104416,104417],{},"Wallet B creates an output for the received amount and generates a nonce to sign the transaction.",[616,104419,104421],{"className":104267,"code":104420,"language":104269,"meta":14,"style":14},"SetTxParameter\n{\n    m_From: YYYYYY  \u002F\u002F response address set by wallet B.  \n    m_TxID: 651798, \u002F\u002F the ID set by the  sender.\n    m_Type: TxType::Simple,\n    [\n        {TxParameterID::PeerProtoVersion, protocolVersion}\n        {TxParameterID::PeerPublicExcess, peerPublicExcess},\n        {TxParameterID::PeerSignature, receiversPartialSignature},\n        {TxParameterID::PeerPublicNonce, publicNonce},\n        {TxParameterID::PeerOutputs, outputs},\n        {TxParameterID::PeerOffset, offset}\n    ]\n}\n",[611,104422,104423,104427,104431,104443,104456,104466,104470,104475,104480,104485,104490,104495,104500,104504],{"__ignoreMap":14},[6995,104424,104425],{"class":244,"line":6997},[6995,104426,104276],{"class":7000},[6995,104428,104429],{"class":244,"line":15},[6995,104430,7001],{"class":7000},[6995,104432,104433,104435,104437,104440],{"class":244,"line":154},[6995,104434,104285],{"class":11320},[6995,104436,7024],{"class":7000},[6995,104438,104439],{"class":7006},"YYYYYY",[6995,104441,104442],{"class":7359},"  \u002F\u002F response address set by wallet B.  \n",[6995,104444,104445,104447,104449,104451,104453],{"class":244,"line":7033},[6995,104446,104298],{"class":11320},[6995,104448,7024],{"class":7000},[6995,104450,104303],{"class":7006},[6995,104452,2231],{"class":7000},[6995,104454,104455],{"class":7359},"\u002F\u002F the ID set by the  sender.\n",[6995,104457,104458,104460,104462,104464],{"class":244,"line":7044},[6995,104459,104311],{"class":11320},[6995,104461,7024],{"class":7000},[6995,104463,104316],{"class":11320},[6995,104465,104319],{"class":7000},[6995,104467,104468],{"class":244,"line":7107},[6995,104469,104324],{"class":7000},[6995,104471,104472],{"class":244,"line":7120},[6995,104473,104474],{"class":7000},"        {TxParameterID::PeerProtoVersion, protocolVersion}\n",[6995,104476,104477],{"class":244,"line":7133},[6995,104478,104479],{"class":7000},"        {TxParameterID::PeerPublicExcess, peerPublicExcess},\n",[6995,104481,104482],{"class":244,"line":7146},[6995,104483,104484],{"class":7000},"        {TxParameterID::PeerSignature, receiversPartialSignature},\n",[6995,104486,104487],{"class":244,"line":7159},[6995,104488,104489],{"class":7000},"        {TxParameterID::PeerPublicNonce, publicNonce},\n",[6995,104491,104492],{"class":244,"line":7172},[6995,104493,104494],{"class":7000},"        {TxParameterID::PeerOutputs, outputs},\n",[6995,104496,104497],{"class":244,"line":7185},[6995,104498,104499],{"class":7000},"        {TxParameterID::PeerOffset, offset}\n",[6995,104501,104502],{"class":244,"line":7198},[6995,104503,7461],{"class":7000},[6995,104505,104506],{"class":244,"line":7211},[6995,104507,7047],{"class":7000},[852,104509,104510,104514,104520,104526,104531,104536],{},[59,104511,104512,104398],{},[611,104513,104397],{},[59,104515,104516,104519],{},[611,104517,104518],{},"peerPublicExcess"," - receiver’s public excess, calculated from the output’s blinding factors.",[59,104521,104522,104525],{},[611,104523,104524],{},"receiversPartialSignature"," - receiver’s part of Schnorr multi-signature.",[59,104527,104528,104530],{},[611,104529,104409],{}," - the public form of a nonce for signature.",[59,104532,104533,104535],{},[611,104534,95866],{}," - vector of outputs, created by the receiver.",[59,104537,104538,104540],{},[611,104539,91438],{}," - offset value, randomly taken part of outputs blinding factor.",[48,104542,104544],{"id":104543},"wallet-a-confirms-the-transaction","Wallet A confirms the transaction.",[34,104546,104547],{},"If the receiver’s signature is valid, sender calculates its part of the signature.\nNow Wallet A has all required data to create the transaction and broadcast it to a node.",[48,104549,104551],{"id":104550},"cancellation-or-error","Cancellation or error",[34,104553,104554],{},"If any of the participants wish to interrupt the process, they broadcast the following message:",[616,104556,104558],{"className":104267,"code":104557,"language":104269,"meta":14,"style":14},"SetTxParameter \n{\n    m_From: ZZZZZZ \u002F\u002F response address set by the wallet\n    m_TxID: 651798, \u002F\u002F the ID set by the sender.    m_Type: TxType::Simple,\n    [\n        {TxParameterID::FailureReason, reason}\n    ]\n}\n",[611,104559,104560,104565,104569,104581,104594,104598,104603,104607],{"__ignoreMap":14},[6995,104561,104562],{"class":244,"line":6997},[6995,104563,104564],{"class":7000},"SetTxParameter \n",[6995,104566,104567],{"class":244,"line":15},[6995,104568,7001],{"class":7000},[6995,104570,104571,104573,104575,104578],{"class":244,"line":154},[6995,104572,104285],{"class":11320},[6995,104574,7024],{"class":7000},[6995,104576,104577],{"class":7006},"ZZZZZZ",[6995,104579,104580],{"class":7359}," \u002F\u002F response address set by the wallet\n",[6995,104582,104583,104585,104587,104589,104591],{"class":244,"line":7033},[6995,104584,104298],{"class":11320},[6995,104586,7024],{"class":7000},[6995,104588,104303],{"class":7006},[6995,104590,2231],{"class":7000},[6995,104592,104593],{"class":7359},"\u002F\u002F the ID set by the sender.    m_Type: TxType::Simple,\n",[6995,104595,104596],{"class":244,"line":7044},[6995,104597,104324],{"class":7000},[6995,104599,104600],{"class":244,"line":7107},[6995,104601,104602],{"class":7000},"        {TxParameterID::FailureReason, reason}\n",[6995,104604,104605],{"class":244,"line":7120},[6995,104606,7461],{"class":7000},[6995,104608,104609],{"class":244,"line":7133},[6995,104610,7047],{"class":7000},[852,104612,104613],{},[59,104614,104615,104618],{},[611,104616,104617],{},"reason"," - 32 bit code of failure reason",[34,104620,104621],{},"Note: Cancellation is possible only in specific moments of this flow. Receiver can cancel transaction only during invitation, i.e. after receiver has accepted invitation and sent his data to the sender, he has no guaranties that transactions will not be written into the blockchain. Sender can interrupt transaction only before he sent transaction to the node.",[8692,104623,104624],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":14,"searchDepth":15,"depth":15,"links":104626},[104627,104630,104631,104632],{"id":103992,"depth":15,"text":103993,"children":104628},[104629],{"id":104035,"depth":154,"text":104036},{"id":104204,"depth":15,"text":104205},{"id":104211,"depth":15,"text":104212},{"id":104256,"depth":15,"text":104257,"children":104633},[104634,104635,104636,104637],{"id":104263,"depth":154,"text":104264},{"id":104413,"depth":154,"text":104414},{"id":104543,"depth":154,"text":104544},{"id":104550,"depth":154,"text":104551},{},"\u002Fdocs\u002Fcore-tech\u002Ftransaction-creation-protocol",{"title":102449,"description":103989},"docs\u002Fcore-tech\u002FTransaction-creation-protocol","TTLAy4Se35DDR2rxTfVUo79XK7LZjykq-PCEIm42uLs",{"id":104644,"title":104645,"body":104646,"description":104650,"extension":17,"image":18,"meta":104838,"navTitle":18,"navigation":20,"path":104839,"seo":104840,"stem":104841,"__hash__":104842},"docs\u002Fdocs\u002Fcore-tech\u002FTransaction-graph-obfuscation.md","Transaction Graph Obfuscation",{"type":8,"value":104647,"toc":104828},[104648,104651,104664,104670,104674,104677,104684,104691,104695,104698,104705,104708,104711,104718,104721,104725,104728,104744,104747,104751,104754,104757,104761,104764,104767,104799,104803,104806,104809,104812,104815,104818,104822,104825],[34,104649,104650],{},"MW offers great anonymity out-of-the-box, because of the following:",[56,104652,104653,104655,104658],{},[59,104654,91077],{},[59,104656,104657],{},"Transaction values are blinded",[59,104659,104660,104661,181],{},"Transaction graph is ",[9352,104662,104663],{},"obfuscated",[34,104665,104666,104667,181],{},"Now, it may sound surprising, but the (3) is actually a ",[37,104668,104669],{},"misconception",[48,104671,104673],{"id":104672},"what-why","What? Why?",[34,104675,104676],{},"As we know, original transactions are merged in a block non-interactively, so that the block is one big transaction, and there is no feasible way to recover the original transaction graph. All the UTXOs look just as arbitrary EC points, and every input can literally correspond to any output. And the bigger the block is - the higher is the obfuscation degree.",[34,104678,104679,104680,104683],{},"But let's think how the transactions make their way to the block. First they are prepared by the participants, and then they are ",[100,104681,104682],{},"broadcasted"," to the network. And the participants are interested to broadcast it to the entire network, to as many nodes as possible, to increase the probability of it being accepted in a block, and the block mined eventually.",[34,104685,104686,104687,104690],{},"If this is indeed the case, i.e. transactions are just broadcasted as-is to the entire network, then the attacker can easily see the original transaction graph with just a ",[9352,104688,104689],{},"single"," malicious node, and the later obfuscation in the block doesn't matter anymore.",[48,104692,104694],{"id":104693},"so-what-no-addresses-so-why-bother","So what? No addresses, so why bother?",[34,104696,104697],{},"Is the transaction graph really important? It is. Moreover, in MW hiding the transaction graph seems to be way more important than hiding the user identities.",[34,104699,104700,104701,104704],{},"MW transaction is anonymous, but it reveals one important thing: there is clearly a ",[9352,104702,104703],{},"relation"," between the users. So looking at the transaction graph attacker sees the \"relation\" graph. If arbitrary user gets revealed (for whatever reason) - he can disclose the related users, and the attacker knows for sure there is a relation.",[1898,104706,6839],{"id":104707},"example",[34,104709,104710],{},"Suppose Bob has a store, and Alice is his rival, she wants to know Bob's supplier. So she pays Bob (buys something from him), then Bob pays his supplier Charlie, later Charlie pays Dan, Dan pays Erin. Alice sees all those transactions, but has no idea of user identities.",[34,104712,104713,104714,104717],{},"Eventually Erin gets revealed - buys something from Alice for instance. Alice kindly asks ",[6995,104715,104716],{},"bribes \u002F threatens \u002F tortures"," Erin to tell her who did he get that UTXO from, this way Dan gets revealed. And so on. At every step Alice is certain there is a relation to the next user.",[34,104719,104720],{},"In contrast, if we assume that the user identity are not well concealed, but the transaction graph is obfuscated - then there is almost no problem. Attacker only gathers the information that a specific user performs a transaction, without any knowledge of the transaction amount, and who is that designated for.",[48,104722,104724],{"id":104723},"are-there-existing-solutions","Are there existing solutions?",[34,104726,104727],{},"Of course. There are known solutions: CoinShuffle, ValueShuffle, but they are not perfect.",[852,104729,104730,104733],{},[59,104731,104732],{},"This requires groups of unrelated people to cooperate",[59,104734,104735,104736],{},"Attacker may create many malicious users \"for free\", that would pretend to participate in CoinShuffle, but in practice can:\n",[852,104737,104738,104741],{},[59,104739,104740],{},"Learn the transaction graph. Would act as unrelated users, but actually belong to the attacker.",[59,104742,104743],{},"DoS attack: created invalid transactions (reference non-existing inputs, etc.)",[34,104745,104746],{},"Those techniques may be useful, but may cause hassles for the users: more preparation time, higher chance to spoil the transaction.\nThis means in turn that the majority of users may decide to skip this obfuscation, and broadcast the original transaction as-is, because \"they have nothing to hide\". This naturally would affect the privacy of other users (anonymity works best when obeyed by all the users).",[41,104748,104750],{"id":104749},"proposition-in-node-obfuscation","Proposition: In-Node obfuscation",[34,104752,104753],{},"Given the fact that MW transactions are merged non-interactively - Nodes can automatically obfuscate the original transaction graph up to some degree. It may not necessarily replace, but complement transparently the obfuscation done by the users.",[34,104755,104756],{},"This can easily be done in a modified Dandelion. Though originally developed to conceal the user identity, it can be adopted to obfuscate transaction graph during the stem phase, where the transactions get passed through several nodes, but before they are broadcasted to the entire network.",[48,104758,104760],{"id":104759},"non-interactive-merge","Non-interactive merge",[34,104762,104763],{},"That is, while in the stem phase, instead of immediately passing the transaction to a single peer, the Node may wait for some reasonable timeout to try to merge it with another one. So that the transaction grows like a snowball.",[34,104765,104766],{},"The following however should be taken into consideration",[852,104768,104769,104772,104780,104788],{},[59,104770,104771],{},"To be \"fair\" Node should only merge transactions with comparable fee\u002Fsize ratio. Otherwise this would reduce the motivation for users to increase the fee (if it'll be diffused anyway).",[59,104773,104774,104775],{},"In particular a Node can just  \"hijack\" the fee: append its transaction without any fee to another one.\n",[852,104776,104777],{},[59,104778,104779],{},"There's nothing can be done to prevent this, but users may see the unfair behavior a-posteriori, and ban that Node.",[59,104781,104782,104783],{},"Malicious Node can record the transactions that it passes in the stem phase, and then see the difference when they're broadcasted in the fluff phase.\n",[852,104784,104785],{},[59,104786,104787],{},"To minimize the amount of leaked info Nodes should merge only transactions of comparable size, instead of incrementally add small transactions.",[59,104789,104790,104791],{},"To prevent DoS attacks Nodes should ensure there are no conflicts. Means:\n",[852,104792,104793,104796],{},[59,104794,104795],{},"All the being-merged transactions are valid, and reference existing inputs",[59,104797,104798],{},"No double-spends or etc.",[48,104800,104802],{"id":104801},"dummy-utxos","Dummy UTXOs",[34,104804,104805],{},"Another possibility: any Node can easily \"enlarge\" a transaction by appending one or several dummy outputs to it. By \"dummy\" we mean an UTXO which encodes zero value, but looks just as good as the others.",[34,104807,104808],{},"For every such an appended dummy UTXO the Node sets a random timer (in terms of blocks num), after which it would append the same UTXO as an input in a random transaction later, which (probably) has no relation to the original one.",[34,104810,104811],{},"By this the Node creates a \"background activity\", which is mixed with and should be indistinguishable from the real activity.",[34,104813,104814],{},"The obvious disadvantage of this scheme is the creation of dummy UTXOs, waste of the block space, and network traffic + resources for validating it. But the good part is that it won't affect the scalability in the long-run, since kernels aren't created, and all the dummy UTXOs are spent eventually.",[34,104816,104817],{},"In practice it seems that a combination of both schemes should be used: merge real transactions whenever possible, or add dummies.",[48,104819,104821],{"id":104820},"how-much-should-the-transaction-graph-be-obfuscated","How much should the transaction graph be obfuscated",[34,104823,104824],{},"No exact numbers yet. But it seems that even a slight obfuscation has a dramatic positive effect on the anonymity. For instance, if we merge just 2 transactions at once, it already creates roughly 1\u002F2 uncertainty for the input-output relation. So that if an attacker reveals a user after 10 hops - there is only roughly a 10^-3 probability for the user relation.",[34,104826,104827],{},"Since the transaction being-passed doesn't have an indication is it original or not, the obfuscation criteria should be based on the visible transaction parameters. Which comes down to the number of inputs and outputs.",{"title":14,"searchDepth":15,"depth":15,"links":104829},[104830,104831,104832,104833],{"id":104672,"depth":154,"text":104673},{"id":104693,"depth":154,"text":104694},{"id":104723,"depth":154,"text":104724},{"id":104749,"depth":15,"text":104750,"children":104834},[104835,104836,104837],{"id":104759,"depth":154,"text":104760},{"id":104801,"depth":154,"text":104802},{"id":104820,"depth":154,"text":104821},{},"\u002Fdocs\u002Fcore-tech\u002Ftransaction-graph-obfuscation",{"description":104650},"docs\u002Fcore-tech\u002FTransaction-graph-obfuscation","EaBWuFeJa3wtZ-sCHOMdqTLNaiyQIgGEsLDIZINWHGE",{"id":104844,"title":104845,"body":104846,"description":104850,"extension":17,"image":18,"meta":105090,"navTitle":18,"navigation":20,"path":105091,"seo":105092,"stem":105093,"__hash__":105094},"docs\u002Fdocs\u002Fcore-tech\u002FTransaction-ordering-and-front-running-protection.md","Transaction Ordering And Front Running Protection",{"type":8,"value":104847,"toc":105086},[104848,104851,104859,104862,104870,104874,104877,104887,104895,104901,104982,104985,105018,105021,105025,105031,105070,105073,105084],[34,104849,104850],{},"The following is a design of a trading system, which aims to achieve 2 goals:",[56,104852,104853,104856],{},[59,104854,104855],{},"Front-running protection.",[59,104857,104858],{},"Provide faster confirmation time.",[34,104860,104861],{},"It consists of 2 parts that should be implemented:",[852,104863,104864,104867],{},[59,104865,104866],{},"Layer-1 (contract)",[59,104868,104869],{},"Layer-2 (node\u002Fminer, transaction creation)",[41,104871,104873],{"id":104872},"layer-1","Layer-1",[34,104875,104876],{},"The idea is to enforce strict transaction ordering. The transaction that relies on specific states of the contracts invoked, should only be included at the intended position. Should not be possible to include if other transaction that may have relevant effects is included in front of it.",[34,104878,104879,104880,104883,104884,104886],{},"This is achieved by a special synchronization contract, named ",[611,104881,104882],{},"Semaphore",", designed to be invoked by other contracts. Its state consists of a single hash value, which effectively denotes the current state of the trading system. When a contract that operates in such a synchronized manner is invoked - it in turn invokes the ",[611,104885,104882],{}," contract, which does the following:",[56,104888,104889,104892],{},[59,104890,104891],{},"Verifies that its current state is indeed what it should be.",[59,104893,104894],{},"Mutates its state w.r.t. the caller contract, and the details (parameters) of its invocation.",[34,104896,104897,104898,104900],{},"That is, a pseudo code of the ",[611,104899,104882],{}," looks like this:",[616,104902,104904],{"className":89975,"code":104903,"language":841,"meta":14,"style":14},"OnSynchronize(Hash initialValue, int iMethod, Blob params)\n{\n    Hash currentValue = LoadState();\n    if (currentValue != initialValue)\n        Halt(); \u002F\u002F order violation!\n\n    HashCalculator calc;\n    calc\n        \u003C\u003C initialValue\n        \u003C\u003C get_CallerContractID()\n        \u003C\u003C iMethod\n        \u003C\u003C params;\n\n    calc >> currentValue;\n    SaveState(currentValue);\n}\n",[611,104905,104906,104911,104915,104920,104925,104930,104934,104939,104944,104949,104954,104959,104964,104968,104973,104978],{"__ignoreMap":14},[6995,104907,104908],{"class":244,"line":6997},[6995,104909,104910],{},"OnSynchronize(Hash initialValue, int iMethod, Blob params)\n",[6995,104912,104913],{"class":244,"line":15},[6995,104914,7001],{},[6995,104916,104917],{"class":244,"line":154},[6995,104918,104919],{},"    Hash currentValue = LoadState();\n",[6995,104921,104922],{"class":244,"line":7033},[6995,104923,104924],{},"    if (currentValue != initialValue)\n",[6995,104926,104927],{"class":244,"line":7044},[6995,104928,104929],{},"        Halt(); \u002F\u002F order violation!\n",[6995,104931,104932],{"class":244,"line":7107},[6995,104933,14371],{"emptyLinePlaceholder":20},[6995,104935,104936],{"class":244,"line":7120},[6995,104937,104938],{},"    HashCalculator calc;\n",[6995,104940,104941],{"class":244,"line":7133},[6995,104942,104943],{},"    calc\n",[6995,104945,104946],{"class":244,"line":7146},[6995,104947,104948],{},"        \u003C\u003C initialValue\n",[6995,104950,104951],{"class":244,"line":7159},[6995,104952,104953],{},"        \u003C\u003C get_CallerContractID()\n",[6995,104955,104956],{"class":244,"line":7172},[6995,104957,104958],{},"        \u003C\u003C iMethod\n",[6995,104960,104961],{"class":244,"line":7185},[6995,104962,104963],{},"        \u003C\u003C params;\n",[6995,104965,104966],{"class":244,"line":7198},[6995,104967,14371],{"emptyLinePlaceholder":20},[6995,104969,104970],{"class":244,"line":7211},[6995,104971,104972],{},"    calc >> currentValue;\n",[6995,104974,104975],{"class":244,"line":7220},[6995,104976,104977],{},"    SaveState(currentValue);\n",[6995,104979,104980],{"class":244,"line":7226},[6995,104981,7047],{},[34,104983,104984],{},"Then, any other contract that enforces ordering:",[616,104986,104988],{"className":89975,"code":104987,"language":841,"meta":14,"style":14},"OnSomeMethod(Hash semaphoreState, Blob params)\n{\n      \u002F\u002F ... ensure correct access order\n      CallFar(semaphoreContractID, semaphoreState, methodID, params);\n      \u002F\u002F ... continue as usual\n}\n",[611,104989,104990,104995,104999,105004,105009,105014],{"__ignoreMap":14},[6995,104991,104992],{"class":244,"line":6997},[6995,104993,104994],{},"OnSomeMethod(Hash semaphoreState, Blob params)\n",[6995,104996,104997],{"class":244,"line":15},[6995,104998,7001],{},[6995,105000,105001],{"class":244,"line":154},[6995,105002,105003],{},"      \u002F\u002F ... ensure correct access order\n",[6995,105005,105006],{"class":244,"line":7033},[6995,105007,105008],{},"      CallFar(semaphoreContractID, semaphoreState, methodID, params);\n",[6995,105010,105011],{"class":244,"line":7044},[6995,105012,105013],{},"      \u002F\u002F ... continue as usual\n",[6995,105015,105016],{"class":244,"line":7107},[6995,105017,7047],{},[34,105019,105020],{},"By such strict transaction order is enforced, and any transaction, if accepted, yields exactly the results anticipated by the user.",[41,105022,105024],{"id":105023},"layer-2","Layer 2",[34,105026,105027,105028,105030],{},"The above solves the front-running problem, but if implemented alone means that only a single ",[611,105029,104882],{},"-dependent transaction can be mined in a block.\nThe next step is improving the management of the transaction pool. That is pending transactions, that are supposed to be mined at some point, but not mined yet. It consists of the following:",[852,105032,105033,105036,105044,105052],{},[59,105034,105035],{},"Node should report all the pending transactions in the pool (already implemented).",[59,105037,105038,105039],{},"Node should support the blockchain state querying (contract variables and etc.), which includes the side effects of the selected transactions.\n",[852,105040,105041],{},[59,105042,105043],{},"This is needed to create a transaction that is supposed to be included after a specific pending transaction.",[59,105045,105046,105047],{},"When transaction is broadcast, it may specify after which other transaction it should be included.\n",[852,105048,105049],{},[59,105050,105051],{},"Then its validation should be done on top of that other transaction respectively.",[59,105053,105054,105055],{},"For mining, more sophisticated transaction selection algorithm should be used\n",[852,105056,105057,105063],{},[59,105058,105059,105060,105062],{},"At the moment, transaction set is considered ",[100,105061,92259],{},", the node selects them according to their fee\u002Fresources ratio.",[59,105064,105065,105066,105069],{},"A more correct algorithm should organize transactions in a set of ",[100,105067,105068],{},"trees"," of dependent transactions.",[34,105071,105072],{},"Once implemented, this achieves the following:",[852,105074,105075,105078,105081],{},[59,105076,105077],{},"Many transactions may be included in the block, yet their order is guaranteed.",[59,105079,105080],{},"Public fee market. In case of order conflict, i.e. different users send transactions for the same order, they are encouraged to pay more fees to be selected.",[59,105082,105083],{},"Faster effective confirmation times. Although the average block time remains the same, the transactions are already visible in the pool. The more transactions (and their fees) are placed on top of a user transaction - the more likely it will be included in that order. Users may even send additional dependent transactions on top of their previous ones, before they are finally confirmed in a block.",[8692,105085,14730],{},{"title":14,"searchDepth":15,"depth":15,"links":105087},[105088,105089],{"id":104872,"depth":15,"text":104873},{"id":105023,"depth":15,"text":105024},{},"\u002Fdocs\u002Fcore-tech\u002Ftransaction-ordering-and-front-running-protection",{"description":104850},"docs\u002Fcore-tech\u002FTransaction-ordering-and-front-running-protection","SvKZUjhb9ubaLxb24tGCmaaQhQRnXebyLbn2VRQWRI4",{"id":105096,"title":105097,"body":105098,"description":105102,"extension":17,"image":18,"meta":105126,"navTitle":18,"navigation":20,"path":105127,"seo":105128,"stem":105129,"__hash__":105130},"docs\u002Fdocs\u002Fcore-tech\u002FTransactions-with-Beam-Wallet-CLI-over-TOR-network.md","Transactions With Beam Wallet CLI Over TOR Network",{"type":8,"value":105099,"toc":105124},[105100,105103,105106,105121],[34,105101,105102],{},"You can use the TOR network to hide your real IP during operation on the Beam CLI wallet.\nThis scenario is possible only for the CLI wallet connected to a remote node.\nThe TOR network will act as a proxy between a wallet and node.\nThis lets to anonymize the IP address of the BEAM Wallet machine for Node connected to.\nAt the moment this Tor support is implemented due to SOCKS5 proxy interface of Tor service.",[34,105104,105105],{},"Here are a few steps to set up an anonymous connection and hand on Beam:",[56,105107,105108,105111,105114],{},[59,105109,105110],{},"Install TOR service on your machine (Browser or dedicated TOR service). The easiest way is to use browser installation.",[59,105112,105113],{},"Run a TOR browser or service. When you run a browser, tor service is started automatically.",[59,105115,105116,105117],{},"Run BEAM Wallet CLI with \"--proxy = true\" and \"--proxy_addr ",[105118,105119,105120],"tor",{"service":14,"address":14},"\" arguments added. The wallet will work through the specified proxy server. Default TOR address (localhost: 9150) will be used in case when no \"--proxy_addr\" parameter specified.",[34,105122,105123],{},"Don't forget that Rescan command works only with its own node and will be impossible to use with TOR anonymization.",{"title":14,"searchDepth":15,"depth":15,"links":105125},[],{},"\u002Fdocs\u002Fcore-tech\u002Ftransactions-with-beam-wallet-cli-over-tor-network",{"description":105102},"docs\u002Fcore-tech\u002FTransactions-with-Beam-Wallet-CLI-over-TOR-network","K4BH_SIB4QR_NfN2jk0H8ALr1RSiKOQsFOPaIXEImrw",{"id":105132,"title":105133,"body":105134,"description":105138,"extension":17,"image":18,"meta":105703,"navTitle":18,"navigation":20,"path":105704,"seo":105705,"stem":105706,"__hash__":105707},"docs\u002Fdocs\u002Fcore-tech\u002FUTXO-set,-horizons-and-cut-through.md","UTXO Set, Horizons And Cut Through",{"type":8,"value":105135,"toc":105687},[105136,105139,105143,105150,105153,105167,105170,105182,105185,105199,105202,105205,105208,105211,105218,105231,105234,105237,105240,105248,105252,105255,105259,105266,105269,105296,105299,105315,105318,105366,105370,105377,105380,105383,105395,105399,105402,105464,105468,105471,105474,105480,105489,105495,105500,105506,105509,105513,105516,105563,105567,105577,105616,105620,105623,105646,105649,105671,105684],[34,105137,105138],{},"One of the MW benefits is the cut-through, i.e. ability to discard the spent TXOs, yet be able to prove the authenticity of the current state.",[11,105140,105142],{"id":105141},"horizons","Horizons",[34,105144,105145,105146,105149],{},"The term ",[100,105147,105148],{},"horizon"," in this context denotes a relative distance (in terms of blocks) from the current blockchain tip, subtracting it from the current blockchain height we get the appropriate height that corresponds to this horizon. The blocks and TXOs created\u002Fspent below this height are subject to a special processing.",[34,105151,105152],{},"In Beam there are 3 horizons defined:",[56,105154,105155,105161,105164],{},[59,105156,105157,105158,105160],{},"Max-rollback distance",[4953,105159],{},"Fixed, part of the consensus parameters. For mainnet equals to 1440, which corresponds to 1 day for expected block creation rate.",[59,105162,105163],{},"Hi-Horizon",[59,105165,105166],{},"Lo-Horizon",[34,105168,105169],{},"The latter 2 horizons can be set to arbitrary values and differ in each node. The following criteria however must be satisfied:",[852,105171,105172],{},[59,105173,105174,105177,105178,105177,105180],{},[611,105175,105176],{},"Max-rollback-distance"," \u003C= ",[611,105179,105163],{},[611,105181,105166],{},[34,105183,105184],{},"or in terms of heights:",[852,105186,105187],{},[59,105188,105189,105192,105193,105192,105196],{},[611,105190,105191],{},"Max-rollback-Height"," >= ",[611,105194,105195],{},"Hi-Height",[611,105197,105198],{},"Lo-Height",[41,105200,105157],{"id":105201},"max-rollback-distance",[34,105203,105204],{},"This horizon, as its name suggests, defines the maximum number of the recent blocks accepted by the node as the current consensus branch, that can potentially be reverted in order to switch to a competing branch. Or, speaking simply, this is how deep the reorg can be.",[34,105206,105207],{},"So that recent blocks are volatile (subject to potential reorgs), but blocks below this height can be considered stable. This defines the minimum number of the recent blocks that each node is obliged to keep (or be able to re-create).",[41,105209,105163],{"id":105210},"hi-horizon",[34,105212,105213,105214,105217],{},"Defines how long the spent TXO must be ",[9352,105215,105216],{},"fully"," kept in the node after it was spent.",[34,105219,105220,105221,105223,105224,105226,105227,105230],{},"For TXOs that are spent below the current ",[611,105222,105195],{}," (which is the current blockchain height minus ",[611,105225,105163],{},") the node will keep the TXO commitment, but not the signature (bulletproof). This is called ",[100,105228,105229],{},"Reduced TXO"," (a.k.a. naked, diluted, skeleton).",[34,105232,105233],{},"Since the UTXO signature takes most of its size (~95%), getting rid of it has a dramatic impact on the storage size and the amount of information that should be negotiated when such a reduced TXO sent.",[34,105235,105236],{},"Obviously reduced TXO can't be trusted to be a valid TXO object (well-formed, with unknown positive value restricted to 64 bits). However they play an important role in the synchronization process (as we'll see later), and as long as the UTXO set (i.e. unspent TXOs only) doesn't contain reduced TXOs - there is no problem.",[41,105238,105166],{"id":105239},"lo-horizon",[34,105241,105242,105243,105223,105245,105247],{},"Defines how long the reduced spent TXO must be kept in the node after it was spent. TXOs that are spent below the current ",[611,105244,105198],{},[611,105246,105166],{},") will be completely erased in the node, without any further trace of existence.",[11,105249,105251],{"id":105250},"synchronization","Synchronization",[34,105253,105254],{},"During standard synchronization process blocks are downloaded and verified one by one (as in most of the blockchains). However each node can decide to skip several intermediate steps, and \"jump\" to an arbitrary new height. The goal of the cut-through is to support such jumps with minimal amount of information transferred.",[41,105256,105258],{"id":105257},"sparse-blocks","Sparse blocks",[34,105260,105261,105262,105265],{},"In Beam this is achieved by using ",[100,105263,105264],{},"sparse blocks",", that contain only parts of the original blocks that are essential to achieve the requested final state. So that during synchronization the node still downloads individual blocks, but they are reduced to the minimum, their verification is delayed until they are all downloaded, and only the final state is fully verified.",[34,105267,105268],{},"When requesting the sparse block the following information must be specified:",[852,105270,105271,105278,105284],{},[59,105272,105273,105274,2231,105276,8764],{},"Block identifier (",[611,105275,24383],{},[611,105277,1150],{},[59,105279,105280,105283],{},[611,105281,105282],{},"H0"," - Current height of the requesting node (i.e. start height of the jump)",[59,105285,105286,1475,105288,105290,105291,105295],{},[611,105287,105198],{},[611,105289,105195],{}," that the node wants to achieve ",[9352,105292,105293],{},[37,105294,9748],{}," the jump",[34,105297,105298],{},"The sparse block is generated on-the-fly by the target node. It includes all the original kernels (which are, obviously, not a subject to cut-through), as well as inputs and outputs after the following filtration:",[56,105300,105301,105309],{},[59,105302,105303,105304,105306,105307],{},"Remove all the inputs and outputs for TXOs that were created above ",[611,105305,105282],{}," and spent below or equal ",[611,105308,105198],{},[59,105310,105311,105312,105314],{},"Reduce outputs (i.e. remove the bulletproof) that are spent below or equal ",[611,105313,105195],{}," (unless already removed by (1))",[34,105316,105317],{},"This comes down to the following processing for every input and output",[852,105319,105320,105345],{},[59,105321,105322,105323],{},"Inputs\n",[852,105324,105325,105335,105342],{},[59,105326,105327,105328,105331,105332,105334],{},"if ",[611,105329,105330],{},"SpendHeight"," > ",[611,105333,105198],{}," then include",[59,105336,105327,105337,105177,105340,105334],{},[611,105338,105339],{},"CreateHeight",[611,105341,105282],{},[59,105343,105344],{},"if Otherwise - exclude (skip)",[59,105346,105347,105348],{},"Outputs\n",[852,105349,105350,105357,105364],{},[59,105351,105327,105352,105331,105354,105356],{},[611,105353,105330],{},[611,105355,105195],{}," then include full",[59,105358,105327,105359,105331,105361,105363],{},[611,105360,105330],{},[611,105362,105198],{}," then include reduced",[59,105365,105344],{},[41,105367,105369],{"id":105368},"pros-and-cons-of-this-scheme","Pros and Cons of this scheme",[34,105371,105372,105373,105376],{},"The main advantage of the described scheme is its ",[9352,105374,105375],{},"versatility",". Unlike older scheme which supported cut-through only from the genesis, this scheme supports arbitrary height jumps.\nA typical use-case is a node\u002Fwallet that was offline for several days\u002Fweeks - will be able to download only the minimum info to perform the transition to the most recent state.",[34,105378,105379],{},"Another advantage is that in order to support this the source node doesn't need to \"work hard\", generate a lot of data on-the-fly or prepare in advance (consuming extra storage), which can be exploited by the attacker. With proper data structures generation of sparse blocks can be nearly as fast as retrieving the original blocks.",[34,105381,105382],{},"The price of this versatility is the need to keep the reduced TXOs for reasonably long duration. This is their role. As can be seen, in order to be able to create the sparse block, in particular include all the needed inputs, the target node must keep the information about spent TXOs: their commitment, create and spend heights.",[34,105384,105385,105386,105388,105389,105391,105392,105394],{},"So that the ",[611,105387,105166],{}," parameter affects the ability of the node to generate the cut-through data for other nodes. A \"selfish\" node may set ",[611,105390,105166],{}," equal to ",[611,105393,105163],{},", means it won't keep reduced TXOs at all. Such a node will only be able to provide cut-through info for others from the genesis. But, as, we said, the reduced TXOs are dramatically smaller than full TXOs, so that keeping them for reasonable duration (months) should not affect the storage size significantly.",[41,105396,105398],{"id":105397},"cut-through-verification","Cut-through verification",[34,105400,105401],{},"During the synchronization process for each received blocks there's a verification, that checks as much as possible for the moment, whereas the full verification is postponed until all the sparse blocks are downloaded.",[852,105403,105404,105428,105453],{},[59,105405,105406,105407],{},"For each block:\n",[852,105408,105409,105416,105419,105422,105425],{},[59,105410,105411,105412,105415],{},"Kernels are valid. ",[611,105413,105414],{},"Heightlock"," is in agreement with the block height, Schnorr's signature is valid.",[59,105417,105418],{},"Kernel commitment (MMR root of the kernels of this block) corresponds to the header. This is very important, means all the original transactions are included.",[59,105420,105421],{},"All inputs reference existing UTXOs in the current state (i.e. TXOs that are unspent yet).",[59,105423,105424],{},"All non-reduced outputs have valid bulletproofs.",[59,105426,105427],{},"All inputs and outputs are interpreted, and the UTXO set undergoes appropriate transformation.",[59,105429,105430,105431,105433,105434],{},"For each block above or equal ",[611,105432,105198],{}," (in addition to the mentioned):\n",[852,105435,105436,105450],{},[59,105437,105438,105439],{},"UTXO set commitment corresponds to the header.\n",[852,105440,105441,105447],{},[59,105442,105443,105444,105446],{},"This verification is possible only from ",[611,105445,105198],{}," and above, since below this height there may be some TXOs, info about which was totally omitted.",[59,105448,105449],{},"This verification is not essential to prove the validity of the final state, however it should harden DOS attacks, where the attacker may provide fake inputs and appropriate outputs in later blocks, making this node generate incorrect sparse blocks for others later.",[59,105451,105452],{},"Overall arithmetics. The sum of all outputs minus inputs corresponds to the overall blockchain subsidy for the specified height range.",[59,105454,105455,105456],{},"In addition, after verifying all individual blocks:\n",[852,105457,105458],{},[59,105459,105460,105463],{},[9352,105461,105462],{},"No reduced UTXOs",". The current UTXO set (unspent TXOs) only contains well-formed TXOs with bulletproofs.",[41,105465,105467],{"id":105466},"possible-dos-attack-and-its-mitigation","Possible DoS attack and its mitigation",[34,105469,105470],{},"Unlike standard synchronization mode, whereas each block is downloaded and fully verified individually, during fast-sync not all such verifications are possible in the middle, hence DoS attacks are theoretically possible. The process however is designed to harden such attacks, while trying to minimize the amount of transferred info in any case.",[34,105472,105473],{},"Many thanks to David Burkett (@DavidBurkett), Grin dev, for discussing such attacks with us.",[48,105475,105477,105478],{"id":105476},"problem-with-lo-horizon","Problem with ",[611,105479,105166],{},[34,105481,105482,105483,105485,105486,105488],{},"As David Burkett pointed-out, the most problematic part of the described scheme is the use of ",[611,105484,105166],{},". The ever possibility of fully erasing an original TXO from the block means that this block can't be verified on its own, and the attacker can easily modify the in\u002Fouts. The node must download all the blocks up to ",[611,105487,105198],{},", and only then it's possible to check if this whole block range makes sense. And if it's not - there's no way to find-out which block was incorrect, and where it came from.",[34,105490,105491,105492,105494],{},"OTOH if ",[611,105493,105166],{}," is not used, means the Node will have to download all the original commitments, then such an attack becomes infeasible. The attacker can't manipulate the in\u002Fouts of the block, because the verifier checks the UTXO set commitment (compares to header) after interpreting every block. It's still possible to craft incorrect blocks (hence full validation at the end is unavoidable), but the attacker would need to craft the appropriate block headers, with valid PoW, which would compete against the honest community.",[48,105496,105477,105498],{"id":105497},"problem-with-hi-horizon",[611,105499,105163],{},[34,105501,105502,105503,105505],{},"Another possible attack - inclusion of reduced TXOs (i.e. without the bulletproof) in the block instead of the full ones. That is, making it look like a valid UTXO which would be spent in later blocks, whereas it would not be spent actually. The node can't detect a problem until all the blocks up to ",[611,105504,105195],{}," are downloaded. Only after all the blocks were downloaded, the node detects that its UTXO set contains reduced TXOs, which is illegal.",[34,105507,105508],{},"In such a case, however, the node can identify the problematic blocks, the malicious peers, and re-download only the problematic blocks.",[48,105510,105512],{"id":105511},"final-strategy-currently-used","Final strategy currently used",[34,105514,105515],{},"Minding all the above, the node operates in the following manner",[852,105517,105518,105546],{},[59,105519,105520,105521],{},"During the fast-sync process the node immediately interprets the downloaded blocks and verifies as much as it can to the moment\n",[852,105522,105523,105531],{},[59,105524,105525,105526],{},"Performance impact - verifying many blocks at-once is better than each block individually (related to bulletproof and Schnorr's signature batch verifications).\n",[852,105527,105528],{},[59,105529,105530],{},"This is compensated by the fact that node still performs a batch verification of many blocks if they all are downloaded from the same peer (then in case of an error they are all considered invalid).",[59,105532,105533,105535,105536,9155,105541],{},[37,105534,9770],{},": the node during the sync process makes transitions into intermediate states, which can't be fully verified. And since the process may take some time - the node can be \"caught\" in the ",[9352,105537,105538],{},[100,105539,105540],{},"unreliable state",[852,105542,105543],{},[59,105544,105545],{},"Hence during the fast-sync the node doesn't report its tip, and doesn't support generating proofs (for UTXOs, kernels, previous state inclusion and etc.).",[59,105547,105548,105549,105551,105552],{},"On the first attempt the node tries to sync w.r.t. defined ",[611,105550,105166],{},". However if the sync attempt fails - the node would retry the sync without it.\n",[852,105553,105554,105557,105560],{},[59,105555,105556],{},"In the optimistic case the sync should succeed on the first attempt",[59,105558,105559],{},"If however it was spoiled by the attacker - it restarts in a more robust mode, at expense of potentially somewhat more data to be downloaded.",[59,105561,105562],{},"For such a case there's an option in the protocol to re-download the needed blocks without re-downloading kernels",[11,105564,105566],{"id":105565},"node-configuration-and-synchronization-logic","Node configuration and synchronization logic",[34,105568,105569,105570,105177,105572,105177,105574,105576],{},"As we said, the horizons may be set to arbitrary values (as long as ",[611,105571,105176],{},[611,105573,105163],{},[611,105575,105166],{},"). But practically we use only the following configurations:",[852,105578,105579,105596],{},[59,105580,105581,105582],{},"Archiving node\n",[852,105583,105584,105589,105593],{},[59,105585,105586,105588],{},[611,105587,105163],{}," is infinite",[59,105590,105591,105588],{},[611,105592,105166],{},[59,105594,105595],{},"Always performs a comprehensive synchronization, never deletes history, and can generate any sparse block on request.",[59,105597,105598,105599],{},"Standard node\n",[852,105600,105601,105608,105613],{},[59,105602,105603,18645,105605,105607],{},[611,105604,105163],{},[611,105606,105176],{}," = 1440",[59,105609,105610,105612],{},[611,105611,105166],{}," = 1440 * 180",[59,105614,105615],{},"Keeps the most recent history, plus a half-year backlog in terms of reduced TXOs (very modest size). Supports sparse blocks to other standard nodes, unless they were offline for more than half a year.",[41,105617,105619],{"id":105618},"cut-through-mode-activation","Cut-through mode activation",[34,105621,105622],{},"Cut-through mode is activated automatically when the following criterias are met:",[852,105624,105625,105628],{},[59,105626,105627],{},"Node is not already in the cut-through mode",[59,105629,105630,105631,105634,105635,105637,105638],{},"There is a ",[37,105632,105633],{},"proven"," state with height which is at least current node height + ",[611,105636,105163],{}," * 1.5\n",[852,105639,105640],{},[59,105641,105642,105645],{},[100,105643,105644],{},"Proven"," means all the headers starting from this one down to the genesis are already downloaded and verified",[34,105647,105648],{},"Once this happens - node enters the cut-through mode.",[852,105650,105651,105662],{},[59,105652,105653,105656,105657,10072,105660],{},[611,105654,105655],{},"Target-Hi-Height"," is set to ",[611,105658,105659],{},"ProvenTip.Height",[611,105661,105163],{},[59,105663,105664,105656,105667,10072,105669],{},[611,105665,105666],{},"Target-Lo-Height",[611,105668,105659],{},[611,105670,105166],{},[34,105672,105673,105674,105676,105677,105680,105681,105683],{},"Note that once selected the ",[611,105675,105666],{}," can ",[37,105678,105679],{},"not"," be changed till the end of the synchronization. The ",[611,105682,105655],{}," however can, and will be increased each time the node will see a higher proven tip.",[34,105685,105686],{},"Once all the sparse blocks are downloaded - they are verified (according to the scheme described above). If the verification passes - the node switches to the standard mode of operation. Otherwise all the downloaded sparse blocks are erased, and the process restarts.",{"title":14,"searchDepth":15,"depth":15,"links":105688},[105689,105690,105691,105692,105693,105694,105695,105702],{"id":105201,"depth":15,"text":105157},{"id":105210,"depth":15,"text":105163},{"id":105239,"depth":15,"text":105166},{"id":105257,"depth":15,"text":105258},{"id":105368,"depth":15,"text":105369},{"id":105397,"depth":15,"text":105398},{"id":105466,"depth":15,"text":105467,"children":105696},[105697,105699,105701],{"id":105476,"depth":154,"text":105698},"Problem with Lo-Horizon",{"id":105497,"depth":154,"text":105700},"Problem with Hi-Horizon",{"id":105511,"depth":154,"text":105512},{"id":105618,"depth":15,"text":105619},{},"\u002Fdocs\u002Fcore-tech\u002Futxo-set-horizons-and-cut-through",{"description":105138},"docs\u002Fcore-tech\u002FUTXO-set,-horizons-and-cut-through","zSAPUjnKj53oQM0IGow3En7RFW0jhCp1knzjEO_OzlM",{"id":105709,"title":105710,"body":105711,"description":105715,"extension":17,"image":18,"meta":105818,"navTitle":18,"navigation":20,"path":105819,"seo":105820,"stem":105821,"__hash__":105822},"docs\u002Fdocs\u002Fcore-tech\u002FUnblocking-subsequent-outgoing-transactions.md","Unblocking Subsequent Outgoing Transactions",{"type":8,"value":105712,"toc":105815},[105713,105716,105720,105723,105731,105735,105743,105747,105755,105759,105783,105787],[34,105714,105715],{},"Disclaimer: this is a draft proposal to be discussed, no particular implementation is planned yet.",[11,105717,105719],{"id":105718},"problem-description-explained-by-example","Problem description (explained by example)",[34,105721,105722],{},"It's simple: due to atomic UTXO implementation, in case you have 100 Beams in a single UTXO and you want to send 20 Beams to each of the 3 different wallets, the action cannot be completed simultaneously:",[852,105724,105725,105728],{},[59,105726,105727],{},"The 100 Beams UXTO will be locked being an input for the first transaction, with 20 Beams and 79 Beams as outputs (let's assume that Transaction Fee was 1 Beam for simplicity).",[59,105729,105730],{},"The 79 Beams UTXO will, in turn, be locked again, splitting into 20 Beams and 59 Beams etc",[41,105732,105734],{"id":105733},"why-its-not-cool","Why it's not cool",[852,105736,105737,105740],{},[59,105738,105739],{},"Each subsequent transaction needs to wait till the previous transactions will be completed, the waiting time can be as long as 12 hours when the peer doesn't come online",[59,105741,105742],{},"Currently, the wallet owner can't even create new transaction when UTXO is locked",[11,105744,105746],{"id":105745},"objective-what-user-wants","Objective (what user wants?)",[852,105748,105749,105752],{},[59,105750,105751],{},"Just being able to send any amount up to his maximum balance with the lowest delay time possible",[59,105753,105754],{},"Similar to other currencies, ordinary user doesn't necessarily needs to be immersed into UTXO complexity",[11,105756,105758],{"id":105757},"what-can-be-possibly-done-manually-by-the-user","What can be possibly done manually by the user",[852,105760,105761,105772],{},[59,105762,105763,105764],{},"Option 1: Let user to send to multiple peers in a single transaction. Drawbacks:\n",[852,105765,105766,105769],{},[59,105767,105768],{},"If one amount was wrong - the entire transaction needs to be restarted - the rest of the peers will wait",[59,105770,105771],{},"If one of the peers won't get online - the rest will wait again",[59,105773,105774,105775],{},"Option 2: Let the user to have a special kind of transaction to split the UTXO he has into UTXO with smaller predefined amounts. Drawbacks:\n",[852,105776,105777,105780],{},[59,105778,105779],{},"User needs to know about the amounts of his future sends upfront if amounts are predefined",[59,105781,105782],{},"The actual transactions will be delayed till the split transaction will succeed",[11,105784,105786],{"id":105785},"how-can-we-facilitate-user-needs-in-more-seamless-way","How can we facilitate user needs in more seamless way?",[852,105788,105789,105792,105795],{},[59,105790,105791],{},"Option 1: Have a special \"split change\" checkbox (set to \"on\" by default) for every outgoing transaction that will cause the change to arrive in multiple UTXO to ensure the user can always send the amounts as granular as 10% (configurable parameter, 10% can be a default value) of what the user sends on average. Drawback A: might cause to too much fragmentation of user UTXO, consolidation might be required. Drawback B: too many outputs will take larger space in the blockchain block, much higher transaction fee will be expected. Upside: the transactions are always unblocked, seamlessly.",[59,105793,105794],{},"Option 2: Collect statistics and run some automatic split in the background. Drawbacks and upsides as in the case above. Probably it's always good to have more than a single UTXO (say 50% at most of the current balance if not below 50 Beams).",[59,105796,105797,105798],{},"Option 3: allow deferred transactions. Assumption: transactions are triggered shortly one after the other (1 minute, configurable parameter). Drawbacks: first transaction might delay others. Upside: less UTXOs are created comparing to the options above, hence less transaction fee should be paid. Point to notice: when UTXO are also received, some of the outgoing transactions can be unblocked immediately. Explained by example:\n",[852,105799,105800,105803,105806,105809,105812],{},[59,105801,105802],{},"User has 100 Beams and wants to transfer 20, 20 and 20 Beams to different peers",[59,105804,105805],{},"User creates the outgoing transaction of 20 Beams. The transaction is not started during 1 minute (configurable parameter). Remark: the transaction could \"fire\" right away if the user had more than a single UTXO.",[59,105807,105808],{},"User creates another transaction of 20 Beams within 1 minute. The previous transaction is still delayed.",[59,105810,105811],{},"User creates yet another transaction of 20 Beams within 1 minute. The previous transactions are still delayed.",[59,105813,105814],{},"After 1 minute, the first transaction \"fires\" and the split will be created exactly for all the subsequent transactions.",{"title":14,"searchDepth":15,"depth":15,"links":105816},[105817],{"id":105733,"depth":15,"text":105734},{},"\u002Fdocs\u002Fcore-tech\u002Funblocking-subsequent-outgoing-transactions",{"description":105715},"docs\u002Fcore-tech\u002FUnblocking-subsequent-outgoing-transactions","RiCh2-HrHsBusAizBilOZgB4Qbhdcf1FjWu2R9-t6TY",{"id":105824,"title":105825,"body":105826,"description":105980,"extension":17,"image":18,"meta":105981,"navTitle":18,"navigation":20,"path":105982,"seo":105983,"stem":105984,"__hash__":105985},"docs\u002Fdocs\u002Fcore-tech\u002FUsing-BeamX-Faucet-contract-with-CLI-Wallet.md","Using BeamX Faucet Contract With CLI Wallet",{"type":8,"value":105827,"toc":105978},[105828,105836,105844,105847,105855,105860,105867,105874,105879,105884,105887,105889,105902,105905,105910,105913,105916,105919,105924,105927,105940,105943,105948,105951,105954,105959,105962,105967,105970,105975],[34,105829,105830,105831],{},"NOTE: If you have not installed BeamX please follow the instructions in the ",[175,105832,105835],{"href":105833,"rel":105834},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeamX-Getting-Started",[179],"Getting Started Guide",[34,105837,105838,105839,105843],{},"Make sure you have downloaded the latest version of the '",[175,105840,6076],{"href":105841,"rel":105842},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002FbeamX\u002Fbvm\u002FShaders\u002Ffaucet",[179],"' contract folder and put it under the 'shaders' folder as instructed. You need app.wasm to use the faucet and contract.wasm to deploy your own contract.",[34,105845,105846],{},"In this section we will use BeamX Faucet contract to get some coins on the BeamX chain.",[56,105848,105849,105852],{},[59,105850,105851],{},"Open the Command Prompt (on Windows), Shell (on Linux) or Terminal (on MacOS) and change directory to the location of your BeamX CLI wallet.",[59,105853,105854],{},"Run the following command (assmuing app.wasm is located in shaders\u002Ffaucet\u002Fapp.wasm)",[34,105856,105857],{},[611,105858,105859],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Ffaucet\u002Fapp.wasm -n 127.0.0.1:8501 --shader_args=\"role=manager,action=view\"",[34,105861,105862,105863,105866],{},"NOTE: We assume that your wallet is initialized and your node is running on local machine at port 8501 and that faucet app.wasm is located in the shaders\u002Ffaucet folder. If your parameters are different please adjust them accordingly. Follow the ",[175,105864,105835],{"href":105833,"rel":105865},[179]," for more detailed instructions.",[34,105868,105869,105870,105873],{},"The result of this command will be the list of ",[100,105871,105872],{},"contract ids"," of shaders of type 'faucet' that are currently deployed on the network. The reason that there can be more than one such shader is because the same Application Shader (app.wasm) can interact with several different Contract Shaders (contract.wasm) of the same type.",[56,105875,105876],{"start":154},[59,105877,105878],{},"Now let's try to withdraw 3 beam coins from a specific faucet by running the following command",[34,105880,105881],{},[611,105882,105883],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\faucet\\app.wasm --shader_args=\"role=my_account,action=withdraw,cid=c327a42e9037d060b8158d635990a53ea4cde2e217ed70eb5faf93cac22e4771,amount=300000000\" -n 127.0.0.1:8501",[34,105885,105886],{},"You can replace the cid parameter with a different contract id that you have received as a result of step 2.",[34,105888,6260],{},[56,105890,105891,105894,105897,105900],{},[59,105892,105893],{},"Each faucet has a limit on how many Beam coins you can withdraw each time within a give period. Both of these are 'constructor parameters' of the shader that are specified when it is  If you are under that limit for that period you should receive the Beams that you have requested.",[59,105895,105896],{},"If you are over the limit you will either receive nothing or a Magical Error 17, depending on the contract implementation.",[59,105898,105899],{},"You will also receive the Magical Error 17 if something else is wrong with the contract.",[59,105901,6283],{},[34,105903,105904],{},"For that we will run the following command:",[34,105906,105907],{},[611,105908,105909],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\faucet\\app.wasm --shader_args=\"role=manager,action=view_params,cid=c327a42e9037d060b8158d635990a53ea4cde2e217ed70eb5faf93cac22e4771\" -n 127.0.0.1:8501",[34,105911,105912],{},"As a result you will get something like this:",[34,105914,105915],{},"Shader output: \"\": {\"params\": {\"backlogPeriod\": 10,\"withdrawLimit\": 500000000}}",[34,105917,105918],{},"This means that from this faucet, you can extract up to 5 Beam every 10 blocks",[56,105920,105921],{"start":7044},[59,105922,105923],{},"But what if I want to create my own faucet?",[34,105925,105926],{},"No problem, however there are few things that you need to know:",[56,105928,105929,105937],{},[59,105930,105931,105932,105936],{},"Since faucet is not an 'ownable' contract (it will be explained later, but basically it means that it does not have an implicit owner) you can not create another faucet contract with the same parameters (see ",[175,105933,105935],{"href":2269,"rel":105934},[179],"BeamX Smart Contracts Guide"," for more details on that). Therefore you should just invent a couple of parameters of your own, which should not be difficult enough in this case.",[59,105938,105939],{},"Since you are deploying a new contract on BeamX blockchain, you need to make sure you have the appropriate contract.wasm file for it. We will assume that you have it in the same folder as the app.wasm",[34,105941,105942],{},"Now that these two things are out of the way, let's run the following command:",[34,105944,105945],{},[611,105946,105947],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Ffaucet\u002Fapp.wasm -n 127.0.0.1:8501 --shader_args=\"role=manager,action=create,backlogPeriod=13, withdrawLimit=520000000\" --shader_contract_file shaders\u002Ffaucet\u002Fcontract.wasm",[34,105949,105950],{},"Assuming no one before you deployed a faucet that allowed to get up to 5.2 Beams every 13 blocks, you deployment will be successful and you will get a new contract id in returned value.",[34,105952,105953],{},"No all that is left to do is to deposit some funds into your faucet and let people of the world know it exists (just give them the id)",[34,105955,105956],{},[611,105957,105958],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\faucet\\app.wasm --shader_args=\"role=my_account,action=deposit,cid=c327a42e9037d060b8158d635990a53ea4cde2e217ed70eb5faf93cac22e4771,amount=10000000000\" -n 127.0.0.1:8501",[34,105960,105961],{},"This command will deposit 100 Beams from your wallet, assuming you got them",[56,105963,105964],{"start":7107},[59,105965,105966],{},"Nice, how can I see all of the commands the Shader supports?",[34,105968,105969],{},"Good question. Just run the following command:",[34,105971,105972],{},[611,105973,105974],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\faucet\\app.wasm -n 127.0.0.1:8501",[34,105976,105977],{},"Basically, if you don't provide any shader parameters you will get a JSON describing all parameters and their values.",{"title":14,"searchDepth":15,"depth":15,"links":105979},[],"NOTE: If you have not installed BeamX please follow the instructions in the Getting Started Guide",{},"\u002Fdocs\u002Fcore-tech\u002Fusing-beamx-faucet-contract-with-cli-wallet",{"description":105980},"docs\u002Fcore-tech\u002FUsing-BeamX-Faucet-contract-with-CLI-Wallet","PdiiE6wiLQBGypgs4Rjcih9ASYPLNL2g3XCoaE2ft5Y",{"id":105987,"title":105988,"body":105989,"description":105993,"extension":17,"image":18,"meta":106048,"navTitle":18,"navigation":20,"path":106049,"seo":106050,"stem":106051,"__hash__":106052},"docs\u002Fdocs\u002Fcore-tech\u002FUsing-BeamX-Roulette-contract-with-CLI-Wallet.md","Using BeamX Roulette Contract With CLI Wallet",{"type":8,"value":105990,"toc":106046},[105991,105994,105997,106008,106011,106014,106017,106022,106025,106030,106033,106038,106041],[34,105992,105993],{},"Let's play some games!",[34,105995,105996],{},"In this example we will interact with the contract that",[34,105998,105999,106000,1475,106004],{},"As usual we assume that you have read ",[175,106001,106003],{"href":105833,"rel":106002},[179],"BeamX Getting Started Guide",[175,106005,106007],{"href":87157,"rel":106006},[179],"Using BeamX Faucet contract with CLI Wallet",[34,106009,106010],{},"We also assume that you have the app.wasm and contract.was in the shaders\u002Froulette folder under the 'beamx' folder where you keep your wallet binary file.",[34,106012,106013],{},"If so, we are all set to spin our Roulette.",[34,106015,106016],{},"Well, it's a kind of roulette. In our case your bet is on any number between 0 and 36 (including both 0 and 36). If you guess the number exactly you receive 100 tokens (which are actually new confidential assets on Beam chain). This actually means that in order to create a new Roulette contract you would need to lock the new asset type deposit (which in this chain is configured to be 1000 Beam)",[56,106018,106019],{},[59,106020,106021],{},"How do I play?",[34,106023,106024],{},"Since Roulette contract has an implicit owner (who is the dealer) there could be many roulettes out there. To find all of them we will run the following command:",[34,106026,106027],{},[611,106028,106029],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\roulette\\app.wasm --shader_args=\"role=player,action=bet,cid=ac16be1cb673ace9423d32fe20893e1639fd560e35e6b3433c77bee831647372,iSector=15\" -n 127.0.0.1:8501",[34,106031,106032],{},"To check the status of your bet run",[34,106034,106035],{},[611,106036,106037],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\roulette\\app.wasm --shader_args=\"role=player,action=check,cid=ac16be1cb673ace9423d32fe20893e1639fd560e35e6b3433c77bee831647372\" -n 127.0.0.1:8501",[34,106039,106040],{},"To get your winning run:",[34,106042,106043],{},[611,106044,106045],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\roulette\\app.wasm --shader_args=\"role=player,action=take,cid=ac16be1cb673ace9423d32fe20893e1639fd560e35e6b3433c77bee831647372\" -n 127.0.0.1:8501",{"title":14,"searchDepth":15,"depth":15,"links":106047},[],{},"\u002Fdocs\u002Fcore-tech\u002Fusing-beamx-roulette-contract-with-cli-wallet",{"description":105993},"docs\u002Fcore-tech\u002FUsing-BeamX-Roulette-contract-with-CLI-Wallet","UyWsxltWJafdR1zD1AXVItRkN678_vHGCpH4xrAJxrk",{"id":106054,"title":106055,"body":106056,"description":106148,"extension":17,"image":18,"meta":106149,"navTitle":18,"navigation":20,"path":106150,"seo":106151,"stem":106152,"__hash__":106153},"docs\u002Fdocs\u002Fcore-tech\u002FUsing-BeamX-Vault-contract-with-CLI-Wallet.md","Using BeamX Vault Contract With CLI Wallet",{"type":8,"value":106057,"toc":106139},[106058,106067,106070,106073,106076,106080,106085,106089,106094,106098,106103,106107,106112,106116,106121,106125,106130,106134],[34,106059,106060,106061,1475,106064],{},"NOTE: If you haven't already, please review ",[175,106062,106003],{"href":105833,"rel":106063},[179],[175,106065,106007],{"href":87157,"rel":106066},[179],[34,106068,106069],{},"In this section we will learn how to use BeamX Vault example. It is very similar to the Faucet example, only there are no limitation on deposits and withdrawals. It's basically just a simple vault contract you can keep money in.",[34,106071,106072],{},"As usual we assume that you have the app.wasm and contract.was in the shaders\u002Fvault folder under the 'beamx' folder where you keep your wallet binary file.",[34,106074,106075],{},"If so, you can use the following list of commands:",[41,106077,106079],{"id":106078},"create-contract","Create contract:",[34,106081,106082],{},[611,106083,106084],{},"beam-wallet-beamx.exe shader --shader_manager_file shaders\u002Fvault\u002Fapp.wasm --shader_args=\"role=manager,action=create\" --shader_contract_file shaders\u002Fvault\u002Fcontract.wasm -n 127.0.0.1:8501",[41,106086,106088],{"id":106087},"list-all-contracts-of-this-type","List all contracts of this type",[34,106090,106091],{},[611,106092,106093],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Fvault\u002Fapp.wasm --shader_args=\"role=manager,action=view\" -n 127.0.0.1:8501",[41,106095,106097],{"id":106096},"list-all-shader-commands","List all shader commands",[34,106099,106100],{},[611,106101,106102],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Fvault\u002Fapp.wasm -n 127.0.0.1:8501",[41,106104,106106],{"id":106105},"view-my-account","View my account",[34,106108,106109],{},[611,106110,106111],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Fvault\u002Fapp.wasm --shader_args=\"role=my_account,action=view,cid=7965a18aefaf3050ccd404482eb919f6641daaf111c7c4a7787c2e932942aa91\" -n 127.0.0.1:8501",[41,106113,106115],{"id":106114},"deposit-1-beam","Deposit 1 beam",[34,106117,106118],{},[611,106119,106120],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Fvault\u002Fapp.wasm --shader_args=\"role=my_account,action=deposit,cid=7965a18aefaf3050ccd404482eb919f6641daaf111c7c4a7787c2e932942aa91,amount=100000000\" -n 127.0.0.1:8501",[41,106122,106124],{"id":106123},"withdraw","Withdraw",[34,106126,106127],{},[611,106128,106129],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Fvault\u002Fapp.wasm --shader_args=\"role=my_account,action=withdraw,cid=7965a18aefaf3050ccd404482eb919f6641daaf111c7c4a7787c2e932942aa91,amount=100000000\" -n 127.0.0.1:8501",[41,106131,106133],{"id":106132},"view-all-accounts","View all accounts",[34,106135,106136],{},[611,106137,106138],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Fvault\u002Fapp.wasm --shader_args=\"role=all_accounts,action=view,cid=7965a18aefaf3050ccd404482eb919f6641daaf111c7c4a7787c2e932942aa91\" -n 127.0.0.1:8501",{"title":14,"searchDepth":15,"depth":15,"links":106140},[106141,106142,106143,106144,106145,106146,106147],{"id":106078,"depth":15,"text":106079},{"id":106087,"depth":15,"text":106088},{"id":106096,"depth":15,"text":106097},{"id":106105,"depth":15,"text":106106},{"id":106114,"depth":15,"text":106115},{"id":106123,"depth":15,"text":106124},{"id":106132,"depth":15,"text":106133},"NOTE: If you haven't already, please review BeamX Getting Started Guide and Using BeamX Faucet contract with CLI Wallet",{},"\u002Fdocs\u002Fcore-tech\u002Fusing-beamx-vault-contract-with-cli-wallet",{"description":106148},"docs\u002Fcore-tech\u002FUsing-BeamX-Vault-contract-with-CLI-Wallet","7v3CzY-tGug1OP11j_JLK77LxSxjLdEp9ZMcC3VbtH8",{"id":106155,"title":10406,"body":106156,"description":109022,"extension":17,"image":18,"meta":109023,"navTitle":18,"navigation":20,"path":109024,"seo":109025,"stem":109026,"__hash__":109027},"docs\u002Fdocs\u002Fcore-tech\u002FWASM-wallet-client.md",{"type":8,"value":106157,"toc":108898},[106158,106160,106172,106200,106202,106205,106601,106604,106607,106621,106623,106627,106634,106636,106677,106680,106694,106696,106700,106708,106711,106723,106726,106767,106770,106784,106790,106793,106802,106805,106817,106820,106834,106836,106839,106846,106849,106854,106856,106864,106867,106881,106883,106886,106893,106896,106903,106906,106924,106926,106929,106937,106940,106945,106948,106953,106956,107053,107056,107070,107072,107075,107094,107097,107101,107104,107113,107116,107153,107156,107170,107172,107175,107182,107185,107189,107192,107198,107201,107214,107216,107219,107226,107229,107238,107241,107247,107250,107268,107271,107274,107291,107294,107298,107301,107307,107310,107387,107390,107402,107405,107408,107426,107429,107434,107437,107450,107453,107496,107499,107511,107514,107517,107523,107526,107530,107533,107545,107548,107574,107577,107591,107593,107596,107602,107605,107629,107631,107634,107641,107644,107648,107651,107699,107702,107716,107718,107721,107725,107728,107738,107741,107755,107759,107762,107766,107769,107778,107781,107805,107809,107812,107819,107822,107826,107829,107837,107840,107893,107895,107917,107919,107922,107929,107932,107937,107940,107991,107993,108017,108019,108022,108029,108032,108036,108039,108062,108064,108067,108074,108077,108081,108084,108149,108152,108174,108176,108179,108186,108189,108193,108196,108279,108282,108304,108306,108309,108315,108318,108322,108325,108404,108407,108445,108447,108450,108467,108470,108601,108604,108648,108650,108653,108672,108675,108871,108874,108877,108880,108883,108886,108889,108892,108895],[11,106159,10406],{"id":10405},[34,106161,106162,106163,106167,106168,106171],{},"WASM wallet client is a thin wrapper around Beam client library build into WASM using Emscripten toolchain. This wrapper allows to run BEAM wallet inside any browser supporting WebAssembly and it provides the regular ",[175,106164,106166],{"href":106165},"Beam-wallet-protocol-API","BEAM wallet API"," to communicated with it from external(javascript) code. It's available via ",[611,106169,106170],{},"npm"," for different network types:",[852,106173,106174,106180,106186,106193],{},[59,106175,106176],{},[175,106177,90400],{"href":106178,"rel":106179},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fbeam-wasm-client",[179],[59,106181,106182],{},[175,106183,90421],{"href":106184,"rel":106185},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fbeam-wasm-client-testnet",[179],[59,106187,106188],{},[175,106189,106192],{"href":106190,"rel":106191},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fbeam-wasm-client-dappnet",[179],"dappnet",[59,106194,106195],{},[175,106196,106199],{"href":106197,"rel":106198},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fbeam-wasm-client-masternet",[179],"masternet (developer)",[11,106201,4975],{"id":12385},[34,106203,106204],{},"WASM wallet client module exports following classes:",[852,106206,106207,106497,106538],{},[59,106208,106209,106213,106214],{},[175,106210,106212],{"href":106211},"#WasmWalletClient","WasmWalletClient"," - the main object provides a set of static and member methods to control the wallet. It could be used to implement BEAM wallet as a browser extension",[4998,106215,106216,106225],{},[5001,106217,106218],{},[5004,106219,106220,106223],{},[5007,106221,106222],{},"Method",[5007,106224,5012],{},[5014,106226,106227,106238,106249,106260,106271,106282,106297,106311,106322,106333,106344,106355,106366,106377,106388,106398,106409,106420,106431,106442,106453,106464,106475,106486],{},[5004,106228,106229,106235],{},[5019,106230,106231],{},[175,106232,106234],{"href":106233},"#Constructor","Constructor",[5019,106236,106237],{},"Creates new regular wallet object",[5004,106239,106240,106246],{},[5019,106241,106242],{},[175,106243,106245],{"href":106244},"#Headless-constructor","Headless constructor",[5019,106247,106248],{},"Creates new headless wallet object",[5004,106250,106251,106257],{},[5019,106252,106253],{},[175,106254,106256],{"href":106255},"#startWallet","startWallet",[5019,106258,106259],{},"Starts the wallet in the background thread",[5004,106261,106262,106268],{},[5019,106263,106264],{},[175,106265,106267],{"href":106266},"#stopWallet","stopWallet",[5019,106269,106270],{},"Asynchronously stops the wallet running in the background",[5004,106272,106273,106279],{},[5019,106274,106275],{},[175,106276,106278],{"href":106277},"#isRunning","isRunning",[5019,106280,106281],{},"Checks if the wallet is running",[5004,106283,106284,106290],{},[5019,106285,106286],{},[175,106287,106289],{"href":106288},"#isHeadless","isHeadless",[5019,106291,106292,106293,106296],{},"Checks if the wallet is ",[611,106294,106295],{},"headless",", i.e. without master and owner keys",[5004,106298,106299,106305],{},[5019,106300,106301],{},[175,106302,106304],{"href":106303},"#sendRequest","sendRequest",[5019,106306,106307,106308,106310],{},"Sends ",[175,106309,4975],{"href":106165}," request to the wallet",[5004,106312,106313,106319],{},[5019,106314,106315],{},[175,106316,106318],{"href":106317},"#subscribe","subscribe",[5019,106320,106321],{},"Subscribes for API responses",[5004,106323,106324,106330],{},[5019,106325,106326],{},[175,106327,106329],{"href":106328},"#unsubscribe","unsubscribe",[5019,106331,106332],{},"Unsubscribes from response notifications",[5004,106334,106335,106341],{},[5019,106336,106337],{},[175,106338,106340],{"href":106339},"#setSyncHandler","setSyncHandler",[5019,106342,106343],{},"Sets synchronization handler, allows to track sync progress",[5004,106345,106346,106352],{},[5019,106347,106348],{},[175,106349,106351],{"href":106350},"#setApproveSendHandler","setApproveSendHandler",[5019,106353,106354],{},"Sets handler which allows to approve or reject any send operation initiated by DAPPs",[5004,106356,106357,106363],{},[5019,106358,106359],{},[175,106360,106362],{"href":106361},"#setApproveContractInfoHandler","setApproveContractInfoHandler",[5019,106364,106365],{},"Sets handler which allows to approve or reject any operation which requires user's attention from application shader",[5004,106367,106368,106374],{},[5019,106369,106370],{},[175,106371,106373],{"href":106372},"#createAppAPI","createAppAPI",[5019,106375,106376],{},"Asynchronously creates new application wallet API for given application",[5004,106378,106379,106385],{},[5019,106380,106381],{},[175,106382,106384],{"href":106383},"#importRecovery","importRecovery",[5019,106386,106387],{},"Asynchronously imports recovery data",[5004,106389,106390,106395],{},[5019,106391,106392],{},[175,106393,15271],{"href":106394},"#GeneratePhrase",[5019,106396,106397],{},"Generates new seed phrase",[5004,106399,106400,106406],{},[5019,106401,106402],{},[175,106403,106405],{"href":106404},"#IsAllowedWord","IsAllowedWord",[5019,106407,106408],{},"Checks if given word is in the dictionary of the words allowed to be used in seed phrases",[5004,106410,106411,106417],{},[5019,106412,106413],{},[175,106414,106416],{"href":106415},"#IsValidPhrase","IsValidPhrase",[5019,106418,106419],{},"Validates given seed phrase",[5004,106421,106422,106428],{},[5019,106423,106424],{},[175,106425,106427],{"href":106426},"#ConvertTokenToJson","ConvertTokenToJson",[5019,106429,106430],{},"Converts given BEAM address to json",[5004,106432,106433,106439],{},[5019,106434,106435],{},[175,106436,106438],{"href":106437},"#ConvertJsonToToken","ConvertJsonToToken",[5019,106440,106441],{},"Packs transaction parameters presented as JSON object into BEAM address",[5004,106443,106444,106450],{},[5019,106445,106446],{},[175,106447,106449],{"href":106448},"#MountFS","MountFS",[5019,106451,106452],{},"Asynchronously mounts WASM filesystem to the roor of IndexDB",[5004,106454,106455,106461],{},[5019,106456,106457],{},[175,106458,106460],{"href":106459},"#CreateWallet","CreateWallet",[5019,106462,106463],{},"Creates new wallet database",[5004,106465,106466,106472],{},[5019,106467,106468],{},[175,106469,106471],{"href":106470},"#DeleteWallet","DeleteWallet",[5019,106473,106474],{},"Deletes given wallet database from IndexDB",[5004,106476,106477,106483],{},[5019,106478,106479],{},[175,106480,106482],{"href":106481},"#IsInitialized","IsInitialized",[5019,106484,106485],{},"Ensures that database was created",[5004,106487,106488,106494],{},[5019,106489,106490],{},[175,106491,106493],{"href":106492},"#CheckPassword","CheckPassword",[5019,106495,106496],{},"Tests if given password fits to the database",[59,106498,106499,106503,106504],{},[175,106500,106502],{"href":106501},"#AppAPI","AppAPI"," - a proxy API object, it gives limited wallet API for external web applications, which want to work with BEAM wallet",[4998,106505,106506,106514],{},[5001,106507,106508],{},[5004,106509,106510,106512],{},[5007,106511,106222],{},[5007,106513,5012],{},[5014,106515,106516,106527],{},[5004,106517,106518,106524],{},[5019,106519,106520],{},[175,106521,106523],{"href":106522},"#callWalletApi","callWalletApi",[5019,106525,106526],{},"Allows to call wallet API methods from application",[5004,106528,106529,106535],{},[5019,106530,106531],{},[175,106532,106534],{"href":106533},"#setHandler","setHandler",[5019,106536,106537],{},"Sets handler to receive response for API request",[59,106539,106540,106544,106545],{},[175,106541,106543],{"href":106542},"#AppAPICallback","AppAPICallback"," - a callback object for applications, it allows the wallet to control the action which application want to perform.",[4998,106546,106547,106555],{},[5001,106548,106549],{},[5004,106550,106551,106553],{},[5007,106552,106222],{},[5007,106554,5012],{},[5014,106556,106557,106568,106579,106590],{},[5004,106558,106559,106565],{},[5019,106560,106561],{},[175,106562,106564],{"href":106563},"#sendApproved","sendApproved",[5019,106566,106567],{},"Approves send request from application",[5004,106569,106570,106576],{},[5019,106571,106572],{},[175,106573,106575],{"href":106574},"#sendRejected","sendRejected",[5019,106577,106578],{},"Rejects send request from application",[5004,106580,106581,106587],{},[5019,106582,106583],{},[175,106584,106586],{"href":106585},"#contractInfoApproved","contractInfoApproved",[5019,106588,106589],{},"Approves contract call",[5004,106591,106592,106598],{},[5019,106593,106594],{},[175,106595,106597],{"href":106596},"#contractInfoRejected","contractInfoRejected",[5019,106599,106600],{},"Rejects contract call",[11,106602,106212],{"id":106603},"wasmwalletclient",[41,106605,15271],{"id":106606},"generatephrase",[616,106608,106610],{"className":104267,"code":106609,"language":104269,"meta":14,"style":14},"WasmWalletClient.GeneratePhrase()\n",[611,106611,106612],{"__ignoreMap":14},[6995,106613,106614,106617,106619],{"class":244,"line":6997},[6995,106615,106616],{"class":7000},"WasmWalletClient.",[6995,106618,15271],{"class":11320},[6995,106620,15274],{"class":7000},[34,106622,106397],{},[48,106624,106626],{"id":106625},"return-value","Return value",[852,106628,106629],{},[59,106630,106631,106632],{},"seed phrase, a string of 12 words from the dictionary separated separated by ",[611,106633,98],{},[48,106635,6839],{"id":104707},[616,106637,106639],{"className":104267,"code":106638,"language":104269,"meta":14,"style":14}," var phrase = Module.WasmWalletClient.GeneratePhrase()\n console.log('seed phrase is: ', phrase);\n \u002F\u002F OUTPUT: seed phrase is:  legend hurdle erode ribbon pass exit basket doll sorry version muscle brain\n",[611,106640,106641,106658,106672],{"__ignoreMap":14},[6995,106642,106643,106646,106649,106651,106654,106656],{"class":244,"line":6997},[6995,106644,106645],{"class":11296}," var",[6995,106647,106648],{"class":7000}," phrase ",[6995,106650,6673],{"class":11296},[6995,106652,106653],{"class":7000}," Module.WasmWalletClient.",[6995,106655,15271],{"class":11320},[6995,106657,15274],{"class":7000},[6995,106659,106660,106662,106664,106666,106669],{"class":244,"line":15},[6995,106661,14887],{"class":7000},[6995,106663,14890],{"class":11320},[6995,106665,6449],{"class":7000},[6995,106667,106668],{"class":7012},"'seed phrase is: '",[6995,106670,106671],{"class":7000},", phrase);\n",[6995,106673,106674],{"class":244,"line":154},[6995,106675,106676],{"class":7359}," \u002F\u002F OUTPUT: seed phrase is:  legend hurdle erode ribbon pass exit basket doll sorry version muscle brain\n",[41,106678,106405],{"id":106679},"isallowedword",[616,106681,106683],{"className":104267,"code":106682,"language":104269,"meta":14,"style":14},"WasmWalletClient.IsAllowedWord(word : String)\n",[611,106684,106685],{"__ignoreMap":14},[6995,106686,106687,106689,106691],{"class":244,"line":6997},[6995,106688,106616],{"class":7000},[6995,106690,106405],{"class":11320},[6995,106692,106693],{"class":7000},"(word : String)\n",[34,106695,106408],{},[48,106697,106699],{"id":106698},"parameters","Parameters",[852,106701,106702],{},[59,106703,106704,106707],{},[611,106705,106706],{},"word"," : the word to be checked",[48,106709,106626],{"id":106710},"return-value-1",[852,106712,106713],{},[59,106714,106715,106717,106718,106720,106721],{},[611,106716,8689],{}," if ",[611,106719,106706],{}," is in the dictionary otherwise ",[611,106722,11094],{},[48,106724,6839],{"id":106725},"example-1",[616,106727,106729],{"className":104267,"code":106728,"language":104269,"meta":14,"style":14},"  if (Module.WasmWalletClient.IsAllowedWord('hurdle')) {\n      console.log(\"Word is allowed\");\n  }\n",[611,106730,106731,106749,106763],{"__ignoreMap":14},[6995,106732,106733,106736,106739,106741,106743,106746],{"class":244,"line":6997},[6995,106734,106735],{"class":11296},"  if",[6995,106737,106738],{"class":7000}," (Module.WasmWalletClient.",[6995,106740,106405],{"class":11320},[6995,106742,6449],{"class":7000},[6995,106744,106745],{"class":7012},"'hurdle'",[6995,106747,106748],{"class":7000},")) {\n",[6995,106750,106751,106754,106756,106758,106761],{"class":244,"line":15},[6995,106752,106753],{"class":7000},"      console.",[6995,106755,14890],{"class":11320},[6995,106757,6449],{"class":7000},[6995,106759,106760],{"class":7012},"\"Word is allowed\"",[6995,106762,17433],{"class":7000},[6995,106764,106765],{"class":244,"line":154},[6995,106766,7467],{"class":7000},[41,106768,106416],{"id":106769},"isvalidphrase",[616,106771,106773],{"className":104267,"code":106772,"language":104269,"meta":14,"style":14},"WasmWalletClient.IsValidPhrase(phrase : String)\n",[611,106774,106775],{"__ignoreMap":14},[6995,106776,106777,106779,106781],{"class":244,"line":6997},[6995,106778,106616],{"class":7000},[6995,106780,106416],{"class":11320},[6995,106782,106783],{"class":7000},"(phrase : String)\n",[34,106785,106786,106787],{},"Validates given seed ",[611,106788,106789],{},"phrase",[48,106791,106699],{"id":106792},"parameters-1",[852,106794,106795],{},[59,106796,106797,106799,106800],{},[611,106798,106789],{}," : a string of the words separated by ",[611,106801,98],{},[48,106803,106626],{"id":106804},"return-value-2",[852,106806,106807],{},[59,106808,106809,106811,106812,106814,106815],{},[611,106810,8689],{}," if seed ",[611,106813,106789],{}," is valid otherwise ",[611,106816,11094],{},[41,106818,106427],{"id":106819},"converttokentojson",[616,106821,106823],{"className":104267,"code":106822,"language":104269,"meta":14,"style":14},"WasmWalletClient.ConvertTokenToJson(token : String)\n",[611,106824,106825],{"__ignoreMap":14},[6995,106826,106827,106829,106831],{"class":244,"line":6997},[6995,106828,106616],{"class":7000},[6995,106830,106427],{"class":11320},[6995,106832,106833],{"class":7000},"(token : String)\n",[34,106835,106430],{},[48,106837,106699],{"id":106838},"parameters-2",[852,106840,106841],{},[59,106842,106843,106845],{},[611,106844,21888],{}," : address to to unpack data",[48,106847,106626],{"id":106848},"return-value-3",[852,106850,106851],{},[59,106852,106853],{},"json object with address parameters unpacked from given string",[48,106855,100686],{"id":100685},[852,106857,106858],{},[59,106859,106860,106861,106863],{},"in beam address(token) is binary packed set the key-value parameters presented as ",[611,106862,11775],{}," string",[41,106865,106438],{"id":106866},"convertjsontotoken",[616,106868,106870],{"className":104267,"code":106869,"language":104269,"meta":14,"style":14},"WasmWalletClient.ConvertJsonToToken(json : String)\n",[611,106871,106872],{"__ignoreMap":14},[6995,106873,106874,106876,106878],{"class":244,"line":6997},[6995,106875,106616],{"class":7000},[6995,106877,106438],{"class":11320},[6995,106879,106880],{"class":7000},"(json : String)\n",[34,106882,106441],{},[48,106884,106699],{"id":106885},"parameters-3",[852,106887,106888],{},[59,106889,106890,106892],{},[611,106891,6991],{}," : parameters of the transaction",[48,106894,106626],{"id":106895},"return-value-4",[852,106897,106898],{},[59,106899,106900,106902],{},[611,106901,11775],{}," encoded string of packed parameters",[41,106904,106449],{"id":106905},"mountfs",[616,106907,106909],{"className":104267,"code":106908,"language":104269,"meta":14,"style":14},"WasmWalletClient.MountFS(callback : function)\n",[611,106910,106911],{"__ignoreMap":14},[6995,106912,106913,106915,106917,106920,106922],{"class":244,"line":6997},[6995,106914,106616],{"class":7000},[6995,106916,106449],{"class":11320},[6995,106918,106919],{"class":7000},"(callback : ",[6995,106921,17479],{"class":11296},[6995,106923,15020],{"class":7000},[34,106925,106452],{},[48,106927,106699],{"id":106928},"parameters-4",[852,106930,106931],{},[59,106932,106933,106936],{},[611,106934,106935],{},"callback"," : mounting completion handler, if an error occurred, it will be provided as a parameter to this function.",[48,106938,106626],{"id":106939},"return-value-5",[852,106941,106942],{},[59,106943,106944],{},"none",[48,106946,100686],{"id":106947},"notes-1",[852,106949,106950],{},[59,106951,106952],{},"This method should be called before any action which implies work with filesystem",[48,106954,6839],{"id":106955},"example-2",[616,106957,106959],{"className":104267,"code":106958,"language":104269,"meta":14,"style":14}," Module.WasmWalletClient.MountFS(function(error) {\n   if (error != null) {\n     console.log(\"mounted\");\n     var walletClient = new Module.WasmWalletClient(\"\u002Fbeam_wallet\u002Fwallet.db\",\n                                                  \"123\",\n                                                  \"eu-node01.masternet.beam.mw:8200\");\n   }\n }\n",[611,106960,106961,106977,106992,107006,107029,107036,107043,107048],{"__ignoreMap":14},[6995,106962,106963,106965,106967,106969,106971,106973,106975],{"class":244,"line":6997},[6995,106964,106653],{"class":7000},[6995,106966,106449],{"class":11320},[6995,106968,6449],{"class":7000},[6995,106970,17479],{"class":11296},[6995,106972,6449],{"class":7000},[6995,106974,15764],{"class":15170},[6995,106976,17622],{"class":7000},[6995,106978,106979,106982,106985,106987,106990],{"class":244,"line":15},[6995,106980,106981],{"class":11296},"   if",[6995,106983,106984],{"class":7000}," (error ",[6995,106986,17667],{"class":11296},[6995,106988,106989],{"class":7006}," null",[6995,106991,17622],{"class":7000},[6995,106993,106994,106997,106999,107001,107004],{"class":244,"line":154},[6995,106995,106996],{"class":7000},"     console.",[6995,106998,14890],{"class":11320},[6995,107000,6449],{"class":7000},[6995,107002,107003],{"class":7012},"\"mounted\"",[6995,107005,17433],{"class":7000},[6995,107007,107008,107011,107014,107016,107018,107020,107022,107024,107027],{"class":244,"line":7033},[6995,107009,107010],{"class":11296},"     var",[6995,107012,107013],{"class":7000}," walletClient ",[6995,107015,6673],{"class":11296},[6995,107017,15037],{"class":11296},[6995,107019,15316],{"class":7000},[6995,107021,106212],{"class":11320},[6995,107023,6449],{"class":7000},[6995,107025,107026],{"class":7012},"\"\u002Fbeam_wallet\u002Fwallet.db\"",[6995,107028,7030],{"class":7000},[6995,107030,107031,107034],{"class":244,"line":7044},[6995,107032,107033],{"class":7012},"                                                  \"123\"",[6995,107035,7030],{"class":7000},[6995,107037,107038,107041],{"class":244,"line":7107},[6995,107039,107040],{"class":7012},"                                                  \"eu-node01.masternet.beam.mw:8200\"",[6995,107042,17433],{"class":7000},[6995,107044,107045],{"class":244,"line":7120},[6995,107046,107047],{"class":7000},"   }\n",[6995,107049,107050],{"class":244,"line":7133},[6995,107051,107052],{"class":7000}," }\n",[41,107054,106460],{"id":107055},"createwallet",[616,107057,107059],{"className":104267,"code":107058,"language":104269,"meta":14,"style":14},"WasmWalletClient.CreateWallet(seedPhrase : String, database : String, password : String)\n",[611,107060,107061],{"__ignoreMap":14},[6995,107062,107063,107065,107067],{"class":244,"line":6997},[6995,107064,106616],{"class":7000},[6995,107066,106460],{"class":11320},[6995,107068,107069],{"class":7000},"(seedPhrase : String, database : String, password : String)\n",[34,107071,106463],{},[48,107073,106699],{"id":107074},"parameters-5",[852,107076,107077,107083,107088],{},[59,107078,107079,107082],{},[611,107080,107081],{},"seedPhrase",": seed pharse for the wallet",[59,107084,107085,107087],{},[611,107086,101756],{}," : path to the database in IndexedDB",[59,107089,107090,107093],{},[611,107091,107092],{},"password"," : password to the new wallet database",[48,107095,106626],{"id":107096},"return-value-6",[852,107098,107099],{},[59,107100,106944],{},[48,107102,100686],{"id":107103},"notes-2",[852,107105,107106],{},[59,107107,107108,107109,107112],{},"Ensure that ",[611,107110,107111],{},"MountFS()"," has been called before",[48,107114,6839],{"id":107115},"example-3",[616,107117,107119],{"className":104267,"code":107118,"language":104269,"meta":14,"style":14}," let phrase = Module.WasmWalletClient.GeneratePhrase();\n Module.WasmWalletClient.CreateWallet(phrase, \"\u002Fbeam_wallet\u002Fwallet.db\", \"123\");\n",[611,107120,107121,107136],{"__ignoreMap":14},[6995,107122,107123,107126,107128,107130,107132,107134],{"class":244,"line":6997},[6995,107124,107125],{"class":11296}," let",[6995,107127,106648],{"class":7000},[6995,107129,6673],{"class":11296},[6995,107131,106653],{"class":7000},[6995,107133,15271],{"class":11320},[6995,107135,17457],{"class":7000},[6995,107137,107138,107140,107142,107145,107147,107149,107151],{"class":244,"line":15},[6995,107139,106653],{"class":7000},[6995,107141,106460],{"class":11320},[6995,107143,107144],{"class":7000},"(phrase, ",[6995,107146,107026],{"class":7012},[6995,107148,2231],{"class":7000},[6995,107150,7308],{"class":7012},[6995,107152,17433],{"class":7000},[41,107154,106471],{"id":107155},"deletewallet",[616,107157,107159],{"className":104267,"code":107158,"language":104269,"meta":14,"style":14},"WasmWalletClient.DeleteWallet(database : String)\n",[611,107160,107161],{"__ignoreMap":14},[6995,107162,107163,107165,107167],{"class":244,"line":6997},[6995,107164,106616],{"class":7000},[6995,107166,106471],{"class":11320},[6995,107168,107169],{"class":7000},"(database : String)\n",[34,107171,106474],{},[48,107173,106699],{"id":107174},"parameters-6",[852,107176,107177],{},[59,107178,107179,107181],{},[611,107180,101756],{}," : path to the database file",[48,107183,106626],{"id":107184},"return-value-7",[852,107186,107187],{},[59,107188,106944],{},[48,107190,100686],{"id":107191},"notes-3",[852,107193,107194],{},[59,107195,107108,107196,107112],{},[611,107197,107111],{},[41,107199,106482],{"id":107200},"isinitialized",[616,107202,107204],{"className":104267,"code":107203,"language":104269,"meta":14,"style":14},"WasmWalletClient.IsInitialized(database : String)\n",[611,107205,107206],{"__ignoreMap":14},[6995,107207,107208,107210,107212],{"class":244,"line":6997},[6995,107209,106616],{"class":7000},[6995,107211,106482],{"class":11320},[6995,107213,107169],{"class":7000},[34,107215,106485],{},[48,107217,106699],{"id":107218},"parameters-7",[852,107220,107221],{},[59,107222,107223,107225],{},[611,107224,101756],{}," : the path to the database",[48,107227,106626],{"id":107228},"return-value-8",[852,107230,107231],{},[59,107232,107233,107235,107236],{},[611,107234,8689],{}," if database is created and initialized, otherwise ",[611,107237,11094],{},[48,107239,100686],{"id":107240},"notes-4",[852,107242,107243],{},[59,107244,107108,107245,107112],{},[611,107246,107111],{},[41,107248,106493],{"id":107249},"checkpassword",[616,107251,107253],{"className":104267,"code":107252,"language":104269,"meta":14,"style":14},"WasmWalletClient.CheckPassword(database : String, password : String, callback : function)\n",[611,107254,107255],{"__ignoreMap":14},[6995,107256,107257,107259,107261,107264,107266],{"class":244,"line":6997},[6995,107258,106616],{"class":7000},[6995,107260,106493],{"class":11320},[6995,107262,107263],{"class":7000},"(database : String, password : String, callback : ",[6995,107265,17479],{"class":11296},[6995,107267,15020],{"class":7000},[34,107269,107270],{},"Tests asynchronously if given password fits to the database",[48,107272,106699],{"id":107273},"parameters-8",[852,107275,107276,107281,107286],{},[59,107277,107278,107280],{},[611,107279,101756],{}," : path to the database",[59,107282,107283,107285],{},[611,107284,107092],{}," : password to test",[59,107287,107288,107290],{},[611,107289,106935],{}," : asynchronously returns the result of the test",[48,107292,106626],{"id":107293},"return-value-9",[852,107295,107296],{},[59,107297,106944],{},[48,107299,100686],{"id":107300},"notes-5",[852,107302,107303],{},[59,107304,107108,107305,107112],{},[611,107306,107111],{},[48,107308,6839],{"id":107309},"example-4",[616,107311,107313],{"className":104267,"code":107312,"language":104269,"meta":14,"style":14},"  Module.WasmWalletClient.CheckPassword(\"\u002Fbeam_wallet\u002Fwallet.db\", \"13\", (res) => {\n  if (res)\n    console.log(\"Password is correct\")\n  else\n    console.log(\"Password is not correct\")\n  })\n",[611,107314,107315,107344,107351,107364,107369,107382],{"__ignoreMap":14},[6995,107316,107317,107320,107322,107324,107326,107328,107331,107334,107337,107339,107341],{"class":244,"line":6997},[6995,107318,107319],{"class":7000},"  Module.WasmWalletClient.",[6995,107321,106493],{"class":11320},[6995,107323,6449],{"class":7000},[6995,107325,107026],{"class":7012},[6995,107327,2231],{"class":7000},[6995,107329,107330],{"class":7012},"\"13\"",[6995,107332,107333],{"class":7000},", (",[6995,107335,107336],{"class":15170},"res",[6995,107338,17664],{"class":7000},[6995,107340,14884],{"class":11296},[6995,107342,107343],{"class":7000}," {\n",[6995,107345,107346,107348],{"class":244,"line":15},[6995,107347,106735],{"class":11296},[6995,107349,107350],{"class":7000}," (res)\n",[6995,107352,107353,107355,107357,107359,107362],{"class":244,"line":154},[6995,107354,17487],{"class":7000},[6995,107356,14890],{"class":11320},[6995,107358,6449],{"class":7000},[6995,107360,107361],{"class":7012},"\"Password is correct\"",[6995,107363,15020],{"class":7000},[6995,107365,107366],{"class":244,"line":7033},[6995,107367,107368],{"class":11296},"  else\n",[6995,107370,107371,107373,107375,107377,107380],{"class":244,"line":7044},[6995,107372,17487],{"class":7000},[6995,107374,14890],{"class":11320},[6995,107376,6449],{"class":7000},[6995,107378,107379],{"class":7012},"\"Password is not correct\"",[6995,107381,15020],{"class":7000},[6995,107383,107384],{"class":244,"line":7107},[6995,107385,107386],{"class":7000},"  })\n",[41,107388,106234],{"id":107389},"constructor",[616,107391,107393],{"className":104267,"code":107392,"language":104269,"meta":14,"style":14},"WasmWalletClient(database : String, password : String, nodeURL : String)\n",[611,107394,107395],{"__ignoreMap":14},[6995,107396,107397,107399],{"class":244,"line":6997},[6995,107398,106212],{"class":11320},[6995,107400,107401],{"class":7000},"(database : String, password : String, nodeURL : String)\n",[34,107403,107404],{},"Creates new wallet client object",[48,107406,106699],{"id":107407},"parameters-9",[852,107409,107410,107415,107420],{},[59,107411,107412,107414],{},[611,107413,101756],{}," : path to encrypted database in browser's IndexDB",[59,107416,107417,107419],{},[611,107418,107092],{}," : password to the database",[59,107421,107422,107425],{},[611,107423,107424],{},"nodeURL"," : URL to BEAM node to communicate with",[48,107427,106626],{"id":107428},"return-value-10",[852,107430,107431],{},[59,107432,107433],{},"object of the wallet client",[48,107435,100686],{"id":107436},"notes-6",[852,107438,107439,107445],{},[59,107440,107441,107442,107444],{},"wallet client can communicate with node over Web Sockets only, ensure that node located by ",[611,107443,107424],{}," has WebSocket proxy enabled",[59,107446,107447,107448,107112],{},"ensure that ",[611,107449,107111],{},[48,107451,6839],{"id":107452},"example-5",[616,107454,107456],{"className":104267,"code":107455,"language":104269,"meta":14,"style":14}," var walletClient = new Module.WasmWalletClient(\"\u002Fbeam_wallet\u002Fwallet.db\",\n                                                \"123\",\n\n                                                \"eu-node01.masternet.beam.mw:8200\");\n",[611,107457,107458,107478,107485,107489],{"__ignoreMap":14},[6995,107459,107460,107462,107464,107466,107468,107470,107472,107474,107476],{"class":244,"line":6997},[6995,107461,106645],{"class":11296},[6995,107463,107013],{"class":7000},[6995,107465,6673],{"class":11296},[6995,107467,15037],{"class":11296},[6995,107469,15316],{"class":7000},[6995,107471,106212],{"class":11320},[6995,107473,6449],{"class":7000},[6995,107475,107026],{"class":7012},[6995,107477,7030],{"class":7000},[6995,107479,107480,107483],{"class":244,"line":15},[6995,107481,107482],{"class":7012},"                                                \"123\"",[6995,107484,7030],{"class":7000},[6995,107486,107487],{"class":244,"line":154},[6995,107488,14371],{"emptyLinePlaceholder":20},[6995,107490,107491,107494],{"class":244,"line":7033},[6995,107492,107493],{"class":7012},"                                                \"eu-node01.masternet.beam.mw:8200\"",[6995,107495,17433],{"class":7000},[41,107497,106245],{"id":107498},"headless-constructor",[616,107500,107502],{"className":104267,"code":107501,"language":104269,"meta":14,"style":14},"WasmWalletClient(nodeURL : String)\n",[611,107503,107504],{"__ignoreMap":14},[6995,107505,107506,107508],{"class":244,"line":6997},[6995,107507,106212],{"class":11320},[6995,107509,107510],{"class":7000},"(nodeURL : String)\n",[34,107512,107513],{},"Creates new headless wallet client object. It doesn't have a master key. The wallet with such a database can communicate with the node, but cannot make transactions or detect any UTXO event. It can generate public keys, but they all are temporary and provided only for the reason to have viewer access to dapps",[48,107515,106699],{"id":107516},"parameters-10",[852,107518,107519],{},[59,107520,107521,107425],{},[611,107522,107424],{},[48,107524,106626],{"id":107525},"return-value-11",[852,107527,107528],{},[59,107529,107433],{},[48,107531,100686],{"id":107532},"notes-7",[852,107534,107535,107539],{},[59,107536,107441,107537,107444],{},[611,107538,107424],{},[59,107540,107541,107542,107544],{},"headless wallet doesn't require ",[611,107543,107111],{}," to be called before",[48,107546,6839],{"id":107547},"example-6",[616,107549,107551],{"className":104267,"code":107550,"language":104269,"meta":14,"style":14}," var walletClient = new Module.WasmWalletClient(\"eu-node01.masternet.beam.mw:8200\");\n",[611,107552,107553],{"__ignoreMap":14},[6995,107554,107555,107557,107559,107561,107563,107565,107567,107569,107572],{"class":244,"line":6997},[6995,107556,106645],{"class":11296},[6995,107558,107013],{"class":7000},[6995,107560,6673],{"class":11296},[6995,107562,15037],{"class":11296},[6995,107564,15316],{"class":7000},[6995,107566,106212],{"class":11320},[6995,107568,6449],{"class":7000},[6995,107570,107571],{"class":7012},"\"eu-node01.masternet.beam.mw:8200\"",[6995,107573,17433],{"class":7000},[41,107575,106256],{"id":107576},"startwallet",[616,107578,107580],{"className":104267,"code":107579,"language":104269,"meta":14,"style":14},"function startWallet()\n",[611,107581,107582],{"__ignoreMap":14},[6995,107583,107584,107586,107589],{"class":244,"line":6997},[6995,107585,17479],{"class":11296},[6995,107587,107588],{"class":11320}," startWallet",[6995,107590,15274],{"class":7000},[34,107592,106259],{},[48,107594,100686],{"id":107595},"notes-8",[852,107597,107598],{},[59,107599,107441,107600,107444],{},[611,107601,107424],{},[41,107603,106267],{"id":107604},"stopwallet",[616,107606,107608],{"className":104267,"code":107607,"language":104269,"meta":14,"style":14},"function stopWallet(callback : function)\n",[611,107609,107610],{"__ignoreMap":14},[6995,107611,107612,107614,107617,107619,107621,107624,107627],{"class":244,"line":6997},[6995,107613,17479],{"class":11296},[6995,107615,107616],{"class":11320}," stopWallet",[6995,107618,6449],{"class":7000},[6995,107620,106935],{"class":15170},[6995,107622,107623],{"class":11296}," :",[6995,107625,107626],{"class":11320}," function",[6995,107628,15020],{"class":7000},[34,107630,106270],{},[48,107632,106699],{"id":107633},"parameters-11",[852,107635,107636],{},[59,107637,107638,107640],{},[611,107639,106935],{}," : calls when wallet has stopped. In this callback it is safe to delete the wallet database",[48,107642,106626],{"id":107643},"return-value-12",[852,107645,107646],{},[59,107647,106944],{},[48,107649,6839],{"id":107650},"example-7",[616,107652,107654],{"className":104267,"code":107653,"language":104269,"meta":14,"style":14},"  wc.stopWallet(()=> {\n    console.log(\"is running: \" + wc.isRunning()) \u002F\u002F false\n  }\n",[611,107655,107656,107670,107695],{"__ignoreMap":14},[6995,107657,107658,107661,107663,107666,107668],{"class":244,"line":6997},[6995,107659,107660],{"class":7000},"  wc.",[6995,107662,106267],{"class":11320},[6995,107664,107665],{"class":7000},"(()",[6995,107667,14884],{"class":11296},[6995,107669,107343],{"class":7000},[6995,107671,107672,107674,107676,107678,107681,107684,107687,107689,107692],{"class":244,"line":15},[6995,107673,17487],{"class":7000},[6995,107675,14890],{"class":11320},[6995,107677,6449],{"class":7000},[6995,107679,107680],{"class":7012},"\"is running: \"",[6995,107682,107683],{"class":11296}," +",[6995,107685,107686],{"class":7000}," wc.",[6995,107688,106278],{"class":11320},[6995,107690,107691],{"class":7000},"()) ",[6995,107693,107694],{"class":7359},"\u002F\u002F false\n",[6995,107696,107697],{"class":244,"line":154},[6995,107698,7467],{"class":7000},[41,107700,106278],{"id":107701},"isrunning",[616,107703,107705],{"className":104267,"code":107704,"language":104269,"meta":14,"style":14},"function isRunning()\n",[611,107706,107707],{"__ignoreMap":14},[6995,107708,107709,107711,107714],{"class":244,"line":6997},[6995,107710,17479],{"class":11296},[6995,107712,107713],{"class":11320}," isRunning",[6995,107715,15274],{"class":7000},[34,107717,106281],{},[48,107719,106699],{"id":107720},"parameters-12",[852,107722,107723],{},[59,107724,106944],{},[48,107726,106626],{"id":107727},"return-value-13",[852,107729,107730],{},[59,107731,107732,107734,107735,107737],{},[611,107733,8689],{}," if the wallet is running, ",[611,107736,11094],{}," otherwise",[41,107739,106289],{"id":107740},"isheadless",[616,107742,107744],{"className":104267,"code":107743,"language":104269,"meta":14,"style":14},"function isHeadless()\n",[611,107745,107746],{"__ignoreMap":14},[6995,107747,107748,107750,107753],{"class":244,"line":6997},[6995,107749,17479],{"class":11296},[6995,107751,107752],{"class":11320}," isHeadless",[6995,107754,15274],{"class":7000},[34,107756,106292,107757,106296],{},[611,107758,106295],{},[48,107760,106699],{"id":107761},"parameters-13",[852,107763,107764],{},[59,107765,106944],{},[48,107767,106626],{"id":107768},"return-value-14",[852,107770,107771],{},[59,107772,107773,107775,107776,107737],{},[611,107774,8689],{}," if the wallet is headless, ",[611,107777,11094],{},[41,107779,106304],{"id":107780},"sendrequest",[616,107782,107784],{"className":104267,"code":107783,"language":104269,"meta":14,"style":14},"function sendRequest(jsonRequest : String)\n",[611,107785,107786],{"__ignoreMap":14},[6995,107787,107788,107790,107793,107795,107798,107800,107803],{"class":244,"line":6997},[6995,107789,17479],{"class":11296},[6995,107791,107792],{"class":11320}," sendRequest",[6995,107794,6449],{"class":7000},[6995,107796,107797],{"class":15170},"jsonRequest",[6995,107799,107623],{"class":11296},[6995,107801,107802],{"class":11320}," String",[6995,107804,15020],{"class":7000},[34,107806,106307,107807,106310],{},[175,107808,4975],{"href":106165},[48,107810,106699],{"id":107811},"parameters-14",[852,107813,107814],{},[59,107815,107816,107818],{},[611,107817,107797],{}," : API request",[48,107820,106626],{"id":107821},"return-value-15",[852,107823,107824],{},[59,107825,106944],{},[48,107827,100686],{"id":107828},"notes-9",[852,107830,107831],{},[59,107832,107833,107834,107836],{},"to get response you have to ",[175,107835,106318],{"href":106317}," before",[48,107838,6839],{"id":107839},"example-8",[616,107841,107843],{"className":104267,"code":107842,"language":104269,"meta":14,"style":14}," walletClient.sendRequest(JSON.stringify({\n     jsonrpc: '2.0',\n     id: 5,\n     method: 'wallet_status'\n }));\n",[611,107844,107845,107862,107871,107880,107888],{"__ignoreMap":14},[6995,107846,107847,107850,107852,107854,107856,107858,107860],{"class":244,"line":6997},[6995,107848,107849],{"class":7000}," walletClient.",[6995,107851,106304],{"class":11320},[6995,107853,6449],{"class":7000},[6995,107855,15883],{"class":7006},[6995,107857,181],{"class":7000},[6995,107859,15888],{"class":11320},[6995,107861,15891],{"class":7000},[6995,107863,107864,107867,107869],{"class":244,"line":15},[6995,107865,107866],{"class":7000},"     jsonrpc: ",[6995,107868,15386],{"class":7012},[6995,107870,7030],{"class":7000},[6995,107872,107873,107876,107878],{"class":244,"line":154},[6995,107874,107875],{"class":7000},"     id: ",[6995,107877,14095],{"class":7006},[6995,107879,7030],{"class":7000},[6995,107881,107882,107885],{"class":244,"line":7033},[6995,107883,107884],{"class":7000},"     method: ",[6995,107886,107887],{"class":7012},"'wallet_status'\n",[6995,107889,107890],{"class":244,"line":7044},[6995,107891,107892],{"class":7000}," }));\n",[41,107894,106318],{"id":106318},[616,107896,107898],{"className":104267,"code":107897,"language":104269,"meta":14,"style":14},"function subscribe(callback : function)\n",[611,107899,107900],{"__ignoreMap":14},[6995,107901,107902,107904,107907,107909,107911,107913,107915],{"class":244,"line":6997},[6995,107903,17479],{"class":11296},[6995,107905,107906],{"class":11320}," subscribe",[6995,107908,6449],{"class":7000},[6995,107910,106935],{"class":15170},[6995,107912,107623],{"class":11296},[6995,107914,107626],{"class":11320},[6995,107916,15020],{"class":7000},[34,107918,106321],{},[48,107920,106699],{"id":107921},"parameters-15",[852,107923,107924],{},[59,107925,107926,107928],{},[611,107927,106935],{}," : function which is called when response arrived",[48,107930,106626],{"id":107931},"return-value-16",[852,107933,107934],{},[59,107935,107936],{},"index of the subscription",[48,107938,6839],{"id":107939},"example-9",[616,107941,107943],{"className":104267,"code":107942,"language":104269,"meta":14,"style":14},"  var i = walletClient.subscribe((r)=> {\n      console.log(\"response: \" + r)\n  });\n",[611,107944,107945,107970,107986],{"__ignoreMap":14},[6995,107946,107947,107950,107953,107955,107957,107959,107962,107964,107966,107968],{"class":244,"line":6997},[6995,107948,107949],{"class":11296},"  var",[6995,107951,107952],{"class":7000}," i ",[6995,107954,6673],{"class":11296},[6995,107956,107849],{"class":7000},[6995,107958,106318],{"class":11320},[6995,107960,107961],{"class":7000},"((",[6995,107963,94934],{"class":15170},[6995,107965,8764],{"class":7000},[6995,107967,14884],{"class":11296},[6995,107969,107343],{"class":7000},[6995,107971,107972,107974,107976,107978,107981,107983],{"class":244,"line":15},[6995,107973,106753],{"class":7000},[6995,107975,14890],{"class":11320},[6995,107977,6449],{"class":7000},[6995,107979,107980],{"class":7012},"\"response: \"",[6995,107982,107683],{"class":11296},[6995,107984,107985],{"class":7000}," r)\n",[6995,107987,107988],{"class":244,"line":154},[6995,107989,107990],{"class":7000},"  });\n",[41,107992,106329],{"id":106329},[616,107994,107996],{"className":104267,"code":107995,"language":104269,"meta":14,"style":14},"function unsubscribe(index : Number)\n",[611,107997,107998],{"__ignoreMap":14},[6995,107999,108000,108002,108005,108007,108010,108012,108015],{"class":244,"line":6997},[6995,108001,17479],{"class":11296},[6995,108003,108004],{"class":11320}," unsubscribe",[6995,108006,6449],{"class":7000},[6995,108008,108009],{"class":15170},"index",[6995,108011,107623],{"class":11296},[6995,108013,108014],{"class":11320}," Number",[6995,108016,15020],{"class":7000},[34,108018,106332],{},[48,108020,106699],{"id":108021},"parameters-16",[852,108023,108024],{},[59,108025,108026,108028],{},[611,108027,108009],{}," : index of the subscription",[48,108030,106626],{"id":108031},"return-value-17",[852,108033,108034],{},[59,108035,106944],{},[41,108037,106340],{"id":108038},"setsynchandler",[616,108040,108042],{"className":104267,"code":108041,"language":104269,"meta":14,"style":14},"function setSyncHandler(handler : function)\n",[611,108043,108044],{"__ignoreMap":14},[6995,108045,108046,108048,108051,108053,108056,108058,108060],{"class":244,"line":6997},[6995,108047,17479],{"class":11296},[6995,108049,108050],{"class":11320}," setSyncHandler",[6995,108052,6449],{"class":7000},[6995,108054,108055],{"class":15170},"handler",[6995,108057,107623],{"class":11296},[6995,108059,107626],{"class":11320},[6995,108061,15020],{"class":7000},[34,108063,106343],{},[48,108065,106699],{"id":108066},"parameters-17",[852,108068,108069],{},[59,108070,108071,108073],{},[611,108072,108055],{}," : called each time wallet notifies about sync progress",[48,108075,106626],{"id":108076},"return-value-18",[852,108078,108079],{},[59,108080,106944],{},[48,108082,6839],{"id":108083},"example-10",[616,108085,108087],{"className":104267,"code":108086,"language":104269,"meta":14,"style":14}," walletClient.setSyncHandler((done, total) => {\n    console.log(\"sync [\" + done + \"\u002F\" + total + \"]\");\n });\n",[611,108088,108089,108111,108144],{"__ignoreMap":14},[6995,108090,108091,108093,108095,108097,108100,108102,108105,108107,108109],{"class":244,"line":6997},[6995,108092,107849],{"class":7000},[6995,108094,106340],{"class":11320},[6995,108096,107961],{"class":7000},[6995,108098,108099],{"class":15170},"done",[6995,108101,2231],{"class":7000},[6995,108103,108104],{"class":15170},"total",[6995,108106,17664],{"class":7000},[6995,108108,14884],{"class":11296},[6995,108110,107343],{"class":7000},[6995,108112,108113,108115,108117,108119,108122,108124,108127,108129,108132,108134,108137,108139,108142],{"class":244,"line":15},[6995,108114,17487],{"class":7000},[6995,108116,14890],{"class":11320},[6995,108118,6449],{"class":7000},[6995,108120,108121],{"class":7012},"\"sync [\"",[6995,108123,107683],{"class":11296},[6995,108125,108126],{"class":7000}," done ",[6995,108128,17560],{"class":11296},[6995,108130,108131],{"class":7012}," \"\u002F\"",[6995,108133,107683],{"class":11296},[6995,108135,108136],{"class":7000}," total ",[6995,108138,17560],{"class":11296},[6995,108140,108141],{"class":7012}," \"]\"",[6995,108143,17433],{"class":7000},[6995,108145,108146],{"class":244,"line":154},[6995,108147,108148],{"class":7000}," });\n",[41,108150,106351],{"id":108151},"setapprovesendhandler",[616,108153,108155],{"className":104267,"code":108154,"language":104269,"meta":14,"style":14},"function setApproveSendHandler(handler : function)\n",[611,108156,108157],{"__ignoreMap":14},[6995,108158,108159,108161,108164,108166,108168,108170,108172],{"class":244,"line":6997},[6995,108160,17479],{"class":11296},[6995,108162,108163],{"class":11320}," setApproveSendHandler",[6995,108165,6449],{"class":7000},[6995,108167,108055],{"class":15170},[6995,108169,107623],{"class":11296},[6995,108171,107626],{"class":11320},[6995,108173,15020],{"class":7000},[34,108175,106354],{},[48,108177,106699],{"id":108178},"parameters-18",[852,108180,108181],{},[59,108182,108183,108185],{},[611,108184,108055],{}," : function called each time application wants to send assets from the wallet",[48,108187,106626],{"id":108188},"return-value-19",[852,108190,108191],{},[59,108192,106944],{},[48,108194,6839],{"id":108195},"example-11",[616,108197,108199],{"className":104267,"code":108198,"language":104269,"meta":14,"style":14}," walletClient.setApproveSendHandler((request, info, cb)=>{\n     console.log(\"Request: \" + request);\n     console.log(\"Info: \" + info);\n     cb.sendApproved(request);\n     \u002F\u002Fcb.sendRejected(request);\n }) \n",[611,108200,108201,108227,108243,108259,108269,108274],{"__ignoreMap":14},[6995,108202,108203,108205,108207,108209,108212,108214,108216,108218,108221,108223,108225],{"class":244,"line":6997},[6995,108204,107849],{"class":7000},[6995,108206,106351],{"class":11320},[6995,108208,107961],{"class":7000},[6995,108210,108211],{"class":15170},"request",[6995,108213,2231],{"class":7000},[6995,108215,88306],{"class":15170},[6995,108217,2231],{"class":7000},[6995,108219,108220],{"class":15170},"cb",[6995,108222,8764],{"class":7000},[6995,108224,14884],{"class":11296},[6995,108226,7001],{"class":7000},[6995,108228,108229,108231,108233,108235,108238,108240],{"class":244,"line":15},[6995,108230,106996],{"class":7000},[6995,108232,14890],{"class":11320},[6995,108234,6449],{"class":7000},[6995,108236,108237],{"class":7012},"\"Request: \"",[6995,108239,107683],{"class":11296},[6995,108241,108242],{"class":7000}," request);\n",[6995,108244,108245,108247,108249,108251,108254,108256],{"class":244,"line":154},[6995,108246,106996],{"class":7000},[6995,108248,14890],{"class":11320},[6995,108250,6449],{"class":7000},[6995,108252,108253],{"class":7012},"\"Info: \"",[6995,108255,107683],{"class":11296},[6995,108257,108258],{"class":7000}," info);\n",[6995,108260,108261,108264,108266],{"class":244,"line":7033},[6995,108262,108263],{"class":7000},"     cb.",[6995,108265,106564],{"class":11320},[6995,108267,108268],{"class":7000},"(request);\n",[6995,108270,108271],{"class":244,"line":7044},[6995,108272,108273],{"class":7359},"     \u002F\u002Fcb.sendRejected(request);\n",[6995,108275,108276],{"class":244,"line":7107},[6995,108277,108278],{"class":7000}," })\n",[41,108280,106362],{"id":108281},"setapprovecontractinfohandler",[616,108283,108285],{"className":104267,"code":108284,"language":104269,"meta":14,"style":14},"function setApproveContractInfoHandler(handler : function)\n",[611,108286,108287],{"__ignoreMap":14},[6995,108288,108289,108291,108294,108296,108298,108300,108302],{"class":244,"line":6997},[6995,108290,17479],{"class":11296},[6995,108292,108293],{"class":11320}," setApproveContractInfoHandler",[6995,108295,6449],{"class":7000},[6995,108297,108055],{"class":15170},[6995,108299,107623],{"class":11296},[6995,108301,107626],{"class":11320},[6995,108303,15020],{"class":7000},[34,108305,106365],{},[48,108307,106699],{"id":108308},"parameters-19",[852,108310,108311],{},[59,108312,108313],{},[611,108314,108055],{},[48,108316,106626],{"id":108317},"return-value-20",[852,108319,108320],{},[59,108321,106944],{},[48,108323,6839],{"id":108324},"example-12",[616,108326,108328],{"className":104267,"code":108327,"language":104269,"meta":14,"style":14}," walletClient.setApproveContractInfoHandler((request, info, amounts, cb)=>{\n     console.log(\"Request: \" + request);\n     console.log(\"Info: \" + info);\n     cb.contractInfoApproved(request);\n     \u002F\u002Fcb.contractInfoRejected(request);\n }) \n",[611,108329,108330,108359,108373,108387,108395,108400],{"__ignoreMap":14},[6995,108331,108332,108334,108336,108338,108340,108342,108344,108346,108349,108351,108353,108355,108357],{"class":244,"line":6997},[6995,108333,107849],{"class":7000},[6995,108335,106362],{"class":11320},[6995,108337,107961],{"class":7000},[6995,108339,108211],{"class":15170},[6995,108341,2231],{"class":7000},[6995,108343,88306],{"class":15170},[6995,108345,2231],{"class":7000},[6995,108347,108348],{"class":15170},"amounts",[6995,108350,2231],{"class":7000},[6995,108352,108220],{"class":15170},[6995,108354,8764],{"class":7000},[6995,108356,14884],{"class":11296},[6995,108358,7001],{"class":7000},[6995,108360,108361,108363,108365,108367,108369,108371],{"class":244,"line":15},[6995,108362,106996],{"class":7000},[6995,108364,14890],{"class":11320},[6995,108366,6449],{"class":7000},[6995,108368,108237],{"class":7012},[6995,108370,107683],{"class":11296},[6995,108372,108242],{"class":7000},[6995,108374,108375,108377,108379,108381,108383,108385],{"class":244,"line":154},[6995,108376,106996],{"class":7000},[6995,108378,14890],{"class":11320},[6995,108380,6449],{"class":7000},[6995,108382,108253],{"class":7012},[6995,108384,107683],{"class":11296},[6995,108386,108258],{"class":7000},[6995,108388,108389,108391,108393],{"class":244,"line":7033},[6995,108390,108263],{"class":7000},[6995,108392,106586],{"class":11320},[6995,108394,108268],{"class":7000},[6995,108396,108397],{"class":244,"line":7044},[6995,108398,108399],{"class":7359},"     \u002F\u002Fcb.contractInfoRejected(request);\n",[6995,108401,108402],{"class":244,"line":7107},[6995,108403,108278],{"class":7000},[41,108405,106373],{"id":108406},"createappapi",[616,108408,108410],{"className":104267,"code":108409,"language":104269,"meta":14,"style":14},"function createAppAPI(appid : String, appname : String, callback : function)\n",[611,108411,108412],{"__ignoreMap":14},[6995,108413,108414,108416,108419,108421,108423,108425,108427,108429,108431,108433,108435,108437,108439,108441,108443],{"class":244,"line":6997},[6995,108415,17479],{"class":11296},[6995,108417,108418],{"class":11320}," createAppAPI",[6995,108420,6449],{"class":7000},[6995,108422,35293],{"class":15170},[6995,108424,107623],{"class":11296},[6995,108426,107802],{"class":11320},[6995,108428,2231],{"class":7000},[6995,108430,35296],{"class":15170},[6995,108432,107623],{"class":11296},[6995,108434,107802],{"class":11320},[6995,108436,2231],{"class":7000},[6995,108438,106935],{"class":15170},[6995,108440,107623],{"class":11296},[6995,108442,107626],{"class":11320},[6995,108444,15020],{"class":7000},[34,108446,106376],{},[48,108448,106699],{"id":108449},"parameters-20",[852,108451,108452,108457,108462],{},[59,108453,108454,108456],{},[611,108455,35293],{}," : ID of the application",[59,108458,108459,108461],{},[611,108460,35296],{}," : the name of the app",[59,108463,108464,108466],{},[611,108465,106935],{}," : the callback with API object in the case of success",[48,108468,6839],{"id":108469},"example-13",[616,108471,108473],{"className":104267,"code":108472,"language":104269,"meta":14,"style":14}," console.log(\"calling API...\");\n wc.createAppAPI(\"appid\", \"appname\", (api)=>{\n    api.setHandler((r)=> {\n       console.log(\"API response: \" + r)\n    })\n    api.callWalletApi(JSON.stringify({\n       jsonrpc: '2.0',\n        id: 5,\n        method: 'wallet_status'\n    }));        \n });\n",[611,108474,108475,108488,108514,108531,108547,108551,108567,108576,108585,108592,108597],{"__ignoreMap":14},[6995,108476,108477,108479,108481,108483,108486],{"class":244,"line":6997},[6995,108478,14887],{"class":7000},[6995,108480,14890],{"class":11320},[6995,108482,6449],{"class":7000},[6995,108484,108485],{"class":7012},"\"calling API...\"",[6995,108487,17433],{"class":7000},[6995,108489,108490,108492,108494,108496,108499,108501,108504,108506,108508,108510,108512],{"class":244,"line":15},[6995,108491,107686],{"class":7000},[6995,108493,106373],{"class":11320},[6995,108495,6449],{"class":7000},[6995,108497,108498],{"class":7012},"\"appid\"",[6995,108500,2231],{"class":7000},[6995,108502,108503],{"class":7012},"\"appname\"",[6995,108505,107333],{"class":7000},[6995,108507,12385],{"class":15170},[6995,108509,8764],{"class":7000},[6995,108511,14884],{"class":11296},[6995,108513,7001],{"class":7000},[6995,108515,108516,108519,108521,108523,108525,108527,108529],{"class":244,"line":154},[6995,108517,108518],{"class":7000},"    api.",[6995,108520,106534],{"class":11320},[6995,108522,107961],{"class":7000},[6995,108524,94934],{"class":15170},[6995,108526,8764],{"class":7000},[6995,108528,14884],{"class":11296},[6995,108530,107343],{"class":7000},[6995,108532,108533,108536,108538,108540,108543,108545],{"class":244,"line":7033},[6995,108534,108535],{"class":7000},"       console.",[6995,108537,14890],{"class":11320},[6995,108539,6449],{"class":7000},[6995,108541,108542],{"class":7012},"\"API response: \"",[6995,108544,107683],{"class":11296},[6995,108546,107985],{"class":7000},[6995,108548,108549],{"class":244,"line":7044},[6995,108550,15079],{"class":7000},[6995,108552,108553,108555,108557,108559,108561,108563,108565],{"class":244,"line":7107},[6995,108554,108518],{"class":7000},[6995,108556,106523],{"class":11320},[6995,108558,6449],{"class":7000},[6995,108560,15883],{"class":7006},[6995,108562,181],{"class":7000},[6995,108564,15888],{"class":11320},[6995,108566,15891],{"class":7000},[6995,108568,108569,108572,108574],{"class":244,"line":7120},[6995,108570,108571],{"class":7000},"       jsonrpc: ",[6995,108573,15386],{"class":7012},[6995,108575,7030],{"class":7000},[6995,108577,108578,108581,108583],{"class":244,"line":7133},[6995,108579,108580],{"class":7000},"        id: ",[6995,108582,14095],{"class":7006},[6995,108584,7030],{"class":7000},[6995,108586,108587,108590],{"class":244,"line":7146},[6995,108588,108589],{"class":7000},"        method: ",[6995,108591,107887],{"class":7012},[6995,108593,108594],{"class":244,"line":7159},[6995,108595,108596],{"class":7000},"    }));        \n",[6995,108598,108599],{"class":244,"line":7172},[6995,108600,108148],{"class":7000},[41,108602,106384],{"id":108603},"importrecovery",[616,108605,108607],{"className":104267,"code":108606,"language":104269,"meta":14,"style":14},"function importRecovery(recoveryData: Uint8Array, callback: function(error, done, total))\n",[611,108608,108609],{"__ignoreMap":14},[6995,108610,108611,108613,108616,108618,108621,108623,108626,108628,108630,108632,108634,108636,108638,108640,108642,108644,108646],{"class":244,"line":6997},[6995,108612,17479],{"class":11296},[6995,108614,108615],{"class":11320}," importRecovery",[6995,108617,6449],{"class":7000},[6995,108619,108620],{"class":15170},"recoveryData",[6995,108622,5102],{"class":11296},[6995,108624,108625],{"class":11320}," Uint8Array",[6995,108627,2231],{"class":7000},[6995,108629,106935],{"class":15170},[6995,108631,5102],{"class":11296},[6995,108633,107626],{"class":11320},[6995,108635,6449],{"class":7000},[6995,108637,15764],{"class":15170},[6995,108639,2231],{"class":7000},[6995,108641,108099],{"class":15170},[6995,108643,2231],{"class":7000},[6995,108645,108104],{"class":15170},[6995,108647,14898],{"class":7000},[34,108649,106387],{},[48,108651,106699],{"id":108652},"parameters-21",[852,108654,108655,108660],{},[59,108656,108657,108659],{},[611,108658,108620],{}," : downloaded recovery data",[59,108661,108662,108664,108665,108667,108668,1475,108670],{},[611,108663,106935],{}," : callback function, which allows to handle errors via ",[611,108666,15764],{}," parameter and to report progress using ",[611,108669,108099],{},[611,108671,108104],{},[48,108673,6839],{"id":108674},"example-14",[616,108676,108678],{"className":104267,"code":108677,"language":104269,"meta":14,"style":14}," \u002F\u002F download function should be defined by user\n download(\"recovery.bin\", function(error, data) {\n    if (error == null) {\n        console.log(\"downloaded recovery\")\n        walletClient.importRecovery(data, function(error, done, total) {\n            if (error == null) {\n                console.log(`Restoring ${done}\u002F${total}`)\n            } else {\n                console.log(`Failed to recover: ${error}`)\n            }\n        });\n        \n    } else {\n        console.log(\"failed to download recovery\")\n    }\n\n});\n",[611,108679,108680,108685,108709,108722,108735,108761,108774,108797,108807,108824,108828,108833,108837,108846,108859,108863,108867],{"__ignoreMap":14},[6995,108681,108682],{"class":244,"line":6997},[6995,108683,108684],{"class":7359}," \u002F\u002F download function should be defined by user\n",[6995,108686,108687,108690,108692,108695,108697,108699,108701,108703,108705,108707],{"class":244,"line":15},[6995,108688,108689],{"class":11320}," download",[6995,108691,6449],{"class":7000},[6995,108693,108694],{"class":7012},"\"recovery.bin\"",[6995,108696,2231],{"class":7000},[6995,108698,17479],{"class":11296},[6995,108700,6449],{"class":7000},[6995,108702,15764],{"class":15170},[6995,108704,2231],{"class":7000},[6995,108706,15730],{"class":15170},[6995,108708,17622],{"class":7000},[6995,108710,108711,108713,108715,108718,108720],{"class":244,"line":154},[6995,108712,17647],{"class":11296},[6995,108714,106984],{"class":7000},[6995,108716,108717],{"class":11296},"==",[6995,108719,106989],{"class":7006},[6995,108721,17622],{"class":7000},[6995,108723,108724,108726,108728,108730,108733],{"class":244,"line":7033},[6995,108725,15011],{"class":7000},[6995,108727,14890],{"class":11320},[6995,108729,6449],{"class":7000},[6995,108731,108732],{"class":7012},"\"downloaded recovery\"",[6995,108734,15020],{"class":7000},[6995,108736,108737,108740,108742,108745,108747,108749,108751,108753,108755,108757,108759],{"class":244,"line":7044},[6995,108738,108739],{"class":7000},"        walletClient.",[6995,108741,106384],{"class":11320},[6995,108743,108744],{"class":7000},"(data, ",[6995,108746,17479],{"class":11296},[6995,108748,6449],{"class":7000},[6995,108750,15764],{"class":15170},[6995,108752,2231],{"class":7000},[6995,108754,108099],{"class":15170},[6995,108756,2231],{"class":7000},[6995,108758,108104],{"class":15170},[6995,108760,17622],{"class":7000},[6995,108762,108763,108766,108768,108770,108772],{"class":244,"line":7107},[6995,108764,108765],{"class":11296},"            if",[6995,108767,106984],{"class":7000},[6995,108769,108717],{"class":11296},[6995,108771,106989],{"class":7006},[6995,108773,17622],{"class":7000},[6995,108775,108776,108779,108781,108783,108786,108788,108791,108793,108795],{"class":244,"line":7120},[6995,108777,108778],{"class":7000},"                console.",[6995,108780,14890],{"class":11320},[6995,108782,6449],{"class":7000},[6995,108784,108785],{"class":7012},"`Restoring ${",[6995,108787,108099],{"class":7000},[6995,108789,108790],{"class":7012},"}\u002F${",[6995,108792,108104],{"class":7000},[6995,108794,15291],{"class":7012},[6995,108796,15020],{"class":7000},[6995,108798,108799,108802,108805],{"class":244,"line":7133},[6995,108800,108801],{"class":7000},"            } ",[6995,108803,108804],{"class":11296},"else",[6995,108806,107343],{"class":7000},[6995,108808,108809,108811,108813,108815,108818,108820,108822],{"class":244,"line":7146},[6995,108810,108778],{"class":7000},[6995,108812,14890],{"class":11320},[6995,108814,6449],{"class":7000},[6995,108816,108817],{"class":7012},"`Failed to recover: ${",[6995,108819,15764],{"class":7000},[6995,108821,15291],{"class":7012},[6995,108823,15020],{"class":7000},[6995,108825,108826],{"class":244,"line":7159},[6995,108827,15811],{"class":7000},[6995,108829,108830],{"class":244,"line":7172},[6995,108831,108832],{"class":7000},"        });\n",[6995,108834,108835],{"class":244,"line":7185},[6995,108836,14554],{"class":7000},[6995,108838,108839,108842,108844],{"class":244,"line":7198},[6995,108840,108841],{"class":7000},"    } ",[6995,108843,108804],{"class":11296},[6995,108845,107343],{"class":7000},[6995,108847,108848,108850,108852,108854,108857],{"class":244,"line":7211},[6995,108849,15011],{"class":7000},[6995,108851,14890],{"class":11320},[6995,108853,6449],{"class":7000},[6995,108855,108856],{"class":7012},"\"failed to download recovery\"",[6995,108858,15020],{"class":7000},[6995,108860,108861],{"class":244,"line":7220},[6995,108862,7615],{"class":7000},[6995,108864,108865],{"class":244,"line":7226},[6995,108866,14371],{"emptyLinePlaceholder":20},[6995,108868,108869],{"class":244,"line":7238},[6995,108870,17576],{"class":7000},[11,108872,106502],{"id":108873},"appapi",[41,108875,106523],{"id":108876},"callwalletapi",[41,108878,106534],{"id":108879},"sethandler",[11,108881,106543],{"id":108882},"appapicallback",[41,108884,106564],{"id":108885},"sendapproved",[41,108887,106575],{"id":108888},"sendrejected",[41,108890,106586],{"id":108891},"contractinfoapproved",[41,108893,106597],{"id":108894},"contractinforejected",[8692,108896,108897],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}",{"title":14,"searchDepth":15,"depth":15,"links":108899},[108900,108904,108909,108913,108918,108922,108928,108934,108939,108944,108950,108956,108962,108965,108970,108974,108978,108984,108989,108993,108998,109003,109008,109012,109016,109017,109018,109019,109020,109021],{"id":106606,"depth":15,"text":15271,"children":108901},[108902,108903],{"id":106625,"depth":154,"text":106626},{"id":104707,"depth":154,"text":6839},{"id":106679,"depth":15,"text":106405,"children":108905},[108906,108907,108908],{"id":106698,"depth":154,"text":106699},{"id":106710,"depth":154,"text":106626},{"id":106725,"depth":154,"text":6839},{"id":106769,"depth":15,"text":106416,"children":108910},[108911,108912],{"id":106792,"depth":154,"text":106699},{"id":106804,"depth":154,"text":106626},{"id":106819,"depth":15,"text":106427,"children":108914},[108915,108916,108917],{"id":106838,"depth":154,"text":106699},{"id":106848,"depth":154,"text":106626},{"id":100685,"depth":154,"text":100686},{"id":106866,"depth":15,"text":106438,"children":108919},[108920,108921],{"id":106885,"depth":154,"text":106699},{"id":106895,"depth":154,"text":106626},{"id":106905,"depth":15,"text":106449,"children":108923},[108924,108925,108926,108927],{"id":106928,"depth":154,"text":106699},{"id":106939,"depth":154,"text":106626},{"id":106947,"depth":154,"text":100686},{"id":106955,"depth":154,"text":6839},{"id":107055,"depth":15,"text":106460,"children":108929},[108930,108931,108932,108933],{"id":107074,"depth":154,"text":106699},{"id":107096,"depth":154,"text":106626},{"id":107103,"depth":154,"text":100686},{"id":107115,"depth":154,"text":6839},{"id":107155,"depth":15,"text":106471,"children":108935},[108936,108937,108938],{"id":107174,"depth":154,"text":106699},{"id":107184,"depth":154,"text":106626},{"id":107191,"depth":154,"text":100686},{"id":107200,"depth":15,"text":106482,"children":108940},[108941,108942,108943],{"id":107218,"depth":154,"text":106699},{"id":107228,"depth":154,"text":106626},{"id":107240,"depth":154,"text":100686},{"id":107249,"depth":15,"text":106493,"children":108945},[108946,108947,108948,108949],{"id":107273,"depth":154,"text":106699},{"id":107293,"depth":154,"text":106626},{"id":107300,"depth":154,"text":100686},{"id":107309,"depth":154,"text":6839},{"id":107389,"depth":15,"text":106234,"children":108951},[108952,108953,108954,108955],{"id":107407,"depth":154,"text":106699},{"id":107428,"depth":154,"text":106626},{"id":107436,"depth":154,"text":100686},{"id":107452,"depth":154,"text":6839},{"id":107498,"depth":15,"text":106245,"children":108957},[108958,108959,108960,108961],{"id":107516,"depth":154,"text":106699},{"id":107525,"depth":154,"text":106626},{"id":107532,"depth":154,"text":100686},{"id":107547,"depth":154,"text":6839},{"id":107576,"depth":15,"text":106256,"children":108963},[108964],{"id":107595,"depth":154,"text":100686},{"id":107604,"depth":15,"text":106267,"children":108966},[108967,108968,108969],{"id":107633,"depth":154,"text":106699},{"id":107643,"depth":154,"text":106626},{"id":107650,"depth":154,"text":6839},{"id":107701,"depth":15,"text":106278,"children":108971},[108972,108973],{"id":107720,"depth":154,"text":106699},{"id":107727,"depth":154,"text":106626},{"id":107740,"depth":15,"text":106289,"children":108975},[108976,108977],{"id":107761,"depth":154,"text":106699},{"id":107768,"depth":154,"text":106626},{"id":107780,"depth":15,"text":106304,"children":108979},[108980,108981,108982,108983],{"id":107811,"depth":154,"text":106699},{"id":107821,"depth":154,"text":106626},{"id":107828,"depth":154,"text":100686},{"id":107839,"depth":154,"text":6839},{"id":106318,"depth":15,"text":106318,"children":108985},[108986,108987,108988],{"id":107921,"depth":154,"text":106699},{"id":107931,"depth":154,"text":106626},{"id":107939,"depth":154,"text":6839},{"id":106329,"depth":15,"text":106329,"children":108990},[108991,108992],{"id":108021,"depth":154,"text":106699},{"id":108031,"depth":154,"text":106626},{"id":108038,"depth":15,"text":106340,"children":108994},[108995,108996,108997],{"id":108066,"depth":154,"text":106699},{"id":108076,"depth":154,"text":106626},{"id":108083,"depth":154,"text":6839},{"id":108151,"depth":15,"text":106351,"children":108999},[109000,109001,109002],{"id":108178,"depth":154,"text":106699},{"id":108188,"depth":154,"text":106626},{"id":108195,"depth":154,"text":6839},{"id":108281,"depth":15,"text":106362,"children":109004},[109005,109006,109007],{"id":108308,"depth":154,"text":106699},{"id":108317,"depth":154,"text":106626},{"id":108324,"depth":154,"text":6839},{"id":108406,"depth":15,"text":106373,"children":109009},[109010,109011],{"id":108449,"depth":154,"text":106699},{"id":108469,"depth":154,"text":6839},{"id":108603,"depth":15,"text":106384,"children":109013},[109014,109015],{"id":108652,"depth":154,"text":106699},{"id":108674,"depth":154,"text":6839},{"id":108876,"depth":15,"text":106523},{"id":108879,"depth":15,"text":106534},{"id":108885,"depth":15,"text":106564},{"id":108888,"depth":15,"text":106575},{"id":108891,"depth":15,"text":106586},{"id":108894,"depth":15,"text":106597},"WASM wallet client is a thin wrapper around Beam client library build into WASM using Emscripten toolchain. This wrapper allows to run BEAM wallet inside any browser supporting WebAssembly and it provides the regular BEAM wallet API to communicated with it from external(javascript) code. It's available via npm for different network types:",{},"\u002Fdocs\u002Fcore-tech\u002Fwasm-wallet-client",{"title":10406,"description":109022},"docs\u002Fcore-tech\u002FWASM-wallet-client","2CvNGEqnfqpqUPh9_CR2icuxL8258ryCJF5frbQzbsg",{"id":109029,"title":109030,"body":109031,"description":109035,"extension":17,"image":18,"meta":110998,"navTitle":18,"navigation":20,"path":110999,"seo":111000,"stem":111001,"__hash__":111002},"docs\u002Fdocs\u002Fcore-tech\u002FWallet-Service.md","Wallet Service",{"type":8,"value":109032,"toc":110976},[109033,109036,109040,109043,109185,109189,109192,109240,109244,109247,109253,109256,109268,109272,109275,109288,109296,109300,109303,109324,109327,109340,109342,109345,109440,109455,109513,109522,109524,109527,109529,109532,109540,109547,109554,109557,109563,109570,109584,109588,109591,109632,109639,109641,109644,109730,109738,109784,109789,109791,109794,109876,109889,109935,109940,109942,109945,110017,110022,110067,110072,110074,110077,110123,110126,110170,110174,110176,110179,110249,110254,110321,110331,110333,110336,110382,110384,110430,110435,110441,110447,110454,110461,110465,110562,110569,110602,110605,110841,110937,110941,110947,110951,110954,110973],[34,109034,109035],{},"Beam wallet service allows to implement lightweight wallets using BEAM API.",[41,109037,109039],{"id":109038},"how-to-build","How to build",[34,109041,109042],{},"Wallet service and related projects are supposed to be run on Linux only. It is possible to build everything for Windows and using Windows but it is not oficially supported. Releases are also provided only for Linux.",[56,109044,109045,109062,109074,109083,109101,109110,109158],{},[59,109046,109047,109048,109052,109053,8003,109056,97649,109059,109061],{},"Install required tools to build the generic BEAM project. Refer ",[175,109049,109051],{"href":6000,"rel":109050},[179],"BEAM build instructions"," for detals. For example if you're using Ubuntu 18.04 Desktop you need to execute steps ",[611,109054,109055],{},"1. Install dependencies",[611,109057,109058],{},"2. Install cmake",[611,109060,92572],{}," section.",[59,109063,109064,109065,109068,109069,181],{},"Install golang. You need at least v1.13.0 to build the project. If the relevant package is provided with your OS it is better to use it. For example ",[611,109066,109067],{},"sudo dnf install golang"," on Fedora. If your OS doesn't not provide recent golang packages (like Ubuntu 18.04) use instructions ",[175,109070,109073],{"href":109071,"rel":109072},"https:\u002F\u002Fgolang.org\u002Fdoc\u002Finstall",[179],"from the official website",[59,109075,109076,109077],{},"Clone the repository",[616,109078,109081],{"className":109079,"code":109080,"language":621},[619],"git clone https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fwallet-service.git\n",[611,109082,109080],{"__ignoreMap":14},[59,109084,109085,109086,109088,109089,109091,109092,109094,109095],{},"Checkout the necessary branch. We use the ",[611,109087,90440],{}," branch for development. To be able to connect to the testnet you have to checkout the ",[611,109090,90421],{}," branch. To be able to connect to the mainnet you have to checkout the ",[611,109093,90400],{}," branch.",[616,109096,109099],{"className":109097,"code":109098,"language":621},[619],"cd wallet-service\ngit checkout testnet\n",[611,109100,109098],{"__ignoreMap":14},[59,109102,109103,109104],{},"Init submodules",[616,109105,109108],{"className":109106,"code":109107,"language":621},[619],"git submodule update --init --recursive\n",[611,109109,109107],{"__ignoreMap":14},[59,109111,96836,109112,8003,109115,109118,109119,109122,109123,109125,109126,109131,109133,109134,109140,109142,109143,8003,109146,109149,109150,109153,109154,109157],{},[611,109113,109114],{},"wallet-service",[611,109116,109117],{},"sbbs-monitor",". Use build commands from the ",[175,109120,109051],{"href":6000,"rel":109121},[179]," according to your OS.",[4953,109124],{},"For example for Fedora",[616,109127,109129],{"className":109128,"code":93180,"language":621},[619],[611,109130,93180],{"__ignoreMap":14},[4953,109132],{},"For Ububtu 18.04 Desktop",[616,109135,109138],{"className":109136,"code":109137,"language":621},[619],"export CC=gcc-8 && export CXX=g++-8\ncmake -DCMAKE_BUILD_TYPE=Release && make -j4\n",[611,109139,109137],{"__ignoreMap":14},[4953,109141],{},"After the build process completes you would have ",[611,109144,109145],{},"wallet-service(-testnet\u002F-masternet)",[611,109147,109148],{},"sbbs-monitor(-testnet\u002F-masternet)"," binaries in the ",[611,109151,109152],{},"wallet-service\u002Fservice"," folder. Mainnet binaries do not have the ",[611,109155,109156],{},"-BRANCHNAME"," postfix.",[59,109159,96836,109160,109163,109169,109171,109172,12363,109174,109177,109178,109181,109182,109184],{},[611,109161,109162],{},"service-balancer",[616,109164,109167],{"className":109165,"code":109166,"language":621},[619],"cd service-balancer && go build && cd ..\n",[611,109168,109166],{"__ignoreMap":14},[4953,109170],{},"After the build process completes you would have the ",[611,109173,109162],{},[611,109175,109176],{},"wallet-service\u002Fservice-balancer"," folder. N.B. At the moment manual builds do not add ",[611,109179,109180],{},"-masternet\u002F-testnet"," postfix to the ",[611,109183,109162],{}," executable.",[41,109186,109188],{"id":109187},"prebuilt-binaries","Prebuilt binaries",[34,109190,109191],{},"You can get the latest prebuilt wallet service binaries here.",[56,109193,109194,109217],{},[59,109195,109196,109197],{},"Testnet",[852,109198,109199,109205,109211],{},[59,109200,109201],{},[175,109202,109203],{"href":109203,"rel":109204},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ffiles\u002Ftestnet\u002Flatest\u002FRelease\u002Flinux\u002Fservice-balancer-testnet.tar.gz",[179],[59,109206,109207],{},[175,109208,109209],{"href":109209,"rel":109210},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ffiles\u002Ftestnet\u002Flatest\u002FRelease\u002Flinux\u002Fwallet-service-testnet.tar.gz",[179],[59,109212,109213],{},[175,109214,109215],{"href":109215,"rel":109216},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ffiles\u002Ftestnet\u002Flatest\u002FRelease\u002Flinux\u002Fsbbs-monitor-testnet.tar.gz",[179],[59,109218,109219,109220],{},"Masternet",[852,109221,109222,109228,109234],{},[59,109223,109224],{},[175,109225,109226],{"href":109226,"rel":109227},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ffiles\u002Fmasternet\u002Flatest\u002FRelease\u002Flinux\u002Fservice-balancer-masternet.tar.gz",[179],[59,109229,109230],{},[175,109231,109232],{"href":109232,"rel":109233},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ffiles\u002Fmasternet\u002Flatest\u002FRelease\u002Flinux\u002Fwallet-service-masternet.tar.gz",[179],[59,109235,109236],{},[175,109237,109238],{"href":109238,"rel":109239},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ffiles\u002Fmasternet\u002Flatest\u002FRelease\u002Flinux\u002Fsbbs-monitor-masternet.tar.gz",[179],[41,109241,109243],{"id":109242},"deployment","Deployment",[34,109245,109246],{},"At the moment it is advised to use our public API enpoints until the deployment procedure is stabilized and made public. Docker would be available as well as the detailed deployment guide.",[41,109248,109250],{"id":109249},"how-to-try",[175,109251,109252],{"name":109249},"How to try",[34,109254,109255],{},"Currently the Wallet Service is deployed for masternet & testnet and provides the following public Service Balancer endpoints",[56,109257,109258,109263],{},[59,109259,109196,109260,109262],{},[4953,109261],{},"wss:\u002F\u002Fweb-wallet-testnet.beam.mw\u002Fws",[59,109264,109219,109265,109267],{},[4953,109266],{},"wss:\u002F\u002Fweb-wallet-masternet.beam.mw\u002Fws",[41,109269,109271],{"id":109270},"api-guide","API Guide",[34,109273,109274],{},"Wallet service exposes its API only via JSONRpc v2.0 over WebSockets. To access the API you should",[56,109276,109277,109285],{},[59,109278,109279,109280,109284],{},"Login to the balancer and get the API enpoint. Check the ",[175,109281,109283],{"href":109282},"#how-to-try","how to try section"," for the list of our public balancer endpoints.",[59,109286,109287],{},"Communicate with the API enpoint using the Wallet Service API.",[34,109289,109290,109291,109295],{},"Too keep user 'secrets' at the user's side Wallet Service doesn't ask for the seed phrase. Instead it expects the client to implement a set of methods that deal with secrets\u002Foutputs creation\u002Fsigning, i.e. user-side keykeeper. We provide default WebAssembly implementation of the keykeeper for JS\u002FWeb usage. Check the ",[175,109292,109294],{"href":109293},"#wasm-key-keeper","key keeper"," section for details.",[48,109297,109299],{"id":109298},"service-balancer-api","Service Balancer API",[34,109301,109302],{},"Service Balancer API provides the following methods:",[852,109304,109305,109310,109316,109320],{},[59,109306,109307],{},[175,109308,16144],{"href":109309},"#login",[59,109311,109312],{},[175,109313,109315],{"href":109314},"#logout","logout",[59,109317,109318],{},[175,109319,106318],{"href":106317},[59,109321,109322],{},[175,109323,106329],{"href":106328},[34,109325,109326],{},"In addition to the Web Sockets API Service Balancer provides the following HTTP(S) endpoints:",[852,109328,109329,109334],{},[59,109330,109331],{},[175,109332,10670],{"href":109333},"#balancer-hello",[59,109335,109336],{},[175,109337,109339],{"href":109338},"#balancer-status","\u002Fstatus",[48,109341,16144],{"id":16144},[34,109343,109344],{},"Login to the service balancer and get the wallet service endpoint",[616,109346,109348],{"className":6989,"code":109347,"language":6991,"meta":14,"style":14},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"login\",\n    \"params\":\n    {\n        \"WalletID\": \"wallet id\",\n        \"SbbsAddress\": \"\",\n        \"SbbsAddressPrivate\": \"\"\n    }\n}\n",[611,109349,109350,109355,109359,109369,109379,109389,109395,109399,109411,109422,109432,109436],{"__ignoreMap":14},[6995,109351,109352],{"class":244,"line":6997},[6995,109353,109354],{"class":7000},"\u003C--\n",[6995,109356,109357],{"class":244,"line":15},[6995,109358,7001],{"class":7000},[6995,109360,109361,109363,109365,109367],{"class":244,"line":154},[6995,109362,7007],{"class":7006},[6995,109364,7024],{"class":7000},[6995,109366,7013],{"class":7012},[6995,109368,7030],{"class":7000},[6995,109370,109371,109373,109375,109377],{"class":244,"line":7033},[6995,109372,7021],{"class":7006},[6995,109374,7024],{"class":7000},[6995,109376,7308],{"class":7012},[6995,109378,7030],{"class":7000},[6995,109380,109381,109383,109385,109387],{"class":244,"line":7044},[6995,109382,7036],{"class":7006},[6995,109384,7024],{"class":7000},[6995,109386,16172],{"class":7012},[6995,109388,7030],{"class":7000},[6995,109390,109391,109393],{"class":244,"line":7107},[6995,109392,7529],{"class":7006},[6995,109394,7532],{"class":7000},[6995,109396,109397],{"class":244,"line":7120},[6995,109398,7537],{"class":7000},[6995,109400,109401,109404,109406,109409],{"class":244,"line":7133},[6995,109402,109403],{"class":7006},"        \"WalletID\"",[6995,109405,7024],{"class":7000},[6995,109407,109408],{"class":7012},"\"wallet id\"",[6995,109410,7030],{"class":7000},[6995,109412,109413,109416,109418,109420],{"class":244,"line":7146},[6995,109414,109415],{"class":7006},"        \"SbbsAddress\"",[6995,109417,7024],{"class":7000},[6995,109419,19080],{"class":7012},[6995,109421,7030],{"class":7000},[6995,109423,109424,109427,109429],{"class":244,"line":7159},[6995,109425,109426],{"class":7006},"        \"SbbsAddressPrivate\"",[6995,109428,7024],{"class":7000},[6995,109430,109431],{"class":7012},"\"\"\n",[6995,109433,109434],{"class":244,"line":7172},[6995,109435,7615],{"class":7000},[6995,109437,109438],{"class":244,"line":7185},[6995,109439,7047],{"class":7000},[852,109441,109442,109449,109452],{},[59,109443,109444,109445,109448],{},"WalletID - wallet id, get it from ",[611,109446,109447],{},"keykeeper.getWalletID"," method based on the generated seed",[59,109450,109451],{},"SbbsAddress - reserved for future use, leave empty for now",[59,109453,109454],{},"SbbsAddressPrivate - reserved for future use, leave empty for now",[616,109456,109458],{"className":6989,"code":109457,"language":6991,"meta":14,"style":14},"-->\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"result\": {\n        \"endpoint\": \"web-wallet-testnet.beam.mw?service=30000\"\n    }\n}\n",[611,109459,109460,109465,109469,109479,109489,109495,109505,109509],{"__ignoreMap":14},[6995,109461,109462],{"class":244,"line":6997},[6995,109463,109464],{"class":7000},"-->\n",[6995,109466,109467],{"class":244,"line":15},[6995,109468,7001],{"class":7000},[6995,109470,109471,109473,109475,109477],{"class":244,"line":154},[6995,109472,7007],{"class":7006},[6995,109474,7024],{"class":7000},[6995,109476,7013],{"class":7012},[6995,109478,7030],{"class":7000},[6995,109480,109481,109483,109485,109487],{"class":244,"line":7033},[6995,109482,7021],{"class":7006},[6995,109484,7024],{"class":7000},[6995,109486,7308],{"class":7012},[6995,109488,7030],{"class":7000},[6995,109490,109491,109493],{"class":244,"line":7044},[6995,109492,7732],{"class":7006},[6995,109494,7092],{"class":7000},[6995,109496,109497,109500,109502],{"class":244,"line":7107},[6995,109498,109499],{"class":7006},"        \"endpoint\"",[6995,109501,7024],{"class":7000},[6995,109503,109504],{"class":7012},"\"web-wallet-testnet.beam.mw?service=30000\"\n",[6995,109506,109507],{"class":244,"line":7120},[6995,109508,7615],{"class":7000},[6995,109510,109511],{"class":244,"line":7133},[6995,109512,7047],{"class":7000},[852,109514,109515],{},[59,109516,109517,109518,109521],{},"endpoint - returns wallet service endpoint used to access Walet Service API & Beam Wallet API. You should manually append the web socket protocol prefix ",[611,109519,109520],{},"wss:\u002F\u002F"," in front of it.",[48,109523,106318],{"id":106318},[34,109525,109526],{},"Subscribe to the BBS address notifications to be notified about incoming transaction. Reserved for future use",[48,109528,106329],{"id":106329},[34,109530,109531],{},"Unsubsribe from the BBS address notifications. Reserved for future use",[34,109533,109534],{},[37,109535,109536],{},[175,109537,109539],{"name":109538},"balancer-hello","balancer root (\u002F)",[34,109541,109542,109543,109546],{},"Just a 'hello world' endpoint. Returns the ",[611,109544,109545],{},"Hello! This is the wallet service balancer"," string. It is intended to be used for alive checks.",[34,109548,109549],{},[37,109550,109551],{},[175,109552,109339],{"name":109553},"balancer-status",[34,109555,109556],{},"Status endpoint. Returns json with the internal service balancer methods.",[616,109558,109561],{"className":109559,"code":109560,"language":621},[619],"\u002Fstatus?secret=secret\n",[611,109562,109560],{"__ignoreMap":14},[34,109564,109565,109566,109569],{},"Expects secret (password) to be provided. Secret is configured in the balancer's ",[611,109567,109568],{},"config.json"," file. For testent & masternet this endpoint is public and can be accessed by anyone:",[852,109571,109572,109578],{},[59,109573,109574],{},[175,109575,109576],{"href":109576,"rel":109577},"https:\u002F\u002Fweb-wallet-testnet.beam.mw\u002Fstatus?secret=secret",[179],[59,109579,109580],{},[175,109581,109582],{"href":109582,"rel":109583},"https:\u002F\u002Fweb-wallet-masternet.beam.mw\u002Fstatus?secret=secret",[179],[48,109585,109587],{"id":109586},"wallet-service-api","Wallet Service API",[34,109589,109590],{},"Wallet Service API provides the following methods:",[852,109592,109593,109598,109604,109610,109614,109620,109626],{},[59,109594,109595],{},[175,109596,15357],{"href":109597},"#create_wallet",[59,109599,109600],{},[175,109601,109603],{"href":109602},"#open_wallet","open_wallet",[59,109605,109606],{},[175,109607,109609],{"href":109608},"#change_password","change_password",[59,109611,109612],{},[175,109613,6940],{"href":18415},[59,109615,109616],{},[175,109617,109619],{"href":109618},"#release","release",[59,109621,109622],{},[175,109623,109625],{"href":109624},"#ping","ping",[59,109627,109628],{},[175,109629,109631],{"href":109630},"#wallet-api-methods","Wallet API methdos",[34,109633,109634,109635,35399],{},"Wallet service expect a set of keykeper-related methods to be implemented by the client. Check the ",[175,109636,109638],{"href":109637},"#keykeeper-client-metods","Wallet Service Client keykeeper methods",[48,109640,15357],{"id":15357},[34,109642,109643],{},"Create new wallet",[616,109645,109647],{"className":6989,"code":109646,"language":6991,"meta":14,"style":14},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"create_wallet\",\n    \"params\":\n    {\n        \"pass\": \"wallet password\",\n        \"ownerkey\": \"wallet owner key\",\n    }\n}\n",[611,109648,109649,109653,109657,109667,109677,109688,109694,109698,109710,109722,109726],{"__ignoreMap":14},[6995,109650,109651],{"class":244,"line":6997},[6995,109652,109354],{"class":7000},[6995,109654,109655],{"class":244,"line":15},[6995,109656,7001],{"class":7000},[6995,109658,109659,109661,109663,109665],{"class":244,"line":154},[6995,109660,7007],{"class":7006},[6995,109662,7024],{"class":7000},[6995,109664,7013],{"class":7012},[6995,109666,7030],{"class":7000},[6995,109668,109669,109671,109673,109675],{"class":244,"line":7033},[6995,109670,7021],{"class":7006},[6995,109672,7024],{"class":7000},[6995,109674,7308],{"class":7012},[6995,109676,7030],{"class":7000},[6995,109678,109679,109681,109683,109686],{"class":244,"line":7044},[6995,109680,7036],{"class":7006},[6995,109682,7024],{"class":7000},[6995,109684,109685],{"class":7012},"\"create_wallet\"",[6995,109687,7030],{"class":7000},[6995,109689,109690,109692],{"class":244,"line":7107},[6995,109691,7529],{"class":7006},[6995,109693,7532],{"class":7000},[6995,109695,109696],{"class":244,"line":7120},[6995,109697,7537],{"class":7000},[6995,109699,109700,109703,109705,109708],{"class":244,"line":7133},[6995,109701,109702],{"class":7006},"        \"pass\"",[6995,109704,7024],{"class":7000},[6995,109706,109707],{"class":7012},"\"wallet password\"",[6995,109709,7030],{"class":7000},[6995,109711,109712,109715,109717,109720],{"class":244,"line":7146},[6995,109713,109714],{"class":7006},"        \"ownerkey\"",[6995,109716,7024],{"class":7000},[6995,109718,109719],{"class":7012},"\"wallet owner key\"",[6995,109721,7030],{"class":7000},[6995,109723,109724],{"class":244,"line":7159},[6995,109725,7615],{"class":7000},[6995,109727,109728],{"class":244,"line":7172},[6995,109729,7047],{"class":7000},[852,109731,109732,109735],{},[59,109733,109734],{},"pass - initial wallet password",[59,109736,109737],{},"ownerkey - wallet owner key, get it from key keeper",[616,109739,109741],{"className":6989,"code":109740,"language":6991,"meta":14,"style":14},"-->\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"result\": \"wallet id\"\n}\n",[611,109742,109743,109747,109751,109761,109771,109780],{"__ignoreMap":14},[6995,109744,109745],{"class":244,"line":6997},[6995,109746,109464],{"class":7000},[6995,109748,109749],{"class":244,"line":15},[6995,109750,7001],{"class":7000},[6995,109752,109753,109755,109757,109759],{"class":244,"line":154},[6995,109754,7007],{"class":7006},[6995,109756,7024],{"class":7000},[6995,109758,7013],{"class":7012},[6995,109760,7030],{"class":7000},[6995,109762,109763,109765,109767,109769],{"class":244,"line":7033},[6995,109764,7021],{"class":7006},[6995,109766,7024],{"class":7000},[6995,109768,7308],{"class":7012},[6995,109770,7030],{"class":7000},[6995,109772,109773,109775,109777],{"class":244,"line":7044},[6995,109774,7732],{"class":7006},[6995,109776,7024],{"class":7000},[6995,109778,109779],{"class":7012},"\"wallet id\"\n",[6995,109781,109782],{"class":244,"line":7107},[6995,109783,7047],{"class":7000},[852,109785,109786],{},[59,109787,109788],{},"result - returns wallet id used to identify the wallet in other API calls",[48,109790,109603],{"id":109603},[34,109792,109793],{},"Open wallet with the given ID and password.",[616,109795,109797],{"className":6989,"code":109796,"language":6991,"meta":14,"style":14},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"open_wallet\",\n    \"params\":\n    {\n        \"id\": \"\u003Cwallet ID>\",\n        \"pass\": \"\u003Cwallet password>\"\n    }\n}\n",[611,109798,109799,109803,109807,109817,109827,109838,109844,109848,109859,109868,109872],{"__ignoreMap":14},[6995,109800,109801],{"class":244,"line":6997},[6995,109802,109354],{"class":7000},[6995,109804,109805],{"class":244,"line":15},[6995,109806,7001],{"class":7000},[6995,109808,109809,109811,109813,109815],{"class":244,"line":154},[6995,109810,7007],{"class":7006},[6995,109812,7024],{"class":7000},[6995,109814,7013],{"class":7012},[6995,109816,7030],{"class":7000},[6995,109818,109819,109821,109823,109825],{"class":244,"line":7033},[6995,109820,7021],{"class":7006},[6995,109822,7024],{"class":7000},[6995,109824,7308],{"class":7012},[6995,109826,7030],{"class":7000},[6995,109828,109829,109831,109833,109836],{"class":244,"line":7044},[6995,109830,7036],{"class":7006},[6995,109832,7024],{"class":7000},[6995,109834,109835],{"class":7012},"\"open_wallet\"",[6995,109837,7030],{"class":7000},[6995,109839,109840,109842],{"class":244,"line":7107},[6995,109841,7529],{"class":7006},[6995,109843,7532],{"class":7000},[6995,109845,109846],{"class":244,"line":7120},[6995,109847,7537],{"class":7000},[6995,109849,109850,109852,109854,109857],{"class":244,"line":7133},[6995,109851,12965],{"class":7006},[6995,109853,7024],{"class":7000},[6995,109855,109856],{"class":7012},"\"\u003Cwallet ID>\"",[6995,109858,7030],{"class":7000},[6995,109860,109861,109863,109865],{"class":244,"line":7146},[6995,109862,109702],{"class":7006},[6995,109864,7024],{"class":7000},[6995,109866,109867],{"class":7012},"\"\u003Cwallet password>\"\n",[6995,109869,109870],{"class":244,"line":7159},[6995,109871,7615],{"class":7000},[6995,109873,109874],{"class":244,"line":7172},[6995,109875,7047],{"class":7000},[852,109877,109878,109886],{},[59,109879,109880,109881,109883,109884,12195],{},"id - wallet id returned by the ",[175,109882,15357],{"href":109597}," method or by the ",[611,109885,109447],{},[59,109887,109888],{},"pass - wallet password used to create wallet",[616,109890,109892],{"className":6989,"code":109891,"language":6991,"meta":14,"style":14},"-->\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"result\": \"adc18c1afbb74674b5853fb4350df70a\"\n}\n",[611,109893,109894,109898,109902,109912,109922,109931],{"__ignoreMap":14},[6995,109895,109896],{"class":244,"line":6997},[6995,109897,109464],{"class":7000},[6995,109899,109900],{"class":244,"line":15},[6995,109901,7001],{"class":7000},[6995,109903,109904,109906,109908,109910],{"class":244,"line":154},[6995,109905,7007],{"class":7006},[6995,109907,7024],{"class":7000},[6995,109909,7013],{"class":7012},[6995,109911,7030],{"class":7000},[6995,109913,109914,109916,109918,109920],{"class":244,"line":7033},[6995,109915,7021],{"class":7006},[6995,109917,7024],{"class":7000},[6995,109919,7308],{"class":7012},[6995,109921,7030],{"class":7000},[6995,109923,109924,109926,109928],{"class":244,"line":7044},[6995,109925,7732],{"class":7006},[6995,109927,7024],{"class":7000},[6995,109929,109930],{"class":7012},"\"adc18c1afbb74674b5853fb4350df70a\"\n",[6995,109932,109933],{"class":244,"line":7107},[6995,109934,7047],{"class":7000},[852,109936,109937],{},[59,109938,109939],{},"result - unique session id. Reserved for the future use",[48,109941,109609],{"id":109609},[34,109943,109944],{},"Change wallet password. Wallet must be already opened when this method is called.",[616,109946,109948],{"className":6989,"code":109947,"language":6991,"meta":14,"style":14},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"change_password\",\n    \"params\":\n    {\n        \"new_pass\": \"new password\"\n    }\n}\n",[611,109949,109950,109954,109958,109968,109978,109989,109995,109999,110009,110013],{"__ignoreMap":14},[6995,109951,109952],{"class":244,"line":6997},[6995,109953,109354],{"class":7000},[6995,109955,109956],{"class":244,"line":15},[6995,109957,7001],{"class":7000},[6995,109959,109960,109962,109964,109966],{"class":244,"line":154},[6995,109961,7007],{"class":7006},[6995,109963,7024],{"class":7000},[6995,109965,7013],{"class":7012},[6995,109967,7030],{"class":7000},[6995,109969,109970,109972,109974,109976],{"class":244,"line":7033},[6995,109971,7021],{"class":7006},[6995,109973,7024],{"class":7000},[6995,109975,7308],{"class":7012},[6995,109977,7030],{"class":7000},[6995,109979,109980,109982,109984,109987],{"class":244,"line":7044},[6995,109981,7036],{"class":7006},[6995,109983,7024],{"class":7000},[6995,109985,109986],{"class":7012},"\"change_password\"",[6995,109988,7030],{"class":7000},[6995,109990,109991,109993],{"class":244,"line":7107},[6995,109992,7529],{"class":7006},[6995,109994,7532],{"class":7000},[6995,109996,109997],{"class":244,"line":7120},[6995,109998,7537],{"class":7000},[6995,110000,110001,110004,110006],{"class":244,"line":7133},[6995,110002,110003],{"class":7006},"        \"new_pass\"",[6995,110005,7024],{"class":7000},[6995,110007,110008],{"class":7012},"\"new password\"\n",[6995,110010,110011],{"class":244,"line":7146},[6995,110012,7615],{"class":7000},[6995,110014,110015],{"class":244,"line":7159},[6995,110016,7047],{"class":7000},[852,110018,110019],{},[59,110020,110021],{},"new_pass - new wallet password",[616,110023,110025],{"className":6989,"code":110024,"language":6991,"meta":14,"style":14},"-->\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"result\": \"done\"\n}\n",[611,110026,110027,110031,110035,110045,110055,110063],{"__ignoreMap":14},[6995,110028,110029],{"class":244,"line":6997},[6995,110030,109464],{"class":7000},[6995,110032,110033],{"class":244,"line":15},[6995,110034,7001],{"class":7000},[6995,110036,110037,110039,110041,110043],{"class":244,"line":154},[6995,110038,7007],{"class":7006},[6995,110040,7024],{"class":7000},[6995,110042,7013],{"class":7012},[6995,110044,7030],{"class":7000},[6995,110046,110047,110049,110051,110053],{"class":244,"line":7033},[6995,110048,7021],{"class":7006},[6995,110050,7024],{"class":7000},[6995,110052,7308],{"class":7012},[6995,110054,7030],{"class":7000},[6995,110056,110057,110059,110061],{"class":244,"line":7044},[6995,110058,7732],{"class":7006},[6995,110060,7024],{"class":7000},[6995,110062,19388],{"class":7012},[6995,110064,110065],{"class":244,"line":7107},[6995,110066,7047],{"class":7000},[852,110068,110069],{},[59,110070,110071],{},"result - \"done\" on success",[48,110073,109619],{"id":109619},[34,110075,110076],{},"Close (release) the currently opened wallet. Usually it is not necessary to call this method. Wallet would be automatically closed as soon as the web socket connection is released.",[616,110078,110080],{"className":6989,"code":110079,"language":6991,"meta":14,"style":14},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"release\"\n}\n\n",[611,110081,110082,110086,110090,110100,110110,110119],{"__ignoreMap":14},[6995,110083,110084],{"class":244,"line":6997},[6995,110085,109354],{"class":7000},[6995,110087,110088],{"class":244,"line":15},[6995,110089,7001],{"class":7000},[6995,110091,110092,110094,110096,110098],{"class":244,"line":154},[6995,110093,7007],{"class":7006},[6995,110095,7024],{"class":7000},[6995,110097,7013],{"class":7012},[6995,110099,7030],{"class":7000},[6995,110101,110102,110104,110106,110108],{"class":244,"line":7033},[6995,110103,7021],{"class":7006},[6995,110105,7024],{"class":7000},[6995,110107,7308],{"class":7012},[6995,110109,7030],{"class":7000},[6995,110111,110112,110114,110116],{"class":244,"line":7044},[6995,110113,7036],{"class":7006},[6995,110115,7024],{"class":7000},[6995,110117,110118],{"class":7012},"\"release\"\n",[6995,110120,110121],{"class":244,"line":7107},[6995,110122,7047],{"class":7000},[34,110124,110125],{},"This method does not have any parameters.",[616,110127,110128],{"className":6989,"code":110024,"language":6991,"meta":14,"style":14},[611,110129,110130,110134,110138,110148,110158,110166],{"__ignoreMap":14},[6995,110131,110132],{"class":244,"line":6997},[6995,110133,109464],{"class":7000},[6995,110135,110136],{"class":244,"line":15},[6995,110137,7001],{"class":7000},[6995,110139,110140,110142,110144,110146],{"class":244,"line":154},[6995,110141,7007],{"class":7006},[6995,110143,7024],{"class":7000},[6995,110145,7013],{"class":7012},[6995,110147,7030],{"class":7000},[6995,110149,110150,110152,110154,110156],{"class":244,"line":7033},[6995,110151,7021],{"class":7006},[6995,110153,7024],{"class":7000},[6995,110155,7308],{"class":7012},[6995,110157,7030],{"class":7000},[6995,110159,110160,110162,110164],{"class":244,"line":7044},[6995,110161,7732],{"class":7006},[6995,110163,7024],{"class":7000},[6995,110165,19388],{"class":7012},[6995,110167,110168],{"class":244,"line":7107},[6995,110169,7047],{"class":7000},[852,110171,110172],{},[59,110173,110071],{},[48,110175,6940],{"id":6940},[34,110177,110178],{},"Service method used to calculate change for the given transaction amount",[616,110180,110182],{"className":6989,"code":110181,"language":6991,"meta":14,"style":14},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"calc_change\",\n    \"params\":\n    {\n        \"amount\": 100\n    }\n}\n",[611,110183,110184,110188,110192,110202,110212,110222,110228,110232,110241,110245],{"__ignoreMap":14},[6995,110185,110186],{"class":244,"line":6997},[6995,110187,109354],{"class":7000},[6995,110189,110190],{"class":244,"line":15},[6995,110191,7001],{"class":7000},[6995,110193,110194,110196,110198,110200],{"class":244,"line":154},[6995,110195,7007],{"class":7006},[6995,110197,7024],{"class":7000},[6995,110199,7013],{"class":7012},[6995,110201,7030],{"class":7000},[6995,110203,110204,110206,110208,110210],{"class":244,"line":7033},[6995,110205,7021],{"class":7006},[6995,110207,7024],{"class":7000},[6995,110209,7308],{"class":7012},[6995,110211,7030],{"class":7000},[6995,110213,110214,110216,110218,110220],{"class":244,"line":7044},[6995,110215,7036],{"class":7006},[6995,110217,7024],{"class":7000},[6995,110219,8450],{"class":7012},[6995,110221,7030],{"class":7000},[6995,110223,110224,110226],{"class":244,"line":7107},[6995,110225,7529],{"class":7006},[6995,110227,7532],{"class":7000},[6995,110229,110230],{"class":244,"line":7120},[6995,110231,7537],{"class":7000},[6995,110233,110234,110236,110238],{"class":244,"line":7133},[6995,110235,8467],{"class":7006},[6995,110237,7024],{"class":7000},[6995,110239,110240],{"class":7006},"100\n",[6995,110242,110243],{"class":244,"line":7146},[6995,110244,7615],{"class":7000},[6995,110246,110247],{"class":244,"line":7159},[6995,110248,7047],{"class":7000},[852,110250,110251],{},[59,110252,110253],{},"amount - transaction amount in groth",[616,110255,110257],{"className":6989,"code":110256,"language":6991,"meta":14,"style":14},"-->\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"result\": {\n        \"change\": 499999900,\n        \"change_str\": \"499999900\"\n    }\n}\n",[611,110258,110259,110263,110267,110277,110287,110293,110304,110313,110317],{"__ignoreMap":14},[6995,110260,110261],{"class":244,"line":6997},[6995,110262,109464],{"class":7000},[6995,110264,110265],{"class":244,"line":15},[6995,110266,7001],{"class":7000},[6995,110268,110269,110271,110273,110275],{"class":244,"line":154},[6995,110270,7007],{"class":7006},[6995,110272,7024],{"class":7000},[6995,110274,7013],{"class":7012},[6995,110276,7030],{"class":7000},[6995,110278,110279,110281,110283,110285],{"class":244,"line":7033},[6995,110280,7021],{"class":7006},[6995,110282,7024],{"class":7000},[6995,110284,7308],{"class":7012},[6995,110286,7030],{"class":7000},[6995,110288,110289,110291],{"class":244,"line":7044},[6995,110290,7732],{"class":7006},[6995,110292,7092],{"class":7000},[6995,110294,110295,110297,110299,110302],{"class":244,"line":7107},[6995,110296,8585],{"class":7006},[6995,110298,7024],{"class":7000},[6995,110300,110301],{"class":7006},"499999900",[6995,110303,7030],{"class":7000},[6995,110305,110306,110308,110310],{"class":244,"line":7120},[6995,110307,8596],{"class":7006},[6995,110309,7024],{"class":7000},[6995,110311,110312],{"class":7012},"\"499999900\"\n",[6995,110314,110315],{"class":244,"line":7133},[6995,110316,7615],{"class":7000},[6995,110318,110319],{"class":244,"line":7146},[6995,110320,7047],{"class":7000},[852,110322,110323,110326],{},[59,110324,110325],{},"change - transaction change in groth",[59,110327,110328,110329,87638],{},"change_str - string representation of the ",[611,110330,8665],{},[48,110332,109625],{"id":109625},[34,110334,110335],{},"Just a convenience ping (are you alive?) method. It is recommended not to use this method but to rely on the underlying websocket infrastructure which already implements ping-pong control frames.",[616,110337,110339],{"className":6989,"code":110338,"language":6991,"meta":14,"style":14},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"ping\"\n}\n\n",[611,110340,110341,110345,110349,110359,110369,110378],{"__ignoreMap":14},[6995,110342,110343],{"class":244,"line":6997},[6995,110344,109354],{"class":7000},[6995,110346,110347],{"class":244,"line":15},[6995,110348,7001],{"class":7000},[6995,110350,110351,110353,110355,110357],{"class":244,"line":154},[6995,110352,7007],{"class":7006},[6995,110354,7024],{"class":7000},[6995,110356,7013],{"class":7012},[6995,110358,7030],{"class":7000},[6995,110360,110361,110363,110365,110367],{"class":244,"line":7033},[6995,110362,7021],{"class":7006},[6995,110364,7024],{"class":7000},[6995,110366,7308],{"class":7012},[6995,110368,7030],{"class":7000},[6995,110370,110371,110373,110375],{"class":244,"line":7044},[6995,110372,7036],{"class":7006},[6995,110374,7024],{"class":7000},[6995,110376,110377],{"class":7012},"\"ping\"\n",[6995,110379,110380],{"class":244,"line":7107},[6995,110381,7047],{"class":7000},[34,110383,110125],{},[616,110385,110387],{"className":6989,"code":110386,"language":6991,"meta":14,"style":14},"-->\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"result\": \"pong\"\n}\n",[611,110388,110389,110393,110397,110407,110417,110426],{"__ignoreMap":14},[6995,110390,110391],{"class":244,"line":6997},[6995,110392,109464],{"class":7000},[6995,110394,110395],{"class":244,"line":15},[6995,110396,7001],{"class":7000},[6995,110398,110399,110401,110403,110405],{"class":244,"line":154},[6995,110400,7007],{"class":7006},[6995,110402,7024],{"class":7000},[6995,110404,7013],{"class":7012},[6995,110406,7030],{"class":7000},[6995,110408,110409,110411,110413,110415],{"class":244,"line":7033},[6995,110410,7021],{"class":7006},[6995,110412,7024],{"class":7000},[6995,110414,7308],{"class":7012},[6995,110416,7030],{"class":7000},[6995,110418,110419,110421,110423],{"class":244,"line":7044},[6995,110420,7732],{"class":7006},[6995,110422,7024],{"class":7000},[6995,110424,110425],{"class":7012},"\"pong\"\n",[6995,110427,110428],{"class":244,"line":7107},[6995,110429,7047],{"class":7000},[852,110431,110432],{},[59,110433,110434],{},"result - \"pong\" on success",[48,110436,110438],{"id":110437},"wallet-api-methods",[175,110439,110440],{"name":110437},"wallet API methods",[34,110442,110443,110444,109295],{},"Wallet service also implements all the BEAM Wallet Protocol API methods. Please consult the ",[175,110445,84292],{"href":84290,"rel":110446},[179],[48,110448,110450],{"id":110449},"webassembly-keykeeper",[175,110451,110453],{"name":110452},"wasm-key-keeper","WebAssembly Keykeeper",[34,110455,110456],{},[175,110457,110460],{"href":110458,"rel":110459},"https:\u002F\u002Fbuilds.beam.mw\u002Ftestnet\u002F2020.06.16\u002FMinSizeRel\u002Fwasm\u002Fwasm-key-keeper.tar.gz",[179],"Get latest testnet version",[1898,110462,110464],{"id":110463},"keykeeper-initialization-example","Keykeeper initialization example:",[616,110466,110468],{"className":14801,"code":110467,"language":14803,"meta":14,"style":14},"\u003C!DOCTYPE html>\n\u003Chtml>\n\u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n\u003Cscript type=\"text\u002Fjavascript\">\n    Module().then((Module) => console.log(`Key Keeper module successfully loaded.`))\n\u003C\u002Fscript>\n\u003C\u002Fhtml>\n",[611,110469,110470,110480,110488,110506,110520,110546,110554],{"__ignoreMap":14},[6995,110471,110472,110474,110476,110478],{"class":244,"line":6997},[6995,110473,14810],{"class":7000},[6995,110475,14814],{"class":14813},[6995,110477,14817],{"class":11320},[6995,110479,14820],{"class":7000},[6995,110481,110482,110484,110486],{"class":244,"line":15},[6995,110483,14825],{"class":7000},[6995,110485,14803],{"class":14813},[6995,110487,14820],{"class":7000},[6995,110489,110490,110492,110494,110496,110498,110500,110502,110504],{"class":244,"line":154},[6995,110491,14825],{"class":7000},[6995,110493,14836],{"class":14813},[6995,110495,14839],{"class":11320},[6995,110497,6673],{"class":7000},[6995,110499,14844],{"class":7012},[6995,110501,14847],{"class":7000},[6995,110503,14836],{"class":14813},[6995,110505,14820],{"class":7000},[6995,110507,110508,110510,110512,110514,110516,110518],{"class":244,"line":7033},[6995,110509,14825],{"class":7000},[6995,110511,14836],{"class":14813},[6995,110513,14860],{"class":11320},[6995,110515,6673],{"class":7000},[6995,110517,14865],{"class":7012},[6995,110519,14820],{"class":7000},[6995,110521,110522,110524,110526,110528,110530,110532,110534,110536,110538,110540,110542,110544],{"class":244,"line":7044},[6995,110523,14872],{"class":11320},[6995,110525,14875],{"class":7000},[6995,110527,14878],{"class":11320},[6995,110529,107961],{"class":7000},[6995,110531,15171],{"class":15170},[6995,110533,17664],{"class":7000},[6995,110535,14884],{"class":11296},[6995,110537,14887],{"class":7000},[6995,110539,14890],{"class":11320},[6995,110541,6449],{"class":7000},[6995,110543,14895],{"class":7012},[6995,110545,14898],{"class":7000},[6995,110547,110548,110550,110552],{"class":244,"line":7107},[6995,110549,14903],{"class":7000},[6995,110551,14836],{"class":14813},[6995,110553,14820],{"class":7000},[6995,110555,110556,110558,110560],{"class":244,"line":7120},[6995,110557,14903],{"class":7000},[6995,110559,14803],{"class":14813},[6995,110561,14820],{"class":7000},[1898,110563,110565],{"id":110564},"wallet-service-client-keykeeper-methods",[175,110566,110568],{"name":110567},"keykeeper-client-metods","Wallet Service client keykeeper methods",[852,110570,110571,110577,110582,110587,110592,110597],{},[59,110572,110573],{},[175,110574,110576],{"href":110575},"#keykeeper-methods","get_kdf",[59,110578,110579],{},[175,110580,110581],{"href":110575},"get_slots",[59,110583,110584],{},[175,110585,110586],{"href":110575},"create_output",[59,110588,110589],{},[175,110590,110591],{"href":110575},"sign_receiver",[59,110593,110594],{},[175,110595,110596],{"href":110575},"sign_sender",[59,110598,110599],{},[175,110600,110601],{"href":110575},"sign_split",[34,110603,110604],{},"These methods are supported by the default WASM keykeeper. Wallet Service Client should just implement a simple proxy:",[616,110606,110608],{"className":14801,"code":110607,"language":14803,"meta":14,"style":14},"\u003C!DOCTYPE html>\n\u003Chtml>\n\u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n\u003Cscript type=\"text\u002Fjavascript\">\n    Module().then((Module) => {\n        var connection = null;\n        var endpoint = 'ws:\u002F\u002Furl-to-service';\n        var seed = Module.KeyKeeper.GeneratePhrase();\n    var keykeeper = new Module.KeyKeeper(seed);\n        connection = new WebSocket(endpoint);\n        connection.onmessage = e =>  {\n        var data = JSON.parse(e.data);\n            if(data.method) {\n            var res = keykeeper.invokeServiceMethod(e.data);\n        connection.send(res);\n        }\n       }\n    })\n\u003C\u002Fscript>\n\u003C\u002Fhtml>\n",[611,110609,110610,110620,110628,110646,110660,110678,110690,110704,110718,110736,110750,110764,110781,110788,110803,110812,110816,110821,110825,110833],{"__ignoreMap":14},[6995,110611,110612,110614,110616,110618],{"class":244,"line":6997},[6995,110613,14810],{"class":7000},[6995,110615,14814],{"class":14813},[6995,110617,14817],{"class":11320},[6995,110619,14820],{"class":7000},[6995,110621,110622,110624,110626],{"class":244,"line":15},[6995,110623,14825],{"class":7000},[6995,110625,14803],{"class":14813},[6995,110627,14820],{"class":7000},[6995,110629,110630,110632,110634,110636,110638,110640,110642,110644],{"class":244,"line":154},[6995,110631,14825],{"class":7000},[6995,110633,14836],{"class":14813},[6995,110635,14839],{"class":11320},[6995,110637,6673],{"class":7000},[6995,110639,14844],{"class":7012},[6995,110641,14847],{"class":7000},[6995,110643,14836],{"class":14813},[6995,110645,14820],{"class":7000},[6995,110647,110648,110650,110652,110654,110656,110658],{"class":244,"line":7033},[6995,110649,14825],{"class":7000},[6995,110651,14836],{"class":14813},[6995,110653,14860],{"class":11320},[6995,110655,6673],{"class":7000},[6995,110657,14865],{"class":7012},[6995,110659,14820],{"class":7000},[6995,110661,110662,110664,110666,110668,110670,110672,110674,110676],{"class":244,"line":7044},[6995,110663,14872],{"class":11320},[6995,110665,14875],{"class":7000},[6995,110667,14878],{"class":11320},[6995,110669,107961],{"class":7000},[6995,110671,15171],{"class":15170},[6995,110673,17664],{"class":7000},[6995,110675,14884],{"class":11296},[6995,110677,107343],{"class":7000},[6995,110679,110680,110682,110684,110686,110688],{"class":244,"line":7107},[6995,110681,17683],{"class":11296},[6995,110683,15032],{"class":7000},[6995,110685,6673],{"class":11296},[6995,110687,106989],{"class":7006},[6995,110689,17595],{"class":7000},[6995,110691,110692,110694,110697,110699,110702],{"class":244,"line":7120},[6995,110693,17683],{"class":11296},[6995,110695,110696],{"class":7000}," endpoint ",[6995,110698,6673],{"class":11296},[6995,110700,110701],{"class":7012}," 'ws:\u002F\u002Furl-to-service'",[6995,110703,17595],{"class":7000},[6995,110705,110706,110708,110710,110712,110714,110716],{"class":244,"line":7133},[6995,110707,17683],{"class":11296},[6995,110709,15263],{"class":7000},[6995,110711,6673],{"class":11296},[6995,110713,15268],{"class":7000},[6995,110715,15271],{"class":11320},[6995,110717,17457],{"class":7000},[6995,110719,110720,110723,110725,110727,110729,110731,110733],{"class":244,"line":7146},[6995,110721,110722],{"class":11296},"    var",[6995,110724,15309],{"class":7000},[6995,110726,6673],{"class":11296},[6995,110728,15037],{"class":11296},[6995,110730,15316],{"class":7000},[6995,110732,15319],{"class":11320},[6995,110734,110735],{"class":7000},"(seed);\n",[6995,110737,110738,110741,110743,110745,110747],{"class":244,"line":7159},[6995,110739,110740],{"class":7000},"        connection ",[6995,110742,6673],{"class":11296},[6995,110744,15037],{"class":11296},[6995,110746,15040],{"class":11320},[6995,110748,110749],{"class":7000},"(endpoint);\n",[6995,110751,110752,110754,110756,110758,110760,110762],{"class":244,"line":7172},[6995,110753,15052],{"class":7000},[6995,110755,15669],{"class":11320},[6995,110757,15058],{"class":11296},[6995,110759,15674],{"class":15170},[6995,110761,15174],{"class":11296},[6995,110763,12862],{"class":7000},[6995,110765,110766,110768,110770,110772,110774,110776,110778],{"class":244,"line":7185},[6995,110767,17683],{"class":11296},[6995,110769,15695],{"class":7000},[6995,110771,6673],{"class":11296},[6995,110773,15700],{"class":7006},[6995,110775,181],{"class":7000},[6995,110777,15705],{"class":11320},[6995,110779,110780],{"class":7000},"(e.data);\n",[6995,110782,110783,110785],{"class":244,"line":7198},[6995,110784,108765],{"class":11296},[6995,110786,110787],{"class":7000},"(data.method) {\n",[6995,110789,110790,110793,110795,110797,110799,110801],{"class":244,"line":7211},[6995,110791,110792],{"class":11296},"            var",[6995,110794,17686],{"class":7000},[6995,110796,6673],{"class":11296},[6995,110798,15839],{"class":7000},[6995,110800,15803],{"class":11320},[6995,110802,110780],{"class":7000},[6995,110804,110805,110807,110809],{"class":244,"line":7220},[6995,110806,15052],{"class":7000},[6995,110808,15797],{"class":11320},[6995,110810,110811],{"class":7000},"(res);\n",[6995,110813,110814],{"class":244,"line":7226},[6995,110815,15327],{"class":7000},[6995,110817,110818],{"class":244,"line":7238},[6995,110819,110820],{"class":7000},"       }\n",[6995,110822,110823],{"class":244,"line":7250},[6995,110824,15079],{"class":7000},[6995,110826,110827,110829,110831],{"class":244,"line":7263},[6995,110828,14903],{"class":7000},[6995,110830,14836],{"class":14813},[6995,110832,14820],{"class":7000},[6995,110834,110835,110837,110839],{"class":244,"line":7275},[6995,110836,14903],{"class":7000},[6995,110838,14803],{"class":14813},[6995,110840,14820],{"class":7000},[4998,110842,110843,110857],{},[5001,110844,110845],{},[5004,110846,110847,110849,110851,110854],{},[5007,110848,106222],{},[5007,110850,5012],{},[5007,110852,110853],{},"Arguments",[5007,110855,110856],{},"Return",[5014,110858,110859,110872,110885,110899,110913,110925],{},[5004,110860,110861,110863,110866,110869],{},[5019,110862,15842],{},[5019,110864,110865],{},"get owner key from password",[5019,110867,110868],{},"wallet password (string)",[5019,110870,110871],{},"owner key (string)",[5004,110873,110874,110876,110879,110882],{},[5019,110875,106427],{},[5019,110877,110878],{},"get token data",[5019,110880,110881],{},"token (string)",[5019,110883,110884],{},"PeerID (string), PeerWalletIdentity (string), TransactionType (number), tx_id (number)",[5004,110886,110887,110890,110893,110896],{},[5019,110888,110889],{},"getSendToken",[5019,110891,110892],{},"generate token",[5019,110894,110895],{},"sbbsAddressHex (string), identityStrHex (string), amountBase64 (string)",[5019,110897,110898],{},"key (string)",[5004,110900,110901,110904,110907,110910],{},[5019,110902,110903],{},"getWalletID",[5019,110905,110906],{},"get wallet id",[5019,110908,110909],{},"-",[5019,110911,110912],{},"wallet id (string)",[5004,110914,110915,110917,110920,110922],{},[5019,110916,15271],{},[5019,110918,110919],{},"generate seed phrase",[5019,110921,110909],{},[5019,110923,110924],{},"seed phrase (string)",[5004,110926,110927,110929,110932,110934],{},[5019,110928,106416],{},[5019,110930,110931],{},"seed phrase validation",[5019,110933,110909],{},[5019,110935,110936],{},"is seed valid (boolean)",[1898,110938,110940],{"id":110939},"minimal-wallet-implementation-example","Minimal Wallet implementation example:",[616,110942,110945],{"className":110943,"code":110944,"language":621},[619],"﻿\u003C!doctype html>\n\u003Chtml lang=\"en\">\n\u003Chead>\n    \u003Ctitle>Beam Wallet Client\u003C\u002Ftitle>\n\n    \u003Cmeta charset=\"utf-8\">\n    \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n\n    \u003Clink rel=\"stylesheet\" href=\"https:\u002F\u002Fstackpath.bootstrapcdn.com\u002Fbootstrap\u002F4.3.1\u002Fcss\u002Fbootstrap.min.css\" integrity=\"sha384-ggOyR0iXCbMQv3Xipma34MD+dH\u002F1fQ784\u002Fj6cY\u002FiJTQUOhcWr7x9JvoRxT2MZw1T\" crossorigin=\"anonymous\">\n\u003C\u002Fhead>\n\n\u003Cbody>\n    \u003Cdiv class=\"container\">\n        \u003Ch1 class=\"text-center\">Beam Wallet Client\u003C\u002Fh1>\n        \u003Chr>\n\n        \u003Chr>\n        \u003Cdiv id=\"login-panel\">\n          \u003Cspan class=\"badge badge-danger\">status: logging in, please wait...\u003C\u002Fspan>\n        \u003C\u002Fdiv>\n\n        \u003Cdiv id=\"connecting-panel\" style=\"display: none;\">\n            \u003Cspan class=\"badge badge-danger\">status: connecting to the Wallet Service, please wait...\u003C\u002Fspan>\n        \u003C\u002Fdiv>\n\n        \u003Cform id=\"create-wallet-panel\" style=\"display: none;\">\n            \u003Cdiv class=\"form-group\">\n                \u003Cspan class=\"badge badge-success\">status: connected to the Wallet Service\u003C\u002Fspan>\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                \u003Clabel for=\"seed-phrase-input\">Generated seed phrase:\u003C\u002Flabel>\n                \u003Cinput disabled type=\"text\" class=\"seed-phrase-input form-control\" placeholder=\"Enter seed phrase\">\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                \u003Clabel for=\"wallet-pass-input\">Enter wallet password:\u003C\u002Flabel>\n                \u003Cinput type=\"password\" class=\"wallet-pass-input form-control\" placeholder=\"Enter wallet password\" value=\"456\">\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                \u003Cbutton type=\"button\" class=\"create-wallet-button btn btn-primary\">\n                    \u003Cspan class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\" style=\"display: none;\">\u003C\u002Fspan>\n                    Create new wallet\n                \u003C\u002Fbutton>\n            \u003C\u002Fdiv>\n        \u003C\u002Fform>\n\n        \u003Cform id=\"open-wallet-panel\" style=\"display: none;\">\n            \u003Cdiv class=\"form-group\">\n                \u003Cspan class=\"badge badge-success\">status: connected to the Wallet Service\u003C\u002Fspan>\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                \u003Clabel for=\"wallet-pass-input\">Enter wallet password:\u003C\u002Flabel>\n                \u003Cinput type=\"password\" class=\"wallet-pass-input form-control\" placeholder=\"Enter wallet password\" value=\"456\">\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                \u003Cbutton type=\"button\" class=\"open-wallet-button btn btn-primary\">\n                    \u003Cspan class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\" style=\"display: none;\">\u003C\u002Fspan>\n                    Open wallet\n                \u003C\u002Fbutton>\n                or\n                \u003Cbutton type=\"button\" class=\"delete-wallet-button btn btn-danger\">\n                        \u003Cspan class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\" style=\"display: none;\">\u003C\u002Fspan>\n                        Delete wallet\n                \u003C\u002Fbutton>\n            \u003C\u002Fdiv>\n        \u003C\u002Fform>\n\n        \u003Cform id=\"wallet-panel\" style=\"display: none;\">\n            \u003Cdiv class=\"form-group\">\n                \u003Cspan class=\"badge badge-success\">status: connected to the Wallet Service\u003C\u002Fspan>\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                \u003Cdiv>Available: \u003Cspan class=\"available\">\u003C\u002Fspan>\u003C\u002Fdiv>\n                \u003Cdiv>Sending: \u003Cspan class=\"sending\">\u003C\u002Fspan>\u003C\u002Fdiv>\n                \u003Cdiv>Receiving: \u003Cspan class=\"receiving\">\u003C\u002Fspan>\u003C\u002Fdiv>\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                Current height: \u003Cspan class=\"current_height\">\u003C\u002Fspan>\n            \u003C\u002Fdiv>\n            \u003Chr>\n            \u003Ch3>Send\u003C\u002Fh3>\n                \u003Cdiv class=\"form-group\">\n                    \u003Clabel for=\"receiver-address-input\">Enter receiver address:\u003C\u002Flabel>\n                    \u003Cinput type=\"text\" class=\"receiver-address-input form-control\" placeholder=\"Enter receiver address\" value=\"19f3b39d925ce49f19f67c3787b54bfe4414d490f0acf42b58527a23608427bbb34\">\n                \u003C\u002Fdiv>\n                \u003Cdiv class=\"form-group\">\n                    \u003Clabel for=\"amount-input\">Enter amount (GROTH):\u003C\u002Flabel>\n                    \u003Cinput type=\"text\" class=\"amount-input form-control\" placeholder=\"Enter amount\">\n                \u003C\u002Fdiv>\n                \u003Cbutton type=\"button\" class=\"send-button btn btn-danger\">\n                    Send\n                \u003C\u002Fbutton>               \n            \u003Chr>\n            \u003Ch3>Transactions\u003C\u002Fh3>\n            \u003Ctable class=\"table transactions\">\n                \u003Cthead>\n                    \u003Ctr>\n                        \u003Cth>#\u003C\u002Fth>\n                        \u003Cth>created\u003C\u002Fth>\n                        \u003Cth>receiver\u003C\u002Fth>\n                        \u003Cth>sender\u003C\u002Fth>\n                        \u003Cth>amount\u003C\u002Fth>\n                        \u003Cth>status\u003C\u002Fth>\n                    \u003C\u002Ftr>\n                \u003C\u002Fthead>\n                \u003Ctbody>\u003C\u002Ftbody>\n            \u003C\u002Ftable>\n            \u003Chr>\n            \u003Ch3>Addresses\u003C\u002Fh3>\n            \u003Ctable class=\"table addresses\">\n                \u003Cthead>\n                    \u003Ctr>\n                        \u003Cth>#\u003C\u002Fth>\n                        \u003Cth>address\u003C\u002Fth>\n                        \u003Cth>comment\u003C\u002Fth>\n                        \u003Cth>create time\u003C\u002Fth>\n                        \u003Cth>duration\u003C\u002Fth>\n                        \u003Cth>expired\u003C\u002Fth>\n                        \u003Cth>own\u003C\u002Fth>\n                    \u003C\u002Ftr>\n                \u003C\u002Fthead>\n                \u003Ctbody>\u003C\u002Ftbody>\n            \u003C\u002Ftable>\n            \u003Cdiv id=\"push-panel\" style=\"display:none\">\n            \u003Cbutton class=\"btn btn-secondary\" id=\"push-enable\" style=\"display:none\">Enable Push Notifications\u003C\u002Fbutton>\n            \u003Cbutton class=\"btn btn-secondary\" id=\"push-disable\" style=\"display:none\">Disable Push Notifications\u003C\u002Fbutton>\n            \u003Cspan id=\"push-blocked\" style=\"display:none\">Push notifications are blocked by user\u003C\u002Fspan>\n            \u003C\u002Fdiv>\n            \u003Chr>\n            \u003Ch3>UTXO\u003C\u002Fh3>\n            \u003Ctable class=\"table utxo\">\n                \u003Cthead>\n                    \u003Ctr>\n                        \u003Cth>#\u003C\u002Fth>\n                        \u003Cth>amount\u003C\u002Fth>\n                        \u003Cth>id\u003C\u002Fth>\n                        \u003Cth>maturity\u003C\u002Fth>\n                        \u003Cth>status\u003C\u002Fth>\n                        \u003Cth>type\u003C\u002Fth>\n                    \u003C\u002Ftr>\n                \u003C\u002Fthead>\n                \u003Ctbody>\u003C\u002Ftbody>\n            \u003C\u002Ftable>\n            \u003Chr>\n            \u003Cbutton type=\"button\" class=\"close-wallet-button btn btn-secondary\">\n                Close wallet\n            \u003C\u002Fbutton>\n        \u003C\u002Fform>     \n    \n    \u003C\u002Fdiv>\n\u003C\u002Fbody>\n    \u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n    \u003Cscript src=\"https:\u002F\u002Fcode.jquery.com\u002Fjquery-3.3.1.slim.min.js\" integrity=\"sha384-q8i\u002FX+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo\" crossorigin=\"anonymous\">\u003C\u002Fscript>\n    \u003Cscript src=\"https:\u002F\u002Fcdnjs.cloudflare.com\u002Fajax\u002Flibs\u002Fpopper.js\u002F1.14.7\u002Fumd\u002Fpopper.min.js\" integrity=\"sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1\" crossorigin=\"anonymous\">\u003C\u002Fscript>\n    \u003Cscript src=\"https:\u002F\u002Fstackpath.bootstrapcdn.com\u002Fbootstrap\u002F4.3.1\u002Fjs\u002Fbootstrap.min.js\" integrity=\"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf\u002FnJGzIxFDsf4x0xIM+B07jRM\" crossorigin=\"anonymous\">\u003C\u002Fscript>\n    \u003Cscript type=\"module\">\n    import WebPush from '.\u002Fwebpush.js'\n    Module().then(function(Module) {\n        let keykeeper = null\n        var loginConnection = null\n        var connection = null\n        var webpush = null\n        var defaddr = null\n\n        login()\n\n        \u002F\u002F If you change walletID\u002Fseed you should ALWAYS relogin\n        \u002F\u002F If you lose loginConnection or connection, ALWAYS relogin\n        \u002F\u002F Both loginConnection & connection should be active\n        function login() {\n            \u002F\u002Fkeykeeper = initKeyKeeper(\"giraffe usage sad arrest sound chimney file select monster head clown ask\")\n            \u002F\u002FlocalStorage.seed = \"giraffe usage sad arrest sound chimney file select monster head clown ask\"\n            \u002F\u002FlocalStorage.id = keykeeper.getWalletID()\n\n            if (localStorage.id && localStorage.seed) {\n                console.log(`Stored WalletID:${localStorage.id}`)\n                console.log(`Stored Seed: ${localStorage.seed}`)\n                keykeeper = initKeyKeeper(localStorage.seed)\n                console.log(`Keykeeper created`);\n            } else {\n                let seed = Module.KeyKeeper.GeneratePhrase()\n                console.log(`New Seed: ${seed}`)\n                keykeeper = initKeyKeeper(seed)\n                console.log(`New WalletID: ${keykeeper.getWalletID()}`)\n                $('#create-wallet-panel .seed-phrase-input').val(seed)\n            }\n\n            console.log(\"Logging in...\")\n            loginConnection = new WebSocket('ws:\u002F\u002F127.0.0.1:20000\u002Fws')\n\n            loginConnection.onclose = () => {\n                console.log('login_ws: connection lost')\n                loginConnection = null\n                relogin()\n            }\n\n            loginConnection.onerror = error => {\n                console.log(`login_ws: connection error: ${JSON.stringify(error)}`)\n            }\n\n            loginConnection.onopen = () => {\n                console.log('login_ws: connected...')\n\n                let loginParams = {\n                    WalletID: keykeeper.getWalletID()\n                }\n\n                loginConnection.send(JSON.stringify({\n                    jsonrpc: \"2.0\",\n                    id: 123,\n                    method: \"login\",\n                    params: loginParams\n                }))\n            }\n\n            loginConnection.onmessage = e => {\n                let data = JSON.parse(e.data)\n\n                if (data.result) {\n                    console.log(`login_ws: result is ${JSON.stringify(data.result)}`)\n                    if (data.id === 123) {\n                        console.log(\"login_ws: OK, endpoint is \", data.result.endpoint)\n                        let endpoint = ['ws:\u002F\u002F', data.result.endpoint].join('');\n                        start(endpoint)\n                    }\n                } else {\n                    console.log(\"login_ws: failed\")\n                    if (data.error) {\n                        console.log(`login_ws: error code:${data.error.code} text:${data.error.data}`)\n                    }\n                }\n            }\n        }\n\n        function relogin () {\n            console.log('relogin in 5 seconds...')\n            setTimeout(() => login(), 5000)\n            showPanel('#connecting-panel')\n        }\n\n        function start(url) {\n            console.log(\"STARTING...\")\n            showPanel('#connecting-panel')\n            connection = new WebSocket(url)\n\n            connection.onerror = error => {\n                console.log(`connection error: ${JSON.stringify(error)}`)\n            }\n\n            connection.onopen = () => {\n                console.log('Connected to the Wallet Servce...')\n                if (localStorage.id) {\n                    showPanel('#open-wallet-panel')\n                } else {\n                    showPanel('#create-wallet-panel')\n                }\n            }\n\n            connection.onclose = () =>\n            {\n                console.log('connection lost...')\n                connection = null\n                loginConnection.close()\n            }\n        }\n\n        function showPanel(id) {\n            ['#login-panel', '#connecting-panel', '#create-wallet-panel', '#open-wallet-panel', '#wallet-panel'].forEach(name => $(name).hide())\n            $(id).show()\n        }\n\n        function initKeyKeeper(seed) {\n            return new Module.KeyKeeper(seed);\n        }\n\n        function onkeykeeper(data) {\n            console.log(`\u003C\u003C\u003C keykeeper request: ${data}`)\n            let res = keykeeper.invokeServiceMethod(data)\n            console.log(`>>> keykeeper response: ${res}`)\n            connection.send(res);\n        }\n\n        \u002F*function refresh()\n        {\n            if(localStorage.id) {\n                showPanel('#open-wallet-panel')\n            }\n            else\n            {\n                $('#create-wallet-panel .seed-phrase-input').val(Module.KeyKeeper.GeneratePhrase())\n                showPanel('#create-wallet-panel')\n            }\n        }*\u002F\n\n        $('#create-wallet-panel .create-wallet-button').click(() =>\n        {\n            let seed = $('#create-wallet-panel .seed-phrase-input').val()\n            console.log(`Creating new wallet with seed phrase: ${seed}`)\n\n            var walletPass = $('#create-wallet-panel .wallet-pass-input').val()\n            var ownerKey = keykeeper.getOwnerKey(walletPass)\n            console.log('ownerKey is: data:application\u002Foctet-stream;base64,' + ownerKey)\n\n            $('#create-wallet-panel .create-wallet-button')\n                .attr('disabled', true)\n                .find('.spinner-border').show()\n\n            connection.onmessage = e =>  {\n                console.log(`got response: ${e.data}`)\n\n                var data = JSON.parse(e.data)\n\n                if(data.result && data.result.length)\n                {\n                    console.log(`result is: ${data.result}`)\n\n                    localStorage.clear()\n                    localStorage.seed = seed\n                    localStorage.id = data.result\n\n                    $('#create-wallet-panel .create-wallet-button')\n                        .attr('disabled', false)\n                        .find('.spinner-border').hide()\n\n                    showPanel('#open-wallet-panel')\n                }\n                else if(data.error)\n                    console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if(data.method)\n                    onkeykeeper(e.data)\n            }\n\n            connection.send(JSON.stringify(\n            {\n                jsonrpc:'2.0',\n                id: 0,\n                method: 'create_wallet',\n                params:\n                {\n                    pass: walletPass,\n                    ownerkey: ownerKey\n                }\n            }))\n        })\n\n        $('#open-wallet-panel .delete-wallet-button').click(() => {\n            if (confirm('Are you sure want do delete current wallet data?')) {\n                pushNotifyUnsub(defaddr)\n                localStorage.clear()\n                connection.close()\n            }\n        })\n\n        $('#wallet-panel .close-wallet-button').click(() => {\n            if (confirm('Are you sure want do close the wallet?')) {\n                connection.close()\n            }\n        })\n\n        $('#open-wallet-panel .open-wallet-button').click(() => {\n            console.log(`Opening wallet with seed phrase: ${localStorage.seed}`)\n            let walletPass = $('#open-wallet-panel .wallet-pass-input').val()\n            let walletID = keykeeper.getWalletID()\n\n            console.log(`walletID: ${walletID}`)\n            connection.onmessage = e => {\n                console.log(`open wallet got response: ${e.data}`)\n                let data = JSON.parse(e.data)\n                if (data.result && data.result.length) {\n                    console.log(`wallet session: ${data.result}`)\n                    showPanel('#wallet-panel')\n                    showWalletStatus()\n                } else if (data.error)\n                    console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if (data.method)\n                    onkeykeeper(e.data)\n            }\n\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 0,\n                method: 'open_wallet',\n                params: {\n                    id: localStorage.id,\n                    pass: walletPass\n                }\n            }))\n        })\n\n        function showWalletStatus() {\n            \u002F\u002F unsubscribe if any\n            pushNotifyUnsub(defaddr)\n\n            connection.onmessage = e => {\n                let data = JSON.parse(e.data)\n                if (data.result) {\n                    $(\"#wallet-panel .available\").text(data.result.available)\n                    $(\"#wallet-panel .sending\").text(data.result.sending)\n                    $(\"#wallet-panel .receiving\").text(data.result.receiving)\n                    $(\"#wallet-panel .current_height\").text(data.result.current_height)\n                    showAddresses()\n                } else if (data.error)\n                    console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if (data.method)\n                    onkeykeeper(e.data)\n            }\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 0,\n                method: 'wallet_status'\n            }))\n        }\n\n        function showAddresses() {\n            connection.onmessage = e => {\n                let data = JSON.parse(e.data)\n                if(data.result) {\n                    let body = $('#wallet-panel .addresses > tbody').empty()\n                    data.result.forEach && data.result.forEach((item, index) => {\n                        if (index === 0) defaddr = item\n                        console.log(JSON.stringify(item))\n                        body.append(`\u003Ctr>\n                                        \u003Ctd>${index+1}\u003C\u002Ftd>\n                                        \u003Ctd>${item.address}\u003C\u002Ftd>\n                                        \u003Ctd>${item.comment}\u003C\u002Ftd>\n                                        \u003Ctd>${item.create_time}\u003C\u002Ftd>\n                                        \u003Ctd>${item.duration}\u003C\u002Ftd>\n                                        \u003Ctd>${item.expired}\u003C\u002Ftd>\n                                        \u003Ctd>${item.own}\u003C\u002Ftd>\n                                    \u003C\u002Ftr>`)\n                    })\n                    if (defaddr) {\n                        showPush()\n                    }\n                    showUtxo()\n                }\n                else if(data.error)\n                    console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if(data.method)\n                    onkeykeeper(e.data)\n            }\n\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 0,\n                method: 'addr_list',\n                params: {\n                    own: true\n                }\n            }))\n        }\n        \n        async function pushNotifySub(addr) {\n            return new Promise((resolve, reject) => {\n                if (!addr) reject()\n                return webpush.notifyServer(true, loginConnection, {\n                    SbbsAddress: keykeeper.getSbbsAddress(addr.own_id_str),\n                    SbbsAddressPrivate: keykeeper.getSbbsAddressPrivate(addr.own_id_str),\n                    ExpiresAt: addr.create_time + addr.duration\n                })\n            })\n        }\n\n        async function pushNotifyUnsub(addr) {\n            return new Promise((resolve, reject) => {\n                if (!addr) reject()\n\n                if (!webpush.userSubscribed) {\n                    console.log('unsub: no previous subscription')\n                    reject()\n                    return\n                }\n                return webpush.notifyServer(false, loginConnection, {\n                    SbbsAddress: keykeeper.getSbbsAddress(addr.own_id_str),\n                    SbbsAddressPrivate: keykeeper.getSbbsAddressPrivate(addr.own_id_str)\n                })\n            })\n        }\n\n        function showPush() {\n            webpush = new Proxy(new WebPush(), {\n                set: function(obj, prop, value) {\n                    if (prop === \"subscription\") {\n                        if (value) {\n                            $(\"#push-enable\").hide()\n                            $(\"#push-disable\").show()\n                        } else {\n                            $(\"#push-enable\").show()\n                            $(\"#push-disable\").hide()\n                        }\n                        $(\"#push-panel\").show()\n                    }\n                    obj[prop] = value\n                    return true\n                }\n            })\n\n            if (webpush.blockedByUser) {\n                console.log(\"notifications blocked by user\")\n                $(\"#push-blocked\").show()\n                $(\"#push-panel\").show()\n                \u002F\u002F may be push was disabled in settings\n                \u002F\u002F remove any previous subscriptions\n                \u002F\u002F TODO: check the same on service worker start (if possible)\n                pushNotifyUnsub(defaddr)\n            } else {\n                console.log(\"notifications enabled, notifying server\");\n                (async () => {\n                    if (await webpush.register(loginConnection)) {\n                        await pushNotifySub(defaddr)\n                        console.log(\"Push notification - OK\")\n                    }\n                })()\n            }\n\n            $(\"#push-enable\").click(() => {\n                (async () => {\n                    if (await webpush.subscribe()) {\n                        await pushNotifySub(defaddr)\n                    }\n                })()\n                return true\n            })\n\n            $(\"#push-disable\").click(() => {\n                (async () => {\n                    await pushNotifyUnsub()\n                    await webpush.unsubscribe()\n                })()\n                return true\n            })\n        }\n\n        function showUtxo() {\n            connection.onmessage = e => {\n                let data = JSON.parse(e.data)\n                if (data.result) {\n                    let body = $('#wallet-panel .utxo > tbody').empty()\n                    data.result.forEach && data.result.forEach((item, index) => body.append(`\u003Ctr>\n                            \u003Ctd>${index + 1}\u003C\u002Ftd>\n                            \u003Ctd>${item.amount}\u003C\u002Ftd>\n                            \u003Ctd>${item.id}\u003C\u002Ftd>\n                            \u003Ctd>${item.maturity}\u003C\u002Ftd>\n                            \u003Ctd>${item.status_string}\u003C\u002Ftd>\n                            \u003Ctd>${item.type}\u003C\u002Ftd>\n                            \u003C\u002Ftr>`))\n                    showTransactions()\n                } else if (data.error)\n                    console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if (data.method)\n                    onkeykeeper(e.data)\n            }\n\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 0,\n                method: 'get_utxo'\n            }))\n        }\n\n        function showTransactions() {\n            connection.onmessage = e => {\n                let data = JSON.parse(e.data)\n                if (data.result) {\n                    let body = $('#wallet-panel .transactions > tbody').empty()\n                    data.result.forEach && data.result.forEach((item, index) => {\n                        body.append(`\u003Ctr>\n                            \u003Ctd>${index + 1}\u003C\u002Ftd>\n                            \u003Ctd>${new Date(item.create_time * 1000).toLocaleString()}\u003C\u002Ftd>\n                            \u003Ctd>${item.receiver.slice(0, 32)}...\u003C\u002Ftd>\n                            \u003Ctd>${item.sender.slice(0, 32)}...\u003C\u002Ftd>\n                            \u003Ctd>${item.value}\u003C\u002Ftd>\n                            \u003Ctd>${item.status_string}\u003C\u002Ftd>\n                            \u003C\u002Ftr>`)\n                    })\n                } else onkeykeeper(e.data)\n                if ($('#wallet-panel').is(\":visible\"))\n                    setTimeout(showWalletStatus, 5000)\n            }\n\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 0,\n                method: 'tx_list'\n            }))\n        }\n\n        $('#wallet-panel .send-button').click(() => {\n            let addr = $('#wallet-panel .receiver-address-input').val()\n            if (addr.length === 0) {\n                alert('Please, enter valid address.')\n                return\n            }\n\n            let amount = $('#wallet-panel .amount-input').val()\n            if (isNaN(parseInt(amount))) {\n                alert('Please, enter valid amount.')\n                return\n            }\n\n            if (confirm(`Are you sure want send ${amount} groth to ${addr}?`)) {\n                $('#wallet-panel .amount-input').val('')\n                send(parseInt(amount), addr)\n            }\n        })\n\n        function send(amount, address) {\n            console.log(`!!! sending ${amount} groth to ${address}...`)\n            connection.onmessage = (e) => {\n                let data = JSON.parse(e.data)\n                if (data.result)\n                    console.log(`result is ${data.result}`)\n                else if (data.error)\n                    console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if (data.method)\n                    onkeykeeper(e.data)\n            }\n            connection.send(JSON.stringify({\n                jsonrpc: \"2.0\",\n                id: 123,\n                method: \"tx_send\",\n                params: {\n                    value: amount,\n                    fee: 100,\n                    address: address,\n                    comment: \"thank you!\"\n                }\n            }))\n        }\n\n        function createNewTestAddr() {\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 123,\n                method: 'create_address',\n                params:\n                        {\n                            expiration: '24h',\n                            comment: 'John Smith'\n                        }\n            }))\n        }\n    })\n    \u003C\u002Fscript>\n\u003C\u002Fhtml>\n",[611,110946,110944],{"__ignoreMap":14},[41,110948,110950],{"id":110949},"reference-wallet-implementation","Reference Wallet Implementation",[34,110952,110953],{},"We provide the reference web wallet implementation that combines all the described APIs together and yields the working chrome extension.",[852,110955,110956,110965],{},[59,110957,110958,110959,110964],{},"Check out the ",[175,110960,110963],{"href":110961,"rel":110962},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fweb-wallet",[179],"web-wallet repository"," for the source code",[59,110966,110967,110968],{},"Install the testnet ",[175,110969,110972],{"href":110970,"rel":110971},"https:\u002F\u002Fchrome.google.com\u002Fwebstore\u002Fdetail\u002Fbeam-web-wallet-testnet\u002Filhaljfiglknggcoegeknjghdgampffk?hl=en",[179],"chrome extension",[8692,110974,110975],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s4JwU, html code.shiki .s4JwU{--shiki-default:#85E89D}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}",{"title":14,"searchDepth":15,"depth":15,"links":110977},[110978,110979,110980,110981,110982,110997],{"id":109038,"depth":15,"text":109039},{"id":109187,"depth":15,"text":109188},{"id":109242,"depth":15,"text":109243},{"id":109249,"depth":15,"text":109252},{"id":109270,"depth":15,"text":109271,"children":110983},[110984,110985,110986,110987,110988,110989,110990,110991,110992,110993,110994,110995,110996],{"id":109298,"depth":154,"text":109299},{"id":16144,"depth":154,"text":16144},{"id":106318,"depth":154,"text":106318},{"id":106329,"depth":154,"text":106329},{"id":109586,"depth":154,"text":109587},{"id":15357,"depth":154,"text":15357},{"id":109603,"depth":154,"text":109603},{"id":109609,"depth":154,"text":109609},{"id":109619,"depth":154,"text":109619},{"id":6940,"depth":154,"text":6940},{"id":109625,"depth":154,"text":109625},{"id":110437,"depth":154,"text":110440},{"id":110449,"depth":154,"text":110453},{"id":110949,"depth":15,"text":110950},{},"\u002Fdocs\u002Fcore-tech\u002Fwallet-service",{"description":109035},"docs\u002Fcore-tech\u002FWallet-Service","chp-p_MqrWC6l4hIUaSSVvms5pwxsZVMaG72lQd8zxo",{"id":111004,"title":111005,"body":111006,"description":111010,"extension":17,"image":18,"meta":111518,"navTitle":18,"navigation":20,"path":111519,"seo":111520,"stem":111521,"__hash__":111522},"docs\u002Fdocs\u002Fcore-tech\u002FWallet-audit.md","Wallet Audit",{"type":8,"value":111007,"toc":111509},[111008,111011,111014,111016,111019,111026,111040,111043,111059,111062,111092,111095,111102,111105,111108,111118,111121,111129,111132,111135,111142,111155,111159,111163,111232,111236,111303,111306,111309,111317,111324,111328,111331,111336,111345,111351,111354,111363,111380,111384,111390,111396,111414,111417,111424,111427,111434,111437,111441,111444,111479,111482],[34,111009,111010],{},"Crypto-currencies are often criticized for being used by \"gray market\" and virtually inappropriate for compliant businesses due to their inherent non-transparency.",[34,111012,111013],{},"So we'd like to give compliant businesses appropriate tools to be as transparent as possible for the appropriate authorities, while remaining confident to others. We'll present a scheme how it can be implemented in BEAM, and review it.",[11,111015,9670],{"id":9669},[34,111017,111018],{},"The wallet used for compliant business (we'll call it a business wallet) should be configured for auditing. It generates a public\u002Fprivate key pair specifically for audit. The public key is given to the appropriate auditor(s). Optionally the business wallet may generate several public\u002Fprivate auditor key pairs for different authorities.",[34,111020,111021,111022,111025],{},"Note: The \"public key\" is actually ",[9352,111023,111024],{},"confidential",", and should not be disclosed by the auditor to others to keep the anonymity of the business.",[34,111027,111028,111029,111032,111033,111035,111036,111039],{},"Every transaction that the business wallet performs is ",[100,111030,111031],{},"tagged",", such that only the auditor may identify it in the blockchain using the provided public key. The auditor however is unable to create such a ",[100,111034,111031],{}," transaction using the public key alone.\nBy tagging the transaction the ",[9352,111037,111038],{},"business wallet commits to disclose (off-chain) all the relevant info for the auditor, when required to",". After receiving all the information the auditor verifies that it indeed conforms to the original commitment.",[34,111041,111042],{},"The original transaction details the auditor may want are:",[852,111044,111045,111053,111056],{},[59,111046,111047,111048],{},"Input\u002FOutput UTXOs of this business wallet.\n",[852,111049,111050],{},[59,111051,111052],{},"Note: The full transaction contains also the Input\u002FOutput UTXOs of other wallets. But those should not be disclosed (unless absolutely required) to keep their anonymity.",[59,111054,111055],{},"Proof of the ownership and amount of every input\u002Foutput UTXO which belongs to this business wallet, without disclosing the blinding factors (public signature).",[59,111057,111058],{},"Optionally any additional information: digital documents, signatures, arbitrary text message, etc.",[34,111060,111061],{},"The task of the auditor is the following:",[852,111063,111064,111067,111070,111073],{},[59,111065,111066],{},"Run the full Node, which (in particular) downloads the original blocks (this is important!)",[59,111068,111069],{},"Find all the tagged transactions for all the business wallets it's aware of.",[59,111071,111072],{},"Request all the transaction information (off-chain).",[59,111074,111075,111076],{},"After receiving the information the following is verified:\n",[852,111077,111078,111081,111084,111087],{},[59,111079,111080],{},"All the transaction components are valid (signatures and etc.)",[59,111082,111083],{},"The transaction details indeed correspond to the original commitment",[59,111085,111086],{},"All the referenced inputs and outputs indeed present in the original block.",[59,111088,111089],{},[37,111090,111091],{},"Verify the completeness of the transaction graph of this business wallet.",[34,111093,111094],{},"By such a scheme the business wallet is enforced to report about the transaction in advance, and to commit to all the details that will be revealed to the auditor later.",[34,111096,111097,111098,111101],{},"The auditor is able to reconstruct the whole business ledger. It should build the transaction graph and verify its completeness, which means that every UTXO that the business wallet spends must have been reported earlier by the same business wallet upon receiving. By such the business wallet will be able to spend legally only what it received legally. So that, unlike traditional ledgers, the auditor can see the life cycle of every UTXO, and not only of the overall balance. So that the \"",[100,111099,111100],{},"Pecunia non olet","\" is somewhat less obvious.",[11,111103,111104],{"id":9758},"Technical Design.",[34,111106,111107],{},"All transactions include transaction kernels, and we'll use this for transaction tagging. Each kernel, even \"minimal\", without any optional data, already has two degree of freedom:",[56,111109,111110,111113],{},[59,111111,111112],{},"Excess (total blinding factor)",[59,111114,100807,111115,111117],{},[100,111116,16222],{},", which is a part of the Schnorr's signature",[34,111119,111120],{},"By utilizing those two degrees of freedom it's possible to achieve the two needed effects:",[852,111122,111123,111126],{},[59,111124,111125],{},"Tag the transaction such that it can be identified using the auditor's public key.",[59,111127,111128],{},"Embed the commitment to the transaction details",[34,111130,111131],{},"For every transaction the business wallet will add an extra kernel for the auditor. Moreover, if it's auditable by different authorities who gets different public keys - the business wallet will add such a kernel for every key (in every transaction).",[34,111133,111134],{},"Note: If the other transaction party is also a business wallet, which is obliged to report to appropriate authorities - it will add its kernel(s) to the transaction as well. There is no collision here (transactions may contain arbitrary number of kernels).",[34,111136,111137,111138,111141],{},"First the business wallet collects all the info that it's going to reveal to the auditor, saves it, and computes its Hash. This is the commitment to the transaction details. The kernel ",[100,111139,111140],{},"Excess"," is derived from this value.",[34,111143,111144,111145,111147,111148,111150,111151,111154],{},"Now, to flag the transaction the business wallet signs the kernel in a special way. The ",[100,111146,92186],{},", which is a part if the Schnorr's signature, is derived from the visible ",[100,111149,111140],{}," and the auditor's public key, hence the auditor can identify such a kernel. Yet the auditor can't craft such a kernel using only its public key, because in order to create Schnorr's signature it's essential to know the ",[100,111152,111153],{},"Private Nonce"," value (before it's multiplied by G-generator).",[41,111156,111158],{"id":111157},"flow-diagram","Flow diagram:",[48,111160,111162],{"id":111161},"business-wallet-transaction-building","Business Wallet, transaction building:",[852,111164,111165,111171,111177],{},[59,111166,111167,111170],{},[611,111168,111169],{},"TxDetails"," = { my Inputs + public signatures, my Outputs + public signatures, Some other arbitrary data (docs and etc.) }",[59,111172,111173,111174,111176],{},"Save ",[611,111175,111169],{}," (locally)",[59,111178,111179,111180],{},"For each auditor key:\n",[852,111181,111182,111187,111192,111197,111202,111207,111224,111227],{},[59,111183,111184],{},[611,111185,111186],{},"Nonce1 = HMac(AuditorKey.Private, TxDetails)",[59,111188,111189],{},[611,111190,111191],{},"PrivateKey = Nonce1 * Hash(G * Nonce1 | TxDetails)",[59,111193,111194],{},[611,111195,111196],{},"Kernel.Excess = G * PrivateKey",[59,111198,111199],{},[611,111200,111201],{},"Nonce2 = Hash(Kernel.Excess | AuditorKey.Public) * AuditorKey.Private",[59,111203,111204],{},[611,111205,111206],{},"Kernel.Signature.Nonce = G * Nonce2",[59,111208,111209,111210],{},"Sign kernel using\n",[852,111211,111212,111218],{},[59,111213,111214,111215],{},"key = ",[611,111216,111217],{},"PrivateKey",[59,111219,111220,111221],{},"Nonce = ",[611,111222,111223],{},"Nonce2",[59,111225,111226],{},"Add the kernel to the transaction",[59,111228,111229],{},[611,111230,111231],{},"Transaction.Offset -= BlindingFactor",[48,111233,111235],{"id":111234},"auditor","Auditor",[852,111237,111238,111241,111271],{},[59,111239,111240],{},"Download blocks (as usually Nodes do)",[59,111242,111243,111244],{},"For every new block, for every kernel, for every known public key\n",[852,111245,111246,111251],{},[59,111247,111248],{},[611,111249,111250],{},"ExpectedNonce = Hash(Kernel.Excess | AuditorKey.Public) * AuditorKey.Public",[59,111252,111253,111254,15020,111257],{},"If (",[611,111255,111256],{},"Kernel.Signature.Nonce == ExpectedNonce",[852,111258,111259,111265],{},[59,111260,111261,111262],{},"Save the info: Appropriate business wallet, Block ID (Height + Hash), and the ",[611,111263,111264],{},"Kernel.Excess",[59,111266,111267,111268],{},"Request the transaction info for this kernel, as well as ",[611,111269,111270],{},"G * Nonce1",[59,111272,111273,111274],{},"After receiving the transaction info for the specified kernel\n",[852,111275,111276,111282,111292,111295,111300],{},[59,111277,111278,111279,111281],{},"Verify that the ",[611,111280,111169],{}," is sane (correct format, signatures, etc.)",[59,111283,111284,111285],{},"Verify that the presented data corresponds to the original commitment:\n",[852,111286,111287],{},[59,111288,111289],{},[611,111290,111291],{},"Kernel.Excess == (G * Nonce1) * Hash(G * Nonce1 | TxDetails)",[59,111293,111294],{},"Verify that the asserted inputs and outputs indeed present in the original block.",[59,111296,111297],{},[37,111298,111299],{},"Verify that all the referenced inputs were indeed reported earlier",[59,111301,111302],{},"Mark inputs as consumed, realize the outputs.",[48,111304,111305],{"id":100685},"Notes:",[34,111307,111308],{},"Note: the blockchain may sometimes \"rollback\", and this should be accounted for by the auditor. There are basically two options:",[56,111310,111311,111314],{},[59,111312,111313],{},"Complex solution: the auditor must know to undo the changes to the affected ledgers. It may request the transaction details for different history branches, and implement navigation, which involves undo and redo to all the affected ledgers.",[59,111315,111316],{},"Simple solution, which may be practically good enough. There is a maximum threshold for the rollback range, so it is sufficient just to wait for this period before requesting\u002Fprocessing the transaction details. And the auditor may assume that larger rollbacks are impossible, as long as the whole system operates normally.",[34,111318,111319,111320,111323],{},"Minor note: in a highly unlikely case (with probability order of 2",[8009,111321,111322],{},"-256",") there may be a false positive when chasing for the auditor kernels, i.e. a kernel that looks like it's an auditor kernel, but it's actually not. Though highly unlikely, perhaps there should be a possibility for the business wallet to deny this transaction? On the other hand false negatives are not possible. I.e. no excuses if the transaction was not flagged in advance.",[48,111325,111327],{"id":111326},"soundness-of-the-scheme","Soundness of the scheme",[34,111329,111330],{},"First we'll prove the soundness of the commitment to the transaction details, i.e. that the business wallet will have to reveal the original transaction details when requested.",[34,111332,111333,111334],{},"The auditor verifies the following:\n* ",[611,111335,111291],{},[34,111337,111338,111339,111341,111342,111344],{},"So, in order to substitute a different ",[611,111340,111169],{}," the Wallet will have to find a different EC  point ",[611,111343,111270],{}," that satisfies the above equation. Given there's no direct relation between the hash function, and the EC point multiplication, it seems to be the problem of finding collisions of a composite one-way function, which should not be feasible.",[34,111346,111347,111348,181],{},"Next we prove that it's impossible (unless with negligible probability) to create such a kernel without the knowledge of the ",[611,111349,111350],{},"AuditorKey.Private",[34,111352,111353],{},"The auditor checks the following:",[852,111355,111356,111361],{},[59,111357,111358],{},[611,111359,111360],{},"Kernel.Signature.Nonce == Hash(Kernel.Excess | AuditorKey.Public) * AuditorKey.Public",[59,111362,16853],{},[34,111364,111365,111366,111369,111370,111373,111374,1475,111376,111379],{},"In order to create Schnorr's signature it's essential to know both the private key, and the preimage of ",[611,111367,111368],{},"Kernel.Signature.Nonce"," (we'll skip the argument here), wherease the preimage is given by ",[611,111371,111372],{},"Hash(Kernel.Excess) * AuditorKey.Private",". Since the ",[611,111375,111264],{},[611,111377,111378],{},"AuditorKey.Public"," are known, the auditor private key should be known as well.",[48,111381,111383],{"id":111382},"zero-knowledge-of-the-scheme","Zero-knowledge of the scheme",[34,111385,111386,111387,111389],{},"First we'll prove that this kernel is indistinguishable unless ",[611,111388,111378],{}," is known. The following is verified:",[852,111391,111392],{},[59,111393,111394],{},[611,111395,111360],{},[34,111397,111398,111399,111401,111402,111404,111405,111407,111408,111410,111411,111413],{},"Note that we intentionally substituted the ",[611,111400,111378],{}," into the hash function. If that was not the case, the attacker could calculate its value from the visible ",[611,111403,111264],{},", and then notice the linear dependence of the ",[611,111406,92186],{}," by this value (for several kernels tagged for the same auditor).\nBut since ",[611,111409,111378],{}," is included in the hash, its value is obscured, and the ",[611,111412,92186],{}," looks like a random EC point.",[34,111415,111416],{},"Let's prove that the auditor private key is not leaked. The auditor verifies the Schnorr's signature. Means:",[852,111418,111419],{},[59,111420,111421],{},[611,111422,111423],{},"G * Preimage = Hash(\u003Csome known value>) * AuditorKey.Public + \u003Cchallenge> * \u003Cknown EC point> * Hash(\u003Cknown EC point>)",[34,111425,111426],{},"Which can be rephrased as:",[852,111428,111429],{},[59,111430,111431],{},[611,111432,111433],{},"G * AuditorKey.Private = G * Preimage * \u003Csome value> - \u003Cknown EC point> = \u003Csome EC point>",[34,111435,111436],{},"So, it's a pure discrete logarithm problem.",[11,111438,111440],{"id":111439},"review-of-this-scheme","Review of this scheme",[34,111442,111443],{},"The good:",[852,111445,111446,111449,111457,111460,111468],{},[59,111447,111448],{},"Strict demand to reveal the fact of the transaction in advance, and commitment to the original transaction details.",[59,111450,111451,111452],{},"The fact of the transaction taking place and the report about the transaction is the same, because the transaction is atomic!\n",[852,111453,111454],{},[59,111455,111456],{},"Means, there is no way the transaction is reported but didn't actually take place, blockchain rolled back, or whatever other reason, or vice versa.",[59,111458,111459],{},"Inability to use \"gray\" money in compliant transactions. All the inputs must have been reported earlier.",[59,111461,111462,111463],{},"The auditor can fully reconstruct the transaction graph, but it can discover nothing about other transaction parties.\n",[852,111464,111465],{},[59,111466,111467],{},"This is very valuable feature (perhaps the most valuable).",[59,111469,111470,111471],{},"The auditor can actually see when the business wallet spends its UTXOs, even if it doesn't flag the transaction.\n",[852,111472,111473,111476],{},[59,111474,111475],{},"For this the auditor will have to analyze all the UTXOs being spent in the original block, which is feasible.",[59,111477,111478],{},"Naturally the opposite isn't true: it's possible to receive UTXO without flagging the transaction (but it won't be possible to spend it in a compliant transaction).",[34,111480,111481],{},"The bad:",[852,111483,111484,111495],{},[59,111485,111486,111487],{},"Naturally there is no way to verify there is no \"gray\" ledger of the same business, it may have other wallets, or conceal part of the transactions.\n",[852,111488,111489,111492],{},[59,111490,111491],{},"This is also not solvable in \"traditional\" world.",[59,111493,111494],{},"However we guarantee the separation between \"compliant\" transactions and the others.",[59,111496,111497,111498],{},"No way to verify that the original transaction actually included the reported inputs\u002Foutputs, as well as nothing beyond them.\n",[852,111499,111500,111503,111506],{},[59,111501,111502],{},"We do verify that they were present in the original block, and that the reporter actually owns them (by demanding signatures), but they may be parts of another transactions.",[59,111504,111505],{},"This is equivalent (in some sense) to a situation where you report about transaction, but pay to others, or show less money than is actually transferred.",[59,111507,111508],{},"This is also unsolvable in the \"traditional\" world.",{"title":14,"searchDepth":15,"depth":15,"links":111510},[111511],{"id":111157,"depth":15,"text":111158,"children":111512},[111513,111514,111515,111516,111517],{"id":111161,"depth":154,"text":111162},{"id":111234,"depth":154,"text":111235},{"id":100685,"depth":154,"text":111305},{"id":111326,"depth":154,"text":111327},{"id":111382,"depth":154,"text":111383},{},"\u002Fdocs\u002Fcore-tech\u002Fwallet-audit",{"description":111010},"docs\u002Fcore-tech\u002FWallet-audit","x45_O65i2zEip09H9XsiGx2SxyStTTx3CwWp0IDBT1I",{"id":111524,"title":111525,"body":111526,"description":14,"extension":17,"image":18,"meta":111617,"navTitle":18,"navigation":20,"path":111618,"seo":111619,"stem":111620,"__hash__":111621},"docs\u002Fdocs\u002Fcore-tech\u002FWallet-requirements.md","Wallet Requirements",{"type":8,"value":111527,"toc":111613},[111528,111532,111603,111607,111610],[41,111529,111531],{"id":111530},"требования-к-приложению-кошелёк","Требования к приложению \"Кошелёк\"",[56,111533,111534,111537,111540,111543,111554,111557,111560,111563,111566,111569,111572,111575,111578,111589,111600],{},[59,111535,111536],{},"Приложение \"Кошелёк\" должно иметь установочный файл инсталятор для Windows, Linux, MacOS",[59,111538,111539],{},"Инсталятор должен\u002Fможет быть представлен в виде одного-двух(-трёх файлов)",[59,111541,111542],{},"Инсталятор должен иметь лаконичный, понятный, дружелюбный для пользователя интерфейс",[59,111544,111545,111546],{},"Установка\u002Fудаление приложения должна быть простой и прозрачной как для пользователя, так и для ОС:",[852,111547,111548,111551],{},[59,111549,111550],{},"Пользователь должен иметь возможность задавать путь к папке для установки",[59,111552,111553],{},"Пользователь должен иметь возможность легко удалить приложение из ОС со всеми служебными файлами",[59,111555,111556],{},"При первом запуске приложения должна быть предоставлена возможность (поле) для ввода секретного ключа пользователя, шифрующего БД с UTXO и инициализирующего генератор ключей",[59,111558,111559],{},"Приложение должно уведомлять пользователя о крайней степени важности знания секретного ключа в настоящее и будущее время",[59,111561,111562],{},"При запуске приложения должно быть поле для введения-идентификации секретного ключа пользователя",[59,111564,111565],{},"Приложение должно уведомлять пользователя о неверно введённом секретном ключе",[59,111567,111568],{},"Приложение должно уметь показывать баланс пользователя",[59,111570,111571],{},"Приложение должно уметь отображать статистику статусов UTXO из БД",[59,111573,111574],{},"Приложение должно уметь отображать статус соединения с другим \"Кошельком\"",[59,111576,111577],{},"Приложение должно уметь отображать этапы (в виде статусов) осуществления транзакции между двумя \"Кошельками\"",[59,111579,111580,111581],{},"Приложение должно предоставлять понятный и дружелюбный интерфейс пользователю для:",[852,111582,111583,111586],{},[59,111584,111585],{},"связи с другим \"Кошельком\"",[59,111587,111588],{},"и осуществления транзакции",[59,111590,111591,111592],{},"Приложение должно уведомлять пользователя:",[852,111593,111594,111597],{},[59,111595,111596],{},"о некорректной транзакции",[59,111598,111599],{},"о разрыве соединения с другим \"Кошельком\"",[59,111601,111602],{},"Приложение должно уметь показывать пользователю\tисторию его транзакциий совместно с историей изменения его баланса",[41,111604,111606],{"id":111605},"вопросы","Вопросы",[34,111608,111609],{},"Приложение должно быть однопользовательским: один пользователь - одно приложение - один секретный ключ - одна БД для UTXO?",[34,111611,111612],{},"Или же приложение может быть многопользовательским: много пользователей - одно приложение - много ключей - несколько БД?",{"title":14,"searchDepth":15,"depth":15,"links":111614},[111615,111616],{"id":111530,"depth":15,"text":111531},{"id":111605,"depth":15,"text":111606},{},"\u002Fdocs\u002Fcore-tech\u002Fwallet-requirements",{"description":14},"docs\u002Fcore-tech\u002FWallet-requirements","TQjPe5UAExRK9rxoOZxSWaBObEJ8oI-i1oTqNbN8c0k",{"id":111623,"title":111624,"body":111625,"description":14,"extension":17,"image":18,"meta":111734,"navTitle":18,"navigation":20,"path":111735,"seo":111736,"stem":111737,"__hash__":111738},"docs\u002Fdocs\u002Fcore-tech\u002FWallets-discovery-and-dialog-proposal.md","Wallets Discovery And Dialog Proposal",{"type":8,"value":111626,"toc":111726},[111627,111631,111635,111652,111656,111672,111676,111699,111703,111723],[41,111628,111630],{"id":111629},"wallets-discovery-and-dialog-proposal","Wallets discovery and dialog proposal",[48,111632,111634],{"id":111633},"общее","Общее",[56,111636,111637,111640,111643,111646,111649],{},[59,111638,111639],{},"Для согласования TX между кошельками происходит диалог, согласно протоколу, но туда надо добавить возможность включать произвольную информацию в пределах разумных размеров (например, любой текст, который увидит человек или любые бинарные метаданные, если общается бот или какая-то логика более высокого уровня)",[59,111641,111642],{},"Для шифрования сообщений вполне пойдет принцип PGP, для чего 2м кошелькам достаточно знать публичные ключи друг друга. Рандомный ключ (+ I.V.) для AES например 256 шифруется публичным ключом собеседника (а последний может быть и RSA и EC, не важно), остальное сообщение AESом с помощью зашифрованного ключа.",[59,111644,111645],{},"Главное: публичные ключи, о которых пойдет далее, относятся только к шифрованию диалога, к процессу формирования UTXO и логике самого кошелька в целом они не имеют никакого отношения",[59,111647,111648],{},"Ситуации, когда одна сторона не знает, кто к ней обращается (например, некий бот собирает пожертвования на храм Бахуса и Венеры, или это обменник (*ниже)). Такой кошель уже по определению теряет часть своей анонимности и может опубликовать свой публичный ключ тем или иным образом. Доверять ли этой публикации решает сам инициатор диалога (ну вот, в качестве примера возьмем имеющиеся монетки с адресацией, когда сам адрес является ПубКл кошелька - слать туда или не слать решаем сами). Этот инициатор тогда посылает свой публичный ключ в первом сообщении",[59,111650,111651],{},"В секьюрных случаях Публ ключ может быть передан по какому-либо секьюрному каналу (телеграм и т.п.) между знакомыми и вставлен в кошелек",[48,111653,111655],{"id":111654},"публикация-публичных-ключей-для-диалога-это-все-опции-имеет-смысл-реализовывать-все-что-возможно","Публикация публичных ключей (для диалога!). Это все опции, имеет смысл реализовывать все что возможно",[56,111657,111658,111661,111669],{},[59,111659,111660],{},"Есть PGP key services, которые изначально были в помощь шифрованию email, но и тут могут пригодиться. По какому либо идентификатору можно заполучить программно ПублКл",[59,111662,111663,111664,111668],{},"Децентрализованный вариант, как еще одна опция. Ключи храним на IPFS (",[175,111665,111666],{"href":111666,"rel":111667},"https:\u002F\u002Fipfs.io",[179],"), но там имя файла человеческое не задать, поэтому мэппинг имя->ключ можно организовать в виде смартконтракта на Eth (запись будет стоить публикующему немного, ибо это транзакция, чтение бесплатно)",[59,111670,111671],{},"Прям у себя на сайте (зеленый замочек в браузере виден? копируйте-вставляйте в кошель). Или ссылку на ipfs в виде QR кода (сам ключ длинноват для QR)",[48,111673,111675],{"id":111674},"secure-channel-тоже-опции","Secure channel. Тоже опции",[56,111677,111678,111681,111684,111687,111690,111693,111696],{},[59,111679,111680],{},"Связь по TCP напрямую. Самое быстрое и простое, оба кошеля должны быть в онлайне. Но все будут знать, что эти 2 IP общались между собой",[59,111682,111683],{},"Через прокси (ретранслятор). Когда кто-то или оба из кошельков за файрволлом. Тоже должны быть в онлайне, и факт общения может быть установлен. Можно запустить подобные ретрансляторы, а список известных адресов могут выдавать ноды в рамках протокола.",[59,111685,111686],{},"Через инфраструктуру мессенджеров. Надо поизучать вопрос об интеграции с их АПИ. Но тут получается, что пациенты совсем друг друга хорошо знают и имеют в контактах мессенджера. Но зато есть возможность быть в оффлайне во время диалога.",[59,111688,111689],{},"Броадкастить (по крайней мере 1-е сообщение диалога) через инфраструктуру beam nodes. Сообщение распространяется по сети с некоторым убывающим TTL и с высокой вероятностью доходит до кошелька. Почему ноды могут быть заинтересованы в ретрансляции этого хлама? Ну если они майнят, то такое общение может обернуться неким txFee > 0 через какое-то время. Тут проблема как экономически бороться с флудом, поскольку сообщения шифрованные, и ноды их никак валидировать не в состоянии. Может в таких случаях обязать какой-нибудь PoW приделывать к сообщению? При этой схеме тоже все стороны должны быть в онлайне и прицепиться к нодам сети на предмет прослушки таких броадкастов (и фильтрации своих из общего потока с помощью своего приватного ключа).",[59,111691,111692],{},"BBS service - это ретранслятор + история. Отдельная сеть из узлов, которые реализуют \"общую шину\" для данного рода сообщений. Клиент может прицепиться к одному или нескольким таким каналам, получать по запросу некоторую историю сообщений и в реальном времени фильтровать входящие. Здесь cons и pros как что в предыдущем пункте, но есть и хорошее: 1) можно слушать из N существующих каналов M\u003CN, сообщение соответственно может быть доставлено в соответствии с какими-то битами публичного ключа в M каналов, а не все N, получатель об этом знает, но факт того, что он переварил то или иное сообщение, скрыт. 2) Оффлайн до определенной глубины времени",[59,111694,111695],{},"Объединение №4 и №5: сообщение гуляет по сети и попадает в BBS так или иначе. За счет рандомного TTL затирается из истории адрес отправителя, за счет BBS неизвестен получатель.",[59,111697,111698],{},"Случай когда слушатель каналов маломощный вроде мобильного клиента и\u002Fили ограничен в трафике: частично жертвуя анонимностью, поручает BBS сервису фильтровать для него канал. Для этого вместо одного публ. ключа нужно 2 штуки: 1) Selector public key, 2) Messaging public key\nСоответственно протокол диалога обогащается еще одним заголовком - некие позывные (не секретные) шифруются ключом селектора, остальное уже секретный канал",[48,111700,111702],{"id":111701},"что-хотелось-бы-в-ui-и-в-целом-в-приложении","Что хотелось бы в UI и в целом в приложении",[56,111704,111705,111708,111711,111714,111717,111720],{},[59,111706,111707],{},"Address book - хранилище имен контрагентов и их публичных ключей. Имена уникальные лишь для этого кошелька, никакого центрального хранилища имен не надо",[59,111709,111710],{},"Возможность ввести публичный ключ из clipboard и придумать для него имя",[59,111712,111713],{},"Отображение сообщений, которые приходят как мета с сообщениями протокола. В этом случае владелец кошелька (или его бот) подтверждение пусть дает после приема каждой подобной меты, продолжать ли диалог",[59,111715,111716],{},"Возможность поиска публичных ключей во внешних хранилищах: pgp key services, решения на ipfs и т.д.",[59,111718,111719],{},"Возможность генерации своих ключей для общения, публикации публичной части под каким-либо никнеймом, индивидуальной передачи публичного ключа собеседнику по любому каналу (через telegram secret channel как пример)",[59,111721,111722],{},"(??? спорный момент) Интеграция кошелька с АПИ мессенджеров",[34,111724,111725],{},"(*)(atomic swap отдельная тема, тут надо придумать как можно лочить TX с помощью любых видов хэшей, присутствующих в других блокчейнах, опционально и в дополнение к тому что есть, за большее fee конечно,  ... ...)",{"title":14,"searchDepth":15,"depth":15,"links":111727},[111728],{"id":111629,"depth":15,"text":111630,"children":111729},[111730,111731,111732,111733],{"id":111633,"depth":154,"text":111634},{"id":111654,"depth":154,"text":111655},{"id":111674,"depth":154,"text":111675},{"id":111701,"depth":154,"text":111702},{},"\u002Fdocs\u002Fcore-tech\u002Fwallets-discovery-and-dialog-proposal",{"description":14},"docs\u002Fcore-tech\u002FWallets-discovery-and-dialog-proposal","0I_P6KpC1t5T4J4jNOEav6bCRt65WgWAAXzXE0Z63RI",{"id":111740,"title":111741,"body":111742,"description":111933,"extension":17,"image":18,"meta":111934,"navTitle":18,"navigation":20,"path":111935,"seo":111936,"stem":111937,"__hash__":111938},"docs\u002Fdocs\u002Fdesktop\u002FREADME.md","Desktop Wallet User Guide",{"type":8,"value":111743,"toc":111924},[111744,111747,111751,111757,111761,111775,111779,111814,111818,111822,111827,111829,111835,111839],[11,111745,111741],{"id":111746},"desktop-wallet-user-guide",[41,111748,111750],{"id":111749},"welcome-to-beams-desktop-wallet-guide","Welcome to Beam's Desktop Wallet Guide!",[34,111752,111753,111754,5102],{},"If you are new to Beam make sure to read ",[175,111755,111756],{"href":102349},"Beam Essentials",[48,111758,111760],{"id":111759},"prerequisites","Prerequisites",[852,111762,111763,111769],{},[59,111764,111765],{},[175,111766,111768],{"href":111767},"download-wallet","Download wallet",[59,111770,111771],{},[175,111772,111774],{"href":111773},"installation-guide","Install wallet",[48,111776,111778],{"id":111777},"basic-features","Basic features",[852,111780,111781,111787,111793,111798,111803,111809],{},[59,111782,111783],{},[175,111784,111786],{"href":111785},"wallet-basics\u002Fcreate-wallet","Creating new wallet",[59,111788,111789],{},[175,111790,111792],{"href":111791},"main-screen","Main screen",[59,111794,111795],{},[175,111796,111797],{"href":3765},"Send beam",[59,111799,111800],{},[175,111801,111802],{"href":3713},"Receive beam",[59,111804,111805],{},[175,111806,111808],{"href":111807},"address-book","Address book",[59,111810,111811],{},[175,111812,363],{"href":111813},"settings",[48,111815,111817],{"id":111816},"advanced-features","Advanced features",[34,111819,111820],{},[175,111821,878],{"href":877},[34,111823,111824],{},[175,111825,296],{"href":111826},"\u002Fdocs\u002Fatomic-swaps\u002F",[48,111828,92243],{"id":92242},[34,111830,111831],{},[175,111832,111834],{"href":111833},"dapp-store","Decentralized Applications",[41,111836,111838],{"id":111837},"supported-platforms","Supported platforms",[4998,111840,111841,111851],{},[5001,111842,111843],{},[5004,111844,111845,111848],{},[5007,111846,111847],{},"Platform",[5007,111849,111850],{},"Supported",[5014,111852,111853,111880,111902],{},[5004,111854,111855,111862],{},[5019,111856,111857],{},[34,111858,111859],{},[241,111860],{"src":111861,"alt":14},".gitbook\u002Fassets\u002FLinux-3_6.png",[5019,111863,111864,111865,111868,111869,111872,111873,111876,111877,8764],{},"Ubuntu 18.04 LTS Bionic Beaveр or more recent Ubuntu versions  ",[611,111866,111867],{},"64-bit"," Processor  ",[611,111870,111871],{},"5GB"," of free RAM  ",[611,111874,111875],{},"10GB"," of free Disk space (",[100,111878,111879],{},"the size of the blockchain increases over time",[5004,111881,111882,111889],{},[5019,111883,111884],{},[34,111885,111886],{},[241,111887],{"src":111888,"alt":14},".gitbook\u002Fassets\u002Fimgonline-com-ua-Resize-nCCgUKm5s3DFnM.jpg",[5019,111890,111891,111893,111894,111868,111896,111872,111898,111876,111900,8764],{},[611,111892,111867],{}," Mac OS 10.13 or higher  ",[611,111895,111867],{},[611,111897,111871],{},[611,111899,111875],{},[100,111901,111879],{},[5004,111903,111904,111911],{},[5019,111905,111906],{},[34,111907,111908],{},[241,111909],{"src":111910,"alt":14},".gitbook\u002Fassets\u002Fwindows-event-logs-s.jpg",[5019,111912,111913,111915,111916,111868,111918,111872,111920,111876,111922,8764],{},[611,111914,111867],{}," Windows 8 or higher  ",[611,111917,111867],{},[611,111919,111871],{},[611,111921,111875],{},[100,111923,111879],{},{"title":14,"searchDepth":15,"depth":15,"links":111925},[111926,111932],{"id":111749,"depth":15,"text":111750,"children":111927},[111928,111929,111930,111931],{"id":111759,"depth":154,"text":111760},{"id":111777,"depth":154,"text":111778},{"id":111816,"depth":154,"text":111817},{"id":92242,"depth":154,"text":92243},{"id":111837,"depth":15,"text":111838},"The Beam Desktop Wallet is the easiest way to get started with Beam. Available on Linux, Mac, and Windows platforms.",{},"\u002Fdocs\u002Fdesktop\u002Freadme",{"title":111741,"description":111933},"docs\u002Fdesktop\u002FREADME","BuBXrtSvX4bMqbtBK49V7xAuYLxN0CIWLNGArTKvDeY",{"id":111940,"title":111941,"body":111942,"description":112107,"extension":17,"image":18,"meta":112108,"navTitle":18,"navigation":20,"path":112109,"seo":112110,"stem":112111,"__hash__":112112},"docs\u002Fdocs\u002Fdesktop\u002Faddress-book.md","Address Book",{"type":8,"value":111943,"toc":112098},[111944,111946,111949,111952,111961,111981,111985,111988,111994,111997,112010,112015,112019,112022,112025,112030,112036,112045,112050,112054,112062,112090,112093],[11,111945,111941],{"id":111807},[34,111947,111948],{},"Beam addresses are only stored locally in the wallet database and not on the blockchain. Be sure to backup or export the wallet metadata before removing the wallet.",[41,111950,111941],{"id":111951},"address-book-1",[34,111953,111954,111955,111957,111960],{},"Your ",[37,111956,111941],{},[241,111958],{"src":111959,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-03 at 5.07.56 PM.png","is where you will find:",[852,111962,111963,111969,111975],{},[59,111964,111965,111968],{},[37,111966,111967],{},"My Active Addresses",": active wallet addresses are secure and ready to send or receive Beam coins.",[59,111970,111971,111974],{},[37,111972,111973],{},"My Expired Addresses",": expired wallet addresses from previous transactions.",[59,111976,111977,111980],{},[37,111978,111979],{},"Contacts Lists",": a helpful list of previously sent wallet addresses.",[41,111982,111983],{"id":504},[37,111984,505],{},[34,111986,111987],{},"A collection of screenshots to better help visualize the previous content.",[48,111989,111991],{"id":111990},"my-active-addresses",[37,111992,111993],{},"'My Active' addresses",[34,111995,111996],{},"Remember: the wallet address data listed in transactions or address book does not reflect the address data stored on the blockchain.",[34,111998,111999,112000,112002,112003,112005,112006,181],{},"Your wallet address data is stored locally in your ",[611,112001,3449],{}," file. To find your ",[611,112004,3449],{}," file, see ",[175,112007,112009],{"href":112008},"files-and-locations\u002F","files and locations",[34,112011,112012],{},[241,112013],{"alt":14,"src":112014},".gitbook\u002Fassets\u002F2022-06-23_16-10-32.png",[48,112016,112018],{"id":112017},"my-expired-addresses","'My Expired' addresses",[34,112020,112021],{},"Addresses expire after every sent transaction and become inactive. Conversely, you can receive payments with the same address a total of 10 times. Desktop wallet addresses have a default expiration date of two months.",[34,112023,112024],{},"Always double-check that you are not using an expired address to receive or send your Beam coins.",[34,112026,112027],{},[241,112028],{"alt":14,"src":112029},".gitbook\u002Fassets\u002F2022-06-23_16-11-10.png",[48,112031,112033],{"id":112032},"contacts",[37,112034,112035],{},"Contacts",[34,112037,112038,112039,112042],{},"Delete previously sent to wallet addresses or send them more Beam by clicking the ",[37,112040,112041],{},"kebab menu",[241,112043],{"src":112044,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-14 at 5.19.47 PM.png",[34,112046,112047],{},[241,112048],{"alt":14,"src":112049},".gitbook\u002Fassets\u002F2022-06-23_16-11-30.png",[48,112051,112053],{"id":112052},"edit-address","'Edit address'",[34,112055,112056,112057,112059,112061],{},"Clicking the ",[37,112058,112041],{},[241,112060],{"src":112044,"alt":14,"dataSize":244},"allows you to access the 'edit address' function:",[852,112063,112064,112070,112076,112082],{},[59,112065,112066,112069],{},[37,112067,112068],{},"Receive",": receive more Beam coins from a previously used active address.",[59,112071,112072,112075],{},[37,112073,112074],{},"Show QR Code",": users sending Beam using the mobile wallet app can scan the QR code for fast, secure payments.",[59,112077,112078,112081],{},[37,112079,112080],{},"Edit Address",": write and save comments for your record-keeping.",[59,112083,112084,112087,112088,11260],{},[37,112085,112086],{},"Delete Address",": deleting an address on your desktop wallet also deletes it from your ",[611,112089,3449],{},[34,112091,112092],{},"The data of the addresses listed in your Beam wallet address book is stored locally and does not reflect data recorded on the blockchain.",[34,112094,112095],{},[241,112096],{"alt":14,"src":112097},".gitbook\u002Fassets\u002F2022-06-23_16-10-53.png",{"title":14,"searchDepth":15,"depth":15,"links":112099},[112100,112101],{"id":111951,"depth":15,"text":111941},{"id":504,"depth":15,"text":505,"children":112102},[112103,112104,112105,112106],{"id":111990,"depth":154,"text":111993},{"id":112017,"depth":154,"text":112018},{"id":112032,"depth":154,"text":112035},{"id":112052,"depth":154,"text":112053},"Find active addresses, review expired addresses or view addresses that you previously sent Beam to in the Beam wallet address book tab.",{},"\u002Fdocs\u002Fdesktop\u002Faddress-book",{"title":111941,"description":112107},"docs\u002Fdesktop\u002Faddress-book","inGccjUCJychs_zjh-pYNFiPST5pHl2Kedo5zqIFswA",{"id":112114,"title":878,"body":112115,"description":14,"extension":17,"image":18,"meta":112121,"navTitle":18,"navigation":20,"path":112122,"seo":112123,"stem":112124,"__hash__":112125},"docs\u002Fdocs\u002Fdesktop\u002Fconfidential-assets.md",{"type":8,"value":112116,"toc":112119},[112117],[11,112118,878],{"id":877},{"title":14,"searchDepth":15,"depth":15,"links":112120},[],{},"\u002Fdocs\u002Fdesktop\u002Fconfidential-assets",{"title":878,"description":14},"docs\u002Fdesktop\u002Fconfidential-assets","0ij0JuUFYgvVrDgPKXqg_M7xD2nvqp2bZlIMs5SmNT0",{"id":112127,"title":112128,"body":112129,"description":14,"extension":17,"image":18,"meta":112846,"navTitle":18,"navigation":20,"path":112847,"seo":112848,"stem":112849,"__hash__":112850},"docs\u002Fdocs\u002Fdesktop\u002Fdapp-store.md","DApp Store",{"type":8,"value":112130,"toc":112795},[112131,112133,112137,112140,112143,112178,112189,112194,112198,112205,112209,112215,112218,112259,112261,112264,112269,112272,112277,112281,112286,112290,112295,112299,112304,112308,112313,112317,112322,112325,112328,112331,112335,112382,112385,112389,112392,112397,112401,112406,112410,112424,112429,112434,112440,112445,112449,112452,112457,112461,112464,112468,112471,112474,112477,112481,112527,112530,112536,112541,112545,112550,112554,112559,112563,112568,112571,112576,112580,112583,112625,112628,112631,112636,112640,112645,112650,112654,112659,112662,112667,112671,112676,112680,112686,112691,112695,112698,112735,112738,112744,112749,112755,112758,112763,112769,112774,112779,112784,112790],[11,112132,112128],{"id":111833},[41,112134,112136],{"id":112135},"my-dapp-store","My DApp Store",[34,112138,112139],{},"Beam's DApp store is open-source and entirely built on the Beam blockchain. Users can become developers and contribute decentralized applications to the DApp Store.",[34,112141,112142],{},"This article contains all the information you need to start contributing decentralized applications to the Beam ecosystem, including:",[852,112144,112145,112151,112157,112164],{},[59,112146,112147,181],{},[175,112148,112150],{"href":112149},"daap-store#become-a-certified-publisher","Becoming a publisher on the DApp Store",[59,112152,112153,181],{},[175,112154,112156],{"href":112155},"daap-store#installing-your-first-dapp","Installing your first DApp",[59,112158,112159,181],{},[175,112160,112163],{"href":112161,"rel":112162},"http:\u002F\u002Flocalhost:5000\u002Fo\u002F-M_G-3uaAbZMXViHLVZl\u002Fs\u002FTaU03xduRbmYUVdmsds8\u002F",[179],"Test environment for DApps",[59,112165,112166,2231,112170,98,112174,181],{},[175,112167,112169],{"href":112168},"daap-store#registering-a-bans-domain","Register",[175,112171,112173],{"href":112172},"daap-store#selling-a-bans-domain","sell",[175,112175,112177],{"href":112176},"daap-store#sending-beam-to-a-bans-domain","or send Beam coins through the BANS DApp",[34,112179,112180,112181,112188],{},"To learn more about creating the perfect environment to test your DApps before implementing on the Beam blockchain, check out our ",[175,112182,112185],{"href":112183,"rel":112184},"https:\u002F\u002Fbeamx.gitbook.io\u002Fdappnet-user-guide\u002F",[179],[37,112186,112187],{},"DAppnet guide","!",[34,112190,112191],{},[241,112192],{"alt":14,"src":112193},".gitbook\u002Fassets\u002F2022-06-23_15-48-30.png",[41,112195,112197],{"id":112196},"become-a-certified-publisher","Become a certified publisher",[34,112199,112200,112201,112204],{},"The Beam ecosystem is open source and welcomes any user interested in becoming a ",[37,112202,112203],{},"certified Publisher"," to create an account.",[48,112206,112208],{"id":112207},"create-an-account","Create an account",[34,112210,112211,112212,181],{},"All information provided to the DApp store publisher account will remain ",[37,112213,112214],{},"100% anonymous",[34,112216,112217],{},"The only public information for any publisher account will be available via the publisher key given when your account is certified.",[56,112219,112220,112229,112235,112241,112247,112256],{},[59,112221,112222,112223,98,112226,181],{},"Launch the ",[37,112224,112225],{},"Desktop wallet",[241,112227],{"src":112228,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2022-07-31 at 8.29.33 PM.png",[59,112230,112231,112232,181],{},"Select the DApp store icon",[241,112233],{"src":112234,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2022-07-31 at 8.35.02 PM.png",[59,112236,112237,112238,181],{},"Click ",[37,112239,112240],{},"become a publisher",[59,112242,112243,112244],{},"Fill out the account details for the publisher account (your information will remain 100% anonymous). ",[37,112245,112246],{},"Create account.",[59,112248,112249,98,112252,112255],{},[37,112250,112251],{},"Confirm",[37,112253,112254],{},"payment of .011 Beams"," to create your publisher account. Please wait for your account approval (remember to record and save your publisher key).",[59,112257,112258],{},"You are ready to start publishing DApps!",[41,112260,505],{"id":504},[34,112262,112263],{},"Users that have created a publisher account on a different wallet can log in using their publisher key.",[34,112265,112266],{},[241,112267],{"alt":14,"src":112268},".gitbook\u002Fassets\u002F2022-06-23_15-47-25.png",[48,112270,112128],{"id":112271},"dapp-store-1",[34,112273,112274],{},[241,112275],{"alt":14,"src":112276},".gitbook\u002Fassets\u002F2022-06-23_15-47-03.png",[48,112278,112280],{"id":112279},"create-a-publisher-account","Create a publisher account",[34,112282,112283],{},[241,112284],{"alt":14,"src":112285},".gitbook\u002Fassets\u002F2022-06-23_15-47-42.png",[48,112287,112289],{"id":112288},"confirm-payment","Confirm payment",[34,112291,112292],{},[241,112293],{"alt":14,"src":112294},".gitbook\u002Fassets\u002F2022-06-23_16-01-08.png",[48,112296,112298],{"id":112297},"wait-for-account-approval","Wait for account approval",[34,112300,112301],{},[241,112302],{"alt":14,"src":112303},".gitbook\u002Fassets\u002F2022-06-23_16-01-24.png",[48,112305,112307],{"id":112306},"save-your-publisher-key","Save your publisher key",[34,112309,112310],{},[241,112311],{"alt":14,"src":112312},".gitbook\u002Fassets\u002F2022-06-23_16-07-37.png",[48,112314,112316],{"id":112315},"publishers-page","Publishers page",[34,112318,112319],{},[241,112320],{"alt":14,"src":112321},".gitbook\u002Fassets\u002F2022-06-23_16-08-04.png",[41,112323,112156],{"id":112324},"installing-your-first-dapp",[34,112326,112327],{},"Now that you have gone through all the steps of becoming a Publisher on the DApp Store, it is time to install and begin testing your DApps!",[34,112329,112330],{},"Please visit the previous sections (if you haven't already) before proceeding.",[48,112332,112334],{"id":112333},"uploading-dapps-through-your-publisher-page","Uploading DApps through your Publisher page",[56,112336,112337,112344,112350,112359,112376,112379],{},[59,112338,112339,112341,112342,181],{},[37,112340,452],{}," Beam desktop wallet ",[241,112343],{"src":112228,"alt":14,"dataSize":244},[59,112345,112346,112347,181],{},"Open the DApp Store",[241,112348],{"src":112349,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2022-08-06 at 2.56.29 PM.png",[59,112351,112352,112353,11339,112356,181],{},"Click on your ",[37,112354,112355],{},"publisher page",[37,112357,112358],{},"Install DApp from file",[59,112360,112361,98,112364,112369,112370,2344],{},[37,112362,112363],{},"Upload your",[37,112365,112366],{},[611,112367,112368],{},".dapp"," file from your desktop (note: ",[37,112371,112372,112373,112375],{},"all files must be in ",[611,112374,112368],{}," format",[59,112377,112378],{},"Wait for installation (may take a few minutes, depending on file size).",[59,112380,112381],{},"You are ready to begin testing your DApp!",[41,112383,505],{"id":112384},"how-it-looks-in-your-wallet-1",[48,112386,112388],{"id":112387},"my-dapp-store-1","My DApp store",[34,112390,112391],{},"Users already signed in with their Publisher account can upload a DApp file directly from the DApp Store page. You can sign in using your publisher key if you created a Publisher account on a different wallet.",[34,112393,112394],{},[241,112395],{"alt":14,"src":112396},".gitbook\u002Fassets\u002F2022-06-23_15-46-46.png",[48,112398,112400],{"id":112399},"publisher-page","Publisher page",[34,112402,112403],{},[241,112404],{"alt":14,"src":112405},".gitbook\u002Fassets\u002F2022-06-23_16-08-04%20(1).png",[48,112407,112409],{"id":112408},"uploading-your-first-dapp","Uploading your first DApp",[34,112411,112412,112413,112418,112419,112423],{},"Users can drag and drop or load their .",[37,112414,112415],{},[611,112416,112417],{},"dapp"," files. Files must be in .",[37,112420,112421],{},[611,112422,112417],{}," format.",[34,112425,112426],{},[241,112427],{"alt":14,"src":112428},".gitbook\u002Fassets\u002F2022-06-23_15-49-45.png",[34,112430,112431],{},[241,112432],{"alt":14,"src":112433},".gitbook\u002Fassets\u002F2022-06-23_16-08-16.png",[1898,112435,112437,112438,112375],{"id":112436},"make-sure-your-file-is-in-dapp-format","Make sure your file is in ",[611,112439,112368],{},[34,112441,112442],{},[241,112443],{"alt":14,"src":112444},".gitbook\u002Fassets\u002FScreen%20Shot%202022-07-31%20at%205.16.14%20PM.png",[48,112446,112448],{"id":112447},"wait-for-installation","Wait for installation",[34,112450,112451],{},"DApps may take or moment to upload (depending on the file size), but once installed, they are for launch and testing directly from the DApp Store page.",[34,112453,112454],{},[241,112455],{"alt":14,"src":112456},".gitbook\u002Fassets\u002FScreen%20Shot%202022-07-31%20at%204.43.17%20PM%20(1).png",[48,112458,112460],{"id":112459},"share-your-dapp","Share your DApp!",[34,112462,112463],{},"Share your DApp on your social media handle or get direct feedback from our active and passionate community members on Telegram, Discord, or Reddit.",[41,112465,112467],{"id":112466},"beams-anonymous-naming-service-bans","Beams Anonymous Naming Service (BANS)",[34,112469,112470],{},"The Beam Anonymous Naming Service or BANS is the latest offering from the Beam development team. BANS is a smart contract that simplifies sending and receiving assets while providing all the privacy and security of a regular Beam address.",[34,112472,112473],{},"BANS domains link to Beam wallets and bypass the traditional way of sending and receiving cryptocurrency (via a long alpha-numeric string of characters) by allowing users to send (and receive) assets to a simple domain name built on the Beam blockchain.",[34,112475,112476],{},"Users can register, sell, and gift BANS domains in just a few clicks. Users can purchase as many BANS domains as they wish. Note: BANS DApp is currently only available on desktop wallets, and the DAppnet",[48,112478,112480],{"id":112479},"registering-a-bans-domain","Registering a BANS domain",[56,112482,112483,112491,112499,112502,112508,112514,112524],{},[59,112484,112485,112486,98,112489,181],{},"Launch ",[37,112487,112488],{},"Beam Desktop wallet",[241,112490],{"src":112228,"alt":14,"dataSize":244},[59,112492,112493,98,112496,181],{},[37,112494,112495],{},"Open BANS DApp",[241,112497],{"alt":14,"src":112498},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-09%20at%207.49.05%20PM.png",[59,112500,112501],{},"Search for the BANS domain you wish to register.",[59,112503,112504,112507],{},[37,112505,112506],{},"Choose your desired registration period"," (minimum one year). Review the gas and registration fees.",[59,112509,112237,112510,112513],{},[37,112511,112512],{},"confirm"," to complete your BANS domain registration.",[59,112515,112516,112517,98,112520,112523],{},"Registered BANS domains will be listed under ",[37,112518,112519],{},"My domains",[241,112521],{"alt":14,"src":112522},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-09%20at%207.51.10%20PM.png"," in the BANS DApp.",[59,112525,112526],{},"Your BANS domain is ready to receive funds!",[41,112528,505],{"id":112529},"how-it-looks-in-your-wallet-2",[48,112531,112533],{"id":112532},"launch-bans-dapp",[37,112534,112535],{},"Launch BANS DApp",[34,112537,112538],{},[241,112539],{"alt":14,"src":112540},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.04.10%20PM.png",[48,112542,112544],{"id":112543},"search-for-available-domains","Search for available domains",[34,112546,112547],{},[241,112548],{"alt":14,"src":112549},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.04.29%20PM.png",[48,112551,112553],{"id":112552},"choose-registration-period","Choose registration period",[34,112555,112556],{},[241,112557],{"alt":14,"src":112558},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.04.47%20PM.png",[48,112560,112562],{"id":112561},"confirm-bans-registration","Confirm BANS registration",[34,112564,112565],{},[241,112566],{"alt":14,"src":112567},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.05.01%20PM.png",[48,112569,112519],{"id":112570},"my-domains",[34,112572,112573],{},[241,112574],{"alt":14,"src":112575},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.06.43%20PM.png",[41,112577,112579],{"id":112578},"selling-a-bans-domain","Selling a BANS domain",[34,112581,112582],{},"Users can sell their BANS domains by listing them on the BANS marketplace or selling directly to an individual party.",[56,112584,112585,112591,112597,112606,112613,112619],{},[59,112586,112485,112587,98,112589,181],{},[37,112588,112488],{},[241,112590],{"src":112228,"alt":14,"dataSize":244},[59,112592,112593,98,112595,181],{},[37,112594,112495],{},[241,112596],{"alt":14,"src":112498},[59,112598,112599,112600,98,112603],{},"Select the BANS domain you wish to sell. ",[37,112601,112602],{},"Click",[37,112604,112605],{},"sell.",[59,112607,112608,112609,112612],{},"Enter your selling price (in Beams). ",[37,112610,112611],{},"Click sell"," again.",[59,112614,112615,112616],{},"Review the transaction details. ",[37,112617,112618],{},"Confirm transaction.",[59,112620,112621,112624],{},[37,112622,112623],{},"Your BANS domain is available for purchase on the BANS Marketplace",". Users renew their registration, alter the sale price or remove it entirely from BANS marketplace.",[41,112626,505],{"id":112627},"how-it-looks-in-your-wallet-3",[48,112629,112535],{"id":112630},"launch-bans-dapp-1",[34,112632,112633],{},[241,112634],{"alt":14,"src":112635},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.19.45%20PM.png",[48,112637,112639],{"id":112638},"select-domain-to-sell","Select domain to sell",[34,112641,112642,112643,181],{},"You can find all purchased domains under ",[37,112644,112519],{},[34,112646,112647],{},[241,112648],{"alt":14,"src":112649},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.20.17%20PM.png",[48,112651,112653],{"id":112652},"determine-sale-price","Determine sale price",[34,112655,112656],{},[241,112657],{"alt":14,"src":112658},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.20.29%20PM.png",[48,112660,112661],{"id":1925},"Confirm transaction",[34,112663,112664],{},[241,112665],{"alt":14,"src":112666},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.20.51%20PM.png",[48,112668,112670],{"id":112669},"bans-marketplace","BANS marketplace",[34,112672,112673],{},[241,112674],{"alt":14,"src":112675},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.21.04%20PM.png",[48,112677,112679],{"id":112678},"remove-from-marketplace","Remove from marketplace",[34,112681,112682,112683],{},"Users can remove their domain from the Bans marketplace by going to ",[37,112684,112685],{},"My domains >>> \"remove from sale\".",[34,112687,112688],{},[241,112689],{"alt":14,"src":112690},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.21.14%20PM.png",[41,112692,112694],{"id":112693},"sending-beam-to-a-bans-domain","Sending Beam to a BANS domain",[34,112696,112697],{},"Users can send Beam directly to a BANS domain and avoid the headache of sending to a wallet address. Beams coins are the only asset currently available to send via BANS DApp.",[56,112699,112700,112706,112712,112715,112721,112727,112732],{},[59,112701,112485,112702,98,112704,181],{},[37,112703,112488],{},[241,112705],{"src":112228,"alt":14,"dataSize":244},[59,112707,112708,98,112710,181],{},[37,112709,112495],{},[241,112711],{"alt":14,"src":112498},[59,112713,112714],{},"Search for the BANS domain to create the transaction.",[59,112716,112717,112718,181],{},"Select the domain and click ",[37,112719,112720],{},"send funds to the BANS",[59,112722,112723,112724,181],{},"Enter the amount of Beam coin to transfer to the BANS user. ",[37,112725,112726],{},"Click send",[59,112728,112615,112729,181],{},[37,112730,112731],{},"Click confirm",[59,112733,112734],{},"Once the transaction is complete, the funds will appear directly in the users' BANS domain.",[41,112736,505],{"id":112737},"how-it-looks-in-your-wallet-4",[48,112739,112741],{"id":112740},"launch-bans",[37,112742,112743],{},"Launch BANS",[34,112745,112746],{},[241,112747],{"alt":14,"src":112748},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.19.45%20PM%20(2).png",[48,112750,112752],{"id":112751},"create-a-transaction",[37,112753,112754],{},"Create a transaction",[34,112756,112757],{},"Search for the BANS domain and initiate a transaction.",[34,112759,112760],{},[241,112761],{"alt":14,"src":112762},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.31.55%20PM.png",[48,112764,112766],{"id":112765},"send-beam",[37,112767,112768],{},"Send Beam",[34,112770,112771],{},[241,112772],{"alt":14,"src":112773},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.32.05%20PM.png",[48,112775,112777],{"id":112776},"confirm-transaction-1",[37,112778,112661],{},[34,112780,112781],{},[241,112782],{"alt":14,"src":112783},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.32.16%20PM.png",[48,112785,112787],{"id":112786},"bans-transactions-list",[37,112788,112789],{},"BANS transactions list",[34,112791,112792],{},[241,112793],{"alt":14,"src":112794},".gitbook\u002Fassets\u002FScreen%20Shot%202022-08-10%20at%204.32.25%20PM.png",{"title":14,"searchDepth":15,"depth":15,"links":112796},[112797,112798,112801,112809,112812,112819,112822,112829,112830,112838,112839],{"id":112135,"depth":15,"text":112136},{"id":112196,"depth":15,"text":112197,"children":112799},[112800],{"id":112207,"depth":154,"text":112208},{"id":504,"depth":15,"text":505,"children":112802},[112803,112804,112805,112806,112807,112808],{"id":112271,"depth":154,"text":112128},{"id":112279,"depth":154,"text":112280},{"id":112288,"depth":154,"text":112289},{"id":112297,"depth":154,"text":112298},{"id":112306,"depth":154,"text":112307},{"id":112315,"depth":154,"text":112316},{"id":112324,"depth":15,"text":112156,"children":112810},[112811],{"id":112333,"depth":154,"text":112334},{"id":112384,"depth":15,"text":505,"children":112813},[112814,112815,112816,112817,112818],{"id":112387,"depth":154,"text":112388},{"id":112399,"depth":154,"text":112400},{"id":112408,"depth":154,"text":112409},{"id":112447,"depth":154,"text":112448},{"id":112459,"depth":154,"text":112460},{"id":112466,"depth":15,"text":112467,"children":112820},[112821],{"id":112479,"depth":154,"text":112480},{"id":112529,"depth":15,"text":505,"children":112823},[112824,112825,112826,112827,112828],{"id":112532,"depth":154,"text":112535},{"id":112543,"depth":154,"text":112544},{"id":112552,"depth":154,"text":112553},{"id":112561,"depth":154,"text":112562},{"id":112570,"depth":154,"text":112519},{"id":112578,"depth":15,"text":112579},{"id":112627,"depth":15,"text":505,"children":112831},[112832,112833,112834,112835,112836,112837],{"id":112630,"depth":154,"text":112535},{"id":112638,"depth":154,"text":112639},{"id":112652,"depth":154,"text":112653},{"id":1925,"depth":154,"text":112661},{"id":112669,"depth":154,"text":112670},{"id":112678,"depth":154,"text":112679},{"id":112693,"depth":15,"text":112694},{"id":112737,"depth":15,"text":505,"children":112840},[112841,112842,112843,112844,112845],{"id":112740,"depth":154,"text":112743},{"id":112751,"depth":154,"text":112754},{"id":112765,"depth":154,"text":112768},{"id":112776,"depth":154,"text":112661},{"id":112786,"depth":154,"text":112789},{},"\u002Fdocs\u002Fdesktop\u002Fdapp-store",{"title":112128,"description":14},"docs\u002Fdesktop\u002Fdapp-store","9rSe8re1xxh1P5p1bcf1caecNWwhQnwdGQKFONBMAzg",{"id":112852,"title":112853,"body":112854,"description":14,"extension":17,"image":18,"meta":112893,"navTitle":18,"navigation":20,"path":112894,"seo":112895,"stem":112896,"__hash__":112897},"docs\u002Fdocs\u002Fdesktop\u002Fdownload-wallet.md","Download Wallet",{"type":8,"value":112855,"toc":112891},[112856,112858,112873,112878,112883],[11,112857,112853],{"id":111767},[56,112859,112860,112868],{},[59,112861,112862,112863,112867],{},"Go to the ",[175,112864,112866],{"href":112865},"\u002Fdownloads\u002Fmainnet","Downloads"," section on Beam's Website.",[59,112869,112870,112871,181],{},"Choose your preferred platform: Mac, Windows, Linux, click ",[37,112872,6031],{},[34,112874,112875],{},[241,112876],{"alt":14,"src":112877},".gitbook\u002Fassets\u002FScreen%20Shot%202022-07-31%20at%207.49.07%20PM.png",[34,112879,112880],{},[37,112881,112882],{},"Always verify that:",[56,112884,112885,112888],{},[59,112886,112887],{},"Your web browser displays an official Beam website by observing that the padlock icon is \"locked\" on the address bar and checking the certificate.",[59,112889,112890],{},"After the download completes, verify the file hash matches the one published on the website.",{"title":14,"searchDepth":15,"depth":15,"links":112892},[],{},"\u002Fdocs\u002Fdesktop\u002Fdownload-wallet",{"title":112853,"description":14},"docs\u002Fdesktop\u002Fdownload-wallet","YgjlGeJTIpay7juG8krTc1yVs60UWp5uANK5TPMZoDU",{"id":112899,"title":112900,"body":112901,"description":90764,"extension":17,"image":18,"meta":112954,"navTitle":18,"navigation":20,"path":112955,"seo":112956,"stem":112957,"__hash__":112958},"docs\u002Fdocs\u002Fdesktop\u002Ffiles-and-locations\u002FREADME.md","Files and Locations",{"type":8,"value":112902,"toc":112951},[112903,112906,112910,112932,112939,112945],[11,112904,112900],{"id":112905},"files-and-locations",[41,112907,112909],{"id":112908},"things-to-consider","Things to Consider:",[852,112911,112912,112915,112920,112923],{},[59,112913,112914],{},"Windows users can change the default location of their Desktop Wallet App during the installation process.",[59,112916,112917,112918],{},"Windows users can also change the default database location of their Desktop Wallet by setting the AppData parameter to ",[611,112919,90787],{},[59,112921,112922],{},"\"Memory dump\" files are generated each time your wallet crashes (Windows only).",[59,112924,112925,112926,112928,112929,112931],{},"Each wallet version keeps the ",[611,112927,3449],{}," file in a dedicated sub-folder designated by the wallet version number. During every wallet update, a new folder copies the old ",[611,112930,3449],{}," file from the previous version to the new.",[34,112933,112934,112935,112938],{},"{% content-ref url=\"mac.md\" %}\n",[175,112936,112937],{"href":90861},"mac.md","\n{% endcontent-ref %}",[34,112940,112941,112942,112938],{},"{% content-ref url=\"linux.md\" %}\n",[175,112943,112944],{"href":90910},"linux.md",[34,112946,112947,112948,112938],{},"{% content-ref url=\"windows.md\" %}\n",[175,112949,112950],{"href":90794},"windows.md",{"title":14,"searchDepth":15,"depth":15,"links":112952},[112953],{"id":112908,"depth":15,"text":112909},{},"\u002Fdocs\u002Fdesktop\u002Ffiles-and-locations\u002Freadme",{"title":112900,"description":90764},"docs\u002Fdesktop\u002Ffiles-and-locations\u002FREADME","TsJh8TIpR9HMIAw0iFkuwff86MwNR7SVkU2KmFwkpXs",{"id":112960,"title":90460,"body":112961,"description":113020,"extension":17,"image":18,"meta":113021,"navTitle":18,"navigation":20,"path":113022,"seo":113023,"stem":113024,"__hash__":113025},"docs\u002Fdocs\u002Fdesktop\u002Ffiles-and-locations\u002Flinux.md",{"type":8,"value":112962,"toc":113018},[112963,112965],[11,112964,90460],{"id":90910},[4998,112966,112967,112977],{},[5001,112968,112969],{},[5004,112970,112971,112974],{},[5007,112972,112973],{},"FILE",[5007,112975,112976],{},"LOCATION",[5014,112978,112979,112985,112991,112997,113011],{},[5004,112980,112981,112983],{},[5019,112982,90813],{},[5019,112984,90931],{},[5004,112986,112987,112989],{},[5019,112988,90823],{},[5019,112990,90940],{},[5004,112992,112993,112995],{},[5019,112994,90833],{},[5019,112996,90949],{},[5004,112998,112999,113001],{},[5019,113000,90843],{},[5019,113002,113003,113008],{},[34,113004,113005,113006],{},"\u002Fhome\u002F{your User name}\u002F.local\u002Fshare\u002FBeam Wallet\u002F\u003Cversion>\u002Fwallet.db",[4953,113007],{},[34,113009,113010],{},"\u002Fhome\u002F{your User name}\u002F.local\u002Fshare\u002FBeam Wallet\u002Fnode.db",[5004,113012,113013,113015],{},[5019,113014,363],{},[5019,113016,113017],{},"\u002Fhome\u002F{your User name}\u002F.local\u002Fshare\u002FBeam Wallet\u002Fsettings.ini",{"title":14,"searchDepth":15,"depth":15,"links":113019},[],"Files and locations for Linux",{},"\u002Fdocs\u002Fdesktop\u002Ffiles-and-locations\u002Flinux",{"title":90460,"description":113020},"docs\u002Fdesktop\u002Ffiles-and-locations\u002Flinux","f5-kukZFSUp7HL3EIVqltvS-9WKzaHG12GK2jQTnoTE",{"id":113027,"title":90463,"body":113028,"description":113085,"extension":17,"image":18,"meta":113086,"navTitle":18,"navigation":20,"path":113087,"seo":113088,"stem":113089,"__hash__":113090},"docs\u002Fdocs\u002Fdesktop\u002Ffiles-and-locations\u002Fmac.md",{"type":8,"value":113029,"toc":113083},[113030,113032],[11,113031,90463],{"id":90861},[4998,113033,113034,113042],{},[5001,113035,113036],{},[5004,113037,113038,113040],{},[5007,113039,112973],{},[5007,113041,112976],{},[5014,113043,113044,113050,113056,113062,113076],{},[5004,113045,113046,113048],{},[5019,113047,90813],{},[5019,113049,90882],{},[5004,113051,113052,113054],{},[5019,113053,90823],{},[5019,113055,90889],{},[5004,113057,113058,113060],{},[5019,113059,90833],{},[5019,113061,90898],{},[5004,113063,113064,113066],{},[5019,113065,90843],{},[5019,113067,113068,113073],{},[34,113069,113070,113071],{},"\u002FUsers\u002F{your User name}\u002FLibrary\u002FApplication Support\u002FBeam Wallet\u002F\u003Cversion>\u002Fwallet.db",[4953,113072],{},[34,113074,113075],{},"\u002FUsers\u002F{your User name}\u002FLibrary\u002FApplication Support\u002FBeam Wallet\u002Fnode.db",[5004,113077,113078,113080],{},[5019,113079,363],{},[5019,113081,113082],{},"\u002FUsers\u002F{your User name}\u002FLibrary\u002FApplication Support\u002FBeam Wallet\u002Fsettings.ini",{"title":14,"searchDepth":15,"depth":15,"links":113084},[],"Files and locations for Mac",{},"\u002Fdocs\u002Fdesktop\u002Ffiles-and-locations\u002Fmac",{"title":90463,"description":113085},"docs\u002Fdesktop\u002Ffiles-and-locations\u002Fmac","SvoUn_nLZ8hVyW-WLzB2Ij7xfDetmpGHreerDNyoxWs",{"id":113092,"title":90457,"body":113093,"description":113158,"extension":17,"image":18,"meta":113159,"navTitle":18,"navigation":20,"path":113160,"seo":113161,"stem":113162,"__hash__":113163},"docs\u002Fdocs\u002Fdesktop\u002Ffiles-and-locations\u002Fwindows.md",{"type":8,"value":113094,"toc":113156},[113095,113097],[11,113096,90457],{"id":90794},[4998,113098,113099,113107],{},[5001,113100,113101],{},[5004,113102,113103,113105],{},[5007,113104,112973],{},[5007,113106,112976],{},[5014,113108,113109,113116,113123,113130,113142,113149],{},[5004,113110,113111,113113],{},[5019,113112,90813],{},[5019,113114,113115],{},"\\Program Files\\Beam Wallet\\Beam Wallet.exe",[5004,113117,113118,113120],{},[5019,113119,90823],{},[5019,113121,113122],{},"\\Program Files\\Beam Wallet\\beam-wallet.cfg",[5004,113124,113125,113127],{},[5019,113126,90833],{},[5019,113128,113129],{},"\\Users{your User name}\\AppData\\Local\\Beam Wallet\\logs",[5004,113131,113132,113134],{},[5019,113133,90843],{},[5019,113135,113136,113139],{},[34,113137,113138],{},"\\Users{your User name}\\AppData\\Local\\Beam Wallet&#x3C;version>\\wallet.db",[34,113140,113141],{},"\\Users{your User name}\\AppData\\Local\\Beam Wallet\\node.db",[5004,113143,113144,113146],{},[5019,113145,363],{},[5019,113147,113148],{},"\\Users{your User name}\\AppData\\Local\\Beam Wallet\\settings.ini",[5004,113150,113151,113153],{},[5019,113152,90853],{},[5019,113154,113155],{},"\\Users{your User name}\\AppData\\Local\\Beam Wallet\\Beam Wallet.exe0.dmp",{"title":14,"searchDepth":15,"depth":15,"links":113157},[],"Files and locations for Windows",{},"\u002Fdocs\u002Fdesktop\u002Ffiles-and-locations\u002Fwindows",{"title":90457,"description":113158},"docs\u002Fdesktop\u002Ffiles-and-locations\u002Fwindows","mJagP2ZOeacVpprlIcUktR8UQ16yzR2OJhIFqDAr-9I",{"id":113165,"title":113166,"body":113167,"description":113174,"extension":17,"image":18,"meta":113494,"navTitle":18,"navigation":20,"path":113495,"seo":113496,"stem":113497,"__hash__":113498},"docs\u002Fdocs\u002Fdesktop\u002Finstallation-guide.md","Installing Beam Wallet",{"type":8,"value":113168,"toc":113483},[113169,113172,113175,113193,113196,113199,113203,113206,113211,113215,113218,113223,113227,113230,113235,113242,113290,113292,113298,113303,113306,113312,113319,113322,113370,113372,113376,113379,113386,113408,113413,113418,113425,113431],[11,113170,113166],{"id":113171},"installing-beam-wallet",[34,113173,113174],{},"This document describes the process of installing Beam wallet on:",[852,113176,113177,113183,113188],{},[59,113178,113179],{},[175,113180,113182],{"href":113181},"installation-guide#macos","MacOS",[59,113184,113185],{},[175,113186,90460],{"href":113187},"installation-guide#linux",[59,113189,113190],{},[175,113191,90457],{"href":113192},"installation-guide#windows",[34,113194,113195],{},"As the wallet will be continuously updated, the actual version numbers and SHA values might be different from the screenshot at the moment of reading.",[41,113197,113182],{"id":113198},"macos",[1898,113200,113202],{"id":113201},"_1-user-license-agreement","1. User License Agreement",[34,113204,113205],{},"Please read the Disclaimer and End User License Agreement carefully before selecting \"agree.\"",[34,113207,113208],{},[241,113209],{"alt":14,"src":113210},".gitbook\u002Fassets\u002Fimage_2021-05-28_13-04-34.png",[1898,113212,113214],{"id":113213},"_2-install-folder","2. Install Folder",[34,113216,113217],{},"Drag the Beam Wallet icon into the Applications folder to complete the installation.",[34,113219,113220],{},[241,113221],{"alt":14,"src":113222},".gitbook\u002Fassets\u002Fimage_2021-05-28_13-05-14.png",[1898,113224,113226],{"id":113225},"_3-launch-beam-wallet","3. Launch Beam Wallet",[34,113228,113229],{},"Launch Beam Wallet from the \"applications\" folder. Please note: Beam is in the approval stages for the desktop wallet app on the Apple store, until then click \"open\" when the notification below appears:",[34,113231,113232],{},[241,113233],{"alt":14,"src":113234},".gitbook\u002Fassets\u002Fimage_2021-05-28_13-08-05.png",[48,113236,113237,113238],{"id":112905},"Files and Locations  ",[175,113239],{"href":113240,"id":113241},"#mac-files-and-locations","mac-files-and-locations",[4998,113243,113244,113252],{},[5001,113245,113246],{},[5004,113247,113248,113250],{},[5007,113249,112973],{},[5007,113251,112976],{},[5014,113253,113254,113260,113266,113272,113284],{},[5004,113255,113256,113258],{},[5019,113257,90813],{},[5019,113259,90882],{},[5004,113261,113262,113264],{},[5019,113263,90823],{},[5019,113265,90889],{},[5004,113267,113268,113270],{},[5019,113269,90833],{},[5019,113271,90898],{},[5004,113273,113274,113276],{},[5019,113275,90843],{},[5019,113277,113278,113282],{},[34,113279,113070,113280],{},[4953,113281],{},[34,113283,113075],{},[5004,113285,113286,113288],{},[5019,113287,363],{},[5019,113289,113082],{},[41,113291,90460],{"id":90910},[34,113293,113294,113295],{},"After you have downloaded the file, unzip it. Go to the folder and run ",[611,113296,113297],{},"BeamWallet.AppImage",[34,113299,113300],{},[37,113301,113302],{},"Ubuntu 16 is no longer officially supported!",[34,113304,113305],{},"To run on Ubuntu 16, enter the following commands in Linux terminal:",[616,113307,113310],{"className":113308,"code":113309,"language":621},[619],"sudo add-apt-repository ppa:ubuntu-toolchain-r\u002Ftest\nsudo apt-get update && sudo apt-get upgrade libstdc++6\n",[611,113311,113309],{"__ignoreMap":14},[48,113313,113237,113315],{"id":113314},"files-and-locations-1",[175,113316],{"href":113317,"id":113318},"#linux-files-and-locations","linux-files-and-locations",[34,113320,113321],{},"Files and locations of Beam metadata in your Linux operating system.",[4998,113323,113324,113332],{},[5001,113325,113326],{},[5004,113327,113328,113330],{},[5007,113329,112973],{},[5007,113331,112976],{},[5014,113333,113334,113340,113346,113352,113364],{},[5004,113335,113336,113338],{},[5019,113337,90813],{},[5019,113339,90931],{},[5004,113341,113342,113344],{},[5019,113343,90823],{},[5019,113345,90940],{},[5004,113347,113348,113350],{},[5019,113349,90833],{},[5019,113351,90949],{},[5004,113353,113354,113356],{},[5019,113355,90843],{},[5019,113357,113358,113362],{},[34,113359,113005,113360],{},[4953,113361],{},[34,113363,113010],{},[5004,113365,113366,113368],{},[5019,113367,363],{},[5019,113369,113017],{},[41,113371,90457],{"id":90794},[1898,113373,113375],{"id":113374},"_1-installing-beam-desktop-app","1. Installing Beam Desktop App",[34,113377,113378],{},"Once the application image is downloaded, double-click the icon to start the installation.",[34,113380,113381,113382,113385],{},"When you click on the ",[611,113383,113384],{},"Beam-Wallet-6.0.11638.4326.exe"," file installer will run. You’ll see a default path to the wallet, which you can change using the action menu. Also, it suggests you read Licenses Terms and Conditions. A default path to the wallet will display on the opened screen.",[56,113387,113388,113395,113401],{},[59,113389,113390,113391,113394],{},"Please read the terms and conditions carefully and click ",[37,113392,113393],{},"agree"," and install.",[59,113396,113397,113400],{},[37,113398,113399],{},"Wait"," until the installation is complete.",[59,113402,113403,113404,113407],{},"Press ",[37,113405,113406],{},"run wallet"," to start working with the wallet.",[34,113409,113410],{},[241,113411],{"alt":14,"src":113412},".gitbook\u002Fassets\u002FScreenshot_87.png",[34,113414,113415],{},[241,113416],{"alt":14,"src":113417},".gitbook\u002Fassets\u002Fbandicam-2021-05-24-15-41-04-892-_online-video-cutter.com_.gif",[48,113419,113420,113421],{"id":112905},"Files and Locations ",[175,113422],{"href":113423,"id":113424},"#windows-files-and-locations","windows-files-and-locations",[34,113426,113427,113428,113430],{},"Files and locations for Windows. Your ",[611,113429,3449],{}," file contains wallet metadata, including transaction history and address list.",[4998,113432,113433,113441],{},[5001,113434,113435],{},[5004,113436,113437,113439],{},[5007,113438,112973],{},[5007,113440,112976],{},[5014,113442,113443,113449,113455,113461,113471,113477],{},[5004,113444,113445,113447],{},[5019,113446,90813],{},[5019,113448,113115],{},[5004,113450,113451,113453],{},[5019,113452,90823],{},[5019,113454,113122],{},[5004,113456,113457,113459],{},[5019,113458,90833],{},[5019,113460,113129],{},[5004,113462,113463,113465],{},[5019,113464,90843],{},[5019,113466,113467,113469],{},[34,113468,113138],{},[34,113470,113141],{},[5004,113472,113473,113475],{},[5019,113474,363],{},[5019,113476,113148],{},[5004,113478,113479,113481],{},[5019,113480,90853],{},[5019,113482,113155],{},{"title":14,"searchDepth":15,"depth":15,"links":113484},[113485,113488,113491],{"id":113198,"depth":15,"text":113182,"children":113486},[113487],{"id":112905,"depth":154,"text":113237},{"id":90910,"depth":15,"text":90460,"children":113489},[113490],{"id":113314,"depth":154,"text":113237},{"id":90794,"depth":15,"text":90457,"children":113492},[113493],{"id":112905,"depth":154,"text":113420},{},"\u002Fdocs\u002Fdesktop\u002Finstallation-guide",{"title":113166,"description":113174},"docs\u002Fdesktop\u002Finstallation-guide","zMTFp6oKn2xTM8UEbFqxfAlJPkUU5v8p56a-RUO1pBk",{"id":113500,"title":113501,"body":113502,"description":14,"extension":17,"image":18,"meta":113846,"navTitle":18,"navigation":20,"path":113847,"seo":113848,"stem":113849,"__hash__":113850},"docs\u002Fdocs\u002Fdesktop\u002Fmain-screen.md","Main Screen",{"type":8,"value":113503,"toc":113834},[113504,113506,113509,113512,113630,113635,113637,113639,113652,113657,113660,113668,113673,113676,113679,113684,113688,113691,113696,113700,113703,113733,113736,113741,113746,113748,113751,113756,113759,113764,113768,113778,113783,113787,113799,113804,113808,113817,113822,113826,113829],[11,113505,113501],{"id":111791},[41,113507,113501],{"id":113508},"main-screen-1",[34,113510,113511],{},"The main screen of your Beam wallet is where you will be able to find:",[852,113513,113514,113550,113562,113567],{},[59,113515,113516,113518,113519],{},[37,113517,97986],{},": your Beam wallet displays the available balance ready for spending but is not limited to:\n",[852,113520,113521,113527,113532,113538,113544],{},[59,113522,113523,113526],{},[37,113524,113525],{},"Regular",": the amount of Beam coins received from regular transactions.",[59,113528,113529,113531],{},[37,113530,95875],{},": the amount of Beam coins received from Offline or Max Privacy transactions.",[59,113533,113534,113537],{},[37,113535,113536],{},"Locked",": the amount of Beam coins currently \"locked\" in a shielded pool.",[59,113539,113540,113543],{},[37,113541,113542],{},"Maximum Anonymity",": the amount of Beam coins locked in a max privacy transaction.",[59,113545,113546,113549],{},[37,113547,113548],{},"Change",": the amount of Beam coins received as of \"change leftover\" from a transaction.",[59,113551,113552,113555,113556,113561],{},[37,113553,113554],{},"Assets:"," displays confidential assets on the Beam network, (see ",[175,113557,113560],{"href":113558,"rel":113559},"https:\u002F\u002Fexplorer.beam.mw\u002Fassets\u002Fdetails\u002F2",[179],"Rays"," as an example in the screenshot below)",[59,113563,113564,113566],{},[37,113565,14332],{},": a complete list of your transaction history and their statuses (in progress, sent, received).",[59,113568,113569,113572,113573],{},[37,113570,113571],{},"Sidebar Menu",": the icons on the left side of the main screen take you to different screens within your Beam wallet, such as:\n",[852,113574,113575,113583,113590,113598,113607,113615,113623],{},[59,113576,113577,98,113579,113582],{},[37,113578,113501],{},[241,113580],{"src":113581,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-03 at 5.08.12 PM.png","view your available balance and transactions list.",[59,113584,113585,98,113587,113589],{},[37,113586,296],{},[241,113588],{"src":243,"alt":14,"dataSize":244},"skip transferring your coins to a DEX and swap your Beam for a different cryptocurrency directly from your Beam wallet!",[59,113591,113592,113595,113597],{},[37,113593,113594],{},"Addresses Book",[241,113596],{"src":111959,"alt":14,"dataSize":244},"a complete list of your active and expired wallet addresses.",[59,113599,113600,113603,113606],{},[37,113601,113602],{},"Notifications",[241,113604],{"src":113605,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-03 at 5.07.34 PM.png","review transactions statuses or wallet updates sent to your Beam (wallet.",[59,113608,113609,113611,113614],{},[37,113610,90640],{},[241,113612],{"src":113613,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-03 at 5.07.08 PM.png","view the unspent transaction outputs (UXTO) available in your Beam wallet.",[59,113616,113617,98,113619,113622],{},[37,113618,112128],{},[241,113620],{"src":113621,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-03 at 5.06.51 PM.png","Beam's decentralized application store.",[59,113624,113625,98,113627,113629],{},[37,113626,363],{},[241,113628],{"src":366,"alt":14,"dataSize":244},"wallet settings and preferences.",[34,113631,113632],{},[241,113633],{"alt":14,"src":113634},".gitbook\u002Fassets\u002F2022-06-23_16-40-59.png",[41,113636,505],{"id":504},[48,113638,97986],{"id":713},[34,113640,6547,113641,113644,113647,113648,113651],{},[37,113642,113643],{},"dropdown menu",[241,113645],{"src":113646,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-14 at 4.48.44 PM.png"," in your wallet balance will reveal a detailed breakdown of your Beam coins. The dropdown menu only shows if you are holding different ",[175,113649,101139],{"href":113650},"utxo"," in your wallet.",[34,113653,113654],{},[241,113655],{"alt":14,"src":113656},".gitbook\u002Fassets\u002F2022-06-23_15-39-432%20copy.png",[48,113658,113659],{"id":34377},"Assets",[34,113661,113662,113663,113665,113667],{},"If you have confidential assets, they will also be displayed; the ",[37,113664,113643],{},[241,113666],{"src":113646,"alt":14,"dataSize":244},"will provide a detailed description of each asset.",[34,113669,113670],{},[241,113671],{"alt":14,"src":113672},".gitbook\u002Fassets\u002F2022-06-23_15-41-50%20copy.png",[1898,113674,86967],{"id":113675},"beamx",[34,113677,113678],{},"All your rewards given for staking Beam coins will be disbursed as BeamX tokens and deposited directly to your Beam wallet.",[34,113680,113681],{},[241,113682],{"alt":14,"src":113683},".gitbook\u002Fassets\u002F2022-06-23_15-43-471.png",[1898,113685,113687],{"id":113686},"maximum-anonymity-set","Maximum anonymity set",[34,113689,113690],{},"Max privacy transactions can take up to 72 hours to complete (the longer your assets remain in the maximum anonymity set, the higher the security for the transaction).",[34,113692,113693],{},[241,113694],{"alt":14,"src":113695},".gitbook\u002Fassets\u002F2022-06-23_15-43-47.png",[48,113697,113699],{"id":113698},"transaction-history-and-statuses","Transaction History and Statuses",[34,113701,113702],{},"Each sent or received transaction will be recorded in your Beam wallet transactions list. In addition, each transaction will include the following information:",[852,113704,113705,113710,113715,113721,113727],{},[59,113706,113707,113709],{},[37,113708,101542],{},": the name of the cryptocurrency (or asset) received.",[59,113711,113712,113714],{},[37,113713,88983],{},": the number of coins sent or received.",[59,113716,113717,113720],{},[37,113718,113719],{},"USD or BTC Value",": the transaction value the day of trade.",[59,113722,113723,113726],{},[37,113724,113725],{},"Created On",": the date on which the cryptocurrency was sent or received.",[59,113728,113729,113732],{},[37,113730,113731],{},"Status",": the current state of the transaction (in progress, sent, received).",[34,113734,113735],{},"Clicking on the Beam or Assets displayed in your wallet balance will filter your transactions list to only display transactions for that particular currency.",[34,113737,113738],{},[241,113739],{"alt":14,"src":113740},".gitbook\u002Fassets\u002F2022-06-23_15-36-35.png",[34,113742,113743],{},[241,113744],{"alt":14,"src":113745},".gitbook\u002Fassets\u002FScreenshot_251.png",[48,113747,14332],{"id":90645},[34,113749,113750],{},"A complete list of your transaction history and their statuses (in progress, sent, received).",[34,113752,113753],{},[241,113754],{"alt":14,"src":113755},".gitbook\u002Fassets\u002F2022-06-23_15-45-13%20copy.png",[1898,113757,113758],{"id":2160},"Transaction info",[34,113760,113761],{},[241,113762],{"alt":14,"src":113763},".gitbook\u002Fassets\u002F2022-06-23_15-45-30%20copy.png",[48,113765,113767],{"id":113766},"search-bar","Search Bar",[34,113769,113770,113771,113774,113777],{},"Accessing the ",[37,113772,113773],{},"search bar",[241,113775],{"src":113776,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-14 at 4.52.15 PM.png","allows you to search for transactions via comment, transaction ID, or kernel ID**.**",[34,113779,113780],{},[241,113781],{"alt":14,"src":113782},".gitbook\u002Fassets\u002F2022-06-23_15-36-57%20copy.png",[48,113784,113786],{"id":113785},"export-csv","Export CSV",[34,113788,113789,98,113792,113795,113796,11260],{},[37,113790,113791],{},"Export",[241,113793],{"src":113794,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-14 at 4.54.20 PM.png","your transactions list into a downloadable ",[611,113797,113798],{},".CSV",[34,113800,113801],{},[241,113802],{"alt":14,"src":113803},".gitbook\u002Fassets\u002F2022-06-23_15-36-57%20copy%202.png",[48,113805,113807],{"id":113806},"payment-proof-verification","Payment Proof Verification",[34,113809,113810,113813,113816],{},[37,113811,113812],{},"Payment proof verification",[241,113814],{"src":113815,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-14 at 4.54.31 PM.png","allows you to verify a payment sent by the Sender.",[34,113818,113819],{},[241,113820],{"alt":14,"src":113821},".gitbook\u002Fassets\u002F2022-06-23_15-36-57%20copy%203.png",[1898,113823,113825],{"id":113824},"payment-verification","Payment verification",[34,113827,113828],{},"Enter your payment proof verification number!",[34,113830,113831],{},[241,113832],{"alt":14,"src":113833},".gitbook\u002Fassets\u002F2022-06-23_15-37-18.png",{"title":14,"searchDepth":15,"depth":15,"links":113835},[113836,113837],{"id":113508,"depth":15,"text":113501},{"id":504,"depth":15,"text":505,"children":113838},[113839,113840,113841,113842,113843,113844,113845],{"id":713,"depth":154,"text":97986},{"id":34377,"depth":154,"text":113659},{"id":113698,"depth":154,"text":113699},{"id":90645,"depth":154,"text":14332},{"id":113766,"depth":154,"text":113767},{"id":113785,"depth":154,"text":113786},{"id":113806,"depth":154,"text":113807},{},"\u002Fdocs\u002Fdesktop\u002Fmain-screen",{"title":113501,"description":14},"docs\u002Fdesktop\u002Fmain-screen","4waN28sjL8l9q_q49BWOxWlkS3NP1b6mrReKjsb2Psw",{"id":113852,"title":113853,"body":113854,"description":113860,"extension":17,"image":18,"meta":113998,"navTitle":18,"navigation":20,"path":113999,"seo":114000,"stem":114001,"__hash__":114002},"docs\u002Fdocs\u002Fdesktop\u002Fproof-of-transaction.md","Proof of Transaction",{"type":8,"value":113855,"toc":113986},[113856,113858,113861,113864,113868,113872,113904,113908,113935,113938,113942,113945,113950,113952,113955,113960,113963,113969,113974,113978,113981],[11,113857,113853],{"id":4141},[34,113859,113860],{},"Since Beam 2.0., the receiver wallet has automatically signed proof of received transaction before sending it to the sender. Proof of transaction is only available for transactions whose status reads as \"sent\" and is not available for transactions with different transaction statuses, e.g. \"expired,\" \"failed,\" \"completed,\" \"received.\"",[34,113862,113863],{},"To view, send or verify proof of transaction, please follow the steps below:",[41,113865,113867],{"id":113866},"verifying-proof-of-transaction","Verifying Proof of Transaction",[48,113869,113871],{"id":113870},"as-the-sender","As the Sender",[56,113873,113874,113880,113883,113891],{},[59,113875,113876,112341,113878,181],{},[37,113877,452],{},[241,113879],{"src":112228,"alt":14,"dataSize":244},[59,113881,113882],{},"From the main screen, select the sent transaction you wish to verify.",[59,113884,112237,113885,113887,113890],{},[37,113886,90533],{},[241,113888],{"src":113889,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-18 at 10.23.50 PM.png","to view the payment proof.",[59,113892,112237,113893,113896,113899,113900,113903],{},[37,113894,113895],{},"Copy code",[241,113897],{"src":113898,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-18 at 10.23.58 PM.png","and ",[37,113901,113902],{},"Send"," to the receiver via a secure messaging app.",[48,113905,113907],{"id":113906},"as-the-receiver","As the Receiver",[56,113909,113910,113916,113926,113932],{},[59,113911,113912,112341,113914,181],{},[37,113913,452],{},[241,113915],{"src":112228,"alt":14,"dataSize":244},[59,113917,113918,113919,113922,113925],{},"From the main screen, ",[37,113920,113921],{},"click verify transaction",[241,113923],{"src":113924,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-08-15 at 9.57.59 PM.png","to verify the code sent by the Sender.",[59,113927,113928,113931],{},[37,113929,113930],{},"Paste the code provided to you by the Sender"," on the payment proof verification pop-up window.",[59,113933,113934],{},"Copy details and store them somewhere safe for your records.",[41,113936,113937],{"id":504},"How it Looks in Your Wallet",[48,113939,113941],{"id":113940},"transactions-list","Transactions List",[34,113943,113944],{},"Select the transaction you wish to view from the transactions list in your wallet:",[34,113946,113947],{},[241,113948],{"alt":14,"src":113949},".gitbook\u002Fassets\u002FScreenshot_238.png",[48,113951,2001],{"id":2000},[34,113953,113954],{},"Selecting the transaction will expand to show you the general transaction info; providing you with a detailed overview of the transaction.",[34,113956,113957],{},[241,113958],{"alt":14,"src":113959},".gitbook\u002Fassets\u002F2022-06-23_15-45-30%20copy%20(1).png",[48,113961,113962],{"id":4196},"Send Payment Proof",[34,113964,113965,113966,113968],{},"Always remember that your transaction history and other wallet metadata is will never record on the blockchain. Be sure to make multiple copies of your ",[611,113967,3449],{}," file if your hard drive or computer ever crashes.",[34,113970,113971],{},[241,113972],{"alt":14,"src":113973},".gitbook\u002Fassets\u002F2022-06-23_15-45-49%20copy.png",[48,113975,113977],{"id":113976},"verify-payment-proof","Verify Payment Proof",[34,113979,113980],{},"If the payment proof is valid, the transaction details will automatically display in the payment proof verification form.",[34,113982,113983],{},[241,113984],{"alt":14,"src":113985},".gitbook\u002Fassets\u002FScreenshot_241.png",{"title":14,"searchDepth":15,"depth":15,"links":113987},[113988,113992],{"id":113866,"depth":15,"text":113867,"children":113989},[113990,113991],{"id":113870,"depth":154,"text":113871},{"id":113906,"depth":154,"text":113907},{"id":504,"depth":15,"text":113937,"children":113993},[113994,113995,113996,113997],{"id":113940,"depth":154,"text":113941},{"id":2000,"depth":154,"text":2001},{"id":4196,"depth":154,"text":113962},{"id":113976,"depth":154,"text":113977},{},"\u002Fdocs\u002Fdesktop\u002Fproof-of-transaction",{"title":113853,"description":113860},"docs\u002Fdesktop\u002Fproof-of-transaction","jS-xJYJv8AWzFOWN8nrS00m1BCih48uDYYzlJf8eFIs",{"id":114004,"title":3714,"body":114005,"description":114238,"extension":17,"image":18,"meta":114239,"navTitle":18,"navigation":20,"path":114240,"seo":114241,"stem":114242,"__hash__":114243},"docs\u002Fdocs\u002Fdesktop\u002Freceiving-beam.md",{"type":8,"value":114006,"toc":114222},[114007,114009,114017,114020,114026,114062,114065,114070,114075,114078,114080,114086,114089,114103,114107,114110,114115,114119,114122,114125,114130,114134,114139,114143,114146,114152,114157,114161,114168,114173,114176,114179,114182,114185,114208,114213,114217],[11,114008,3714],{"id":3713},[34,114010,114011,114012,114016],{},"You can receive Beam coins directly from any other Beam wallet or withdraw your recently purchase coins by sharing your Beam wallet address. If you use Beam for donations see the ",[175,114013,114015],{"href":114014},"receiving-beam#public-offline-address","public offline address"," section below.",[34,114018,114019],{},"If you are new to Beam please review the Beam Essentials section. and learn about different transaction types.",[41,114021,114023],{"id":114022},"to-receive-beam",[37,114024,114025],{},"To receive Beam",[56,114027,114028,114033,114039,114048,114051,114054],{},[59,114029,114030,114032],{},[37,114031,452],{}," Beam desktop wallet",[59,114034,114035,114036],{},"From the main screen, select ",[37,114037,114038],{},"receive",[59,114040,114041,114042,11339,114045,8764],{},"Choose address type (",[175,114043,11803],{"href":114044},"receiving-beam#regular-offline-transactions",[175,114046,11813],{"href":114047},"receiving-beam#max-privacy-transaction",[59,114049,114050],{},"Enter a requested amount (optional)",[59,114052,114053],{},"Leave a comment (optional). Comments are only visible inside your wallet for personal record-keeping",[59,114055,112237,114056,1475,114059,114061],{},[37,114057,114058],{},"copy and close",[37,114060,15797],{}," your unique wallet address over a secure messaging app. The Sender can scan your QR code if using Beam mobile",[34,114063,114064],{},"Always use a secure channel when sending your wallet addresses.",[34,114066,114067],{},[241,114068],{"alt":14,"src":114069},".gitbook\u002Fassets\u002F2022-06-23_15-36-20.png",[34,114071,114072],{},[241,114073],{"alt":14,"src":114074},".gitbook\u002Fassets\u002F2022-06-23_15-32-55%20copy.png",[34,114076,114077],{},"For regular payments, your wallet must be online within 12 hours of the amount being sent for your payment to be received.",[41,114079,505],{"id":504},[48,114081,114083,114084],{"id":114082},"regularoffline-transactions","Regular\u002FOffline ",[37,114085,90645],{},[34,114087,114088],{},"The sender decides whether the transaction is Regular or Offline. Things to consider about receiving Offline payments:",[852,114090,114091,114094,114097,114100],{},[59,114092,114093],{},"Offline addresses can receive ten Offline transactions before expiring.",[59,114095,114096],{},"Offline addresses are sent automatically via SBBS address.",[59,114098,114099],{},"If both parties aren't online within 12 hours, the SBBS address will expire and send a new SBBS address.",[59,114101,114102],{},"After 30 failed attempts, the Offline transaction will void, and the sender will need to create a new transaction.",[48,114104,114106],{"id":114105},"receiving-from-an-exchange-or-pool","Receiving from an exchange or pool",[34,114108,114109],{},"Exchanges and mining pools require SBBS addresses. Click \"Address details,\" to find your SBBS address or copy it directly via the \"copy SBBS address and close\"-button",[34,114111,114112],{},[241,114113],{"alt":14,"src":114114},".gitbook\u002Fassets\u002FCopySBBS.png",[48,114116,114118],{"id":114117},"max-privacy-transaction","Max Privacy transaction",[34,114120,114121],{},"Max Privacy transaction is a special type of Offline transaction that guarantees a maximum anonymity set.\nMax Privacy transactions can take up to 72 hours to complete",[34,114123,114124],{},"Create a Max Privacy address by toggling the max privacy slider in receive before copy\u002Fpasting your wallet address. Once the transaction has started you can view the unlock time, e.g., time remaining before your coins are available for spending.",[34,114126,114127],{},[241,114128],{"alt":14,"src":114129},".gitbook\u002Fassets\u002F2022-06-23_15-33-33%20copy.png",[1898,114131,114133],{"id":114132},"maximum-anonymity-set-address-details","Maximum anonymity set address details",[34,114135,114136],{},[241,114137],{"alt":14,"src":114138},".gitbook\u002Fassets\u002F2022-06-23_15-33-51.png",[41,114140,114142],{"id":114141},"completed-transactions","Completed transactions",[48,114144,114145],{"id":113940},"Transactions list",[34,114147,114148,114149,114151],{},"To view completed transactions, go to the ",[37,114150,90645],{}," list in your Beam wallet. Regular transactions appear in your wallet balance almost instantly; for offline, public online, and max privacy transactions, be sure your wallet integrated node connection is enabled, so they appear in your wallet.",[34,114153,114154],{},[241,114155],{"alt":14,"src":114156},".gitbook\u002Fassets\u002F2022-06-23_15-36-35%20copy.png",[48,114158,114160],{"id":114159},"address-details","Address details",[34,114162,114163,114164,114167],{},"To view address details, select ",[37,114165,114166],{},"more details"," (below the QR code) to view additional information, including the complete wallet address, SBBS address, address type, and more.",[34,114169,114170],{},[241,114171],{"alt":14,"src":114172},".gitbook\u002Fassets\u002FScreenshot_221.png",[41,114174,114175],{"id":95478},"Public Offline address",[34,114177,114178],{},"We recommend public offline addresses for users expecting to receive donations while their wallet is constantly offline. Public offline addresses do not expire but they are less secure since they allow the receiver to know when (though not how much or to whom) these funds are spent.",[34,114180,114181],{},"Public offline addresses should only be used for donations or cases when the wallet is always offline.",[34,114183,114184],{},"To find your public offline address, follow the steps below:",[56,114186,114187,114202],{},[59,114188,460,114189,114191,114193,98,114195,98,114198,114201],{},[37,114190,363],{},[241,114192],{"src":366,"alt":14,"dataSize":244},[37,114194,301],{},[37,114196,114197],{},"utilities >",[37,114199,114200],{},"\"show public offline address",".\"",[59,114203,114204,114207],{},[37,114205,114206],{},"Copy and close",", or allow the sender to scan your QR code.",[34,114209,114210],{},[241,114211],{"alt":14,"src":114212},".gitbook\u002Fassets\u002F2022-06-23_16-12-50%20copy.png",[48,114214,114216],{"id":114215},"view-public-offline-address","View public offline address",[34,114218,114219],{},[241,114220],{"alt":14,"src":114221},".gitbook\u002Fassets\u002F2022-06-23_16-13-51.png",{"title":14,"searchDepth":15,"depth":15,"links":114223},[114224,114225,114231,114235],{"id":114022,"depth":15,"text":114025},{"id":504,"depth":15,"text":505,"children":114226},[114227,114229,114230],{"id":114082,"depth":154,"text":114228},"Regular\u002FOffline transactions",{"id":114105,"depth":154,"text":114106},{"id":114117,"depth":154,"text":114118},{"id":114141,"depth":15,"text":114142,"children":114232},[114233,114234],{"id":113940,"depth":154,"text":114145},{"id":114159,"depth":154,"text":114160},{"id":95478,"depth":15,"text":114175,"children":114236},[114237],{"id":114215,"depth":154,"text":114216},"An in-depth guide for how to Receive Beam coins and different receiving addresses available in your Beam wallet.",{},"\u002Fdocs\u002Fdesktop\u002Freceiving-beam",{"title":3714,"description":114238},"docs\u002Fdesktop\u002Freceiving-beam","hPDKxBzo7FZlutcxUEvqhR-72yndwcQ0spy-JX3PNUU",{"id":114245,"title":114246,"body":114247,"description":114431,"extension":17,"image":18,"meta":114432,"navTitle":18,"navigation":20,"path":114433,"seo":114434,"stem":114435,"__hash__":114436},"docs\u002Fdocs\u002Fdesktop\u002Frestore-wallet.md","Restore Wallet",{"type":8,"value":114248,"toc":114417},[114249,114252,114255,114258,114262,114299,114302,114307,114309,114313,114318,114322,114325,114330,114334,114339,114344,114347,114350,114355,114359,114362,114367,114371,114374,114379,114383,114386,114389,114394,114398,114401,114405,114409,114412],[11,114250,114246],{"id":114251},"restore-wallet",[34,114253,114254],{},"Life is complicated: hard drives crash, devices get stolen, but if you have taken the proper steps of securing your seed phrase when first creating your Beam wallet, then you can breathe a little easier knowing your funds are safe and secure.",[34,114256,114257],{},"For the restoration process, you must connect to the network via the integrated node. Wallet restoration does not work with random remote node or specific remote node.",[41,114259,114261],{"id":114260},"restoring-your-wallet","Restoring your wallet",[56,114263,114264,114270,114276,114282,114290,114293],{},[59,114265,114266,112341,114268,181],{},[37,114267,452],{},[241,114269],{"src":112228,"alt":14,"dataSize":244},[59,114271,114272,114275],{},[37,114273,114274],{},"Click \"restore wallet or create a new one\" > \"Proceed\""," to restore your wallet.",[59,114277,114278,114281],{},[37,114279,114280],{},"Click \"Restore wallet\" > \"I agree\""," to proceed.",[59,114283,114284,105331,114287,114275],{},[37,114285,114286],{},"Enter your seed phrase",[37,114288,114289],{},"Click \"I understand\"",[59,114291,114292],{},"Create a wallet password.",[59,114294,114295,114298],{},[37,114296,114297],{},"Select node connectivity mode > Click \"Restore wallet\""," to complete the wallet restoration process.",[34,114300,114301],{},"Once you have completed the steps to restore your wallet, your wallet will refresh and automatically re-synch with the blockchain (please be patient as the process can be lengthy).",[34,114303,114304,114305,11260],{},"Your transaction history and addresses will not appear in your new wallet without also migrating your ",[611,114306,3449],{},[41,114308,505],{"id":504},[48,114310,114312],{"id":114311},"beam-wallet-login-page","Beam wallet login page",[34,114314,114315],{},[241,114316],{"alt":14,"src":114317},".gitbook\u002Fassets\u002F2022-06-23_16-22-05%20copy.png",[48,114319,114321],{"id":114320},"restore-wallet-dialogue-box","'Restore wallet...' dialogue box",[34,114323,114324],{},"A dialogue will appear, notifying you that your wallet transaction history and saved addresses will be lost if you proceed.",[34,114326,114327],{},[241,114328],{"alt":14,"src":114329},".gitbook\u002Fassets\u002F2022-06-23_16-22-35.png",[48,114331,114333],{"id":114332},"restore-wallet-screen","Restore wallet screen",[34,114335,112237,114336],{},[37,114337,114338],{},"restore wallet.",[34,114340,114341],{},[241,114342],{"alt":14,"src":114343},".gitbook\u002Fassets\u002F2022-06-23_16-22-48.png",[48,114345,114321],{"id":114346},"restore-wallet-dialogue-box-1",[34,114348,114349],{},"A dialogue box will notify you that your wallet transaction history and saved addresses will be lost if you proceed.",[34,114351,114352],{},[241,114353],{"alt":14,"src":114354},".gitbook\u002Fassets\u002F2022-06-23_16-23-05.png",[48,114356,114358],{"id":114357},"enter-seed-phrase","Enter seed phrase",[34,114360,114361],{},"Enter your seed phrase (double-check your spelling).",[34,114363,114364],{},[241,114365],{"alt":14,"src":114366},".gitbook\u002Fassets\u002F2022-06-23_16-23-46.png",[48,114368,114370],{"id":114369},"confirmation-screen","Confirmation screen",[34,114372,114373],{},"A dialogue box will alert you to the dangers of running two wallets from one seed phrase simultaneously. Your transaction histories may not synch up.",[34,114375,114376],{},[241,114377],{"alt":14,"src":114378},".gitbook\u002Fassets\u002F2022-06-23_16-24-49.png",[48,114380,114382],{"id":114381},"create-a-wallet-password","Create a wallet password",[34,114384,114385],{},"Create a password (ten characters minimum, at least one letter, number, or special symbol) that will give you access to your Beam wallet. Your wallet password is an extra lock for your device, while your seed phrase is a private key that identifies your wallet and can access your funds.",[34,114387,114388],{},"Choose a strong password.",[34,114390,114391],{},[241,114392],{"alt":14,"src":114393},".gitbook\u002Fassets\u002F2022-06-23_16-25-46%20(1).png",[48,114395,114397],{"id":114396},"setup-node-connectivity","Setup node connectivity",[34,114399,114400],{},"We strongly recommend you chose to run the integrated node. You can connect to a specific random node or a remote node.",[34,114402,114403],{},[241,114404],{"alt":14,"src":1851},[48,114406,114408],{"id":114407},"restoring-process","Restoring process",[34,114410,114411],{},"Please be patient: restoring funds is a lengthy, and thorough process.",[34,114413,114414],{},[241,114415],{"alt":14,"src":114416},".gitbook\u002Fassets\u002F2022-06-23_16-26-03.png",{"title":14,"searchDepth":15,"depth":15,"links":114418},[114419,114420],{"id":114260,"depth":15,"text":114261},{"id":504,"depth":15,"text":505,"children":114421},[114422,114423,114424,114425,114426,114427,114428,114429,114430],{"id":114311,"depth":154,"text":114312},{"id":114320,"depth":154,"text":114321},{"id":114332,"depth":154,"text":114333},{"id":114346,"depth":154,"text":114321},{"id":114357,"depth":154,"text":114358},{"id":114369,"depth":154,"text":114370},{"id":114381,"depth":154,"text":114382},{"id":114396,"depth":154,"text":114397},{"id":114407,"depth":154,"text":114408},"This guide explains how to restore Beam wallet from an existing seed phrase.",{},"\u002Fdocs\u002Fdesktop\u002Frestore-wallet",{"title":114246,"description":114431},"docs\u002Fdesktop\u002Frestore-wallet","YPkJwADK6PwSinGI0_FOPucs35atfW51xq10K-5SLLk",{"id":114438,"title":3766,"body":114439,"description":114636,"extension":17,"image":18,"meta":114637,"navTitle":18,"navigation":20,"path":114638,"seo":114639,"stem":114640,"__hash__":114641},"docs\u002Fdocs\u002Fdesktop\u002Fsending-beam.md",{"type":8,"value":114440,"toc":114621},[114441,114443,114446,114455,114460,114463,114482,114486,114527,114530,114533,114537,114540,114546,114550,114553,114558,114562,114565,114570,114572,114574,114577,114579,114582,114585,114589,114591,114594,114599,114602,114605,114610,114613,114616],[11,114442,3766],{"id":3765},[34,114444,114445],{},"As you have probably noticed by now, Beam transactions work slightly differently than other cryptocurrencies. However, the sleek and minimalist Beam wallet UI (available on desktop and mobile), makes sending and receiving different payments a breeze.",[34,114447,114448,114449,114454],{},"Each payment, e.g.,",[175,114450,114453],{"href":114451,"rel":114452},"https:\u002F\u002Fapp.gitbook.com\u002F@beamx\u002Fs\u002Fdesktop-wallet-user-guide\u002F~\u002Fdrafts\u002F-McGeEd59nhcQ7IuTcTQ\u002Freceiving-beam#transaction-types",[179]," transaction type"," incurs different fees and utilizes different addresses. Be sure to understand the differences before sending out your Beam coins!",[34,114456,114457],{},[37,114458,114459],{},"Transaction fees",[34,114461,114462],{},"Offline transactions (Regular Public Offline) have significantly higher transaction fees than Regular transactions due to the more significant blockchain requirements Offline payments have compared to regular.",[852,114464,114465,114471,114476],{},[59,114466,114467,114470],{},[37,114468,114469],{},"Regular transaction",": Fee = 0.001 Beam (Before HF-3 100 GROTH).",[59,114472,114473,114475],{},[37,114474,11758],{},": Fee = 0.011 BEAM (0.01-for shielded coin + 0.001-fee transaction).",[59,114477,114478,114481],{},[37,114479,114480],{},"Max Privacy Transaction",": Minimum transaction fee for Max Privacy transactions is ~ 0.01 Beam (Shielded coin fee = 0.01 + 0.001 (fee transaction) = 0.011 BEAM).",[41,114483,114485],{"id":114484},"to-send-beam","To send Beam",[56,114487,114488,114494,114500,114503,114506,114514,114517,114522],{},[59,114489,114490,112341,114492,181],{},[37,114491,452],{},[241,114493],{"src":112228,"alt":14,"dataSize":244},[59,114495,114496,114497],{},"From the main screen, click ",[37,114498,114499],{},"Send.",[59,114501,114502],{},"Enter your wallet address into the \"send to\" field.",[59,114504,114505],{},"Choose transaction type. We recommend Regular transactions.",[59,114507,114508,114509,181],{},"Enter the amount of crypto you'd like to send. If your wallet holds different assets, you can send different ",[175,114510,114513],{"href":114511,"rel":114512},"https:\u002F\u002Fbeamx.gitbook.io\u002Fbeam-documentation\u002F-Ma0T8Af9X0IpsYYqqnY\u002F#confidential-assets",[179],"asset types",[59,114515,114516],{},"Leave a comment (optional). Comments are only visible inside your wallet for personal record-keeping.",[59,114518,112237,114519,114521],{},[37,114520,113902],{}," to preview the transaction details.",[59,114523,112237,114524,114526],{},[37,114525,113902],{}," again to initiate the transaction.",[34,114528,114529],{},"You will see the outgoing transaction in the transaction list. Please wait for the status to change to \"completed\" to indicate the transaction was successful.",[34,114531,114532],{},"Viruses and malware hidden on your computer can alter your address even though it's copied to your clipboard. Always double-check your addresses before sending Beam.",[41,114534,114535],{"id":504},[37,114536,505],{},[34,114538,114539],{},"Offline payments differ from Public Offline payments, be sure to understand the differences between each transaction type before sending your Beam coins!",[34,114541,114542],{},[241,114543],{"alt":114544,"src":114545},"Regular Transaction",".gitbook\u002Fassets\u002F2022-06-23_15-35-46%20copy.png",[48,114547,114548],{"id":114117},[37,114549,114118],{},[34,114551,114552],{},"If the address you have received is for a Max Privacy transaction, you will not be able to choose between Online and Offline modes.",[34,114554,114555],{},[241,114556],{"alt":14,"src":114557},"https:\u002F\u002Fgblobscdn.gitbook.com\u002Fassets%2F-MaSm2QyXLRMULOUF0cE%2F-Mb3HlU4NRZG2T0CQICs%2F-Mb3PdNAxumltxgquq7S%2FScreenshot_228.png?alt=media&token=3f14a3f8-1820-436c-9d3c-2049179fd447",[48,114559,114561],{"id":114560},"public-offline-transaction","Public Offline transaction",[34,114563,114564],{},"Public Offline addresses differ from Regular wallet addresses (Offline and Regular). Your Beam wallet will notify if you are sending to a Public Offline address, so always double-check addresses before sending.",[34,114566,114567],{},[241,114568],{"alt":14,"src":114569},".gitbook\u002Fassets\u002FScreenshot_230.png",[48,114571],{"id":14},[41,114573,114142],{"id":114141},[34,114575,114576],{},"To view completed transactions, go to the transactions list in your Beam wallet. Regular transactions appear in your wallet balance almost instantly; for Offline, Public Offline, and Max Privacy transactions, be sure your wallet integrated node connection is enabled, so they appear in your wallet.",[41,114578,505],{"id":112384},[48,114580,114469],{"id":114581},"regular-transaction",[34,114583,114584],{},"If the Receiver wallet is currently offline, the transaction will appear as \"waiting for receiver\" in your transactions list, switching to \"in progress\" when the Receiver goes online (Regular transactions only).",[34,114586,114587],{},[241,114588],{"alt":14,"src":114156},[48,114590,114228],{"id":114082},[34,114592,114593],{},"Completed offline transactions will be listed as \"sent offline.\" Click on the transaction to view the full transaction details.",[34,114595,114596],{},[241,114597],{"alt":14,"src":114598},".gitbook\u002Fassets\u002FScreenshot_227.png",[48,114600,114118],{"id":114601},"max-privacy-transaction-1",[34,114603,114604],{},"Completed Max Privacy transactions will be listed as \"completed max privacy.\" If it reads \"in progress max privacy,\" then your coins are still locked.",[34,114606,114607],{},[241,114608],{"alt":14,"src":114609},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-29%20at%205.37.23%20PM.png",[48,114611,114561],{"id":114612},"public-offline-transaction-1",[34,114614,114615],{},"Completed Public Offline transactions will be listed as \"sent public offline.\" Click on the transaction to view the full transaction details.",[34,114617,114618],{},[241,114619],{"alt":14,"src":114620},".gitbook\u002Fassets\u002FScreenshot_229.png",{"title":14,"searchDepth":15,"depth":15,"links":114622},[114623,114624,114629,114630],{"id":114484,"depth":15,"text":114485},{"id":504,"depth":15,"text":505,"children":114625},[114626,114627,114628],{"id":114117,"depth":154,"text":114118},{"id":114560,"depth":154,"text":114561},{"id":14,"depth":154,"text":14},{"id":114141,"depth":15,"text":114142},{"id":112384,"depth":15,"text":505,"children":114631},[114632,114633,114634,114635],{"id":114581,"depth":154,"text":114469},{"id":114082,"depth":154,"text":114228},{"id":114601,"depth":154,"text":114118},{"id":114612,"depth":154,"text":114561},"Send your Beam coins to any Beam wallet address on the Beam network! Learn the different transaction types users have to choose from before sending out your Beam coins!",{},"\u002Fdocs\u002Fdesktop\u002Fsending-beam",{"title":3766,"description":114636},"docs\u002Fdesktop\u002Fsending-beam","1yl5djHiucAtGGV3LDuRVyX13UdOja1_ARqbqVap8LA",{"id":114643,"title":363,"body":114644,"description":114914,"extension":17,"image":18,"meta":114915,"navTitle":18,"navigation":20,"path":114916,"seo":114917,"stem":114918,"__hash__":114919},"docs\u002Fdocs\u002Fdesktop\u002Fsettings.md",{"type":8,"value":114645,"toc":114901},[114646,114648,114656,114660,114663,114691,114697,114700,114720,114726,114734,114736,114739,114741,114744,114749,114752,114758,114763,114766,114769,114772,114775,114780,114782,114785,114788,114791,114796,114799,114802,114805,114808,114813,114829,114834,114837,114840,114844,114849,114853,114858,114865,114896],[11,114647,363],{"id":111813},[34,114649,114650,114651,114653,114655],{},"Your Beam desktop wallet offers users various preferences and advanced features that you can access from the ",[37,114652,363],{},[241,114654],{"src":366,"alt":14,"dataSize":244},"screen.",[48,114657,114658],{"id":1521},[37,114659,1522],{},[34,114661,114662],{},"Adjust your desktop wallet features to your desired preference:",[852,114664,114665,114670,114675,114681],{},[59,114666,114667,114669],{},[37,114668,17301],{},": select your preferred language, adjust lock screen times, choose to show USD or BTC currencies.",[59,114671,114672,114674],{},[37,114673,113602],{},": toggle wallet notifications and transaction status on or off.",[59,114676,114677,114680],{},[37,114678,114679],{},"Utilities",": find your public offline address (show public offline address), acquire small amounts of Beams for testing purposes (Beam Community Faucet), or rescan the blockchain if you think your wallet balance is not up to date.",[59,114682,114683,114685,114686,114690],{},[37,114684,1431],{},": add ",[175,114687,114689],{"href":114688},"settings#privacy","additional layers"," of security to your Beam wallet.",[48,114692,114694],{"id":114693},"troubleshooting",[37,114695,114696],{},"Troubleshooting",[34,114698,114699],{},"Locate sensitive Beam wallet data or contact Beam technical support.",[852,114701,114702,114708],{},[59,114703,114704,114707],{},[37,114705,114706],{},"Resources",": locate your wallet metadata with the wallet folder location feature.",[59,114709,114710,114713,114714,114719],{},[37,114711,114712],{},"Report a Problem",": follow all the ",[175,114715,114717],{"href":114716},"settings#troubleshooting-1",[37,114718,6248],{}," to contact Beam tech support.",[48,114721,114723],{"id":114722},"connectivity",[37,114724,114725],{},"Connectivity",[34,114727,114728,114729,114733],{},"Toggle between your preferred Beam integrated node (integrated node or remote node) or connect your wallet to multiple cryptocurrencies for ",[175,114730,296],{"href":114731,"rel":114732},"https:\u002F\u002Fbeamx.gitbook.io\u002Fatomic-swaps-desktop-guide\u002F-Ma18rFhhJ0iJaAAv2-M\u002F",[179]," (not available on Beam mobile app).",[41,114735,505],{"id":504},[34,114737,114738],{},"Get a better idea of how the settings tab looks in your Beam wallet, and learn more information regarding your settings with these helpful visual aids:",[48,114740,17301],{"id":17300},[34,114742,114743],{},"Select your preferred language, configure your wallet to display USD or BTC, or adjust your lock screen times.",[34,114745,114746],{},[241,114747],{"alt":14,"src":114748},".gitbook\u002Fassets\u002FScreenshot_236.png",[48,114750,113602],{"id":114751},"notifications",[34,114753,114754,114755,114757],{},"Turn your desktop wallet notifications on or off. We strongly recommend that transaction status is left ",[37,114756,17606],{}," for Offline payment notifications.",[34,114759,114760],{},[241,114761],{"alt":14,"src":114762},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-28%20at%207.52.11%20PM.png",[48,114764,114679],{"id":114765},"utilities",[34,114767,114768],{},"Your Beam wallet constantly monitors the blockchain and synchs new data with your wallet as soon as it records on the blockchain. If you suspect that your wallet balance, transaction, or UTXO status is not up to date, you can always rescan your wallet to sync with the blockchain.",[34,114770,114771],{},"You can earn small amounts of Beam from the Beam Community Faucet. If you expect to receive Offline Beam payments regularly, we recommend using your Beam wallet's Public Offline address. Public Offline addresses differ from Regular wallet addresses in that your Public Offline address never expires.",[34,114773,114774],{},"However, an address that never expires means less privacy and more transparency. It will be possible (however unlikely) to trace your Public Offline addresses transaction history! We strongly recommend that public offline addresses be used only for receiving donations or for charity organizations.",[34,114776,114777],{},[241,114778],{"alt":14,"src":114779},".gitbook\u002Fassets\u002FScreenshot_145.png",[48,114781,1431],{"id":1430},[34,114783,114784],{},"Adjust the Max privacy longest transaction time for max privacy transactions. Please note: shorter transaction times could result in your max privacy transactions being less secure, e.g., the longer your coins remain in the shielded pool, the safer the transaction.",[34,114786,114787],{},"Clicking on the \"Show owner key\" will prompt you to enter your wallet password before displaying your owner key.",[34,114789,114790],{},"Remember that your new password can't be the same as your old password if you change your wallet password.",[34,114792,114793],{},[241,114794],{"alt":14,"src":114795},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-28%20at%208.36.08%20PM.png",[48,114797,114696],{"id":114798},"troubleshooting-1",[34,114800,114801],{},"Locate your current Beam wallet version in the upper right corner of your wallet. Your Beam wallet version is a crucial detail to remember when seeking technical support.",[34,114803,114804],{},"Locating your Beam wallet folder is crucial if you wish to save your transaction histories and other metadata between Beam software updates.",[34,114806,114807],{},"As many Beam wallet features remain in the beta phase, it is natural to encounter the occasional bug or glitch. If your wallet keeps crashing as you attempt to perform a specific function or have a transaction status that reads as \"in progress\" for longer than 24 hours, it is time to contact Beam technical support.",[34,114809,460,114810,114812],{},[37,114811,114712],{}," and follow the steps listed, or view them below:",[56,114814,114815,114818,114826],{},[59,114816,114817],{},"Click \"Save wallet logs\" and choose a destination folder for log archive.",[59,114819,114820,114821,114825],{},"Send an email to ",[175,114822,114824],{"href":114823},"mailto:support@beam.mw","support@beam.mw"," or open a ticket in Github.",[59,114827,114828],{},"Don't forget to attach the logs archive.",[34,114830,114831],{},[241,114832],{"alt":14,"src":114833},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-16%20at%205.23.31%20PM.png",[48,114835,114725],{"id":114836},"connectivity-1",[34,114838,114839],{},"When running an integrated node, you should specify the port on which the node will be listening and the node peers list. You can switch to a remote node and specify a specific or local node.",[1898,114841,114843],{"id":114842},"beam-integrated-node","Beam integrated node",[34,114845,114846],{},[241,114847],{"alt":14,"src":114848},".gitbook\u002Fassets\u002F2022-06-23_16-13-05.png",[1898,114850,114852],{"id":114851},"ipfs-integrated-node","IPFS integrated node",[34,114854,114855],{},[241,114856],{"alt":14,"src":114857},".gitbook\u002Fassets\u002F2022-06-23_16-13-22.png",[34,114859,114860,114861,114864],{},"To perform ",[175,114862,296],{"href":114731,"rel":114863},[179],", you must connect your Beam wallet with the desired currency you wish to swap. You can connect to your desired crypto via node or Electrum wallet address. You can swap your Beam coins with any of the cryptocurrencies listed below:",[852,114866,114867,114871,114876,114881,114886,114891],{},[59,114868,114869],{},[37,114870,97],{},[59,114872,114873],{},[37,114874,114875],{},"Litecoin",[59,114877,114878],{},[37,114879,114880],{},"Qtum",[59,114882,114883],{},[37,114884,114885],{},"Dogecoin",[59,114887,114888],{},[37,114889,114890],{},"Dash",[59,114892,114893],{},[37,114894,114895],{},"Ethereum",[34,114897,114898],{},[241,114899],{"alt":14,"src":114900},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-28%20at%208.57.47%20PM.png",{"title":14,"searchDepth":15,"depth":15,"links":114902},[114903,114904,114905,114906],{"id":1521,"depth":154,"text":1522},{"id":114693,"depth":154,"text":114696},{"id":114722,"depth":154,"text":114725},{"id":504,"depth":15,"text":505,"children":114907},[114908,114909,114910,114911,114912,114913],{"id":17300,"depth":154,"text":17301},{"id":114751,"depth":154,"text":113602},{"id":114765,"depth":154,"text":114679},{"id":1430,"depth":154,"text":1431},{"id":114798,"depth":154,"text":114696},{"id":114836,"depth":154,"text":114725},"Adjust various settings and preferences in your Beam wallet.",{},"\u002Fdocs\u002Fdesktop\u002Fsettings",{"title":363,"description":114914},"docs\u002Fdesktop\u002Fsettings","3-FkCFRSmqtbRZggmqC4QmKCT8VG9237_Wbl8xGVhxg",{"id":114921,"title":111838,"body":114922,"description":14,"extension":17,"image":18,"meta":115001,"navTitle":18,"navigation":20,"path":115002,"seo":115003,"stem":115004,"__hash__":115005},"docs\u002Fdocs\u002Fdesktop\u002Fsupported-platforms.md",{"type":8,"value":114923,"toc":114999},[114924,114926],[11,114925,111838],{"id":111837},[4998,114927,114928,114936],{},[5001,114929,114930],{},[5004,114931,114932,114934],{},[5007,114933,111847],{},[5007,114935,111850],{},[5014,114937,114938,114959,114979],{},[5004,114939,114940,114946],{},[5019,114941,114942],{},[34,114943,114944],{},[241,114945],{"src":111861,"alt":14},[5019,114947,114948,114949,111868,114951,111872,114953,114955,114956,8764],{},"Ubuntu 18.04 LTS Bionic Beaveр  ",[611,114950,111867],{},[611,114952,111871],{},[611,114954,111875],{}," of free Disk (",[100,114957,114958],{},"the size of the blockсhain increases over time",[5004,114960,114961,114967],{},[5019,114962,114963],{},[34,114964,114965],{},[241,114966],{"src":111888,"alt":14},[5019,114968,114969,111893,114971,111868,114973,111872,114975,114955,114977,8764],{},[611,114970,111867],{},[611,114972,111867],{},[611,114974,111871],{},[611,114976,111875],{},[100,114978,111879],{},[5004,114980,114981,114987],{},[5019,114982,114983],{},[34,114984,114985],{},[241,114986],{"src":111910,"alt":14},[5019,114988,114989,111915,114991,111868,114993,111872,114995,114955,114997,8764],{},[611,114990,111867],{},[611,114992,111867],{},[611,114994,111871],{},[611,114996,111875],{},[100,114998,111879],{},{"title":14,"searchDepth":15,"depth":15,"links":115000},[],{},"\u002Fdocs\u002Fdesktop\u002Fsupported-platforms",{"title":111838,"description":14},"docs\u002Fdesktop\u002Fsupported-platforms","hPcr_tqNPogfG5icQa97EKREai9XY3eGeo7LXSbrTYo",{"id":115007,"title":90640,"body":115008,"description":115099,"extension":17,"image":18,"meta":115100,"navTitle":18,"navigation":20,"path":115101,"seo":115102,"stem":115103,"__hash__":115104},"docs\u002Fdocs\u002Fdesktop\u002Futxo.md",{"type":8,"value":115009,"toc":115095},[115010,115012,115015,115019,115027,115032,115036],[11,115011,90640],{"id":113650},[34,115013,115014],{},"The Beam wallet minimizes the output value you receive by automatically selecting the UTXO for each transaction. You will not be able to send or spend your UTXOs until the transaction is complete.",[41,115016,115018],{"id":115017},"utxo-in-your-beam-wallet","UTXO in Your Beam Wallet",[34,115020,115021,115022,115024,115026],{},"An unspent transaction output (UTXO) represents the amount of cryptocurrency left after each transaction which then records the input for new transactions. The remaining outputs in your Beam wallet can be found in the ",[37,115023,90640],{},[241,115025],{"src":113613,"alt":14,"dataSize":244},"tab.",[34,115028,115029],{},[241,115030],{"alt":14,"src":115031},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-28%20at%206.33.10%20PM.png",[41,115033,115035],{"id":115034},"type-of-utxo","Type of UTXO",[4998,115037,115038,115047],{},[5001,115039,115040],{},[5004,115041,115042,115045],{},[5007,115043,115044],{},"Type",[5007,115046,5012],{},[5014,115048,115049,115058,115067,115076,115086],{},[5004,115050,115051,115055],{},[5019,115052,115053],{},[37,115054,113525],{},[5019,115056,115057],{},"UTXO received as a result of a transaction. It is immediately available for spending",[5004,115059,115060,115064],{},[5019,115061,115062],{},[37,115063,113548],{},[5019,115065,115066],{},"UTXO received as a result of a change from a transaction. It is immediately available for spending",[5004,115068,115069,115073],{},[5019,115070,115071],{},[37,115072,89182],{},[5019,115074,115075],{},"Fees received as a result of mining a block that contains transactions",[5004,115077,115078,115083],{},[5019,115079,115080],{},[37,115081,115082],{},"Coinbase",[5019,115084,115085],{},"UTXO you have mined. It has the maturity of 3 hours (240 blocks) and will not be immediately seen in the Available tab",[5004,115087,115088,115092],{},[5019,115089,115090],{},[37,115091,95875],{},[5019,115093,115094],{},"UTXO received as a result of an Offline or Max privacy transaction. Offline is immediately available for spending, meanwhile received max privacy coins can be made immediately available (no limit) or locked by the “Max privacy longest transaction time” parameter in settings.",{"title":14,"searchDepth":15,"depth":15,"links":115096},[115097,115098],{"id":115017,"depth":15,"text":115018},{"id":115034,"depth":15,"text":115035},"Since cryptocurrency is, by definition, digital, UTXO's function the same way dollar bills do with fiat currency. If your physical wallet carries banknotes, then your digital wallet carries UTXOs.",{},"\u002Fdocs\u002Fdesktop\u002Futxo",{"title":90640,"description":115099},"docs\u002Fdesktop\u002Futxo","BblN1GR_iaeDeWPavspsNpwx5iA-omr4ItPOUkHJlmY",{"id":115106,"title":115107,"body":115108,"description":115297,"extension":17,"image":18,"meta":115298,"navTitle":18,"navigation":20,"path":115299,"seo":115300,"stem":115301,"__hash__":115302},"docs\u002Fdocs\u002Fdesktop\u002Fwallet-basics\u002Fcreate-wallet.md","Create Wallet",{"type":8,"value":115109,"toc":115285},[115110,115112,115119,115122,115126,115133,115169,115171,115174,115179,115183,115188,115192,115194,115197,115200,115205,115209,115212,115215,115220,115224,115227,115230,115235,115239,115242,115245,115265,115270,115274,115277,115280],[11,115111,115107],{"id":15350},[34,115113,115114,115115,115118],{},"Creating a Beam Desktop Wallet is the simplest way to hold or trade Beam coins. ",[175,115116,296],{"href":114731,"rel":115117},[179]," allow users to swap their Beam for a different digital currency.",[34,115120,115121],{},"This step-by-step guide will get your new wallet up and running.",[41,115123,115125],{"id":115124},"create-your-wallet","Create your wallet",[34,115127,115128,115129,115132],{},"Make sure you have the ",[175,115130,115131],{"href":5992},"latest ","version of Beam downloaded!",[56,115134,115135,115142,115147,115157,115160,115163,115166],{},[59,115136,115137,112341,115139,181],{},[37,115138,452],{},[241,115140],{"src":115141,"alt":14,"dataSize":244},"..\u002F.gitbook\u002Fassets\u002FScreen Shot 2022-07-31 at 8.29.33 PM.png",[59,115143,112237,115144,181],{},[37,115145,115146],{},"create new wallet",[59,115148,115149,115150,98,115153,115156],{},"Generate and ",[37,115151,115152],{},"record your seed phrase",[37,115154,115155],{},"(pen and paper recommended)",". Make multiple copies of your seed phrase and store it somewhere safe.",[59,115158,115159],{},"Verify your seed phrase.",[59,115161,115162],{},"Create a strong wallet password.",[59,115164,115165],{},"Select node connectivity.",[59,115167,115168],{},"Synchronize your wallet with the blockchain (this may take some time).",[41,115170,505],{"id":504},[48,115172,109643],{"id":115173},"create-new-wallet",[34,115175,115176],{},[241,115177],{"alt":14,"src":115178},"..\u002F.gitbook\u002Fassets\u002F2022-06-23_14-07-07.png",[48,115180,115182],{"id":115181},"generate-seed-phrase","Generate seed phrase",[34,115184,115185],{},[241,115186],{"alt":14,"src":115187},"..\u002F.gitbook\u002Fassets\u002F2022-06-23_14-07-34.png",[48,115189,115191],{"id":115190},"record-seed-phrase","Record seed phrase",[34,115193,3477],{},[34,115195,115196],{},"Keep your wallet seed phrase secret, and never share your seed phrase with anyone!",[34,115198,115199],{},"Please do not write your seed phrase down electronically, take a screenshot or store it anywhere vulnerable to cyber attacks.",[34,115201,115202],{},[241,115203],{"alt":14,"src":115204},"..\u002F.gitbook\u002Fassets\u002F2022-06-23_14-07-58.png",[48,115206,115208],{"id":115207},"verify-seed-phrase","Verify seed phrase",[34,115210,115211],{},"Double Check your spelling! \"Axel\" and \"Axle\" are two completely different words and could lead to you losing your funds!",[34,115213,115214],{},"Re-enter your seed phrase in random order to complete seed phrase verification.",[34,115216,115217],{},[241,115218],{"alt":14,"src":115219},"..\u002F.gitbook\u002Fassets\u002F2022-06-23_14-10-06.png",[48,115221,115223],{"id":115222},"set-wallet-password","Set wallet password",[34,115225,115226],{},"Select a password (ten characters minimum, at least one letter, number, or special symbol) that will give you access to your Beam wallet. Your wallet password is an extra lock for your device, while your seed phrase is a private key that identifies your wallet and can access your funds.",[34,115228,115229],{},"Choose a strong password. We strongly recommend a password minimum of 16 characters\u002Fsymbols for wallets expected to hold significant amounts of funds either now or in the future.",[34,115231,115232],{},[241,115233],{"alt":14,"src":115234},"..\u002F.gitbook\u002Fassets\u002F2022-06-23_14-11-02.png",[48,115236,115238],{"id":115237},"select-node-connectivity-mode","Select node connectivity mode",[34,115240,115241],{},"Choosing the node connectivity mode",[34,115243,115244],{},"Beam desktop wallet can connect to the Beam network through:",[852,115246,115247,115253,115259],{},[59,115248,115249,115252],{},[37,115250,115251],{},"Integrated node (recommended)",": Running an integrated node within your Beam wallet enables the trusted node to verify the blockchain automatically. So your wallet will connect to a node the second you open your wallet.",[59,115254,115255,115258],{},[37,115256,115257],{},"Random remote node:"," \"Random mode\" allows connects you automatically to a random bootstrap node, enabling your Beam wallet to act as a \"light client,\"; creating transactions but trusting the remote node for blockchain verification. Recommended for weak devices with limited CPU power or RAM.",[59,115260,115261,115264],{},[37,115262,115263],{},"Specific remote node",": If you are operating your own node (maybe even more than one) and want to connect to it, provide the node's IP and port address.",[34,115266,115267],{},[241,115268],{"alt":14,"src":115269},"..\u002F.gitbook\u002Fassets\u002F2022-06-23_14-11-18.png",[48,115271,115273],{"id":115272},"synchronizing-your-wallet","Synchronizing your wallet",[34,115275,115276],{},"Now that your wallet is set up, it's time to synchronize with the current blockchain state on the Beam network.",[34,115278,115279],{},"Synchronizing with blockchain will take some time. Please be patient.",[34,115281,115282],{},[241,115283],{"alt":14,"src":115284},"..\u002F.gitbook\u002Fassets\u002F2022-06-23_14-11-52.png",{"title":14,"searchDepth":15,"depth":15,"links":115286},[115287,115288],{"id":115124,"depth":15,"text":115125},{"id":504,"depth":15,"text":505,"children":115289},[115290,115291,115292,115293,115294,115295,115296],{"id":115173,"depth":154,"text":109643},{"id":115181,"depth":154,"text":115182},{"id":115190,"depth":154,"text":115191},{"id":115207,"depth":154,"text":115208},{"id":115222,"depth":154,"text":115223},{"id":115237,"depth":154,"text":115238},{"id":115272,"depth":154,"text":115273},"A quick tutorial for creating your Beam wallet.",{},"\u002Fdocs\u002Fdesktop\u002Fwallet-basics\u002Fcreate-wallet",{"title":115107,"description":115297},"docs\u002Fdesktop\u002Fwallet-basics\u002Fcreate-wallet","Yqmqgald6lAvMsXmRCGCdgq56q0IljPOf6uImmFglz0",{"id":115304,"title":115305,"body":115306,"description":115429,"extension":17,"image":18,"meta":115430,"navTitle":18,"navigation":20,"path":115431,"seo":115432,"stem":115433,"__hash__":115434},"docs\u002Fdocs\u002Fdesktop\u002Fwallet-basics\u002Fupgrade-wallet.md","Upgrade Wallet",{"type":8,"value":115307,"toc":115421},[115308,115311,115320,115324,115330,115342,115366,115368,115371,115377,115382,115386,115392,115397,115401,115404,115409,115413,115416],[11,115309,115305],{"id":115310},"upgrade-wallet",[34,115312,115313,115314,115316,115317,115319],{},"Because your transaction history and other wallet data are saved locally in your wallet database file e.g., ",[611,115315,3449],{}," of your hard drive, migrating your old ",[611,115318,3449],{}," file to the new Beam wallet version is crucial for maintaining consistent bookkeeping.",[41,115321,115323],{"id":115322},"to-migrate-your-wallet-database","To migrate your wallet database",[34,115325,115326,115327,115329],{},"If your wallet automatically discovers one or more previous versions installed, it will suggest migrating to the new version. Migration will copy the existing ",[611,115328,3449],{}," file, keeping the previous data intact.",[34,115331,1792,115332,115335,115336,115338,115339,115341],{},[37,115333,115334],{},"start auto migration"," for your Beam wallet to migrate your ",[611,115337,3449],{}," file automatically. To manually migrate your ",[611,115340,3449],{}," file, follow the steps below:",[56,115343,115344,115350,115355,115361,115363],{},[59,115345,115346,114032,115348,181],{},[37,115347,452],{},[241,115349],{"src":115141,"alt":14,"dataSize":244},[59,115351,112237,115352],{},[37,115353,115354],{},"migrate wallet database file manually.",[59,115356,115357,115358,115360],{},"Select the ",[611,115359,3449],{}," file you wish to migrate.",[59,115362,3577],{},[59,115364,115365],{},"Wait for your wallet to synchronize with the blockchain (this may take a few minutes).",[41,115367,505],{"id":504},[34,115369,115370],{},"Once a file is selected, click next to enter your wallet database password.",[34,115372,115373,115374,115376],{},"if you do not wish to migrate an existing wallet, you can create a new wallet or choose the location of the ",[611,115375,3449],{}," file manually by clicking \"Restore wallet or create a new one**.\"**",[34,115378,115379],{},[241,115380],{"alt":14,"src":115381},"..\u002F.gitbook\u002Fassets\u002FScreenshot_104.png",[48,115383,115385],{"id":115384},"select-database-file","Select database file",[34,115387,115388,115389,115391],{},"If you select start auto migration, you will be asked to choose which ",[611,115390,3449],{}," file you want to migrate.",[34,115393,115394],{},[241,115395],{"alt":14,"src":115396},"..\u002F.gitbook\u002Fassets\u002FScreenshot_213.png",[48,115398,115400],{"id":115399},"enter-password","Enter password",[34,115402,115403],{},"Enter database password (same as wallet password).",[34,115405,115406],{},[241,115407],{"alt":14,"src":115408},"..\u002F.gitbook\u002Fassets\u002FScreenshot_214.png",[48,115410,115412],{"id":115411},"wait-for-synch","Wait for synch",[34,115414,115415],{},"After your password is entered, the migration will finish, and your wallet will resume synchronization with the blockchain.",[34,115417,115418],{},[241,115419],{"alt":14,"src":115420},"..\u002F.gitbook\u002Fassets\u002FScreenshot_215.png",{"title":14,"searchDepth":15,"depth":15,"links":115422},[115423,115424],{"id":115322,"depth":15,"text":115323},{"id":504,"depth":15,"text":505,"children":115425},[115426,115427,115428],{"id":115384,"depth":154,"text":115385},{"id":115399,"depth":154,"text":115400},{"id":115411,"depth":154,"text":115412},"Upgrading from previous version",{},"\u002Fdocs\u002Fdesktop\u002Fwallet-basics\u002Fupgrade-wallet",{"title":115305,"description":115429},"docs\u002Fdesktop\u002Fwallet-basics\u002Fupgrade-wallet","4x8QamwQeXtbQ1WfaCCwu6GfpeqieI5Opj7RG9Wk5is",{"id":115436,"title":3406,"body":115437,"description":14,"extension":17,"image":18,"meta":115708,"navTitle":18,"navigation":20,"path":115709,"seo":115710,"stem":115711,"__hash__":115712},"docs\u002Fdocs\u002Fdev\u002FREADME.md",{"type":8,"value":115438,"toc":115697},[115439,115441,115445,115452,115455,115458,115463,115486,115491,115533,115536,115558,115570,115575,115597,115599,115602,115608,115614,115617,115620,115627,115629,115632,115639,115643,115652,115655,115664,115667,115674,115683,115685,115688],[11,115440,3406],{"id":3405},[41,115442,115444],{"id":115443},"welcome-to-beam-developer-portal","Welcome to Beam Developer Portal",[34,115446,115447],{},[6665,115448,115449],{"style":6676},[37,115450,115451],{},"NOTE: Beam Developer Portal is currently under construction and is subject to changes",[34,115453,115454],{},"Beam is a confidential, scalable cryptocurrency and DeFi platform designed entirely in C++. Since its inception in 2018, Beam has undergone significant development and growth, becoming a large and intricate project.",[34,115456,115457],{},"This developer portal will provide comprehensive information about the development of both Beam and Smart Contracts (also known as Shaders) on the Beam blockchain but also includes tutorials to assist developers in creating these features.",[34,115459,115460],{},[37,115461,115462],{},"Below are some key resources that you may find essential in your journey:",[852,115464,115465,115472,115479],{},[59,115466,115467],{},[175,115468,115471],{"href":115469,"rel":115470},"https:\u002F\u002Fgithub.com\u002FBeamMW",[179],"Beam Source Code",[59,115473,115474,115478],{},[175,115475,115477],{"href":88853,"rel":115476},[179],"Developer Support Channel on Telegram",": for any questions you might have along the way.",[59,115480,115481,115485],{},[175,115482,115484],{"href":115483},"guides\u002Fbuilding-beam","Building Beam",": covers the process of building all Beam components from the source files.",[34,115487,115488],{},[37,115489,115490],{},"Topics covered will include:",[852,115492,115493,115499,115504,115510,115516,115522,115528],{},[59,115494,115495],{},[175,115496,115498],{"href":115497},".\u002F#core-technology-overview","Core Technology Overview",[59,115500,115501],{},[175,115502,878],{"href":115503},".\u002F#confidential-assets",[59,115505,115506],{},[175,115507,115509],{"href":115508},".\u002F#smart-contracts","Smart Contracts (aka Shaders)",[59,115511,115512],{},[175,115513,115515],{"href":115514},".\u002F#wallet-api","Wallet API (and integration guides)",[59,115517,115518],{},[175,115519,115521],{"href":115520},".\u002F#web-wallet","Web Wallet ",[59,115523,115524],{},[175,115525,115527],{"href":115526},".\u002F#desktop-wallet","Desktop Wallet",[59,115529,115530],{},[175,115531,1357],{"href":115532},".\u002F#node",[48,115534,115498],{"id":115535},"core-technology-overview",[34,115537,115538,115539,6449,115543,115548,115549,115552,115553,115557],{},"In the beginning, Beam was originally designed as an implementation of the ",[175,115540,115542],{"href":115541},"beam-technology\u002Fmimblewimble","Mimblewimble ",[175,115544,115547],{"href":115545,"rel":115546},"https:\u002F\u002Fdocs.beam.mw\u002FMimblewimble.pdf",[179],"original whitepaper",") protocol. Since then, Beam version 5.0 included support for a ",[175,115550,1225],{"href":1246,"rel":115551},[179]," shielded pool which became the ",[175,115554,115556],{"href":115555},"beam-technology\u002Flelantusmw","LelantusMW"," protocol that is the core of Beam's Privacy Layer one.",[34,115559,115560,115561,115566,115567,181],{},"The Beam network uses the ",[175,115562,115565],{"href":115563,"rel":115564},"https:\u002F\u002Fblockonomi.com\u002Fdandelion-protocol\u002F",[179],"Dandelion protocol",", merging non-interactive transactions along the stem phase. Additional technical information regarding this implementation can be found ",[175,115568,1248],{"href":95782,"rel":115569},[179],[34,115571,115572],{},[37,115573,115574],{},"Beam also features:",[852,115576,115577,115583,115590],{},[59,115578,115579,115582],{},[175,115580,296],{"href":115581},"beam-technology\u002Fatomic-swaps",": Allows the exchange of Beam for Bitcoin, Ethereum, and several other currencies without needing a trusted third party.",[59,115584,115585,115586,181],{},"Laser Beam: A direct payment channel implementation similar to those used in the ",[175,115587,96507],{"href":115588,"rel":115589},"https:\u002F\u002Flightning.network\u002F",[179],[59,115591,115592,115593,115596],{},"Secure Bulletin Board System (",[175,115594,101645],{"href":115595},"beam-technology\u002Fsbbs","): An encrypted, decentralized messaging system that broadcasts information and creates transactions between Beam wallets.",[48,115598,878],{"id":877},[34,115600,115601],{},"Beam offers the creation of new asset types on the blockchain called Confidential Assets (CA). Each new CA is designated as a first-class citizen in Beam nodes due to the Layer 1 implementation and does not require using Smart Contracts like Ethereum ERC-20 tokens.",[34,115603,115604,115607],{},[37,115605,115606],{},"This results in Beam tokens offering the same privacy and security as Beam coins"," while seamlessly integrating with Beam Wallets and dApps. Confidential Assets can be emitted manually or deployed via Smart Contracts within Beam Virtual Machine.",[34,115609,115610,115611,109061],{},"For more information, refer to this guide's dedicated ",[175,115612,878],{"href":115613},"confidential-assets\u002F",[48,115615,6018],{"id":115616},"beam-shaders",[34,115618,115619],{},"Beam version 6.0 included a tweaked BVM to offer Smart Contract support, aka Beam Shaders. Beam Shaders offers a flexible Smart Contract development due to the BVM’s native operating of WebAssembly compatible langues, i.e., C++, Rust, Go, etc.",[34,115621,115622,115623,181],{},"Beam Shaders, BVM, and all related tools are the pillars of ",[175,115624,115626],{"href":115625},"using-beam-shaders","Beam’s Confidential DeFi Platform",[48,115628,15980],{"id":6883},[34,115630,115631],{},"Beam’s robust Wallet API facilitates integration with exchanges, payment services, and third-party applications. While other networks offer APIs directly from the node, Beam API is coded directly into the Beam wallet. Using a wallet and secret keys ensures sensitive information remains secure without compromising integration with the Beam network.",[34,115633,115634,115635,181],{},"For more information regarding Wallet API, refer to this ",[175,115636,115638],{"href":84290,"rel":115637},[179],"Beam wiki",[48,115640,115642],{"id":115641},"web-wallet","Web Wallet",[34,115644,115645,115646,115651],{},"Beam offers a simplified version of the Beam Desktop Wallet in a web wallet metamask that runs in the background of ",[175,115647,115650],{"href":115648,"rel":115649},"https:\u002F\u002Fchrome.google.com\u002Fwebstore\u002Fsearch\u002Fbeam",[179],"Google Chrome",". The Beam Web Wallet allows users to store, send and receive Beam coins but does not currently offer Atomic Swaps or dApp support.",[34,115653,115654],{},"All wallet balances will be reflected accurately across all devices connected with your seed phrase (Desktop wallet, Mobile wallet, Web Wallet, etc.). However, web wallet metadata is not available for export.",[34,115656,115657,115658,115663],{},"Refer to this ",[175,115659,115662],{"href":115660,"rel":115661},"http:\u002F\u002Flocalhost:5000\u002Fo\u002F-M_G-3uaAbZMXViHLVZl\u002Fs\u002FPPXXGuwTXZfforCZnW03\u002F",[179],"web wallet guide"," for more information on getting started.",[48,115665,115527],{"id":115666},"desktop-wallet",[34,115668,115669,115670,115673],{},"The Beam Desktop Wallet offers advanced privacy and security features in a user-friendly interface that allows users to hold, send or receive Beam, BeamX coins, and other confidential assets. The desktop wallet (",[175,115671,115672],{"href":5992},"currently version 7.3",") is available on Mac, Windows, and Linux platforms and provides access to Beam’s advanced features like dApps, and Atomic swaps.",[34,115675,115676,115677,115682],{},"Refer to our ",[175,115678,115681],{"href":115679,"rel":115680},"http:\u002F\u002Flocalhost:5000\u002Fo\u002F-M_G-3uaAbZMXViHLVZl\u002Fs\u002F-MaSm2QyXLRMULOUF0cE\u002F",[179],"desktop wallet guide"," for more information!",[48,115684,1357],{"id":1356},[34,115686,115687],{},"Beam Node is an essential component of the Beam blockchain. Each individual node creates a peer-to-peer network that validates transactions and blocks on the blockchain. Whether mining or validating nodes, each serves a crucial role in maintaining the integrity of the Beam Network.",[34,115689,115690,115691,115696],{},"Refer to ",[175,115692,115695],{"href":115693,"rel":115694},"http:\u002F\u002Flocalhost:5000\u002Fo\u002F-M_G-3uaAbZMXViHLVZl\u002Fs\u002F-MahNa0IaGxTr8GkB5rz\u002F",[179],"this guide"," for more information on creating your own node within the Beam network.",{"title":14,"searchDepth":15,"depth":15,"links":115698},[115699],{"id":115443,"depth":15,"text":115444,"children":115700},[115701,115702,115703,115704,115705,115706,115707],{"id":115535,"depth":154,"text":115498},{"id":877,"depth":154,"text":878},{"id":115616,"depth":154,"text":6018},{"id":6883,"depth":154,"text":15980},{"id":115641,"depth":154,"text":115642},{"id":115666,"depth":154,"text":115527},{"id":1356,"depth":154,"text":1357},{},"\u002Fdocs\u002Fdev\u002Freadme",{"title":3406,"description":14},"docs\u002Fdev\u002FREADME","bT_8HF9bbrrihxEs8ZD0nnyPBkjD0Rhgt4ozJO4NliY",{"id":115714,"title":115715,"body":115716,"description":116573,"extension":17,"image":18,"meta":116574,"navTitle":18,"navigation":20,"path":116575,"seo":116576,"stem":116577,"__hash__":116578},"docs\u002Fdocs\u002Fdev\u002Fbeam-dex.md","Beam DEX",{"type":8,"value":115717,"toc":116569},[115718,115721,115724,115731,115734,115737,115741,115749,115752,115769,116567],[11,115719,115715],{"id":115720},"beam-dex",[48,115722,115723],{"id":90533},"Details:",[34,115725,115726,115727],{},"Repository: ",[175,115728,115729],{"href":115729,"rel":115730},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmaster\u002Fbvm\u002FShaders\u002Famm",[179],[34,115732,115733],{},"Dappnet CID: 4e0a28b2b2a83b811ad17ba8228b0645dbce2969fd453a68fbc0b60bc8860e02",[34,115735,115736],{},"Status: In development (14.11.2022)",[48,115738,115740],{"id":115739},"shader-api","Shader API",[34,115742,115743,115744],{},"To learn how to use Shader API pleasse refer to ",[175,115745,115748],{"href":115746,"title":115747},"using-beam-shaders-with-cli-wallet","mention","using-beam-shaders-with-cli-wallet.md",[34,115750,115751],{},"Some notes regarding the API:",[852,115753,115754,115757],{},[59,115755,115756],{},"pool_view and pools_view methods can be called by user role",[59,115758,115759,115760,115762,115763,115765,115766,115768],{},"\"kind\": \"uint32_t\" parameter has three values for different types of pool with different fees:",[4953,115761],{},"\n0 : low volatility, fee is 0.05%",[4953,115764],{},"\n1 :  mid volatility, fee is 0.3%",[4953,115767],{},"\n2 : high volatility, fee is 1% (default value)\\",[616,115770,115772],{"className":6989,"code":115771,"language":6991,"meta":14,"style":14},"{\n    \"roles\":\n    {\n        \"admin\":\n        {\n            \"view\":\n            {},\n            \"destroy\":\n            {\n                \"cid\": \"ContractID\"\n            },\n            \"deploy\":\n            {\n                \"hUpgradeDelay\": \"Height\",\n                \"nMinApprovers\": \"uint32_t\",\n                \"bSkipVerifyVer\": \"uint32_t\",\n                \"cidDaoVault\": \"ContractID\"\n            },\n            \"schedule_upgrade\":\n            {\n                \"cid\": \"ContractID\",\n                \"hTarget\": \"Height\",\n                \"bSkipVerifyVer\": \"uint32_t\",\n                \"iSender\": \"uint32_t\",\n                \"approve_mask\": \"uint32_t\"\n            },\n            \"replace_admin\":\n            {\n                \"cid\": \"ContractID\",\n                \"iAdmin\": \"uint32_t\",\n                \"pk\": \"PubKey\",\n                \"iSender\": \"uint32_t\",\n                \"approve_mask\": \"uint32_t\"\n            },\n            \"set_min_approvers\":\n            {\n                \"cid\": \"ContractID\",\n                \"newVal\": \"uint32_t\",\n                \"iSender\": \"uint32_t\",\n                \"approve_mask\": \"uint32_t\"\n            },\n            \"explicit_upgrade\":\n            {\n                \"cid\": \"ContractID\"\n            },\n            \"pool_view\":\n            {\n                \"cid\": \"ContractID\",\n                \"aid1\": \"AssetID\",\n                \"aid2\": \"AssetID\",\n                \"kind\": \"uint32_t\"\n            },\n            \"pools_view\":\n            {\n                \"cid\": \"ContractID\"\n            }\n        },\n        \"user\":\n        {\n            \"pool_create\":\n            {\n                \"cid\": \"ContractID\",\n                \"aid1\": \"AssetID\",\n                \"aid2\": \"AssetID\",\n                \"kind\": \"uint32_t\"\n            },\n            \"pool_destroy\":\n            {\n                \"cid\": \"ContractID\",\n                \"aid1\": \"AssetID\",\n                \"aid2\": \"AssetID\",\n                \"kind\": \"uint32_t\"\n            },\n            \"add_liquidity\":\n            {\n                \"cid\": \"ContractID\",\n                \"aid1\": \"AssetID\",\n                \"aid2\": \"AssetID\",\n                \"kind\": \"uint32_t\",\n                \"val1\": \"Amount\",\n                \"val2\": \"Amount\",\n                \"bPredictOnly\": \"uint32_t\"\n            },\n            \"withdraw\":\n            {\n                \"cid\": \"ContractID\",\n                \"aid1\": \"AssetID\",\n                \"aid2\": \"AssetID\",\n                \"kind\": \"uint32_t\",\n                \"ctl\": \"Amount\",\n                \"bPredictOnly\": \"uint32_t\"\n            },\n            \"trade\":\n            {\n                \"cid\": \"ContractID\",\n                \"aid1\": \"AssetID\",\n                \"aid2\": \"AssetID\",\n                \"kind\": \"uint32_t\",\n                \"val1_buy\": \"Amount\",\n                \"bPredictOnly\": \"uint32_t\"\n            }\n        }\n    }\n}\n",[611,115773,115774,115778,115785,115789,115796,115800,115807,115812,115819,115823,115833,115837,115844,115848,115860,115872,115883,115892,115896,115903,115907,115918,115929,115939,115950,115960,115964,115971,115975,115985,115996,116008,116018,116026,116030,116037,116041,116051,116062,116072,116080,116084,116091,116095,116103,116107,116114,116118,116128,116140,116151,116160,116164,116171,116175,116183,116187,116191,116198,116202,116209,116213,116223,116233,116243,116251,116255,116262,116266,116276,116286,116296,116304,116308,116315,116319,116329,116339,116349,116359,116371,116382,116391,116395,116402,116406,116416,116426,116436,116446,116457,116465,116469,116477,116482,116493,116504,116515,116526,116538,116547,116552,116557,116562],{"__ignoreMap":14},[6995,115775,115776],{"class":244,"line":6997},[6995,115777,7001],{"class":7000},[6995,115779,115780,115783],{"class":244,"line":15},[6995,115781,115782],{"class":7006},"    \"roles\"",[6995,115784,7532],{"class":7000},[6995,115786,115787],{"class":244,"line":154},[6995,115788,7537],{"class":7000},[6995,115790,115791,115794],{"class":244,"line":7033},[6995,115792,115793],{"class":7006},"        \"admin\"",[6995,115795,7532],{"class":7000},[6995,115797,115798],{"class":244,"line":7044},[6995,115799,14405],{"class":7000},[6995,115801,115802,115805],{"class":244,"line":7107},[6995,115803,115804],{"class":7006},"            \"view\"",[6995,115806,7532],{"class":7000},[6995,115808,115809],{"class":244,"line":7120},[6995,115810,115811],{"class":7000},"            {},\n",[6995,115813,115814,115817],{"class":244,"line":7133},[6995,115815,115816],{"class":7006},"            \"destroy\"",[6995,115818,7532],{"class":7000},[6995,115820,115821],{"class":244,"line":7146},[6995,115822,15683],{"class":7000},[6995,115824,115825,115828,115830],{"class":244,"line":7159},[6995,115826,115827],{"class":7006},"                \"cid\"",[6995,115829,7024],{"class":7000},[6995,115831,115832],{"class":7012},"\"ContractID\"\n",[6995,115834,115835],{"class":244,"line":7172},[6995,115836,38849],{"class":7000},[6995,115838,115839,115842],{"class":244,"line":7185},[6995,115840,115841],{"class":7006},"            \"deploy\"",[6995,115843,7532],{"class":7000},[6995,115845,115846],{"class":244,"line":7198},[6995,115847,15683],{"class":7000},[6995,115849,115850,115853,115855,115858],{"class":244,"line":7211},[6995,115851,115852],{"class":7006},"                \"hUpgradeDelay\"",[6995,115854,7024],{"class":7000},[6995,115856,115857],{"class":7012},"\"Height\"",[6995,115859,7030],{"class":7000},[6995,115861,115862,115865,115867,115870],{"class":244,"line":7220},[6995,115863,115864],{"class":7006},"                \"nMinApprovers\"",[6995,115866,7024],{"class":7000},[6995,115868,115869],{"class":7012},"\"uint32_t\"",[6995,115871,7030],{"class":7000},[6995,115873,115874,115877,115879,115881],{"class":244,"line":7226},[6995,115875,115876],{"class":7006},"                \"bSkipVerifyVer\"",[6995,115878,7024],{"class":7000},[6995,115880,115869],{"class":7012},[6995,115882,7030],{"class":7000},[6995,115884,115885,115888,115890],{"class":244,"line":7238},[6995,115886,115887],{"class":7006},"                \"cidDaoVault\"",[6995,115889,7024],{"class":7000},[6995,115891,115832],{"class":7012},[6995,115893,115894],{"class":244,"line":7250},[6995,115895,38849],{"class":7000},[6995,115897,115898,115901],{"class":244,"line":7263},[6995,115899,115900],{"class":7006},"            \"schedule_upgrade\"",[6995,115902,7532],{"class":7000},[6995,115904,115905],{"class":244,"line":7275},[6995,115906,15683],{"class":7000},[6995,115908,115909,115911,115913,115916],{"class":244,"line":7288},[6995,115910,115827],{"class":7006},[6995,115912,7024],{"class":7000},[6995,115914,115915],{"class":7012},"\"ContractID\"",[6995,115917,7030],{"class":7000},[6995,115919,115920,115923,115925,115927],{"class":244,"line":7300},[6995,115921,115922],{"class":7006},"                \"hTarget\"",[6995,115924,7024],{"class":7000},[6995,115926,115857],{"class":7012},[6995,115928,7030],{"class":7000},[6995,115930,115931,115933,115935,115937],{"class":244,"line":7313},[6995,115932,115876],{"class":7006},[6995,115934,7024],{"class":7000},[6995,115936,115869],{"class":7012},[6995,115938,7030],{"class":7000},[6995,115940,115941,115944,115946,115948],{"class":244,"line":7325},[6995,115942,115943],{"class":7006},"                \"iSender\"",[6995,115945,7024],{"class":7000},[6995,115947,115869],{"class":7012},[6995,115949,7030],{"class":7000},[6995,115951,115952,115955,115957],{"class":244,"line":7336},[6995,115953,115954],{"class":7006},"                \"approve_mask\"",[6995,115956,7024],{"class":7000},[6995,115958,115959],{"class":7012},"\"uint32_t\"\n",[6995,115961,115962],{"class":244,"line":7342},[6995,115963,38849],{"class":7000},[6995,115965,115966,115969],{"class":244,"line":7347},[6995,115967,115968],{"class":7006},"            \"replace_admin\"",[6995,115970,7532],{"class":7000},[6995,115972,115973],{"class":244,"line":7363},[6995,115974,15683],{"class":7000},[6995,115976,115977,115979,115981,115983],{"class":244,"line":7375},[6995,115978,115827],{"class":7006},[6995,115980,7024],{"class":7000},[6995,115982,115915],{"class":7012},[6995,115984,7030],{"class":7000},[6995,115986,115987,115990,115992,115994],{"class":244,"line":7387},[6995,115988,115989],{"class":7006},"                \"iAdmin\"",[6995,115991,7024],{"class":7000},[6995,115993,115869],{"class":7012},[6995,115995,7030],{"class":7000},[6995,115997,115998,116001,116003,116006],{"class":244,"line":7398},[6995,115999,116000],{"class":7006},"                \"pk\"",[6995,116002,7024],{"class":7000},[6995,116004,116005],{"class":7012},"\"PubKey\"",[6995,116007,7030],{"class":7000},[6995,116009,116010,116012,116014,116016],{"class":244,"line":7410},[6995,116011,115943],{"class":7006},[6995,116013,7024],{"class":7000},[6995,116015,115869],{"class":7012},[6995,116017,7030],{"class":7000},[6995,116019,116020,116022,116024],{"class":244,"line":7421},[6995,116021,115954],{"class":7006},[6995,116023,7024],{"class":7000},[6995,116025,115959],{"class":7012},[6995,116027,116028],{"class":244,"line":7432},[6995,116029,38849],{"class":7000},[6995,116031,116032,116035],{"class":244,"line":7443},[6995,116033,116034],{"class":7006},"            \"set_min_approvers\"",[6995,116036,7532],{"class":7000},[6995,116038,116039],{"class":244,"line":7452},[6995,116040,15683],{"class":7000},[6995,116042,116043,116045,116047,116049],{"class":244,"line":7458},[6995,116044,115827],{"class":7006},[6995,116046,7024],{"class":7000},[6995,116048,115915],{"class":7012},[6995,116050,7030],{"class":7000},[6995,116052,116053,116056,116058,116060],{"class":244,"line":7464},[6995,116054,116055],{"class":7006},"                \"newVal\"",[6995,116057,7024],{"class":7000},[6995,116059,115869],{"class":7012},[6995,116061,7030],{"class":7000},[6995,116063,116064,116066,116068,116070],{"class":244,"line":7470},[6995,116065,115943],{"class":7006},[6995,116067,7024],{"class":7000},[6995,116069,115869],{"class":7012},[6995,116071,7030],{"class":7000},[6995,116073,116074,116076,116078],{"class":244,"line":13197},[6995,116075,115954],{"class":7006},[6995,116077,7024],{"class":7000},[6995,116079,115959],{"class":7012},[6995,116081,116082],{"class":244,"line":13202},[6995,116083,38849],{"class":7000},[6995,116085,116086,116089],{"class":244,"line":13214},[6995,116087,116088],{"class":7006},"            \"explicit_upgrade\"",[6995,116090,7532],{"class":7000},[6995,116092,116093],{"class":244,"line":13225},[6995,116094,15683],{"class":7000},[6995,116096,116097,116099,116101],{"class":244,"line":13237},[6995,116098,115827],{"class":7006},[6995,116100,7024],{"class":7000},[6995,116102,115832],{"class":7012},[6995,116104,116105],{"class":244,"line":13248},[6995,116106,38849],{"class":7000},[6995,116108,116109,116112],{"class":244,"line":13258},[6995,116110,116111],{"class":7006},"            \"pool_view\"",[6995,116113,7532],{"class":7000},[6995,116115,116116],{"class":244,"line":13263},[6995,116117,15683],{"class":7000},[6995,116119,116120,116122,116124,116126],{"class":244,"line":13268},[6995,116121,115827],{"class":7006},[6995,116123,7024],{"class":7000},[6995,116125,115915],{"class":7012},[6995,116127,7030],{"class":7000},[6995,116129,116130,116133,116135,116138],{"class":244,"line":13275},[6995,116131,116132],{"class":7006},"                \"aid1\"",[6995,116134,7024],{"class":7000},[6995,116136,116137],{"class":7012},"\"AssetID\"",[6995,116139,7030],{"class":7000},[6995,116141,116142,116145,116147,116149],{"class":244,"line":13280},[6995,116143,116144],{"class":7006},"                \"aid2\"",[6995,116146,7024],{"class":7000},[6995,116148,116137],{"class":7012},[6995,116150,7030],{"class":7000},[6995,116152,116153,116156,116158],{"class":244,"line":13291},[6995,116154,116155],{"class":7006},"                \"kind\"",[6995,116157,7024],{"class":7000},[6995,116159,115959],{"class":7012},[6995,116161,116162],{"class":244,"line":13303},[6995,116163,38849],{"class":7000},[6995,116165,116166,116169],{"class":244,"line":13314},[6995,116167,116168],{"class":7006},"            \"pools_view\"",[6995,116170,7532],{"class":7000},[6995,116172,116173],{"class":244,"line":13324},[6995,116174,15683],{"class":7000},[6995,116176,116177,116179,116181],{"class":244,"line":13329},[6995,116178,115827],{"class":7006},[6995,116180,7024],{"class":7000},[6995,116182,115832],{"class":7012},[6995,116184,116185],{"class":244,"line":13334},[6995,116186,15811],{"class":7000},[6995,116188,116189],{"class":244,"line":13346},[6995,116190,21243],{"class":7000},[6995,116192,116193,116196],{"class":244,"line":13357},[6995,116194,116195],{"class":7006},"        \"user\"",[6995,116197,7532],{"class":7000},[6995,116199,116200],{"class":244,"line":13368},[6995,116201,14405],{"class":7000},[6995,116203,116204,116207],{"class":244,"line":13379},[6995,116205,116206],{"class":7006},"            \"pool_create\"",[6995,116208,7532],{"class":7000},[6995,116210,116211],{"class":244,"line":13389},[6995,116212,15683],{"class":7000},[6995,116214,116215,116217,116219,116221],{"class":244,"line":13394},[6995,116216,115827],{"class":7006},[6995,116218,7024],{"class":7000},[6995,116220,115915],{"class":7012},[6995,116222,7030],{"class":7000},[6995,116224,116225,116227,116229,116231],{"class":244,"line":13399},[6995,116226,116132],{"class":7006},[6995,116228,7024],{"class":7000},[6995,116230,116137],{"class":7012},[6995,116232,7030],{"class":7000},[6995,116234,116235,116237,116239,116241],{"class":244,"line":13411},[6995,116236,116144],{"class":7006},[6995,116238,7024],{"class":7000},[6995,116240,116137],{"class":7012},[6995,116242,7030],{"class":7000},[6995,116244,116245,116247,116249],{"class":244,"line":13423},[6995,116246,116155],{"class":7006},[6995,116248,7024],{"class":7000},[6995,116250,115959],{"class":7012},[6995,116252,116253],{"class":244,"line":13434},[6995,116254,38849],{"class":7000},[6995,116256,116257,116260],{"class":244,"line":13445},[6995,116258,116259],{"class":7006},"            \"pool_destroy\"",[6995,116261,7532],{"class":7000},[6995,116263,116264],{"class":244,"line":13457},[6995,116265,15683],{"class":7000},[6995,116267,116268,116270,116272,116274],{"class":244,"line":13464},[6995,116269,115827],{"class":7006},[6995,116271,7024],{"class":7000},[6995,116273,115915],{"class":7012},[6995,116275,7030],{"class":7000},[6995,116277,116278,116280,116282,116284],{"class":244,"line":13471},[6995,116279,116132],{"class":7006},[6995,116281,7024],{"class":7000},[6995,116283,116137],{"class":7012},[6995,116285,7030],{"class":7000},[6995,116287,116288,116290,116292,116294],{"class":244,"line":13476},[6995,116289,116144],{"class":7006},[6995,116291,7024],{"class":7000},[6995,116293,116137],{"class":7012},[6995,116295,7030],{"class":7000},[6995,116297,116298,116300,116302],{"class":244,"line":13488},[6995,116299,116155],{"class":7006},[6995,116301,7024],{"class":7000},[6995,116303,115959],{"class":7012},[6995,116305,116306],{"class":244,"line":13499},[6995,116307,38849],{"class":7000},[6995,116309,116310,116313],{"class":244,"line":13511},[6995,116311,116312],{"class":7006},"            \"add_liquidity\"",[6995,116314,7532],{"class":7000},[6995,116316,116317],{"class":244,"line":13522},[6995,116318,15683],{"class":7000},[6995,116320,116321,116323,116325,116327],{"class":244,"line":13532},[6995,116322,115827],{"class":7006},[6995,116324,7024],{"class":7000},[6995,116326,115915],{"class":7012},[6995,116328,7030],{"class":7000},[6995,116330,116331,116333,116335,116337],{"class":244,"line":13537},[6995,116332,116132],{"class":7006},[6995,116334,7024],{"class":7000},[6995,116336,116137],{"class":7012},[6995,116338,7030],{"class":7000},[6995,116340,116341,116343,116345,116347],{"class":244,"line":13542},[6995,116342,116144],{"class":7006},[6995,116344,7024],{"class":7000},[6995,116346,116137],{"class":7012},[6995,116348,7030],{"class":7000},[6995,116350,116351,116353,116355,116357],{"class":244,"line":13549},[6995,116352,116155],{"class":7006},[6995,116354,7024],{"class":7000},[6995,116356,115869],{"class":7012},[6995,116358,7030],{"class":7000},[6995,116360,116361,116364,116366,116369],{"class":244,"line":13554},[6995,116362,116363],{"class":7006},"                \"val1\"",[6995,116365,7024],{"class":7000},[6995,116367,116368],{"class":7012},"\"Amount\"",[6995,116370,7030],{"class":7000},[6995,116372,116373,116376,116378,116380],{"class":244,"line":13565},[6995,116374,116375],{"class":7006},"                \"val2\"",[6995,116377,7024],{"class":7000},[6995,116379,116368],{"class":7012},[6995,116381,7030],{"class":7000},[6995,116383,116384,116387,116389],{"class":244,"line":13577},[6995,116385,116386],{"class":7006},"                \"bPredictOnly\"",[6995,116388,7024],{"class":7000},[6995,116390,115959],{"class":7012},[6995,116392,116393],{"class":244,"line":13588},[6995,116394,38849],{"class":7000},[6995,116396,116397,116400],{"class":244,"line":13598},[6995,116398,116399],{"class":7006},"            \"withdraw\"",[6995,116401,7532],{"class":7000},[6995,116403,116404],{"class":244,"line":13603},[6995,116405,15683],{"class":7000},[6995,116407,116408,116410,116412,116414],{"class":244,"line":13608},[6995,116409,115827],{"class":7006},[6995,116411,7024],{"class":7000},[6995,116413,115915],{"class":7012},[6995,116415,7030],{"class":7000},[6995,116417,116418,116420,116422,116424],{"class":244,"line":13620},[6995,116419,116132],{"class":7006},[6995,116421,7024],{"class":7000},[6995,116423,116137],{"class":7012},[6995,116425,7030],{"class":7000},[6995,116427,116428,116430,116432,116434],{"class":244,"line":13631},[6995,116429,116144],{"class":7006},[6995,116431,7024],{"class":7000},[6995,116433,116137],{"class":7012},[6995,116435,7030],{"class":7000},[6995,116437,116438,116440,116442,116444],{"class":244,"line":13642},[6995,116439,116155],{"class":7006},[6995,116441,7024],{"class":7000},[6995,116443,115869],{"class":7012},[6995,116445,7030],{"class":7000},[6995,116447,116448,116451,116453,116455],{"class":244,"line":13653},[6995,116449,116450],{"class":7006},"                \"ctl\"",[6995,116452,7024],{"class":7000},[6995,116454,116368],{"class":7012},[6995,116456,7030],{"class":7000},[6995,116458,116459,116461,116463],{"class":244,"line":13663},[6995,116460,116386],{"class":7006},[6995,116462,7024],{"class":7000},[6995,116464,115959],{"class":7012},[6995,116466,116467],{"class":244,"line":13668},[6995,116468,38849],{"class":7000},[6995,116470,116472,116475],{"class":244,"line":116471},93,[6995,116473,116474],{"class":7006},"            \"trade\"",[6995,116476,7532],{"class":7000},[6995,116478,116480],{"class":244,"line":116479},94,[6995,116481,15683],{"class":7000},[6995,116483,116485,116487,116489,116491],{"class":244,"line":116484},95,[6995,116486,115827],{"class":7006},[6995,116488,7024],{"class":7000},[6995,116490,115915],{"class":7012},[6995,116492,7030],{"class":7000},[6995,116494,116496,116498,116500,116502],{"class":244,"line":116495},96,[6995,116497,116132],{"class":7006},[6995,116499,7024],{"class":7000},[6995,116501,116137],{"class":7012},[6995,116503,7030],{"class":7000},[6995,116505,116507,116509,116511,116513],{"class":244,"line":116506},97,[6995,116508,116144],{"class":7006},[6995,116510,7024],{"class":7000},[6995,116512,116137],{"class":7012},[6995,116514,7030],{"class":7000},[6995,116516,116518,116520,116522,116524],{"class":244,"line":116517},98,[6995,116519,116155],{"class":7006},[6995,116521,7024],{"class":7000},[6995,116523,115869],{"class":7012},[6995,116525,7030],{"class":7000},[6995,116527,116529,116532,116534,116536],{"class":244,"line":116528},99,[6995,116530,116531],{"class":7006},"                \"val1_buy\"",[6995,116533,7024],{"class":7000},[6995,116535,116368],{"class":7012},[6995,116537,7030],{"class":7000},[6995,116539,116541,116543,116545],{"class":244,"line":116540},100,[6995,116542,116386],{"class":7006},[6995,116544,7024],{"class":7000},[6995,116546,115959],{"class":7012},[6995,116548,116550],{"class":244,"line":116549},101,[6995,116551,15811],{"class":7000},[6995,116553,116555],{"class":244,"line":116554},102,[6995,116556,15327],{"class":7000},[6995,116558,116560],{"class":244,"line":116559},103,[6995,116561,7615],{"class":7000},[6995,116563,116565],{"class":244,"line":116564},104,[6995,116566,7047],{"class":7000},[8692,116568,14042],{},{"title":14,"searchDepth":15,"depth":15,"links":116570},[116571,116572],{"id":90533,"depth":154,"text":115723},{"id":115739,"depth":154,"text":115740},"Documentation for the Beam DEX contract and application",{},"\u002Fdocs\u002Fdev\u002Fbeam-dex",{"title":115715,"description":116573},"docs\u002Fdev\u002Fbeam-dex","Ic7JN5za9FLfRDhz7izHag0nB6SZYUlYDd3Fi1juxxU",{"id":116580,"title":116581,"body":116582,"description":14,"extension":17,"image":18,"meta":116829,"navTitle":18,"navigation":20,"path":116830,"seo":116831,"stem":116832,"__hash__":116833},"docs\u002Fdocs\u002Fdev\u002Fbeam-platform-architecture.md","Beam Platform Architecture",{"type":8,"value":116583,"toc":116811},[116584,116587,116589,116592,116595,116599,116602,116605,116609,116612,116616,116619,116622,116626,116629,116642,116649,116652,116658,116662,116665,116699,116703,116706,116710,116713,116717,116720,116723,116726,116730,116758,116762,116785,116789,116798,116802],[11,116585,116581],{"id":116586},"beam-platform-architecture",[41,116588,878],{"id":877},[34,116590,116591],{},"Beam Blockchain natively supports creating new types of tokens called Confidential Assets (CA). Confidential Assets inherit all the properties of the Beam Coin (a native token on Beam Blockchain), namely, confidentiality and scalability using MimbleWimble's cut-through process.",[34,116593,116594],{},"Unlike Ethereum ERC-20 contracts, Beam assets are implemented on Layer 1 and are native citizens of Beam's ecosystem. Each Beam transaction can simultaneously include various CA types as inputs and outputs, provided they match the CA type sum to zero, i.e., no type conversion can occur within a transaction.",[41,116596,116598],{"id":116597},"transaction-kernels","Transaction Kernels",[34,116600,116601],{},"Beam transactions are comprised of inputs and outputs, which are represented by Pedersen Commitments with adjacent zero-knowledge range proofs to ensure committed values are positive within a specific range. While inputs and outputs can be removed during the cut-through process, transaction kernels remain in the blockchain and are crucial for protocol validation.",[34,116603,116604],{},"Initially, kernels contained the signed difference between the blinding factors but were extended to support various purposes during Beam's development, including reflecting transaction type and supporting Lelantus shielded pool. Additionally, the kernels were further repurposed to enable the deployment of smart contracts on the Beam blockchain",[41,116606,116608],{"id":116607},"kernels-with-side-effects","Kernels with Side Effects",[34,116610,116611],{},"A transaction kernel can identify any side effects, i.e., direct changes to the node state, including transformations to tx inputs and outputs. When this occurs, Beam coins transform into a hybrid UTXO based \u003C> State Based cryptocurrency. When a side effect modifies the outputs, the value stored records on the blockchain as the kernel \"consumed\" the output. This results in the kernel \"emitting\" new inputs using the value stored in the node state.",[41,116613,116615],{"id":116614},"beam-shaders-and-beam-virtual-machine","Beam Shaders and Beam Virtual Machine",[34,116617,116618],{},"The encapsulation of each node state is done using Beam Shaders while defining the state variables and correlating business logic to modify them. These shaders are coded using WebAssembly (WASM), allowing seamless deployment on Beam Virtual Machines.",[34,116620,116621],{},"Beam uses WASM's binary instruction format for stack-based virtual machines and takes advantage of WASM's industry-standard support for various web for client and server applications.",[41,116623,116625],{"id":116624},"using-beam-shaders-to-implement-smart-contracts","Using Beam Shaders to Implement Smart Contracts",[34,116627,116628],{},"For a more technical description of Beam Smart Contracts, read here",[34,116630,116631,116632,116637,116638,116641],{},"According to ",[175,116633,116636],{"href":116634,"rel":116635},"https:\u002F\u002Fwww.investopedia.com\u002Fterms\u002Fs\u002Fsmart-contracts.asp",[179],"Investopedia",", Smart Contracts are ",[100,116639,116640],{},"\"a self-executing contract with the terms of the agreement between buyer and seller being directly written into lines of code\""," Smart Contracts on the Beam blockchain are executed via Beam Shaders.",[34,116643,116644,116645,116648],{},"Each Beam Shader is a collection of state variables and methods, including a constructor and a destructor. The ",[37,116646,116647],{},"shader constructer"," is only executed once when the Contract Creator defines parameters when registering a new shader. When a new Beam Shader code and construction parameters records on the blockchain, it creates a unique Shader Instance.",[34,116650,116651],{},"It is important to note the same code with different parameters will produce a distinct unique Shader ID, thus creating a separate Shader Instance.",[34,116653,100807,116654,116657],{},[37,116655,116656],{},"destructor"," runs when the Beam Shader is deactivated and cleans all used resources.  A Beam Shader can only be deactivated if it does not contain any funds, preventing the destruction of value during the Shader deactivation process.",[41,116659,116661],{"id":116660},"properties-of-chain-side-beam-shaders","Properties of Chain Side Beam Shaders",[34,116663,116664],{},"The section below details key properties of smart contract (Beam Chain Side Shaders) implementation on the Beam blockchain.",[852,116666,116667,116670,116676,116684,116687,116690,116693],{},[59,116668,116669],{},"Beam Shaders utilize several limiting mechanisms (charging execution fees, maximum execution fees) to avoid blocking the node with an unbounded cycle and ensure bounded execution time.",[59,116671,116672,116675],{},[37,116673,116674],{},"Shaders cannot be automated"," and only record on the blockchain via sent transactions with required parameters, signatures, and fees.",[59,116677,116678,116679,181],{},"Shaders can claim a portion of fees from provided sources of decentralized application requests. Shaders can then store and issue disbursements, including refunding excess payments to special ",[175,116680,116683],{"href":116681,"rel":116682},"https:\u002F\u002Fblog.giveth.io\u002Fthe-vault-contract-open-sourced-by-giveth-fe2261f7b91b",[179],"Vault contracts",[59,116685,116686],{},"Shaders can communicate with other Shaders to delegate operations in the transaction context, activating the initial Shader on the chain.",[59,116688,116689],{},"The Shader that controls the assets can burn CA emissions, and the shaders defined logic conducts emission burning when manual emission burn cannot function.",[59,116691,116692],{},"When a Shader deploys, it results in one of two outcomes: either the Shader consumes funds (transaction inputs) or unlocks funds (transaction outputs) recorded on the blockchain.",[59,116694,116695,116698],{},[37,116696,116697],{},"Overdraft protection",". BVM only validates equal amounts of locked and unlocked funds to discourage bad actors from creating confidential assets.",[41,116700,116702],{"id":116701},"wallet-side-shaders","Wallet Side Shaders",[34,116704,116705],{},"Thus far, we have explored smart contracts activated by sent transactions (Chain-side Shaders). We now review the wallet-side architecture, i.e., the framework that interacts with Shaders via new transactions and retrieval of Shader metadata to Beam Wallets.",[48,116707,116709],{"id":116708},"wallet-web-application-platform","Wallet Web Application Platform",[34,116711,116712],{},"Since v6.0, Beam Desktop Wallets have a built-in web application platform that allows first-party and third-party app development (Mobile version TBA).",[48,116714,116716],{"id":116715},"the-role-of-wallet-side-shaders","The role of Wallet Side Shaders",[34,116718,116719],{},"Due to Beam's confidential blockchain ecosystem, any blockchain-altering function requires wallets. Beam's DeFi architecture leverages the Wallet-side shader's client logic and API required for each smart contract, simplifying interactions between wallets and Chain-side Shaders",[34,116721,116722],{},"Wallet-side Shaders offer great flexibility in separating client and chain-side logic, enabling complex flows that create operations across multiple wallets through a single UI.",[41,116724,114706],{"id":116725},"resources",[48,116727,116729],{"id":116728},"concepts","Concepts",[852,116731,116732],{},[59,116733,116734,116735],{},"DLC (Discreet Log Contract)\n",[852,116736,116737,116744,116751],{},[59,116738,116739],{},[175,116740,116743],{"href":116741,"rel":116742},"https:\u002F\u002Fadiabat.github.io\u002Fdlc.pdf",[179],"paper",[59,116745,116746],{},[175,116747,116750],{"href":116748,"rel":116749},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=P6AX8KdXAts",[179],"video",[59,116752,116753],{},[175,116754,116757],{"href":116755,"rel":116756},"https:\u002F\u002Fmedium.com\u002F@gertjaap\u002Fdiscreet-log-contracts-invisible-smart-contracts-on-the-bitcoin-blockchain-cc8afbdbf0db",[179],"article",[48,116759,116761],{"id":116760},"whitepapers","Whitepapers",[852,116763,116764,116771,116778],{},[59,116765,116766],{},[175,116767,116770],{"href":116768,"rel":116769},"https:\u002F\u002Fwww.semanticscholar.org\u002Fpaper\u002FThe-Rainbow-Network-%3A-An-Off-Chain-Decentralized-Robinson\u002F03b035bc6fea62caef3455ad383cd7f8164adf2f?p2df",[179],"Rainbow Protocol Whitepaper",[59,116772,116773],{},[175,116774,116777],{"href":116775,"rel":116776},"https:\u002F\u002Farwen.io\u002Fwhitepaper.pdf",[179],"Arwen Protocol Whitepaper",[59,116779,116780],{},[175,116781,116784],{"href":116782,"rel":116783},"https:\u002F\u002Fcompound.finance\u002Fdocuments\u002FCompound.Whitepaper.pdf",[179],"Compound Whitepaper",[48,116786,116788],{"id":116787},"wrapped-assets","Wrapped assets",[852,116790,116791],{},[59,116792,116793],{},[175,116794,116797],{"href":116795,"rel":116796},"https:\u002F\u002Ftbtc.network\u002Fdevelopers\u002Ftbtc-technical-system-overview\u002F",[179],"tBTC - Bitcoin on Ethereum via Liquid",[48,116799,116801],{"id":116800},"terms","Terms",[852,116803,116804],{},[59,116805,116806],{},[175,116807,116810],{"href":116808,"rel":116809},"https:\u002F\u002Fdefitutorials.substack.com\u002Fp\u002Fcollateralized-debt-positions-cdps",[179],"Collateralized Debt Position",{"title":14,"searchDepth":15,"depth":15,"links":116812},[116813,116814,116815,116816,116817,116818,116819,116823],{"id":877,"depth":15,"text":878},{"id":116597,"depth":15,"text":116598},{"id":116607,"depth":15,"text":116608},{"id":116614,"depth":15,"text":116615},{"id":116624,"depth":15,"text":116625},{"id":116660,"depth":15,"text":116661},{"id":116701,"depth":15,"text":116702,"children":116820},[116821,116822],{"id":116708,"depth":154,"text":116709},{"id":116715,"depth":154,"text":116716},{"id":116725,"depth":15,"text":114706,"children":116824},[116825,116826,116827,116828],{"id":116728,"depth":154,"text":116729},{"id":116760,"depth":154,"text":116761},{"id":116787,"depth":154,"text":116788},{"id":116800,"depth":154,"text":116801},{},"\u002Fdocs\u002Fdev\u002Fbeam-platform-architecture",{"title":116581,"description":14},"docs\u002Fdev\u002Fbeam-platform-architecture","9EOJ65mAB5I_SasmLGpMb8Z1yYhI1oJ9wJoYkZAcig0",{"id":116835,"title":6018,"body":116836,"description":14,"extension":17,"image":18,"meta":117347,"navTitle":18,"navigation":20,"path":117348,"seo":117349,"stem":117350,"__hash__":117351},"docs\u002Fdocs\u002Fdev\u002Fbeam-shaders\u002FREADME.md",{"type":8,"value":116837,"toc":117335},[116838,116840,116844,116853,116857,116860,116863,116866,116869,116879,116887,116891,116894,116911,116915,116919,116922,116930,116936,116941,116947,116951,116954,116965,116968,116972,116974,116979,116982,117008,117011,117015,117018,117027,117044,117047,117051,117058,117061,117064,117075,117078,117135,117149,117153,117156,117159,117165,117220,117224,117227,117231,117234,117237,117241,117244,117270,117274,117277,117281,117284,117291,117294,117297,117300,117303,117324,117327],[11,116839,6018],{"id":115616},[41,116841,116843],{"id":116842},"beam-smart-contracts-overview","Beam Smart Contracts Overview",[34,116845,116846,116847,116852],{},"This section will give an overview of Beam's Smart Contracts. Beam's blockchain offers fully featured Smart Contracts that support ",[175,116848,116851],{"href":116849,"rel":116850},"https:\u002F\u002Fwww.geeksforgeeks.org\u002Fwhat-is-meant-by-turing-complete-in-ethereum\u002F",[179],"Turing complete programming",", enabling the construction of complex Decentralized Applications. Beam's implementation and architecture differ from most other blockchains.",[48,116854,116856],{"id":116855},"contract-shaders-and-application-shaders","Contract Shaders and Application Shaders",[34,116858,116859],{},"In Beam, Smart Contracts have two components, Contract Shaders and Application Shaders.",[34,116861,116862],{},"The term \"shader\" originated from 3D graphics and refers to a custom program, as opposed to a pre-defined fixed function.",[34,116864,116865],{},"Deployed on the blockchain, Contract Shaders are executed by the Beam Virtual Machine when a wallet constructs a transaction that accesses one of the public methods of the contract.",[34,116867,116868],{},"On the other hand, Application Shaders run within the Beam Wallet and act as helpers to expose the contract API to decentralized applications. One Application Shader can interac with several Contract Shaders, providing complex functionality.",[1847,116870,116871,116874],{},[241,116872],{"src":116873,"alt":14},"..\u002F.gitbook\u002Fassets\u002FBeam Shaders.png",[1853,116875,116876],{},[34,116877,116878],{},"Conceptual Diagram of Applications and Contract Shaders",[34,116880,116881,116882,181],{},"Beam Shaders are implemented in WebAssembly and can be written in any programming language that can be compiled into WASM. Currently most shader are implemented in C++. Many examples of smart contracts can be found in the Beam ",[175,116883,116886],{"href":116884,"rel":116885},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmaster\u002Fbvm\u002FShaders",[179],"repository",[41,116888,116890],{"id":116889},"contract-shader","Contract Shader",[34,116892,116893],{},"Contract Shaders may do the following:",[852,116895,116896,116899,116902,116905,116908],{},[59,116897,116898],{},"Save\u002Fload its custom variables (access contract state)",[59,116900,116901],{},"Lock\u002Funlock funds.",[59,116903,116904],{},"Create and manage assets",[59,116906,116907],{},"Invoke public methods of other contracts",[59,116909,116910],{},"Demand signatures for arbitrary public keys (more about this later)",[48,116912,116914],{"id":116913},"contract-life-cycle","Contract life cycle",[1898,116916,116918],{"id":116917},"creation","Creation",[34,116920,116921],{},"The contract shader is created from 2 parameters:",[852,116923,116924,116927],{},[59,116925,116926],{},"Shader (the bytecode)",[59,116928,116929],{},"Constructor argument",[34,116931,116932,116933,116935],{},"A valid shader must have a ",[100,116934,106234],{}," public method, which is invoked only once, during contract creation. If the constructor is executed successfully, the new contract is created. It is assigned a unique ID which is calculated according to:",[34,116937,116938],{},[611,116939,116940],{},"ID := DeriveID[ Hash(Shader) | Constructor-Argument ]",[34,116942,116943,116944,116946],{},"Note: Same shader may be used in different contracts, if they were created with different constructor arguments. Hence the Shader defines the contract ",[100,116945,11962],{},". Since the Contract ID explicitly depends on the shader and constructor arguments, it can't be tampered with.",[1898,116948,116950],{"id":116949},"method-invocation-arbitrary-number-of-times","Method invocation (arbitrary number of times).",[34,116952,116953],{},"Must provide the following:",[852,116955,116956,116959,116962],{},[59,116957,116958],{},"Contract ID",[59,116960,116961],{},"Method number",[59,116963,116964],{},"Arbitrary arguments",[34,116966,116967],{},"For the invocation the Node locates the requested contract shader, and invokes its appropriate public method with the given argument.",[1898,116969,116971],{"id":116970},"destruction-optional","Destruction (optional)",[34,116973,116953],{},[852,116975,116976],{},[59,116977,116978],{},"Destructor argument",[34,116980,116981],{},"The contract destruction is considered successful iff:",[852,116983,116984,116991,116994],{},[59,116985,116986,116987,116990],{},"The shader ",[100,116988,116989],{},"Destructor"," method is executed successfully",[59,116992,116993],{},"The contract deleted all its custom variables it stored.",[59,116995,116996,116997],{},"The BVM that tracks the external contract state ensures that\n",[852,116998,116999,117002,117005],{},[59,117000,117001],{},"no locked funds left in the contract",[59,117003,117004],{},"no assets left created by this contract",[59,117006,117007],{},"there are no external references (i.e. other contracts that explicitly depend on it)",[34,117009,117010],{},"The ability of destruction is optional.",[48,117012,117014],{"id":117013},"how-and-when-contacts-are-invoked","How and when contacts are invoked",[34,117016,117017],{},"Contracts are passive, means they can only be invoked directly. There's no background processing, auto-activation on specific events, timers, or etc. This is a deliberate design decision.",[34,117019,117020,117021,1475,117024,181],{},"To work with contracts we added 2 additional kernel types: ",[37,117022,117023],{},"ContractCreate",[37,117025,117026],{},"ContractInvoke",[852,117028,117029,117034],{},[59,117030,117031,117033],{},[37,117032,117023],{}," contains the shader of the being-created contract, and its constructor arguments",[59,117035,117036,117038,117039],{},[37,117037,117026],{}," has the target Contract ID, its public method number, and the appropriate arguments\n",[852,117040,117041],{},[59,117042,117043],{},"Note: contract destruction is also invoked by ContractInvoke, with the appropriate method number Contracts can only be invoked during interpretation of those kernels. Which, in turn, occurs in the context of a specific block or transaction interpretation.",[34,117045,117046],{},"We preserve the MW principle (means there're no transactions per se), means those kernels can come in a transaction in any combination, be mixed with other special kernels (CA and Lelantus-MW), and be complemented by arbitrary inputs and outputs, built by arbitrary number of users.",[48,117048,117050],{"id":117049},"kernel-validation","Kernel validation",[34,117052,117053,117054,117057],{},"In MW each transaction element (input, output, and kernel) comes with a ",[100,117055,117056],{},"commitment"," and validated appropriately. Originally in MW kernels's commitment may contain blinding factor only, not the value, and it's signed by the Schnorr's signature to prove this (as well as protect other kernel parameters from tampering).",[34,117059,117060],{},"Starting from HF2 we extended this concept, and introduced special kernel types (Lelantus-MW and asset control), which come with a commitment that may contain a value (which contributes to the transaction balance), and signed by appropriate means specific to the kernel type.",[34,117062,117063],{},"So we stick to the same principle with the contract invocation kernels. Their commitment, in addition to arbitrary blinding factor, should reflect the amounts that the contract invocation is supposed to lock\u002Funlock. Their signature, in turn, is supposed to prove the following:",[56,117065,117066,117072],{},[59,117067,117068,117069,117071],{},"After accounting for the funds locked\u002Funlocked by the contract, the ",[100,117070,10752],{}," indeed consists of the blinding factor only",[59,117073,117074],{},"Argument of knowledge of the corresponding secret keys to all the additional public keys that the contract requested during its execution.",[34,117076,117077],{},"Technically the kernel validation goes as following:",[852,117079,117080,117083,117098],{},[59,117081,117082],{},"Kernel shader's method is executed",[59,117084,117085,117086],{},"During the execution the shader may:\n",[852,117087,117088,117091],{},[59,117089,117090],{},"Lock or unlock funds",[59,117092,117093,117094,117097],{},"Specify specific public keys ",[611,117095,117096],{},"Pk[i]"," that must be signed",[59,117099,117100,117101],{},"After the shader execution\n",[852,117102,117103,117121,117128],{},[59,117104,117105,117106,117108,117109],{},"Adjust the specified kernel commitment ",[611,117107,837],{}," w.r.t. funds locked\u002Funlocked\n",[852,117110,117111],{},[59,117112,117113,117114,10139,117117,117120],{},"For each locked\u002Funlocked asset type add\u002Fsubtract ",[611,117115,117116],{},"H[i] * value",[611,117118,117119],{},"H[i]"," is the generator for the specified CA type.",[59,117122,117123,117124,117127],{},"For the resulting commitment ",[611,117125,117126],{},"C'"," the prover must prove knowledge of the appropriate blinding factor.",[59,117129,117130,117131,1475,117133,181],{},"Verify the provided Multi-Signature of the argument of knowledge of the preimages of ",[611,117132,117126],{},[611,117134,117096],{},[34,117136,117137,117138,117141,117142,117145,117146,117148],{},"Hence to build a valid transaction with the contract invocation, the user must ",[37,117139,117140],{},"predict"," how much ",[37,117143,117144],{},"funds"," the contract invocation will contribute to the transaction, as well as which ",[37,117147,96786],{}," keys it will demand for validation.",[1898,117150,117152],{"id":117151},"multi-signature","Multi-signature",[34,117154,117155],{},"We use a variation of the Schnorr's signature to provide argument of knowledge of multiple secret keys. Unlike standard Schnorr's multisignature, which only proves the knowledge of the sum of the secret keys, our variant proves the knowledge of each individual secret key. This is important to mitigate the possible rogue key attack (a.k.a. key cancellation attack).",[34,117157,117158],{},"Consequently the verifier needs all the appropriate public keys in advance.",[34,117160,117161,117162,117164],{},"To accomplish this, we generalize the Schnorr's protocol in the following way for ",[611,117163,1252],{}," keys:",[852,117166,117167,117188,117201,117210],{},[59,117168,117169,117170],{},"Prover -> Verifier\n",[852,117171,117172,117175,117183],{},[59,117173,117174],{},"Context to where the signature applies (kernel parameters, etc.)",[59,117176,117177,117178,117180,117181],{},"Set of ",[611,117179,1252],{}," public keys ",[611,117182,117096],{},[59,117184,117185,117186],{},"Public nonce ",[611,117187,1353],{},[59,117189,117190,117191],{},"Verifier -> Prover\n",[852,117192,117193],{},[59,117194,117177,117195,117197,117198],{},[611,117196,1252],{}," challenges ",[611,117199,117200],{},"e[i]",[59,117202,117169,117203],{},[852,117204,117205],{},[59,117206,117207,117208],{},"Signature preimage ",[611,117209,16988],{},[59,117211,89666,117212],{},[852,117213,117214],{},[59,117215,117216,117217],{},"Accept iff: ",[611,117218,117219],{},"N + Sum(Pk[i] * e[i]) == G*k",[48,117221,117223],{"id":117222},"constraints-and-limitations","Constraints and limitations",[34,117225,117226],{},"As we mentioned, shaders are executed by the BVM in a sandbox (isolated environment) to ensure that bugs or malicious behavior won't affect blockchain integrity.",[1898,117228,117230],{"id":117229},"maximum-complexity","Maximum complexity",[34,117232,117233],{},"The length of the execution (number of cycles) is limited, as well as specific support functions of the BVM have their limitations (such as max number of signatures to check, max length of the variable to store, and etc.). This is to keep execution time within sane bounds, and prevent the blockchain bloat.",[34,117235,117236],{},"For most real-world cases those limitations are adequate. If, however, for some reason the shader method is complex, and those limitations can't be met, then we recommend splitting it into several smaller ones, while the intermediate calculation result is saved in some custom variables.",[1898,117238,117240],{"id":117239},"repeatability","Repeatability",[34,117242,117243],{},"In addition it's critically important to ensure that the shader executes in an exactly the same way on all the nodes, and produces exactly the same side effects (if not - attacker can easily cause chain split). Because of this:",[852,117245,117246,117254,117257],{},[59,117247,117248,117249],{},"All the memory that the shader can access is initialized the same way on all the nodes.\n",[852,117250,117251],{},[59,117252,117253],{},"Developers however should not assume that it's necessarily zero-initialized.",[59,117255,117256],{},"By design, there are no BVM functions for the shader that can yield different results. Such as generating randoms, getting current time, and so on.",[59,117258,117259,9155,117262],{},[37,117260,117261],{},"Native floating-point operations are currently not supported",[852,117263,117264,117267],{},[59,117265,117266],{},"This is because there may be subtle differences in FPU (floating-point unit) behavior on different machines (like the positive\u002Fnegative sign of zero). In the future we may support it, once all the potential problems are solved.",[59,117268,117269],{},"Instead we recommend using multi-precision integer arithmetics.",[1898,117271,117273],{"id":117272},"contract-bounds","Contract bounds",[34,117275,117276],{},"Contract can access its custom variables only. It can't access the variables that belong to other contract, not even for reading. This is a deliberate design decision. By such it's possible for the contract to protect its data from unauthorized usage by other contracts (though that data itself is visible to all the users).",[1898,117278,117280],{"id":117279},"other-considerations","Other considerations",[34,117282,117283],{},"We detect and protect against malicious behavior toward the blockchain integrity (such as invalid memory access, attempt to unlock more funds that had been locked, attempt to manage an asset that doesn't belong to the contract, and so on).",[34,117285,117286,117287,117290],{},"With all the precautions from our side, there is ",[37,117288,117289],{},"literally no guarantee that contract behaves as described by its creator",". Innocently-looking code may have bugs or disguised backdoors. This is the price of the flexibility, an inevitable trade-off of the customizable logic.",[34,117292,117293],{},"Hence users should only trust contracts after thorough source code audit. The compilation process should be transparent, i.e. everyone should be able to take the source code, compile it with publicly-available compiler, and get exactly the same shader bytecode.",[41,117295,117296],{"id":116701},"Wallet-side shaders",[34,117298,117299],{},"As we mentioned, wallet-side shaders are designed for wallets (user-side software), to provide an interface to specific contract types. In contrast to contract-side shaders, the wallet-side shaders don't have strict complexity limitations, and are allowed to read any blockchain information (state and variables of any contract, block headers). There is also no consideration regarding repeatability, so they can access current time, generate random, and so on.",[34,117301,117302],{},"We make sure however that they can't do anything potentially dangerous without user authorization.",[852,117304,117305,117308,117316],{},[59,117306,117307],{},"Shader can get public keys generated by the user account, but not private keys.",[59,117309,117310,117311],{},"It can ask to communicate with other users (via SBBS system), this may be necessary for multi-user signatures in specific contracts\n",[852,117312,117313],{},[59,117314,117315],{},"Communication must be allowed by the user explicitly.",[59,117317,117318,117319],{},"Shader may prepare contract control kernel and ask the wallet to build and broadcast the appropriate transaction\n",[852,117320,117321],{},[59,117322,117323],{},"Of course this requires user authorization. The user sees how much funds it gets\u002Fspends in the transaction.",[34,117325,117326],{},"Technically the wallet-side shaders is executed with user-supplied parameters (in a textual form), and can do either of the following:",[852,117328,117329,117332],{},[59,117330,117331],{},"produce json-style document with the relevant information for the user",[59,117333,117334],{},"prepare contract control kernel, that, after user authorization, is signed by the wallet and used in the appropriate transaction.",{"title":14,"searchDepth":15,"depth":15,"links":117336},[117337,117340,117346],{"id":116842,"depth":15,"text":116843,"children":117338},[117339],{"id":116855,"depth":154,"text":116856},{"id":116889,"depth":15,"text":116890,"children":117341},[117342,117343,117344,117345],{"id":116913,"depth":154,"text":116914},{"id":117013,"depth":154,"text":117014},{"id":117049,"depth":154,"text":117050},{"id":117222,"depth":154,"text":117223},{"id":116701,"depth":15,"text":117296},{},"\u002Fdocs\u002Fdev\u002Fbeam-shaders\u002Freadme",{"title":6018,"description":14},"docs\u002Fdev\u002Fbeam-shaders\u002FREADME","_GfLyzqo76wBN0Lb79jlNDuosssv6inHtLWux3adlzM",{"id":117353,"title":117354,"body":117355,"description":118071,"extension":17,"image":18,"meta":118072,"navTitle":18,"navigation":20,"path":118073,"seo":118074,"stem":118075,"__hash__":118076},"docs\u002Fdocs\u002Fdev\u002Fbeam-shaders\u002Fusing-beam-shaders-with-cli-wallet-masternet.md","Using Beam Shaders with CLI Wallet (masternet)",{"type":8,"value":117356,"toc":118064},[117357,117360,117380,117382,117392,117395,117408,117414,117416,117456,117467,117469,117474,117480,117483,117486,117492,117495,117804,117817,117862,117877,117883,117898,117901,117910,117914,117918,117921,117946,117952,117958,117964,117970,117974,117983,117989,117995,117998,118004,118012,118016,118062],[11,117358,117354],{"id":117359},"using-beam-shaders-with-cli-wallet-masternet",[34,117361,117362,98,117365,98,117372],{},[100,117363,117364],{},"All examples refer to a sample application \"mydapp\" which has two",[175,117366,117369],{"href":117367,"rel":117368},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmaster\u002Fbvm\u002FShaders\u002Fvault",[179],[100,117370,117371],{},"Vault",[100,117373,117374,117375,117377,117378,2344],{},"Shaders: App Shader (",[611,117376,6065],{},") and Contract Shader (",[611,117379,6061],{},[48,117381,10406],{"id":10405},[34,117383,117384,117385,87822,117388,117391],{},"Beam shaders support requires ",[611,117386,117387],{},"Fork3",[611,117389,117390],{},"v6.0"," CLI.",[34,117393,117394],{},"There are two types of Shaders in Beam:",[852,117396,117397,117402],{},[59,117398,117399,117401],{},[37,117400,116890],{}," - implements Smart Contract functionality, is stored on the blockchain and are running on Beam nodes.",[59,117403,117404,117407],{},[37,117405,117406],{},"App Shader"," - implements Smart Contract API and is running in Beam wallet.",[34,117409,117410,117411,6618],{},"To perform any transactions with shaders, you must specify the ",[611,117412,117413],{},"shader",[48,117415,111760],{"id":111759},[56,117417,117418,117438,117445,117453],{},[59,117419,117420,117421,181,117424,117426,117429,117430,2231,117433,2231,117435,117437],{},"Make sure you have node running and connected to ",[175,117422,117423],{"href":4253},"local network",[4953,117425],{},[37,117427,117428],{},"Notice:"," Shaders are applied after the third fork with height 1500. Therefore, for faster testing, we recommend to define lower heights using the ",[611,117431,117432],{},"Fork1",[611,117434,87821],{},[611,117436,117387],{}," attributes.",[59,117439,117440,117441,117444],{},"Create at least one Beam node with ",[611,117442,117443],{},"--peer=\u003Cip:port of the first node>"," for the transaction replication.",[59,117446,117447,117448,117452],{},"Make sure you have Beam ",[175,117449,117451],{"href":117450},"..\u002Fbeam-wallets\u002Fcommand-line-wallet","CLI wallet"," connected to your Beam node.",[59,117454,117455],{},"You must have funds in your wallet to pay the fee.",[34,117457,117458,117459,117462,117463,1475,117465,11830],{},"Since this tutorial is based on a local network, each command must be specified with the ",[611,117460,117461],{},"--FakePoW=1"," flag. For convenience we recommend adding this flag to your ",[611,117464,91010],{},[611,117466,90787],{},[48,117468,115740],{"id":115739},[34,117470,117471,117472,3862],{},"First of all, you need to know the available actions of a contract. To see all commands supported by the App Shader enter the following command with ",[611,117473,117413],{},[616,117475,117478],{"className":117476,"code":117477,"language":621},[619],".\u002Fbeam-wallet-masternet shader --pass=1 --shader_app_file=mydapp\u002Fapp.wasm -n localhost:10000\n",[611,117479,117477],{"__ignoreMap":14},[34,117481,117482],{},"You need to specify your wallet password, shader application file and node address.",[34,117484,117485],{},"The output is a json format line:",[616,117487,117490],{"className":117488,"code":117489,"language":621},[619],"Shader output: {\"roles\": {\"manager\": {\"create\": {},\"destroy\": {\"cid\": \"ContractID\"},\"view\": {},\"view_logs\": {\"cid\": \"ContractID\"},\"view_accounts\": {\"cid\": \"ContractID\"},\"view_account\": {\"cid\": \"ContractID\",\"pubKey\": \"PubKey\"}},\"my_account\": {\"view\": {\"cid\": \"ContractID\"},\"get_key\": {\"cid\": \"ContractID\"},\"get_proof\": {\"cid\": \"ContractID\",\"aid\": \"AssetID\"},\"deposit\": {\"cid\": \"ContractID\",\"pkForeign\": \"PubKey\",\"bCoSigner\": \"uint32_t\",\"amount\": \"Amount\",\"aid\": \"AssetID\"},\"withdraw\": {\"cid\": \"ContractID\",\"pkForeign\": \"PubKey\",\"bCoSigner\": \"uint32_t\",\"amount\": \"Amount\",\"aid\": \"AssetID\"}}}}\n",[611,117491,117489],{"__ignoreMap":14},[34,117493,117494],{},"For convenience, let's put it this way:",[616,117496,117498],{"className":6989,"code":117497,"language":6991,"meta":14,"style":14},"{\n  \"roles\": {\n    \"manager\": {\n      \"create\": {},\n      \"destroy\": { \"cid\": \"ContractID\" },\n      \"view\": {},\n      \"view_logs\": { \"cid\": \"ContractID\" },\n      \"view_accounts\": { \"cid\": \"ContractID\" },\n      \"view_account\": { \"cid\": \"ContractID\", \"pubKey\": \"PubKey\" }\n    },\n    \"my_account\": {\n      \"view\": { \"cid\": \"ContractID\" },\n      \"get_key\": { \"cid\": \"ContractID\" },\n      \"get_proof\": { \"cid\": \"ContractID\", \"aid\": \"AssetID\" },\n      \"deposit\": {\n        \"cid\": \"ContractID\",\n        \"pkForeign\": \"PubKey\",\n        \"bCoSigner\": \"uint32_t\",\n        \"amount\": \"Amount\",\n        \"aid\": \"AssetID\"\n      },\n      \"withdraw\": {\n        \"cid\": \"ContractID\",\n        \"pkForeign\": \"PubKey\",\n        \"bCoSigner\": \"uint32_t\",\n        \"amount\": \"Amount\",\n        \"aid\": \"AssetID\"\n      }\n    }\n  }\n}\n",[611,117499,117500,117504,117511,117518,117526,117544,117551,117566,117581,117605,117609,117616,117630,117645,117669,117676,117687,117698,117709,117719,117729,117733,117740,117750,117760,117770,117780,117788,117792,117796,117800],{"__ignoreMap":14},[6995,117501,117502],{"class":244,"line":6997},[6995,117503,7001],{"class":7000},[6995,117505,117506,117509],{"class":244,"line":15},[6995,117507,117508],{"class":7006},"  \"roles\"",[6995,117510,7092],{"class":7000},[6995,117512,117513,117516],{"class":244,"line":154},[6995,117514,117515],{"class":7006},"    \"manager\"",[6995,117517,7092],{"class":7000},[6995,117519,117520,117523],{"class":244,"line":7033},[6995,117521,117522],{"class":7006},"      \"create\"",[6995,117524,117525],{"class":7000},": {},\n",[6995,117527,117528,117531,117534,117537,117539,117541],{"class":244,"line":7044},[6995,117529,117530],{"class":7006},"      \"destroy\"",[6995,117532,117533],{"class":7000},": { ",[6995,117535,117536],{"class":7006},"\"cid\"",[6995,117538,7024],{"class":7000},[6995,117540,115915],{"class":7012},[6995,117542,117543],{"class":7000}," },\n",[6995,117545,117546,117549],{"class":244,"line":7107},[6995,117547,117548],{"class":7006},"      \"view\"",[6995,117550,117525],{"class":7000},[6995,117552,117553,117556,117558,117560,117562,117564],{"class":244,"line":7120},[6995,117554,117555],{"class":7006},"      \"view_logs\"",[6995,117557,117533],{"class":7000},[6995,117559,117536],{"class":7006},[6995,117561,7024],{"class":7000},[6995,117563,115915],{"class":7012},[6995,117565,117543],{"class":7000},[6995,117567,117568,117571,117573,117575,117577,117579],{"class":244,"line":7133},[6995,117569,117570],{"class":7006},"      \"view_accounts\"",[6995,117572,117533],{"class":7000},[6995,117574,117536],{"class":7006},[6995,117576,7024],{"class":7000},[6995,117578,115915],{"class":7012},[6995,117580,117543],{"class":7000},[6995,117582,117583,117586,117588,117590,117592,117594,117596,117599,117601,117603],{"class":244,"line":7146},[6995,117584,117585],{"class":7006},"      \"view_account\"",[6995,117587,117533],{"class":7000},[6995,117589,117536],{"class":7006},[6995,117591,7024],{"class":7000},[6995,117593,115915],{"class":7012},[6995,117595,2231],{"class":7000},[6995,117597,117598],{"class":7006},"\"pubKey\"",[6995,117600,7024],{"class":7000},[6995,117602,116005],{"class":7012},[6995,117604,107052],{"class":7000},[6995,117606,117607],{"class":244,"line":7159},[6995,117608,21500],{"class":7000},[6995,117610,117611,117614],{"class":244,"line":7172},[6995,117612,117613],{"class":7006},"    \"my_account\"",[6995,117615,7092],{"class":7000},[6995,117617,117618,117620,117622,117624,117626,117628],{"class":244,"line":7185},[6995,117619,117548],{"class":7006},[6995,117621,117533],{"class":7000},[6995,117623,117536],{"class":7006},[6995,117625,7024],{"class":7000},[6995,117627,115915],{"class":7012},[6995,117629,117543],{"class":7000},[6995,117631,117632,117635,117637,117639,117641,117643],{"class":244,"line":7198},[6995,117633,117634],{"class":7006},"      \"get_key\"",[6995,117636,117533],{"class":7000},[6995,117638,117536],{"class":7006},[6995,117640,7024],{"class":7000},[6995,117642,115915],{"class":7012},[6995,117644,117543],{"class":7000},[6995,117646,117647,117650,117652,117654,117656,117658,117660,117663,117665,117667],{"class":244,"line":7211},[6995,117648,117649],{"class":7006},"      \"get_proof\"",[6995,117651,117533],{"class":7000},[6995,117653,117536],{"class":7006},[6995,117655,7024],{"class":7000},[6995,117657,115915],{"class":7012},[6995,117659,2231],{"class":7000},[6995,117661,117662],{"class":7006},"\"aid\"",[6995,117664,7024],{"class":7000},[6995,117666,116137],{"class":7012},[6995,117668,117543],{"class":7000},[6995,117670,117671,117674],{"class":244,"line":7220},[6995,117672,117673],{"class":7006},"      \"deposit\"",[6995,117675,7092],{"class":7000},[6995,117677,117678,117681,117683,117685],{"class":244,"line":7226},[6995,117679,117680],{"class":7006},"        \"cid\"",[6995,117682,7024],{"class":7000},[6995,117684,115915],{"class":7012},[6995,117686,7030],{"class":7000},[6995,117688,117689,117692,117694,117696],{"class":244,"line":7238},[6995,117690,117691],{"class":7006},"        \"pkForeign\"",[6995,117693,7024],{"class":7000},[6995,117695,116005],{"class":7012},[6995,117697,7030],{"class":7000},[6995,117699,117700,117703,117705,117707],{"class":244,"line":7250},[6995,117701,117702],{"class":7006},"        \"bCoSigner\"",[6995,117704,7024],{"class":7000},[6995,117706,115869],{"class":7012},[6995,117708,7030],{"class":7000},[6995,117710,117711,117713,117715,117717],{"class":244,"line":7263},[6995,117712,8467],{"class":7006},[6995,117714,7024],{"class":7000},[6995,117716,116368],{"class":7012},[6995,117718,7030],{"class":7000},[6995,117720,117721,117724,117726],{"class":244,"line":7275},[6995,117722,117723],{"class":7006},"        \"aid\"",[6995,117725,7024],{"class":7000},[6995,117727,117728],{"class":7012},"\"AssetID\"\n",[6995,117730,117731],{"class":244,"line":7288},[6995,117732,7339],{"class":7000},[6995,117734,117735,117738],{"class":244,"line":7300},[6995,117736,117737],{"class":7006},"      \"withdraw\"",[6995,117739,7092],{"class":7000},[6995,117741,117742,117744,117746,117748],{"class":244,"line":7313},[6995,117743,117680],{"class":7006},[6995,117745,7024],{"class":7000},[6995,117747,115915],{"class":7012},[6995,117749,7030],{"class":7000},[6995,117751,117752,117754,117756,117758],{"class":244,"line":7325},[6995,117753,117691],{"class":7006},[6995,117755,7024],{"class":7000},[6995,117757,116005],{"class":7012},[6995,117759,7030],{"class":7000},[6995,117761,117762,117764,117766,117768],{"class":244,"line":7336},[6995,117763,117702],{"class":7006},[6995,117765,7024],{"class":7000},[6995,117767,115869],{"class":7012},[6995,117769,7030],{"class":7000},[6995,117771,117772,117774,117776,117778],{"class":244,"line":7342},[6995,117773,8467],{"class":7006},[6995,117775,7024],{"class":7000},[6995,117777,116368],{"class":7012},[6995,117779,7030],{"class":7000},[6995,117781,117782,117784,117786],{"class":244,"line":7347},[6995,117783,117723],{"class":7006},[6995,117785,7024],{"class":7000},[6995,117787,117728],{"class":7012},[6995,117789,117790],{"class":244,"line":7363},[6995,117791,7455],{"class":7000},[6995,117793,117794],{"class":244,"line":7375},[6995,117795,7615],{"class":7000},[6995,117797,117798],{"class":244,"line":7387},[6995,117799,7467],{"class":7000},[6995,117801,117802],{"class":244,"line":7398},[6995,117803,7047],{"class":7000},[34,117805,117806,117807,1475,117810,117813,117814,117816],{},"As you can see above, there are two roles in this example: ",[611,117808,117809],{},"manager",[611,117811,117812],{},"my_account",". Each role has its own available actions with or without required attributes. Consider the role ",[611,117815,117809],{}," , it has the following actions:",[852,117818,117819,117823,117831,117836,117843,117850],{},[59,117820,117821],{},[611,117822,90653],{},[59,117824,117825,117827,117828,117830],{},[611,117826,17727],{},", requires the ",[611,117829,24365],{}," attribute",[59,117832,117833],{},[611,117834,117835],{},"view",[59,117837,117838,117827,117841,117830],{},[611,117839,117840],{},"view_logs",[611,117842,24365],{},[59,117844,117845,117827,117848,117830],{},[611,117846,117847],{},"view_accounts",[611,117849,24365],{},[59,117851,117852,117855,117856,1475,117858,117861],{},[611,117853,117854],{},"view_account",", requires ",[611,117857,24365],{},[611,117859,117860],{},"pubKey"," attributes",[34,117863,117864,117865,117867,117868,117871,117872,117874,117875,5102],{},"This means that if, for example, we want to deploy a contract (in Vault, deployment is ",[611,117866,90653],{}," argument), we must specify ",[611,117869,117870],{},"shader_args","(consider below) with the role ",[611,117873,117809],{}," and the action ",[611,117876,90653],{},[616,117878,117881],{"className":117879,"code":117880,"language":621},[619],"--shader_args=\"role=manager,action=create\"\n",[611,117882,117880],{"__ignoreMap":14},[34,117884,117885,117886,117889,117890,117893,117894,117897],{},"Specifying a ",[611,117887,117888],{},"role"," and an ",[611,117891,117892],{},"action"," in a ",[611,117895,117896],{},"key=value"," pair representation is a requirement for working with shaders. But each contract has its own API and the arguments can be different.",[48,117899,117900],{"id":24365},"Cid",[34,117902,117903,117905,117906,117909],{},[37,117904,24365],{}," (i.e. ",[37,117907,117908],{},"contract id",") is the frequently required attribute. We get it after our contract has been deployed. The same contract which has been deployed with different attributes, will have different values.",[48,117911,117913],{"id":117912},"working-with-shaders","Working with shaders",[1898,117915,117917],{"id":117916},"commands-rules","Commands rules",[34,117919,117920],{},"There are required flags that need to be passed in the wallet CLI to work with the contract:",[852,117922,117923,117929,117935,117941],{},[59,117924,117925,117928],{},[611,117926,117927],{},"--shader_app_file=\u003Capp.wasm>"," - for application shader",[59,117930,117931,117934],{},[611,117932,117933],{},"--shader_contract_file=\u003Ccontract.wasm>"," - for contract shader",[59,117936,117937,117940],{},[611,117938,117939],{},"--shader_args=\"role=\u003Crole>,action=\u003Caction>\""," - shader arguments",[59,117942,117943],{},[611,117944,117945],{},"-n \u003Cnode address>",[34,117947,117948,117949,117951],{},"All arguments in ",[611,117950,117870],{}," are passed separated by commas without spaces. For example:",[616,117953,117956],{"className":117954,"code":117955,"language":621},[619],"--shader_args=\"role=manager,action=view\"\n",[611,117957,117955],{"__ignoreMap":14},[34,117959,117960,117961,117963],{},"If the ",[611,117962,117892],{}," has additional attributes, they also are separated by commas without spaces:",[616,117965,117968],{"className":117966,"code":117967,"language":621},[619],"--shader_args=\"role=manager,action=view_logs,cid=d9c5d1782b2d2b6f733486be480bb0d8bcf34d5fdc63bbac996ed76af541cc14\"\n",[611,117969,117967],{"__ignoreMap":14},[1898,117971,117973],{"id":117972},"deploy-contract","Deploy contract",[34,117975,117976,117977,117979,117980,117982],{},"To work with the contract, you first need to deploy it. As we said, in our Vault example contract, the deployment corresponds to the ",[611,117978,117809],{}," role and ",[611,117981,90653],{}," action.",[34,117984,117985,117986,5102],{},"Based on our knowledge, we got the following command to ",[37,117987,117988],{},"deploy contract",[616,117990,117993],{"className":117991,"code":117992,"language":621},[619],".\u002Fbeam-wallet-masternet shader --shader_app_file=mydapp\u002Fapp.wasm --shader_args=\"role=manager,action=create\" --shader_contract_file=mydapp\u002Fcontract.wasm -n localhost:10000\n",[611,117994,117992],{"__ignoreMap":14},[34,117996,117997],{},"Output example:",[616,117999,118002],{"className":118000,"code":118001,"language":621},[619],"Creating new contract invocation tx on behalf of the shader\nContract ID: d9c5d1782b2d2b6f733486be480bb0d8bcf34d5fdc63bbac996ed76af541cc14\n        Comment: create Vault contract  Total fee: 1100000 GROTH\nI 2022-06-06.11:43:08.288 [ac09d5dc897647bf876b7d17d8219a77][1] Get proof for kernel: 6625e9f7756a98eb\nI 2022-06-06.11:43:08.289 Synchronizing with node: 100% (1\u002F1)\nI 2022-06-06.11:43:08.289 Current state is 8-65a2ecdf447ad942\nI 2022-06-06.11:43:18.354 Sync up to 9-7d15da24d2717100\nI 2022-06-06.11:43:18.354 Synchronizing with node: 0% (0\u002F2)\nI 2022-06-06.11:43:18.355 CoinID: Key=mine-1:1:1, Value=8000000000 Maturity=6 Spent, Height=9\nI 2022-06-06.11:43:18.356 CoinID: Key=chng-1:0:3958598515398969808, Value=7998900000 Maturity=9 Confirmed, Height=9\nI 2022-06-06.11:43:18.356 Synchronizing with node: 50% (1\u002F2)\nI 2022-06-06.11:43:18.356 Synchronizing with node: 100% (2\u002F2)\nI 2022-06-06.11:43:18.356 Current state is 9-7d15da24d2717100\nI 2022-06-06.11:43:18.356 [ac09d5dc897647bf876b7d17d8219a77][1] Get proof for kernel: 6625e9f7756a98eb\nI 2022-06-06.11:43:18.357 [ac09d5dc897647bf876b7d17d8219a77] Transaction completed\n",[611,118003,118001],{"__ignoreMap":14},[34,118005,4967,118006,118008,118009,118011],{},[611,118007,116958],{}," line we got the ",[611,118010,24365],{}," for this deployed contract.",[1898,118013,118015],{"id":118014},"command-examples","Command examples",[852,118017,118018,118039],{},[59,118019,118020,118023,118024,118030,118032,118033],{},[37,118021,118022],{},"View"," deployed contracts:",[616,118025,118028],{"className":118026,"code":118027,"language":621},[619],".\u002Fbeam-wallet-masternet shader --shader_app_file=mydapp\u002Fapp.wasm --shader_args=\"role=manager,action=view\" --shader_contract_file=mydapp\u002Fcontract.wasm -n localhost:10000\n",[611,118029,118027],{"__ignoreMap":14},[4953,118031],{},"The output could be like this:",[616,118034,118037],{"className":118035,"code":118036,"language":621},[619],"Shader output: {\"contracts\": [{\"cid\": \"d9c5d1782b2d2b6f733486be480bb0d8bcf34d5fdc63bbac996ed76af541cc14\",\"Height\": 9}]}\n",[611,118038,118036],{"__ignoreMap":14},[59,118040,118041,118044,118045,118047,118048,118054,117997,118056],{},[37,118042,118043],{},"Destroy"," contract (with ",[611,118046,24365],{}," from the example above)",[616,118049,118052],{"className":118050,"code":118051,"language":621},[619],".\u002Fbeam-wallet-masternet shader --shader_app_file=mydapp\u002Fapp.wasm --shader_contract_file=mydapp\u002Fcontract.wasm --shader_args=\"role=manager,action=destroy,cid=d9c5d1782b2d2b6f733486be480bb0d8bcf34d5fdc63bbac996ed76af541cc14\" -n localhost:10000\n",[611,118053,118051],{"__ignoreMap":14},[4953,118055],{},[616,118057,118060],{"className":118058,"code":118059,"language":621},[619],"Creating new contract invocation tx on behalf of the shader\nContract ID: d9c5d1782b2d2b6f733486be480bb0d8bcf34d5fdc63bbac996ed76af541cc14\n      Comment: destroy Vault contract   Total fee: 1100000 GROTH\nI 2022-06-06.12:34:15.962 Sync up to 311-788f821396683a25\nI 2022-06-06.12:34:15.962 Synchronizing with node: 0% (0\u002F2)\nI 2022-06-06.12:34:15.967 Synchronizing with node: 0% (0\u002F2)\nI 2022-06-06.12:34:15.967 CoinID: Key=mine-1:1:307, Value=8000000000 Maturity=312 Confirmed, Height=307\nI 2022-06-06.12:34:15.968 CoinID: Key=mine-1:1:308, Value=8000000000 Maturity=313 Confirmed, Height=308\nI 2022-06-06.12:34:15.968 CoinID: Key=mine-1:1:309, Value=8000000000 Maturity=314 Confirmed, Height=309\nI 2022-06-06.12:34:15.968 CoinID: Key=mine-1:1:310, Value=8000000000 Maturity=315 Confirmed, Height=310\nI 2022-06-06.12:34:15.969 CoinID: Key=mine-1:1:311, Value=8000000000 Maturity=316 Confirmed, Height=311\nI 2022-06-06.12:34:15.969 Synchronizing with node: 50% (1\u002F2)\nI 2022-06-06.12:34:15.969 Synchronizing with node: 100% (2\u002F2)\nI 2022-06-06.12:34:15.969 Current state is 311-788f821396683a25\nI 2022-06-06.12:34:15.969 [7b8eb0b0bd2340529996c7598d3ebaff][1] Get proof for kernel: eb45c335bca2e17c\nI 2022-06-06.12:34:15.970 Synchronizing with node: 100% (1\u002F1)\nI 2022-06-06.12:34:15.970 Current state is 311-788f821396683a25\nI 2022-06-06.12:34:26.111 Rolled back to 306-910bc6ca48d05757\nI 2022-06-06.12:34:26.112 Sync up to 312-d156e1bf16939393\nI 2022-06-06.12:34:26.113 Synchronizing with node: 0% (0\u002F2)\nI 2022-06-06.12:34:26.113 CoinID: Key=mine-1:1:307, Value=8000000000 Maturity=312 Confirmed, Height=307\nI 2022-06-06.12:34:26.113 CoinID: Key=mine-1:1:308, Value=8000000000 Maturity=313 Confirmed, Height=308\nI 2022-06-06.12:34:26.114 CoinID: Key=chng-1:0:3958598515398969808, Value=7998900000 Maturity=9 Spent, Height=312\nI 2022-06-06.12:34:26.114 CoinID: Key=chng-1:0:12345322638362229725, Value=7997800000 Maturity=312 Confirmed, Height=312\nI 2022-06-06.12:34:26.115 Synchronizing with node: 50% (1\u002F2)\nI 2022-06-06.12:34:26.115 Synchronizing with node: 100% (2\u002F2)\nI 2022-06-06.12:34:26.115 Current state is 312-d156e1bf16939393\nI 2022-06-06.12:34:26.115 [7b8eb0b0bd2340529996c7598d3ebaff][1] Get proof for kernel: eb45c335bca2e17c\nI 2022-06-06.12:34:26.116 [7b8eb0b0bd2340529996c7598d3ebaff] Transaction completed\n",[611,118061,118059],{"__ignoreMap":14},[8692,118063,14042],{},{"title":14,"searchDepth":15,"depth":15,"links":118065},[118066,118067,118068,118069,118070],{"id":10405,"depth":154,"text":10406},{"id":111759,"depth":154,"text":111760},{"id":115739,"depth":154,"text":115740},{"id":24365,"depth":154,"text":117900},{"id":117912,"depth":154,"text":117913},"This document describes how to use Beam Shaders with CLI wallet running on a local network.",{},"\u002Fdocs\u002Fdev\u002Fbeam-shaders\u002Fusing-beam-shaders-with-cli-wallet-masternet",{"title":117354,"description":118071},"docs\u002Fdev\u002Fbeam-shaders\u002Fusing-beam-shaders-with-cli-wallet-masternet","AQm_O0waefZ4xwlIpE6L-UTkg_LdRh-G0wzpNAYtrrE",{"id":118078,"title":296,"body":118079,"description":118085,"extension":17,"image":18,"meta":118110,"navTitle":18,"navigation":20,"path":118111,"seo":118112,"stem":118113,"__hash__":118114},"docs\u002Fdocs\u002Fdev\u002Fbeam-technology\u002Fatomic-swaps.md",{"type":8,"value":118080,"toc":118108},[118081,118083,118086,118089,118102],[11,118082,296],{"id":768},[34,118084,118085],{},"Beam offers Atomic Swap functionality, enabling peer-to-peer trading of Beam for Bitcoin, Ethereum, Litecoin, DOGE (and more) in a completely decentralized way without an exchange or third-party intermediary. Atomic Swaps are the pinnacle of decentralization, censorship resistance, and core values of cryptocurrencies.",[34,118087,118088],{},"Atomic Swaps are supported only on Beam Desktop Wallets, including the Atomic Swap Marketplace for publishing and accepting swap offers.",[34,118090,118091,118092,11339,118097,118101],{},"See ",[175,118093,118096],{"href":118094,"rel":118095},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FAtomic-swap",[179],"Atomic Swaps design",[175,118098,118100],{"href":102501,"rel":118099},[179],"Atomic Swap token format"," for more detailed information regarding Atomic Swaps.",[34,118103,118104],{},[241,118105],{"alt":118106,"src":118107},"Screenshot of Atomic Swap marketplace in Beam wallet","..\u002F.gitbook\u002Fassets\u002Fswaps.PNG",{"title":14,"searchDepth":15,"depth":15,"links":118109},[],{},"\u002Fdocs\u002Fdev\u002Fbeam-technology\u002Fatomic-swaps",{"title":296,"description":118085},"docs\u002Fdev\u002Fbeam-technology\u002Fatomic-swaps","VZkUa9iMsxTM2onguvLVVN3qbn5g7vStRUGikbBKmdk",{"id":118116,"title":102612,"body":118117,"description":118124,"extension":17,"image":18,"meta":118136,"navTitle":18,"navigation":20,"path":118137,"seo":118138,"stem":118139,"__hash__":118140},"docs\u002Fdocs\u002Fdev\u002Fbeam-technology\u002Flaser-beam.md",{"type":8,"value":118118,"toc":118134},[118119,118122,118125,118128],[11,118120,102612],{"id":118121},"laser-beam",[34,118123,118124],{},"Beam added relative kernels (e.g., kernels that are only valid if another kernel exists on the blockchain) as a part of our expansion of the Mimblewimble protocol, which birthed the creation of Laser Beam direct payment channels similar to those used in the Lightning Network.",[34,118126,118127],{},"Fast transactions and scalability is an issue that most cryptocurrencies have yet to solve. Laser Beam establishes a funded channel between two wallets that performs instant transactions that later settle on-chain. Laser Beam is operational on Beam Mainnet (Command-Line support, only).",[34,118129,118130,118131,181],{},"See our Beam wiki for more information regarding ",[175,118132,102612],{"href":102610,"rel":118133},[179],{"title":14,"searchDepth":15,"depth":15,"links":118135},[],{},"\u002Fdocs\u002Fdev\u002Fbeam-technology\u002Flaser-beam",{"title":102612,"description":118124},"docs\u002Fdev\u002Fbeam-technology\u002Flaser-beam","yfdudheyqMiqoZCB5Kc_8-TtifXAyIzPSkzWoiCGreI",{"id":118142,"title":115556,"body":118143,"description":118204,"extension":17,"image":18,"meta":118205,"navTitle":18,"navigation":20,"path":118206,"seo":118207,"stem":118208,"__hash__":118209},"docs\u002Fdocs\u002Fdev\u002Fbeam-technology\u002Flelantusmw.md",{"type":8,"value":118144,"toc":118202},[118145,118148,118157,118171,118186,118196],[11,118146,115556],{"id":118147},"lelantusmw",[34,118149,118150,118151,118156],{},"Cryptographer ",[175,118152,118155],{"href":118153,"rel":118154},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Faramjivanyan\u002F",[179],"Aram Jivanyan"," of Firo (formerly ZCoin) initially developed Lelantus as a new protocol for a confidential exchange of value.",[34,118158,118159,118160,118164,118165,118170],{},"The core principles of Lelantus describe the related proofs placing a UTXO set into a ",[175,118161,95412],{"href":118162,"rel":118163},"https:\u002F\u002Fbeamx.gitbook.io\u002Fglossary\u002F-Ma56WMqUB1AsnhoithB\u002F",[179]," while the ",[175,118166,118169],{"href":118167,"rel":118168},"https:\u002F\u002Fwww.google.com\u002Fsearch?q=anonymity+set+crypto&sxsrf=ALeKk03stmb--lt3dzzlAfJEASZzekFidw%3A1625620539632&ei=OwDlYKXhJfW3qtsP4f6o8Aw&oq=anonymity+set+crypto&gs_lcp=Cgdnd3Mtd2l6EAMyBQghEKABMgUIIRCgAToHCCMQsAMQJzoHCAAQRxCwAzoCCAA6BggAEBYQHjoFCCEQqwJKBAhBGABQ2UdY1FdggVpoAXACeACAAcYBiAGFCZIBAzAuOJgBAKABAaoBB2d3cy13aXrIAQnAAQE&sclient=gws-wiz&ved=0ahUKEwjl6ra25M_xAhX1m2oFHWE_Cs4Q4dUDCA8&uact=5",[179],"anonymity set"," accumulates. The UTXO set leaves the shielded pool as a \"new\" UTXO set equally the exact total value as UTXO set initially submitted.",[34,118172,118173,118174,118179,118180,118185],{},"Beam combined Lelantus with Mimblewimble to create a hybrid",[175,118175,118178],{"href":118176,"rel":118177},"https:\u002F\u002Fdocs.beam.mw\u002FLelantus-MW.pdf",[179]," LelantusMW protocol",". This hybrid protocol resolves the issue of ",[175,118181,118184],{"href":118182,"rel":118183},"https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F8806723",[179],"linkability",", which in some instances could allow an active attack to establish a link between wallets (though not to determine identities or values of the transactions).",[34,118187,118091,118188,1475,118191,118195],{},[175,118189,115556],{"href":1246,"rel":118190},[179],[175,118192,118194],{"href":87800,"rel":118193},[179],"MW Confidential Lelantus Assets"," for a more in-depth description of our protocol.",[34,118197,118198],{},[175,118199,118200],{"href":118200,"rel":118201},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=cQGQZ1OWPmc&ab_channel=ZKProofStandards",[179],{"title":14,"searchDepth":15,"depth":15,"links":118203},[],"Cryptographer Aram Jivanyan of Firo (formerly ZCoin) initially developed Lelantus as a new protocol for a confidential exchange of value.",{},"\u002Fdocs\u002Fdev\u002Fbeam-technology\u002Flelantusmw",{"title":115556,"description":118204},"docs\u002Fdev\u002Fbeam-technology\u002Flelantusmw","zvtRSRbXVwMle-dcn526yZSbooUR8PyHIh6wDBhhQHU",{"id":118211,"title":1269,"body":118212,"description":118218,"extension":17,"image":18,"meta":118280,"navTitle":18,"navigation":20,"path":118281,"seo":118282,"stem":118283,"__hash__":118284},"docs\u002Fdocs\u002Fdev\u002Fbeam-technology\u002Fmimblewimble.md",{"type":8,"value":118213,"toc":118278},[118214,118216,118219,118225,118228,118231,118237,118240,118249,118255,118258,118261,118273,118275],[11,118215,1269],{"id":1268},[34,118217,118218],{},"Mimblewimble is an innovative confidential cryptocurrency protocol described initially in a whitepaper published in October 2016 by an anonymous author under the pseudonym of Tom Elvis Jedusor.",[34,118220,118221],{},[241,118222],{"alt":118223,"src":118224},"Screenshot of MW whitepaper as it was published","..\u002F.gitbook\u002Fassets\u002FMW.PNG",[34,118226,118227],{},"In this relatively short whitepaper (only six pages), the author has presented a fantastic idea: building a confidential value exchange protocol that does not bloat the blockchain size but instead compressing the blockchain by removing the intermediate transactions while validating the entire blockchain.",[34,118229,118230],{},"To achieve this, replacing the UTXO with Pedersen Commitments and then validating block validity by summing up all inputs and outputs and ensuring that the resulting sum is zero (or more precisely equal to coinbase transaction). Since the same approach can extend to all blocks, the resulting blockchain size growth is a function of UTXOs rather than transactions (which, in average cases, produces an order of magnitude smaller blockchain). Each UTXO also contains a zero-knowledge range proof that ensures the UTXO value is positive..",[34,118232,118233],{},[241,118234],{"alt":118235,"src":118236},"Explanation of the UTXO structure using Pedersen Commitments","..\u002F.gitbook\u002Fassets\u002Fmw2.PNG",[34,118238,118239],{},"To balance the difference in blinding factors, each transaction also contains the \"kernel,\" which includes the signed difference in its simplest form.",[34,118241,118242,118243,118248],{},"Mathematician ",[175,118244,118247],{"href":118245,"rel":118246},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fandrew-poelstra-958a75106\u002F",[179],"Andrew Poelstra"," first reviewed the protocol and published a paper validating the approach.",[34,118250,118251],{},[175,118252,118253],{"href":118253,"rel":118254},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=aHTRlbCaUyM&ab_channel=SFBitcoinDevelopers",[179],[34,118256,118257],{},"Beam started by implementing the whitepaper verbatim and later expanded it by first adding relative kernels and later Lelantus shielded pool and eventually the Beam Virtual Machine that allows to run smart contracts thus transforming Beam into a fully functional Confidential DeFi Platform.",[34,118259,118260],{},"The Beam development team's initial approach was to implement the whitepaper verbatim. They later tweaked the protocol by adding relative kernels before implementing a Lelantus shielded pool. Finally, the Beam Virtual Machine ran smart contracts, thus transforming Beam into a fully functional Confidential DeFi Platform.",[34,118262,118091,118263,1475,118268,118272],{},[175,118264,118267],{"href":118265,"rel":118266},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-Technical-Specifications",[179],"Beam technical specifications",[175,118269,118271],{"href":101920,"rel":118270},[179],"Transaction Creation Protocol"," for additional information detailing the math and design decisions behind Beam Mimblewimble implementation.",[1898,118274],{"id":14},[1898,118276],{"id":118277},"_1",{"title":14,"searchDepth":15,"depth":15,"links":118279},[],{},"\u002Fdocs\u002Fdev\u002Fbeam-technology\u002Fmimblewimble",{"title":1269,"description":118218},"docs\u002Fdev\u002Fbeam-technology\u002Fmimblewimble","ysVBpqc73mc4Ngm5tDX2B9lbbkZrB76XzzoIkRRYmH0",{"id":118286,"title":101645,"body":118287,"description":118293,"extension":17,"image":18,"meta":118307,"navTitle":18,"navigation":20,"path":118308,"seo":118309,"stem":118310,"__hash__":118311},"docs\u002Fdocs\u002Fdev\u002Fbeam-technology\u002Fsbbs.md",{"type":8,"value":118288,"toc":118305},[118289,118291,118294],[11,118290,101645],{"id":101644},[34,118292,118293],{},"SBBS (Secure Bulletin Board System) is an encrypted messaging protocol used to secure communication between Beam wallets. Initially, this protocol only allowed for the interactive creation of Mimblewimble transactions. Eventually, SBBS was adapted to fit many different scenarios of passing information between wallets, such as Atomic Swap marketplace, price feed metadata, and more.",[34,118295,118296,118297,1475,118301,118304],{},"SBBS is a subsystem within each Beam node designed to leak no metadata that can aid in the deanonymization of Beam users. See ",[175,118298,118300],{"href":14240,"rel":118299},[179],"SBBS Design",[175,118302,16635],{"href":102508,"rel":118303},[179]," for additional information regarding SBBS.",{"title":14,"searchDepth":15,"depth":15,"links":118306},[],{},"\u002Fdocs\u002Fdev\u002Fbeam-technology\u002Fsbbs",{"title":101645,"description":118293},"docs\u002Fdev\u002Fbeam-technology\u002Fsbbs","braeuBfpNRQOioweafRJjIKt1nMYzNhia7cZpjKY7Sk",{"id":118313,"title":118314,"body":118315,"description":118322,"extension":17,"image":18,"meta":118333,"navTitle":18,"navigation":20,"path":118334,"seo":118335,"stem":118336,"__hash__":118337},"docs\u002Fdocs\u002Fdev\u002Fbeam-virtual-machine.md","Beam Virtual Machine",{"type":8,"value":118316,"toc":118331},[118317,118320,118323],[11,118318,118314],{"id":118319},"beam-virtual-machine",[34,118321,118322],{},"Beam Virtual Machine (BVM) is a crucial building block in Beam Confidential DeFi platform. BVM follows the WebAssembly technology stack that allows Beam Shaders (smart contract running on Beam blockchain) to support any programming language compiled into WebAssembly, including C++ (currently supported), with Go and Rust to be added at a later date.",[34,118324,118325,118326,118330],{},"‌See ",[175,118327,118329],{"href":2274,"rel":118328},[179],"Beam Virtual Machine Specifications"," for more information regarding BVM.",{"title":14,"searchDepth":15,"depth":15,"links":118332},[],{},"\u002Fdocs\u002Fdev\u002Fbeam-virtual-machine",{"title":118314,"description":118322},"docs\u002Fdev\u002Fbeam-virtual-machine","HKwuc2EblAbk5_8E8qpTzs6wPPozgAIFHfz3GfQth0Q",{"id":118339,"title":118340,"body":118341,"description":14,"extension":17,"image":18,"meta":118348,"navTitle":18,"navigation":20,"path":118349,"seo":118350,"stem":118351,"__hash__":118352},"docs\u002Fdocs\u002Fdev\u002Fbeam-wallets\u002Fcommand-line-wallet.md","Command Line Wallet",{"type":8,"value":118342,"toc":118346},[118343],[11,118344,118340],{"id":118345},"command-line-wallet",{"title":14,"searchDepth":15,"depth":15,"links":118347},[],{},"\u002Fdocs\u002Fdev\u002Fbeam-wallets\u002Fcommand-line-wallet",{"title":118340,"description":14},"docs\u002Fdev\u002Fbeam-wallets\u002Fcommand-line-wallet","rzfAftcRU2ZlLhRBOgLXgs6mCUVJs6QuWg-AneRjQDE",{"id":118354,"title":115527,"body":118355,"description":14,"extension":17,"image":18,"meta":118361,"navTitle":18,"navigation":20,"path":118362,"seo":118363,"stem":118364,"__hash__":118365},"docs\u002Fdocs\u002Fdev\u002Fbeam-wallets\u002Fdesktop-wallet.md",{"type":8,"value":118356,"toc":118359},[118357],[11,118358,115527],{"id":115666},{"title":14,"searchDepth":15,"depth":15,"links":118360},[],{},"\u002Fdocs\u002Fdev\u002Fbeam-wallets\u002Fdesktop-wallet",{"title":115527,"description":14},"docs\u002Fdev\u002Fbeam-wallets\u002Fdesktop-wallet","m9N78l2RX41gie1jEtK2twoUIzPt-G5zYTpAkVXK7qE",{"id":118367,"title":118368,"body":118369,"description":14,"extension":17,"image":18,"meta":118376,"navTitle":18,"navigation":20,"path":118377,"seo":118378,"stem":118379,"__hash__":118380},"docs\u002Fdocs\u002Fdev\u002Fbeam-wallets\u002Fmobile-wallet.md","Mobile Wallet",{"type":8,"value":118370,"toc":118374},[118371],[11,118372,118368],{"id":118373},"mobile-wallet",{"title":14,"searchDepth":15,"depth":15,"links":118375},[],{},"\u002Fdocs\u002Fdev\u002Fbeam-wallets\u002Fmobile-wallet",{"title":118368,"description":14},"docs\u002Fdev\u002Fbeam-wallets\u002Fmobile-wallet","weQz1GqzUmL2XCdv-ZZEDmwUYyP5Kn1cqXSI2xfFE5g",{"id":118382,"title":115642,"body":118383,"description":118389,"extension":17,"image":18,"meta":118407,"navTitle":18,"navigation":20,"path":118408,"seo":118409,"stem":118410,"__hash__":118411},"docs\u002Fdocs\u002Fdev\u002Fbeam-wallets\u002Fweb-wallet.md",{"type":8,"value":118384,"toc":118405},[118385,118387,118390,118393,118399],[11,118386,115642],{"id":115641},[34,118388,118389],{},"Beam Web Wallet is the latest addition to the Beam wallet family. It is implemented as a chrome extension and can be used for sending and receiving Beam coins and Confidential Assets as well as interacting with decentralized applications (DApps) on Beam chain.",[34,118391,118392],{},"To get started with Beam Web Wallet you can get the latest mainnet version here, or install the testnet version for experiments. You are also welcome to review the user documentation here.",[34,118394,118395,118396,181],{},"Source code for Beam Web Wallet is available in this ",[175,118397,116886],{"href":110961,"rel":118398},[179],[34,118400,118401,118402,181],{},"From the architectural point of view, Beam Web Wallet uses the WASM component that wraps Beam Wallet Library. More information about this is available in our wiki ",[175,118403,1248],{"href":102339,"rel":118404},[179],{"title":14,"searchDepth":15,"depth":15,"links":118406},[],{},"\u002Fdocs\u002Fdev\u002Fbeam-wallets\u002Fweb-wallet",{"title":115642,"description":118389},"docs\u002Fdev\u002Fbeam-wallets\u002Fweb-wallet","2FHlF9UXlWjeTjfC1-Avm2npN8CmvY4LwJnlE4nfCn0",{"id":118413,"title":878,"body":118414,"description":118420,"extension":17,"image":18,"meta":118452,"navTitle":18,"navigation":20,"path":118453,"seo":118454,"stem":118455,"__hash__":118456},"docs\u002Fdocs\u002Fdev\u002Fconfidential-assets\u002FREADME.md",{"type":8,"value":118415,"toc":118450},[118416,118418,118421,118424,118430,118433],[11,118417,878],{"id":877},[34,118419,118420],{},"Beam Confidential Assets (CA) are an important extension that allows users to register new asset types and emit (or burn) these assets by simply running commands in the CLI wallet, without any need for programming or smart contracts.",[34,118422,118423],{},"In the screenshot below you see an example of Beam Desktop Wallet holding RAYS - which are Beam Community engagement tokes implemented as CA on Beam chain:",[34,118425,118426],{},[241,118427],{"alt":118428,"src":118429},"Example of RAYS confidential asset in Beam Wallet","..\u002F.gitbook\u002Fassets\u002Frays.PNG",[34,118431,118432],{},"Information about CA includes the following topics:",[852,118434,118435,118441,118447],{},[59,118436,118437],{},[175,118438,118440],{"href":118439},"implementation-of-confidential-assets","Implementing Confidential Assets",[59,118442,118443],{},[175,118444,118446],{"href":118445},"using-confidential-assets\u002F","Using Confidential Assets",[59,118448,118449],{},"Using Confidential Assets through Wallet API",{"title":14,"searchDepth":15,"depth":15,"links":118451},[],{},"\u002Fdocs\u002Fdev\u002Fconfidential-assets\u002Freadme",{"title":878,"description":118420},"docs\u002Fdev\u002Fconfidential-assets\u002FREADME","2QTVyYBEhp6eqGTcTRyrpo2z21xyCN00Me9G9RQx4kE",{"id":118458,"title":118459,"body":118460,"description":119038,"extension":17,"image":18,"meta":119039,"navTitle":18,"navigation":20,"path":119040,"seo":119041,"stem":119042,"__hash__":119043},"docs\u002Fdocs\u002Fdev\u002Fconfidential-assets\u002Fimplementation-of-confidential-assets.md","Implementation of Confidential Assets",{"type":8,"value":118461,"toc":119023},[118462,118464,118467,118518,118520,118523,118532,118534,118537,118551,118553,118559,118565,118567,118570,118573,118582,118588,118591,118594,118597,118600,118606,118609,118617,118623,118626,118629,118647,118650,118653,118655,118658,118661,118664,118696,118698,118707,118710,118721,118724,118732,118743,118745,118747,118761,118764,118769,118771,118781,118784,118786,118788,118814,118819,118830,118835,118838,118850,118853,118862,118865,118868,118871,118890,118900,118903,118909,118947,118950,118961,118964,118967,118973,118979,118985,118987,118990,118998,119006,119009,119017,119020],[11,118463,118459],{"id":118439},[34,118465,118466],{},"Implementing confidential assets on the Beam blockchain takes advantage of the LelantusMW protocol enhancing the privacy and security for all transactions.",[852,118468,118469,118487,118500],{},[59,118470,118471,118474],{},[37,118472,118473],{},"CA support",[852,118475,118476,118479],{},[59,118477,118478],{},"Blinded asset tags, similar to the Elements design by A. Poelstra, can optionally be associated with each Unspent Transaction Output (UTXO).",[59,118480,118481,118482,181],{},"Asset tags have a proof of validity based on the 1-out-of-many Sigma protocol, developed by ",[175,118483,118486],{"href":118484,"rel":118485},"https:\u002F\u002Feprint.iacr.org\u002F2014\u002F764.pdf",[179],"Jens Groth",[59,118488,118489,118492],{},[37,118490,118491],{},"Shielded pool (e.g., LelantusMW)",[852,118493,118494,118497],{},[59,118495,118496],{},"CA support for shielded operations.",[59,118498,118499],{},"One-side payments and direct anonymous payments support.",[59,118501,97147,118502],{},[852,118503,118504,118507,118515],{},[59,118505,118506],{},"All kernels carry excess blinding factors and may include extra validation rules such as height lock and relative lock.",[59,118508,97155,118509],{},[852,118510,118511,118513],{},[59,118512,97160],{},[59,118514,97163],{},[59,118516,118517],{},"Kernels not only affect the balance but include side effects.",[41,118519,97170],{"id":97169},[34,118521,118522],{},"This current design differs significantly from the previous, older design.",[34,118524,97178,118525,118527,118528,97184,118530,97188],{},[611,118526,91193],{}," as a 32-bit integer. For each asset there's an appropriate NUMS generator, which is generates deterministically from the ",[611,118529,91193],{},[611,118531,97187],{},[48,118533,97192],{"id":97191},[34,118535,118536],{},"Due Mimblewimble (MW), it is feasible to encode UTXOs (asset types) using different NUMS (nothing-up-my-sleeve) generators. The UTXO representing the asset is comprises the following:",[852,118538,118539,118542,118545,118548],{},[59,118540,118541],{},"Blinded generator: $$H^* = H_i + k_A•G$$",[59,118543,118544],{},"Asset surjection proof (verifies the provided generator is indeed one of the generators listed (with arbitrary blinding factor added).",[59,118546,118547],{},"Pedersen commitment: $$C = k•G + v•H^*$$",[59,118549,118550],{},"Rangeproof (bulletproof): in terms of this blinded generator.",[1898,118552,97238],{"id":97237},[34,118554,118555,118556,118558],{},"Derived from the Sigma protocol, where the prover specifies a range of ",[611,118557,91193],{}," values, and proves that the specified generator with arbitrary blinded factor is one of the generators within that range.",[34,118560,118561,118562,118564],{},"Meanwhile, the verifier generates a list of asset generators for the provided range, methodically subtracting the provided blinded generator from each element on the list. The Prover confirms the Sigma protocol by providing the opening of one of the elements for the blinding factor, i.e., the ",[611,118563,1123],{}," generator.",[48,118566,88729],{"id":88728},[34,118568,118569],{},"Asset controls grants any user permission to create new asset types vs Beam which are automatically released into circulation with each new block generated. Assets are emitted and burned by the asset owner. The asset lifecycle has three stages: Asset creation, asset emission\u002Fburn and asset destroying.",[1898,118571,118572],{"id":97261},"Asset creation",[34,118574,118575,118576,118578,118579,118581],{},"When sending an asset creating transaction type, it provides both the ",[37,118577,97272],{}," and associated ",[37,118580,7997],{},". Any proceeding asset actions will require a private key signature, and metadata visible to all users is immutable once the asset is created.",[34,118583,118584,118585,118587],{},"Metadata reserves a significant number of Beams when locking an asset, meaning that this transaction implicitly uses up that amount. If the transaction is successful, the system assigns the lowest available and unused ",[611,118586,91193],{}," to the asset and links it to the asset.",[1898,118589,118590],{"id":97292},"Asset emission\u002Fburn",[34,118592,118593],{},"The user initiates a transaction by sending a unique asset emission kernel, which can have a positive or negative emission amount. To complete the transaction, the kernel excess blinding factor must be signed by the appropriate private key of the asset owner.",[34,118595,118596],{},"This transaction will automatically create or consume a certain amount of the asset, which should be balanced out by other transaction elements such as inputs and outputs.",[1898,118598,118599],{"id":97302},"Asset destroying",[34,118601,118602,118603,118605],{},"To destroy an asset, an asset-destroying kernel with owner key signature is required. Once the asset has been destroyed, the ",[611,118604,91193],{}," is no longer linked to the owner, and the locked Beams  return to the user.",[34,118607,118608],{},"Asset can be destroyed only if:",[852,118610,118611,118614],{},[59,118612,118613],{},"Total burn occurs.",[59,118615,118616],{},"Minimum lock period elapsed after asset burn completes without an emitted event.",[34,118618,118619,118620,118622],{},"This minimum lock period prevents any asset owner manipulation or tampering. For example, if a user requests a specific asset, the ",[611,118621,91193],{}," must be directly linked with the asset info (Metadata and owner key) before its transaction expires. This tweak prevents the asset owner from destroying or re-create an asset during the lock period.",[48,118624,118625],{"id":97329},"Asset state",[34,118627,118628],{},"The current state of the system includes a commitment to the latest state of assets, represented as an MMR root of all active assets and their relevant information:",[852,118630,118631,118634,118636],{},[59,118632,118633],{},"Static info (Metadata and owner public key)",[59,118635,97344],{},[59,118637,118638,118639],{},"Lockheight:  The system maintains the latest height of the asset's transition from being burned to not being burned. Based on this information, users can take certain actions:\n",[852,118640,118641,118644],{},[59,118642,118643],{},"Asset owner can determine whether and when the asset can be destroyed, and consequently unlock the funds that were previously locked.",[59,118645,118646],{},"Other users can estimate the minimum height range within which the asset can be safely used. This helps determine whether the asset was subject to reorgs in the past or could be tampered with in the future.",[34,118648,118649],{},"Locking funds for asset creation is necessary to prevent spamming in the system. If there are too many assets, it can cause the Nodes to become heavier and can also reduce the effectiveness of the asset surjection proof due to a limited anonymity set. Although a significant amount of funds need to be locked, this design should not be an issue for users who are experimenting with assets as they will receive their funds back upon completion.",[34,118651,118652],{},"However, for organizations selling assets to users, it is unclear if they will ever be able to burn their assets back, as they must first own all of their assets. Despite this, the risk seems justified.",[48,118654,97370],{"id":97369},[34,118656,118657],{},"UTXO-based systems, including MW, face a unique issue of repeatability. When an attacker possesses all the inputs of a transaction where they pay someone (which is typically the case), they can repeat this transaction in the future without the recipient's consent. Furthermore, if the recipient spends only the inputs received from the attacker, the attacker can repeat those transactions as well, and so on. This process can continue until a certain depth is reached where additional inputs are required, which were not initially obtained from the attacker.",[34,118659,118660],{},"Trading only beams reduces the impact of 'replays' since users can only receive beams, not lose them. However, the situation is different when it comes to asset-controlling transactions. Since assets are created through transactions, attackers can potentially replay these transactions and cause additional asset emissions, leading to a significant problem. Additionally, by replaying these transactions, attackers may be able to gain some of the newly created assets, further compounding the issue.",[34,118662,118663],{},"To mitigate this threat, starting from Fork2, duplicating kernels will be forbidden. Technically this is achieved by the following:",[852,118665,118666,118673,118677,118684,118690],{},[59,118667,118668,118669,118672],{},"Additional consensus parameter (",[611,118670,118671],{},"MaxKernelLifespan)"," equivalent to roughly ~ one month.",[59,118674,97395,118675,97399],{},[611,118676,97398],{},[59,118678,97402,118679,118681,118682,97410],{},[611,118680,97405],{}," (maximum height) will have an implicit max height lock as ",[611,118683,97409],{},[59,118685,118686,118687,118689],{},"Each node will track all recent kernels down to the current height minus ",[611,118688,97391],{},". Kernels that are below this height may be removed from the system for the purpose of blockchain verification.",[59,118691,118692,118693,118695],{},"Side effect: Kernels with relative height lock (available on mainnet) will not be able to reference a kernel older than ",[611,118694,97391],{},". However, this should not pose an issue as relative locks require much shorter duration. This effectively makes kernel replaying illegal, reducing the burden on the nodes to track only the most recent kernels.",[41,118697,97429],{"id":97428},[34,118699,118700,118702,118703,118706],{},[37,118701,95788],{},": The ",[175,118704,97439],{"href":95793,"rel":118705},[179]," is the creation of Zcoin's cryptographer Aram Jivanyan as part of research aimed at improving privacy protocols. Our team's design and implementation are based on the publicly-available Lelantus scientific paper. All our code was developed from scratch based on this paper as our reference.",[34,118708,118709],{},"While Lelantus greatly improves upon privacy, to solve the issue of MW linkability, users can recycle funds via a shielded pool. This tweak from the original Lelantus protocol is unique in the following ways:",[852,118711,118712,118715,118718],{},[59,118713,118714],{},"Transaction values are never revealed.",[59,118716,118717],{},"The Lelantus Protocol formulates transactions as mint\u002Fspend primitives, which can be combined with MW and shielded parts in any way that satisfies the balance-to-zero principle used in MW.",[59,118719,118720],{},"Native CA support.",[34,118722,118723],{},"In technical terms, the system supports the following in addition to standard transaction elements:",[852,118725,118726,118729],{},[59,118727,118728],{},"Shielded output: transfers a portion of MW into shielded pool",[59,118730,118731],{},"Shielded input: withdraws a portion of the shielded pool back into MW (both are deemed as special transaction kernels on the blockchain.",[34,118733,118734,118735,118737,118738,118740,118741,181],{},"To supplement the standard MW blinding factor generator ",[611,118736,1123],{},", an extra generator ",[611,118739,95858],{}," is available for the secondary blinding factor, i.e., the ",[100,118742,97483],{},[48,118744,97487],{"id":97486},[34,118746,89011],{},[852,118748,118749,118752,118754,118756,118759],{},[59,118750,118751],{},"Blinded serial number commitment: $$C_s = k_s•G + s•J$$",[59,118753,97509],{},[59,118755,97512],{},[59,118757,118758],{},"UTXO commitment $$C_ = k_•G + v•H$$",[59,118760,97529],{},[34,118762,118763],{},"The UTXO commitment $$C_$$ (without the serial number) is accounted for when verifying the transaction balance. After verification, rather than combining UTXO set, the following double-blinded commitment goes into the shielded pool:",[852,118765,118766],{},[59,118767,118768],{},"$$C = C_s + C_ = s•J + (k_s + k_)•G + v•H$$",[34,118770,97567],{},[34,118772,118773,118774,118776,118777,118780],{},"The serial number (",[37,118775,1446],{},") is obtained from a different public key (",[611,118778,118779],{},"SpendKey)"," which discloses during the spending process. In addition, the prover will need to prove the knowledge of the appropriate private key.",[34,118782,118783],{},"In addition, the $$C_s$$ commitment must be unique. This prevents accidental misuse, and avoids making subsequent element withdrawal impossible.",[48,118785,97589],{"id":97588},[34,118787,89011],{},[852,118789,118790,118793,118798,118800,118808,118811],{},[59,118791,118792],{},"Range within the shielded poo containing the being-spent element.",[59,118794,118795,118797],{},[611,118796,97576],{}," is disclosed, providing the key signature needed for the shielded input.",[59,118799,97512],{},[59,118801,118802,118803],{},"Output commitment $$C_ = k_•G + v•H$$\n",[852,118804,118805],{},[59,118806,118807],{},"It should commit to the same value, but the blinding factor $$k_$$ differs from that used in shielded output.",[59,118809,118810],{},"Generalized Schnorr's signature, that proves the $$C_$$ is indeed of this form.",[59,118812,118813],{},"Sigma proof for the rest.",[34,118815,6547,118816,118818],{},[611,118817,97576],{}," must be unique to prevent double-spending of an asset.",[34,118820,118821,118822,118826,118827,118829],{},"During verification, the verifier computes the serial number (",[37,118823,118824],{},[611,118825,1446],{},") from the ",[611,118828,97576],{}," while calculating the following:",[852,118831,118832],{},[59,118833,118834],{},"$$C = C_ + s•J$$ This EC point is subtracted (methodically) from all the elements in the referenced range of the shielded pool.",[34,118836,118837],{},"If everything is correct, then the element spent transforms into:",[852,118839,118840],{},[59,118841,118842,118843,1475,118845,118847,118848,118564],{},"$$C = (k_s + k_ - k_)•G$$ Note that both as the set and serial number generators ",[611,118844,1146],{},[611,118846,95858],{}," are eliminated. The prover proceeds to demonstrate their knowledge of the opening of one of the elements within the range, using only the ",[611,118849,1123],{},[48,118851,118852],{"id":97692},"One-side payments, and direct anonymous payments",[34,118854,118855,118856,118858,118859,118861],{},"The shielded pool enables one-side payments (MW transactions require mutual agreement from both parties). This is because the serial number (",[37,118857,1447],{},") is derived from an arbitrary public key ",[611,118860,97576],{},", which can be calculated by the sender without the disclosure of the appropriate private key.",[34,118863,118864],{},"However, this method is not totally anonymous as the sender can see when the receiver spends the funds. To solve this issue, the shielded output consists of two parts: the $$C_s$$ and $$C_$$. During the initial setup, the receiver generates and sends an arbitrary number of different $$C_s$$ elements (with their Schnorr's signatures). The sender then uses these elements in the shielded output without knowledge of the serial number.",[34,118866,118867],{},"Our scheme enables the receiver to scan the blockchain to detect all its shielded outputs without needing an auxiliary channel. For $$C_s$$ all the owner info is embedded within the Schnorr's signature (which has a degree of freedom). For the $$C_$$, the owner info is embedded in the Schnorr's signature, while the requires info recovery from the bulletproof.",[34,118869,118870],{},"Ultimately, the following information is recovered:",[852,118872,118873,118881,118884,118887],{},[59,118874,118875,118876,118878,118879],{},"All the relevant parameters: blinding factor, ",[611,118877,97576],{},", value, ",[611,118880,91193],{},[59,118882,118883],{},"Is it visible to the sender, i.e., was the $$C_s$$ created by the sender or the receiver in advance.",[59,118885,118886],{},"Sender ID (a public key belonging to the sender).",[59,118888,118889],{},"Default 32-byte message.",[34,118891,118892,118893,118896,118897,118899],{},"The aforementioned information can be retrieved through the ",[611,118894,118895],{},"Owner"," key. However, the ",[611,118898,90440],{}," key is still necessary to spend it. This enables the utilization of the owner key in owned nodes to recognize owned TXOs and shielded elements without jeopardizing the funds in the event of a node compromise.",[48,118901,118902],{"id":97770},"Implications and constraints",[34,118904,118905,118906,181],{},"The Lelantus is a great technology, ",[37,118907,118908],{},"but it comes with known limitations",[852,118910,118911,118930],{},[59,118912,118913,118914],{},"Scalability (size).\n",[852,118915,118916],{},[59,118917,118918,118919],{},"No MW cut-through for the shielded inputs\u002Foutputs. MW cut-through applies to non-shielded inputs\u002Foutputs.\n",[852,118920,118921,118924,118927],{},[59,118922,118923],{},"Shielded output ~800 bytes.",[59,118925,118926],{},"Shielded input ~1.6KB, can vary depending on anonymity set size.",[59,118928,118929],{},"If asset type is blinded: two more asset proofs (output and input), another ~2KB",[59,118931,118932,118933],{},"Verification time.\n",[852,118934,118935,118938,118941,118944],{},[59,118936,118937],{},"Roughly one second for 64KB elements (very big).",[59,118939,118940],{},"Easily parallelized",[59,118942,118943],{},"Only 10 milliseconds for each additional proof for the same anonymity set (batch verification).",[59,118945,118946],{},"During initial sync, many blocks can be batch-verified at once.",[34,118948,118949],{},"Thus, in order to create a sensible system that reaps the advantages of MW while also disrupting linkability, we have developed the following design:",[852,118951,118952,118955,118958],{},[59,118953,118954],{},"The majority of transactions should still use MW.",[59,118956,118957],{},"The number of shielded inputs\u002Foutputs in a block is limited, creating a competitive fee market.",[59,118959,118960],{},"The spend window, which determines the anonymity set size, is limited, and this limit is further reduced if the element being spent is not one of the most recent.",[34,118962,118963],{},"The maximum spend window or anonymity set size is yet to be decided but will likely be between 50,000 to 100,000 KB. The number of shielded elements in a block will be limited to create this window over several days.",[34,118965,118966],{},"Additionally, users can only spend their shielded elements with the maximum spend window if it references the most recent elements. If they miss their opportunity, they will have to spend it in a smaller spend window of around 1,000 elements. However, they can recycle it through the shielded pool again.",[34,118968,118969,118970,5102],{},"As a result, our team has designed a network that offers equal amounts of ",[37,118971,118972],{},"scalability and performance",[852,118974,118975,118977],{},[59,118976,97849],{},[59,118978,97852],{},[34,118980,118981,118982,118984],{},"But importantly, those restrictions will also lead to ",[37,118983,97858],{},". Here's why:",[48,118986,1431],{"id":1430},[34,118988,118989],{},"In order to understand how effectively privacy is achieved through hiding within a crowd, it's important to define two terms: absolute and relative anonymity sets.",[852,118991,118992,118995],{},[59,118993,118994],{},"The absolute anonymity set size refers to the total number of individuals in the set that the user has chosen to hide among.",[59,118996,118997],{},"The relative anonymity set size, on the other hand, is the ratio of the chosen absolute set size to the overall set size weighted by the probabilities of hiding in each potential subset.",[34,118999,119000,119001,181],{},"In simpler terms, the relative set size represents the probability that a user will choose a specific absolute set. To achieve a high level of privacy, both the absolute and relative sets should be maximized. If the absolute set size is small, the user may already be suspected. If the relative set size is small, the user can still be de-anonymized through repeated transactions, even if the absolute anonymity set is large. ",[175,119002,119005],{"href":119003,"rel":119004},"https:\u002F\u002Fzfnd.org\u002Fblockchain-privacy-equal-parts-theory-and-practice\u002F",[179],"A good explanation by Ian Miers is here",[34,119007,119008],{},"Due to the finite size of the anonymity set in Lelantus, a compromise must be made.",[852,119010,119011,119014],{},[59,119012,119013],{},"If too few users use the system, then each user's activity can be easily identified.",[59,119015,119016],{},"However, if too many users use the system, the anonymity set is filled up quickly, resulting in a smaller relative set size and a lower probability of an unrelated user falling into the same set.",[34,119018,119019],{},"In contrast, systems with an unlimited anonymity set size, such as Zcash, have an advantage in this regard. However, in practice, the difference may not be significant since users typically spend their recent outputs, which can be assumed by attackers with a significant probability even in Lelantus.",[34,119021,119022],{},"To accurately estimate the practical privacy of the system, real-world usage data may be needed.",{"title":14,"searchDepth":15,"depth":15,"links":119024},[119025,119031],{"id":97169,"depth":15,"text":97170,"children":119026},[119027,119028,119029,119030],{"id":97191,"depth":154,"text":97192},{"id":88728,"depth":154,"text":88729},{"id":97329,"depth":154,"text":118625},{"id":97369,"depth":154,"text":97370},{"id":97428,"depth":15,"text":97429,"children":119032},[119033,119034,119035,119036,119037],{"id":97486,"depth":154,"text":97487},{"id":97588,"depth":154,"text":97589},{"id":97692,"depth":154,"text":118852},{"id":97770,"depth":154,"text":118902},{"id":1430,"depth":154,"text":1431},"This page describes CA(Confidential Assets), Lelantus-MW, as well as will enable adding more features in the future.",{},"\u002Fdocs\u002Fdev\u002Fconfidential-assets\u002Fimplementation-of-confidential-assets",{"title":118459,"description":119038},"docs\u002Fdev\u002Fconfidential-assets\u002Fimplementation-of-confidential-assets","R_qr5OnnIVfmAiWz5luMKlL-K-PpBkx3Ifty3Dta6t4",{"id":119045,"title":118446,"body":119046,"description":87794,"extension":17,"image":18,"meta":119523,"navTitle":18,"navigation":20,"path":119524,"seo":119525,"stem":119526,"__hash__":119527},"docs\u002Fdocs\u002Fdev\u002Fconfidential-assets\u002Fusing-confidential-assets\u002FREADME.md",{"type":8,"value":119047,"toc":119496},[119048,119051,119053,119055,119073,119081,119089,119096,119098,119100,119103,119112,119115,119121,119131,119136,119138,119145,119149,119151,119154,119157,119159,119163,119165,119171,119174,119179,119181,119183,119187,119193,119197,119200,119204,119207,119214,119217,119224,119227,119231,119233,119235,119238,119240,119242,119246,119252,119258,119262,119265,119267,119270,119272,119275,119278,119281,119285,119288,119290,119292,119296,119302,119308,119312,119315,119318,119321,119324,119327,119331,119334,119337,119339,119344,119350,119356,119360,119363,119365,119368,119370,119373,119375,119378,119380,119383,119385,119387,119393,119398,119408,119412,119415,119419,119422,119426,119428,119436,119442,119445,119448,119451,119457,119460,119464,119467,119469,119471,119473,119476,119482,119485,119489,119492,119494],[11,119049,118446],{"id":119050},"using-confidential-assets",[41,119052,10406],{"id":10405},[48,119054,17995],{"id":17994},[34,119056,119057,119058,87822,119064,87826,119069,87829,119071,87833],{},"Confidential Assets (CA) support requires ",[175,119059,119062],{"href":119060,"rel":119061},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fdiscussions\u002F1889",[179],[611,119063,87821],{},[175,119065,119067],{"href":84290,"rel":119066},[179],[611,119068,87825],{},[611,119070,87821],{},[611,119072,87832],{},[34,119074,87836,119075,119077,119078,119080],{},[611,119076,87825],{}," CA support is disabled by default to prevent compatibility issues. Currently, CA transactions are not supported in the GUI wallet, and the GUI wallet would reject all incoming CA transactions with the ",[611,119079,87842],{}," error code. Rejected CA transactions do not display in the GUI wallet. Full GUI assets support is planned for later releases.",[34,119082,119083,119084,119086,119087,87833],{},"Users must specify the ",[611,119085,4979],{}," flag to perform  CA transactions with the CLI and API Without this flag, CA transactions would be rejected with the ",[611,119088,87842],{},[34,119090,87854,119091,11339,119093,119095],{},[611,119092,87857],{},[611,119094,5265],{}," ID parameters added to the corresponding commands.",[48,119097,87866],{"id":23289},[34,119099,87869],{},[48,119101,87874],{"id":119102},"asset-owner",[34,119104,119105,119107,119108,119111],{},[611,119106,87874],{}," is the person (wallet) who registered the asset. The asset owner owns the private key used for signing asset ",[611,119109,119110],{},"issue\u002Fconsume\u002Funreg"," operations.",[48,119113,87887],{"id":119114},"asset-id",[34,119116,119117,119118,119120],{},"The asset is identified to the network by its",[611,119119,87887],{}," which is an unsigned integer. All asset-related actions are performed using the asset ID. The node automatically assigns the first available asset ID when registering an asset.",[34,119122,119123,119124,119127,119128,87901],{},"Technically there can be a situation when one asset is unregistered, ",[611,119125,119126],{},"asset id"," becomes available, and the next registered asset takes the id that has been previously used. A ",[175,119129,4948],{"href":119130},".\u002F#lock-period",[34,119132,119133,119135],{},[611,119134,87887],{}," of 0 is reserved and represents an original BEAM.",[48,119137,87909],{"id":5346},[34,119139,119140,87914,119142,6618],{},[611,119141,5347],{},[175,119143,5352],{"href":119144},".\u002F#getting-asset-info",[34,119146,87922,119147,87926],{},[611,119148,87925],{},[48,119150,87934],{"id":87931},[34,119152,119153],{},"Maximum Asset emission is $$2^{128}-1$$ asset nth units. Maximum amount for a single asset transaction (issue, consume, send, receive &c.) is $$2^{64}-1$$ asset nth units.",[48,119155,4948],{"id":119156},"lock-period",[34,119158,87954],{},[34,119160,87957,119161,87961],{},[611,119162,87960],{},[34,119164,87964],{},[852,119166,119167,119169],{},[59,119168,87969],{},[59,119170,87972],{},[48,119172,87977],{"id":119173},"restore",[34,119175,119176,119177,87983],{},"General rules apply to the restore process. You can restore your UTXOs but not transactions. To restore shielded UTXOs node used for the restore process should be running with your owner key. Asset info is not restored automatically. You would need to execute the ",[611,119178,5352],{},[41,119180,87987],{"id":87986},[48,119182,87991],{"id":87990},[34,119184,87994,119185,3862],{},[611,119186,87997],{},[616,119188,119191],{"className":119189,"code":119190,"language":621},[619],".\u002Fbeam-wallet asset_reg --pass 1 -n 127.0.0.1:10000 --asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth;CUSTOM1=VAL1;CUSTOM2=VAL2\" --fee 100000 --enable_assets\n",[611,119192,119190],{"__ignoreMap":14},[34,119194,88006,119195,5268],{},[611,119196,4979],{},[48,119198,87866],{"id":119199},"fees-1",[34,119201,88015,119202,88019],{},[611,119203,88018],{},[48,119205,88024],{"id":119206},"asset-meta",[34,119208,88027,119209,88031,119211,88038],{},[611,119210,88030],{},[175,119212,88037],{"href":119213},"asset-metadata-descriptor",[48,119215,87887],{"id":119216},"asset-id-1",[34,119218,88045,119219,88048,119221,88054],{},[611,119220,87887],{},[175,119222,87887],{"href":119223},".\u002F#asset-id",[48,119225,88059],{"id":119226},"lock-period-1",[34,119228,88062,119229,88054],{},[175,119230,4948],{"href":119130},[48,119232,1431],{"id":1430},[34,119234,88073],{},[48,119236,88078],{"id":119237},"api-restriction",[34,119239,88081],{},[41,119241,88085],{"id":88084},[34,119243,88088,119244,88092],{},[611,119245,88091],{},[616,119247,119250],{"className":119248,"code":119249,"language":621},[619],".\u002Fbeam-wallet issue --pass 1 --asset_id 1 -n 127.0.0.1:10000 --amount 10 --fee 100000 --enable_assets\n",[611,119251,119249],{"__ignoreMap":14},[616,119253,119256],{"className":119254,"code":119255,"language":621},[619],".\u002Fbeam-wallet issue --pass 1 --asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth;CUSTOM1=VAL1;CUSTOM2=VAL2\" -n 127.0.0.1:10000 --amount 10 --fee 100000 --enable_assets\n",[611,119257,119255],{"__ignoreMap":14},[34,119259,88107,119260,5268],{},[611,119261,4979],{},[1898,119263,88114],{"id":119264},"coins-availability",[34,119266,88117],{},[1898,119268,87866],{"id":119269},"fees-2",[34,119271,88124],{},[1898,119273,87934],{"id":119274},"limits-1",[34,119276,119277],{},"Maximum Asset emission is $$2^{128}-1$$ asset nth units. Maximum amount for a single issue transaction is $$2^{64}-1$$ asset nth units.",[1898,119279,88059],{"id":119280},"lock-period-2",[34,119282,88142,119283,88147],{},[175,119284,4948],{"href":119130},[1898,119286,1431],{"id":119287},"privacy-1",[34,119289,88154],{},[41,119291,88158],{"id":88157},[34,119293,88161,119294,6618],{},[611,119295,88164],{},[616,119297,119300],{"className":119298,"code":119299,"language":621},[619],".\u002Fbeam-wallet consume --pass 1 --asset_id 1 -n 127.0.0.1:10000 --amount 10 --fee 100000 --enable_assets\n",[611,119301,119299],{"__ignoreMap":14},[616,119303,119306],{"className":119304,"code":119305,"language":621},[619],".\u002Fbeam-wallet consume --pass 1 --asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth;CUSTOM1=VAL1;CUSTOM2=VAL2\" -n 127.0.0.1:10000 --amount 10  --fee 100000 --enable_assets\n",[611,119307,119305],{"__ignoreMap":14},[34,119309,88179,119310,5268],{},[611,119311,4979],{},[1898,119313,87866],{"id":119314},"fees-3",[34,119316,119317],{},"Asset consumption is free, requiring only regular transaction fees.",[1898,119319,87934],{"id":119320},"limits-2",[34,119322,119323],{},"Maximum amount for a single consume transaction is $$2^{64}-1$$ asset nth units.",[1898,119325,88059],{"id":119326},"lock-period-3",[34,119328,88204,119329,88054],{},[175,119330,4948],{"href":119130},[1898,119332,1431],{"id":119333},"privacy-2",[34,119335,119336],{},"Asset information is forcibly refreshed (received from node) during this operation. Operation fails if node doesn't confirm the asset. Transaction kernel, including the consumed asset amount and asset id becomes visible to the world. Node would know that you\u002Fyour IP is the owner of the asset.",[41,119338,87969],{"id":88218},[34,119340,88221,119341,119343],{},[611,119342,88224],{},"command.",[616,119345,119348],{"className":119346,"code":119347,"language":621},[619],".\u002Fbeam-wallet asset_unreg --pass 1 -n 127.0.0.1:10000 --asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth;CUSTOM1=VAL1;CUSTOM2=VAL2\" --fee 100000  --enable_assets\n",[611,119349,119347],{"__ignoreMap":14},[616,119351,119354],{"className":119352,"code":119353,"language":621},[619],".\u002Fbeam-wallet asset_unreg --pass 1 -n 127.0.0.1:10000 --asset_id 1 --fee 100000 --enable_assets\n",[611,119355,119353],{"__ignoreMap":14},[34,119357,88239,119358,5268],{},[611,119359,4979],{},[1898,119361,87866],{"id":119362},"fees-4",[34,119364,88248],{},[1898,119366,87887],{"id":119367},"asset-id-2",[34,119369,88255],{},[1898,119371,87934],{"id":119372},"limits-3",[34,119374,119323],{},[1898,119376,1431],{"id":119377},"privacy-3",[34,119379,88269],{},[1898,119381,88078],{"id":119382},"api-restriction-1",[34,119384,88276],{},[41,119386,88283],{"id":88279},[34,119388,88286,119389,88289,119391,88292],{},[611,119390,5352],{},[611,119392,5352],{},[616,119394,119396],{"className":119395,"code":88296,"language":621},[619],[611,119397,88296],{"__ignoreMap":14},[34,119399,119400,119402,119403,11339,119405,119407],{},[611,119401,5352],{}," command always receives the latest information from node. To view locally stored information regular info command should be used with ",[611,119404,87857],{},[611,119406,5265],{}," ID parameters.",[34,119409,88314,119410,88318],{},[611,119411,88317],{},[1898,119413,87866],{"id":119414},"fees-5",[34,119416,119417,88327],{},[611,119418,5352],{},[1898,119420,1431],{"id":119421},"privacy-4",[34,119423,119424,88336],{},[611,119425,5352],{},[41,119427,88440],{"id":88439},[34,119429,88443,119430,88446,119432,1475,119434,15365],{},[611,119431,15797],{},[611,119433,5265],{},[611,119435,4979],{},[616,119437,119440],{"className":119438,"code":119439,"language":621},[619],".\u002Fbeam-wallet send -n 127.0.0.1:10000 --pass 1 -r 1ec08b72ea25cd471ec37f9088a1ae0dcb8f4526eff3b8ab38f8e23901e2adf48a2 --amount 5 --asset_id 1 --enable_assets\n",[611,119441,119439],{"__ignoreMap":14},[1898,119443,87934],{"id":119444},"limits-4",[34,119446,119447],{},"Maximum amount for a single send transaction is $$2^{64}-1$$ asset nth units.",[1898,119449,88414],{"id":119450},"enable-flag",[34,119452,88472,119453,88475,119455,87833],{},[611,119454,4979],{},[611,119456,87842],{},[1898,119458,4948],{"id":119459},"lock-period-4",[34,119461,88484,119462,87833],{},[611,119463,88487],{},[1898,119465,1431],{"id":119466},"privacy-5",[34,119468,88494],{},[41,119470,88498],{"id":88497},[34,119472,88501],{},[1898,119474,88414],{"id":119475},"enable-flag-1",[34,119477,88508,119478,88512,119480,87833],{},[611,119479,88511],{},[611,119481,87842],{},[1898,119483,4948],{"id":119484},"lock-period-5",[34,119486,88521,119487,87833],{},[611,119488,88487],{},[1898,119490,1431],{"id":119491},"privacy-6",[34,119493,88530],{},[34,119495,88533],{},{"title":14,"searchDepth":15,"depth":15,"links":119497},[119498,119508,119517,119518,119519,119520,119521,119522],{"id":10405,"depth":15,"text":10406,"children":119499},[119500,119501,119502,119503,119504,119505,119506,119507],{"id":17994,"depth":154,"text":17995},{"id":23289,"depth":154,"text":87866},{"id":119102,"depth":154,"text":87874},{"id":119114,"depth":154,"text":87887},{"id":5346,"depth":154,"text":87909},{"id":87931,"depth":154,"text":87934},{"id":119156,"depth":154,"text":4948},{"id":119173,"depth":154,"text":87977},{"id":87986,"depth":15,"text":87987,"children":119509},[119510,119511,119512,119513,119514,119515,119516],{"id":87990,"depth":154,"text":87991},{"id":119199,"depth":154,"text":87866},{"id":119206,"depth":154,"text":88024},{"id":119216,"depth":154,"text":87887},{"id":119226,"depth":154,"text":88059},{"id":1430,"depth":154,"text":1431},{"id":119237,"depth":154,"text":88078},{"id":88084,"depth":15,"text":88085},{"id":88157,"depth":15,"text":88158},{"id":88218,"depth":15,"text":87969},{"id":88279,"depth":15,"text":88283},{"id":88439,"depth":15,"text":88440},{"id":88497,"depth":15,"text":88498},{},"\u002Fdocs\u002Fdev\u002Fconfidential-assets\u002Fusing-confidential-assets\u002Freadme",{"title":118446,"description":87794},"docs\u002Fdev\u002Fconfidential-assets\u002Fusing-confidential-assets\u002FREADME","5077VYxLxRwxJ-TZNBKtEhZ4wtBuZ1vZPwQ-rA9E_Ik",{"id":119529,"title":119530,"body":119531,"description":9489,"extension":17,"image":18,"meta":119694,"navTitle":18,"navigation":20,"path":119695,"seo":119696,"stem":119697,"__hash__":119698},"docs\u002Fdocs\u002Fdev\u002Fconfidential-assets\u002Fusing-confidential-assets\u002Fasset-metadata-descriptor.md","Asset Metadata Descriptor",{"type":8,"value":119532,"toc":119686},[119533,119535,119539,119541,119566,119570,119572,119578,119581,119585,119624,119626,119662,119666,119671,119676,119681],[11,119534,119530],{"id":119213},[41,119536,119538],{"id":119537},"requirements","Requirements",[34,119540,9496],{},[852,119542,119543,119545,119554,119562,119564],{},[59,119544,9501],{},[59,119546,119547,119548,119551,119552],{},"Asset metadata should be serialized as a simple ",[611,119549,119550],{},"name=value"," set of pairs, delimited with ",[611,119553,9507],{},[59,119555,6547,119556,9513,119558,9517,119560,9520],{},[611,119557,9512],{},[611,119559,9516],{},[611,119561,9507],{},[59,119563,9523],{},[59,119565,9526],{},[41,119567,119569],{"id":119568},"properties","Properties",[34,119571,9530],{},[852,119573,119574,119576],{},[59,119575,9535],{},[59,119577,9538],{},[34,119579,119580],{},"Both types of properties are immutable and can't be changed after the asset is created. Therefore, double-checking the values before starting the asset registration is strongly recommended",[48,119582,119584],{"id":119583},"required-properties","Required properties:",[852,119586,119587,119594,119602,119610,119617],{},[59,119588,119589,119591,119592],{},[611,119590,9555],{}," metadata schema version currently must be ",[611,119593,6679],{},[59,119595,119596,119598,119599],{},[611,119597,9563],{}," human-readable asset name, for example ",[611,119600,119601],{},"Beam Coin",[59,119603,119604,119606,119607,119609],{},[611,119605,9569],{}," human-readable short name\u002Fasset code, for example ",[611,119608,98010],{},". Length should not exceed 6 characters",[59,119611,119612,119614,119615],{},[611,119613,9575],{}," human-readable asset unit name, for example ",[611,119616,785],{},[59,119618,119619,119621,119622],{},[611,119620,9581],{}," human-readable smallest asset unit name (nth-unit name), for example ",[611,119623,1127],{},[48,119625,9538],{"id":9601},[852,119627,119628,119634,119638,119642,119646,119650,119654,119658],{},[59,119629,119630,9594,119632,9598],{},[611,119631,9593],{},[611,119633,9597],{},[59,119635,119636,9609],{},[611,119637,9608],{},[59,119639,119640,9615],{},[611,119641,9614],{},[59,119643,119644,9621],{},[611,119645,9620],{},[59,119647,119648,9627],{},[611,119649,9626],{},[59,119651,119652,9633],{},[611,119653,9632],{},[59,119655,119656,9639],{},[611,119657,9638],{},[59,119659,119660,9645],{},[611,119661,9644],{},[41,119663,119665],{"id":119664},"examples","Examples",[852,119667,119668],{},[59,119669,119670],{},"with required properties only:",[34,119672,119673],{},[611,119674,119675],{},"--asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth\"",[852,119677,119678],{},[59,119679,119680],{},"with required and optional properties:",[34,119682,119683],{},[611,119684,119685],{},"--asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth;NTH_RATIO=1000;OPT_SHORT_DESC=Off with their heads!;OPT_LONG_DESC=The fact that this catch phrase ... this story remains a part of popular culture.;OPT_SITE_URL=https:\u002F\u002F***\u002F*;OPT_PDF_URL=https:\u002F\u002F***;OPT_FAVICON_URL=https:\u002F\u002F***\u002F;OPT_LOGO_URL=https:\u002F\u002F***;OPT_COLOR=#FF00FF\" --fee 100000 --enable_assets",{"title":14,"searchDepth":15,"depth":15,"links":119687},[119688,119689,119693],{"id":119537,"depth":15,"text":119538},{"id":119568,"depth":15,"text":119569,"children":119690},[119691,119692],{"id":119583,"depth":154,"text":119584},{"id":9601,"depth":154,"text":9538},{"id":119664,"depth":15,"text":119665},{},"\u002Fdocs\u002Fdev\u002Fconfidential-assets\u002Fusing-confidential-assets\u002Fasset-metadata-descriptor",{"title":119530,"description":9489},"docs\u002Fdev\u002Fconfidential-assets\u002Fusing-confidential-assets\u002Fasset-metadata-descriptor","fjj4B0ECR_k3hT9t_WLg6r6j26fx50vxRBHIlDnWeYY",{"id":119700,"title":119701,"body":119702,"description":119709,"extension":17,"image":18,"meta":119929,"navTitle":18,"navigation":20,"path":119930,"seo":119931,"stem":119932,"__hash__":119933},"docs\u002Fdocs\u002Fdev\u002Fdeveloping-beam-dapp-ui.md","Developing Beam DApp UI",{"type":8,"value":119703,"toc":119923},[119704,119707,119710,119713,119716,119720,119740,119747,119750,119753,119759,119762,119769,119773,119780,119783,119796,119799,119805,119808,119811,119818,119822,119825,119831,119838,119842,119845,119848,119853,119861,119866,119881,119886,119889,119895,119902,119912,119920],[11,119705,119701],{"id":119706},"developing-beam-dapp-ui",[34,119708,119709],{},"Most of Beam Decentralized Applications include a front end component which can run within the Beam Wallet or as a standalone website that connects to Beam Web Wallet.",[34,119711,119712],{},"These front end components are usually implemented using standard Web Frameworks such as React or Vue (or any other). The communication with the smart contract that is deployed on chain is handled through the Application Shader, which is provided as a Web Assembly component embedded within the web application.",[34,119714,119715],{},"In this tutorial we will review how to set up the development environment for building Beam DApps using the Desktop Wallet",[48,119717,119719],{"id":119718},"configure-the-testapp-in-the-wallet","Configure the 'testapp' in the wallet",[56,119721,119722,119732],{},[59,119723,92364,119724,119727,119729,119731],{},[175,119725,112488],{"href":119726},"\u002Fdownloads\u002Fdappnet",[4953,119728],{},[4953,119730],{},"\nWe recommend using DAPPNET (the testing network created especially for testing dapps), as it is the most convenient for this purpose. You will also need to get some DAPPNET Beam to pay transaction fees, which can be done using the Faucet application you can find in the built in DApp Store.\\",[59,119733,119734,119735,119737,119739],{},"Find the location of your Beam Wallet data folder",[4953,119736],{},[4953,119738],{},"\nIn the settings screen of the wallet, open the 'Troubleshooting' section. It will show you the location of your wallet folder on your platform",[1847,119741,119742,119745],{},[241,119743],{"src":119744,"alt":14},".gitbook\u002Fassets\u002Fimage (14).png",[1853,119746],{},[34,119748,119749],{},"3. Open the folder and locate the settings.ini file",[34,119751,119752],{},"Edit the file and add the following section:",[616,119754,119757],{"className":119755,"code":119756,"language":621},[619],"[devapp]\nname=testapp\nurl=http:\u002F\u002F127.0.0.1:13666\u002Findex.html\n",[611,119758,119756],{"__ignoreMap":14},[34,119760,119761],{},"Restart the Desktop Wallet. Now in the DApp Store screen you will see the placeholder for the test app.",[1847,119763,119764,119767],{},[241,119765],{"src":119766,"alt":14},".gitbook\u002Fassets\u002Fimage (12).png",[1853,119768],{},[48,119770,119772],{"id":119771},"running-the-application","Running the application",[34,119774,119775,119776],{},"For this section we assume that contract is already deployed on the blockchain and that application shader assembly is present. As an example we will use the BANS application that can be seen here: ",[175,119777,119778],{"href":119778,"rel":119779},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbans",[179],[34,119781,119782],{},"In order to run this application you will need the following pre-requisutes:",[56,119784,119785,119793],{},[59,119786,119787,119792],{},[175,119788,119791],{"href":119789,"rel":119790},"https:\u002F\u002Fnodejs.org\u002Fen\u002F",[179],"nodejs ","for your platform",[59,119794,119795],{},"yarn (can be installed with 'npm install --global yarn', once you install nodejs)",[34,119797,119798],{},"Now change directory to where you have cloned the BANS repository and run:",[616,119800,119803],{"className":119801,"code":119802,"language":621},[619],"yarn install\nyarn start\n",[611,119804,119802],{"__ignoreMap":14},[34,119806,119807],{},"If any questions are asked during installation just chose default answers this should work.",[34,119809,119810],{},"Once the local development server is running, you can launch the 'testapp' in the wallet. This will show you the BANS screen",[1847,119812,119813,119816],{},[241,119814],{"src":119815,"alt":14},".gitbook\u002Fassets\u002Fimage (20).png",[1853,119817],{},[48,119819,119821],{"id":119820},"using-the-developer-console","Using the Developer Console",[34,119823,119824],{},"During application development, it is useful to be able to see the developer console, as you would in a regular browser. Beam Desktop Wallet provides this option when launched with a flag:",[616,119826,119829],{"className":119827,"code":119828,"language":621},[619],"--remote-debugging-port=20000\n",[611,119830,119828],{"__ignoreMap":14},[34,119832,119833,119834],{},"After you relaunch the wallet with this flag, you can open a regular web browser and navigate to: ",[175,119835,119836],{"href":119836,"rel":119837},"http:\u002F\u002Flocalhost:20000\u002F",[179],[48,119839,119841],{"id":119840},"packaging-into-dapp-file","Packaging into .dapp file",[34,119843,119844],{},"In order to distribute the application as a stand alone archive in should be packaged into a .dapp file",[34,119846,119847],{},"This can be done following the steps below:",[56,119849,119850],{},[59,119851,119852],{},"Create the following folder structure",[852,119854,119855,119858],{},[59,119856,119857],{},"Create an empty folder, use your dapp name for simplicity",[59,119859,119860],{},"Inside this folder create another empty folder called 'app'",[56,119862,119863],{"start":15},[59,119864,119865],{},"Build your application",[34,119867,119868,119869,119872,119873,119875,119876,119880],{},"Run ",[611,119870,119871],{},"yarn build","\nThis will create an ",[611,119874,14803],{}," folder (if you are using the React template as provided by beam here (",[175,119877,119878],{"href":119878,"rel":119879},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam-dapp-react",[179],")\nCopy the contents of the build folder (in our case 'html') into the app folder created in step 1.",[56,119882,119883],{"start":154},[59,119884,119885],{},"Create manifest file",[34,119887,119888],{},"The manifest file contains the required metadata for your application that will be parsed and presented by the Beam Wallet during dApp installation.",[616,119890,119893],{"className":119891,"code":119892,"language":621},[619],"{\n   \"name\":  \"\",   \u002F\u002Frequired, max length 30 characters\n   \"description\":  \"\", \u002F\u002Frequired, max length 1024 characters\n   \"url\":  \"localapp\u002Fapp\u002Findex.html\", \u002F\u002Frequired\n   \"version\":  \"1.1.17\", \u002F\u002Frequired\n   \"api_version\":  \"7.0\", \u002F\u002Frequired, max length 10 characters \n   \"min_api_version\":  \"7.0\", \u002F\u002Frequired, max length 10 characters\n   \"icon\":  \"localapp\u002Fapp\u002Flogo.svg\", \u002F\u002Frequired, max size 10240 byte. SVG files only\n   \"guid\":  \"d353352eb6a94618ac0a8ec7b29ca7bb\" \u002F\u002Frequired\n}\n",[611,119894,119892],{"__ignoreMap":14},[34,119896,119897,119898,119901],{},"This file should be called ",[100,119899,119900],{},"manifest.json"," and copied into the same folder as the 'app' folder created above",[11818,119903,119904],{},[34,119905,119906,119907,119911],{},"TIP: To generate the guid you can use online GUID generators like: ",[175,119908,119909],{"href":119909,"rel":119910},"https:\u002F\u002Fwww.guidgenerator.com\u002Fonline-guid-generator.aspx",[179],"\nJust remember to remove the checkbox from the 'hiphens' option",[56,119913,119914,119917],{"start":7033},[59,119915,119916],{},"Zip the top application folder (the one that has the manifest and the 'app' folder inside of it into a .zip archive",[59,119918,119919],{},"Rename the .zip file to .dapp",[34,119921,119922],{},"You can now test the local installation by using the 'Install DApp from file' option in the Desktop Wallet DApp Store",{"title":14,"searchDepth":15,"depth":15,"links":119924},[119925,119926,119927,119928],{"id":119718,"depth":154,"text":119719},{"id":119771,"depth":154,"text":119772},{"id":119820,"depth":154,"text":119821},{"id":119840,"depth":154,"text":119841},{},"\u002Fdocs\u002Fdev\u002Fdeveloping-beam-dapp-ui",{"title":119701,"description":119709},"docs\u002Fdev\u002Fdeveloping-beam-dapp-ui","66JLYCQQc-B9GEQmziZ4oGoeQ2fK5AqQZJENcLI_XNk",{"id":119935,"title":88923,"body":119936,"description":119942,"extension":17,"image":18,"meta":119945,"navTitle":18,"navigation":20,"path":119946,"seo":119947,"stem":119948,"__hash__":119949},"docs\u002Fdocs\u002Fdev\u002Fguidelines\u002Fcoding-guidelines.md",{"type":8,"value":119937,"toc":119943},[119938,119940],[11,119939,88923],{"id":88922},[34,119941,119942],{},"Read in Beam wiki contributor guidelines about upcoming coding guidelines for C++, Angular\u002FJS. This would be a good section to have them in.",{"title":14,"searchDepth":15,"depth":15,"links":119944},[],{},"\u002Fdocs\u002Fdev\u002Fguidelines\u002Fcoding-guidelines",{"title":88923,"description":119942},"docs\u002Fdev\u002Fguidelines\u002Fcoding-guidelines","V5WnM-3OX9kjHNLOwGydVX3FB3j1S0SbJeT36mMH8kk",{"id":119951,"title":119952,"body":119953,"description":119960,"extension":17,"image":18,"meta":119963,"navTitle":18,"navigation":20,"path":119964,"seo":119965,"stem":119966,"__hash__":119967},"docs\u002Fdocs\u002Fdev\u002Fguidelines\u002Funtitled.md","Contributor guidelines",{"type":8,"value":119954,"toc":119961},[119955,119958],[11,119956,119952],{"id":119957},"contributor-guidelines",[34,119959,119960],{},"Information on how",{"title":14,"searchDepth":15,"depth":15,"links":119962},[],{},"\u002Fdocs\u002Fdev\u002Fguidelines\u002Funtitled",{"title":119952,"description":119960},"docs\u002Fdev\u002Fguidelines\u002Funtitled","E31h2AhTnUPnT9LfkA8DOkaBzAms80-78KvVI5zVUvg",{"id":119969,"title":115484,"body":119970,"description":120698,"extension":17,"image":18,"meta":120699,"navTitle":18,"navigation":20,"path":120700,"seo":120701,"stem":120702,"__hash__":120703},"docs\u002Fdocs\u002Fdev\u002Fguides\u002Fbuilding-beam.md",{"type":8,"value":119971,"toc":120676},[119972,119975,119985,119989,119992,120045,120049,120053,120056,120061,120065,120068,120073,120076,120079,120098,120103,120112,120114,120121,120221,120223,120228,120283,120287,120291,120294,120306,120333,120337,120362,120366,120369,120376,120392,120395,120411,120415,120419,120429,120461,120465,120475,120500,120504,120507,120512,120528,120531,120536,120552,120554],[11,119973,115484],{"id":119974},"building-beam",[34,119976,119977,119978,119981,119982,119984],{},"This document will serve as a guide for building Beam and BeamUI projects. Users have the option to download the binaries directly from ",[175,119979,1474],{"href":32681,"rel":119980},[179],", however, for this walkthrough, users must have ",[100,119983,9043],{}," technical knowledge, including basic knowledge of the Command-Line.",[41,119986,119988],{"id":119987},"things-youll-need","Things you'll need",[34,119990,119991],{},"To avoid any issues, have the following installed on your machine before starting your build:",[56,119993,119994,120005,120014,120024,120035],{},[59,119995,119996,119997,120003],{},"The latest version of ",[175,119998,120001],{"href":119999,"rel":120000},"https:\u002F\u002Fgit-scm.com\u002Fbook\u002Fen\u002Fv2\u002FGetting-Started-Installing-Git",[179],[100,120002,93575],{},[100,120004,181],{},[59,120006,120007,120013],{},[175,120008,120011],{"href":120009,"rel":120010},"https:\u002F\u002Fcmake.org\u002Fdownload\u002F",[179],[100,120012,92354],{}," (version 3.13 and newer to generate the build environment).",[59,120015,120016,120023],{},[175,120017,120020],{"href":120018,"rel":120019},"https:\u002F\u002Fwww.boost.org\u002Fusers\u002Fhistory\u002Fversion_1_66_0.html",[179],[100,120021,120022],{},"Boost library"," (version 1.66 and newer_)._",[59,120025,120026,181],{},[175,120027,120030,98,120032],{"href":120028,"rel":120029},"https:\u002F\u002Fwww.openssl.org\u002Fsource\u002F",[179],[100,120031,92373],{},[100,120033,120034],{},"Library",[59,120036,120037,120044],{},[175,120038,120041],{"href":120039,"rel":120040},"https:\u002F\u002Fvisualstudio.microsoft.com\u002Fvs\u002Folder-downloads\u002F",[179],[100,120042,120043],{},"Microsoft Visual Studio"," (2017 and newer; Windows users only).",[41,120046,120048],{"id":120047},"first-steps","First steps",[48,120050,120052],{"id":120051},"downloading-the-binaries","Downloading the binaries",[34,120054,120055],{},"Launch a terminal window and enter the following command:",[616,120057,120059],{"className":120058,"code":92387,"language":621},[619],[611,120060,92387],{"__ignoreMap":14},[48,120062,120064],{"id":120063},"creating-submodules","Creating submodules",[34,120066,120067],{},"As a prerequisite, Beam requires the creation of submodules before starting the build. To create submodules, launch your terminal window and enter the following commands:",[616,120069,120071],{"className":120070,"code":92396,"language":621},[619],[611,120072,92396],{"__ignoreMap":14},[48,120074,120075],{"id":92401},"Branch Convention",[34,120077,120078],{},"Beam is entirely open-source, and we encourage users interested in contributing or testing our tech to follow the Branch convention below to avoid any issues.",[56,120080,120081,120087,120092],{},[59,120082,120083,120086],{},[611,120084,120085],{},"Master"," branch is for development.",[59,120088,120089,120091],{},[611,120090,109196],{}," branch is a sandbox for users interested in testing Beam.",[59,120093,120094,120097],{},[611,120095,120096],{},"Mainnet"," branch is the most recent version of each Beam project.",[48,120099,120100,120102],{"id":92428},[100,120101,92354],{}," Options",[34,120104,120105,120106,120108,120109,120111],{},"Beam uses ",[100,120107,92354],{}," to generate the build environment with several options for building the project. Refer to ",[611,120110,92435],{}," file for more details.",[41,120113,90457],{"id":90794},[34,120115,120116,120117,120120],{},"This guide assumes you have the latest version ",[175,120118,93575],{"href":119999,"rel":120119},[179]," installed on your machine.",[56,120122,120123,120134,120146,120162,120168,120183],{},[59,120124,93572,120125,18427,120127,181],{},[100,120126,120043],{},[175,120128,120131,120133],{"href":120129,"rel":120130},"https:\u002F\u002Fdocs.microsoft.com\u002Fen-us\u002Fcpp\u002Fbuild\u002Fcmake-projects-in-visual-studio?view=msvc-160#building-cmake-projects",[179],[100,120132,92354],{}," support",[59,120135,120136,120137,120141,120142,92454,120144,181],{},"Download and install the Boost ",[175,120138,120140],{"href":92940,"rel":120139},[179],"prebuilt"," binaries, adding ",[611,120143,92453],{},[100,120145,92457],{},[59,120147,120148,120149,98,120151,120154,120155,120157,120158,92454,120160,181],{},"Download and install the ",[100,120150,92373],{},[175,120152,120140],{"href":92463,"rel":120153},[179]," binaries (",[611,120156,92467],{}," for example). Add ",[611,120159,92471],{},[100,120161,92457],{},[59,120163,17817,120164,92454,120166,181],{},[611,120165,92990],{},[100,120167,92481],{},[59,120169,120170,120171,120174,120175,120177,120178,120180,120181,181],{},"Open project folder in ",[100,120172,120173],{},"Visual Studio",", select your target (",[611,120176,92487],{}," for example, if you downloaded 64bit Boost and ",[100,120179,92373],{},") and select ",[611,120182,92491],{},[59,120184,120185,120186,120188,120191,11807,120193,120196,120197,120201,120202,98562,120204,11807,120206,120209,120210,92354,120213,120215,120216,2344],{},"Open cache folder:",[4953,120187],{},[241,120189],{"alt":14,"src":120190},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-11-28%20at%203.27.04%20PM.png",[4953,120192],{},[100,120194,120195],{},"Visual Studio 2017"," users, go to ",[100,120198,120199],{},[37,120200,92354],{},"** > Cache > Open Cache Folder > ",[611,120203,785],{},[4953,120205],{},[100,120207,120208],{},"Visual Studio 2019"," users**, Project > ",[37,120211,120212],{},"_",[37,120214,120212],{}," cache > Open in explorer** (the binaries can be found in ",[37,120217,120218],{},[611,120219,120220],{},"beam\u002F..., wallet\u002Fcli\u002F..., explorer\u002F... subfolders",[41,120222,90460],{"id":90910},[34,120224,120225,120226,92527],{},"Locate the downloaded Beam node and Command Line (CLI) wallet in the ",[611,120227,92526],{},[56,120229,120230,120272],{},[59,120231,120232,120233,120237,120238,120243,120245,120248,120249,120253,120254,120257,120258,120260,120261,120266,120267],{},"Clone the Beam binaries from ",[175,120234,120236],{"href":115469,"rel":120235},[179],"Github"," by entering the following command:",[616,120239,120241],{"className":120240,"code":92387,"language":621},[619],[611,120242,92387],{"__ignoreMap":14},[4953,120244],{},[37,120246,120247],{},"Please note",": The above command will clone the latest master branch. The master branch is where the Beam team develops upcoming versions of Beam. Users should select the appropriate ",[175,120250,120252],{"href":92544,"rel":120251},[179],"branch"," then ",[611,120255,120256],{},"git checkout"," after cloning the main Beam repository.",[4953,120259],{},"To clone the ",[37,120262,120263],{},[611,120264,120265],{},"Double Doppler 4.0"," release branch, enter the following:",[616,120268,120270],{"className":120269,"code":92550,"language":621},[619],[611,120271,92550],{"__ignoreMap":14},[59,120273,120274,120275,120277,120278],{},"The standard tutorials for Building beam will create the latest Beam Masternet build (development version, development blockchain). Build the Testnet for testing and development or build the Mainnet for real-world blockchain utilization by editing the ",[611,120276,92561],{}," file lines 151-157. Uncomment (remove the '#' sign) respective definitions for the version Beam you wish to build.",[616,120279,120281],{"className":120280,"code":92566,"language":621},[619],[611,120282,92566],{"__ignoreMap":14},[41,120284,120286],{"id":120285},"ubuntu-and-desktop-server","Ubuntu and desktop server",[48,120288,120290],{"id":120289},"ubuntu-1804","Ubuntu  18.04",[1898,120292,120293],{"id":2230},"Desktop",[34,120295,120296,120297,120300,120301,1475,120303,120305],{},"The instructions below are valid for a default ",[37,120298,120299],{},"Ubuntu 18.04.03 Desktop LTS install",". For older systems, verify that steps 1, 2 & 4 do not overwrite or conflict with more recent versions of ",[611,120302,92354],{},[611,120304,92367],{}," previously installed on your machine.",[56,120307,120308,120316,120325],{},[59,120309,120310,120311],{},"Install dependencies:",[616,120312,120314],{"className":120313,"code":92619,"language":621},[619],[611,120315,92619],{"__ignoreMap":14},[59,120317,93572,120318,5102,120320],{},[611,120319,92354],{},[616,120321,120323],{"className":120322,"code":92593,"language":621},[619],[611,120324,92593],{"__ignoreMap":14},[59,120326,120327,120328],{},"Find your Beam project folder, start the release build:",[616,120329,120331],{"className":120330,"code":109137,"language":621},[619],[611,120332,109137],{"__ignoreMap":14},[1898,120334,120336],{"id":120335},"server","Server",[56,120338,120339,120346,120355],{},[59,120340,120310,120341],{},[616,120342,120344],{"className":120343,"code":92619,"language":621},[619],[611,120345,92619],{"__ignoreMap":14},[59,120347,93572,120348,5102,120350],{},[611,120349,92354],{},[616,120351,120353],{"className":120352,"code":92593,"language":621},[619],[611,120354,92593],{"__ignoreMap":14},[59,120356,120327,120357],{},[616,120358,120360],{"className":120359,"code":109137,"language":621},[619],[611,120361,109137],{"__ignoreMap":14},[48,120363,120365],{"id":120364},"ubuntu-1910","Ubuntu 19.10",[1898,120367,120293],{"id":120368},"desktop-1",[34,120370,120371,120372,120375],{},"Instructions below are valid for a minimal ",[37,120373,120374],{},"Ubuntu 19.10 Desktop install"," (\"update during install\" option enabled).",[56,120377,120378,120385],{},[59,120379,120310,120380],{},[616,120381,120383],{"className":120382,"code":92675,"language":621},[619],[611,120384,92675],{"__ignoreMap":14},[59,120386,120327,120387],{},[616,120388,120390],{"className":120389,"code":93180,"language":621},[619],[611,120391,93180],{"__ignoreMap":14},[1898,120393,120336],{"id":120394},"server-1",[56,120396,120397,120404],{},[59,120398,92580,120399],{},[616,120400,120402],{"className":120401,"code":92650,"language":621},[619],[611,120403,92650],{"__ignoreMap":14},[59,120405,120327,120406],{},[616,120407,120409],{"className":120408,"code":93180,"language":621},[619],[611,120410,93180],{"__ignoreMap":14},[41,120412,120414],{"id":120413},"centos","CentOS",[48,120416,120418],{"id":120417},"centos-70","CentOS 7.0",[34,120420,120296,120421,120424,120425,113899,120427,120305],{},[37,120422,120423],{},"CentOS 7.0-1908 minimal install",". For older systems, verify that steps two and three do not overwrite or conflict with more recent versions of ",[611,120426,92354],{},[611,120428,92367],{},[56,120430,120431,120438,120445,120454],{},[59,120432,120310,120433],{},[616,120434,120436],{"className":120435,"code":92699,"language":621},[619],[611,120437,92699],{"__ignoreMap":14},[59,120439,92704,120440],{},[616,120441,120443],{"className":120442,"code":92708,"language":621},[619],[611,120444,92708],{"__ignoreMap":14},[59,120446,93572,120447,5102,120449],{},[611,120448,92354],{},[616,120450,120452],{"className":120451,"code":92593,"language":621},[619],[611,120453,92593],{"__ignoreMap":14},[59,120455,120327,120456],{},[616,120457,120459],{"className":120458,"code":93180,"language":621},[619],[611,120460,93180],{"__ignoreMap":14},[48,120462,120464],{"id":120463},"centos-80","CentOS 8.0",[34,120466,120296,120467,120470,120471,113899,120473,120305],{},[37,120468,120469],{},"CentOS 8.0-1905 minimal install",". For older systems, verify that step two does not overwrite or conflict with more recent versions of ",[611,120472,92354],{},[611,120474,92367],{},[56,120476,120477,120484,120493],{},[59,120478,120310,120479],{},[616,120480,120482],{"className":120481,"code":92740,"language":621},[619],[611,120483,92740],{"__ignoreMap":14},[59,120485,93572,120486,5102,120488],{},[611,120487,92354],{},[616,120489,120491],{"className":120490,"code":92593,"language":621},[619],[611,120492,92593],{"__ignoreMap":14},[59,120494,120327,120495],{},[616,120496,120498],{"className":120497,"code":93180,"language":621},[619],[611,120499,93180],{"__ignoreMap":14},[41,120501,120503],{"id":120502},"fedora","Fedora",[1898,120505,120293],{"id":120506},"desktop-2",[34,120508,120296,120509,181],{},[37,120510,120511],{},"Fedora 31-1.9 Workstation install",[56,120513,120514,120521],{},[59,120515,120310,120516],{},[616,120517,120519],{"className":120518,"code":92771,"language":621},[619],[611,120520,92771],{"__ignoreMap":14},[59,120522,120327,120523],{},[616,120524,120526],{"className":120525,"code":93180,"language":621},[619],[611,120527,93180],{"__ignoreMap":14},[1898,120529,120336],{"id":120530},"server-2",[34,120532,120296,120533,181],{},[37,120534,120535],{},"Fedora 31-1.9 Headless Server install",[56,120537,120538,120545],{},[59,120539,120310,120540],{},[616,120541,120543],{"className":120542,"code":92795,"language":621},[619],[611,120544,92795],{"__ignoreMap":14},[59,120546,120327,120547],{},[616,120548,120550],{"className":120549,"code":93180,"language":621},[619],[611,120551,93180],{"__ignoreMap":14},[41,120553,113182],{"id":113198},[56,120555,120556,120592,120603,120611,120624,120638,120646,120654,120668],{},[59,120557,120232,120558,5102,120561,120566,120568,120571,120572,120260,120574,3568,120576,120581,120583,120584,120586,120587],{},[175,120559,120236],{"href":115469,"rel":120560},[179],[616,120562,120564],{"className":120563,"code":92387,"language":621},[619],[611,120565,92387],{"__ignoreMap":14},[4953,120567],{},[37,120569,120570],{},"Please note:"," The Git command above will clone the latest master branch. The master branch is where the Beam team develops upcoming versions of the Beam.",[4953,120573],{},[611,120575,90400],{},[616,120577,120579],{"className":120578,"code":92828,"language":621},[619],[611,120580,92828],{"__ignoreMap":14},[4953,120582],{},"To clone the Beam ",[611,120585,90421],{},", use:",[616,120588,120590],{"className":120589,"code":92836,"language":621},[619],[611,120591,92836],{"__ignoreMap":14},[59,120593,120594,98,120599,120602],{},[175,120595,120598],{"href":120596,"rel":120597},"https:\u002F\u002Fdocs.brew.sh\u002FInstallation",[179],"Install",[611,120600,120601],{},"Brew"," Package Manager.",[59,120604,120605,120606],{},"To install all necessary packages, enter:",[616,120607,120609],{"className":120608,"code":92848,"language":621},[619],[611,120610,92848],{"__ignoreMap":14},[59,120612,120613,120614,120616,120617,5102,120619],{},"Remove any existing ",[611,120615,120601],{}," installations of ",[611,120618,92367],{},[616,120620,120622],{"className":120621,"code":92857,"language":621},[619],[611,120623,92857],{"__ignoreMap":14},[59,120625,120626,120630,120631,5102,120633],{},[175,120627,120629],{"href":120596,"rel":120628},[179],"Download"," and install a compatible version of ",[611,120632,92367],{},[616,120634,120636],{"className":120635,"code":92866,"language":621},[619],[611,120637,92866],{"__ignoreMap":14},[59,120639,120640,120641],{},"To set your Environment Variables, enter:",[616,120642,120644],{"className":120643,"code":92875,"language":621},[619],[611,120645,92875],{"__ignoreMap":14},[59,120647,120648,120649],{},"Find your Beam project folder, then enter:",[616,120650,120652],{"className":120651,"code":93180,"language":621},[619],[611,120653,93180],{"__ignoreMap":14},[59,120655,92888,120656,120658,120659,120662,120663],{},[611,120657,92891],{}," to get ",[611,120660,120661],{},".dmg file."," Find Beam project folder and then enter:",[616,120664,120666],{"className":120665,"code":92896,"language":621},[619],[611,120667,92896],{"__ignoreMap":14},[59,120669,120670,120671,1475,120673,120675],{},"Locate the completed Beam node in the ",[611,120672,92526],{},[611,120674,92907],{}," subfolders",{"title":14,"searchDepth":15,"depth":15,"links":120677},[120678,120679,120686,120687,120688,120692,120696,120697],{"id":119987,"depth":15,"text":119988},{"id":120047,"depth":15,"text":120048,"children":120680},[120681,120682,120683,120684],{"id":120051,"depth":154,"text":120052},{"id":120063,"depth":154,"text":120064},{"id":92401,"depth":154,"text":120075},{"id":92428,"depth":154,"text":120685},"CMake Options",{"id":90794,"depth":15,"text":90457},{"id":90910,"depth":15,"text":90460},{"id":120285,"depth":15,"text":120286,"children":120689},[120690,120691],{"id":120289,"depth":154,"text":120290},{"id":120364,"depth":154,"text":120365},{"id":120413,"depth":15,"text":120414,"children":120693},[120694,120695],{"id":120417,"depth":154,"text":120418},{"id":120463,"depth":154,"text":120464},{"id":120502,"depth":15,"text":120503},{"id":113198,"depth":15,"text":113182},"This document will serve as a guide for building Beam and BeamUI projects. Users have the option to download the binaries directly from GitHub, however, for this walkthrough, users must have some technical knowledge, including basic knowledge of the Command-Line.",{},"\u002Fdocs\u002Fdev\u002Fguides\u002Fbuilding-beam",{"title":115484,"description":120698},"docs\u002Fdev\u002Fguides\u002Fbuilding-beam","yf-nza06XYWJ2kuWMQFlD6YpAAfjdDWxdhY2Je0HRmM",{"id":120705,"title":120706,"body":120707,"description":120858,"extension":17,"image":18,"meta":120859,"navTitle":18,"navigation":20,"path":120860,"seo":120861,"stem":120862,"__hash__":120863},"docs\u002Fdocs\u002Fdev\u002Fguides\u002Fconsensus-rules.md","Beam Consensus Rules",{"type":8,"value":120708,"toc":120855},[120709,120712,120719,120722,120725,120729,120842,120849],[11,120710,120706],{"id":120711},"beam-consensus-rules",[34,120713,120714],{},[100,120715,120716,120718],{},[37,120717,9543],{}," Used for development and testing only!",[34,120720,120721],{},"The following parameters allow to configuration of Consensus Rules in the Beam node and wallet.",[34,120723,120724],{},"Consensus Rules are for testing and development purposes only. Changing the consensus parameters changes the Rule Signature and breaks the node and wallet compatibility with the running Mainnet or Testnet servers.",[48,120726,120728],{"id":120727},"rules","Rules",[4998,120730,120731,120744],{},[5001,120732,120733],{},[5004,120734,120735,120739],{},[5007,120736,120737],{},[37,120738,6559],{},[5007,120740,120741],{},[37,120742,120743],{},"Description & Example",[5014,120745,120746,120754,120762,120770,120778,120786,120794,120802,120810,120818,120826,120834],{},[5004,120747,120748,120751],{},[5019,120749,120750],{},"EmissionValue0",[5019,120752,120753],{},"Initial coinbase emission in a single block (in Groth, 10^-8 of Beam)",[5004,120755,120756,120759],{},[5019,120757,120758],{},"EmissionDrop0",[5019,120760,120761],{},"Height of the last block that still has the initial emission. Emission drops by half in the next block. Default equals one year (assuming one block per minute).",[5004,120763,120764,120767],{},[5019,120765,120766],{},"EmissionDrop1",[5019,120768,120769],{},"Number of blocks in halving cycle (defaults to four years, assuming one block per minute).",[5004,120771,120772,120775],{},[5019,120773,120774],{},"MaturityCoinbase",[5019,120776,120777],{},"Number of blocks that should be mined (verified) before coinbase UTXO can be spent.",[5004,120779,120780,120783],{},[5019,120781,120782],{},"MaturityStd",[5019,120784,120785],{},"Number of blocks that should be mined (verified) before normal (non-coinbase) UTXO can be spent.",[5004,120787,120788,120791],{},[5019,120789,120790],{},"MaxBodySize",[5019,120792,120793],{},"Block body size (in bytes).",[5004,120795,120796,120799],{},[5019,120797,120798],{},"DesiredRate_s",[5019,120800,120801],{},"Target block rate (in seconds).",[5004,120803,120804,120807],{},[5019,120805,120806],{},"DifficultyReviewWindow",[5019,120808,120809],{},"Number of blocks in the window for the mining difficulty adjustment.",[5004,120811,120812,120815],{},[5019,120813,120814],{},"TimestampAheadThreshold_s",[5019,120816,120817],{},"Block timestamp tolerance (in seconds).",[5004,120819,120820,120823],{},[5019,120821,120822],{},"WindowForMedian",[5019,120824,120825],{},"Number of blocks considered in calculating the timestamp median.",[5004,120827,120828,120831],{},[5019,120829,120830],{},"AllowPublicUtxos",[5019,120832,120833],{},"Flag allowing regular (non-coinbase) UTXO to have non-confidential signature.",[5004,120835,120836,120839],{},[5019,120837,120838],{},"FakePoW",[5019,120840,120841],{},"Flag to disable verification of PoW. Mining is simulated by timer.",[34,120843,120844,120845,120848],{},"The sample below displays the corresponding ",[611,120846,120847],{},".cfg"," fie section:",[616,120850,120853],{"className":120851,"code":120852,"language":621},[619],"################################################################################\n# Rules configuration:\n################################################################################\n\n# initial coinbase emission in a single block\n# EmissionValue0=800000000\n\n# height of the last block that still has the initial emission, the drop is starting from the next block\n# EmissionDrop0=525600\n\n# Each such a cycle there's a new drop\n# EmissionDrop1=2102400\n\n# num of blocks before coinbase UTXO can be spent\n# MaturityCoinbase=240\n\n# num of blocks before non-coinbase UTXO can be spent\n# MaturityStd=0\n\n# Max block body size [bytes]\n# MaxBodySize=0x100000\n\n# Desired rate of generated blocks [seconds]\n# DesiredRate_s=60\n\n# num of blocks in the window for the mining difficulty adjustment\n# DifficultyReviewWindow=1440\n\n# Block timestamp tolerance [seconds]\n# TimestampAheadThreshold_s=7200\n\n# How many blocks are considered in calculating the timestamp median\n# WindowForMedian=25\n\n# set to allow regular (non-coinbase) UTXO to have non-confidential signature\n# AllowPublicUtxos=0\n\n# Don't verify PoW. Mining is simulated by the timer\n# FakePoW=0\n",[611,120854,120852],{"__ignoreMap":14},{"title":14,"searchDepth":15,"depth":15,"links":120856},[120857],{"id":120727,"depth":154,"text":120728},"WARNING: Used for development and testing only!",{},"\u002Fdocs\u002Fdev\u002Fguides\u002Fconsensus-rules",{"title":120706,"description":120858},"docs\u002Fdev\u002Fguides\u002Fconsensus-rules","17jJJ6UtBCHNoBiU8V-hx2yc002lyik9uQ62AFgOYDM",{"id":120865,"title":120866,"body":120867,"description":14,"extension":17,"image":18,"meta":120973,"navTitle":18,"navigation":20,"path":120974,"seo":120975,"stem":120976,"__hash__":120977},"docs\u002Fdocs\u002Fdev\u002Fguides\u002Funderstanding-beam-logs.md","Understanding Beam Logs",{"type":8,"value":120868,"toc":120967},[120869,120872,120876,120879,120883,120888,120923,120929,120933,120939,120942,120947,120950,120956],[11,120870,120866],{"id":120871},"understanding-beam-logs",[41,120873,120875],{"id":120874},"understanding-beam-logs-1","Understanding Beam logs",[34,120877,120878],{},"Beam logs are files that record the events that occur within the Beam software and the Beam network. These files contain vital information that is very helpful to Beam support if you encounter any technical difficulties.",[48,120880,120882],{"id":120881},"beam-log-locations","Beam Log Locations",[34,120884,120885],{},[100,120886,120887],{},"Find CLI wallet and Node logs in the same folder as the binaries.",[4998,120889,120890,120900],{},[5001,120891,120892],{},[5004,120893,120894,120897],{},[5007,120895,120896],{},"Operating System",[5007,120898,120899],{},"Desktop Wallet Log Location",[5014,120901,120902,120909,120916],{},[5004,120903,120904,120906],{},[5019,120905,90463],{},[5019,120907,120908],{},"\u002FUsers\u002F{your_user_name}\u002FLibrary\u002FApplication Support\u002FBeam Wallet\u002F",[5004,120910,120911,120913],{},[5019,120912,90457],{},[5019,120914,120915],{},"\\Users\\{your_user_name}\\AppData\\Local\\Beam Wallet",[5004,120917,120918,120920],{},[5019,120919,90460],{},[5019,120921,120922],{},"\u002Fhome\u002F{your_user_name}\u002F.local\u002Fshare\u002FBeam Wallet",[34,120924,120925,120926],{},"For a complete list of file locations see ",[611,120927,120928],{},":ref: Files and Locations",[48,120930,120932],{"id":120931},"node-logs","Node Logs",[34,120934,120935,120936],{},"Each log starts with the Rules Signature. Rules Signature is the hash of the Consensus Rules and must be compatible to connect with your desired network. Consensus Rules for Testnet and Mainnet logs are different. View the relevant Rules Signature for each network here ",[611,120937,120938],{},":ref: rules_signature",[34,120940,120941],{},"Beam logs have a simple structure. The first field is the severity level, followed by a timestamp and log message:",[34,120943,120944],{},[100,120945,120946],{},"Log Severity +——————–+—————–+ | I | Info | +——————–+—————–+ | W | Warning | +——————–+—————–+ | E | Error | +——————–+—————–+ | D | Debug | +——————–+—————–+",[34,120948,120949],{},"The sample below shows the start of a new node:",[616,120951,120954],{"className":120952,"code":120953,"language":621},[619],"I 2018-12-31.16:48:58.838 Rules signature: 7e16d65b64ef2fbb\nI 2018-12-31.16:48:58.986 starting a node on 10000 port...\nI 2018-12-31.16:48:58.996 Node ID=5c8f92a1cfaee337\nI 2018-12-31.16:48:58.996 Initial Tip: 0-0000000000000000\nI 2018-12-31.16:48:58.996 Requesting block 0-0000000000000000\nI 2018-12-31.16:48:58.997 PI 0000000000000000--0.0.0.0 New\nI 2018-12-31.16:48:58.997 PI 0000000000000000--0.0.0.0 Address changed to 23.239.24.209:8201\nI 2018-12-31.16:48:58.999 stratum server listens to 0.0.0.0:10002\n",[611,120955,120953],{"__ignoreMap":14},[34,120957,120958,120959,120962,120963,120966],{},"In this case, the node connects to the first peer, ",[100,120960,120961],{},"23.239.24.209:8201",", and downloads the initial Tip at ",[100,120964,120965],{},"height 0",". It then requests the matching block. In this specific example, the node also starts the Stratum server.",{"title":14,"searchDepth":15,"depth":15,"links":120968},[120969],{"id":120874,"depth":15,"text":120875,"children":120970},[120971,120972],{"id":120881,"depth":154,"text":120882},{"id":120931,"depth":154,"text":120932},{},"\u002Fdocs\u002Fdev\u002Fguides\u002Funderstanding-beam-logs",{"title":120866,"description":14},"docs\u002Fdev\u002Fguides\u002Funderstanding-beam-logs","VicQ2TgwsP2C2O5jhl8IO18KaSuoFcv1STCD2LvMPEc",{"id":120979,"title":120980,"body":120981,"description":120988,"extension":17,"image":18,"meta":121163,"navTitle":18,"navigation":20,"path":121164,"seo":121165,"stem":121166,"__hash__":121167},"docs\u002Fdocs\u002Fdev\u002Frunning-local-blockchain.md","Running local blockchain",{"type":8,"value":120982,"toc":121158},[120983,120986,120989,120993,120999,121003,121006,121012,121015,121018,121024,121027,121030,121035,121038,121043,121046,121050,121062,121065,121071,121082,121085,121090,121093,121099,121102,121109,121112,121115,121120,121123,121130,121133,121138,121141,121148,121151],[11,120984,120980],{"id":120985},"running-local-blockchain",[34,120987,120988],{},"In this tutorial we will explain how to run local blockchain. It will be extremely useful for testing your dapps locally, before deplying them to public networks",[48,120990,120992],{"id":120991},"download-node-and-wallet","Download node and wallet",[34,120994,120995,120996],{},"Create an empty folder (called dappnet in our examples) and download the binaries for the node and CLI wallet from ",[175,120997,120998],{"href":119726},"beam website",[48,121000,121002],{"id":121001},"initialize-wallet","Initialize wallet",[34,121004,121005],{},"First, let's change the wallet configuration file to make everything easy and seamless when we run it later. Edit the beam-wallet.cfg file and set the following flags:",[616,121007,121010],{"className":121008,"code":121009,"language":621},[619],"\n# General options:\n################################################################################\n\n# log level [info|debug|verbose]\nlog_level=debug\n\n# file log level [info|debug|verbose]\n# file_log_level=debug\n\n# old logs cleanup period (days)\n# log_cleanup_days=5\n\n################################################################################\n# Wallet options:\n################################################################################\n\n# password for the wallet\npass=123\n\n# phrase to generate secret key according to BIP-39.\n# seed_phrase=\n\n# address of node\nnode_addr=127.0.0.1:8100\n\n# path to wallet file\nwallet_path=wallet.db\n\nMaturity.Coinbase=0\n\n# command to execute [new_addr|send|receive|listen|init|info|export_miner_key|export_owner_key|generate_phrase]\n# command=listen\n\n\n",[611,121011,121009],{"__ignoreMap":14},[34,121013,121014],{},"Note the Maturity.Coinbase=0 flag. It means that you can spend coinbase rewards immediately (unlike the 60 block lockup in mainnet) It is useful for testing in a local environment, since you do not have to wait for your mined rewards to before available",[34,121016,121017],{},"Now let's move on to wallet initialization. Run",[34,121019,121020,121023],{},[611,121021,121022],{},"beam-wallet-dappnet.exe init","  (or .\u002Fbeam-wallet-dappnet on Mac)",[34,121025,121026],{},"Save the generated seed phase somewhere in a text file ( we might need it later)",[34,121028,121029],{},"Now print the owner key by running:",[34,121031,121032],{},[611,121033,121034],{},"beam-wallet-dappnet.exe export_owner_key",[34,121036,121037],{},"And last generate the mining key by running",[34,121039,121040],{},[611,121041,121042],{},"beam-wallet-dappnet.exe export_miner_key --subkey=1",[34,121044,121045],{},"Save both keys in the same file as the seed phrase",[48,121047,121049],{"id":121048},"initializing-the-node","Initializing the Node",[34,121051,121052,121053,121058,121059,121061],{},"Before we start configuring the node, download sample Beam treasury file ",[175,121054,121057],{"href":121055,"rel":121056},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Ftreasury.bin",[179],"treasury.bin",", and copy it to the same folder as the ",[611,121060,90478],{}," binary.",[34,121063,121064],{},"Now, open beam-node.cfg file in a text editor and set the following flags:",[616,121066,121069],{"className":121067,"code":121068,"language":621},[619],"################################################################################\n# General options:\n################################################################################\n\n# port to start server on\nport=8100\n\n# log level [info|debug|verbose]\nlog_level=debug\n\n# file log level [info|debug|verbose]\nfile_log_level=debug\n\n# old logs cleanup period (days)\n# log_cleanup_days=5\n\n################################################################################\n# Node options:\n################################################################################\n\n# node storage path\n# storage=node.db\n\n# nodes to connect to !!! MUST BE EMPTY !!!\n# peer=\n\n# port to start stratum server on\n# stratum_port=0\n\n# path to stratum server api keys file, and tls certificate and private key\n# stratum_secrets_path=.\n\n# Enforce re-synchronization (soft reset)\n# resync=0\n\n# Owner viewer key\nowner_key=\u003Cyour owner key>\n\n# Standalone miner key\nminer_key=\u003Cyour miner key>\n\n# password for keys\npass=123\n\n# Fork1 height\n# Fork1=\n\n# Path to treasury for testing\ntreasury_path=treasury.bin\n\n# Enables the node to produce blocks\nmining_threads=1\n\nMaturity.Coinbase=0\n\n\n",[611,121070,121068],{"__ignoreMap":14},[56,121072,121073,121076,121079],{},[59,121074,121075],{},"Make sure to set miner and owner keys to those generated by your wallet",[59,121077,121078],{},"Make sure peer list is empty (to avoid accidental connections to other nodes)",[59,121080,121081],{},"Check that mining_threads flag is set to 1",[34,121083,121084],{},"We are now ready to run the node using the command:",[34,121086,121087],{},[611,121088,121089],{},"beam-node-dappnet.exe",[34,121091,121092],{},"Sample output should look something like this",[1847,121094,121095,121097],{},[241,121096],{"src":1851,"alt":14},[1853,121098],{},[34,121100,121101],{},"Wait for about 30 seconds to make sure new blocks are produced. A new block shoud appear every 15 seconds or so",[1847,121103,121104,121107],{},[241,121105],{"src":121106,"alt":14},".gitbook\u002Fassets\u002Fimage (3).png",[1853,121108],{},[34,121110,121111],{},"Synchronizing the wallet",[34,121113,121114],{},"In another command line (or Terminal) window, run the CLI wallet with the following command:",[34,121116,121117],{},[611,121118,121119],{},"beam-wallet-dappnet.exe listen",[34,121121,121122],{},"This will synchronize the wallet state with the blockchain. Your output should read something like:",[1847,121124,121125,121128],{},[241,121126],{"src":121127,"alt":14},".gitbook\u002Fassets\u002Fimage (24).png",[1853,121129],{},[34,121131,121132],{},"Stop the wallet (by clicking Ctrl + C) and check your current balance by running:",[34,121134,121135],{},[611,121136,121137],{},"beam-wallet-dappnet.exe info",[34,121139,121140],{},"You should see the mined BEAM coins in your wallet",[1847,121142,121143,121146],{},[241,121144],{"src":121145,"alt":14},".gitbook\u002Fassets\u002Fimage (26).png",[1853,121147],{},[34,121149,121150],{},"You now have a local network!",[34,121152,121153,121154],{},"For a full reference on Beam CLI wallet see the ",[175,121155,121157],{"href":90570,"rel":121156},[179],"CLI Wallet Guide",{"title":14,"searchDepth":15,"depth":15,"links":121159},[121160,121161,121162],{"id":120991,"depth":154,"text":120992},{"id":121001,"depth":154,"text":121002},{"id":121048,"depth":154,"text":121049},{},"\u002Fdocs\u002Fdev\u002Frunning-local-blockchain",{"title":120980,"description":120988},"docs\u002Fdev\u002Frunning-local-blockchain","QYWhxcEI5ToT0_fQ51YWgWA3ZQjV4n9Fjv702dY2aIE",{"id":121169,"title":121170,"body":121171,"description":121178,"extension":17,"image":18,"meta":121349,"navTitle":18,"navigation":20,"path":121350,"seo":121351,"stem":121352,"__hash__":121353},"docs\u002Fdocs\u002Fdev\u002Fshader-sdk-mac.md","Shader SDK (MAC)",{"type":8,"value":121172,"toc":121343},[121173,121176,121179,121188,121190,121193,121196,121201,121204,121207,121213,121216,121221,121225,121239,121244,121247,121250,121258,121262,121267,121270,121275,121280,121286,121289,121294,121299,121304,121309,121314,121317,121321,121324,121329,121332,121337,121340],[11,121174,121170],{"id":121175},"shader-sdk-mac",[34,121177,121178],{},"In this tutorial we will show how to setup Beam Shader SDK on Mac OS",[34,121180,121181,121182,121187],{},"The Shader SDK's current version can be characterized as an ",[100,121183,121184],{},[37,121185,121186],{},"early developer preview",", with a high possibility of encountering unusual issues and bugs.",[48,121189,111760],{"id":111759},[34,121191,121192],{},"You will  need a Python 3.x installed and available in the path (check by typing 'python' in the command line)",[34,121194,121195],{},"In addition, you will need XCode Command line tools. The command to install those is:",[34,121197,121198],{},[611,121199,121200],{},"xcode-select --install",[34,121202,121203],{},"But please consult with official documentation for more details.",[34,121205,121206],{},"You will also need the following packages (I used brew to install those):",[34,121208,121209,121212],{},[611,121210,121211],{},"brew install openssl cmake ninja","\\",[34,121214,121215],{},"Also, set the OPENSSL_ROOT_DIR environment variable as follows:",[34,121217,121218],{},[611,121219,121220],{},"export OPENSSL_ROOT_DIR=\"\u002Fusr\u002Flocal\u002Fopt\u002Fopenssl@1.1\"",[48,121222,121224],{"id":121223},"building-shader-sdk","Building Shader SDK",[56,121226,121227,121233,121236],{},[59,121228,121229,121230],{},"Clone Shader SDK repository from here: ",[175,121231,102325],{"href":102325,"rel":121232},[179],[59,121234,121235],{},"Open the Terminal application",[59,121237,121238],{},"Change directory to the location of the shader-sdk and run:",[34,121240,121241],{},[611,121242,121243],{},".\u002Fshade init",[34,121245,121246],{},"This will operation will install and build all the necessary components.",[34,121248,121249],{},"Here comes a small song and dance part that has to do with the fact that shader-sdk is still very raw",[56,121251,121252,121255],{},[59,121253,121254],{},"Inside the shader-sdk folder create a 'bin' folder",[59,121256,121257],{},"Copy shader-sdk\u002Fbuild\u002Fhost\u002Fbeam\u002Fbvm\u002Fsid_generator\u002Fgenerate-sid to the newly created bin folder",[48,121259,121261],{"id":121260},"creating-a-new-shader-project","Creating a new Shader Project",[56,121263,121264],{},[59,121265,121266],{},"Open a Terminal and create a new folder for your Shader project. We will use 'vault' in our example",[34,121268,121269],{},"2. Set the following environment variables to point to the location of you shader-sdk and wasi-sdk:",[34,121271,121272],{},[611,121273,121274],{},"export BEAM_SHADER_SDK=~\u002FCode\u002Fshader-sdk",[34,121276,121277],{},[611,121278,121279],{},"export WASI_SDK_PREFIX=~\u002FCode\u002Fshader-sdk\u002Fwasi-sdk-14.0",[34,121281,121282,121283],{},"3. Run the following command: ",[611,121284,121285],{},"shade create_project \u003Cproject name>",[34,121287,121288],{},"In our case:",[34,121290,121291],{},[611,121292,121293],{},"~\u002FCode\u002Fshader-sdk\u002Fshade create_project vault",[34,121295,121296],{},[611,121297,121298],{},"Here comes another issue. Your Mac is very likely to warn you about the fact that generate-sid application was not created by a certified developer",[34,121300,121301],{},[241,121302],{"alt":14,"src":121303},".gitbook\u002Fassets\u002FScreen%20Shot%202022-11-19%20at%2014.27.00%20(1).png",[34,121305,121306],{},[611,121307,121308],{},"To avoid this you will need to allow running this script anyway from the Settings -> Security & Privacy dialogue and then rerunning the command",[34,121310,121311],{},[241,121312],{"alt":14,"src":121313},".gitbook\u002Fassets\u002FScreen%20Shot%202022-11-19%20at%2014.27.55.png",[34,121315,121316],{},"This will initialize the structure of the Shader project",[48,121318,121320],{"id":121319},"building-the-shader-project","Building the Shader Project",[34,121322,121323],{},"Inside the project folder run the following command:",[34,121325,121326],{},[611,121327,121328],{},"cmake -G \"Ninja\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$WASI_SDK_PREFIX\u002Fshare\u002Fcmake\u002Fwasi-sdk.cmake -DCMAKE_SYSROOT=$WASI_SDK_PREFIX\u002Fshare\u002Fwasi-sysroot -DWASI_SDK_PREFIX=$WASI_SDK_PREFIX -DCMAKE_CXX_COMPILER_FORCED=True -DCMAKE_C_COMPILER_FORCED=True -DCMAKE_SYSTEM_NAME=\"WASI\"",[34,121330,121331],{},"Then run:",[34,121333,121334],{},[611,121335,121336],{},"ninja",[34,121338,121339],{},"And the .wasm files with compiled contracts will be generated in the \u002Fshaders folder",[34,121341,121342],{},"Now you are ready to start coding your Shader!",{"title":14,"searchDepth":15,"depth":15,"links":121344},[121345,121346,121347,121348],{"id":111759,"depth":154,"text":111760},{"id":121223,"depth":154,"text":121224},{"id":121260,"depth":154,"text":121261},{"id":121319,"depth":154,"text":121320},{},"\u002Fdocs\u002Fdev\u002Fshader-sdk-mac",{"title":121170,"description":121178},"docs\u002Fdev\u002Fshader-sdk-mac","XMfxUZidzh-ZQ0yT-lKWdtmBcwpdeAQGivkTIKtl4TE",{"id":121355,"title":121356,"body":121357,"description":121364,"extension":17,"image":18,"meta":121620,"navTitle":18,"navigation":20,"path":121621,"seo":121622,"stem":121623,"__hash__":121624},"docs\u002Fdocs\u002Fdev\u002Fshader-sdk-win.md","Shader SDK (WIN)",{"type":8,"value":121358,"toc":121614},[121359,121362,121365,121371,121373,121381,121394,121396,121417,121419,121426,121428,121436,121443,121453,121458,121463,121470,121480,121485,121492,121495,121504,121506,121516,121523,121544,121554,121560,121567,121573,121578,121581,121604,121611],[11,121360,121356],{"id":121361},"shader-sdk-win",[34,121363,121364],{},"This tutorial demonstrates How-to set up Beam Shader SDK on the Windows operating system.",[34,121366,121181,121367,121187],{},[100,121368,121369],{},[37,121370,121186],{},[48,121372,111760],{"id":111759},[34,121374,121375,121376,121380],{},"To follow along, make sure you have ",[175,121377,120043],{"href":121378,"rel":121379},"https:\u002F\u002Fvisualstudio.microsoft.com\u002F",[179]," installed. For this tutorial, I am using 2022 edition, but the community edition will work.",[34,121382,121383,121384,121389,121390,121393],{},"Additionally, ",[175,121385,121388],{"href":121386,"rel":121387},"https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F",[179],"Python 3.x"," must be installed and available in the systems path. Verify Python is installed by entering  ",[611,121391,121392],{},"python"," in the command line.",[48,121395,121224],{"id":121223},[56,121397,121398,121408,121411],{},[59,121399,121400,121406],{},[175,121401,121403],{"href":102325,"rel":121402},[179],[37,121404,121405],{},"Clone Shader SDK repository",[37,121407,181],{},[59,121409,121410],{},"Open Developer Command Prompt for VS. This can be done from either Tools Menu within the VS IDE or by finding an entry in the Start menu items",[59,121412,121413,121414],{},"Change directory to the location of the shader-sdk and run: ",[611,121415,121416],{},"shade init",[34,121418,121246],{},[1847,121420,121421,121424],{},[241,121422],{"src":121423,"alt":14},".gitbook\u002Fassets\u002Fimage (8).png",[1853,121425],{},[48,121427,121261],{"id":121260},[56,121429,121430],{},[59,121431,121432,121433,121435],{},"Launch the Command Prompt, creating a new folder for your Shader project. We will use the ",[611,121434,10829],{}," folder for this tutorial:",[1847,121437,121438,121441],{},[241,121439],{"src":121440,"alt":14},".gitbook\u002Fassets\u002Fimage (19).png",[1853,121442],{},[34,121444,121445,121446,1475,121449,121452],{},"2. Locate ",[611,121447,121448],{},"shader-sdk",[611,121450,121451],{},"wasi-sdk","folders, and enter the following:",[34,121454,121455],{},[611,121456,121457],{},"set BEAM_SHADER_SDK=c:\\Code\\shader-sdk",[34,121459,121460],{},[611,121461,121462],{},"set WASI_SDK_PREFIX=C:\\Code\\shader-sdk\\wasi-sdk-14.0",[56,121464,121465],{"start":154},[59,121466,121467,121468,5102],{},"To initialize the structure of your Shader, enter  ",[611,121469,121285],{},[34,121471,121472,121473,121476,121477,121479],{},"For our ",[611,121474,121475],{},"\u003Cproject name>",", use ",[611,121478,10829],{},", i.e.,:",[34,121481,121482],{},[611,121483,121484],{},"c:\\Code\\shader-sdk\\shade create_project vault",[1847,121486,121487,121490],{},[241,121488],{"src":121489,"alt":14},".gitbook\u002Fassets\u002Fimage (4).png",[1853,121491],{},[34,121493,121494],{},"If initialized correctly, your Shader project structure should resemble the following:",[1847,121496,121497,121499],{},[241,121498],{"src":1783,"alt":14},[1853,121500,121501],{},[34,121502,121503],{},"Vault project structure",[48,121505,121320],{"id":121319},[34,121507,121508,121509,97649,121512,121515],{},"In Visual Studio, locate ",[37,121510,121511],{},"Open A Local Folder",[37,121513,121514],{},"Start"," menu:",[1847,121517,121518,121521],{},[241,121519],{"src":121520,"alt":14},".gitbook\u002Fassets\u002Fimage (23).png",[1853,121522],{},[34,121524,121525,121526,121529,121530,121533,121534,1475,121536,121539,121540,121543],{},"Navigate to your Shader project folder, click ",[37,121527,121528],{},"Select Folder"," to initialize a ",[37,121531,121532],{},"CMake project",", creating ",[611,121535,92435],{},[611,121537,121538],{},"CMakeLists.json"," files will be seen in the ",[37,121541,121542],{},"Solution Explorer"," for your Shader project:",[1847,121545,121546,121549],{},[241,121547],{"src":121548,"alt":14},".gitbook\u002Fassets\u002Fimage (10).png",[1853,121550,121551],{},[34,121552,121553],{},"Vault Solution Explorer",[34,121555,1792,121556,121559],{},[611,121557,121558],{},"wasm32-Release"," build configuration:",[1847,121561,121562,121565],{},[241,121563],{"src":121564,"alt":14},".gitbook\u002Fassets\u002Fimage (13).png",[1853,121566],{},[34,121568,121569,121570,121572],{},"This will build ",[611,121571,6022],{}," files following this folder structure:",[34,121574,121575],{},[611,121576,121577],{},"C:\\Code\\vault\\build\\wasi\\shaders",[34,121579,121580],{},"If you are encountering errors, try the following before reaching out to support:",[56,121582,121583,121588,121598],{},[59,121584,121585,121586,92527],{},"Open Windows Explorer and delete the ",[611,121587,97611],{},[59,121589,121590,121591,121594,121595],{},"In the  ",[37,121592,121593],{},"Project"," menu, select ",[37,121596,121597],{},"Delete Cache and Reconfigure.",[59,121599,121600,121601,121603],{},"Rebuild ",[611,121602,121558],{}," project.",[1847,121605,121606,121609],{},[241,121607],{"src":121608,"alt":14},".gitbook\u002Fassets\u002Fimage (25).png",[1853,121610],{},[34,121612,121613],{},"You can begin coding your Shader project!",{"title":14,"searchDepth":15,"depth":15,"links":121615},[121616,121617,121618,121619],{"id":111759,"depth":154,"text":111760},{"id":121223,"depth":154,"text":121224},{"id":121260,"depth":154,"text":121261},{"id":121319,"depth":154,"text":121320},{},"\u002Fdocs\u002Fdev\u002Fshader-sdk-win",{"title":121356,"description":121364},"docs\u002Fdev\u002Fshader-sdk-win","fOtcFu-HuUJmthjxOYwV5v3uz0QYbN18xa-qw2XajLQ",{"id":121626,"title":121627,"body":121628,"description":122503,"extension":17,"image":18,"meta":122504,"navTitle":18,"navigation":20,"path":122505,"seo":122506,"stem":122507,"__hash__":122508},"docs\u002Fdocs\u002Fdev\u002Fusing-beam-shaders.md","Using Beam Shaders",{"type":8,"value":121629,"toc":122493},[121630,121632,121640,121643,121663,121667,121673,121682,121685,121689,121692,121708,121714,121720,121727,121731,121741,121755,121761,121767,121772,121787,121796,121803,121807,121810,121822,121828,121833,121841,121844,121848,121860,121867,121873,121876,121888,121906,121910,121913,121916,121922,121935,121938,121950,121953,122367,122376,122388,122394,122396,122402,122404,122414,122421,122427,122434,122437,122450,122453,122463,122469,122479,122485,122491],[11,121631,121627],{"id":115625},[34,121633,121634,121639],{},[175,121635,121638],{"href":121636,"rel":121637},"https:\u002F\u002Fdappnet.beam.mw\u002Fdownloads\u002F",[179],"Why DAppnet","?",[34,121641,121642],{},"Beam consists of three public networks:",[56,121644,121645,121651,121657],{},[59,121646,121647,121650],{},[37,121648,121649],{},"DAppnet:"," a testing sandbox that produces a pseudo-mining block every 15 seconds.",[59,121652,121653,121656],{},[37,121654,121655],{},"Testnet:"," produces genuine mining blocks but is mostly a testing site before Mainnet deployment.",[59,121658,121659,121662],{},[37,121660,121661],{},"Mainnet:"," the living Beam network with real assets.",[48,121664,121666],{"id":121665},"install-dappnet-wallet","Install DAppnet wallet",[34,121668,121669,121670,181],{},"The latest version of the Beam DAppnet Wallet is on our ",[175,121671,2249],{"href":121636,"rel":121672},[179],[34,121674,121675,121676,121681],{},"When ",[175,121677,121680],{"href":121678,"rel":121679},"https:\u002F\u002Fbeamx.gitbook.io\u002Fdappnet-user-guide\u002Fsettings",[179],"installing DAppnet",", choose the default settings to operate the local node (required) to run Beam Shader contracts.  Create a new wallet (save the seed phrase).",[34,121683,121684],{},"Beam Shaders require the use of the integrated node found in the DAppnet Wallet and must remain open for this tutorial.",[48,121686,121688],{"id":121687},"withdraw-from-the-faucet","Withdraw from the Faucet",[34,121690,121691],{},"All DAppnet transactions (including Beam Shader deployment) contain transaction fees that are paid in Beam coins, and require a positive wallet balance.",[34,121693,112485,121694,98,121698,121701,121702,98,121705,181],{},[175,121695,112136],{"href":121696,"rel":121697},"https:\u002F\u002Fbeamx.gitbook.io\u002Fdappnet-user-guide\u002Fmy-dapp-store",[179],[241,121699],{"src":121700,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2023-05-10 at 10.27.02 PM.png"," and find the ",[37,121703,121704],{},"Faucet Application",[241,121706],{"src":121707,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2023-05-11 at 5.38.24 PM.png",[1847,121709,121710,121712],{},[241,121711],{"src":1777,"alt":14},[1853,121713],{},[34,121715,112485,121716,121719],{},[37,121717,121718],{},"Faucet >>> Get your first Beam >>> Confirm,","  and Beam coins will deposit into your wallet after the next mining block.",[1847,121721,121722,121725],{},[241,121723],{"src":121724,"alt":14},".gitbook\u002Fassets\u002Fimage (16).png",[1853,121726],{},[48,121728,121730],{"id":121729},"configuring-your-cli-wallet","Configuring your CLI wallet",[34,121732,121733,121734,121737,121738,121740],{},"Beam shaders are deployed via CLI wallet which can be found on our ",[175,121735,2249],{"href":121636,"rel":121736},[179],". This tutorial uses Windows Command Prompt, but users can substitute ",[175,121739,90463],{"href":121175}," and Linux commands if desired.",[34,121742,121743,121744,121746,121747,121749,121750,103003,121753,11260],{},"Create a ",[611,121745,117413],{}," folder in your hard drive, and transfer CLI wallet archive. The ",[611,121748,117413],{}," folder should contain two files: two files: the ",[611,121751,121752],{},"CLI wallet archive",[611,121754,4441],{},[34,121756,121757,121758,121760],{},"For this tutorial, we will use our DAppnet's ",[611,121759,3449],{},"(for testing purposes only. This practice is not recommended with wallets containing real assets).",[48,121762,103167,121764,121766],{"id":121763},"copy-walletdb-from-dappnet-wallet",[611,121765,3449],{}," from DAppnet Wallet",[34,121768,121769,121770,11260],{},"Beam wallets store wallet metadata (transaction history, balance, etc) locally on your hard drive in the ",[611,121771,3449],{},[34,121773,121774,121775,121777,121778,121781,121782,121784,121785,92527],{},"Locate your DAppnet ",[611,121776,3449],{}," in the ",[611,121779,121780],{},"%LOCALAPPDATA%\\Beam Wallet folder",". Transfer the ",[611,121783,3449],{}," in the same ",[611,121786,117413],{},[34,121788,115676,121789,90454,121793,121795],{},[175,121790,121792],{"href":121791},"beam-wallets\u002Fdesktop-wallet","Desktop Wallet guide",[611,121794,3449],{}," file location for macOS and Linux operating systems.",[1847,121797,121798,121801],{},[241,121799],{"src":121800,"alt":14},".gitbook\u002Fassets\u002Fimage (11).png",[1853,121802],{},[48,121804,121806],{"id":121805},"configure-cli-wallet-settings","Configure CLI wallet settings",[34,121808,121809],{},"One more crucial step before running Shader contracts involves configuring the CLI wallet settings to simplify and shorten commands.",[34,121811,121812,121813,121815,121816,121821],{},"To connect CLI wallet's to the built-in node, first edit the ",[611,121814,4441],{}," file using text editor (such as ",[175,121817,121820],{"href":121818,"rel":121819},"https:\u002F\u002Fcode.visualstudio.com\u002F",[179],"Visual Studio Code",") and enter the following:",[616,121823,121826],{"className":121824,"code":121825,"language":621},[619],"log_level=debug\npass=\u003Cyour wallet password>\nnode_addr=127.0.0.1:10005\nwallet_path=wallet.db\n",[611,121827,121825],{"__ignoreMap":14},[34,121829,6547,121830,121832],{},[611,121831,4441],{}," file should resemble the following:",[616,121834,121835],{},[611,121836,121837,121840],{},[37,121838,121839],{},"################################################################################\n","# General options:\n################################################################################\n\n# log level [info|debug|verbose]\nlog_level=debug\n\n# file log level [info|debug|verbose]\n# file_log_level=debug\n\n# old logs cleanup period (days)\n# log_cleanup_days=5\n\n################################################################################\n# Wallet options:\n################################################################################\n\n# password for the wallet\npass=123\n\n# phrase to generate secret key according to BIP-39.\n# seed_phrase=\n\n# address of node\nnode_addr=127.0.0.1:10005\n\n# path to wallet file\nwallet_path=wallet.db\n\n# command to execute [new_addr|send|receive|listen|init|info|export_miner_key|export_owner_key|generate_phrase]\n# command=listen\n\n\n",[34,121842,121843],{},"The testing environment is ready to deploy Shaders, all that remains is selecting the Shader contract.",[48,121845,121847],{"id":121846},"choosing-a-shader-application","Choosing a  Shader application",[34,121849,6547,121850,121855,121856,121859],{},[175,121851,121854],{"href":121852,"rel":121853},"https:\u002F\u002Fdappnet.explorer.beam.mw\u002F",[179],"Dappnet Blockchain Explorer"," (see ",[37,121857,121858],{},"Contracts"," tab) contains a list of Shader contract applications ready for testing.",[1847,121861,121862,121865],{},[241,121863],{"src":121864,"alt":14},".gitbook\u002Fassets\u002Fimage (6).png",[1853,121866],{},[34,121868,121869,121870,121872],{},"For the purposes of this tutorial, we will select the ",[37,121871,117371],{}," Shader application (copy the Vault Contract ID -- we will use this later).",[34,121874,121875],{},"At thid time, the list of available contracts is DAppnet. The majority of deployed contracts don't contain a contract description. These features will be adjusted with future iterations of DAppnet.",[34,121877,121878,98,121881,121887],{},[37,121879,121880],{},"Please download the Vault application Shader from our",[175,121882,121884,98],{"href":117367,"rel":121883},[179],[37,121885,121886],{},"Beam repository.","The Shader contract will not respond to CLI commands without the precompiled source code.",[34,121889,121890,121891,121897,121898,121900,121901,121903,121904,11260],{},"Download ",[175,121892,121895],{"href":121893,"rel":121894},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fbvm\u002FShaders\u002Fvault\u002Fapp.wasm",[179],[611,121896,6065],{}," and copy it to your ",[611,121899,117413],{}," folder. ",[37,121902,9770],{},": if you are testing several applications, create a folder for each Shader application so each application contains a separate ",[611,121905,6065],{},[48,121907,121909],{"id":121908},"running-shader-commands","Running Shader commands",[34,121911,121912],{},"Open as command line interface and change directory to the location of the CLI wallet executable.",[34,121914,121915],{},"First, print the contract API with the following command:",[616,121917,121920],{"className":121918,"code":121919,"language":621},[619],"beam-wallet-dappnet.exe shader --shader_app_file vault\\app.wasm\n",[611,121921,121919],{"__ignoreMap":14},[34,121923,121924,121925,121928,121929,121931,121932,121934],{},"Note, we have provided only a single parameter (",[611,121926,121927],{},"--shader_app_file",") since it's assume all other parameters are set in the ",[611,121930,4441],{}," file and a separate path to the application Shader is found in the ",[611,121933,117413],{},"  folder (with the Vault contract).",[34,121936,121937],{},"The output should resemble the following (debug logs are found in this example):",[1847,121939,121940,121943],{},[241,121941],{"src":121942,"alt":14},".gitbook\u002Fassets\u002Fimage (21).png",[1853,121944,121945],{},[34,121946,121947],{},[611,121948,121949],{},"--shader_app_file method",[34,121951,121952],{},"Copy the Shader output (see below) into your text editor, (following JSON format).",[616,121954,121956],{"className":6989,"code":121955,"language":6991,"meta":14,"style":14}," {\n     \"roles\":\n     {\n         \"manager\":\n         {\n             \"create\":\n             {},\n             \"destroy\":\n             {\n                 \"cid\": \"ContractID\"\n             },\n             \"view\":\n             {},\n             \"view_logs\":\n             {\n                 \"cid\": \"ContractID\"\n             },\n             \"view_accounts\":\n             {\n                 \"cid\": \"ContractID\"\n             },\n             \"view_account\":\n             {\n                 \"cid\": \"ContractID\",\n                 \"pubKey\": \"PubKey\"\n             }\n         },\n         \"my_account\":\n         {\n             \"view\":\n             {\n                 \"cid\": \"ContractID\"\n             },\n             \"get_key\":\n             {\n                 \"cid\": \"ContractID\"\n             },\n             \"get_proof\":\n             {\n                 \"cid\": \"ContractID\",\n                 \"aid\": \"AssetID\"\n             },\n             \"deposit\":\n             {\n                 \"cid\": \"ContractID\",\n                 \"pkForeign\": \"PubKey\",\n                 \"bCoSigner\": \"uint32_t\",\n                 \"amount\": \"Amount\",\n                 \"aid\": \"AssetID\"\n             },\n             \"withdraw\":\n             {\n                 \"cid\": \"ContractID\",\n                 \"pkForeign\": \"PubKey\",\n                 \"bCoSigner\": \"uint32_t\",\n                 \"amount\": \"Amount\",\n                 \"aid\": \"AssetID\",\n                 \"amountCoSigner\": \"Amount\"\n             }\n         }\n     }\n }\n",[611,121957,121958,121962,121969,121974,121981,121986,121993,121998,122005,122010,122019,122024,122031,122035,122042,122046,122054,122058,122065,122069,122077,122081,122088,122092,122102,122112,122117,122122,122129,122133,122139,122143,122151,122155,122162,122166,122174,122178,122185,122189,122199,122208,122212,122219,122223,122233,122244,122255,122266,122274,122278,122285,122289,122299,122309,122319,122329,122339,122349,122353,122358,122363],{"__ignoreMap":14},[6995,121959,121960],{"class":244,"line":6997},[6995,121961,107343],{"class":7000},[6995,121963,121964,121967],{"class":244,"line":15},[6995,121965,121966],{"class":7006},"     \"roles\"",[6995,121968,7532],{"class":7000},[6995,121970,121971],{"class":244,"line":154},[6995,121972,121973],{"class":7000},"     {\n",[6995,121975,121976,121979],{"class":244,"line":7033},[6995,121977,121978],{"class":7006},"         \"manager\"",[6995,121980,7532],{"class":7000},[6995,121982,121983],{"class":244,"line":7044},[6995,121984,121985],{"class":7000},"         {\n",[6995,121987,121988,121991],{"class":244,"line":7107},[6995,121989,121990],{"class":7006},"             \"create\"",[6995,121992,7532],{"class":7000},[6995,121994,121995],{"class":244,"line":7120},[6995,121996,121997],{"class":7000},"             {},\n",[6995,121999,122000,122003],{"class":244,"line":7133},[6995,122001,122002],{"class":7006},"             \"destroy\"",[6995,122004,7532],{"class":7000},[6995,122006,122007],{"class":244,"line":7146},[6995,122008,122009],{"class":7000},"             {\n",[6995,122011,122012,122015,122017],{"class":244,"line":7159},[6995,122013,122014],{"class":7006},"                 \"cid\"",[6995,122016,7024],{"class":7000},[6995,122018,115832],{"class":7012},[6995,122020,122021],{"class":244,"line":7172},[6995,122022,122023],{"class":7000},"             },\n",[6995,122025,122026,122029],{"class":244,"line":7185},[6995,122027,122028],{"class":7006},"             \"view\"",[6995,122030,7532],{"class":7000},[6995,122032,122033],{"class":244,"line":7198},[6995,122034,121997],{"class":7000},[6995,122036,122037,122040],{"class":244,"line":7211},[6995,122038,122039],{"class":7006},"             \"view_logs\"",[6995,122041,7532],{"class":7000},[6995,122043,122044],{"class":244,"line":7220},[6995,122045,122009],{"class":7000},[6995,122047,122048,122050,122052],{"class":244,"line":7226},[6995,122049,122014],{"class":7006},[6995,122051,7024],{"class":7000},[6995,122053,115832],{"class":7012},[6995,122055,122056],{"class":244,"line":7238},[6995,122057,122023],{"class":7000},[6995,122059,122060,122063],{"class":244,"line":7250},[6995,122061,122062],{"class":7006},"             \"view_accounts\"",[6995,122064,7532],{"class":7000},[6995,122066,122067],{"class":244,"line":7263},[6995,122068,122009],{"class":7000},[6995,122070,122071,122073,122075],{"class":244,"line":7275},[6995,122072,122014],{"class":7006},[6995,122074,7024],{"class":7000},[6995,122076,115832],{"class":7012},[6995,122078,122079],{"class":244,"line":7288},[6995,122080,122023],{"class":7000},[6995,122082,122083,122086],{"class":244,"line":7300},[6995,122084,122085],{"class":7006},"             \"view_account\"",[6995,122087,7532],{"class":7000},[6995,122089,122090],{"class":244,"line":7313},[6995,122091,122009],{"class":7000},[6995,122093,122094,122096,122098,122100],{"class":244,"line":7325},[6995,122095,122014],{"class":7006},[6995,122097,7024],{"class":7000},[6995,122099,115915],{"class":7012},[6995,122101,7030],{"class":7000},[6995,122103,122104,122107,122109],{"class":244,"line":7336},[6995,122105,122106],{"class":7006},"                 \"pubKey\"",[6995,122108,7024],{"class":7000},[6995,122110,122111],{"class":7012},"\"PubKey\"\n",[6995,122113,122114],{"class":244,"line":7342},[6995,122115,122116],{"class":7000},"             }\n",[6995,122118,122119],{"class":244,"line":7347},[6995,122120,122121],{"class":7000},"         },\n",[6995,122123,122124,122127],{"class":244,"line":7363},[6995,122125,122126],{"class":7006},"         \"my_account\"",[6995,122128,7532],{"class":7000},[6995,122130,122131],{"class":244,"line":7375},[6995,122132,121985],{"class":7000},[6995,122134,122135,122137],{"class":244,"line":7387},[6995,122136,122028],{"class":7006},[6995,122138,7532],{"class":7000},[6995,122140,122141],{"class":244,"line":7398},[6995,122142,122009],{"class":7000},[6995,122144,122145,122147,122149],{"class":244,"line":7410},[6995,122146,122014],{"class":7006},[6995,122148,7024],{"class":7000},[6995,122150,115832],{"class":7012},[6995,122152,122153],{"class":244,"line":7421},[6995,122154,122023],{"class":7000},[6995,122156,122157,122160],{"class":244,"line":7432},[6995,122158,122159],{"class":7006},"             \"get_key\"",[6995,122161,7532],{"class":7000},[6995,122163,122164],{"class":244,"line":7443},[6995,122165,122009],{"class":7000},[6995,122167,122168,122170,122172],{"class":244,"line":7452},[6995,122169,122014],{"class":7006},[6995,122171,7024],{"class":7000},[6995,122173,115832],{"class":7012},[6995,122175,122176],{"class":244,"line":7458},[6995,122177,122023],{"class":7000},[6995,122179,122180,122183],{"class":244,"line":7464},[6995,122181,122182],{"class":7006},"             \"get_proof\"",[6995,122184,7532],{"class":7000},[6995,122186,122187],{"class":244,"line":7470},[6995,122188,122009],{"class":7000},[6995,122190,122191,122193,122195,122197],{"class":244,"line":13197},[6995,122192,122014],{"class":7006},[6995,122194,7024],{"class":7000},[6995,122196,115915],{"class":7012},[6995,122198,7030],{"class":7000},[6995,122200,122201,122204,122206],{"class":244,"line":13202},[6995,122202,122203],{"class":7006},"                 \"aid\"",[6995,122205,7024],{"class":7000},[6995,122207,117728],{"class":7012},[6995,122209,122210],{"class":244,"line":13214},[6995,122211,122023],{"class":7000},[6995,122213,122214,122217],{"class":244,"line":13225},[6995,122215,122216],{"class":7006},"             \"deposit\"",[6995,122218,7532],{"class":7000},[6995,122220,122221],{"class":244,"line":13237},[6995,122222,122009],{"class":7000},[6995,122224,122225,122227,122229,122231],{"class":244,"line":13248},[6995,122226,122014],{"class":7006},[6995,122228,7024],{"class":7000},[6995,122230,115915],{"class":7012},[6995,122232,7030],{"class":7000},[6995,122234,122235,122238,122240,122242],{"class":244,"line":13258},[6995,122236,122237],{"class":7006},"                 \"pkForeign\"",[6995,122239,7024],{"class":7000},[6995,122241,116005],{"class":7012},[6995,122243,7030],{"class":7000},[6995,122245,122246,122249,122251,122253],{"class":244,"line":13263},[6995,122247,122248],{"class":7006},"                 \"bCoSigner\"",[6995,122250,7024],{"class":7000},[6995,122252,115869],{"class":7012},[6995,122254,7030],{"class":7000},[6995,122256,122257,122260,122262,122264],{"class":244,"line":13268},[6995,122258,122259],{"class":7006},"                 \"amount\"",[6995,122261,7024],{"class":7000},[6995,122263,116368],{"class":7012},[6995,122265,7030],{"class":7000},[6995,122267,122268,122270,122272],{"class":244,"line":13275},[6995,122269,122203],{"class":7006},[6995,122271,7024],{"class":7000},[6995,122273,117728],{"class":7012},[6995,122275,122276],{"class":244,"line":13280},[6995,122277,122023],{"class":7000},[6995,122279,122280,122283],{"class":244,"line":13291},[6995,122281,122282],{"class":7006},"             \"withdraw\"",[6995,122284,7532],{"class":7000},[6995,122286,122287],{"class":244,"line":13303},[6995,122288,122009],{"class":7000},[6995,122290,122291,122293,122295,122297],{"class":244,"line":13314},[6995,122292,122014],{"class":7006},[6995,122294,7024],{"class":7000},[6995,122296,115915],{"class":7012},[6995,122298,7030],{"class":7000},[6995,122300,122301,122303,122305,122307],{"class":244,"line":13324},[6995,122302,122237],{"class":7006},[6995,122304,7024],{"class":7000},[6995,122306,116005],{"class":7012},[6995,122308,7030],{"class":7000},[6995,122310,122311,122313,122315,122317],{"class":244,"line":13329},[6995,122312,122248],{"class":7006},[6995,122314,7024],{"class":7000},[6995,122316,115869],{"class":7012},[6995,122318,7030],{"class":7000},[6995,122320,122321,122323,122325,122327],{"class":244,"line":13334},[6995,122322,122259],{"class":7006},[6995,122324,7024],{"class":7000},[6995,122326,116368],{"class":7012},[6995,122328,7030],{"class":7000},[6995,122330,122331,122333,122335,122337],{"class":244,"line":13346},[6995,122332,122203],{"class":7006},[6995,122334,7024],{"class":7000},[6995,122336,116137],{"class":7012},[6995,122338,7030],{"class":7000},[6995,122340,122341,122344,122346],{"class":244,"line":13357},[6995,122342,122343],{"class":7006},"                 \"amountCoSigner\"",[6995,122345,7024],{"class":7000},[6995,122347,122348],{"class":7012},"\"Amount\"\n",[6995,122350,122351],{"class":244,"line":13368},[6995,122352,122116],{"class":7000},[6995,122354,122355],{"class":244,"line":13379},[6995,122356,122357],{"class":7000},"         }\n",[6995,122359,122360],{"class":244,"line":13389},[6995,122361,122362],{"class":7000},"     }\n",[6995,122364,122365],{"class":244,"line":13394},[6995,122366,107052],{"class":7000},[34,122368,122369,122370,122372,122373,122375],{},"The Vault contract API (as retrieved from the Vault Shader contract) separates the API actions into roles, (",[611,122371,117809],{}," , ",[611,122374,117812],{},") following semantic structure.",[34,122377,6547,122378,122380,122381,122385,122386,21920],{},[611,122379,117847],{}," method will list all Vault accounts present and were we can can plug the Valut Shader (found in the ",[175,122382,122384],{"href":121852,"rel":122383},[179],"DAppnet explorer",") contract ID into the ",[611,122387,117847],{},[616,122389,122392],{"className":122390,"code":122391,"language":621},[619],"d9c5d1782b2d2b6f733486be480bb0d8bcf34d5fdc63bbac996ed76af541cc14\n",[611,122393,122391],{"__ignoreMap":14},[34,122395,4092],{},[616,122397,122400],{"className":122398,"code":122399,"language":621},[619],"beam-wallet-dappnet.exe shader --shader_app_file vault\\app.wasm --shader_args=cid=d9c5d1782b2d2b6f733486be480bb0d8bcf34d5fdc63bbac996ed76af541cc14,role=manager,action=view_accounts\n",[611,122401,122399],{"__ignoreMap":14},[34,122403,3580],{},[1847,122405,122406,122409],{},[241,122407],{"src":122408,"alt":14},".gitbook\u002Fassets\u002Fimage (17).png",[1853,122410,122411],{},[34,122412,122413],{},"View_accounts method",[34,122415,122416,122417,122420],{},"In the above example, there are currently no accounts within the contract. To create an account, utilize ",[611,122418,122419],{},"deposit"," method and deposit one Beam coin with the following command:",[616,122422,122425],{"className":122423,"code":122424,"language":621},[619],"beam-wallet-dappnet.exe shader --shader_app_file vault\\app.wasm --shader_args=\"cid=d9c5d1782b2d2b6f733486be480bb0d8bcf34d5fdc63bbac996ed76af541cc14,role=my_account,action=deposit,amount=100000000\"\n",[611,122426,122424],{"__ignoreMap":14},[34,122428,122429,98,122431,122433],{},[37,122430,9127],{},[611,122432,8404],{}," is set in Groth, which is $$1^10-8$$  of Beam.",[34,122435,122436],{},"The above action creates and sends the transaction to the network (so it will take a moment). When completed, the output should resemble the following:",[1847,122438,122439,122442],{},[241,122440],{"src":122441,"alt":14},".gitbook\u002Fassets\u002Fimage (5).png",[1853,122443,122444],{},[34,122445,122446,122449],{},[611,122447,122448],{},"Deposit"," Method",[34,122451,122452],{},"The response generated (see below) clarfies the API response:",[1847,122454,122455,122458],{},[241,122456],{"src":122457,"alt":14},".gitbook\u002Fassets\u002Fimage (18).png",[1853,122459,122460],{},[34,122461,122462],{},"Deposit successful",[34,122464,122465,122466,3862],{},"To confirm the transaction was successful, re-enter the ",[611,122467,122468],{},"accounts",[1847,122470,122471,122474],{},[241,122472],{"src":122473,"alt":14},".gitbook\u002Fassets\u002Fimage (7).png",[1853,122475,122476],{},[34,122477,122478],{},"New account creation",[34,122480,122481,122482,2344],{},"The response generated confirms a new account is identified by your wallet public key and has a balance of one Beams. To get aquainted with the API function, try depositing and withdrawing Beam's into your account. Users can also attempt to retrieve Beam's from a seperate account (",[37,122483,122484],{},"spoiler: it won't work",[34,122486,122487,122488,181],{},"To learn how to code your own Shader application contract and deploy it chain, please refer to our ",[175,122489,122490],{"href":121361},"Shader SDK tutorial",[8692,122492,14042],{},{"title":14,"searchDepth":15,"depth":15,"links":122494},[122495,122496,122497,122498,122500,122501,122502],{"id":121665,"depth":154,"text":121666},{"id":121687,"depth":154,"text":121688},{"id":121729,"depth":154,"text":121730},{"id":121763,"depth":154,"text":122499},"Copy wallet.db from DAppnet Wallet",{"id":121805,"depth":154,"text":121806},{"id":121846,"depth":154,"text":121847},{"id":121908,"depth":154,"text":121909},"This tutorial describes using Beam Shaders on DAppnet",{},"\u002Fdocs\u002Fdev\u002Fusing-beam-shaders",{"title":121627,"description":122503},"docs\u002Fdev\u002Fusing-beam-shaders","FmFYkMvLYiPOFVfIam4WmMZpm9RHWuygxNjFsIMj1Ws",{"id":122510,"title":122511,"body":122512,"description":123078,"extension":17,"image":18,"meta":123079,"navTitle":18,"navigation":20,"path":123080,"seo":123081,"stem":123082,"__hash__":123083},"docs\u002Fdocs\u002Fdev\u002Fusing-beam-shaders-with-cli-wallet.md","Using Beam Shaders with CLI wallet",{"type":8,"value":122513,"toc":123070},[122514,122516,122522,122524,122560,122562,122564,122575,122588,122590,122593,122599,122604,122609,122614,122898,122908,122944,122954,122956,122965,122984,122991,122996,123001,123006,123008,123018,123024,123026,123031,123033,123068],[11,122515,122511],{"id":115746},[34,122517,122518,122519,122521],{},"This page is somewhat obsolete, and is replaced with ",[175,122520,121627],{"href":115625}," tutorial",[48,122523,111760],{"id":111759},[56,122525,122526,122546,122551,122558],{},[59,122527,122528,122529,122532,122533,122535,117429,122537,2231,122540,2231,122543,117437],{},"Make sure you have ",[175,122530,122531],{"href":4253},"node running"," and connected to local network.",[4953,122534],{},[37,122536,117428],{},[611,122538,122539],{},"--Fork1",[611,122541,122542],{},"--Fork2",[611,122544,122545],{},"--Fork3",[59,122547,122548,122549,117444],{},"Create at least one Beam node[link] with ",[611,122550,117443],{},[59,122552,117447,122553,122557],{},[175,122554,122556],{"href":122555},"beam-wallets\u002Fcommand-line-wallet","CLI wallet connected to your Beam node"," or to one of the Beam bootstrap nodes.",[59,122559,117455],{},[48,122561,2271],{"id":6069},[34,122563,117394],{},[852,122565,122566,122570],{},[59,122567,122568,117401],{},[37,122569,116890],{},[59,122571,122572,117407],{},[37,122573,122574],{},"App Shaders",[34,122576,122577,98,122580,98,122585],{},[100,122578,122579],{},"All examples refer to a sample application 'mydapp' which has two",[175,122581,122583],{"href":117367,"rel":122582},[179],[100,122584,117371],{},[100,122586,122587],{},"Shaders: App Shader(app.wasm) and Contract Shader(contract.wasm).",[48,122589,115740],{"id":115739},[34,122591,122592],{},"First of all, you need to know the available actions of a contract. To see all commands supported by the App Shader enter the following command:",[616,122594,122597],{"className":122595,"code":122596,"language":621},[619],".\u002Fbeam-wallet-masternet shader --shader_app_file=mydapp\u002Fapp.wasm -n \u003Cnode>\n",[611,122598,122596],{"__ignoreMap":14},[34,122600,122601,122603],{},[4953,122602],{},"\nThe output is a json format line:",[616,122605,122607],{"className":122606,"code":117489,"language":621},[619],[611,122608,117489],{"__ignoreMap":14},[34,122610,122611,122613],{},[4953,122612],{},"\nFor convenience, let's put it this way:",[616,122615,122616],{"className":6989,"code":117497,"language":6991,"meta":14,"style":14},[611,122617,122618,122622,122628,122634,122640,122654,122660,122674,122688,122710,122714,122720,122734,122748,122770,122776,122786,122796,122806,122816,122824,122828,122834,122844,122854,122864,122874,122882,122886,122890,122894],{"__ignoreMap":14},[6995,122619,122620],{"class":244,"line":6997},[6995,122621,7001],{"class":7000},[6995,122623,122624,122626],{"class":244,"line":15},[6995,122625,117508],{"class":7006},[6995,122627,7092],{"class":7000},[6995,122629,122630,122632],{"class":244,"line":154},[6995,122631,117515],{"class":7006},[6995,122633,7092],{"class":7000},[6995,122635,122636,122638],{"class":244,"line":7033},[6995,122637,117522],{"class":7006},[6995,122639,117525],{"class":7000},[6995,122641,122642,122644,122646,122648,122650,122652],{"class":244,"line":7044},[6995,122643,117530],{"class":7006},[6995,122645,117533],{"class":7000},[6995,122647,117536],{"class":7006},[6995,122649,7024],{"class":7000},[6995,122651,115915],{"class":7012},[6995,122653,117543],{"class":7000},[6995,122655,122656,122658],{"class":244,"line":7107},[6995,122657,117548],{"class":7006},[6995,122659,117525],{"class":7000},[6995,122661,122662,122664,122666,122668,122670,122672],{"class":244,"line":7120},[6995,122663,117555],{"class":7006},[6995,122665,117533],{"class":7000},[6995,122667,117536],{"class":7006},[6995,122669,7024],{"class":7000},[6995,122671,115915],{"class":7012},[6995,122673,117543],{"class":7000},[6995,122675,122676,122678,122680,122682,122684,122686],{"class":244,"line":7133},[6995,122677,117570],{"class":7006},[6995,122679,117533],{"class":7000},[6995,122681,117536],{"class":7006},[6995,122683,7024],{"class":7000},[6995,122685,115915],{"class":7012},[6995,122687,117543],{"class":7000},[6995,122689,122690,122692,122694,122696,122698,122700,122702,122704,122706,122708],{"class":244,"line":7146},[6995,122691,117585],{"class":7006},[6995,122693,117533],{"class":7000},[6995,122695,117536],{"class":7006},[6995,122697,7024],{"class":7000},[6995,122699,115915],{"class":7012},[6995,122701,2231],{"class":7000},[6995,122703,117598],{"class":7006},[6995,122705,7024],{"class":7000},[6995,122707,116005],{"class":7012},[6995,122709,107052],{"class":7000},[6995,122711,122712],{"class":244,"line":7159},[6995,122713,21500],{"class":7000},[6995,122715,122716,122718],{"class":244,"line":7172},[6995,122717,117613],{"class":7006},[6995,122719,7092],{"class":7000},[6995,122721,122722,122724,122726,122728,122730,122732],{"class":244,"line":7185},[6995,122723,117548],{"class":7006},[6995,122725,117533],{"class":7000},[6995,122727,117536],{"class":7006},[6995,122729,7024],{"class":7000},[6995,122731,115915],{"class":7012},[6995,122733,117543],{"class":7000},[6995,122735,122736,122738,122740,122742,122744,122746],{"class":244,"line":7198},[6995,122737,117634],{"class":7006},[6995,122739,117533],{"class":7000},[6995,122741,117536],{"class":7006},[6995,122743,7024],{"class":7000},[6995,122745,115915],{"class":7012},[6995,122747,117543],{"class":7000},[6995,122749,122750,122752,122754,122756,122758,122760,122762,122764,122766,122768],{"class":244,"line":7211},[6995,122751,117649],{"class":7006},[6995,122753,117533],{"class":7000},[6995,122755,117536],{"class":7006},[6995,122757,7024],{"class":7000},[6995,122759,115915],{"class":7012},[6995,122761,2231],{"class":7000},[6995,122763,117662],{"class":7006},[6995,122765,7024],{"class":7000},[6995,122767,116137],{"class":7012},[6995,122769,117543],{"class":7000},[6995,122771,122772,122774],{"class":244,"line":7220},[6995,122773,117673],{"class":7006},[6995,122775,7092],{"class":7000},[6995,122777,122778,122780,122782,122784],{"class":244,"line":7226},[6995,122779,117680],{"class":7006},[6995,122781,7024],{"class":7000},[6995,122783,115915],{"class":7012},[6995,122785,7030],{"class":7000},[6995,122787,122788,122790,122792,122794],{"class":244,"line":7238},[6995,122789,117691],{"class":7006},[6995,122791,7024],{"class":7000},[6995,122793,116005],{"class":7012},[6995,122795,7030],{"class":7000},[6995,122797,122798,122800,122802,122804],{"class":244,"line":7250},[6995,122799,117702],{"class":7006},[6995,122801,7024],{"class":7000},[6995,122803,115869],{"class":7012},[6995,122805,7030],{"class":7000},[6995,122807,122808,122810,122812,122814],{"class":244,"line":7263},[6995,122809,8467],{"class":7006},[6995,122811,7024],{"class":7000},[6995,122813,116368],{"class":7012},[6995,122815,7030],{"class":7000},[6995,122817,122818,122820,122822],{"class":244,"line":7275},[6995,122819,117723],{"class":7006},[6995,122821,7024],{"class":7000},[6995,122823,117728],{"class":7012},[6995,122825,122826],{"class":244,"line":7288},[6995,122827,7339],{"class":7000},[6995,122829,122830,122832],{"class":244,"line":7300},[6995,122831,117737],{"class":7006},[6995,122833,7092],{"class":7000},[6995,122835,122836,122838,122840,122842],{"class":244,"line":7313},[6995,122837,117680],{"class":7006},[6995,122839,7024],{"class":7000},[6995,122841,115915],{"class":7012},[6995,122843,7030],{"class":7000},[6995,122845,122846,122848,122850,122852],{"class":244,"line":7325},[6995,122847,117691],{"class":7006},[6995,122849,7024],{"class":7000},[6995,122851,116005],{"class":7012},[6995,122853,7030],{"class":7000},[6995,122855,122856,122858,122860,122862],{"class":244,"line":7336},[6995,122857,117702],{"class":7006},[6995,122859,7024],{"class":7000},[6995,122861,115869],{"class":7012},[6995,122863,7030],{"class":7000},[6995,122865,122866,122868,122870,122872],{"class":244,"line":7342},[6995,122867,8467],{"class":7006},[6995,122869,7024],{"class":7000},[6995,122871,116368],{"class":7012},[6995,122873,7030],{"class":7000},[6995,122875,122876,122878,122880],{"class":244,"line":7347},[6995,122877,117723],{"class":7006},[6995,122879,7024],{"class":7000},[6995,122881,117728],{"class":7012},[6995,122883,122884],{"class":244,"line":7363},[6995,122885,7455],{"class":7000},[6995,122887,122888],{"class":244,"line":7375},[6995,122889,7615],{"class":7000},[6995,122891,122892],{"class":244,"line":7387},[6995,122893,7467],{"class":7000},[6995,122895,122896],{"class":244,"line":7398},[6995,122897,7047],{"class":7000},[34,122899,117806,122900,1475,122902,122904,122905,122907],{},[611,122901,117809],{},[611,122903,117812],{},". Each role has its own actions with or without required attributes. In this example, role ",[611,122906,117809],{}," has the following actions:",[852,122909,122910,122914,122920,122924,122930,122936],{},[59,122911,122912],{},[611,122913,90653],{},[59,122915,122916,117827,122918,117830],{},[611,122917,17727],{},[611,122919,24365],{},[59,122921,122922],{},[611,122923,117835],{},[59,122925,122926,117827,122928,117830],{},[611,122927,117840],{},[611,122929,24365],{},[59,122931,122932,117827,122934,117830],{},[611,122933,117847],{},[611,122935,24365],{},[59,122937,122938,117855,122940,1475,122942,117861],{},[611,122939,117854],{},[611,122941,24365],{},[611,122943,117860],{},[34,122945,122946],{},[100,122947,122948,122950,122951,122953],{},[37,122949,24365],{},"(i.e. ",[37,122952,117908],{},"), is the frequently required attribute. We get it after our contract has been deployed. The same contract which has been deployed with different attributes, will have different values.",[48,122955,16651],{"id":16650},[34,122957,122958,122959,181,122962,122964],{},"All command start with ",[611,122960,122961],{},".\u002Fbeam-wallet-masternet shader",[4953,122963],{},"\nThere are required flags that need to be passed to work with the contract:",[852,122966,122967,122971,122975,122979],{},[59,122968,122969,117928],{},[611,122970,117927],{},[59,122972,122973,117934],{},[611,122974,117933],{},[59,122976,122977,117940],{},[611,122978,117939],{},[59,122980,122981],{},[611,122982,122983],{},"-n \u003Cnode>",[34,122985,122986,98,122988],{},[37,122987,117428],{},[100,122989,122990],{},"All arguments are passed separated by commas. For example:",[616,122992,122994],{"className":122993,"code":117955,"language":621},[619],[611,122995,117955],{"__ignoreMap":14},[34,122997,122998],{},[100,122999,123000],{},"If the action has additional attributes, they also are separated by commas:",[616,123002,123004],{"className":123003,"code":117967,"language":621},[619],[611,123005,117967],{"__ignoreMap":14},[48,123007,117973],{"id":117972},[34,123009,123010,123011,117979,123013,123015,123016,5102],{},"To work with the contract, it needs to be deployed. In our Vault example contract, the deployment corresponds to the ",[611,123012,117809],{},[611,123014,90653],{}," action. Based on our knowledge, we got the following command to ",[37,123017,117988],{},[616,123019,123022],{"className":123020,"code":123021,"language":621},[619],".\u002Fbeam-wallet-masternet shader --shader_app_file=mydapp\u002Fapp.wasm --shader_args=\"role=manager,action=create\" --shader_contract_file=mydapp\u002Fcontract.wasm -n \u003Cnode>\n",[611,123023,123021],{"__ignoreMap":14},[34,123025,117997],{},[616,123027,123029],{"className":123028,"code":118001,"language":621},[619],[611,123030,118001],{"__ignoreMap":14},[48,123032,118015],{"id":118014},[852,123034,123035,123051],{},[59,123036,123037,123038,123044,118032,123046],{},"View deployed contracts:",[616,123039,123042],{"className":123040,"code":123041,"language":621},[619],".\u002Fbeam-wallet-masternet shader --shader_app_file=mydapp\u002Fapp.wasm --shader_args=\"role=manager,action=view\" --shader_contract_file=mydapp\u002Fcontract.wasm -n \u003Cnode>\n",[611,123043,123041],{"__ignoreMap":14},[4953,123045],{},[616,123047,123049],{"className":123048,"code":118036,"language":621},[619],[611,123050,118036],{"__ignoreMap":14},[59,123052,123053,123054,118047,123056,123061,117997,123063],{},"Destroy contract (with ",[611,123055,24365],{},[616,123057,123059],{"className":123058,"code":118051,"language":621},[619],[611,123060,118051],{"__ignoreMap":14},[4953,123062],{},[616,123064,123066],{"className":123065,"code":118059,"language":621},[619],[611,123067,118059],{"__ignoreMap":14},[8692,123069,14042],{},{"title":14,"searchDepth":15,"depth":15,"links":123071},[123072,123073,123074,123075,123076,123077],{"id":111759,"depth":154,"text":111760},{"id":6069,"depth":154,"text":2271},{"id":115739,"depth":154,"text":115740},{"id":16650,"depth":154,"text":16651},{"id":117972,"depth":154,"text":117973},{"id":118014,"depth":154,"text":118015},"This document describes how to use Beam Shaders with CLI wallet running on a local network",{},"\u002Fdocs\u002Fdev\u002Fusing-beam-shaders-with-cli-wallet",{"title":122511,"description":123078},"docs\u002Fdev\u002Fusing-beam-shaders-with-cli-wallet","uoRcMDT8xA-9myIxT-rJ4NsKm7QFaHsUqP4PJ3Lk-fk",{"id":123085,"title":123086,"body":123087,"description":14,"extension":17,"image":18,"meta":123599,"navTitle":18,"navigation":20,"path":123600,"seo":123601,"stem":123602,"__hash__":123603},"docs\u002Fdocs\u002Fecosystem\u002FREADME.md","Beam Documentation",{"type":8,"value":123088,"toc":123573},[123089,123092,123096,123099,123105,123108,123114,123146,123156,123160,123168,123182,123191,123197,123201,123237,123242,123245,123249,123260,123262,123265,123269,123272,123280,123293,123297,123300,123303,123313,123316,123329,123333,123347,123350,123353,123357,123360,123364,123372,123376,123381,123385,123388,123394,123408,123414,123434,123438,123441,123453,123459,123470,123475,123479,123482,123485,123491,123493,123519,123523,123526,123529,123546],[11,123090,123086],{"id":123091},"beam-documentation",[41,123093,123095],{"id":123094},"welcome-to-beam","Welcome to Beam",[34,123097,123098],{},"Beam is a best-in-class confidential cryptocurrency and DeFi platform.",[34,123100,123101],{},[241,123102],{"alt":123103,"src":123104},"Beam Confidential Cryptocurrency and BeamX Confidential DeFi Platform","\u002Fog-image.png",[34,123106,123107],{},"Our focus is to deliver the best possible level of privacy and confidentiality without compromising on usability. This article will provide a brief overview of Beam project, what it can do, and how to get started with our platform.",[34,123109,123110,123111,123113],{},"Beam is a profound, engaging, and long-term project with unique and innovative technology, a great community, and ambitious goals. To learn more about Beam, you are welcome to visit our ",[175,123112,2249],{"href":10670}," and join us on:",[852,123115,123116,123122,123128,123135,123141],{},[59,123117,123118],{},[175,123119,123121],{"href":177,"rel":123120},[179],"Telegram",[59,123123,123124],{},[175,123125,123127],{"href":2304,"rel":123126},[179],"Twitter",[59,123129,123130],{},[175,123131,123134],{"href":123132,"rel":123133},"http:\u002F\u002Fdiscord.gg\u002FBHZvAhg",[179],"Discord",[59,123136,123137],{},[175,123138,123140],{"href":2296,"rel":123139},[179],"Reddit",[59,123142,123143],{},[175,123144,2262],{"href":2260,"rel":123145},[179],[34,123147,123148,123149,102299,123154,181],{},"Don't hesitate to get in touch with ",[175,123150,123153],{"href":123151,"rel":123152},"https:\u002F\u002Ft.me\u002FBeamSupport",[179],"Beam Support on Telegram",[175,123155,114824],{"href":114823},[41,123157,123159],{"id":123158},"a-brief-history-of-beam","A brief history of Beam",[34,123161,123162,123163,123167],{},"Beam launched in March 2018 with a singular vision: creating the best possible privacy coin that does not compromise usability. We moved quickly to assemble a team of world-class developers that shared our vision of a genuinely confidential cryptocurrency. In nine short months, our team built the first version of the Beam blockchain, and on January 3rd, 2019, we launched the Mainnet. Since then, Beam has been delivering and expanding our promise of creating a truly confidential cryptocurrency (currently on version 6.0). Our entire project is ",[175,123164,123166],{"href":115469,"rel":123165},[179],"open source"," from both a coding and development process. The Beam protocol is coded entirely from scratch; not a hard fork or clone of another project.",[34,123169,123170,123171,123176,123177,123181],{},"Beam is a deflationary coin with capped emission and periodic halving every four years (similar to bitcoin). Beam uses a Proof-of-Work consensus algorithm called BeamHash III (created by Wilke Trei, a.k.a., Lolliedieb, ",[175,123172,123175],{"href":123173,"rel":123174},"https:\u002F\u002Fdocs.beam.mw\u002FBeam_Hash_III_Slides.pdf",[179],"pdf",") with emission starting from zero (e.g., no pre-mine or ICO) and is currently mined on GPUs. See our ",[175,123178,123180],{"href":123179},"\u002Fdocs\u002Fmining","mining guide"," for more information on how-to mine Beam coins.",[34,123183,123184,123185,123190],{},"During the last five years of the project's existence, we have made many improvements and additions to our technological stack. Currently, Beam uses a combination of Mimblewimble and Lelantus protocol on layer 1, with transactions routed through Dandelion++ and transactions merging in stem phase on Layer 0 for ultimate privacy. To learn more about Beam technology, please refer to our ",[175,123186,123189],{"href":123187,"rel":123188},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki",[179],"wiki ","page.",[34,123192,123193],{},[175,123194,123195],{"href":123195,"rel":123196},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=oNsT3M6NWTI",[179],[48,123198,123200],{"id":123199},"beam-wallets","Beam Wallets",[34,123202,123203,123204,2231,123207,2231,123209,2231,123211,92904,123215,123220,123221,123226,123227,123231,123232,123236],{},"Beam implemented sleek, beautiful, and user-friendly wallets for all platforms (",[175,123205,90457],{"href":123206},"\u002Fdownloads\u002F",[175,123208,90463],{"href":123206},[175,123210,90460],{"href":123206},[175,123212,2236],{"href":123213,"rel":123214},"https:\u002F\u002Fitunes.apple.com\u002Fus\u002Fapp\u002Fbeam-privacy-wallet\u002Fid1459842353?ls=1&mt=8",[179],[175,123216,123219],{"href":123217,"rel":123218},"https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=com.mw.beam.beamwallet.mainnet",[179],"Android","). To get started using Beam wallets, proceed to ",[175,123222,123225],{"href":123223,"rel":123224},"http:\u002F\u002Fbeam.mw\u002Fdownloads\u002F",[179],"downloads"," and refer to our ",[175,123228,123230],{"href":123229},"\u002Fdocs\u002Fdesktop","Desktop ","or ",[175,123233,123235],{"href":123234},"\u002Fdocs\u002Fmobile","Mobile ","User Guides.",[34,123238,123239],{},[241,123240],{"alt":14,"src":123241},".gitbook\u002Fassets\u002FMain%20screen%20top.PNG",[34,123243,123244],{},"Let's revisit the major functionalities supported by Beam nodes and Beam wallets:",[48,123246,123248],{"id":123247},"private-transactions","Private Transactions",[34,123250,123251,123252,123255,123256,123259],{},"All Beam transactions are ",[37,123253,123254],{},"private by default",", which means no one can see the Sender or Receiver of the transaction or the transaction's value (except, of course, for the participants of the transaction itself). ",[37,123257,123258],{},"No addresses or other identity-related information is ever recorded on the blockchain",", which means the user's transaction history always remains private. This level of privacy places Beam in a class of its own.",[48,123261,296],{"id":768},[34,123263,123264],{},"Beam has built an Atomic Swap functionality that allows peer-to-peer trading of Beam for Bitcoin, Ethereum, Litecoin, DOGE (and more) in a completely decentralized way without an exchange or any other 3rd party intermediary. Atomic Swaps are the pinnacle of decentralization, censorship resistance, and core values of cryptocurrencies. In our usual way, we have made them easy to use by integrating an Atomic Swap marketplace into our wallets and supporting a simplified process to set up the Atomic Swaps from wallet settings.",[48,123266,123268],{"id":123267},"direct-payment-channels-aka-laser-beam","Direct Payment Channels (a.k.a. Laser Beam)",[34,123270,123271],{},"Beam supports creating direct payment channels between wallets that work similarly to Lightning Network payment channels. The purpose of those channels is to allow instant payments along the funded channel between two wallets with almost instant confirmation time and later on-chain settlement. We called this feature \"Laser Beam,\" and it is perfect for streaming and micropayments.",[48,123273,123275,123276],{"id":123274},"tokens-aka-beam-confidential-assets","Tokens (a.k.a. Beam Confidential Assets) ",[175,123277],{"href":123278,"id":123279},"#tokens-a-k-a-beam-confidential-assets","tokens-a-k-a-beam-confidential-assets",[34,123281,123282,123283,123285,123286,98,123289,123292],{},"The Beam blockchain supports creating Confidential Assets, which just like Beam are ",[37,123284,123254],{},". This differs from Ethereum, which supports creating new tokens using Smart Contracts (e.g., ERC-20 and others), Confidential Assets on Beam boasts a ",[37,123287,123288],{},"Layer 1",[37,123290,123291],{},"implementation as a first-class citizen"," with native support offered by all nodes, wallets, and Dapps. This implementation makes new asset creation more effortless, as the security and reliability would not require verifying and auditing a different smart contract for each new asset.",[48,123294,123296],{"id":123295},"decentralized-apps-aka-dapps-and-dapp-store","Decentralized Apps (a.k.a. Dapps) and Dapp Store",[34,123298,123299],{},"Dapps are implemented via Smart Contracts (read below), they can be embedded into a Beam wallet or run on a standalone website. Expect multiple financial instruments and games to arrive in the next months!",[34,123301,123302],{},"Beam Wallets have a built-in Decentralized Application (DAPP) store that provides easy access for users and supports APIs that allow seamless integration and discovery of new apps.",[48,123304,123306,98,123309],{"id":123305},"smart-contracts-aka-beam-shaders",[37,123307,123308],{},"Smart Contracts (a.k.a. Beam Shaders)",[175,123310],{"href":123311,"id":123312},"#smart-contracts-a-k-a-beam-shaders","smart-contracts-a-k-a-beam-shaders",[34,123314,123315],{},"Beam Shaders enable distributed DeFi applications to run through the Beam Virtual Machine (BVM) built into all Beam nodes and wallets. The Dapp logic implements through Smart Contracts that are programmable with any language compilable to WASM (read: practically every language). The developer toolchain currently works for C++ with additional programming languages (Go, Rust, etc.) planned for future releases.",[34,123317,123318,123319,123324,123325,181],{},"Beam Shaders is a relatively new feature, and the documentation is still in progress. To learn more about creating DeFi applications on Beam, please refer to ",[175,123320,123323],{"href":123321,"rel":123322},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki#beam-confidential-defi-platform-in-progress",[179],"these guides"," and join the Beam ",[175,123326,123328],{"href":88853,"rel":123327},[179],"Developers community on Telegram",[48,123330,123332],{"id":123331},"beam-ethereum-bridges","Beam Ethereum Bridges",[34,123334,123335,123336,123340,123341,112188],{},"With great fanfare, we can announce that the Beam Bridge to Ethereum is now available on ",[175,123337,123338],{"href":123206},[37,123339,120096],{},"! Users can seamlessly transfer assets across Beam and Ethereum blockchains using decentralized privacy-preserving cross-chain transactions. For more information on how to utilize Beam Bridges for cross-chain transactions, refer to our ",[175,123342,123344],{"href":123343},"\u002Fdocs\u002Fbridges\u002F",[37,123345,123346],{},"Bridges guide",[41,123348,111756],{"id":123349},"beam-essentials",[34,123351,123352],{},"If you are new to Beam, there are some essential concepts that you need to know and understand before you get started. Since Beam is an innovative confidential cryptocurrency, some things work differently from other coins you might have used. Knowing those differences is crucial to avoid problems and have the best possible Beam experience.",[48,123354,123356],{"id":123355},"beam-is-a-new-and-experimental-technology","Beam is a new and experimental technology",[34,123358,123359],{},"Cryptocurrency is new and very experimental technology subject to volatile fluctuations in value, and Beam is no exception. Despite our best efforts to debug, test, and audit our software, bugs do happen. This technology should be used carefully and at your own risk. The flip side of the decentralized nature of crypto is that you and only you are responsible for the safety of your funds.",[48,123361,123363],{"id":123362},"keep-your-seed-phrase-safe-at-all-times","Keep your seed phrase safe at all times",[34,123365,123366,123367,123371],{},"The seed phrase is a twelve-word mnemonic sequence used to generate all of your secret keys. Your seed phrase generates when you create a new wallet for the first time. Record and keep your seed phrase safe at all times. Losing or exposing your seed phrase might result in losing access to all funds. If you have any suspicion that your seed phrase is compromised, please follow the ",[175,123368,123370],{"href":123369},".\u002F#exposed-seed-or-wallet","Exposed seed or wallet"," guide.",[48,123373,123375],{"id":123374},"always-use-strong-passwords-for-your-wallets","Always use strong passwords for your wallets",[34,123377,123378,123379,123371],{},"Beam stores the wallet-related data in a local database file encrypted with your password. If someone else gains access to your computer or mobile phone, either physically or remotely, the database file can be accessed and hacked. We strongly recommend a password minimum of 16 characters\u002Fsymbols for wallets expected to hold significant amounts of funds either now or in the future. If you have any suspicion that your wallet is compromised, please follow the ",[175,123380,123370],{"href":123369},[48,123382,123384],{"id":123383},"beam-transaction-types","Beam Transaction types",[34,123386,123387],{},"Even though all Beam transactions are confidential by default, there are three different transaction types:",[34,123389,123390,123393],{},[37,123391,123392],{},"Online transactions"," (recommended in most cases) have the lowest fees of any transaction type. Those transactions are created interactively by both wallets and require that both Sender and Receiver wallets are online within 12 hours of transaction creation. In most cases, both wallets are online when sending or receiving payments; the 12 hour time window offers users convenience and flexibility. The typical flow of such transaction usually looks as follows:",[56,123395,123396,123399,123402,123405],{},[59,123397,123398],{},"The Receiver launches their wallet, clicks \"Receive,\" then copies the created \"Regular\" address before sending it to the Sender via any communication channel (email, Telegram, or other messenger apps). The Receiver leaves their wallet open as they wait for Sender.",[59,123400,123401],{},"The Sender launches their wallet, clicks \"send.\" In the \"Send to\" field, pastes the received address. The Sender enters the amount of Beam coins to send and clicks \"send.\"",[59,123403,123404],{},"The wallets then communicate with each other behind the scenes to complete the transaction. The Receiver's wallet automatically accepts the transaction, signs it, and sends it back to the Sender.",[59,123406,123407],{},"The Sender wallet completes the transaction and sends it to the network. The transaction will reflect the Sender\u002FReciever wallet balance after the block containing the transaction is added to the blockchain. Your transaction will read from \"in progress\" to \"completed.\"",[34,123409,123410,123413],{},[37,123411,123412],{},"Offline transactions"," have higher fees than online transactions. Suppose the Sender knows that the Receiver will not be online within the next 12 hours and has no way (or will) to communicate with the Sender. In this case, the Sender can use a previously received address to send funds without any additional communication with the Receiver. The Receiver will see those funds the next time they open their wallets.",[34,123415,123416,123419,123420,123423,123424,123428,123429,123433],{},[37,123417,123418],{},"Max Privacy transactions"," is a special Offline transaction that uses the ",[37,123421,123422],{},"maximum anonymity set",". In other words, it guarantees the user maximum privacy. Max Privacy transactions can take up to 72 hours to complete. Users can adjust the ",[175,123425,123427],{"href":123426},"\u002Fdocs\u002Fmobile\u002Fsettings#privacy","lock times"," in their ",[175,123430,123432],{"href":123431},"\u002Fdocs\u002Fdesktop\u002Fsettings#privacy","wallets",". However, shorter lock times equals less privacy; the highest lock time guarantees your private information remains confidential.",[48,123435,123437],{"id":123436},"beam-addresses","Beam Addresses",[34,123439,123440],{},"Even though Beam uses the term \"Address\" for convenience, Beam addresses are different from most other cryptocurrencies. Beam Addresses are not recorded on the blockchain and are only used to communicate with other wallets to create different transaction types. Beam wallets will generate an address for every new transaction (recommended for most cases) and support three types of addresses:",[34,123442,123443,123446,123447,123449,123450,123452],{},[37,123444,123445],{},"SBBS addresses"," are mostly used for CEX withdrawals and mining pools.",[4953,123448],{},"\nThe receiver wallet must be online to receive the transaction. See ",[37,123451,123392],{}," section above.",[34,123454,123455,123458],{},[37,123456,123457],{},"Regular addresses"," will function for Online and Offline transactions. The Receiver generates and shares a Regular address with the Sender. Then the Sender decides to make the payment Offline or Online before completing the transaction. Offline payments offer users flexibility if both parties cannot be online within 12 hours. In some (rare) cases, the Regular address will expire, and both parties will need to restart the transaction.",[34,123460,123461,123464,123465,181],{},[37,123462,123463],{},"Max anonymity set"," is a special Offline address that guarantees users maximum privacy. If the Receiver shares a Max anonymity address with Sender, the transaction type will change to ",[175,123466,123468],{"href":123467},".\u002F#beam-transaction-types",[37,123469,9141],{},[34,123471,123472,123474],{},[37,123473,114175],{}," is a unique address connected to your Beam wallet that never expires. Public Offline addresses are a little less secure in one aspect: the Sender can potentially see when the Receiver spends the funds sent to this address (though, of course, not to whom or how much). Since Beam is all about privacy, we only recommend using this address for donations or a Receiver wallet that is rarely online.",[48,123476,123478],{"id":123477},"transaction-history-address-book-and-metadata-are-stored-locally-in-each-wallet","Transaction history, Address book, and metadata are stored locally in each wallet",[34,123480,123481],{},"Unlike most cryptocurrencies, Beam does not record your transaction history, wallet addresses, and other transaction-related data on the blockchain. That data is stored locally on your device, so data in your wallet does not reflect as data stored on the blockchain. If you are deleting your Beam wallet but wish to preserve the metadata, you should back up or export your wallet database before deleting your wallet.",[34,123483,123484],{},"Your wallet balance and transaction history can have inconsistencies if you have multiple wallets on different devices using one seed phrase.",[34,123486,123487],{},[175,123488,123489],{"href":123489,"rel":123490},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=dm21bOh1TVg",[179],[41,123492,5986],{"id":3405},[852,123494,123495,123501,123511],{},[59,123496,123497,123500],{},[175,123498,120629],{"href":2228,"rel":123499},[179]," Beam wallet (available on every platform).",[59,123502,123503,123504,1475,123507,123510],{},"Read the guide for ",[175,123505,2230],{"href":123506},"\u002Fdocs\u002Fdesktop\u002F",[175,123508,123509],{"href":123234},"mobile"," wallets.",[59,123512,123513,123514,123518],{},"Get live ",[175,123515,123517],{"href":123151,"rel":123516},[179],"support"," if you run into any issues or have questions.",[41,123520,123522],{"id":123521},"faq","FAQ",[48,123524,123370],{"id":123525},"exposed-seed-or-wallet",[34,123527,123528],{},"If you have even the slightest suspicion that either your seed or wallet database file could have been exposed, follow these next steps immediately:",[56,123530,123531,123534,123537,123540,123543],{},[59,123532,123533],{},"Start the potentially exposed wallet or restore the wallet using the seed phrase on a clean device and verify your wallet balance hasn't changed",[59,123535,123536],{},"Create a new wallet and record the new seed phrase.",[59,123538,123539],{},"Transfer your coins from the old wallet to the new one and wait for the transaction to complete.",[59,123541,123542],{},"Once your transaction reads from \"in progress\" to \"completed,\" you can be confident that your funds are safe, but we are still not done.",[59,123544,123545],{},"Inform anyone you expect to receive payments from (Offline, Max Privacy, Public Offline), and provide them with new addresses from your new Beam wallet. Failure to do so might result in payments sent to your compromised wallet addresses.",[852,123547,123548,123556,123562,123567],{},[59,123549,123550,123551,2231,123553,2344],{},"How to restore Beam wallet from seed phrase (",[175,123552,2230],{"href":114433},[175,123554,123509],{"href":123555},"\u002Fdocs\u002Fmobile\u002Fhow-to-restore-wallet",[59,123557,123558],{},[175,123559,123561],{"href":123560},".\u002F#beam-addresses","How Addresses work in Beam.",[59,123563,123564],{},[175,123565,123566],{"href":123467},"What are Max Privacy transactions?",[59,123568,123569],{},[175,123570,123572],{"href":123571},"\u002Fdocs\u002Fbeampedia","Glossary of Beam terms",{"title":14,"searchDepth":15,"depth":15,"links":123574},[123575,123576,123587,123595,123596],{"id":123094,"depth":15,"text":123095},{"id":123158,"depth":15,"text":123159,"children":123577},[123578,123579,123580,123581,123582,123583,123584,123586],{"id":123199,"depth":154,"text":123200},{"id":123247,"depth":154,"text":123248},{"id":768,"depth":154,"text":296},{"id":123267,"depth":154,"text":123268},{"id":123274,"depth":154,"text":123275},{"id":123295,"depth":154,"text":123296},{"id":123305,"depth":154,"text":123585},"Smart Contracts (a.k.a. Beam Shaders) ",{"id":123331,"depth":154,"text":123332},{"id":123349,"depth":15,"text":111756,"children":123588},[123589,123590,123591,123592,123593,123594],{"id":123355,"depth":154,"text":123356},{"id":123362,"depth":154,"text":123363},{"id":123374,"depth":154,"text":123375},{"id":123383,"depth":154,"text":123384},{"id":123436,"depth":154,"text":123437},{"id":123477,"depth":154,"text":123478},{"id":3405,"depth":15,"text":5986},{"id":123521,"depth":15,"text":123522,"children":123597},[123598],{"id":123525,"depth":154,"text":123370},{},"\u002Fdocs\u002Fecosystem\u002Freadme",{"title":123086,"description":14},"docs\u002Fecosystem\u002FREADME","P961kujLs5n7L_AmDJV79XSU2DgcwI9CQZ245IgVEig",{"id":123605,"title":123606,"body":123607,"description":14,"extension":17,"image":18,"meta":123893,"navTitle":18,"navigation":20,"path":123894,"seo":123895,"stem":123896,"__hash__":123897},"docs\u002Fdocs\u002Fecosystem\u002Foverview\u002Fbeamx-dao-governance-framework.md","BeamX DAO: Governance Framework",{"type":8,"value":123608,"toc":123874},[123609,123612,123620,123625,123652,123656,123659,123662,123672,123675,123678,123696,123699,123702,123705,123716,123719,123722,123736,123740,123744,123753,123759,123785,123790,123794,123797,123801,123804,123807,123810,123814,123817,123825,123829,123833,123842,123853,123856,123860,123867,123871],[11,123610,123606],{"id":123611},"beamx-dao-governance-framework",[41,123613,123614,98,123616],{"id":123611},[37,123615,123606],{},[175,123617],{"href":123618,"id":123619},"#e032","e032",[34,123621,123622],{},[37,123623,123624],{},"TL;DR",[852,123626,123627,123630,123640,123643,123646,123649],{},[59,123628,123629],{},"Proposals can modify system parameters or add entirely new functionality to the protocol.",[59,123631,123632,123633,1475,123636,123639],{},"Governance of BeamX DAO conducts through the voting of BeamX holders. There are two types of proposals ",[37,123634,123635],{},"Regular Proposals",[37,123637,123638],{},"Special Proposals"," -- each requires a vote, separate legal quorums, and a different processing path.",[59,123641,123642],{},"Any BeamX stakeholder can draft a governance proposal; the Facilitator holds the vote.",[59,123644,123645],{},"The standard voting cycle (voting epoch) lasts for two weeks or 20,160 blocks.",[59,123647,123648],{},"To vote in the current epoch, users must have staked their BEAMX tokens before it begins and cannot withdraw their tokens until the voting epoch ends.",[59,123650,123651],{},"As of this time, the Beam governance remains unchanged and is dependent on Facilitators and the Beam Foundation representatives responsible for interfacing between BeamX DAO and the Core Objectives of the Protocol.",[48,123653,123655],{"id":123654},"bip-beamx-improvement-proposal","BIP (BeamX Improvement Proposal)",[34,123657,123658],{},"The Facilitators and Beam Foundation representatives will collect community feedback through an open and documented process called BeamX Improvement Proposals (BIP). The goal of BIPs is to reach the broadest possible consensus on how the BeamX DAO should evolve. Additionally, BIPs provide a mechanism for community members to define critical issues and suggest changes and improvements to the system, serving as a dynamic body of Law that regulates the network at any given moment. The BIPs process will offer the highest transparency and community input while minimizing undesirable results.",[34,123660,123661],{},"BIPs are standardized documents subject to community feedback and voting that, once enacted, define the behavior of the Governance and parameters in the Beam network.",[34,123663,123664,123665,123668,123669,123671],{},"There are two types of BIPs. One of which is ",[37,123666,123667],{},"Technical"," (this could be a proposal to alter or make additions to BeamX platform smart contract code, for example). All other types of submissions will be categorized as ",[37,123670,17301],{}," BIPs.",[34,123673,123674],{},"All Beam proposals must follow the BIP templates.",[34,123676,123677],{},"You can find all submitted BIPs in the Beam Governance Section on Github.",[852,123679,123680,123688],{},[59,123681,123682,123683,181],{},"Technical BIPs must conform to the ",[175,123684,123687],{"href":123685,"rel":123686},"https:\u002F\u002Fapp.gitbook.com\u002Fo\u002F-M_G-3uaAbZMXViHLVZl\u002Fs\u002F-M_xT5mSJnNyG9Y96Eca\u002F~\u002Fchanges\u002F5iPJb9Ji3AqEU9prZ7tX\u002Foverview\u002Ftechnical-bip-template",[179],"Technical BIP Template",[59,123689,123690,123691,181],{},"General BIPs must conform to the ",[175,123692,123695],{"href":123693,"rel":123694},"https:\u002F\u002Fapp.gitbook.com\u002Fo\u002F-M_G-3uaAbZMXViHLVZl\u002Fs\u002F-M_xT5mSJnNyG9Y96Eca\u002F~\u002Fchanges\u002F5iPJb9Ji3AqEU9prZ7tX\u002Foverview\u002Fgeneral-bip-template",[179],"General BIP Template",[48,123697,123635],{"id":123698},"regular-proposals",[34,123700,123701],{},"Voting times for Regular Proposals run every voting epoch and last two weeks (or 20,160 blocks).",[34,123703,123704],{},"Regular Proposals include distributing a positive balance from the BeamX DAO income. DAO income distributes across three categories:",[852,123706,123707,123710,123713],{},[59,123708,123709],{},"Repurchase and burn BEAMX tokens.",[59,123711,123712],{},"Reward voters who actively participate in BeamX governance.",[59,123714,123715],{},"Replenish the DAO reserve pools, i.e., BEAMX\u002FBEAM or BEAMX\u002Fstable pools.",[48,123717,123638],{"id":123718},"special-proposals",[34,123720,123721],{},"Special Proposals are only available for voting during specific voting epochs. Special Proposals may include the following:",[852,123723,123724,123730],{},[59,123725,123726,123729],{},[37,123727,123728],{},"Type A Proposals:"," Changes for specific parameters of the DAPPs controlled by BeamX DAO, e.g., fees, treasury management, grants.",[59,123731,123732,123735],{},[37,123733,123734],{},"Type B Proposals:"," improvements to the BeamX DAO and governance mechanisms.",[41,123737,123739],{"id":123738},"voting-cycle-for-regular-proposals","Voting cycle for Regular Proposals",[48,123741,123743],{"id":123742},"submitting-regular-proposals","Submitting Regular Proposals",[34,123745,123746,123747,123752],{},"The Facilitators, i.e., Beam Foundation and BeamX DAO members, will submit Regular Proposals for a vote in the ",[175,123748,123751],{"href":123749,"rel":123750},"https:\u002F\u002Fforum.beam.mw\u002F",[179],"forums"," seven days before the next voting epoch. The team will set the initial BRR rate, and then each element can be increased by proportionally decreasing the other.",[34,123754,123755,123758],{},[37,123756,123757],{},"For example",", if the initial BRR set (Burn, Reward, Rebate) were 5%, 65%, and 30%, respectively, then the vote would include four options*:",[56,123760,123761,123767,123773,123779],{},[59,123762,123763,123766],{},[100,123764,123765],{},"No change,"," i.e., keep existing distribution (5% burn, 65% reward, 30% rebate).",[59,123768,123769,123772],{},[100,123770,123771],{},"Pro burn",", i.e., lower reward and rebate (10% burn, 61.6% reward, 28.4% rebate).",[59,123774,123775,123778],{},[100,123776,123777],{},"Pro reward,"," i.e., lower rebate and burn (4.3%, 70% reward, 25.7% rebate).",[59,123780,123781,123784],{},[100,123782,123783],{},"Pro rebate",", i.e., lower reward and burn (4.6% burn, 60.4% reward, 35% rebate).",[34,123786,123787],{},[100,123788,123789],{},"*Burn and rebate funds will be accumulated until the launch of the BeamX DAO reserve pools.",[48,123791,123793],{"id":123792},"creating-a-voting-session-for-regular-proposals","Creating a voting session for Regular Proposals",[34,123795,123796],{},"The Facilitators draft a vote on Regular Proposals one day before each scheduled voting epoch.",[48,123798,123800],{"id":123799},"voting-for-regular-proposals","Voting for Regular Proposals",[34,123802,123803],{},"Voting sessions last for one epoch. Users must have their BEAMX tokens locked in the voting contract during the previous voting epoch to be eligible to vote in the current voting epoch. One BEAMX token equals one vote, and each proposal must pass via an absolute majority, regardless of the total amount of BEAMX currently staked.",[34,123805,123806],{},"Voters (someone who has staked their BEAMX in the voting contract) can freely increase or decrease their stake. If they reduce their stake in BEAMX, their voting power reduces to the minimum stake value during the current voting epoch. If they increase their stake, their voting power will increase during the next voting epoch (provided they don't reduce their stake during that time).",[34,123808,123809],{},"To earn voter rewards, voters must vote on all proposals up for voting in the current epoch.",[48,123811,123813],{"id":123812},"implementation-of-the-regular-proposal","Implementation of the Regular Proposal",[34,123815,123816],{},"Once the voting epoch concludes, any surplus in DAO will distribute following the vote results:",[852,123818,123819,123822],{},[59,123820,123821],{},"Surplus marked for burn will go towards purchasing BEAMX using BeamX DAO reserve pools that BEAMX stakeholders can initiate at their discretion. DAO surplus marked as voter rewards for fully participating in the voting epoch (meaning they voted for every proposal) can claim their rewards (which will equal the value of their minimal stake) during the voting process.",[59,123823,123824],{},"Surplus marked for rebating will distribute across the reserve pools of BeamX DAO proportionally to the size of those pools that BEAMX stakeholders can initiate at their discretion.",[41,123826,123828],{"id":123827},"voting-cycle-for-special-proposals","Voting cycle for Special Proposals",[48,123830,123832],{"id":123831},"submitting-special-proposals","Submitting Special Proposals",[34,123834,123835,123836,123841],{},"All BEAMX stakeholders can post a Type A BIP on the Beam ",[175,123837,123840],{"href":123838,"rel":123839},"https:\u002F\u002Fforum.beam.mw",[179],"forum",". Each proposal must contain the following three elements:",[852,123843,123844,123847,123850],{},[59,123845,123846],{},"Description of a problem the proposal is aiming to solve.",[59,123848,123849],{},"A proposed solution.",[59,123851,123852],{},"Justification or reasoning of the proposed solution.",[34,123854,123855],{},"Special Proposals Type B require the stakeholders to publish a BeamX DAO Request for Comments. After rounds of community discussion and feedback, the final BIP may undergo revisions before being held for a vote.",[48,123857,123859],{"id":123858},"creating-a-vote-for-special-proposals","Creating a vote for Special Proposals",[34,123861,123862,123863,123866],{},"Following Faciliatory initiated ",[175,123864,123840],{"href":123838,"rel":123865},[179]," discussions, voting commences seven days before the voting epoch. All rules regarding voting that apply to Regular Proposals also extend to Special Proposals. In addition, the percentage of the total BEAMX supply will dictate quorum rules. The initial quorum ranges between 5%-20% of the current BEAMX circulating supply for Type A proposals and 15%-40% of BEAMX circulating supply for Type B proposals. The Facilitator will determine the exact percentage on a case-by-case basis. In the future, quorums will be open to proposed changes following the Type B format.",[48,123868,123870],{"id":123869},"implementation-of-the-special-proposal","Implementation of the Special Proposal",[34,123872,123873],{},"If a quorum is reached for a Special Proposal, the Beam Foundation and BeamX DAO Facilitator will honor the will of BEAMX stakeholders and carry out the proposal.",{"title":14,"searchDepth":15,"depth":15,"links":123875},[123876,123882,123888],{"id":123611,"depth":15,"text":123877,"children":123878},"BeamX DAO: Governance Framework ",[123879,123880,123881],{"id":123654,"depth":154,"text":123655},{"id":123698,"depth":154,"text":123635},{"id":123718,"depth":154,"text":123638},{"id":123738,"depth":15,"text":123739,"children":123883},[123884,123885,123886,123887],{"id":123742,"depth":154,"text":123743},{"id":123792,"depth":154,"text":123793},{"id":123799,"depth":154,"text":123800},{"id":123812,"depth":154,"text":123813},{"id":123827,"depth":15,"text":123828,"children":123889},[123890,123891,123892],{"id":123831,"depth":154,"text":123832},{"id":123858,"depth":154,"text":123859},{"id":123869,"depth":154,"text":123870},{},"\u002Fdocs\u002Fecosystem\u002Foverview\u002Fbeamx-dao-governance-framework",{"title":123606,"description":14},"docs\u002Fecosystem\u002Foverview\u002Fbeamx-dao-governance-framework","tnRcsUJk4dtoF4KJEkFX70xXAumgB4A1hcxLwlbHTeA",{"id":123899,"title":123900,"body":123901,"description":14,"extension":17,"image":18,"meta":123978,"navTitle":18,"navigation":20,"path":123979,"seo":123980,"stem":123981,"__hash__":123982},"docs\u002Fdocs\u002Fecosystem\u002Foverview\u002Fbeamx-tokenomics.md","BeamX Token Economics",{"type":8,"value":123902,"toc":123975},[123903,123906,123910,123913,123916,123919,123928,123934,123940,123952,123964,123969],[11,123904,123900],{"id":123905},"beamx-token-economics",[48,123907,123909],{"id":123908},"the-beamx-token","The BEAMX Token",[34,123911,123912],{},"BEAMX token is a Confidential Asset issued on top of the Beam blockchain with a fixed emission of 100,000,000 units (except for the lender of a 'last resort' scenario). The BeamX DAO Core contract manages BeamX token emissions.",[34,123914,123915],{},"BEAMX is the governance token for the BeamX DAO. Users can earn BeamX tokens by participating in the DAO activities: providing liquidity to the DeFi applications governed by the DAO or participating in the governance process.",[34,123917,123918],{},"BeamX tokens circulate on a block by block basis, spread over four years with slightly different emission schedules for each tranche:",[34,123920,123921,123924,123925,123927],{},[37,123922,123923],{},"DAO Treasury"," (20%)",[37,123926,5102],{}," The BeamX DAO has a dedicated treasury to incentivize and compensate community-driven development. The DAO, e.g., BeamX stakeholders, manage the Treasury. The DAO Treasury will start receiving tokens six months after the contract launch and receive BeamX tokens for four years.",[34,123929,123930,123933],{},[37,123931,123932],{},"Liquidity Mining"," (36%): The DAO plans to release and adopt several DAPPs. The majority will rely on locked liquidity providers that staked Beam coins or other Beam Confidential Assets in the BeamX DAO DAPPs liquidity pool. Locked liquidity providers will earn BeamX tokens as rewards. The DAO will allocate BeamX tokens to Liquidity Mining over four years to ensure long-term support of the ecosystem.",[34,123935,123936,123939],{},[37,123937,123938],{},"Ecosystem Partners"," (7%): Allocating BeamX tokens to Ecosystem Partners over four years is crucial for helping incentivize innovation and increase the use and exposure of Beam and BeamX. Ecosystem Partners will motivate existing projects to integrate into the BeamX platform and ensure long-term support of the ecosystem.",[34,123941,123942,123945,123946,123951],{},[37,123943,123944],{},"Foundation"," (17%): The ",[175,123947,123950],{"href":123948,"rel":123949},"https:\u002F\u002Fwww.beam-foundation.org\u002F",[179],"Beam Foundation"," will also receive BeamX tokens as part of the BeamX DAO. Transitioning to a DAO that fully self-governs both the Beam protocol and BeamX ecosystem will be gradual and take some time. The Beam Foundation will have voting power via BeamX token allocation to ensure a smooth and safe transition, with majority distribution going to the core team and future hires. The Beam Foundation will stop receiving the BeamX tokens after two years.",[34,123953,123954,123957,123958,123963],{},[37,123955,123956],{},"Investors"," (20%): The DAO has raised ",[175,123959,123962],{"href":123960,"rel":123961},"https:\u002F\u002Fmedium.com\u002Fbeam-mw\u002Fbeam-raises-2m-usd-decentralizes-governance-and-delivers-confidential-defi-infrastructure-4b13cebcbed3",[179],"initial funding"," from a closed group of accredited investors to implement the functionality and essential applications. Future investment rounds could be in the pipeline and may execute by the DAO through a voting process. Investors stop receiving BeamX overs after two years.",[34,123965,123966],{},[241,123967],{"alt":14,"src":123968},"https:\u002F\u002Ffirebasestorage.googleapis.com\u002Fv0\u002Fb\u002Fgitbook-x-prod.appspot.com\u002Fo\u002Fspaces%2F-M_xT5mSJnNyG9Y96Eca%2Fuploads%2FJTXs01zk3GlHIPn7sNBl%2Ffile.png?alt=media",[34,123970,123971],{},[241,123972],{"alt":123973,"src":123974},"Token allocation breakdown ","https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F700\u002F1*zx2x6DXExQ_m8_QzRhNdUw.jpeg",{"title":14,"searchDepth":15,"depth":15,"links":123976},[123977],{"id":123908,"depth":154,"text":123909},{},"\u002Fdocs\u002Fecosystem\u002Foverview\u002Fbeamx-tokenomics",{"title":123900,"description":14},"docs\u002Fecosystem\u002Foverview\u002Fbeamx-tokenomics","Z5kKmosKDazvNhhSsITCQWV_3rr-ZwWFid1jSQ67nv8",{"id":123984,"title":123695,"body":123985,"description":14,"extension":17,"image":18,"meta":124114,"navTitle":18,"navigation":20,"path":124115,"seo":124116,"stem":124117,"__hash__":124118},"docs\u002Fdocs\u002Fecosystem\u002Foverview\u002Fgeneral-bip-template.md",{"type":8,"value":123986,"toc":124105},[123987,123990,123994,123999,124004,124009,124014,124019,124024,124029,124034,124039,124044,124049,124053,124058,124062,124067,124071,124076,124080,124085,124091,124096,124100],[11,123988,123695],{"id":123989},"general-bip-template",[48,123991,123993],{"id":123992},"preamble","Preamble",[34,123995,123996],{},[611,123997,123998],{},"BIP#: \u003C# to be assigned>",[34,124000,124001],{},[611,124002,124003],{},"Title: \u003CBIP title>",[34,124005,124006],{},[611,124007,124008],{},"Author(s): \u003Clist of authors' names and\u002For email addresses and GitHub handles>",[34,124010,124011],{},[611,124012,124013],{},"Contributors:",[34,124015,124016],{},[611,124017,124018],{},"Tags: template",[34,124020,124021],{},[611,124022,124023],{},"Type: BIP Type",[34,124025,124026],{},[611,124027,124028],{},"Status: \u003CAssigned by BIP Facilitator>",[34,124030,124031],{},[611,124032,124033],{},"Date Proposed: \u003Cyyyy-mm-dd>",[34,124035,124036],{},[611,124037,124038],{},"Date Ratified:\u003Cyyyy-mm-dd>",[34,124040,124041],{},[611,124042,124043],{},"Dependencies: \u003CList of dependent BIPs>",[34,124045,124046],{},[611,124047,124048],{},"Replaces: \u003CList of BIP it is replacing>",[48,124050,124052],{"id":124051},"references","References",[852,124054,124055],{},[59,124056,124057],{},"A list of supporting materials referenced by this BIP.",[48,124059,124061],{"id":124060},"sentence-summary","Sentence Summary",[852,124063,124064],{},[59,124065,124066],{},"A description of what the Beam Improvement Proposal (BIP) is focused on. Suggest 30 words max.",[48,124068,124070],{"id":124069},"paragraph-summary","Paragraph Summary",[852,124072,124073],{},[59,124074,124075],{},"A description of what the Beam Improvement Proposal (BIP) is focused on. Suggest 100 words max.",[48,124077,124079],{"id":124078},"component-summary","Component Summary",[852,124081,124082],{},[59,124083,124084],{},"A description of the purpose of each component in the BIP. Suggest 30 words max per component.",[48,124086,124088],{"id":124087},"motivation",[37,124089,124090],{},"Motivation",[852,124092,124093],{},[59,124094,124095],{},"A short description of the motivation behind the BIP.",[48,124097,124099],{"id":124098},"specification-proposal-details","Specification \u002F Proposal Details",[852,124101,124102],{},[59,124103,124104],{},"Proposed process standard details - describes the new process or feature and the problem it is solving.",{"title":14,"searchDepth":15,"depth":15,"links":124106},[124107,124108,124109,124110,124111,124112,124113],{"id":123992,"depth":154,"text":123993},{"id":124051,"depth":154,"text":124052},{"id":124060,"depth":154,"text":124061},{"id":124069,"depth":154,"text":124070},{"id":124078,"depth":154,"text":124079},{"id":124087,"depth":154,"text":124090},{"id":124098,"depth":154,"text":124099},{},"\u002Fdocs\u002Fecosystem\u002Foverview\u002Fgeneral-bip-template",{"title":123695,"description":14},"docs\u002Fecosystem\u002Foverview\u002Fgeneral-bip-template","zco00cKsr7jeyF8G3FstX-E6A0bIgmjmT0JSq5kW3yo",{"id":124120,"title":124121,"body":124122,"description":14,"extension":17,"image":18,"meta":124230,"navTitle":18,"navigation":20,"path":124231,"seo":124232,"stem":124233,"__hash__":124234},"docs\u002Fdocs\u002Fecosystem\u002Foverview\u002Fgovernance.md","Governance Evolution",{"type":8,"value":124123,"toc":124225},[124124,124127,124133,124138,124143,124148,124151,124154,124211,124217,124220],[11,124125,124121],{"id":124126},"governance-evolution",[1898,124128,124130,124132],{"id":124129},"tldr-as-stated-from-the-get-go-while-beam-started-the-project-as-a-for-profit-venture-the-long-term-goal-always-was-to-pass-the-control-to-beam-holders-the-first-step-toward-such-decentralization-was-the-non-profit-beam-foundation-next-stage-is-the-beamx-dao",[37,124131,123624],{}," As stated from the get-go, while Beam started the project as a for-profit venture, the long-term goal always was to pass the control to Beam holders, the first step toward such decentralization was the non-profit Beam Foundation, next stage is the BeamX DAO",[34,124134,124135],{},[241,124136],{"alt":14,"src":124137},"https:\u002F\u002Flh4.googleusercontent.com\u002FkDGHTsWOysG7q707-RwIXthzAOoPyUB48F3BfdyPVFDJZN02cgGgy0AKBA4vQWOgl76Ecn1TGloAKvndBIS0qRhVAJNEH6Sp4f8aSfuKzd1_gViVzoK410GEVFw4s6pdtmMVxy2M",[41,124139,124141],{"id":124140},"beam-foundation",[37,124142,123950],{},[34,124144,124145],{},[37,124146,124147],{},"The Beam Foundation uses the funds allocated to the Beam DAO Treasury to continue developing and promoting the Beam protocol and advance the broader privacy-related agenda.",[34,124149,124150],{},"The Beam Foundation is registered in Singapore as a Company Limited by Guarantee, the preferred method of writing a non-profit body in Singapore. Singapore is crypto-friendly, but also it is a truly global city, a place where East and West meet.",[34,124152,124153],{},"The Beam Foundation governs by a Board of up to seven members; the current Board, all of whom have supported Beam for a long time and have the project's best interests at heart. The four current board members are:",[852,124155,124156,124175,124189,124203],{},[59,124157,124158,124163,124164,124169,124170,181],{},[175,124159,124162],{"href":124160,"rel":124161},"https:\u002F\u002Ftwitter.com\u002Fvcorem",[179],"Guy Corem",": Professionally involved in the cryptocurrency industry since 2013, Guy co-founded and was the CEO of ",[175,124165,124168],{"href":124166,"rel":124167},"https:\u002F\u002Fwww.spondoolies-tech.com\u002F",[179],"Spondoolies-Tech",". In addition, Guy co-founded ",[175,124171,124174],{"href":124172,"rel":124173},"https:\u002F\u002Fwww.daglabs.com\u002F",[179],"DAG Labs",[59,124176,124177,124182,124183,124188],{},[175,124178,124181],{"href":124179,"rel":124180},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fbo-dong-5a518648\u002F",[179],"Bo Dong: ","A veteran crypto trader and entrepreneur since 2016. Dong has a deep understanding of token economies and liquidity. Dong is the founder and CEO of ",[175,124184,124187],{"href":124185,"rel":124186},"https:\u002F\u002Fwww.altonomy.com\u002F#\u002F",[179],"Altonomy",", a well-known liquidity provider in the cryptocurrency space.",[59,124190,124191,124196,124197,124202],{},[175,124192,124195],{"href":124193,"rel":124194},"https:\u002F\u002Ftwitter.com\u002Fferdousbhai",[179],"Ferdous Bhai",": A highly-respected Bitcoin advocate, has established Canada’s largest Bitcoin OTC brokerage, YapCX, and started a high-performance cryptocurrency exchange, ",[175,124198,124201],{"href":124199,"rel":124200},"https:\u002F\u002Fwww.chainrift.com\u002F",[179],"ChainRift",". Ferdous is an acclaimed proponent of Bitcoin’s peer-to-peer decentralized permissionless governance.",[59,124204,124205,124210],{},[175,124206,124209],{"href":124207,"rel":124208},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fwilke-trei-7bb6b357\u002F",[179],"Wilke Trei",": A mathematician specializing in computational discrete mathematics, Wilke is also a freelance mining software developer focusing on memory-heavy algorithms that run on GPUs.",[48,124212,124214],{"id":124213},"foundation-governance",[37,124215,124216],{},"Foundation Governance",[34,124218,124219],{},"The Board performs the Governance of the Foundation. After gauging the community's will via community calls, polls, and chats, the Board then decides by a simple majority.",[34,124221,124222],{},[241,124223],{"alt":14,"src":124224},"..\u002F.gitbook\u002Fassets\u002Fimage.png",{"title":14,"searchDepth":15,"depth":15,"links":124226},[124227],{"id":124140,"depth":15,"text":123950,"children":124228},[124229],{"id":124213,"depth":154,"text":124216},{},"\u002Fdocs\u002Fecosystem\u002Foverview\u002Fgovernance",{"title":124121,"description":14},"docs\u002Fecosystem\u002Foverview\u002Fgovernance","m1Cnjd2yrARzZW2XKbFDL9mXnsojmGrZQZ7W3b8xWG0",{"id":124236,"title":123687,"body":124237,"description":14,"extension":17,"image":18,"meta":124441,"navTitle":18,"navigation":20,"path":124442,"seo":124443,"stem":124444,"__hash__":124445},"docs\u002Fdocs\u002Fecosystem\u002Foverview\u002Ftechnical-bip-template.md",{"type":8,"value":124238,"toc":124426},[124239,124242,124244,124248,124252,124256,124261,124265,124269,124273,124277,124281,124285,124289,124294,124296,124300,124302,124306,124308,124312,124314,124318,124322,124326,124328,124331,124337,124340,124346,124349,124352,124360,124364,124369,124373,124376],[11,124240,123687],{"id":124241},"technical-bip-template",[48,124243,123993],{"id":123992},[34,124245,124246],{},[611,124247,123998],{},[34,124249,124250],{},[611,124251,124003],{},[34,124253,124254],{},[611,124255,124008],{},[34,124257,124258],{},[611,124259,124260],{},"Contributors: \u003Clist of contributor's names and\u002For email addresses and GitHub handles>",[34,124262,124263],{},[611,124264,124018],{},[34,124266,124267],{},[611,124268,124023],{},[34,124270,124271],{},[611,124272,124028],{},[34,124274,124275],{},[611,124276,124033],{},[34,124278,124279],{},[611,124280,124038],{},[34,124282,124283],{},[611,124284,124043],{},[34,124286,124287],{},[611,124288,124048],{},[34,124290,124291],{},[611,124292,124293],{},"License: \u003Cadded by BIP Author>",[48,124295,124052],{"id":124051},[852,124297,124298],{},[59,124299,124057],{},[48,124301,124061],{"id":124060},[852,124303,124304],{},[59,124305,124066],{},[48,124307,124070],{"id":124069},[852,124309,124310],{},[59,124311,124075],{},[48,124313,124079],{"id":124078},[852,124315,124316],{},[59,124317,124084],{},[48,124319,124320],{"id":124087},[37,124321,124090],{},[852,124323,124324],{},[59,124325,124095],{},[41,124327,124099],{"id":124098},[34,124329,124330],{},"The details of the proposed technical solution. The specification should be detailed enough to allow an implementation team to begin development as well as testing. The specification for technical BIPs must include the following components:",[48,124332,124334],{"id":124333},"proposed-code",[37,124335,124336],{},"Proposed Code",[34,124338,124339],{},"The final code that can be used directly in the executive vote to accept or reject the BIP.",[48,124341,124343],{"id":124342},"test-cases",[37,124344,124345],{},"Test Cases",[34,124347,124348],{},"For the implementation or testing of the proposed code",[48,124350,124351],{"id":10846},"Security Considerations",[852,124353,124354,124357],{},[59,124355,124356],{},"This is one of the most important aspects of the Technical BIP proposal. The purpose of this section is to proactively document any security-relevant design information, decisions, potential failure modes, implementation details, and important discussions related to the proposed change. This section helps to optimize the BIP process by providing proactive guidance on security considerations when proposing a change that will affect the Beam network.",[59,124358,124359],{},"Backwards compatibility",[48,124361,124363],{"id":124362},"auditor-information-and-report","Auditor Information and Report",[852,124365,124366],{},[59,124367,124368],{},"This section includes the audit partner details and the final audit report for the proposed code.",[48,124370,124372],{"id":124371},"licensing","Licensing",[34,124374,124375],{},"Recommended licenses for developed code:",[852,124377,124378,124386,124394,124402,124410,124418],{},[59,124379,124380,124381],{},"MIT: ",[175,124382,124385],{"href":124383,"rel":124384},"https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT",[179],"Expat\u002FMIT\u002FX11 license ",[59,124387,124388,124389],{},"BSD-2-Clause: ",[175,124390,124393],{"href":124391,"rel":124392},"https:\u002F\u002Fopensource.org\u002Flicenses\u002FBSD-2-Clause",[179],"OSI-approved BSD 2-clause license",[59,124395,124396,124397],{},"BSD-3-Clause:",[175,124398,124401],{"href":124399,"rel":124400},"https:\u002F\u002Fopensource.org\u002Flicenses\u002FBSD-3-Clause",[179]," OSI-approved BSD 3-clause license",[59,124403,124404,124405],{},"CC0-1.0: ",[175,124406,124409],{"href":124407,"rel":124408},"https:\u002F\u002Fcreativecommons.org\u002Fpublicdomain\u002Fzero\u002F1.0\u002F",[179],"Creative Commons CC0 1.0 Universal",[59,124411,124412,124413],{},"GNU-All-Permissive: ",[175,124414,124417],{"href":124415,"rel":124416},"http:\u002F\u002Fwww.gnu.org\u002Fprep\u002Fmaintain\u002Fhtml_node\u002FLicense-Notices-for-Other-Files.html",[179],"GNU All-Permissive License",[59,124419,124420,124421],{},"Apache-2.0: ",[175,124422,124425],{"href":124423,"rel":124424},"http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0",[179],"Apache License, version 2.0",{"title":14,"searchDepth":15,"depth":15,"links":124427},[124428,124429,124430,124431,124432,124433,124434],{"id":123992,"depth":154,"text":123993},{"id":124051,"depth":154,"text":124052},{"id":124060,"depth":154,"text":124061},{"id":124069,"depth":154,"text":124070},{"id":124078,"depth":154,"text":124079},{"id":124087,"depth":154,"text":124090},{"id":124098,"depth":15,"text":124099,"children":124435},[124436,124437,124438,124439,124440],{"id":124333,"depth":154,"text":124336},{"id":124342,"depth":154,"text":124345},{"id":10846,"depth":154,"text":124351},{"id":124362,"depth":154,"text":124363},{"id":124371,"depth":154,"text":124372},{},"\u002Fdocs\u002Fecosystem\u002Foverview\u002Ftechnical-bip-template",{"title":123687,"description":14},"docs\u002Fecosystem\u002Foverview\u002Ftechnical-bip-template","RjBeRf4U1wtz0Pl76IkJFM6MGRd_vdYqxy_FrTwCa30",{"id":124447,"title":124448,"body":124449,"description":124555,"extension":17,"image":18,"meta":124556,"navTitle":18,"navigation":20,"path":124557,"seo":124558,"stem":124559,"__hash__":124560},"docs\u002Fdocs\u002Fecosystem\u002Foverview\u002Ftokenomics.md","Beam Token Economics",{"type":8,"value":124450,"toc":124550},[124451,124454,124460,124472,124475,124480,124483,124485,124488,124490,124493,124496,124499,124505,124508,124513,124519,124524,124528,124531,124536,124539,124542],[11,124452,124448],{"id":124453},"beam-token-economics",[34,124455,124456,124459],{},[37,124457,124458],{},"Beam's emission schedule is primarily inspired by Bitcoin."," The main differences are that Beam has ten times as many blocks, and the year one emission is 100 Beam coins per block. The first halving occurs after year one year, with halvings occurring every four years, 33 times in total.",[34,124461,124462,124463,124466,124467,124471],{},"‌",[37,124464,124465],{},"Emission denomination is in Groth, the smallest measured unit of Beam;"," Named as tribute named to ",[175,124468,118486],{"href":124469,"rel":124470},"http:\u002F\u002Fwww0.cs.ucl.ac.uk\u002Fstaff\u002Fj.groth\u002F",[179],", whose work in computer science and cryptography laid the foundation for zero-knowledge proofs. One Beam contains 100,000,000 (one hundred million) Groth.",[34,124473,124474],{},"The total supply is 262,800,000 Beam coins, or 26,279,999,976,873,600 Groth.",[34,124476,124477],{},[37,124478,124479],{},"There were no pre-mine or ICO, so at the launch of Beam mainnet (January 3rd, 2019), there were 0 coins in circulation.",[34,124481,124482],{},"In the first five years of existence, Beam coin emission is split between Miner Rewards and the Treasury.",[48,124484,11494],{"id":11493},[34,124486,124487],{},"During the first year of Beam's emission schedule, the miner reward was 80 coins per block. In years 2–5, the reward is 40 coins per block. Year six miner rewards will reduce to 25 coins, with rewards halving every four years until year 129. After year 133, Beam emission will stop.\\",[48,124489,11505],{"id":11504},[34,124491,124492],{},"For the first five years of Beam's emission schedule, block rewards will allocate to the Beam Treasury (along with miners) for every block mined.",[34,124494,124495],{},"‌During year one, the Treasury receives 20 Beam coins per block. In years 2-5, 10 coins per block will go to the Treasury.",[34,124497,124498],{},"The purpose of the Treasury is to repay Beam investors, incentivize the core development team, but the most significant single beneficiary of the Treasury will be the Beam Foundation.",[34,124500,124501],{},[241,124502],{"alt":124503,"src":124504}," 20% treasury Distribution ","..\u002F.gitbook\u002Fassets\u002Fimage%20(1).png",[34,124506,124507],{},"The distribution of the Treasury Coins will occur monthly in the following amounts:",[34,124509,124510,124512],{},[37,124511,123956],{},": ~35%",[34,124514,124515,124518],{},[37,124516,124517],{},"Beam Core Team and Advisors",": ~45%",[34,124520,124521,124523],{},[37,124522,123950],{},": 20% (Biggest single beneficiary).",[48,124525,124527],{"id":124526},"emission-curve","Emission Curve",[34,124529,124530],{},"The beam emission curve (seen below):",[34,124532,124533],{},[241,124534],{"alt":14,"src":124535},"..\u002F.gitbook\u002Fassets\u002Fimage%20(3).png",[34,124537,124538],{},"90% off all Beam coins in circulation will mint during the first 13 years of Beam's 133 years emission schedule.",[34,124540,124541],{},"Like Bitcoin, Beam's emission curve will help establish Beam coins as a strong Store-of-Value, eventually becoming a Means-of-Exchange coin.",[34,124543,124544,124545,181],{},"Beam Emission Table is on ",[175,124546,124549],{"href":124547,"rel":124548},"https:\u002F\u002Fdocs.google.com\u002Fspreadsheets\u002Fd\u002F1vixXEPgmbS7C3BzJ10OVHPBJr_z2KpWf9G77ujNl5eQ\u002Fedit?usp=sharing",[179],"Google Sheets",{"title":14,"searchDepth":15,"depth":15,"links":124551},[124552,124553,124554],{"id":11493,"depth":154,"text":11494},{"id":11504,"depth":154,"text":11505},{"id":124526,"depth":154,"text":124527},"Beam is designed to be a deflationary coin with capped supply, halving every four years and stopping emission altogether after 133 years.",{},"\u002Fdocs\u002Fecosystem\u002Foverview\u002Ftokenomics",{"title":124448,"description":124555},"docs\u002Fecosystem\u002Foverview\u002Ftokenomics","vCw-S1pvqJWh7gOKlaPRTND9KU9vEvDoxF35q8L21cE",{"id":124562,"title":124563,"body":124564,"description":124823,"extension":17,"image":18,"meta":124824,"navTitle":18,"navigation":20,"path":124825,"seo":124826,"stem":124827,"__hash__":124828},"docs\u002Fdocs\u002Fhardware-wallet\u002FLedger.md","Ledger",{"type":8,"value":124565,"toc":124816},[124566,124569,124572,124575,124578,124581,124584,124588,124591,124595,124598,124602,124605,124609,124612,124616,124619,124623,124626,124629,124634,124637,124640,124644,124652,124656,124659,124669,124679,124683,124795,124797,124801,124804,124807,124810,124813],[11,124567,124563],{"id":124568},"ledger",[34,124570,124571],{},"We currently do not support smart contract transactions for the Hardware Wallets.",[41,124573,124563],{"id":124574},"ledger-1",[34,124576,124577],{},"Ledger allows for 3rd-party developers to develop embedded apps that support custom coins. The app should be submitted for official review, and once they find it compliant to their safety standards - it will become available for installation via their official software (Ledger Live).",[34,124579,124580],{},"Our app is submitted, and is waiting for the review. However, given the complexity of Beam, it looks unlikely to see Beam accepted anytime soon (as of 2023-01).",[34,124582,124583],{},"Meanwhile our app can be installed as unofficial release. This is called sideloading. Some (but not all!) Ledger devices support this.",[1898,124585,124587],{"id":124586},"ledger-nano-s","Ledger Nano S",[34,124589,124590],{},"This device is outdated (discontinued), but we support it. However its very weak performance may impact user experience. It may take minutes (!!) to sign a transaction. Please be patient with it.",[1898,124592,124594],{"id":124593},"ledger-nano-s-plus","Ledger Nano S Plus",[34,124596,124597],{},"This is the recommended device. Relatively inexpensive, yet powerful enough. Fully supports our functionality.",[1898,124599,124601],{"id":124600},"ledger-nano-x","Ledger Nano X",[34,124603,124604],{},"Unfortunately this device does not support sideloading. Will have to wait until Ledger officially accepts our app.",[1898,124606,124608],{"id":124607},"ledger-stax","Ledger Stax",[34,124610,124611],{},"No development environment available yet for this device.",[11,124613,124615],{"id":124614},"instructions-for-the-host-machine","Instructions for the host machine",[34,124617,124618],{},"We support Linux, Windows and Mac, i.e. all the platforms on which the Beam Wallet is already supported. No additional tools\u002Fprerequisites are required. Just plug the HW wallet, it should be detected by our desktop wallet automatically.",[11,124620,124622],{"id":124621},"installation-instructions","Installation instructions",[34,124624,124625],{},"Once the Beam app will be officially accepted by Ledger, it'll be possible to install it on the Ledger secure device using the official software (Ledger Live).\nUntil then our unofficial release should be installed.",[34,124627,124628],{},"The best and easiest way to do this is using our CLI wallet. It contains the embedded apps for all the supported devices, and allows to install it on any supported device. Just run the following command line:",[34,124630,124631],{},[611,124632,124633],{},"beam-wallet hid_install",[34,124635,124636],{},"It will automatically find the connected supported device, and install the appropriate app on it. This also ensure the embedded app version is fully compatible with the desktop wallet version.",[34,124638,124639],{},"Nevertheless there's an option to download and sideload the app manually, as described in the next section.",[41,124641,124643],{"id":124642},"alternative-installation-method","Alternative installation method",[34,124645,124646,124647,124651],{},"Overall the process of side-loading is documented ",[175,124648,1248],{"href":124649,"rel":124650},"https:\u002F\u002Fdocs.radixdlt.com\u002Fmain\u002Fuser-applications\u002Fledger-app-sideload.html",[179],". In essence the user should download python, and use the specified command line (included in our releases) to load the Beam application on the device.",[48,124653,124655],{"id":124654},"note-for-linux-users","Note for Linux users",[34,124657,124658],{},"On Linux, however, the Beam desktop wallet should have appropriate permissions to connect to the HW wallet.",[34,124660,124661,124662,124664,124665,124668],{},"Desktop wallet can be run with elevated privileges (",[611,124663,93643],{},") but this is not recommended. Instead it's possible to enable device access for all the users in the system.\nTo allow this the following file should be downloaded, and copied ",[611,124666,124667],{},"\u002Fetc\u002Fudev\u002Frules.d"," into directory. After the device is re-plugged the new permissions should be in effect.",[852,124670,124671],{},[59,124672,124673,124678],{},[175,124674,124677],{"href":124675,"rel":124676},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fapp-beam\u002Ffiles\u002F10475866\u002Fledger-hid.zip",[179],"ledger-hid.zip","\n(unzip it before copying into target directory)",[1898,124680,124682],{"id":124681},"stable-releases","Stable releases",[4998,124684,124685,124706],{},[5001,124686,124687],{},[5004,124688,124689,124692,124695,124698,124701,124704],{},[5007,124690,124691],{},"Release Date",[5007,124693,124694],{},"Commit",[5007,124696,124697],{},"Api Ver",[5007,124699,124700],{},"Nano S",[5007,124702,124703],{},"Nano S Plus",[5007,124705,101342],{},[5014,124707,124708,124732,124756,124781],{},[5004,124709,124710,124713,124716,124718,124724,124730],{},[5019,124711,124712],{},"2023-01-23",[5019,124714,124715],{},"58704c5cf328c47e8bde59a165c3c1d93d6c7244",[5019,124717,11136],{},[5019,124719,124720],{},[175,124721,6031],{"href":124722,"rel":124723},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fapp-beam\u002Ffiles\u002F10475776\u002F58704c5-nanos.zip",[179],[5019,124725,124726],{},[175,124727,6031],{"href":124728,"rel":124729},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fapp-beam\u002Ffiles\u002F10475779\u002F58704c5-nanosp.zip",[179],[5019,124731],{},[5004,124733,124734,124737,124740,124742,124748,124754],{},[5019,124735,124736],{},"2023-01-29",[5019,124738,124739],{},"bc7585a346d15061b42d7706f39b68b9b395c573",[5019,124741,11136],{},[5019,124743,124744],{},[175,124745,6031],{"href":124746,"rel":124747},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fapp-beam\u002Ffiles\u002F10529521\u002Fbc7585a-nanos.zip",[179],[5019,124749,124750],{},[175,124751,6031],{"href":124752,"rel":124753},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fapp-beam\u002Ffiles\u002F10529522\u002Fbc7585a-nanosp.zip",[179],[5019,124755],{},[5004,124757,124758,124761,124764,124766,124772,124778],{},[5019,124759,124760],{},"2023-02-03",[5019,124762,124763],{},"d00f0fecc7df294986104af3dd57cf38725b44e0",[5019,124765,11136],{},[5019,124767,124768],{},[175,124769,6031],{"href":124770,"rel":124771},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fapp-beam\u002Ffiles\u002F10576697\u002Fd00f0fe-nanos.zip",[179],[5019,124773,124774],{},[175,124775,6031],{"href":124776,"rel":124777},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fapp-beam\u002Ffiles\u002F10576696\u002Fd00f0fe-nanosplus.zip",[179],[5019,124779,124780],{},"Fixed incorrect endpoint for shielded txs",[5004,124782,124783,124785,124787,124789,124791,124793],{},[5019,124784],{},[5019,124786],{},[5019,124788],{},[5019,124790],{},[5019,124792],{},[5019,124794],{},[11,124796,87631],{"id":87630},[41,124798,124800],{"id":124799},"implications-of-device-auto-lock","Implications of device auto-lock",[34,124802,124803],{},"HW wallets usually auto-lock if idle for some time. This makes sense of course (otherwise, if left unlocked and unattended, it could be used by any stranger or intruder to steal your funds).",[34,124805,124806],{},"However in Beam the HW wallet is used not only to send funds, but also to receive. Hence the desktop wallet won't be able to receive funds while the device is locked. Our desktop wallet (both CLI and UI) gives an appropriate message if it can't access the HW wallet, and if\u002Fwhen the user unlocks it - the transaction will proceed. But if the user is not around then there will be no one to unlock the device, and all transactions will end stuck.",[34,124808,124809],{},"At the moment we recommend the following options:",[34,124811,124812],{},"Receiver: if you don't expect to receive eventual transactions, then we recommend keeping the auto-lock feature. If, however, you prefer to be able to receive transactions constantly, then consider disabling the auto-lock feature.",[34,124814,124815],{},"Sender: If you expect the receiver to be online, then send transactions as usual. Otherwise it's always possible to use offline transactions types (public offline, or max privacy), since those are non-interactive transactions, and the receiver is not involved.",{"title":14,"searchDepth":15,"depth":15,"links":124817},[124818,124819,124822],{"id":124574,"depth":15,"text":124563},{"id":124642,"depth":15,"text":124643,"children":124820},[124821],{"id":124654,"depth":154,"text":124655},{"id":124799,"depth":15,"text":124800},"Ledger Hardware Wallet support",{},"\u002Fdocs\u002Fhardware-wallet\u002Fledger",{"title":124563,"description":124823},"docs\u002Fhardware-wallet\u002FLedger","ToER31NvmkopkUrzZnT8f196Vdw-0DX8DRbY6TWf0YQ",{"id":124830,"title":124831,"body":124832,"description":125120,"extension":17,"image":18,"meta":125121,"navTitle":18,"navigation":20,"path":125122,"seo":125123,"stem":125124,"__hash__":125125},"docs\u002Fdocs\u002Fhardware-wallet\u002FREADME.md","Hardware Wallets",{"type":8,"value":124833,"toc":125111},[124834,124837,124847,124856,124865,124867,124871,124956,124958,124960,124963,124984,125001,125003,125007,125031,125033,125037,125053,125057,125086,125088,125092],[11,124835,124831],{"id":124836},"hardware-wallets",[34,124838,124839,124840,124843,124844,124846],{},"Beam supports integration with popular ",[37,124841,124842],{},"hardware wallets"," to enhance security and protect private keys from exposure on your host machine.",[4953,124845],{},"\nThis section provides an overview of hardware wallet support, installation, and usage.",[34,124848,124849,124850,1475,124852,124855],{},"Currently, Beam supports ",[37,124851,124563],{},[37,124853,124854],{},"Trezor"," devices with varying levels of functionality.",[11818,124857,124858],{},[34,124859,124860,124861,124864],{},"⚠️ Smart contract transactions are ",[37,124862,124863],{},"not yet supported"," for hardware wallets.",[3136,124866],{},[41,124868,124870],{"id":124869},"supported-devices","Supported Devices",[4998,124872,124873,124888],{},[5001,124874,124875],{},[5004,124876,124877,124880,124883,124886],{},[5007,124878,124879],{},"Manufacturer",[5007,124881,124882],{},"Model",[5007,124884,124885],{},"Support Status",[5007,124887,100686],{},[5014,124889,124890,124904,124916,124929,124941],{},[5004,124891,124892,124896,124898,124901],{},[5019,124893,124894],{},[37,124895,124563],{},[5019,124897,124700],{},[5019,124899,124900],{},"✅⚠️ Supported (slow performance)",[5019,124902,124903],{},"Discontinued but compatible",[5004,124905,124906,124908,124910,124913],{},[5019,124907],{},[5019,124909,124703],{},[5019,124911,124912],{},"✅ Recommended",[5019,124914,124915],{},"Full support and stable performance",[5004,124917,124918,124920,124923,124926],{},[5019,124919],{},[5019,124921,124922],{},"Nano X",[5019,124924,124925],{},"🚧 Not supported",[5019,124927,124928],{},"No sideloading support until official approval",[5004,124930,124931,124933,124936,124938],{},[5019,124932],{},[5019,124934,124935],{},"Stax",[5019,124937,124925],{},[5019,124939,124940],{},"No development environment available",[5004,124942,124943,124947,124950,124953],{},[5019,124944,124945],{},[37,124946,124854],{},[5019,124948,124949],{},"Model One \u002F Model T",[5019,124951,124952],{},"🧩 Experimental",[5019,124954,124955],{},"Under investigation for unofficial release",[3136,124957],{},[41,124959,5986],{"id":3405},[34,124961,124962],{},"To use a hardware wallet with Beam:",[56,124964,124965,124971,124974],{},[59,124966,115128,124967,124970],{},[37,124968,124969],{},"latest version"," of the Beam Desktop or CLI wallet installed.",[59,124972,124973],{},"Connect your hardware device to your computer.",[59,124975,124976,124977,2231,124979,8760,124982,181],{},"The Beam wallet should automatically detect and communicate with it — no extra configuration is required on ",[37,124978,90457],{},[37,124980,124981],{},"macOS",[37,124983,90460],{},[11818,124985,124986],{},[34,124987,124988,124989,124992,124993,124995,124996,125000],{},"🐧 ",[37,124990,124991],{},"Linux users:"," You may need to set appropriate USB permissions to allow Beam access to your hardware wallet.",[4953,124994],{},"\nFollow the ",[175,124997,124999],{"href":124675,"rel":124998},[179],"Linux setup instructions"," to install the necessary udev rules.",[3136,125002],{},[41,125004,125006],{"id":125005},"installation-setup-guides","Installation & Setup Guides",[852,125008,125009,125020],{},[59,125010,125011,125017,125019],{},[175,125012,125014],{"href":125013},".\u002FLedger",[37,125015,125016],{},"Ledger Setup Guide →",[4953,125018],{},"\nLearn how to install the Beam app on Ledger devices, including sideloading instructions and device-specific notes.",[59,125021,125022,125028,125030],{},[175,125023,125025],{"href":125024},".\u002FTrezor",[37,125026,125027],{},"Trezor Setup Guide →",[4953,125029],{},"\nStep-by-step guide to preparing and using Trezor devices with Beam.",[3136,125032],{},[41,125034,125036],{"id":125035},"usage-notes","Usage Notes",[34,125038,125039,125040,125042,125043,125045,125046,125048,125049,125052],{},"Hardware wallets are used in Beam not only for ",[37,125041,22033],{},", but also for ",[37,125044,22030],{}," transactions.",[4953,125047],{},"\nIf your hardware device ",[37,125050,125051],{},"auto-locks",", Beam will not be able to process incoming transactions until you unlock it.",[48,125054,125056],{"id":125055},"recommendations","Recommendations",[852,125058,125059,125070],{},[59,125060,125061,125064,125066,125067,125069],{},[37,125062,125063],{},"Receiver:",[4953,125065],{},"\nIf you expect to receive transactions continuously, consider disabling auto-lock temporarily.",[4953,125068],{},"\nOtherwise, keep it enabled for security.",[59,125071,125072,125075,125077,125078,125080,125081,11339,125083,125085],{},[37,125073,125074],{},"Sender:",[4953,125076],{},"\nUse standard transactions when the receiver is online.",[4953,125079],{},"\nIf not, use ",[37,125082,11810],{},[37,125084,11813],{}," transaction types — these are non-interactive and do not require the receiver’s participation.",[3136,125087],{},[41,125089,125091],{"id":125090},"learn-more","Learn More",[852,125093,125094,125100,125106],{},[59,125095,125096],{},[175,125097,125099],{"href":3281,"rel":125098},[179],"Beam Wallet Downloads",[59,125101,125102],{},[175,125103,125105],{"href":115469,"rel":125104},[179],"Beam GitHub Organization",[59,125107,125108],{},[175,125109,123121],{"href":177,"rel":125110},[179],{"title":14,"searchDepth":15,"depth":15,"links":125112},[125113,125114,125115,125116,125119],{"id":124869,"depth":15,"text":124870},{"id":3405,"depth":15,"text":5986},{"id":125005,"depth":15,"text":125006},{"id":125035,"depth":15,"text":125036,"children":125117},[125118],{"id":125055,"depth":154,"text":125056},{"id":125090,"depth":15,"text":125091},"Hardware Wallet Support Overview",{},"\u002Fdocs\u002Fhardware-wallet\u002Freadme",{"title":124831,"description":125120},"docs\u002Fhardware-wallet\u002FREADME","lcm7g_HEDmVtbWvve5VAY96g4HBmypiHQyBQgZbfhas",{"id":125127,"title":124854,"body":125128,"description":125318,"extension":17,"image":18,"meta":125319,"navTitle":18,"navigation":20,"path":125320,"seo":125321,"stem":125322,"__hash__":125323},"docs\u002Fdocs\u002Fhardware-wallet\u002FTrezor.md",{"type":8,"value":125129,"toc":125304},[125130,125133,125135,125138,125141,125143,125145,125147,125149,125155,125159,125165,125176,125178,125183,125185,125200,125202,125206,125211,125213,125235,125237,125255,125257,125290,125292,125294,125296,125298,125300,125302],[11,125131,124854],{"id":125132},"trezor",[34,125134,124571],{},[48,125136,124854],{"id":125137},"trezor-1",[34,125139,125140],{},"According to Trezor they don't consider accepting new coins (not clones of existing ones) to their official release.\nCurrently we investigate the possibility to add our app to an unofficial release.",[11,125142,124615],{"id":124614},[34,125144,124618],{},[48,125146,124655],{"id":124654},[34,125148,124658],{},[34,125150,124661,125151,124664,125153,124668],{},[611,125152,93643],{},[611,125154,124667],{},[48,125156,125158],{"id":125157},"installation","Installation",[48,125160,93572,125161,1475,125163,93579],{"id":93571},[37,125162,93575],{},[37,125164,93578],{},[852,125166,125167,125171],{},[59,125168,93584,125169],{},[611,125170,93587],{},[59,125172,93590,125173],{},[175,125174,93593],{"href":93593,"rel":125175},[179],[48,125177,93598],{"id":93597},[34,125179,460,125180,93605],{},[175,125181,93603],{"href":93603,"rel":125182},[179],[48,125184,93609],{"id":93608},[34,125186,460,125187,93616,125190,93620,125192,93623,125194,93627,125196,7024,125198,181],{},[175,125188,93614],{"href":93614,"rel":125189},[179],[611,125191,93619],{},[4953,125193],{},[611,125195,93626],{},[611,125197,93630],{},[611,125199,93633],{},[48,125201,93637],{"id":93636},[34,125203,93640,125204,93644],{},[611,125205,93643],{},[616,125207,125209],{"className":125208,"code":93648,"language":621},[619],[611,125210,93648],{"__ignoreMap":14},[41,125212,93654],{"id":93653},[852,125214,125215,125219,125226,125231],{},[59,125216,93659,125217,6618],{},[611,125218,93662],{},[59,125220,460,125221,93616,125224,181],{},[175,125222,93667],{"href":93667,"rel":125223},[179],[611,125225,93671],{},[59,125227,93674,125228,2344],{},[175,125229,93677],{"href":93677,"rel":125230},[179],[59,125232,93681,125233,93685],{},[611,125234,93684],{},[48,125236,90457],{"id":90794},[852,125238,125239,125246,125251],{},[59,125240,93572,125241,98,125243,93699],{},[611,125242,93694],{},[175,125244,93697],{"href":93697,"rel":125245},[179],[59,125247,93674,125248,2344],{},[175,125249,93677],{"href":93677,"rel":125250},[179],[59,125252,93681,125253,93685],{},[611,125254,93709],{},[41,125256,93713],{"id":93712},[852,125258,125259,125265,125270,125276,125282,125288],{},[59,125260,460,125261,93722],{},[175,125262,125263],{"href":125263,"rel":125264},"https:\u002F\u002Fbuilds.beam.mw\u002F#trezor_build",[179],[59,125266,93725,125267,93730],{},[175,125268,93728],{"href":93728,"rel":125269},[179],[59,125271,93733,125272,93736,125274,93740],{},[37,125273,1724],{},[611,125275,93739],{},[59,125277,93743,125278,93746,125280],{},[37,125279,8816],{},[241,125281],{"alt":8715,"src":93749},[59,125283,93752,125284,93756,125286],{},[611,125285,93755],{},[241,125287],{"alt":8715,"src":93759},[59,125289,93762],{},[11,125291,87631],{"id":87630},[41,125293,124800],{"id":124799},[34,125295,124803],{},[34,125297,124806],{},[34,125299,124809],{},[34,125301,124812],{},[34,125303,124815],{},{"title":14,"searchDepth":15,"depth":15,"links":125305},[125306,125307,125308,125309,125310,125311,125312,125313,125316,125317],{"id":125137,"depth":154,"text":124854},{"id":124654,"depth":154,"text":124655},{"id":125157,"depth":154,"text":125158},{"id":93571,"depth":154,"text":93768},{"id":93597,"depth":154,"text":93598},{"id":93608,"depth":154,"text":93609},{"id":93636,"depth":154,"text":93637},{"id":93653,"depth":15,"text":93654,"children":125314},[125315],{"id":90794,"depth":154,"text":90457},{"id":93712,"depth":15,"text":93713},{"id":124799,"depth":15,"text":124800},"Trezor Hardware Wallet support",{},"\u002Fdocs\u002Fhardware-wallet\u002Ftrezor",{"title":124854,"description":125318},"docs\u002Fhardware-wallet\u002FTrezor","ujZafuLaK_NzxL2as3le_b0scZQzZOT_4AjOxS3Zx34",{"id":125325,"title":125326,"body":125327,"description":125397,"extension":17,"image":18,"meta":125398,"navTitle":18,"navigation":20,"path":125399,"seo":125400,"stem":125401,"__hash__":125402},"docs\u002Fdocs\u002Fmining\u002FREADME.md","Beam Hash III",{"type":8,"value":125328,"toc":125395},[125329,125332,125340,125356,125369,125374,125377,125389],[11,125330,125326],{"id":125331},"beam-hash-iii",[34,125333,125334,125335,125339],{},"Similar to most cryptocurrencies, Beam relies on ",[175,125336,125338],{"href":125337},"\u002Fbeampedia-item\u002Fmining","miners"," to add transactions to the blockchain. While all nodes in the Beam network confirm the validity of transactions, Beam counts on miners to take on the massive heavy lifting in securing the Beam network.‌",[34,125341,125342,125343,125347,125348,125351,125352,125355],{},"The Beam network is secured using ",[175,125344,125326],{"href":125345,"rel":125346},"https:\u002F\u002Fdocs.beam.mw\u002FbeamHash_III_spec.pdf",[179]," (a modified version of ",[175,125349,1047],{"href":125350},"\u002Fbeampedia-item\u002Fequihash","), which miners utilize in a decentralized method using proof-of-work. ",[175,125353,125326],{"href":125345,"rel":125354},[179]," allows anyone with the appropriate hardware to mine Beam, whether by mining pool or a solo mining method.",[34,125357,125358,125361,125362,181],{},[175,125359,125326],{"href":125345,"rel":125360},[179]," (preceded by the aptly named BeamHash and BeamHashII) is the third and final algorithmic evolution by Wilke Trei, creator of the popular mining software ",[175,125363,125366],{"href":125364,"rel":125365},"https:\u002F\u002Fgithub.com\u002FLolliedieb\u002FlolMiner-releases",[179],[100,125367,125368],{},"lolMiner",[34,125370,125371],{},[37,125372,125373],{},"Beam Hash III requires a graphics card with a minimum 3GB of memory.",[34,125375,125376],{},"Both NVIDIA and AMD are compatible. Experienced miners will have a full solo mining rig setup; however, joining a Beam mining pool with a single GPU with at least 3GB of memory is feasible.",[34,125378,125379,125380,11339,125384,125388],{},"See our ",[175,125381,125383],{"href":125382},"pool-mining-beam","mining pool",[175,125385,125387],{"href":125386},"solo-mining-beam","solo mining"," guides to get started mining Beam!",[34,125390,125391],{},[175,125392,125393],{"href":125393,"rel":125394},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=WC3aCWCWxB4",[179],{"title":14,"searchDepth":15,"depth":15,"links":125396},[],"Similar to most cryptocurrencies, Beam relies on miners to add transactions to the blockchain. While all nodes in the Beam network confirm the validity of transactions, Beam counts on miners to take on the massive heavy lifting in securing the Beam network.‌",{},"\u002Fdocs\u002Fmining\u002Freadme",{"title":125326,"description":125397},"docs\u002Fmining\u002FREADME","yH4fZtzl4alZTapY34BL3zZ-oBRfH11j-iB25NPVXxU",{"id":125404,"title":125405,"body":125406,"description":125477,"extension":17,"image":18,"meta":125478,"navTitle":18,"navigation":20,"path":125479,"seo":125480,"stem":125481,"__hash__":125482},"docs\u002Fdocs\u002Fmining\u002Fpool-mining-beam.md","Pool Mining Beam",{"type":8,"value":125407,"toc":125473},[125408,125410,125419,125425,125427,125450,125454,125459,125470],[11,125409,125405],{"id":125382},[34,125411,125412,125413,125418],{},"If you decide to participate in a Beam mining pool, you will need to select a mining ",[175,125414,125417],{"href":125415,"rel":125416},"https:\u002F\u002Fminingpoolstats.stream\u002Fbeam",[179],"pool"," and determine which mining pool best suits your needs. When selecting your pool, it is essential to consider the geographic locations, fee, hash rate, and user experience.",[34,125420,125421],{},[175,125422,125423],{"href":125423,"rel":125424},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=sM0SCGw8Puo",[179],[41,125426,119988],{"id":119987},[852,125428,125429,125432,125435,125438,125444],{},[59,125430,125431],{},"Mining rig containing at least one GPU with a minimum of 3GB RAM.",[59,125433,125434],{},"Basic knowledge of command line (CMD terminal) functions.",[59,125436,125437],{},"High-speed internet connection.",[59,125439,125440,125441,181],{},"A mining ",[175,125442,125417],{"href":125415,"rel":125443},[179],[59,125445,125446,125447,181],{},"Mining software, e.g., ",[175,125448,125368],{"href":125364,"rel":125449},[179],[41,125451,125453],{"id":125452},"mining-software","Mining Software",[34,125455,121890,125456],{},[175,125457,125368],{"href":125364,"rel":125458},[179],[34,125460,125461,125462,125465,125466,125469],{},"You can find a ",[611,125463,125464],{},"mine_beam.bat"," for Windows and a ",[611,125467,125468],{},"mine-beam.sh"," for Linux in the lolMiner download.\nMake sure to use a SBBS address for mining and have your Beam Wallet open when the mining pool sends the rewards.",[34,125471,125472],{},"The miner software listed and linked above is used at your discretion and risk. Beam accepts no liability for any misuse or error caused by the above mining software. Users must do their research on the 3rd party software they use for mining.",{"title":14,"searchDepth":15,"depth":15,"links":125474},[125475,125476],{"id":119987,"depth":15,"text":119988},{"id":125452,"depth":15,"text":125453},"If you decide to participate in a Beam mining pool, you will need to select a mining pool and determine which mining pool best suits your needs. When selecting your pool, it is essential to consider the geographic locations, fee, hash rate, and user experience.",{},"\u002Fdocs\u002Fmining\u002Fpool-mining-beam",{"title":125405,"description":125477},"docs\u002Fmining\u002Fpool-mining-beam","BAjKFza3OgfVTxlzd1I63TiBt_69-XTRryXnqu4S12M",{"id":125484,"title":125485,"body":125486,"description":125492,"extension":17,"image":18,"meta":125773,"navTitle":18,"navigation":20,"path":125774,"seo":125775,"stem":125776,"__hash__":125777},"docs\u002Fdocs\u002Fmining\u002Fsolo-mining-beam.md","Solo Mining Beam",{"type":8,"value":125487,"toc":125760},[125488,125490,125493,125495,125518,125524,125534,125540,125546,125552,125558,125564,125567,125569,125575,125591,125593,125599,125604,125608,125611,125616,125619,125623,125626,125632,125641,125645,125648,125653,125662,125674,125678,125683,125689,125693,125697,125700,125706,125709,125712,125718,125721,125725,125728,125734,125740,125743,125746,125751,125754],[11,125489,125485],{"id":125386},[34,125491,125492],{},"Mining Beam coins is the best way to support Beam! Miners strengthen the security of our network while earning Beam coins. In this guide, we will provide you all the information needed to start mining solo mining Beam!",[41,125494,119988],{"id":119987},[852,125496,125497,125500,125502,125508,125510,125515],{},[59,125498,125499],{},"Mining rig containing a minimum of one GPU with 3GB of RAM.",[59,125501,125434],{},[59,125503,125504,125505,181],{},"Text editor, e.g., ",[175,125506,121820],{"href":121818,"rel":125507},[179],[59,125509,125437],{},[59,125511,125446,125512,181],{},[175,125513,125368],{"href":125364,"rel":125514},[179],[59,125516,125517],{},"An 'always-on PC' or a similar device to run your Beam Node.",[41,125519,125521],{"id":125520},"part-one-installation",[37,125522,125523],{},"Part one: installation",[34,125525,121890,125526,1475,125529,125531,125532,181],{},[611,125527,125528],{},"Command Line Interface",[611,125530,1357],{}," files directly from our main ",[175,125533,2249],{"href":1721},[34,125535,125536,125537,181],{},"‌Extract these files in a separate folder on your 'always-on PC' (or whichever device is running your Node) and label the folder as ",[611,125538,125539],{},"beam-mining",[41,125541,125543],{"id":125542},"part-two-setup",[37,125544,125545],{},"Part two: setup",[48,125547,125549],{"id":125548},"create-ssl-certificate-and-key",[37,125550,125551],{},"Create SSL Certificate and Key",[34,125553,125554,125555,125557],{},"To create an SSL Certificate and Key within ",[611,125556,125539],{},", open a new CMD terminal window. Enter the following command:",[616,125559,125562],{"className":125560,"code":125561,"language":621},[619],"openssl req -x509 -newkey rsa:4096 -keyout beam-stratum-key.pem -out beam-stratum-crt.pem -days 3650 -nodes -subj \u002FCN=localhost\n",[611,125563,125561],{"__ignoreMap":14},[34,125565,125566],{},"Rename the SSL Certificate and Key files created by the output.",[34,125568,3756],{},[616,125570,125573],{"className":125571,"code":125572,"language":621},[619],"mv beam-stratum-key.pem stratum.key\nmv beam-stratum-crt.pem stratum.crt\n",[611,125574,125572],{"__ignoreMap":14},[34,125576,125577,125578,125580,125581,125583,125584,1475,125587,125590],{},"Open your ",[611,125579,90787],{}," file in a text editor. Remove the ",[611,125582,2341],{}," before ",[611,125585,125586],{},"pass=password",[611,125588,125589],{},"node_addr="," . Enter your password and node address.",[34,125592,3756],{},[616,125594,125597],{"className":125595,"code":125596,"language":621},[619],"pass=yourpasswordhere\nnode_addr=127.0.0.1:10000\n",[611,125598,125596],{"__ignoreMap":14},[34,125600,125601,125602,4108],{},"Save the changes made to your ",[611,125603,90787],{},[48,125605,125607],{"id":125606},"initialize-your-beam-wallet","Initialize your Beam wallet",[34,125609,125610],{},"To initialize your wallet and create a seed phrase, enter the following command:",[616,125612,125614],{"className":125613,"code":3428,"language":621},[619],[611,125615,3428],{"__ignoreMap":14},[34,125617,125618],{},"Save your seed phrase (do not take a screenshot) and store it somewhere safe. Pen and paper is recommended. Do not store your seed phrase electronically or anywhere vulnerable to hackers.",[48,125620,125622],{"id":125621},"exporting-your-miner-key","Exporting your miner key",[34,125624,125625],{},"To export your miner key, enter the following command:",[616,125627,125630],{"className":125628,"code":125629,"language":621},[619],".\u002Fbeam-wallet export_miner_key --subkey=1\n",[611,125631,125629],{"__ignoreMap":14},[34,125633,125634,125635,125637,125638,181],{},"Copy the key string output. Using your text editor, open ",[611,125636,91010],{}," and paste the key string output after ",[611,125639,125640],{},"miner_key=",[48,125642,125644],{"id":125643},"exporting-your-owner-key","Exporting your owner key",[34,125646,125647],{},"To export your owner key, enter the following command:",[616,125649,125651],{"className":125650,"code":3512,"language":621},[619],[611,125652,3512],{"__ignoreMap":14},[34,125654,125655,125656,125658,125659,181],{},"Copy and paste the key string output in your ",[611,125657,91010],{}," file after ",[611,125660,125661],{},"owner_key=",[34,125663,125664,125665,125667,125668,125670,125671,181],{},"Copy your password from your ",[611,125666,90787],{}," file and then paste it into your ",[611,125669,91010],{}," after ",[611,125672,125673],{},"pass=",[48,125675,125677],{"id":125676},"enter-beam-node-parameters","Enter Beam node parameters",[34,125679,125680,125681,17382],{},"Add the following parameters (one per line) to your ",[611,125682,91010],{},[616,125684,125687],{"className":125685,"code":125686,"language":621},[619],"port=10000\nlog_level=verbose\nfile_log_level=verbose\npeer=eu-nodes.mainnet.beam.mw:8100,us-nodes.mainnet.beam.mw:8100\nstratum_port=3333\nstratum_secrets_path=.\n",[611,125688,125686],{"__ignoreMap":14},[34,125690,125601,125691,11260],{},[611,125692,91010],{},[48,125694,125696],{"id":125695},"join-the-beam-network","Join the Beam network",[34,125698,125699],{},"To join the Beam network, open a new CMD terminal window. Enter the following command:",[616,125701,125704],{"className":125702,"code":125703,"language":621},[619],".\u002Fbeam-node\n",[611,125705,125703],{"__ignoreMap":14},[34,125707,125708],{},"Leave the CMD terminal window open to keep the node running as you wait for the node to sync with the Beam network (this may take a few hours).",[34,125710,125711],{},"After your node syncs with the network, open a separate CMD terminal (do not close node CMD terminal window), and enter the following command:",[616,125713,125716],{"className":125714,"code":125715,"language":621},[619],".\u002Fbeam-wallet listen\n",[611,125717,125715],{"__ignoreMap":14},[34,125719,125720],{},"Leave this terminal open to keep the wallet listening to your node.",[48,125722,125724],{"id":125723},"launch-mining-software","Launch mining software",[34,125726,125727],{},"Your mining rig can use your node's IP address and stratum port to begin solo mining Beam!",[34,125729,5653,125730,125733],{},[175,125731,125368],{"href":125364,"rel":125732},[179]," as an example, the command output is similar to the following:",[616,125735,125738],{"className":125736,"code":125737,"language":621},[619],".\u002FlolMiner --coin BEAM --pool 127.0.0.1:3333 --user your-SBBS-address\n",[611,125739,125737],{"__ignoreMap":14},[34,125741,125742],{},"After you mine a block, your block rewards will show up in your wallet summary.",[34,125744,125745],{},"To view your wallet summary, enter the following command:",[616,125747,125749],{"className":125748,"code":3546,"language":621},[619],[611,125750,3546],{"__ignoreMap":14},[34,125752,125753],{},"The output is similar to the following:",[34,125755,125756],{},[241,125757],{"alt":125758,"src":125759},"example wallet summary after solo mining Beams",".gitbook\u002Fassets\u002FScreenshot%202021-07-06%20at%2012.44.19.png",{"title":14,"searchDepth":15,"depth":15,"links":125761},[125762,125763,125764],{"id":119987,"depth":15,"text":119988},{"id":125520,"depth":15,"text":125523},{"id":125542,"depth":15,"text":125545,"children":125765},[125766,125767,125768,125769,125770,125771,125772],{"id":125548,"depth":154,"text":125551},{"id":125606,"depth":154,"text":125607},{"id":125621,"depth":154,"text":125622},{"id":125643,"depth":154,"text":125644},{"id":125676,"depth":154,"text":125677},{"id":125695,"depth":154,"text":125696},{"id":125723,"depth":154,"text":125724},{},"\u002Fdocs\u002Fmining\u002Fsolo-mining-beam",{"title":125485,"description":125492},"docs\u002Fmining\u002Fsolo-mining-beam","-3g_8NDTh0tp7aVBdWz2vMsovXOFAIUst0BkjN9ntcY",{"id":125779,"title":125780,"body":125781,"description":125855,"extension":17,"image":18,"meta":125856,"navTitle":18,"navigation":20,"path":125857,"seo":125858,"stem":125859,"__hash__":125860},"docs\u002Fdocs\u002Fmobile\u002FREADME.md","Mobile Wallet User Guide",{"type":8,"value":125782,"toc":125851},[125783,125786,125789,125792,125806,125810,125815,125820,125825,125829,125834,125846],[11,125784,125780],{"id":125785},"mobile-wallet-user-guide",[34,125787,125788],{},"We aim to make accessing your Beam coins as convenient and straightforward as possible, which is why we introduced the Beam mobile app for iOS and Android.",[34,125790,125791],{},"Users can now send, store or receive Beam and Confidential Assets (Tokens) across multiple wallets with the simplicity of mobile and all the advanced privacy settings of Beam desktop wallet.",[34,125793,125794,125796,125797,87403,125800,125805],{},[37,125795,9127],{}," advanced features such as ",[175,125798,296],{"href":114731,"rel":125799},[179],[175,125801,125804],{"href":125802,"rel":125803},"https:\u002F\u002Fbeamx.gitbook.io\u002Fdesktop-wallet-user-guide\u002F-MazOCfj5sWCcgrEum9r\u002Fdaap-store",[179],"DAPP"," are only available on the Beam desktop wallet.",[41,125807,125809],{"id":125808},"downloading-beam-mobile-android","Downloading Beam mobile (Android)",[34,125811,125812],{},[241,125813],{"alt":14,"src":125814},".gitbook\u002Fassets\u002Fandroid10hero.jpg",[34,125816,125817,125818],{},"Android users can download the APK file directly from our main ",[175,125819,2249],{"href":1721},[34,125821,125822],{},[241,125823],{"alt":14,"src":125824},"https:\u002F\u002Fgblobscdn.gitbook.com\u002Fassets%2F-MahNP292RdjN51kZZ89%2F-MahSHE-E7lKdJWPtprp%2F-MahVkuNX7itdxoyeS65%2FScreenshot_181.png?alt=media&token=ca01b80b-8ab3-4605-9a5c-0c20fc5bcd44",[41,125826,125828],{"id":125827},"downloading-beam-mobile-ios","Downloading Beam mobile (iOS)",[34,125830,125831],{},[241,125832],{"alt":14,"src":125833},".gitbook\u002Fassets\u002Fimgonline-com-ua-Resize-xn0woxejZG.jpg",[34,125835,125836,125837,125840,125841,181],{},"iOS users can search for Beam mobile wallet on the App Store or click on the App Store logo on our ",[175,125838,125839],{"href":5992},"main website"," to redirect to the download page on the ",[175,125842,125845],{"href":125843,"rel":125844},"https:\u002F\u002Fapps.apple.com\u002Fus\u002Fapp\u002Fbeam-privacy-wallet\u002Fid1459842353?ls=1",[179],"App Store",[34,125847,125848],{},[241,125849],{"alt":14,"src":125850},"https:\u002F\u002Fgblobscdn.gitbook.com\u002Fassets%2F-MahNP292RdjN51kZZ89%2F-MahSHE-E7lKdJWPtprp%2F-Mah_4VlWCXG715SanBk%2FScreenshot_182.png?alt=media&token=c09c6a5c-531d-4289-9ca9-739fcb8c3307",{"title":14,"searchDepth":15,"depth":15,"links":125852},[125853,125854],{"id":125808,"depth":15,"text":125809},{"id":125827,"depth":15,"text":125828},"Everything you need to get your Beam mobile wallet up and running!",{},"\u002Fdocs\u002Fmobile\u002Freadme",{"title":125780,"description":125855},"docs\u002Fmobile\u002FREADME","vE4rd-3CdAd9U1wcmFUADx-nT0_KxPDe2q7VNlOSfu4",{"id":125862,"title":111941,"body":125863,"description":112107,"extension":17,"image":18,"meta":125981,"navTitle":18,"navigation":20,"path":125982,"seo":125983,"stem":125984,"__hash__":125985},"docs\u002Fdocs\u002Fmobile\u002Faddress.md",{"type":8,"value":125864,"toc":125972},[125865,125867,125869,125872,125887,125889,125891,125897,125902,125904,125907,125909,125914,125918,125921,125957,125962,125964,125967],[11,125866,111941],{"id":111807},[41,125868,111808],{"id":111951},[34,125870,125871],{},"The address book tab is where you will find:",[852,125873,125874,125879,125883],{},[59,125875,125876,125878],{},[37,125877,111967],{},": active wallet addresses secure and ready to send or receive Beam coins.",[59,125880,125881,111974],{},[37,125882,111973],{},[59,125884,125885,111980],{},[37,125886,111979],{},[41,125888,505],{"id":504},[48,125890,111993],{"id":111990},[34,125892,125893,125896],{},[37,125894,125895],{},"Remember",": the wallet address data listed in transactions or address book does not reflect the address data stored on the blockchain.",[34,125898,125899],{},[241,125900],{"alt":14,"src":125901},".gitbook\u002Fassets\u002Fphoto_2021-05-28_12-47-34%20(2).jpg",[48,125903,112018],{"id":112017},[34,125905,125906],{},"Addresses expire after every sent transaction and become inactive. Conversely, you can receive payments with the same address a total of 10 times. Mobile Wallet addresses have a default expiration date of 24 hours",[34,125908,112024],{},[34,125910,125911],{},[241,125912],{"alt":14,"src":125913},".gitbook\u002Fassets\u002Fphoto_2021-05-28_12-47-34.jpg",[48,125915,125917],{"id":125916},"edit-an-address","'Edit' an address",[34,125919,125920],{},"To edit a wallet address:",[56,125922,125923,125929,125939,125948,125951],{},[59,125924,125925,125928],{},[37,125926,125927],{},"Select"," a wallet address to view the address details.",[59,125930,125931,125934,125935,125938],{},[37,125932,125933],{},"Tap and hold"," to copy your wallet address or tap",[241,125936],{"src":125937,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-01 at 9.38.55 PM.png","to reveal your address QR code.",[59,125940,1792,125941,125944,125947],{},[37,125942,125943],{},"edit",[241,125945],{"src":125946,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FIMG_3381.jpg","to change wallet address expiration date.",[59,125949,125950],{},"Delete an address, reactivate an expired address or set a wallet address to \"never expire,\" (not recommended).",[59,125952,125953,125954,181],{},"Tap ",[37,125955,125956],{},"save",[34,125958,125959],{},[241,125960],{"alt":14,"src":125961},".gitbook\u002Fassets\u002Fphoto_2021-05-28_12-57-04.jpg",[48,125963,112035],{"id":112032},[34,125965,125966],{},"Delete previously sent to wallet addresses or send them more Beam by tapping on the wallet address.",[34,125968,125969],{},[241,125970],{"alt":14,"src":125971},".gitbook\u002Fassets\u002Fphoto_2021-05-28_12-47-33%20(3).jpg",{"title":14,"searchDepth":15,"depth":15,"links":125973},[125974,125975],{"id":111951,"depth":15,"text":111808},{"id":504,"depth":15,"text":505,"children":125976},[125977,125978,125979,125980],{"id":111990,"depth":154,"text":111993},{"id":112017,"depth":154,"text":112018},{"id":125916,"depth":154,"text":125917},{"id":112032,"depth":154,"text":112035},{},"\u002Fdocs\u002Fmobile\u002Faddress",{"title":111941,"description":112107},"docs\u002Fmobile\u002Faddress","L4aVitgiZ6v3DJ4nJV5BYDtJOm8oSSAr2ZbogT2J9uw",{"id":125987,"title":3714,"body":125988,"description":126210,"extension":17,"image":18,"meta":126211,"navTitle":18,"navigation":20,"path":126212,"seo":126213,"stem":126214,"__hash__":126215},"docs\u002Fdocs\u002Fmobile\u002Fhot-to-generate-address.md",{"type":8,"value":125989,"toc":126195},[125990,125992,125995,126041,126043,126047,126053,126058,126062,126066,126072,126081,126085,126090,126092,126100,126105,126109,126112,126117,126119,126122,126125,126152,126156,126161,126163,126165,126168,126173,126176,126179,126184,126187,126190],[11,125991,3714],{"id":3713},[41,125993,125994],{"id":114022},"To Receive Beam",[56,125996,125997,126002,126007,126029,126032,126034],{},[59,125998,125999,126001],{},[37,126000,452],{}," Beam mobile wallet app.",[59,126003,126004,126005,181],{},"From the wallet screen, tap ",[37,126006,114038],{},[59,126008,126009,126012,126015,126018,126019,126022,126023,98,126026,181],{},[37,126010,126011],{},"Copy",[241,126013],{"src":126014,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-14 at 10.22.49 PM.png",[37,126016,126017],{},"your wallet address",". If the Sender uses Beam mobile, tap",[241,126020],{"src":126021,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-01 at 9.38.55 PM (1).png","to access your wallet address's shareable QR code. The Sender will decide between Regular and Offline payments. ",[37,126024,126025],{},"To send an address with higher privacy settings,",[37,126027,126028],{},"Advanced > Maximum anonymity set",[59,126030,126031],{},"Enter a requested amount (optional).",[59,126033,114516],{},[59,126035,126036,126037,126040],{},"To complete your transaction, tap ",[37,126038,126039],{},"share address"," to airdrop your wallet address or send via a secure messaging app.",[41,126042,505],{"id":504},[48,126044,126046],{"id":126045},"receive-screen","Receive screen",[34,126048,126049,126050,2344],{},"Tapping on receive automatically generates a new address. Each new address has a default expiration time of 24 hours, (to change address expiration times, see ",[175,126051,739],{"href":126052},"address#edit-an-address",[34,126054,126055],{},[241,126056],{"alt":14,"src":126057},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-27%20at%205.14.57%20PM%20(1).png",[48,126059,126061],{"id":126060},"sharing-your-address","Sharing your address",[48,126063,126065],{"id":126064},"regular-wallet-address-offline-wallet-address","Regular wallet address & Offline wallet address",[34,126067,126068,126069,126071],{},"To share your wallet address for a Regular transaction, simply copy\u002Fpaste your wallet address and share your wallet address over a secure messaging app. If the sender is on mobile, tap",[241,126070],{"src":126021,"alt":14,"dataSize":244},"to access your wallet address's shareable QR code.",[34,126073,126074,126075,126078,126080],{},"Offline payments are sent to your Beam wallet via ",[175,126076,8993],{"href":126077},"settings#utilities",[37,126079,181],{}," Tap \"address details\" to find your SBBS address.",[1898,126082,126084],{"id":126083},"qr-code-address-details","QR code & address details",[34,126086,126087],{},[241,126088],{"alt":14,"src":126089},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-27%20at%205.37.37%20PM.png",[48,126091,113687],{"id":113686},[34,126093,126094,126095,126099],{},"The max anonymity set is a unique Offline transaction that offers maximum privacy. It can take up to 72 hours to complete; users can adjust the ",[175,126096,123427],{"href":126097,"rel":126098},"http:\u002F\u002Fmobile-wallet-user-guide\u002Fsettings#privacy",[179]," in their mobile wallets. However, shorter lock times equals less privacy; the highest lock time guarantees your private information remains confidential.",[34,126101,126102],{},[241,126103],{"alt":14,"src":126104},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-28%20at%204.02.20%20PM.png",[1898,126106,126108],{"id":126107},"unlock-time","Unlock Time",[34,126110,126111],{},"View the time till your coins unlock by tapping \"more details\" in your wallet balance.",[34,126113,126114],{},[241,126115],{"alt":14,"src":126116},".gitbook\u002Fassets\u002Fphoto_2021-05-28_16-17-33%20(32).jpg",[48,126118,114175],{"id":95478},[34,126120,126121],{},"We recommend Public Offline addresses for users expecting to receive regular Offline payments. Public Offline addresses do not expire. While having a single lifetime address can sound appealing, we cannot guarantee maximum privacy for your personal information (transaction history, wallet balance).",[34,126123,126124],{},"To find your Public Offline address:",[56,126126,126127,126136,126146],{},[59,126128,125953,126129,126132,126133,181],{},[241,126130],{"src":126131,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-01 at 9.19.58 PM.png"," to access your ",[37,126134,126135],{},"wallet menu",[59,126137,460,126138,98,126140,98,126143],{},[37,126139,363],{},[241,126141],{"src":126142,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-01 at 9.17.22 PM.png",[37,126144,126145],{},"> utilities > \"show public offline address.\"",[59,126147,126148,126151],{},[37,126149,126150],{},"Copy address"," or allow the sender to scan your QR code.",[1898,126153,126155],{"id":126154},"show-public-offline-address","Show Public Offline Address",[34,126157,126158],{},[241,126159],{"alt":14,"src":126160},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-28%20at%204.26.58%20PM.png",[41,126162,114142],{"id":114141},[48,126164,114469],{"id":114581},[34,126166,126167],{},"When the sender has initiated the transaction, the new transaction will be listed under \"transactions\" in your Beam wallet.",[34,126169,126170],{},[241,126171],{"alt":14,"src":126172},"https:\u002F\u002Fgblobscdn.gitbook.com\u002Fassets%2F-MahNP292RdjN51kZZ89%2F-Man522M1aHUM4jcK1eW%2F-Man7WtzvC4pBZo-v4Dh%2Fphoto_2021-05-28_14-31-00.jpg?alt=media&token=1eaa0287-7155-479c-a824-c7893192fa9a",[48,126174,11758],{"id":126175},"offline-transaction",[34,126177,126178],{},"Beam coins received via Offline and Public Offline transactions cannot be seen unless your Beam wallet is connected with the mobile node.",[34,126180,126181],{},[241,126182],{"alt":14,"src":126183},".gitbook\u002Fassets\u002Fphoto_2021-05-28_14-31-00%20(1).jpg",[48,126185,113687],{"id":126186},"maximum-anonymity-set-1",[34,126188,126189],{},"Beam coins received via maximum anonymity set cannot be seen unless your Beam wallet is connected to the mobile node. They will be listed as \"sent offline\" in your transactions list.",[34,126191,126192],{},[241,126193],{"alt":14,"src":126194},"https:\u002F\u002Fgblobscdn.gitbook.com\u002Fassets%2F-MahNP292RdjN51kZZ89%2F-Man522M1aHUM4jcK1eW%2F-Man9_sJTBrSR_vp2Y8h%2Fphoto_2021-05-28_16-17-33%20(3).jpg?alt=media&token=9bb3ec4d-1b8f-4bb7-80ee-0827b015a09a",{"title":14,"searchDepth":15,"depth":15,"links":126196},[126197,126198,126205],{"id":114022,"depth":15,"text":125994},{"id":504,"depth":15,"text":505,"children":126199},[126200,126201,126202,126203,126204],{"id":126045,"depth":154,"text":126046},{"id":126060,"depth":154,"text":126061},{"id":126064,"depth":154,"text":126065},{"id":113686,"depth":154,"text":113687},{"id":95478,"depth":154,"text":114175},{"id":114141,"depth":15,"text":114142,"children":126206},[126207,126208,126209],{"id":114581,"depth":154,"text":114469},{"id":126175,"depth":154,"text":11758},{"id":126186,"depth":154,"text":113687},"An in depth guide for how-to Receive Beam coins and different receiving addresses available in your Beam mobile wallet.",{},"\u002Fdocs\u002Fmobile\u002Fhot-to-generate-address",{"title":3714,"description":126210},"docs\u002Fmobile\u002Fhot-to-generate-address","3s84mlwyRoQ8dwG53c7dz1i3mNfNc8i1uhDg4IL-2Oo",{"id":126217,"title":5986,"body":126218,"description":126362,"extension":17,"image":18,"meta":126363,"navTitle":18,"navigation":20,"path":126364,"seo":126365,"stem":126366,"__hash__":126367},"docs\u002Fdocs\u002Fmobile\u002Fhow-to-create-wallet.md",{"type":8,"value":126219,"toc":126351},[126220,126222,126225,126229,126253,126256,126258,126262,126265,126270,126272,126275,126277,126280,126285,126287,126290,126293,126298,126302,126321,126326,126328,126331,126334,126339,126343,126346],[11,126221,5986],{"id":3405},[34,126223,126224],{},"Beam Wallet requires permission to run in the background. We recommend you give the Beam mobile wallet app permissions so you can accept transactions at any given moment.",[41,126226,126228],{"id":126227},"how-to-create-your-mobile-wallet","How-to create your mobile wallet",[56,126230,126231,126235,126240,126246,126248,126251],{},[59,126232,126233,126001],{},[37,126234,452],{},[59,126236,125953,126237],{},[37,126238,126239],{},"create new wallet.",[59,126241,125953,126242,126245],{},[37,126243,126244],{},"generate seed phrase."," Record your seed phrase (pen and paper recommended).",[59,126247,115159],{},[59,126249,126250],{},"Select node connecter**.**",[59,126252,114292],{},[34,126254,126255],{},"Congratulations on creating your Beam wallet! You are ready to send or receive Beam coins directly from the wallet screen. The wallet screen displays your wallet balance and lists your most recent transactions.",[41,126257,505],{"id":504},[48,126259,126261],{"id":126260},"launch-mobile-wallet","Launch mobile wallet",[34,126263,126264],{},"Create a new wallet or restore an old wallet upon first launching your mobile app.",[34,126266,126267],{},[241,126268],{"alt":14,"src":126269},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-30%20at%207.50.51%20PM.png",[48,126271,115182],{"id":115181},[34,126273,126274],{},"Your seed phrase is a series of 12 unique words that is the only way you (or anybody) can access your funds. Your seed phrase is not linked to your email or phone number. If you forget your wallet password or lose your device, the only way to restore your wallet is through your seed phrase!",[34,126276,115196],{},[34,126278,126279],{},"Please do not write your seed phrase down electronically, take a screenshot or store it anywhere vulnerable to cyber attacks. Pen and paper are unhackable and recommended. Make multiple copies of your seed phrase and store them somewhere safe!",[34,126281,126282],{},[241,126283],{"alt":14,"src":126284},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-30%20at%208.04.00%20PM.png",[48,126286,115208],{"id":115207},[34,126288,126289],{},"Mobile users can skip the seed verification process and start using their wallets right away. Not verifying and writing down your seed phrase may result in you losing your Beam coins.",[34,126291,126292],{},"Verify your seed phrase by re-entering your seed phrase in random order.",[34,126294,126295],{},[241,126296],{"alt":14,"src":126297},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-30%20at%208.12.31%20PM.png",[48,126299,126301],{"id":126300},"select-node-connector","Select node connector",[852,126303,126304,126310,126316],{},[59,126305,126306,126309],{},[37,126307,126308],{},"Random node",": connecting to a random node is a fast but partial synch with the Beam blockchain.",[59,126311,126312,126315],{},[37,126313,126314],{},"Mobile node",": mobile node leads to a longer time connecting with the blockchain, but it allows you to sync your balance across multiple Beam wallets.",[59,126317,126318,126320],{},[37,126319,101626],{},": connect your node configured with your Wallet Owner Key.",[34,126322,126323],{},[241,126324],{"alt":14,"src":126325},".gitbook\u002Fassets\u002Fphoto_2021-06-08_14-37-46.jpg",[48,126327,114382],{"id":114381},[34,126329,126330],{},"Select a password (eight characters minimum, at least one letter, number, or special symbol) that will give you access to your Beam wallet. Your wallet password is an extra lock for your device, while your seed phrase is a private key that identifies your wallet and can access your funds.",[34,126332,126333],{},"Choose a strong password",[34,126335,126336],{},[241,126337],{"alt":14,"src":126338},".gitbook\u002Fassets\u002Fphoto_2021-05-27_14-44-25.jpg",[48,126340,126342],{"id":126341},"your-beam-wallet-is-ready","Your Beam wallet is ready",[34,126344,126345],{},"Your wallet is ready to Send, Receive and hold Beam coins and Confidential Assets.",[34,126347,126348],{},[241,126349],{"alt":14,"src":126350},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-30%20at%209.01.16%20PM.png",{"title":14,"searchDepth":15,"depth":15,"links":126352},[126353,126354],{"id":126227,"depth":15,"text":126228},{"id":504,"depth":15,"text":505,"children":126355},[126356,126357,126358,126359,126360,126361],{"id":126260,"depth":154,"text":126261},{"id":115181,"depth":154,"text":115182},{"id":115207,"depth":154,"text":115208},{"id":126300,"depth":154,"text":126301},{"id":114381,"depth":154,"text":114382},{"id":126341,"depth":154,"text":126342},"A handy guide for creating a Beam mobile wallet.",{},"\u002Fdocs\u002Fmobile\u002Fhow-to-create-wallet",{"title":5986,"description":126362},"docs\u002Fmobile\u002Fhow-to-create-wallet","pwurh1KH5uOzJplQFOXVGzKfB-U48HGu1oCanJ0QBd0",{"id":126369,"title":126370,"body":126371,"description":126490,"extension":17,"image":18,"meta":126491,"navTitle":18,"navigation":20,"path":123555,"seo":126492,"stem":126493,"__hash__":126494},"docs\u002Fdocs\u002Fmobile\u002Fhow-to-restore-wallet.md","Restoring Your Beam Mobile Wallet",{"type":8,"value":126372,"toc":126480},[126373,126376,126383,126386,126390,126414,126417,126419,126422,126427,126430,126435,126437,126439,126441,126446,126448,126451,126465,126470,126472,126475],[11,126374,126370],{"id":126375},"restoring-your-beam-mobile-wallet",[34,126377,126378,126379,126382],{},"If you have previously created a Beam wallet, you can recover your funds by restoring your wallet from your 12-word seed phrase. However, your wallet data (transaction history, contacts, addresses) is always stored locally on your device. If you are restoring an old wallet on a new device, be sure to ",[175,126380,126381],{"href":126077},"export the wallet data"," from your old device to the new one for consistent bookkeeping.",[34,126384,126385],{},"Always double-check your spelling! Don't let a misspelling prevent you from accessing your funds e.g. \"principle\" instead of \"principal.\"",[41,126387,126389],{"id":126388},"how-to-restore-your-beam-mobile-wallet","How-to restore your Beam mobile wallet",[56,126391,126392,126396,126402,126405,126408,126411],{},[59,126393,126394,126001],{},[37,126395,452],{},[59,126397,126398,126399,181],{},"At the log-in page, tap ",[37,126400,126401],{},"restore wallet",[59,126403,126404],{},"Enter your seed phrase.",[59,126406,126407],{},"Create a new wallet password.",[59,126409,126410],{},"Select node connectivity mode.",[59,126412,126413],{},"After you have selected node connectivity mode, your wallet will re-synch with the blockchain.",[34,126415,126416],{},"For the restoration process, you must connect to the network via mobile node. Wallet restoration does not work with random remote node.",[41,126418,113937],{"id":504},[48,126420,126421],{"id":90483},"Beam wallet",[34,126423,126424],{},[241,126425],{"alt":14,"src":126426},".gitbook\u002Fassets\u002Fphoto_2021-05-28_15-26-35.jpg",[48,126428,126429],{"id":114251},"Restore wallet",[34,126431,126432],{},[241,126433],{"alt":14,"src":126434},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-30%20at%209.05.20%20PM.png",[48,126436,114382],{"id":114381},[34,126438,126330],{},[34,126440,114388],{},[34,126442,126443],{},[241,126444],{"alt":14,"src":126445},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-30%20at%209.05.57%20PM.png",[48,126447,115238],{"id":115237},[34,126449,126450],{},"When restoring funds in automatic mode, verify the timestamp for the most recent transaction is within the past hour. If not, the restored balance may be incorrect, and the user must delete and restore their wallet.",[852,126452,126453,126459],{},[59,126454,126455,126458],{},[37,126456,126457],{},"Automatic Restore:"," Beam Wallet will download a snapshot of the blockchain and restore your funds on the device (recommended).",[59,126460,126461,126464],{},[37,126462,126463],{},"Restore with own node:"," Beam Wallet will connect to your trusted node and it will restore your funds. The node must be configured with your owner key.",[34,126466,126467],{},[241,126468],{"alt":14,"src":126469},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-30%20at%209.13.04%20PM.png",[48,126471,114408],{"id":114407},[34,126473,126474],{},"After you have selected your node, your mobile wallet will resume synchronization with the blockchain.",[34,126476,126477],{},[241,126478],{"alt":14,"src":126479},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-30%20at%209.24.50%20PM.png",{"title":14,"searchDepth":15,"depth":15,"links":126481},[126482,126483],{"id":126388,"depth":15,"text":126389},{"id":504,"depth":15,"text":113937,"children":126484},[126485,126486,126487,126488,126489],{"id":90483,"depth":154,"text":126421},{"id":114251,"depth":154,"text":126429},{"id":114381,"depth":154,"text":114382},{"id":115237,"depth":154,"text":115238},{"id":114407,"depth":154,"text":114408},"If you have previously created a Beam wallet, you can recover your funds by restoring your wallet from your 12-word seed phrase. However, your wallet data (transaction history, contacts, addresses) is always stored locally on your device. If you are restoring an old wallet on a new device, be sure to export the wallet data from your old device to the new one for consistent bookkeeping.",{},{"title":126370,"description":126490},"docs\u002Fmobile\u002Fhow-to-restore-wallet","njmdTEK6ZerufC2MJB9whTO5HHVwVxqdAB7ruy_Xu3E",{"id":126496,"title":3766,"body":126497,"description":126503,"extension":17,"image":18,"meta":126703,"navTitle":18,"navigation":20,"path":126704,"seo":126705,"stem":126706,"__hash__":126707},"docs\u002Fdocs\u002Fmobile\u002Fhow-to-send-transactions.md",{"type":8,"value":126498,"toc":126689},[126499,126501,126504,126509,126515,126525,126528,126531,126572,126574,126578,126583,126615,126618,126623,126626,126629,126633,126635,126638,126643,126647,126649,126651,126656,126660,126663,126668,126671,126674,126679,126681,126684],[11,126500,3766],{"id":3765},[34,126502,126503],{},"While your Beam mobile wallet puts users in complete control over their digital funds, however recovering funds sent or received by an incorrect address is not possible. Always double-check to make sure you are not sending Beam coins to an incorrect or expired address.",[34,126505,126506],{},[37,126507,126508],{},"Transaction Fees",[34,126510,126511,126512,181],{},"Offline transactions (regular Offline and Public Offline) have significantly higher transaction fees than regular transactions due to the more significant blockchain requirements Offline payments have compared to Regular. ",[37,126513,126514],{},"Max anonymity set carries the same fees as Offline",[852,126516,126517,126521],{},[59,126518,126519,114470],{},[37,126520,114469],{},[59,126522,126523,114475],{},[37,126524,11758],{},[41,126526,126527],{"id":114484},"To Send Beam",[34,126529,126530],{},"Always double-check your addresses before sending Beam. Viruses and malware hidden on your computer can alter your address even though it's copied to your clipboard.",[56,126532,126533,126537,126541,126553,126556,126559,126561,126567],{},[59,126534,126535,126001],{},[37,126536,452],{},[59,126538,126004,126539,181],{},[37,126540,15797],{},[59,126542,126543,98,126546,126549,126550,126552],{},[37,126544,126545],{},"Paste",[37,126547,126548],{},"the Receiver's wallet address"," (or tap",[241,126551],{"src":126021,"alt":14,"dataSize":244},"to scan QR code). Users can choose from a list of saved contacts or active wallet addresses.",[59,126554,126555],{},"Choose transaction type (Regular or Offline). If the Receiver provides a max anonymity set address, the transaction type will change to \"max privacy.\"",[59,126557,126558],{},"Enter the amount of Beam you wish to send.",[59,126560,114516],{},[59,126562,125953,126563,126566],{},[37,126564,126565],{},"next"," to preview the transaction before sending (double-check your wallet addresses).",[59,126568,125953,126569,126571],{},[37,126570,15797],{}," to send your Beam coins.",[41,126573,505],{"id":504},[48,126575,126577],{"id":126576},"regular-and-offline-transactions","Regular and Offline transactions",[34,126579,126580,181],{},[37,126581,126582],{},"Regular\u002FOffline addresses differ from Public Offline address",[56,126584,126585,126596,126604],{},[59,126586,126587,181,126590,126592,126593,181],{},[37,126588,126589],{},"Regular\u002FOffline addresses have a default expiration date of 24 hours",[4953,126591],{},"\nFor maximum privacy, we strongly recommend you generate a new address for every transaction. To edit your address expiration date, see this ",[175,126594,126595],{"href":738},"page",[59,126597,126598,181,126601,126603],{},[37,126599,126600],{},"Offline addresses can only be sent once",[4953,126602],{},"\nOnce generated, the Offline address is only good for single payment.",[59,126605,126606,181,126609,126611,126612,181],{},[37,126607,126608],{},"Your Public Offline address will never expire",[4953,126610],{},"\nWe strongly recommend your Public Offline address be used if you accept regular donations. It will be possible to trace your information from a Public Offline address. To find your Public Offline address, see this ",[175,126613,126595],{"href":126614},"hot-to-generate-address#public-offline-address",[34,126616,126617],{},"The sender decides whether to send a Regular payment or an Offline payment.",[34,126619,126620],{},[241,126621],{"alt":14,"src":126622},".gitbook\u002Fassets\u002Fphoto_2021-06-08_17-04-09.jpg",[48,126624,123463],{"id":126625},"max-anonymity-set",[34,126627,126628],{},"As a special type of Offline transaction, max anonymity set addresses carry the same transactions fees.",[34,126630,126631],{},[241,126632],{"alt":14,"src":126622},[48,126634,114561],{"id":114560},[34,126636,126637],{},"Your Beam wallet will notify if you are sending to a Public Offline address, so always double-check addresses before sending your Beam coins.",[34,126639,126640],{},[241,126641],{"alt":14,"src":126642},".gitbook\u002Fassets\u002Fphoto_2021-06-08_17-10-15.jpg",[41,126644,126646],{"id":126645},"completed-transaction","Completed transaction",[48,126648,114469],{"id":114581},[34,126650,114584],{},[34,126652,126653],{},[241,126654],{"alt":14,"src":126655},".gitbook\u002Fassets\u002Fphoto_2021-05-28_14-30-592%20(1).jpg",[48,126657,126659],{"id":126658},"regular-and-offline-transaction","Regular and Offline transaction",[34,126661,126662],{},"Completed Offline transactions will be listed as \"sent offline.\" Tap on the transaction to view the full transaction details.",[34,126664,126665],{},[241,126666],{"alt":14,"src":126667},".gitbook\u002Fassets\u002Fphoto_2021-05-28_14-30-591.jpg",[48,126669,123463],{"id":126670},"max-anonymity-set-1",[34,126672,126673],{},"Completed transactions using max anonymity list as \"completed offline.\" If it reads \"in progress max privacy,\" then your coins are still locked.",[34,126675,126676],{},[241,126677],{"alt":14,"src":126678},"https:\u002F\u002Fgblobscdn.gitbook.com\u002Fassets%2F-MahNP292RdjN51kZZ89%2F-MamETDxNOgmdF_YDDja%2F-Mamodt3ooe4qB_CNNXE%2Fphoto_2021-05-28_14-30-593.jpg?alt=media&token=d0f762bd-2b45-44d3-852a-6f228b7ae91e",[48,126680,114561],{"id":114612},[34,126682,126683],{},"Completed Public Offline transactions will be listed as \"sent public offline.\" Tap on the transaction to view the full transaction details.",[34,126685,126686],{},[241,126687],{"alt":14,"src":126688},"https:\u002F\u002Fgblobscdn.gitbook.com\u002Fassets%2F-MahNP292RdjN51kZZ89%2F-MamETDxNOgmdF_YDDja%2F-MampfhZKRMNteghjEuA%2Fphoto_2021-05-28_14-56-24.jpg?alt=media&token=cfc9afd0-7e2d-4450-bb26-3d06c857407d",{"title":14,"searchDepth":15,"depth":15,"links":126690},[126691,126692,126697],{"id":114484,"depth":15,"text":126527},{"id":504,"depth":15,"text":505,"children":126693},[126694,126695,126696],{"id":126576,"depth":154,"text":126577},{"id":126625,"depth":154,"text":123463},{"id":114560,"depth":154,"text":114561},{"id":126645,"depth":15,"text":126646,"children":126698},[126699,126700,126701,126702],{"id":114581,"depth":154,"text":114469},{"id":126658,"depth":154,"text":126659},{"id":126670,"depth":154,"text":123463},{"id":114612,"depth":154,"text":114561},{},"\u002Fdocs\u002Fmobile\u002Fhow-to-send-transactions",{"title":3766,"description":126503},"docs\u002Fmobile\u002Fhow-to-send-transactions","OVMTgtqf3S3nE8-fpF9_J9t4D7WV23V-12X6IlgcTv0",{"id":126709,"title":126710,"body":126711,"description":113860,"extension":17,"image":18,"meta":126840,"navTitle":18,"navigation":20,"path":126841,"seo":126842,"stem":126843,"__hash__":126844},"docs\u002Fdocs\u002Fmobile\u002Fproof-of-transaction.md","Proof Of Transaction",{"type":8,"value":126712,"toc":126828},[126713,126715,126717,126720,126722,126754,126756,126784,126786,126790,126793,126798,126800,126803,126808,126810,126813,126818,126821,126823],[11,126714,126710],{"id":4141},[34,126716,113860],{},[41,126718,126719],{"id":113866},"Verifying proof of transaction",[48,126721,113871],{"id":113870},[56,126723,126724,126729,126735,126749],{},[59,126725,126726,126728],{},[37,126727,452],{}," Beam mobile wallet.",[59,126730,126731,126732],{},"From the wallet screen, ",[37,126733,126734],{},"transactions > \"sent transaction\" > \"payment proof.\"",[59,126736,126737,126739,126742,126743,126745,126748],{},[37,126738,126011],{},[241,126740],{"src":126741,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-14 at 10.22.49 PM (1).png","the payment proof (tap ",[37,126744,90533],{},[241,126746],{"src":126747,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-14 at 10.56.34 PM.png","to view the full payment proof).",[59,126750,126751,113903],{},[37,126752,126753],{},"Send the code",[48,126755,113907],{"id":113906},[56,126757,126758,126762,126770,126779],{},[59,126759,126760,126728],{},[37,126761,452],{},[59,126763,126764,126765,126767,126768,181],{},"Tap",[241,126766],{"src":126131,"alt":14,"dataSize":244},"to access your ",[37,126769,126135],{},[59,126771,125953,126772,126774,126776],{},[37,126773,111813],{},[241,126775],{"src":126142,"alt":14,"dataSize":244},[37,126777,126778],{},"> utilities > \"payment proof\".",[59,126780,126781,126783],{},[37,126782,126545],{}," your payment proof.",[41,126785,505],{"id":504},[48,126787,126789],{"id":126788},"wallet-screen","Wallet screen",[34,126791,126792],{},"Tap the sent transaction you wish to verify.",[34,126794,126795],{},[241,126796],{"alt":14,"src":126797},".gitbook\u002Fassets\u002Fphoto_2021-05-27_19-29-10.jpg",[48,126799,9410],{"id":2000},[34,126801,126802],{},"Tapping the transaction will expand to show you the general transaction info; providing you a detailed overview of the transaction. Scroll down to find \"payment proof.\" Tap \"details\" to view a more detailed overview of the payment proof, or simply \"copy code.\"",[34,126804,126805],{},[241,126806],{"alt":14,"src":126807},".gitbook\u002Fassets\u002Fphoto_2021-05-27_19-29-10%20(2).jpg",[48,126809,4197],{"id":4196},[34,126811,126812],{},"Send the payment proof to the receiver over a secure messaging app.",[34,126814,126815],{},[241,126816],{"alt":14,"src":126817},".gitbook\u002Fassets\u002Fphoto_2021-05-27_19-29-10%20(2)%20(1).jpg",[48,126819,126820],{"id":113976},"Verify payment proof",[34,126822,113980],{},[34,126824,126825],{},[241,126826],{"alt":14,"src":126827},".gitbook\u002Fassets\u002Fphoto_2021-05-27_16-49-33.jpg",{"title":14,"searchDepth":15,"depth":15,"links":126829},[126830,126834],{"id":113866,"depth":15,"text":126719,"children":126831},[126832,126833],{"id":113870,"depth":154,"text":113871},{"id":113906,"depth":154,"text":113907},{"id":504,"depth":15,"text":505,"children":126835},[126836,126837,126838,126839],{"id":126788,"depth":154,"text":126789},{"id":2000,"depth":154,"text":9410},{"id":4196,"depth":154,"text":4197},{"id":113976,"depth":154,"text":126820},{},"\u002Fdocs\u002Fmobile\u002Fproof-of-transaction",{"title":126710,"description":113860},"docs\u002Fmobile\u002Fproof-of-transaction","P50-0qG93mmabzsei_RFSFAcgdqBHm4zs3zB0vdrfBQ",{"id":126846,"title":363,"body":126847,"description":127054,"extension":17,"image":18,"meta":127055,"navTitle":18,"navigation":20,"path":127056,"seo":127057,"stem":127058,"__hash__":127059},"docs\u002Fdocs\u002Fmobile\u002Fsettings.md",{"type":8,"value":126848,"toc":127046},[126849,126851,126859,126861,126898,126903,126905,126908,126913,126915,126929,126934,126936,126973,126978,126980,127012,127017,127021,127041],[11,126850,363],{"id":111813},[34,126852,126853,126854,126856,126858],{},"Your Beam desktop wallet offers users various preferences and advanced features that you can access from ",[37,126855,111813],{},[241,126857],{"src":126142,"alt":14,"dataSize":244},". Users can adjust settings across multiple different categories:",[48,126860,17301],{"id":17300},[852,126862,126863,126869,126875,126881,126887,126893],{},[59,126864,126865,126868],{},[37,126866,126867],{},"Allow opening external links",": toggle on or off to allow your wallet from opening external links",[59,126870,126871,126874],{},[37,126872,126873],{},"Lock screen",": adjust your wallet lock times from 15 seconds to 1 minute or never.",[59,126876,126877,126880],{},[37,126878,126879],{},"Show amounts in",": configure your wallet to display your Beam in USD, BTC and ETH.",[59,126882,126883,126886],{},[37,126884,126885],{},"Clear local wallet data",": clearing your Beam wallet's local data will permanently erase your wallet transaction history, contacts, wallet addresses.",[59,126888,126889,126892],{},[37,126890,126891],{},"Language",": select your preferred language.",[59,126894,126895],{},[37,126896,126897],{},"Dark mode",[34,126899,126900],{},[241,126901],{"alt":14,"src":126902},".gitbook\u002Fassets\u002Fphoto_2021-05-28_13-40-47%20(4).jpg",[48,126904,113602],{"id":114751},[34,126906,126907],{},"Turn your mobile wallet notifications on or off. We strongly recommend that transaction status is left on for Offline payment notifications.",[34,126909,126910],{},[241,126911],{"alt":14,"src":126912},".gitbook\u002Fassets\u002Fphoto_2021-05-28_13-40-47%20(3).jpg",[48,126914,1357],{"id":1356},[852,126916,126917,126921,126925],{},[59,126918,126919,126309],{},[37,126920,126308],{},[59,126922,126923,126315],{},[37,126924,126314],{},[59,126926,126927,126320],{},[37,126928,101626],{},[34,126930,126931],{},[241,126932],{"alt":14,"src":126933},".gitbook\u002Fassets\u002Fphoto_2021-06-08_17-17-54.jpg",[48,126935,1431],{"id":1430},[852,126937,126938,126944,126950,126956,126961,126967],{},[59,126939,126940,126943],{},[37,126941,126942],{},"Ask for a password on every send",": go an extra step further to protect your assets.",[59,126945,126946,126949],{},[37,126947,126948],{},"Enable Face ID",": add additional layers of security to your funds.",[59,126951,126952,126955],{},[37,126953,126954],{},"Max privacy lock time limit",": shorter transaction times could result in your max privacy transactions being less secure, e.g., the longer your coins remain in the shielded pool, the safer the transaction.",[59,126957,126958],{},[37,126959,126960],{},"Verify seed phrase.",[59,126962,126963,126966],{},[37,126964,126965],{},"Show owner key:"," The purpose of the owner key is to allow all nodes mining for you to be aware of all mining rewards mined by other nodes so that you would only need to connect to one node to collect all the rewards into your wallet. The owner key should be kept secret owner key does not allow you to spend coins; however, it will enable you to see all coins mined for you by all miners who use this owner key. Tapping \"Show owner key\" will prompt you to enter your wallet password before displaying your owner key.",[59,126968,126969,126972],{},[37,126970,126971],{},"Change wallet password:"," your new password can't be the same as your old password.",[34,126974,126975],{},[241,126976],{"alt":14,"src":126977},".gitbook\u002Fassets\u002Fphoto_2021-05-28_13-40-47%20(2).jpg",[48,126979,114679],{"id":114765},[852,126981,126982,126988,126994,127000,127006],{},[59,126983,126984,126987],{},[37,126985,126986],{},"Show Public Offline address"," (mobile node only).",[59,126989,126990,126993],{},[37,126991,126992],{},"Get Beams from Beam Community Faucet",": you can earn small amounts of Beam from the Beam Community Faucet",[59,126995,126996,126999],{},[37,126997,126998],{},"Rescan",": re-synch with the Beam blockchain.",[59,127001,127002,127005],{},[37,127003,127004],{},"Export wallet data",": export your transaction history, wallet addresses, and contact lists to a separate file.",[59,127007,127008,127011],{},[37,127009,127010],{},"Import wallet data",": export your previous wallet data (only works if old\u002Fnew wallet share the same seed phrase).",[34,127013,127014],{},[241,127015],{"alt":14,"src":127016},".gitbook\u002Fassets\u002Fphoto_2021-05-28_13-40-47.jpg",[48,127018,127020],{"id":127019},"ratereportremove","Rate\u002FReport\u002FRemove",[852,127022,127023,127029,127035],{},[59,127024,127025,127028],{},[37,127026,127027],{},"Rate the app:"," support Beam by giving us a good review on the App Store.",[59,127030,127031,127034],{},[37,127032,127033],{},"Report a problem:"," creates an archive of your wallet that you can send to Beam technical support.",[59,127036,127037,127040],{},[37,127038,127039],{},"Remove current wallet:"," deletes your wallet and wallet database",[34,127042,127043],{},[241,127044],{"alt":14,"src":127045},".gitbook\u002Fassets\u002Fphoto_2021-05-28_13-33-44.jpg",{"title":14,"searchDepth":15,"depth":15,"links":127047},[127048,127049,127050,127051,127052,127053],{"id":17300,"depth":154,"text":17301},{"id":114751,"depth":154,"text":113602},{"id":1356,"depth":154,"text":1357},{"id":1430,"depth":154,"text":1431},{"id":114765,"depth":154,"text":114679},{"id":127019,"depth":154,"text":127020},"Adjust the various settings of your Beam mobile wallet.",{},"\u002Fdocs\u002Fmobile\u002Fsettings",{"title":363,"description":127054},"docs\u002Fmobile\u002Fsettings","Pk3FyE1u-voBe9-Sg_NoQry4a-4n93ppySSNZC3mbqo",{"id":127061,"title":90640,"body":127062,"description":115099,"extension":17,"image":18,"meta":127181,"navTitle":18,"navigation":20,"path":127182,"seo":127183,"stem":127184,"__hash__":127185},"docs\u002Fdocs\u002Fmobile\u002Futxo.md",{"type":8,"value":127063,"toc":127177},[127064,127066,127071,127092,127096,127112,127117,127121],[11,127065,90640],{"id":113650},[34,127067,127068],{},[37,127069,127070],{},"What is a UTXO, and how does it apply to your Beam coins?",[56,127072,127073,127081],{},[59,127074,127075,181,127078,127080],{},[37,127076,127077],{},"UXTO (unspent transaction value)",[4953,127079],{},"\nUTXO represents the amount of cryptocurrency remaining after each transaction. The \"output\" for each UXTO creates a new \"input\" for new transactions.",[59,127082,127083,181,127086,127088,127089,127091],{},[37,127084,127085],{},"Your Beam wallet automatically selects the UTXO for each transaction",[4953,127087],{},"Your Beam wallet automatically minimizes the output value you receive by automatically selecting the UTXO for each transaction.",[4953,127090],{},"You will not be able to send or spend your UTXOs until each transaction is complete.",[41,127093,127095],{"id":127094},"utxo-screen","UTXO screen",[34,127097,127098,127099,127102,127105,127108,127111],{},"Access your wallet UTXO's by tapping ",[37,127100,127101],{},"menu",[241,127103],{"src":127104,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FScreen Shot 2021-07-01 at 9.19.58 PM (1).png",[37,127106,127107],{},"> UTXO",[241,127109],{"src":127110,"alt":14,"dataSize":244},".gitbook\u002Fassets\u002FIMG_3379.jpg","in your Beam mobile wallet.",[34,127113,127114],{},[241,127115],{"alt":14,"src":127116},".gitbook\u002Fassets\u002Fphoto_2021-05-27_19-02-14.jpg",[41,127118,127120],{"id":127119},"types-of-utxo","Types of UTXO",[4998,127122,127123,127131],{},[5001,127124,127125],{},[5004,127126,127127,127129],{},[5007,127128,115044],{},[5007,127130,5012],{},[5014,127132,127133,127141,127150,127159,127168],{},[5004,127134,127135,127139],{},[5019,127136,127137],{},[37,127138,113525],{},[5019,127140,115057],{},[5004,127142,127143,127147],{},[5019,127144,127145],{},[37,127146,113548],{},[5019,127148,127149],{},"UTXO received as a result of change leftover from a transaction. It is immediately available for spending.",[5004,127151,127152,127156],{},[5019,127153,127154],{},[37,127155,89182],{},[5019,127157,127158],{},"Fees received as a result of mining a block which that contains transactions.",[5004,127160,127161,127165],{},[5019,127162,127163],{},[37,127164,115082],{},[5019,127166,127167],{},"UTXO you have mined. It has a maturity of 3 hours (240 blocks) and will not be immediately seen in your wallet.",[5004,127169,127170,127174],{},[5019,127171,127172],{},[37,127173,95875],{},[5019,127175,127176],{},"UTXO received as a result of an Offline or Max privacy transaction. Offline is immediately available for spending, meanwhile received Max Privacy coins can be made immediately available (no limit) or locked by “Max Privacy longest transaction time” parameter in settings.",{"title":14,"searchDepth":15,"depth":15,"links":127178},[127179,127180],{"id":127094,"depth":15,"text":127095},{"id":127119,"depth":15,"text":127120},{},"\u002Fdocs\u002Fmobile\u002Futxo",{"title":90640,"description":115099},"docs\u002Fmobile\u002Futxo","F2AIQEMHW09oq_Sd8iGrlAPikYoGGOJh8rJDIyU9hJw",{"id":127187,"title":17301,"body":127188,"description":127208,"extension":17,"image":18,"meta":127209,"navTitle":18,"navigation":20,"path":127210,"seo":127211,"stem":127212,"__hash__":127213},"docs\u002Fdocs\u002Fnode\u002FREADME.md",{"type":8,"value":127189,"toc":127206},[127190,127192,127197,127200,127203],[11,127191,17301],{"id":17300},[34,127193,127194],{},[241,127195],{"alt":14,"src":127196},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-30%20at%2012.35.51%20PM.png",[34,127198,127199],{},"The Beam Node is an essential part of the Beam network. Each node forms the peer-to-peer network that validates transactions and blocks on the blockchain. The Beam Node can run on Linux, Mac, and Windows operating systems.",[34,127201,127202],{},"The Beam Node offers users two modes: Mining and Validating. Each Mode is an essential but very straightforward component of the Beam network.",[34,127204,127205],{},"Nodes set to \"mining mode\" mine Beam, validate transactions, add blocks to the Beam blockchain. In comparison, Nodes set to \"validating mode\" act as a complete record of the Beam blockchain. Each node \"validates\" new blocks added to the blockchain to maintain the integrity of the Beam network.",{"title":14,"searchDepth":15,"depth":15,"links":127207},[],"A brief summary of how Nodes operate within the Beam Network.",{},"\u002Fdocs\u002Fnode\u002Freadme",{"title":17301,"description":127208},"docs\u002Fnode\u002FREADME","i3oaS9r_DOsCNJSIsTOJm2qp1-7R4_GLcnThbgOPD-A",{"id":127215,"title":127216,"body":127217,"description":128202,"extension":17,"image":18,"meta":128203,"navTitle":18,"navigation":20,"path":128204,"seo":128205,"stem":128206,"__hash__":128207},"docs\u002Fdocs\u002Fnode\u002Fmining-mode.md","Mining Mode",{"type":8,"value":127218,"toc":128183},[127219,127222,127229,127234,127242,127248,127251,127254,127256,127258,127260,127263,127272,127275,127280,127283,127286,127290,127293,127296,127298,127301,127304,127307,127309,127375,127378,127380,127382,127384,127386,127388,127404,127407,127410,127416,127420,127424,127427,127430,127435,127439,127515,127519,127611,127616,127621,127627,127633,127639,127642,127647,127651,127654,127657,127660,127670,127675,127684,127687,127690,127693,127701,127704,127721,127730,127736,127741,127747,127753,127756,127762,127770,127773,127777,127876,127882,127892,127900,127906,127911,127917,127920,127926,127936,127945,127949,127989,127992,127997,128006,128009,128013,128016,128022,128175],[11,127220,127216],{"id":127221},"mining-mode",[34,127223,127224,127225,181],{},"The Beam Node supports External Miner via Stratum Server API for mining Beam: The Beam Node provides built-in support for Stratum API integration with multiple external mining clients to a single node.\nStratum clients can be run together with the internal Miner. For more detailed information, and how-to mine Beam, please see our ",[175,127226,127228],{"href":127227},"\u002Fdocs\u002Fmining\u002F","Beam Mining guide",[34,127230,127231],{},[37,127232,127233],{},"Obtain your Miner Keys!",[34,127235,127236,127237,127241],{},"To ensure all the rewards you accrue mining Beam go directly to your wallet, you must obtain your secret ",[37,127238,127239],{},[611,127240,3561],{},". Your mining key is derived from your seed phrase. You can generate multiple mining keys for separate mining modes.",[34,127243,127244,127245,127247],{},"Conversely, to display your total mining rewards accrued to all the nodes on the Beam network, you must obtain an ",[37,127246,3493],{},". Owner keys only identify the cumulative mining rewards earned by a user, regardless of the node used.",[34,127249,127250],{},"For more information on retrieving or displaying mining and owner keys, please see our Beam Mining guide_._",[41,127252,103470],{"id":127253},"mining-beam",[34,127255,11443],{},[34,127257,11440],{},[34,127259,11446],{},[41,127261,127262],{"id":11449},"Mining algorithm",[34,127264,127265,127266,127271],{},"To secure the network, Beam uses the uses a ",[175,127267,127270],{"href":127268,"rel":127269},"https:\u002F\u002Fdocs.beam.mw\u002FBeam_Equihash.pdf",[179],"modified version"," of the Equihash (150,5) proof-of-work mining algorithm. Miners and their mining rigs compete to produce a new block on the chain. The miner who completes the computation for each block earns a network standard block reward, including any transactions fees added to that block.",[34,127273,127274],{},"At Mainnet launch, the Equihash parameters were: n=150, k=5. In addition, we will introduce a slight change to the datapath to further reduce the chance of zero-day ASICs.",[34,127276,127277,127278,181],{},"The minimal memory requirement for the GPU is 4 GB. The most up-to-date list of supported GPUs will be made ",[175,127279,18147],{"href":4253},[41,127281,127282],{"id":11486},"Block size and time",[34,127284,127285],{},"A Beam block will be generated approximately every minute and contain about 1000 transactions. Block size is roughly 1 MB.",[41,127287,127289],{"id":127288},"mining-difficulty","Mining difficulty",[34,127291,127292],{},"One can define 'difficulty' as the inverse probability of a random solution being the correct one. Mining difficulty measures how many attempts, on average, it is required to find the necessary proof-of-work solution to mine a block and receive the mining reward. Thus, a difficulty of 100 means that (on average) one in 100 tries should produce a valid block.",[34,127294,127295],{},"In Proof of Work blockchains, the difficulty is a dynamic parameter, periodically retargeted to reflect the fluctuations in all the miners' total computational power while accounting for changes in the mining competition and improvements in mining technology.",[34,127297,98876],{},[34,127299,127300],{},"Here's an example: let's assume we have 100 miners in our network, each attempting a different solution, finding one roughly every minute. Now 100 more miners enter, the hash rate of the network doubles, the solution on average reduces by half (30 seconds). If 200 more join, the time halves into 15 seconds, and so on.",[34,127302,127303],{},"Beam nodes attempt to mitigate that by increasing the difficulting of the proof-of-work algorithm as more miners join, reducing the difficulty as the number of miners decreases.",[34,127305,127306],{},"In Beam, the difficulty reassess with every block: the algorithm looks at the average time and the average difficulty of the last 1440 blocks. If the time required to mine the previous 1440 blocks is higher or lower than 24 hours, the problem retargets accordingly.",[34,127308,98896],{},[56,127310,127311,127319,127327,127342,127355,127367],{},[59,127312,127313,127314,181],{},"Review the last seven blocks, identifying the block with the median block time, this is the ",[37,127315,127316],{},[611,127317,127318],{},"Window End block",[59,127320,127321,127322,181],{},"Review blocks from 127 to 120 before the current block (seven blocks total), identifying the block with the median block time out of those, this is the ",[37,127323,127324],{},[611,127325,127326],{},"Window Start block",[59,127328,127329,127330,10218,127333,127336,127337,181],{},"Sum the difficulties of the blocks from ",[611,127331,127332],{},"Window Start",[611,127334,127335],{},"Window End","; this is ",[37,127338,127339],{},[611,127340,127341],{},"Delta Work",[59,127343,127344,127345,1475,127347,127349,127350,181],{},"Calculate the time difference between ",[611,127346,127332],{},[611,127348,127335],{}," blocks; this is ",[37,127351,127352],{},[611,127353,127354],{},"Delta Time",[59,127356,127357,127358,127361,127362,11002,127364,127366],{},"Calculate the difficulty for next block as: ",[611,127359,127360],{},"NewDifficulty"," = (",[611,127363,127341],{},[611,127365,127354],{},") * 60 seconds.",[59,127368,6547,127369,127371,127372,127374],{},[611,127370,127354],{}," is bound by one and 4 hours; e.g., it is considered ",[611,127373,127354],{}," if the difference is less than one hour. Same for differences more than 4 hours, preventing extreme changes in difficulty.",[34,127376,127377],{},"The above algorithm ensures that as the total solution power of the network fluctuates, the difficulty is gradually adjusted, ensuring the target block time.",[41,127379,11505],{"id":11504},[34,127381,124492],{},[34,127383,124495],{},[34,127385,124498],{},[34,127387,124507],{},[852,127389,127390,127395,127400],{},[59,127391,127392,127394],{},[37,127393,123956],{},": 40%",[59,127396,127397,127394],{},[37,127398,127399],{},"Core Team",[59,127401,127402,124523],{},[37,127403,123950],{},[41,127405,127406],{"id":11531},"ASIC resistance",[34,127408,127409],{},"Beam plans to keep mining ASIC resistant through the first 18 months to establish decentralization by performing one hard fork after six months and then a second hard fork after 12 months of Beams emission. Each hard fork will tweak the mining algorithm, the modifications releasing several weeks prior.",[41,127411,127413],{"id":127412},"mining-guide",[175,127414,127415],{"href":127227},"Mining guide",[34,127417,125379,127418,123181],{},[175,127419,123180],{"href":127227},[41,127421,127423],{"id":127422},"mining-using-external-miner","Mining using external miner",[34,127425,127426],{},"This guide will walk you through organizing a mining rig using a stand-alone Beam node, Stratum server, and mining client.",[34,127428,127429],{},"Before using the external miner, please review the sample Mining Architecture below:",[34,127431,127432],{},[241,127433],{"alt":127434,"src":1851},"Mining usiex",[34,127436,127437],{},[37,127438,3771],{},[852,127440,127441,127452,127462,127488,127491,127494,127497],{},[59,127442,127443,127444,127447,127448,127451],{},"The Beam node should connect to a different node on the network via ",[611,127445,127446],{},"--peer"," parameter, e.g., ",[611,127449,127450],{},"--peer=3.0.115.1:8100"," for TestNet 4.",[59,127453,127454,127455,127458,127459],{},"The Beam node can run Stratum server adding ",[611,127456,127457],{},"--stratum_port"," parameter, e.g.,",[611,127460,127461],{},"--stratum_port=10002.",[59,127463,127464,127465,1475,127468,127470,127471,1475,127474,127477,127478,127487],{},"The Beam node should have the ",[611,127466,127467],{},"mining_key",[611,127469,3493],{},", so the mining rewards accumulated are transferred to a specific wallet, e.g., parameters ",[611,127472,127473],{},"--miner_key",[611,127475,127476],{},"--owner_ke","y. ",[37,127479,127480,1475,127483,127486],{},[611,127481,127482],{},"Miner_key",[611,127484,127485],{},"Owner_key"," should be kept secret at all times.","﻿",[59,127489,127490],{},"Several Mining clients running on GPU rigs can connect to the same node.",[59,127492,127493],{},"The connection between the Mining Client and Beam node is encrypted with TLS. For TLS to work, you need to provide a certificate file and secret keys for it.",[59,127495,127496],{},"Mining Client and Beam Node should use the same API key.",[59,127498,127499,127500,7532,127503],{},"Your wallet will earn mining rewards ",[37,127501,127502],{},"if",[852,127504,127505,127508],{},[59,127506,127507],{},"It uses the exact wallet seed phrase associated with the original miner and owner keys.",[59,127509,127510,127511,127514],{},"The node connected has the",[611,127512,127513],{},"--owner_key","parameter.",[48,127516,127518],{"id":127517},"how-to-mine-using-an-external-miner","How to mine using an external miner",[56,127520,127521,127528,127534,127545,127562],{},[59,127522,127523,127524,181],{},"Download the CLI Wallet (available on all platforms) from the ",[175,127525,11630],{"href":127526,"rel":127527},"https:\u002F\u002Fwww.beam.mw\u002Fdownloads\u002F",[179],[59,127529,127530,127531],{},"Extract the CLI Wallet to any folder on your machine and title it ",[611,127532,127533],{},"wallet_folder.",[59,127535,127536,127537,4166,127540],{},"Launch the Command Line and change the directory to ",[611,127538,127539],{},"wallet_folder",[616,127541,127543],{"className":127542,"code":6188,"language":621},[619],[611,127544,6188],{"__ignoreMap":14},[59,127546,127547,127548,127553,127555,127556],{},"If you want to create a new wallet (with a new seed phrase) run the following command:",[616,127549,127551],{"className":127550,"code":3428,"language":621},[619],[611,127552,3428],{"__ignoreMap":14},[4953,127554],{},"If you have already created a wallet run the following command:",[616,127557,127560],{"className":127558,"code":127559,"language":621},[619],".\u002Fbeam-wallet restore --seed_phrase=\u003Csemicolon separated list of 12 seed phrase words>\n",[611,127561,127559],{"__ignoreMap":14},[59,127563,127564,127565,3568,127567,127572,127574,127575,117893,127577,127580,127581,127583,98,127586,5102,127589,127591,127592,127595,127596,127599,127600,127603,127604,127606],{},"To export ",[611,127566,3561],{},[616,127568,127570],{"className":127569,"code":125629,"language":621},[619],[611,127571,125629],{"__ignoreMap":14},[4953,127573],{},"Save the exported ",[611,127576,3561],{},[611,127578,127579],{},"text_file"," for later.",[4953,127582],{},[37,127584,127585],{},"Running",[37,127587,127588],{},"several mining nodes",[4953,127590],{},"If you want to run several mining nodes, enter the",[611,127593,127594],{},"--export_miner_key","command again with other subkeys, e.g., enter",[611,127597,127598],{},".\u002Fbeam-wallet export_miner_key --subkey=2","for the second node. Enter",[611,127601,127602],{},".\u002Fbeam-wallet export_miner_key --subkey=3","for the third node and so on.",[4953,127605],{},[37,127607,111954,127608,127610],{},[611,127609,3561],{},"should be kept secret at all times.",[34,127612,127613,127614,4166],{},"6. Export the ",[611,127615,3493],{},[616,127617,127619],{"className":127618,"code":3512,"language":621},[619],[611,127620,3512],{"__ignoreMap":14},[34,127622,127574,127623,117893,127625,127580],{},[611,127624,3493],{},[611,127626,127579],{},[34,127628,127629,127630,181],{},"7. Download the Beam node archive (available on all platforms) from the ",[175,127631,11630],{"href":127526,"rel":127632},[179],[34,127634,127635,127636,181],{},"8. Extract Beam Node to any folder on your machine and title it ",[611,127637,127638],{},"node_folder",[34,127640,127641],{},"9. Create certificate and API key for the Stratum server.",[34,127643,127644,127646],{},[37,127645,9770],{},": users interested in testing are welcome to download the sample certificate and API keys below.",[48,127648,127650],{"id":127649},"certificate-and-api-keys","Certificate and API keys",[34,127652,127653],{},"{% file src=\".gitbook\u002Fassets\u002Fstratum.crt\" %}\nStratum.crt\n{% endfile %}",[34,127655,127656],{},"{% file src=\".gitbook\u002Fassets\u002Fstratum (2).key\" %}\nstratum.key\n{% endfile %}",[34,127658,127659],{},"{% file src=\".gitbook\u002Fassets\u002Fstratum.api (1).keys\" %}\nstratum.api.keys\n{% endfile %}",[34,127661,127662,127663,91281,127666,127669],{},"The files currently contain one API key: ",[611,127664,127665],{},"aaaa1234",[611,127667,127668],{},"--key=aaaa1234","parameter is necessary to operate the miner client.",[34,127671,127672,127673,181],{},"Users should save the API keys and certificate files to their",[611,127674,127638],{},[34,127676,127677,127680,127681,181],{},[37,127678,127679],{},"Attention:"," for production setup please read the following section carefully, otherwise skip to ",[37,127682,127683],{},"step 10",[34,127685,127686],{},"Beam node utilizes the Stratum protocol for connecting external miner clients. Clients open a TCP connection to the node through which they receive opportunities to mine blocks using the Equihash mining protocol.",[34,127688,127689],{},"Stratum server connections are protected using Transport Layer Security (TLS) protocol and require TLS certificates to function correctly. TLS certificates are available for purchase, and advanced users have the option to create self-signed certificates on their local machines; however, instructions for creating self-signed TLS certificates are outside the scope of this guide.",[34,127691,127692],{},"TLS protocols should be accompanied by two files: one for the certificate and one with the certificate secret key. For testing purposes, you can always use sample files provided in the note above.",[34,127694,127695,127696,127698,127699,21920],{},"In addition, users should create a file and title it ",[611,127697,94596],{},". Each line of the text file will represent one API key (one row per API key). The miner client then uses these keys via the ",[611,127700,16700],{},[34,127702,127703],{},"If done correctly, it should produce three files:",[852,127705,127706,127711,127716],{},[59,127707,127708,127710],{},[611,127709,94576],{},": TLS certificate.",[59,127712,127713,127715],{},[611,127714,94586],{},": private key for TLS certificate.",[59,127717,127718,127720],{},[611,127719,94596],{},": a text file with allowed API keys with each API key should be on a single row in a sequence of eight or more symbols.",[34,127722,127723,127724,127727,127728,181],{},"All three files should be copied into the same folder. The path to this folder will be provided via ",[611,127725,127726],{},"--stratum_secrets_folder"," parameter. By default, the path points to the same ",[611,127729,127638],{},[34,127731,127732,127733,127735],{},"The output to the ",[611,127734,127638],{},"should resemble the following:",[34,127737,127738],{},[241,127739],{"alt":14,"src":127740},".gitbook\u002Fassets\u002Fimage%20(3).png",[34,127742,127743,127744,127746],{},"10. Launch a terminal window. Change the directory to the ",[611,127745,127638],{}," by entering the following:",[616,127748,127751],{"className":127749,"code":127750,"language":621},[619],"cd \u002Fnode_folder\n",[611,127752,127750],{"__ignoreMap":14},[34,127754,127755],{},"11. Run Beam Node with the stratum server by entering the following command:",[616,127757,127760],{"className":127758,"code":127759,"language":621},[619],".\u002Fbeam-node\n    --port=10001\n    --peer=3.0.115.1:8100\n    --stratum_port=10002\n    --stratum_secrets_path=.\n    --miner_key=\u003Cmining key you got in step 5 >\n    --owner_key=\u003Cowner key you got in step 6>\n    --pass=\u003Cyour wallet password (not seed phrase) >\n",[611,127761,127759],{"__ignoreMap":14},[34,127763,127764,127766,127767,127769],{},[37,127765,9127],{}," the parameters above example are ideal for testing purposes. Users can always change the parameters if necessary. Users also have the option of plugging in custom parameters in their",[611,127768,91010],{},"file in a text editor instead of the command line.",[34,127771,127772],{},"Read more about each parameter in the table below:",[48,127774,127776],{"id":127775},"node-parameters","Node parameters",[4998,127778,127779,127792],{},[5001,127780,127781],{},[5004,127782,127783,127787],{},[5007,127784,127785],{},[611,127786,93986],{},[5007,127788,6547,127789,127791],{},[611,127790,93986],{}," to start the server on.",[5014,127793,127794,127805,127837,127846,127857,127867],{},[5004,127795,127796,127800],{},[5019,127797,127798],{},[611,127799,94540],{},[5019,127801,6547,127802,127804],{},[611,127803,94540],{}," the server is scanning for incoming connections.",[5004,127806,127807,127811],{},[5019,127808,127809],{},[611,127810,93912],{},[5019,127812,127813,127826],{},[34,127814,127815,127816,127819,127820,127822,127823,127825],{}," A comma-separated list of peer ",[611,127817,127818],{},"ip:port"," (minimum of one ",[611,127821,93912],{},"). ",[611,127824,101632],{},"should be a machine on the network you wish to connect to e.g., Testnet 4.",[34,127827,127828,127829,127832,127833,127836],{},"A list of available ",[611,127830,127831],{},"peers"," is published on the ",[175,127834,127835],{"href":2228},"downloads page"," of the main Beam website.",[5004,127838,127839,127843],{},[5019,127840,127841],{},[611,127842,94550],{},[5019,127844,127845],{},"Path to a folder which holds TLS Certificate and API keys files described above.",[5004,127847,127848,127852],{},[5019,127849,127850],{},[611,127851,3561],{},[5019,127853,127854,127856],{},[611,127855,127482],{},", exported via CLI wallet.",[5004,127858,127859,127863],{},[5019,127860,127861],{},[611,127862,3493],{},[5019,127864,127865,127856],{},[611,127866,127485],{},[5004,127868,127869,127873],{},[5019,127870,127871],{},[611,127872,15361],{},[5019,127874,127875],{},"Wallet password.",[34,127877,127878,127879,181],{},"12. Next, download the miner client archive from the ",[175,127880,11630],{"href":127526,"rel":127881},[179],[34,127883,127884,127885,127888,127889],{},"Beam provides two mining clients for Equihash 150,5 with data path change: one for ",[611,127886,127887],{},"OpenCL"," and one for ",[611,127890,127891],{},"CUDA.",[34,127893,127894,127896,127897,127899],{},[37,127895,127679],{}," Testnet mining client is limited to ",[611,127898,127887],{}," and only supported by Windows and Linux platforms.",[34,127901,127902,127903,181],{},"13. Download the miner client to a folder on your mining rig and title it ",[611,127904,127905],{},"miner_folder",[34,127907,127908,127909,127746],{},"14. Launch a terminal window (or command prompt for Windows users). Change the directory to the ",[611,127910,127905],{},[616,127912,127915],{"className":127913,"code":127914,"language":621},[619],"cd \u002Fminer_folder\n",[611,127916,127914],{"__ignoreMap":14},[34,127918,127919],{},"15. Enter the following command:",[616,127921,127924],{"className":127922,"code":127923,"language":621},[619]," beamMiner.exe --server 127.0.0.1:10002 --key aaaa1234\n",[611,127925,127923],{"__ignoreMap":14},[34,127927,127928,127929,127932,127933,127935],{},"If your node runs on a different machine than the miner client, change ",[611,127930,127931],{},"IP"," address above to the ",[611,127934,127931],{}," of the node machine",[34,127937,127938,127939,127942,127943,21920],{},"If you have set a different API key then ",[611,127940,127941],{},"aaa1234"," from the example set your key in the ",[611,127944,16700],{},[48,127946,127948],{"id":127947},"miner-client-parameters","Miner client parameters",[4998,127950,127951,127966],{},[5001,127952,127953],{},[5004,127954,127955,127959],{},[5007,127956,127957],{},[611,127958,120335],{},[5007,127960,127961,1475,127963,127965],{},[611,127962,127931],{},[611,127964,93986],{}," of the Stratum server path.",[5014,127967,127968,127979],{},[5004,127969,127970,127974],{},[5019,127971,127972],{},[611,127973,17900],{},[5019,127975,127976,127977,4108],{},"API key you have set in your Stratum server In",[611,127978,94596],{},[5004,127980,127981,127986],{},[5019,127982,127983],{},[611,127984,127985],{},"devices",[5019,127987,127988],{},"This parameter is only necessary if the users want to use a specific GPU. By default, the miner client will use all available GPUs.",[34,127990,127991],{},"Your mining rig is now ready to begin mining.",[34,127993,127994],{},[37,127995,127996],{},"To view your miner rewards:",[34,127998,127999,128000,128002,128003,128005],{},"Launch the CLI Wallet or Beam Desktop Wallet linked with the same seed phrase as the miner client and connect to the local node (or a remote node that knows the ",[611,128001,3493],{},") within the wallet. The",[611,128004,3493],{},"will automatically detect and the miner rewards will be reflected in the wallet balance.",[34,128007,128008],{},"Linking to a random node on the network will NOT display your mining rewards.",[41,128010,128012],{"id":128011},"gpu-support","GPU support",[34,128014,128015],{},"Here are some performance stats reported by our community:",[48,128017,128019,128021],{"id":128018},"opencl-miner-client",[611,128020,127887],{}," miner client",[4998,128023,128024,128042],{},[5001,128025,128026],{},[5004,128027,128028,128033,128037],{},[5007,128029,128030],{},[37,128031,128032],{},"GPU",[5007,128034,128035],{},[37,128036,111850],{},[5007,128038,128039],{},[37,128040,128041],{},"Reported Sol\u002Fs rate",[5014,128043,128044,128057,128069,128081,128093,128105,128117,128129,128141,128152,128164],{},[5004,128045,128046,128051,128054],{},[5019,128047,128048],{},[100,128049,128050],{},"AMD RX560",[5019,128052,128053],{},"Yes",[5019,128055,128056],{},"~4",[5004,128058,128059,128064,128066],{},[5019,128060,128061],{},[100,128062,128063],{},"AMD RX570",[5019,128065,128053],{},[5019,128067,128068],{},"~7-8",[5004,128070,128071,128076,128078],{},[5019,128072,128073],{},[100,128074,128075],{},"AMD RX580",[5019,128077,128053],{},[5019,128079,128080],{},"~8-9",[5004,128082,128083,128088,128090],{},[5019,128084,128085],{},[100,128086,128087],{},"AMD Rx Vega 56",[5019,128089,128053],{},[5019,128091,128092],{},"~13",[5004,128094,128095,128100,128102],{},[5019,128096,128097],{},[100,128098,128099],{},"nVidia GTX 1066",[5019,128101,128053],{},[5019,128103,128104],{},"~5.25",[5004,128106,128107,128112,128114],{},[5019,128108,128109],{},[100,128110,128111],{},"nVidia GTX 1050Ti",[5019,128113,128053],{},[5019,128115,128116],{},"~2.2-4.8",[5004,128118,128119,128124,128126],{},[5019,128120,128121],{},[100,128122,128123],{},"nVidia GTX 1060 6GB",[5019,128125,128053],{},[5019,128127,128128],{},"~5",[5004,128130,128131,128136,128138],{},[5019,128132,128133],{},[100,128134,128135],{},"nVidia GTX 1070",[5019,128137,128053],{},[5019,128139,128140],{},"~7",[5004,128142,128143,128148,128150],{},[5019,128144,128145],{},[100,128146,128147],{},"nVidia GTX 1080",[5019,128149,128053],{},[5019,128151,128080],{},[5004,128153,128154,128159,128161],{},[5019,128155,128156],{},[100,128157,128158],{},"nVidia GTX 1080Ti",[5019,128160,128053],{},[5019,128162,128163],{},"~10-11",[5004,128165,128166,128171,128173],{},[5019,128167,128168],{},[100,128169,128170],{},"nVidia GTX 2080",[5019,128172,128053],{},[5019,128174,128163],{},[34,128176,128177,128179,128182],{},[37,128178,9127],{},[611,128180,128181],{},"CUDA","miner client is still in development.",{"title":14,"searchDepth":15,"depth":15,"links":128184},[128185,128186,128187,128188,128189,128190,128191,128192,128198],{"id":127253,"depth":15,"text":103470},{"id":11449,"depth":15,"text":127262},{"id":11486,"depth":15,"text":127282},{"id":127288,"depth":15,"text":127289},{"id":11504,"depth":15,"text":11505},{"id":11531,"depth":15,"text":127406},{"id":127412,"depth":15,"text":127415},{"id":127422,"depth":15,"text":127423,"children":128193},[128194,128195,128196,128197],{"id":127517,"depth":154,"text":127518},{"id":127649,"depth":154,"text":127650},{"id":127775,"depth":154,"text":127776},{"id":127947,"depth":154,"text":127948},{"id":128011,"depth":15,"text":128012,"children":128199},[128200],{"id":128018,"depth":154,"text":128201},"OpenCL miner client","The Beam Node supports External Miner via Stratum Server API for mining Beam: The Beam Node provides built-in support for Stratum API integration with multiple external mining clients to a single node.\nStratum clients can be run together with the internal Miner. For more detailed information, and how-to mine Beam, please see our Beam Mining guide.",{},"\u002Fdocs\u002Fnode\u002Fmining-mode",{"title":127216,"description":128202},"docs\u002Fnode\u002Fmining-mode","3s8nV-OELj6Jotnh0dAW8eMOAwL6wrAOZoBFpurWKTY",{"id":128209,"title":128210,"body":128211,"description":14,"extension":17,"image":18,"meta":128617,"navTitle":18,"navigation":20,"path":128618,"seo":128619,"stem":128620,"__hash__":128621},"docs\u002Fdocs\u002Fnode\u002Fnode-settings.md","Node Settings",{"type":8,"value":128212,"toc":128612},[128213,128216,128222,128230,128238,128242,128299,128303,128309,128415,128419,128422,128426,128598,128601,128607],[11,128214,128210],{"id":128215},"node-settings",[1898,128217,128219,128220,11260],{"id":128218},"commands-entered-via-command-line-do-not-override-the-settings-of-your-beam-nodecfg-file","Commands entered via Command-line do not override the settings of your ",[611,128221,91010],{},[34,128223,6547,128224,128226,128227,128229],{},[611,128225,91010],{}," file loads all the settings not dictated by the Command-line. To revert to the original settings of your",[611,128228,91010],{},"file, manually restart your Beam node.",[34,128231,128232,128233,128235,128236,2344],{},"Users can adjust and configure node settings via the Command Line or by editing the",[611,128234,91010],{}," file (located in the ",[611,128237,127638],{},[48,128239,128241],{"id":128240},"node-settings-parameters","Node settings (parameters)",[4998,128243,128244,128258],{},[5001,128245,128246],{},[5004,128247,128248,128253],{},[5007,128249,128250],{},[611,128251,128252],{},"--port (or -p)",[5007,128254,128255,127791],{},[611,128256,128257],{},"Port",[5014,128259,128260,128273,128285],{},[5004,128261,128262,128267],{},[5019,128263,128264],{},[611,128265,128266],{},"--log_level",[5019,128268,128269,128270],{},"Log level ",[611,128271,128272],{},"[info|debug|verbose].",[5004,128274,128275,128280],{},[5019,128276,128277],{},[611,128278,128279],{},"--file_log_level",[5019,128281,128282,128283],{},"File log level ",[611,128284,128272],{},[5004,128286,128287,128292],{},[5019,128288,128289],{},[611,128290,128291],{},"--log_cleanup_days",[5019,128293,128294,128295,128298],{},"Old ",[611,128296,128297],{},"logfiles"," cleanup period (measured in days).",[48,128300,128302],{"id":128301},"node-options-parameters","Node options (parameters)",[34,128304,128305,128306,128308],{},"Node options can be plugged directly into the",[611,128307,91010],{},"file or enter them via the command line.",[4998,128310,128311,128325],{},[5001,128312,128313],{},[5004,128314,128315,128320],{},[5007,128316,128317],{},[611,128318,128319],{},"--storage",[5007,128321,128322,128323,2344],{},"Path to the node database file (defaults to ",[611,128324,11829],{},[5014,128326,128327,128348,128364,128378,128394,128406],{},[5004,128328,128329,128333],{},[5019,128330,128331],{},[611,128332,127473],{},[5019,128334,128335,128336,128339,128340,98,128343,181],{},"The secret key that attributes the mining rewards mined by the node to your wallet created using CLI wallet ",[611,128337,128338],{},"export_miner_key"," command with ",[611,128341,128342],{},"--subkey=\u003Cminer id>",[175,128344,128347],{"href":128345,"rel":128346},"https:\u002F\u002Fbeamx.gitbook.io\u002Fcli-guide\u002F#exporting-miner-key",[179],"parameter",[5004,128349,128350,128354],{},[5019,128351,128352],{},[611,128353,127513],{},[5019,128355,128356,128357,128359,181],{},"A secret key that allows the node to monitor mining rewards accumulated by all the mining nodes associated with this key. Created using CLI wallet ",[611,128358,90544],{},[175,128360,128363],{"href":128361,"rel":128362},"https:\u002F\u002Fbeamx.gitbook.io\u002Fcli-guide\u002F#exporting-owner-key",[179],"command",[5004,128365,128366,128370],{},[5019,128367,128368],{},[611,128369,17338],{},[5019,128371,128372,128373,113899,128375,128377],{},"The wallet password (both the",[611,128374,3561],{},[611,128376,3493],{},"are password protected).",[5004,128379,128380,128385],{},[5019,128381,128382,128383],{},"--",[611,128384,94540],{},[5019,128386,128387,128389,128390,128393],{},[611,128388,128257],{},"on which stratum server will scan for incoming connections. ",[611,128391,128392],{},"Port=0","if the stratum server is disabled.",[5004,128395,128396,128401],{},[5019,128397,128398],{},[611,128399,128400],{},"--stratum_secrets_path",[5019,128402,128403,128405],{},[611,128404,89946],{},"to the folder containing stratum certificates.",[5004,128407,128408,128412],{},[5019,128409,128410],{},[611,128411,127446],{},[5019,128413,128414],{},"Nodes that are available for connection.",[1898,128416,128418],{"id":128417},"cpu-mining-for-beam-is-not-recommended","CPU Mining for Beam is not recommended.",[34,128420,128421],{},"Beam uses an Equihash mining algorithm with (150,5) parameters and a customized data path that is inefficiently mined on CPUs.",[48,128423,128425],{"id":128424},"node-options-continued","Node options (continued)",[4998,128427,128428,128444],{},[5001,128429,128430],{},[5004,128431,128432,128441],{},[5007,128433,128434,128437,128438,8764],{},[611,128435,128436],{},"-h"," (or ",[611,128439,128440],{},"--help",[5007,128442,128443],{},"Prints a list of all available options and commands.",[5014,128445,128446,128459,128469,128479,128489,128499,128509,128519,128528,128538,128548,128558,128568,128578,128588],{},[5004,128447,128448,128456],{},[5019,128449,128450,128437,128453,8764],{},[611,128451,128452],{},"-v",[611,128454,128455],{},"--version",[5019,128457,128458],{},"Prints latest project version.",[5004,128460,128461,128466],{},[5019,128462,128463],{},[611,128464,128465],{},"--git_commit_hash",[5019,128467,128468],{},"Prints git commit hash value.",[5004,128470,128471,128476],{},[5019,128472,128473],{},[611,128474,128475],{},"--fast_sync",[5019,128477,128478],{},"Fast sync on\u002Foff (override horizons)",[5004,128480,128481,128486],{},[5019,128482,128483],{},[611,128484,128485],{},"--print_txo",[5019,128487,128488],{},"Print TXO movements (create\u002Fspend) recognized by the owner key.",[5004,128490,128491,128496],{},[5019,128492,128493],{},[611,128494,128495],{},"--peers_persistent",[5019,128497,128498],{},"Keep a persistent connection to the specified peers, regardless of ratings",[5004,128500,128501,128506],{},[5019,128502,128503],{},[611,128504,128505],{},"--mining_threads",[5019,128507,128508],{},"a number of mining threads(there is no mining if 0). It works if FakePoW is enabled",[5004,128510,128511,128516],{},[5019,128512,128513],{},[611,128514,128515],{},"--pow_solve_time",[5019,128517,128518],{},"pow solve time. It works if FakePoW is enabled",[5004,128520,128521,128526],{},[5019,128522,128523],{},[611,128524,128525],{},"--verification_threads",[5019,128527,94285],{},[5004,128529,128530,128535],{},[5019,128531,128532],{},[611,128533,128534],{},"--history_dir",[5019,128536,128537],{},"Path to the folder where compressed (cut-through) history files are stored. Defaults to the same folder.",[5004,128539,128540,128545],{},[5019,128541,128542],{},[611,128543,128544],{},"--temp_dir",[5019,128546,128547],{},"Path to temp folder for compressed history files. Must be on the same volume as history_dir",[5004,128549,128550,128555],{},[5019,128551,128552],{},[611,128553,128554],{},"--stratum_use_tls",[5019,128556,128557],{},"Enable TLS on stratum server",[5004,128559,128560,128565],{},[5019,128561,128562],{},[611,128563,128564],{},"--nonceprefix_digits",[5019,128566,128567],{},"number of hex digits for nonce prefix for stratum client (0..6)",[5004,128569,128570,128575],{},[5019,128571,128572],{},[611,128573,128574],{},"--generate_recovery",[5019,128576,128577],{},"Recovery file to generate immediately after the start",[5004,128579,128580,128585],{},[5019,128581,128582],{},[611,128583,128584],{},"--recovery_auto_path",[5019,128586,128587],{},"Path and file prefix for recovery auto-generation",[5004,128589,128590,128595],{},[5019,128591,128592],{},[611,128593,128594],{},"--recovery_auto_period",[5019,128596,128597],{},"Period (in blocks) for recovery auto-generation",[34,128599,128600],{},"Make running your local node in fast sync mode easier with the following command:",[616,128602,128605],{"className":128603,"code":128604,"language":621},[619],".\u002Fbeam-node --port=10000 --peer=eu-nodes.mainnet.beam.mw:8100,us-nodes.mainnet.beam.mw:8100 --fast_sync=on\n",[611,128606,128604],{"__ignoreMap":14},[34,128608,128609],{},[241,128610],{"alt":14,"src":128611},".gitbook\u002Fassets\u002Fimage%20(2).png",{"title":14,"searchDepth":15,"depth":15,"links":128613},[128614,128615,128616],{"id":128240,"depth":154,"text":128241},{"id":128301,"depth":154,"text":128302},{"id":128424,"depth":154,"text":128425},{},"\u002Fdocs\u002Fnode\u002Fnode-settings",{"title":128210,"description":14},"docs\u002Fnode\u002Fnode-settings","UdKHL0HEmRH8e6_bfd5pEeJpmrT1qKantck9IAj0xjg",{"id":128623,"title":128624,"body":128625,"description":128702,"extension":17,"image":18,"meta":128703,"navTitle":18,"navigation":20,"path":128704,"seo":128705,"stem":128706,"__hash__":128707},"docs\u002Fdocs\u002Fnode\u002Foperations-with-node-database.md","Operations with Node Database",{"type":8,"value":128626,"toc":128700},[128627,128630],[11,128628,128624],{"id":128629},"operations-with-node-database",[4998,128631,128632,128644],{},[5001,128633,128634],{},[5004,128635,128636,128640],{},[5007,128637,128638],{},[37,128639,6559],{},[5007,128641,128642],{},[37,128643,120743],{},[5014,128645,128646,128659,128671,128685],{},[5004,128647,128648,128653],{},[5019,128649,128650],{},[611,128651,128652],{},"--check_db",[5019,128654,128655,128658],{},[611,128656,128657],{},"DB"," integrity check.",[5004,128660,128661,128666],{},[5019,128662,128663],{},[611,128664,128665],{},"--vacuum",[5019,128667,128668,128670],{},[611,128669,128657],{}," vacuum (compact).",[5004,128672,128673,128678],{},[5019,128674,128675],{},[611,128676,128677],{},"--reset_id",[5019,128679,128680,128681,128684],{},"Reset self node ",[611,128682,128683],{},"ID."," Mainly used for network authentication. Must use if the node is cloned.",[5004,128686,128687,128692],{},[5019,128688,128689],{},[611,128690,128691],{},"--erase_id",[5019,128693,128694,128695,128697,128698,181],{},"Reset self Node ",[611,128696,128683],{}," Mainly used for network authentication. Stop before re-creating the new ",[611,128699,6243],{},{"title":14,"searchDepth":15,"depth":15,"links":128701},[],"Command-line options to run with Beam Node databse.",{},"\u002Fdocs\u002Fnode\u002Foperations-with-node-database",{"title":128624,"description":128702},"docs\u002Fnode\u002Foperations-with-node-database","KCWFtBvxDz3D0SReWTI1dlXbhLHIRKRV4T9Gb4AfdQY",{"id":128709,"title":128710,"body":128711,"description":128718,"extension":17,"image":18,"meta":128738,"navTitle":18,"navigation":20,"path":128739,"seo":128740,"stem":128741,"__hash__":128742},"docs\u002Fdocs\u002Fnode\u002Fvalidating-mode.md","Validating Mode",{"type":8,"value":128712,"toc":128736},[128713,128716,128719,128722,128733],[11,128714,128710],{"id":128715},"validating-mode",[34,128717,128718],{},"By default, the Beam Node operates as \"validating mode,\" meaning mining is disabled. For more information on Beam mining and how-to Mine Beam, see our Beam Mining Guide.",[34,128720,128721],{},"Nodes set in \"Validating mode\" perform a critical component to the overall health and safety of the Beam network by:",[852,128723,128724,128727,128730],{},[59,128725,128726],{},"Assisting the flow of transactions and blocks through the Beam network.",[59,128728,128729],{},"Enables wallet-to-wallet communication by broadcasting SBBS messages.",[59,128731,128732],{},"Functions as Dandelion Stem relays to improve P2P level security.",[34,128734,128735],{},"Support the Beam network by running a local node!",{"title":14,"searchDepth":15,"depth":15,"links":128737},[],{},"\u002Fdocs\u002Fnode\u002Fvalidating-mode",{"title":128710,"description":128718},"docs\u002Fnode\u002Fvalidating-mode","SGup1eDzbhgi555fuQKpAnE6MCfTORmhialHFZ1KPBo",{"id":128744,"title":128745,"body":128746,"description":3140,"extension":17,"image":18,"meta":128765,"navTitle":18,"navigation":20,"path":128766,"seo":128767,"stem":128768,"__hash__":128769},"docs\u002Fdocs\u002Fweb-wallet\u002FREADME.md","Web Wallet User Guide",{"type":8,"value":128747,"toc":128763},[128748,128751,128755],[11,128749,128745],{"id":128750},"web-wallet-user-guide",[34,128752,128753],{},[37,128754,3140],{},[852,128756,128757,128760],{},[59,128758,128759],{},"SBBS addresses for Web Wallet are single-use only addresses.",[59,128761,128762],{},"Newly generated SBBS addresses expire after 12 hours.",{"title":14,"searchDepth":15,"depth":15,"links":128764},[],{},"\u002Fdocs\u002Fweb-wallet\u002Freadme",{"title":128745,"description":3140},"docs\u002Fweb-wallet\u002FREADME","V_5k_Sr90FlHYX04TBtjnAWVwEh8xQ3pajFbIDBWcIg",{"id":128771,"title":128772,"body":128773,"description":128803,"extension":17,"image":18,"meta":128804,"navTitle":18,"navigation":20,"path":128805,"seo":128806,"stem":128807,"__hash__":128808},"docs\u002Fdocs\u002Fweb-wallet\u002Fhow-to-create-wallet\u002FREADME.md","How-to Create Beam Web Wallet",{"type":8,"value":128774,"toc":128801},[128775,128778,128789,128795],[11,128776,128772],{"id":128777},"how-to-create-beam-web-wallet",[34,128779,128780,128781,1475,128785],{},"There are two ways of how user can create new wallet:",[175,128782,128784],{"href":128783},"easy-onboarding"," Easy onboarding",[175,128786,128788],{"href":128787},"create-a-new-wallet","Create a new wallet with the seed phrase verification",[34,128790,128791,128792,112938],{},"{% content-ref url=\"easy-onboarding.md\" %}\n",[175,128793,128794],{"href":128783},"easy-onboarding.md",[34,128796,128797,128798,112938],{},"{% content-ref url=\"create-a-new-wallet.md\" %}\n",[175,128799,128800],{"href":128787},"create-a-new-wallet.md",{"title":14,"searchDepth":15,"depth":15,"links":128802},[],"There are two ways of how user can create new wallet: Easy onboarding and Create a new wallet with the seed phrase verification",{},"\u002Fdocs\u002Fweb-wallet\u002Fhow-to-create-wallet\u002Freadme",{"title":128772,"description":128803},"docs\u002Fweb-wallet\u002Fhow-to-create-wallet\u002FREADME","iDYMf4547veBm2TrCFZV-dp7B_eb4WwPRf7XIjBMU_g",{"id":128810,"title":128811,"body":128812,"description":128822,"extension":17,"image":18,"meta":129003,"navTitle":18,"navigation":20,"path":129004,"seo":129005,"stem":129006,"__hash__":129007},"docs\u002Fdocs\u002Fweb-wallet\u002Fhow-to-create-wallet\u002Fcreate-a-new-wallet.md","Create a New Wallet",{"type":8,"value":128813,"toc":128983},[128814,128816,128823,128827,128830,128833,128838,128840,128845,128849,128854,128859,128861,128864,128869,128871,128874,128879,128883,128885,128888,128893,128897,128900,128905,128909,128911,128913,128918,128921,128926,128930,128934,128939,128942,128944,128949,128952,128954,128959,128962,128964,128966,128971,128975,128978],[11,128815,128811],{"id":128787},[34,128817,128818],{},[100,128819,128820],{},[37,128821,128822],{},"Never share your seed phrase with anyone. Those who know your seed phrase will have access to your funds!",[41,128824,128826],{"id":128825},"full-browser-view","Full Browser View:",[48,128828,128811],{"id":128829},"create-a-new-wallet-1",[34,128831,128832],{},"Launch your web wallet and \"Create new wallet.\"",[34,128834,128835],{},[241,128836],{"alt":14,"src":128837},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%204.37.34%20PM.png",[48,128839,115182],{"id":115181},[34,128841,128842],{},[241,128843],{"alt":14,"src":128844},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%204.38.45%20PM.png",[48,128846,128848],{"id":128847},"write-down-seed-phrase","Write down seed phrase",[34,128850,128851],{},[100,128852,128853],{},"Double-check your spelling! Don't let a misspelling like 'funnel' and 'tunnel' prevent you from accessing your funds!",[34,128855,128856],{},[241,128857],{"alt":14,"src":128858},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%204.44.20%20PM%20(1).png",[48,128860,114370],{"id":114369},[34,128862,128863],{},"Record your seed phrase (pen and paper recommended) and store it in a secure location. Do not screenshot your seed phrase or keep it on an electronic device where it is vulnerable to cyber attacks!",[34,128865,128866],{},[241,128867],{"alt":14,"src":128868},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%204.55.17%20PM.png",[48,128870,115208],{"id":115207},[34,128872,128873],{},"Enter six randomly select words from your seed phrase to complete the verification process.",[34,128875,128876],{},[241,128877],{"alt":14,"src":128878},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%204.51.52%20PM.png",[48,128880,128882],{"id":128881},"create-your-wallet-password","Create your wallet password",[34,128884,115226],{},[34,128886,128887],{},"Choose a strong password, then select \"start using your wallet.\"",[34,128889,128890],{},[241,128891],{"alt":14,"src":128892},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%204.55.55%20PM.png",[48,128894,128896],{"id":128895},"wallet-dashboard","Wallet Dashboard",[34,128898,128899],{},"Congratulations! Your Beam web wallet is now ready! Send or Receive Beam, view your most recent transactions list directly from the Beam web wallet dashboard.",[34,128901,128902],{},[241,128903],{"alt":14,"src":128904},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%205.01.59%20PM.png",[41,128906,128908],{"id":128907},"extension-view","Extension view",[48,128910,109643],{"id":115173},[34,128912,128832],{},[34,128914,128915],{},[241,128916],{"alt":14,"src":128917},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%205.04.58%20PM.png",[48,128919,115182],{"id":128920},"generate-seed-phrase-1",[34,128922,128923],{},[241,128924],{"alt":14,"src":128925},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%205.08.03%20PM.png",[48,128927,128929],{"id":128928},"write-down-your-seed-phrase","Write down your seed phrase",[34,128931,128932],{},[100,128933,128853],{},[34,128935,128936],{},[241,128937],{"alt":14,"src":128938},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-05-31%20at%206.03.39%20PM%20(1).png",[48,128940,114370],{"id":128941},"confirmation-screen-1",[34,128943,128863],{},[34,128945,128946],{},[241,128947],{"alt":14,"src":128948},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%205.13.07%20PM.png",[48,128950,115208],{"id":128951},"verify-seed-phrase-1",[34,128953,128873],{},[34,128955,128956],{},[241,128957],{"alt":14,"src":128958},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%205.15.35%20PM.png",[48,128960,128882],{"id":128961},"create-your-wallet-password-1",[34,128963,115226],{},[34,128965,128887],{},[34,128967,128968],{},[241,128969],{"alt":14,"src":128970},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%205.18.18%20PM.png",[48,128972,128974],{"id":128973},"wallet-dashboard-1","Wallet dashboard",[34,128976,128977],{},"Congratulations! Your Beam web wallet is now ready! Send or Receive Beam, view your most recent transactions list directly from the Beam web wallet dashboard!",[34,128979,128980],{},[241,128981],{"alt":14,"src":128982},"..\u002F.gitbook\u002Fassets\u002F0312.png",{"title":14,"searchDepth":15,"depth":15,"links":128984},[128985,128994],{"id":128825,"depth":15,"text":128826,"children":128986},[128987,128988,128989,128990,128991,128992,128993],{"id":128829,"depth":154,"text":128811},{"id":115181,"depth":154,"text":115182},{"id":128847,"depth":154,"text":128848},{"id":114369,"depth":154,"text":114370},{"id":115207,"depth":154,"text":115208},{"id":128881,"depth":154,"text":128882},{"id":128895,"depth":154,"text":128896},{"id":128907,"depth":15,"text":128908,"children":128995},[128996,128997,128998,128999,129000,129001,129002],{"id":115173,"depth":154,"text":109643},{"id":128920,"depth":154,"text":115182},{"id":128928,"depth":154,"text":128929},{"id":128941,"depth":154,"text":114370},{"id":128951,"depth":154,"text":115208},{"id":128961,"depth":154,"text":128882},{"id":128973,"depth":154,"text":128974},{},"\u002Fdocs\u002Fweb-wallet\u002Fhow-to-create-wallet\u002Fcreate-a-new-wallet",{"title":128811,"description":128822},"docs\u002Fweb-wallet\u002Fhow-to-create-wallet\u002Fcreate-a-new-wallet","VlMRybqxMH89ubod09dgqeQaMIziLcS5VZt2EZLb9GU",{"id":129009,"title":129010,"body":129011,"description":3477,"extension":17,"image":18,"meta":129107,"navTitle":18,"navigation":20,"path":129108,"seo":129109,"stem":129110,"__hash__":129111},"docs\u002Fdocs\u002Fweb-wallet\u002Fhow-to-create-wallet\u002Feasy-onboarding.md","Easy Onboarding",{"type":8,"value":129012,"toc":129099},[129013,129015,129019,129022,129025,129028,129033,129036,129039,129044,129048,129054,129059,129063,129065,129067,129072,129075,129078,129081,129086,129088,129091,129094],[11,129014,129010],{"id":128783},[34,129016,129017],{},[100,129018,3477],{},[41,129020,129021],{"id":115173},"Create New Wallet",[34,129023,129024],{},"The easiest way. After installation and clicking on the button “Create new wallet”, a user can skip the step about verifying seed by clicking on “I will do it later”. Take a look at the following screenshots.",[34,129026,129027],{},"Web Browser View:",[34,129029,129030],{},[241,129031],{"alt":14,"src":129032},"..\u002F.gitbook\u002Fassets\u002F0111.png",[41,129034,129035],{"id":115181},"Generate Seed Phrase",[34,129037,129038],{},"Select \"I understand\" to continue to the next step of the verification process.",[34,129040,129041],{},[241,129042],{"alt":14,"src":129043},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-05-31%20at%203.49.57%20PM.png",[41,129045,129047],{"id":129046},"skip-verification","Skip Verification",[34,129049,129050,129051,129053],{},"Beam web wallet users can skip the seed verification process (click \"I will do it later\") and start using their  web wallets right away. ",[37,129052,120247],{},": not recording and verifying your seed phrase could result in the loss of your Beam coins!",[34,129055,129056],{},[241,129057],{"alt":14,"src":129058},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-05-31%20at%203.59.03%20PM.png",[41,129060,129062],{"id":129061},"setting-wallet-password","Setting Wallet Password",[34,129064,126330],{},[34,129066,126333],{},[34,129068,129069],{},[241,129070],{"alt":14,"src":129071},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-05-31%20at%204.04.21%20PM.png",[41,129073,129074],{"id":115272},"Synchronizing your Wallet",[34,129076,129077],{},"Now that your web wallet is created, it's to synchronize with blockchain in its most current state on the Beam network.",[34,129079,129080],{},"This may take a few minutes depending on your internet connection.",[34,129082,129083],{},[241,129084],{"alt":14,"src":129085},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-05-31%20at%204.11.40%20PM.png",[41,129087,128896],{"id":128895},[34,129089,129090],{},"Once your web wallet synchs with the blockchain, you are ready to started using your Web Wallet.",[34,129092,129093],{},"Send or Receive Beam coins, see your most recent transactions directly from your Beam wallet dashboard!",[34,129095,129096],{},[241,129097],{"alt":14,"src":129098},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%205.22.52%20PM.png",{"title":14,"searchDepth":15,"depth":15,"links":129100},[129101,129102,129103,129104,129105,129106],{"id":115173,"depth":15,"text":129021},{"id":115181,"depth":15,"text":129035},{"id":129046,"depth":15,"text":129047},{"id":129061,"depth":15,"text":129062},{"id":115272,"depth":15,"text":129074},{"id":128895,"depth":15,"text":128896},{},"\u002Fdocs\u002Fweb-wallet\u002Fhow-to-create-wallet\u002Feasy-onboarding",{"title":129010,"description":3477},"docs\u002Fweb-wallet\u002Fhow-to-create-wallet\u002Feasy-onboarding","VhFbK8avCHH6qOMNqFiQOre9V-HIUmqI1m8Jnk8K8eg",{"id":129113,"title":129114,"body":129115,"description":129259,"extension":17,"image":18,"meta":129260,"navTitle":18,"navigation":20,"path":129261,"seo":129262,"stem":129263,"__hash__":129264},"docs\u002Fdocs\u002Fweb-wallet\u002Fhow-to-create-wallet\u002Fseed-verification.md","Seed Verification",{"type":8,"value":129116,"toc":129243},[129117,129120,129123,129127,129131,129134,129139,129142,129145,129150,129154,129157,129162,129165,129167,129172,129176,129179,129184,129187,129191,129194,129199,129203,129206,129211,129213,129216,129221,129224,129227,129232,129235,129238],[11,129118,129114],{"id":129119},"seed-verification",[34,129121,129122],{},"If you skip the seed verification process, your web wallet will give you pop-up reminders to verify your wallet. You can close these pop-ups, but once your wallet balance exceeds 100 Beams, the notification will stay open until you secure your seed phrase.",[41,129124,129126],{"id":129125},"full-view","Full View",[48,129128,129130],{"id":129129},"pop-up-window-secure-your-seed","Pop-up Window 'Secure your Seed'",[34,129132,129133],{},"Select “secure your phrase” to start the seed verification process.",[34,129135,129136],{},[241,129137],{"alt":14,"src":129138},"..\u002F.gitbook\u002Fassets\u002F0115.png",[48,129140,129141],{"id":115399},"Enter Password",[34,129143,129144],{},"You will receive a prompt to asking you to confirm your wallet password before moving to the next step of the seed verification process.",[34,129146,129147],{},[241,129148],{"alt":14,"src":129149},"..\u002F.gitbook\u002Fassets\u002F0213.png",[48,129151,129153],{"id":129152},"record-your-seed-phrase","Record your Seed Phrase",[34,129155,129156],{},"Record your seed phrase (pen and paper recommended), make multiple copies and store them somewhere safe. Your seed phrase is for your eyes only. Never share your seed phrase with anyone!",[34,129158,129159],{},[241,129160],{"alt":14,"src":129161},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-05-31%20at%206.16.03%20PM.png",[48,129163,129164],{"id":115207},"Verify Seed Phrase",[34,129166,115159],{},[34,129168,129169],{},[241,129170],{"alt":14,"src":129171},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%204.17.23%20PM.png",[48,129173,129175],{"id":129174},"complete-verification","Complete Verification",[34,129177,129178],{},"Enter six randomly selected words of your seed phrase to complete the verification (and never see this pop-up window again).",[34,129180,129181],{},[241,129182],{"alt":14,"src":129183},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%204.21.25%20PM.png",[41,129185,129186],{"id":128907},"Extension view:",[48,129188,129190],{"id":129189},"from-the-pop-window-up","From the pop-window up:",[34,129192,129193],{},"Select “Secure your phrase” to begin",[34,129195,129196],{},[241,129197],{"alt":14,"src":129198},"..\u002F.gitbook\u002Fassets\u002F0116.png",[48,129200,129202],{"id":129201},"enter-password-1","Enter Password:",[34,129204,129205],{},"Enter your web wallet password to continue verifying your seed phrase.",[34,129207,129208],{},[241,129209],{"alt":14,"src":129210},"..\u002F.gitbook\u002Fassets\u002F0214.png",[48,129212,129164],{"id":128951},[34,129214,129215],{},"Record your seed phrase (pen and paper recommended), make multiple copies and keep it safe. Your seed phrase is not connected to your email address or phone number. Losing your seed phrase could result in you losing access to your funds.",[34,129217,129218],{},[241,129219],{"alt":14,"src":129220},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%204.28.57%20PM.png",[48,129222,129153],{"id":129223},"record-your-seed-phrase-1",[34,129225,129226],{},"Double-check your spelling before storing your seed phrase in a secure location. Never share your seed phrase with anyone!",[34,129228,129229],{},[241,129230],{"alt":14,"src":129231},"..\u002F.gitbook\u002Fassets\u002F0411.png",[48,129233,129175],{"id":129234},"complete-verification-1",[34,129236,129237],{},"Enter six randomly selected words of your seed phrase to complete the verification process.",[34,129239,129240],{},[241,129241],{"alt":14,"src":129242},"..\u002F.gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%204.32.32%20PM.png",{"title":14,"searchDepth":15,"depth":15,"links":129244},[129245,129252],{"id":129125,"depth":15,"text":129126,"children":129246},[129247,129248,129249,129250,129251],{"id":129129,"depth":154,"text":129130},{"id":115399,"depth":154,"text":129141},{"id":129152,"depth":154,"text":129153},{"id":115207,"depth":154,"text":129164},{"id":129174,"depth":154,"text":129175},{"id":128907,"depth":15,"text":129186,"children":129253},[129254,129255,129256,129257,129258],{"id":129189,"depth":154,"text":129190},{"id":129201,"depth":154,"text":129202},{"id":128951,"depth":154,"text":129164},{"id":129223,"depth":154,"text":129153},{"id":129234,"depth":154,"text":129175},"Easy onboarding only allows you to delay verifying your seed phrase. Verifying your seed phrase is crucial for recovering your funds if you ever lose your password or need to reformat your computer.",{},"\u002Fdocs\u002Fweb-wallet\u002Fhow-to-create-wallet\u002Fseed-verification",{"title":129114,"description":129259},"docs\u002Fweb-wallet\u002Fhow-to-create-wallet\u002Fseed-verification","X7bA2CNC78hKdIwMB5LMxs7AugiAyrNq6m970SrY2jc",{"id":129266,"title":129267,"body":129268,"description":129298,"extension":17,"image":18,"meta":129299,"navTitle":18,"navigation":20,"path":129300,"seo":129301,"stem":129302,"__hash__":129303},"docs\u002Fdocs\u002Fweb-wallet\u002Fhow-to-install-beam-web-wallet.md","How-to Install Beam Web Wallet",{"type":8,"value":129269,"toc":129296},[129270,129273,129286,129291],[11,129271,129267],{"id":129272},"how-to-install-beam-web-wallet",[34,129274,129275,129276,129281,129282,95404],{},"Download the Beam web wallet from ",[175,129277,129280],{"href":129278,"rel":129279},"https:\u002F\u002Fchrome.google.com\u002Fwebstore\u002Fdetail\u002Fbeam-web-wallet-testnet\u002Filhaljfiglknggcoegeknjghdgampffk?utm_source=chrome-ntp-icon",[179],"Chrome Web Store","  or download the packed extension directly on our ",[175,129283,120236],{"href":129284,"rel":129285},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fweb-wallet\u002Freleases",[179],[34,129287,129288],{},[241,129289],{"alt":14,"src":129290},".gitbook\u002Fassets\u002FScreen%20Shot%202021-05-31%20at%203.09.44%20PM.png",[34,129292,129293],{},[241,129294],{"alt":14,"src":129295},".gitbook\u002Fassets\u002F03_install.png",{"title":14,"searchDepth":15,"depth":15,"links":129297},[],"Download the Beam web wallet from Chrome Web Store  or download the packed extension directly on our Github page.",{},"\u002Fdocs\u002Fweb-wallet\u002Fhow-to-install-beam-web-wallet",{"title":129267,"description":129298},"docs\u002Fweb-wallet\u002Fhow-to-install-beam-web-wallet","dvGVX37tLmUhvMSmS8N9s70d4VaPECtuF8Pjb-0FNJs",{"id":129305,"title":128896,"body":129306,"description":129312,"extension":17,"image":18,"meta":129377,"navTitle":18,"navigation":20,"path":129378,"seo":129379,"stem":129380,"__hash__":129381},"docs\u002Fdocs\u002Fweb-wallet\u002Fmain-screen.md",{"type":8,"value":129307,"toc":129367},[129308,129310,129313,129319,129321,129323,129326,129331,129335,129338,129343,129345,129348,129351,129356,129360,129362],[11,129309,128896],{"id":128895},[34,129311,129312],{},"In this article, we will explore all the features the Beam web wallet offers.",[34,129314,129315,129316],{},"The dashboard displays the available balance of Beam coins in your wallet. Send or Receive Beam, view your most recent transactions list directly from the Beam web wallet dashboard! The \"wallet\" icon and \"swap\" icons (located on the left side of the dashboard, beneath \"wallet status\") represent your wallet dashboard, UTXO screen, respectively. The action menu in the top right corner stores additional wallet functionalities (",[100,129317,129318],{},"Security Mode, Payment proof, Settings, and more).",[41,129320,128826],{"id":128825},[48,129322,128896],{"id":128973},[34,129324,129325],{},"The dashboard displays the available balance of Beam remaining in your web wallet. View your most recent transactions, Send or Receive Beam directly from the wallet dashboard.",[34,129327,129328],{},[241,129329],{"alt":14,"src":129330},".gitbook\u002Fassets\u002F01_main_screen.png",[48,129332,129334],{"id":129333},"security-mode","Security Mode",[34,129336,129337],{},"\"Security mode\" enables your web wallet to hide sensitive information (balance, transaction lists) from wandering eyes.",[34,129339,129340],{},[241,129341],{"alt":14,"src":129342},".gitbook\u002Fassets\u002F0125.png",[41,129344,129186],{"id":128907},[48,129346,128896],{"id":129347},"wallet-dashboard-2",[34,129349,129350],{},"The dashboard displays the available balance of Beam remaining in your web wallet. View your most recent transactions, Send or Receive Beam directly from the wallet dashboard.›",[34,129352,129353],{},[241,129354],{"alt":14,"src":129355},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%206.01.19%20PM.png",[48,129357,129359],{"id":129358},"security-mode-1","Security mode",[34,129361,129337],{},[34,129363,129364],{},[241,129365],{"alt":14,"src":129366},".gitbook\u002Fassets\u002F0413.png",{"title":14,"searchDepth":15,"depth":15,"links":129368},[129369,129373],{"id":128825,"depth":15,"text":128826,"children":129370},[129371,129372],{"id":128973,"depth":154,"text":128896},{"id":129333,"depth":154,"text":129334},{"id":128907,"depth":15,"text":129186,"children":129374},[129375,129376],{"id":129347,"depth":154,"text":128896},{"id":129358,"depth":154,"text":129359},{},"\u002Fdocs\u002Fweb-wallet\u002Fmain-screen",{"title":128896,"description":129312},"docs\u002Fweb-wallet\u002Fmain-screen","Kj-fzRITUnHx9frNQxRgESOCkOuNOeRGdm5gqZFDdbY",{"id":129383,"title":3714,"body":129384,"description":129480,"extension":17,"image":18,"meta":129481,"navTitle":18,"navigation":20,"path":129482,"seo":129483,"stem":129484,"__hash__":129485},"docs\u002Fdocs\u002Fweb-wallet\u002Freceiving-beam-1.md",{"type":8,"value":129385,"toc":129472},[129386,129388,129392,129421,129425,129428,129433,129437,129443,129448,129450,129453,129455,129460,129463,129467],[11,129387,3714],{"id":3713},[34,129389,129390],{},[37,129391,3140],{},[852,129393,129394,129398,129402,129407,129416],{},[59,129395,129396],{},[100,129397,128759],{},[59,129399,129400],{},[100,129401,128762],{},[59,129403,129404],{},[100,129405,129406],{},"Both Sender and Receiver wallets must be online to complete the transaction.",[59,129408,129409],{},[100,129410,129411,129412,129415],{},"Always send addresses over ",[37,129413,129414],{},"secure"," communication channels.",[59,129417,129418],{},[100,129419,129420],{},"It is possible to reuse an existing address (more information on that later).",[48,129422,129424],{"id":129423},"generate-an-address","Generate an Address",[34,129426,129427],{},"From your wallet dashboard, select \"receive\" to be directed the receiving window.",[34,129429,129430],{},[241,129431],{"alt":14,"src":129432},".gitbook\u002Fassets\u002F0117.png",[48,129434,129436],{"id":129435},"copy-address","Copy Address",[34,129438,129439,129440,129442],{},"Copy and paste the newly generated Beam address (highlight right-click or \"copy transaction address\" from the drop-down menu) and forward it to the Sender over a ",[37,129441,129414],{}," communication channel.",[34,129444,129445],{},[241,129446],{"alt":14,"src":129447},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%206.15.40%20PM.png",[41,129449,129186],{"id":128907},[48,129451,129424],{"id":129452},"generate-an-address-1",[34,129454,129427],{},[34,129456,129457],{},[241,129458],{"alt":14,"src":129459},".gitbook\u002Fassets\u002F0118%20(1).png",[48,129461,126150],{"id":129462},"copy-address-1",[34,129464,129439,129465,129442],{},[37,129466,129414],{},[34,129468,129469],{},[241,129470],{"alt":14,"src":129471},".gitbook\u002Fassets\u002F0216.png",{"title":14,"searchDepth":15,"depth":15,"links":129473},[129474,129475,129476],{"id":129423,"depth":154,"text":129424},{"id":129435,"depth":154,"text":129436},{"id":128907,"depth":15,"text":129186,"children":129477},[129478,129479],{"id":129452,"depth":154,"text":129424},{"id":129462,"depth":154,"text":126150},"As we continue to explore the features and functionality of the Beam web wallet, we move onto how-to Receive Beam coins.",{},"\u002Fdocs\u002Fweb-wallet\u002Freceiving-beam-1",{"title":3714,"description":129480},"docs\u002Fweb-wallet\u002Freceiving-beam-1","0zWgbu_TrSdWckUoKxF83uUdy8oDjPyrvffBx53Subg",{"id":129487,"title":3766,"body":129488,"description":129561,"extension":17,"image":18,"meta":129562,"navTitle":18,"navigation":20,"path":129563,"seo":129564,"stem":129565,"__hash__":129566},"docs\u002Fdocs\u002Fweb-wallet\u002Fsending-beam.md",{"type":8,"value":129489,"toc":129551},[129490,129492,129499,129501,129505,129508,129511,129516,129518,129521,129526,129528,129532,129534,129536,129541,129544,129546],[11,129491,3766],{"id":3765},[34,129493,129494],{},[100,129495,129496],{},[37,129497,129498],{},"Always double-check your copied address before sending out your Beam coins! Malware, viruses, and other malicious actors on your computer can alter your address while copied to the clipboard!",[41,129500,128826],{"id":128825},[48,129502,129504],{"id":129503},"send-window","Send Window",[34,129506,129507],{},"When you have the Sending address, you are now ready to send Beam coins. Select the magenta-colored button, \"send\" from your wallet dashboard, directing you to the sending window.",[34,129509,129510],{},"Copy and paste the wallet address in the \"transaction address\" field. You can add a comment in \"transaction comments\" (the comment will only be visible to you) for easier bookkeeping. Confirm the amount of Beam coins you wish to send before clicking \"next.\"",[34,129512,129513],{},[241,129514],{"alt":14,"src":129515},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%206.43.48%20PM.png",[48,129517,2133],{"id":2132},[34,129519,129520],{},"After clicking \"next\", the \"transaction confirmation\" window will pop-up and display the transaction details. Review and confirm before clicking \"send.\"",[34,129522,129523],{},[241,129524],{"alt":14,"src":129525},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%206.49.04%20PM.png",[41,129527,129186],{"id":128907},[48,129529,129531],{"id":129530},"send-screen","Send screen",[34,129533,129507],{},[34,129535,129510],{},[34,129537,129538],{},[241,129539],{"alt":14,"src":129540},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%206.50.39%20PM.png",[48,129542,2133],{"id":129543},"confirm-transaction-details-1",[34,129545,129520],{},[34,129547,129548],{},[241,129549],{"alt":14,"src":129550},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%206.52.02%20PM.png",{"title":14,"searchDepth":15,"depth":15,"links":129552},[129553,129557],{"id":128825,"depth":15,"text":128826,"children":129554},[129555,129556],{"id":129503,"depth":154,"text":129504},{"id":2132,"depth":154,"text":2133},{"id":128907,"depth":15,"text":129186,"children":129558},[129559,129560],{"id":129530,"depth":154,"text":129531},{"id":129543,"depth":154,"text":2133},"An in-depth guide for how to Send Beam coins from your web wallet.",{},"\u002Fdocs\u002Fweb-wallet\u002Fsending-beam",{"title":3766,"description":129561},"docs\u002Fweb-wallet\u002Fsending-beam","QT43OmFq9tvpaFD_gBliZ97DHIGCUlT2VlXk7N-k-Ps",{"id":129568,"title":363,"body":129569,"description":129771,"extension":17,"image":18,"meta":129772,"navTitle":18,"navigation":20,"path":129773,"seo":129774,"stem":129775,"__hash__":129776},"docs\u002Fdocs\u002Fweb-wallet\u002Fsettings.md",{"type":8,"value":129570,"toc":129751},[129571,129573,129578,129580,129584,129589,129593,129596,129611,129613,129616,129621,129623,129626,129631,129633,129636,129641,129644,129651,129656,129660,129663,129668,129670,129673,129678,129681,129683,129695,129700,129703,129705,129710,129712,129714,129719,129722,129724,129729,129732,129736,129741,129744,129746],[11,129572,363],{"id":111813},[34,129574,129575],{},[100,129576,129577],{},"Find your Beam Wallet settings by clicking the action menu and selecting \"settings\".",[41,129579,128826],{"id":128825},[48,129581,129583],{"id":129582},"select-settings-from-the-action-menu","Select 'Settings' from the Action Menu",[34,129585,129586],{},[241,129587],{"alt":14,"src":129588},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%207.24.54%20PM.png",[48,129590,129592],{"id":129591},"settings-screen","Settings Screen",[34,129594,129595],{},"The setting options of your Beam web wallet are:",[852,129597,129598,129601,129603,129605,129608],{},[59,129599,129600],{},"General,",[59,129602,1431],{},[59,129604,114679],{},[59,129606,129607],{},"Report a problem",[59,129609,129610],{},"Remove current wallet",[48,129612,17301],{"id":17300},[34,129614,129615],{},"\"General\" settings functionality is limited to clearing your local wallet data. Delete session logs, transactions from this menu.",[34,129617,129618],{},[241,129619],{"alt":14,"src":129620},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%207.26.05%20PM%20(1).png",[48,129622,1431],{"id":1430},[34,129624,129625],{},"Add an extra layer of protection to your web wallet by requiring re-entering your password for every Send transaction.",[34,129627,129628],{},[241,129629],{"alt":14,"src":129630},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-01%20at%207.26.05%20PM.png",[48,129632,114679],{"id":114765},[34,129634,129635],{},"Earn some Beam from the Beam Community Faucet or view \"payment proof\" to verify transactions.",[34,129637,129638],{},[241,129639],{"alt":14,"src":129640},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-02%20at%204.45.17%20PM.png",[48,129642,114712],{"id":129643},"report-a-problem",[34,129645,129646,129647,181],{},"Report any Bugs or contact the Beam support team to submit session logs through the \"Report a problem\" menu. When reporting a problem, carefully read the pop-up menu instructions on how to submit your issue to ",[175,129648,129650],{"href":129649},"mailto:support%40beam.mw","Beam Support",[34,129652,129653],{},[241,129654],{"alt":14,"src":129655},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-02%20at%204.47.44%20PM.png",[48,129657,129659],{"id":129658},"remove-current-wallet","Remove Current Wallet",[34,129661,129662],{},"Delete your current wallet from the Beam network on this menu. Back up any metadata you wish to save before deleting your wallet.",[34,129664,129665],{},[241,129666],{"alt":14,"src":129667},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-02%20at%204.48.28%20PM.png",[41,129669,129186],{"id":128907},[48,129671,129672],{"id":129582},"Select 'Settings' from the Action  Menu",[34,129674,129675],{},[241,129676],{"alt":14,"src":129677},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-02%20at%204.50.09%20PM.png",[48,129679,129592],{"id":129680},"settings-screen-1",[34,129682,129595],{},[852,129684,129685,129687,129689,129691,129693],{},[59,129686,129600],{},[59,129688,1431],{},[59,129690,114679],{},[59,129692,129607],{},[59,129694,129610],{},[34,129696,129697],{},[241,129698],{"alt":14,"src":129699},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-02%20at%204.53.16%20PM.png",[48,129701,17301],{"id":129702},"general-1",[34,129704,129615],{},[34,129706,129707],{},[241,129708],{"alt":14,"src":129709},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-02%20at%204.54.20%20PM.png",[48,129711,1431],{"id":119287},[34,129713,129625],{},[34,129715,129716],{},[241,129717],{"alt":14,"src":129718},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-02%20at%204.55.10%20PM.png",[48,129720,114679],{"id":129721},"utilities-1",[34,129723,129635],{},[34,129725,129726],{},[241,129727],{"alt":14,"src":129728},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-02%20at%204.57.05%20PM.png",[48,129730,114712],{"id":129731},"report-a-problem-1",[34,129733,129646,129734,181],{},[175,129735,129650],{"href":129649},[34,129737,129738],{},[241,129739],{"alt":14,"src":129740},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-02%20at%204.59.17%20PM.png",[48,129742,129659],{"id":129743},"remove-current-wallet-1",[34,129745,129662],{},[34,129747,129748],{},[241,129749],{"alt":14,"src":129750},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-02%20at%205.00.19%20PM.png",{"title":14,"searchDepth":15,"depth":15,"links":129752},[129753,129762],{"id":128825,"depth":15,"text":128826,"children":129754},[129755,129756,129757,129758,129759,129760,129761],{"id":129582,"depth":154,"text":129583},{"id":129591,"depth":154,"text":129592},{"id":17300,"depth":154,"text":17301},{"id":1430,"depth":154,"text":1431},{"id":114765,"depth":154,"text":114679},{"id":129643,"depth":154,"text":114712},{"id":129658,"depth":154,"text":129659},{"id":128907,"depth":15,"text":129186,"children":129763},[129764,129765,129766,129767,129768,129769,129770],{"id":129582,"depth":154,"text":129672},{"id":129680,"depth":154,"text":129592},{"id":129702,"depth":154,"text":17301},{"id":119287,"depth":154,"text":1431},{"id":129721,"depth":154,"text":114679},{"id":129731,"depth":154,"text":114712},{"id":129743,"depth":154,"text":129659},"An overview the different settings you can adjust in your Beam web wallet.",{},"\u002Fdocs\u002Fweb-wallet\u002Fsettings",{"title":363,"description":129771},"docs\u002Fweb-wallet\u002Fsettings","peESnNrNLMTTvCg6bh5vI0JSd4_1UKeNQkPaydVBIfw",{"id":129778,"title":90640,"body":129779,"description":129836,"extension":17,"image":18,"meta":129837,"navTitle":18,"navigation":20,"path":129838,"seo":129839,"stem":129840,"__hash__":129841},"docs\u002Fdocs\u002Fweb-wallet\u002Futxo.md",{"type":8,"value":129780,"toc":129832},[129781,129783,129786,129791,129808,129813,129816,129819,129824,129827],[11,129782,90640],{"id":113650},[34,129784,129785],{},"UTXO (Unspent Transaction (TX) Output) is like a banknote of a specific amount. Simply said, if Beam is the currency, any UTXO can be considered a ‘bill’. You can have multiple ‘bills’ in your wallet at the same time. The UXTO represents the amount of cryptocurrency left after each transaction which then records the input for new transactions. Remaining outputs in your Beam web wallet can be found in the \"UTXO\" (swap icon) button of your wallet dashboard.",[34,129787,129788],{},[100,129789,129790],{},"View the UTXOs controlled by your wallet on the UTXO dashboard. UTXOs have two types:",[852,129792,129793,129800],{},[59,129794,129795],{},[100,129796,129797,129799],{},[37,129798,113525],{},": UTXO received during a transaction. Immediately available for spending.",[59,129801,129802],{},[100,129803,129804,129807],{},[37,129805,129806],{},"Change:"," UTXO leftover from a transaction or the \"change.\" Immediately available for spending.",[34,129809,129810],{},[100,129811,129812],{},"Each UTXO type can undergo several transaction statuses (Available, In progress, Spent, Unavailable) labeled on each UTXO.",[48,129814,129815],{"id":128825},"Full Browser View",[34,129817,129818],{},"See how finished UTXO types, transaction statuses and available cash appears in the UXTO dashboard in the screenshots below. Select a specific UTXO to view more transaction details (this function is available on full browser view).",[34,129820,129821],{},[241,129822],{"alt":14,"src":129823},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-02%20at%203.14.09%20PM.png",[48,129825,129826],{"id":128907},"Extension View",[34,129828,129829],{},[241,129830],{"alt":14,"src":129831},".gitbook\u002Fassets\u002FScreen%20Shot%202021-06-02%20at%203.17.10%20PM.png",{"title":14,"searchDepth":15,"depth":15,"links":129833},[129834,129835],{"id":128825,"depth":154,"text":129815},{"id":128907,"depth":154,"text":129826},"In this article, we will cover how UTXO's function within the Beam ecosystem.",{},"\u002Fdocs\u002Fweb-wallet\u002Futxo",{"title":90640,"description":129836},"docs\u002Fweb-wallet\u002Futxo","jtkYMIyU-K1-aYgZTZdY00HJrGgoEvMfnl2HZVqKfwE",1783005986312]