]> Untitled Git - bitcoindevkit.org/commitdiff
Upgrade `bdk` to `fe7ecd3` in the playground
authorAlekos Filini <alekos.filini@gmail.com>
Wed, 18 Nov 2020 09:59:01 +0000 (10:59 +0100)
committerAlekos Filini <alekos.filini@gmail.com>
Wed, 18 Nov 2020 09:59:01 +0000 (10:59 +0100)
playground/Cargo.toml
playground/src/lib.rs
static/repl/playground/2.playground.js
static/repl/playground/74f849ea1538325b0b73.module.wasm [deleted file]
static/repl/playground/d4b42e8d4f6b6e2303cf.module.wasm [new file with mode: 0644]
static/repl/playground/playground.js

index 20619b7e90c8c8ce6da33d3860a8e568103c9de7..1f0e88d7bec6db00de862e0434144dd40b560180 100644 (file)
@@ -11,7 +11,7 @@ crate-type = ["cdylib", "rlib"]
 default = ["console_error_panic_hook"]
 
 [dependencies]
-rand = { version = "0.6", features = ["wasm-bindgen"] }
+wee_alloc = "0.4"
 wasm-bindgen = "0.2"
 wasm-bindgen-futures = "0.4"
 js-sys = "0.3"
@@ -19,7 +19,7 @@ log = "0.4"
 console_log = "0.2"
 clap = "2.33"
 secp256k1 = { version = "0.17", features = ["rand"] }
-bdk = { git = "https://github.com/BitcoinDevKit/bdk.git", rev = "33a5ba6", default-features = false, features = ["esplora", "cli-utils", "compiler"] }
+bdk = { git = "https://github.com/BitcoinDevKit/bdk.git", rev = "fe7ecd3", default-features = false, features = ["esplora", "cli-utils", "compiler"] }
 serde = { version = "^1.0", features = ["derive"] }
 serde_json = { version = "^1.0" }
 
@@ -29,10 +29,6 @@ serde_json = { version = "^1.0" }
 # code size when deploying.
 console_error_panic_hook = { version = "0.1.1", optional = true }
 
-[patch.crates-io]
-bitcoin = { git = "https://github.com/rust-bitcoin/rust-bitcoin/", rev = "478e091" }
-miniscript = { git = "https://github.com/MagicalBitcoin/rust-miniscript", branch = "descriptor-public-key" }
-
 [dev-dependencies]
 wasm-bindgen-test = "0.2"
 
index d80229940b2f77f8490bac44295cf2ce7a0a9f63..ba2f1a7f22f6766ba14bf5a9ab2b9c7d3c160715 100644 (file)
@@ -6,8 +6,6 @@ use js_sys::Promise;
 use wasm_bindgen::prelude::*;
 use wasm_bindgen_futures::future_to_promise;
 
-use rand::Rng;
-
 use log::{debug, info};
 
 use serde::Deserialize;
@@ -15,8 +13,9 @@ use serde::Deserialize;
 use clap::AppSettings;
 
 use bdk::bitcoin;
-use bdk::database::memory::MemoryDatabase;
 use bdk::blockchain::EsploraBlockchain;
+use bdk::database::memory::MemoryDatabase;
+use bdk::keys::{GeneratableDefaultOptions, GeneratedKey};
 use bdk::miniscript;
 use bdk::*;
 
@@ -27,9 +26,6 @@ use miniscript::Descriptor;
 
 mod utils;
 
-// When the `wee_alloc` feature is enabled, use `wee_alloc` as the global
-// allocator.
-#[cfg(feature = "wee_alloc")]
 #[global_allocator]
 static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT;
 
@@ -71,7 +67,7 @@ impl WalletWrapper {
             MemoryDatabase::new(),
             blockchain,
         )
-            .await
+        .await
         .map_err(|e| format!("{:?}", e))?;
 
         Ok(WalletWrapper {
@@ -111,20 +107,22 @@ impl Alias {
     fn into_key(self) -> String {
         match self {
             Alias::GenWif => {
-                let key = secp256k1::key::SecretKey::new(&mut rand::thread_rng());
-                let sk = bitcoin::util::key::PrivateKey {
-                    compressed: true,
-                    network: Network::Testnet,
-                    key,
-                };
-
-                sk.to_wif()
+                let generated: GeneratedKey<bitcoin::PrivateKey, miniscript::Legacy> =
+                    GeneratableDefaultOptions::generate_default().unwrap();
+
+                let mut key = generated.into_key();
+                key.network = Network::Testnet;
+
+                key.to_wif()
             }
             Alias::GenExt { extra: path } => {
-                let seed = rand::thread_rng().gen::<[u8; 32]>();
-                let xprv =
-                    bitcoin::util::bip32::ExtendedPrivKey::new_master(Network::Testnet, &seed)
-                        .unwrap();
+                let generated: GeneratedKey<
+                    bitcoin::util::bip32::ExtendedPrivKey,
+                    miniscript::Legacy,
+                > = GeneratableDefaultOptions::generate_default().unwrap();
+
+                let mut xprv = generated.into_key();
+                xprv.network = Network::Testnet;
 
                 format!("{}{}", xprv, path)
             }
index 0a6ad38652b6bd62d560b991ef5d14543adfe678..6b1a6d8f88e7769b01aa4b88bbe32e3a9d1a2c14 100644 (file)
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{1:function(e,n,t){"use strict";t.r(n);var r=t(2),o=t(4),i=t.n(o),a={backupBlocks_:function(e){if("localStorage"in window){var n=i.a.Xml.workspaceToDom(e),t=window.location.href.split("#")[0];window.localStorage.setItem(t,i.a.Xml.domToText(n))}},backupOnUnload:function(e){var n=e||i.a.getMainWorkspace();window.addEventListener("unload",(function(){a.backupBlocks_(n)}),!1)},restoreBlocks:function(e){var n=window.location.href.split("#")[0];if("localStorage"in window&&window.localStorage[n]){var t=e||i.a.getMainWorkspace(),r=i.a.Xml.textToDom(window.localStorage[n]);i.a.Xml.domToWorkspace(r,t)}},link:function(e){var n=e||i.a.getMainWorkspace(),t=i.a.Xml.workspaceToDom(n,!0);if(1==n.getTopBlocks(!1).length&&t.querySelector){var r=t.querySelector("block");r&&(r.removeAttribute("x"),r.removeAttribute("y"))}var o=i.a.Xml.domToText(t);a.makeRequest_("/storage","xml",o,n)},retrieveXml:function(e,n){var t=n||i.a.getMainWorkspace();a.makeRequest_("/storage","key",e,t)},httpRequest_:null,makeRequest_:function(e,n,t,r){a.httpRequest_&&a.httpRequest_.abort(),a.httpRequest_=new XMLHttpRequest,a.httpRequest_.name=n,a.httpRequest_.onreadystatechange=a.handleRequest_,a.httpRequest_.open("POST",e),a.httpRequest_.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),a.httpRequest_.send(n+"="+encodeURIComponent(t)),a.httpRequest_.workspace=r},handleRequest_:function(){if(4==a.httpRequest_.readyState){if(200!=a.httpRequest_.status)a.alert(a.HTTPREQUEST_ERROR+"\nhttpRequest_.status: "+a.httpRequest_.status);else{var e=a.httpRequest_.responseText.trim();"xml"==a.httpRequest_.name?(window.location.hash=e,a.alert(a.LINK_ALERT.replace("%1",window.location.href))):"key"==a.httpRequest_.name&&(e.length?a.loadXml_(e,a.httpRequest_.workspace):a.alert(a.HASH_ERROR.replace("%1",window.location.hash))),a.monitorChanges_(a.httpRequest_.workspace)}a.httpRequest_=null}},monitorChanges_:function(e){var n=i.a.Xml.workspaceToDom(e),t=i.a.Xml.domToText(n);e.addChangeListener((function n(){var r=i.a.Xml.workspaceToDom(e),o=i.a.Xml.domToText(r);t!=o&&(window.location.hash="",e.removeChangeListener(n))}))},loadXml_:function(e,n){try{e=i.a.Xml.textToDom(e)}catch(n){return void a.alert(a.XML_ERROR+"\nXML: "+e)}n.clear(),i.a.Xml.domToWorkspace(e,n)},alert:function(e){window.alert(e)}},l=a;!async function(){Object(r.xb)(),function(e,n){console.log("Blockly starting");const t=document.getElementById(n);i.a.JavaScript.INDENT="";var r={toolbox:'<xml xmlns="https://developers.google.com/blockly/xml">\n  <category name="Miniscript" colour="#5ba55b">\n    <block type="and"></block>\n    <block type="or">\n      <field name="A_weight">1</field>\n      <field name="B_weight">1</field>\n    </block>\n    <block type="thresh">\n      <field name="Threshold">1</field>\n    </block>\n    <block type="after">\n      <field name="NAME">1</field>\n    </block>\n    <block type="pk"></block>\n    <block type="adapter"></block>\n    <block type="older">\n      <field name="NAME">1</field>\n    </block>\n    <block type="alias_key">\n      <field name="label">Alias</field>\n      <field name="name">name</field>\n    </block>\n    <block type="existing_key">\n      <field name="NAME">Existing Key</field>\n      <field name="key">tpub, WIF, hex...</field>\n    </block>\n  </category>\n  <category name="Examples" colour="#5b67a5">\n    <block type="pk">\n      <value name="pk">\n        <block type="alias_key">\n          <field name="label">Alias</field>\n          <field name="name">Alice</field>\n        </block>\n      </value>\n    </block>\n    <block type="or">\n      <field name="A_weight">1</field>\n      <field name="B_weight">1</field>\n      <statement name="A">\n        <block type="pk">\n          <value name="pk">\n            <block type="alias_key">\n              <field name="label">Alias</field>\n              <field name="name">Alice</field>\n            </block>\n          </value>\n        </block>\n      </statement>\n      <statement name="B">\n        <block type="pk">\n          <value name="pk">\n            <block type="alias_key">\n              <field name="label">Alias</field>\n              <field name="name">Bob</field>\n            </block>\n          </value>\n        </block>\n      </statement>\n    </block>\n    <block type="or">\n      <field name="A_weight">99</field>\n      <field name="B_weight">1</field>\n      <statement name="A">\n        <block type="pk">\n          <value name="pk">\n            <block type="alias_key">\n              <field name="label">Alias</field>\n              <field name="name">KeyLikely</field>\n            </block>\n          </value>\n        </block>\n      </statement>\n      <statement name="B">\n        <block type="pk">\n          <value name="pk">\n            <block type="alias_key">\n              <field name="label">Alias</field>\n              <field name="name">Likely</field>\n            </block>\n          </value>\n        </block>\n      </statement>\n    </block>\n    <block type="and">\n      <statement name="A">\n        <block type="pk">\n          <value name="pk">\n            <block type="alias_key">\n              <field name="label">Alias</field>\n              <field name="name">User</field>\n            </block>\n          </value>\n        </block>\n      </statement>\n      <statement name="B">\n        <block type="or">\n          <field name="A_weight">99</field>\n          <field name="B_weight">1</field>\n          <statement name="A">\n            <block type="pk">\n              <value name="pk">\n                <block type="alias_key">\n                  <field name="label">Alias</field>\n                  <field name="name">Service</field>\n                </block>\n              </value>\n            </block>\n          </statement>\n          <statement name="B">\n            <block type="older">\n              <field name="NAME">12960</field>\n            </block>\n          </statement>\n        </block>\n      </statement>\n    </block>\n    <block type="thresh">\n      <field name="Threshold">3</field>\n      <statement name="A">\n        <block type="adapter">\n          <statement name="NAME">\n            <block type="pk">\n              <value name="pk">\n                <block type="alias_key">\n                  <field name="label">Alias</field>\n                  <field name="name">Alice</field>\n                </block>\n              </value>\n            </block>\n          </statement>\n          <next>\n            <block type="adapter">\n              <statement name="NAME">\n                <block type="pk">\n                  <value name="pk">\n                    <block type="alias_key">\n                      <field name="label">Alias</field>\n                      <field name="name">Bob</field>\n                    </block>\n                  </value>\n                </block>\n              </statement>\n              <next>\n                <block type="adapter">\n                  <statement name="NAME">\n                    <block type="pk">\n                      <value name="pk">\n                        <block type="alias_key">\n                          <field name="label">Alias</field>\n                          <field name="name">Carol</field>\n                        </block>\n                      </value>\n                    </block>\n                  </statement>\n                  <next>\n                    <block type="adapter">\n                      <statement name="NAME">\n                        <block type="older">\n                          <field name="NAME">12960</field>\n                        </block>\n                      </statement>\n                    </block>\n                  </next>\n                </block>\n              </next>\n            </block>\n          </next>\n        </block>\n      </statement>\n    </block>\n  </category>\n</xml>',collapse:!0,comments:!0,disable:!0,maxBlocks:1/0,trashcan:!0,horizontalLayout:!0,toolboxPosition:"start",css:!0,media:"https://blockly-demo.appspot.com/static/media/",rtl:!1,scrollbars:!0,sounds:!0,oneBasedIndex:!0,grid:{spacing:20,length:1,colour:"#888",snap:!0}};i.a.Blocks.pk={init:function(){this.appendValueInput("pk").setCheck("key").appendField("Key"),this.setPreviousStatement(!0,"policy"),this.setColour(260),this.setTooltip("Requires a signature with a given public key"),this.setHelpUrl("")}},i.a.Blocks.begin={init:function(){this.appendDummyInput().appendField("Begin"),this.setNextStatement(!0,"policy"),this.setColour(160),this.setTooltip("Sets the beginning of the policy"),this.setHelpUrl("")}},i.a.Blocks.existing_key={init:function(){this.appendDummyInput().appendField(new i.a.FieldLabelSerializable("Existing Key"),"NAME").appendField(new i.a.FieldTextInput("tpub, WIF, hex..."),"key"),this.setOutput(!0,"key"),this.setColour(120),this.setTooltip("Sets the value of a key to an existing WIF key, xpub or hex public key"),this.setHelpUrl("")}},i.a.Blocks.alias_key={init:function(){this.appendDummyInput().appendField(new i.a.FieldLabelSerializable("Alias"),"label").appendField(new i.a.FieldTextInput("name"),"name"),this.setOutput(!0,"key"),this.setColour(120),this.setTooltip("Sets the value of a key to an alias"),this.setHelpUrl("")}},i.a.Blocks.thresh={init:function(){this.appendDummyInput().appendField("Threshold").appendField(new i.a.FieldNumber(1,1,1/0,1),"Threshold"),this.appendStatementInput("A").setCheck("thresh").appendField("Policies"),this.setPreviousStatement(!0,"policy"),this.setColour(230),this.setTooltip("Creates a threshold element (m-of-n), where the 'm' field is manually set and 'n' is implied by the number of sub-policies added. Requies all of its children to be wrapped in the 'Entry' block"),this.setHelpUrl("")}},i.a.Blocks.older={init:function(){this.appendDummyInput().appendField("Older").appendField(new i.a.FieldNumber(1,1,1/0,1),"NAME"),this.setPreviousStatement(!0,"policy"),this.setColour(20),this.setTooltip("Requires waiting a number of blocks from the confirmation height of a UTXO before it becomes spendable"),this.setHelpUrl("")}},i.a.Blocks.after={init:function(){this.appendDummyInput().appendField("After").appendField(new i.a.FieldNumber(1,1,1/0,1),"NAME"),this.setPreviousStatement(!0,"policy"),this.setColour(20),this.setTooltip("Requires the blockchain to reach a specific block height before the UTXO becomes spendable"),this.setHelpUrl("")}},i.a.Blocks.adapter={init:function(){this.appendStatementInput("NAME").setCheck("policy").appendField("Entry"),this.setPreviousStatement(!0,"thresh"),this.setNextStatement(!0,"thresh"),this.setColour(290),this.setTooltip("Adapter used to stack policies into 'Threshold' blocks"),this.setHelpUrl("")}},i.a.Blocks.and={init:function(){this.appendStatementInput("A").setCheck("policy"),this.appendDummyInput().appendField("AND"),this.appendStatementInput("B").setCheck("policy"),this.setPreviousStatement(!0,"policy"),this.setColour(230),this.setTooltip("Requires both sub-policies to be satisfied"),this.setHelpUrl("")}},i.a.Blocks.or={init:function(){this.appendStatementInput("A").setCheck("policy").appendField("Weight").appendField(new i.a.FieldNumber(1,1),"A_weight"),this.appendDummyInput().appendField("OR"),this.appendStatementInput("B").setCheck("policy").appendField("Weight").appendField(new i.a.FieldNumber(1,1),"B_weight"),this.setPreviousStatement(!0,"policy"),this.setColour(230),this.setTooltip("Requires either one of the two sub-policies to be satisfied. Weights can be used to indicate the relative probability of each sub-policy"),this.setHelpUrl("")}},i.a.JavaScript.begin=function(e){return""},i.a.JavaScript.pk=function(e){if(!e.getParent())return"";var n=i.a.JavaScript.valueToCode(e,"pk",i.a.JavaScript.ORDER_ATOMIC);return""==n&&(n="()"),"pk"+n},i.a.JavaScript.existing_key=function(e){return e.getParent()?[e.getFieldValue("key"),i.a.JavaScript.ORDER_NONE]:["",i.a.JavaScript.ORDER_NONE]},i.a.JavaScript.alias_key=function(e){return e.getParent()?[e.getFieldValue("name"),i.a.JavaScript.ORDER_NONE]:["",i.a.JavaScript.ORDER_NONE]},i.a.JavaScript.thresh=function(e){return"thresh("+e.getFieldValue("Threshold")+","+i.a.JavaScript.statementToCode(e,"A")+")"},i.a.JavaScript.older=function(e){return e.getParent()?"older("+e.getFieldValue("NAME")+")":""},i.a.JavaScript.after=function(e){return e.getParent()?"after("+e.getFieldValue("NAME")+")":""},i.a.JavaScript.adapter=function(e){return e.getParent()?i.a.JavaScript.statementToCode(e,"NAME")+(e.getNextBlock()?",":""):""},i.a.JavaScript.and=function(e){return e.getParent()?"and("+i.a.JavaScript.statementToCode(e,"A")+","+i.a.JavaScript.statementToCode(e,"B")+")":""},i.a.JavaScript.or=function(e){if(!e.getParent())return"";var n=e.getFieldValue("A_weight");"1"==n?n="":n+="@";var t=i.a.JavaScript.statementToCode(e,"A"),r=e.getFieldValue("B_weight");return"1"==r?r="":r+="@","or("+n+t+","+r+i.a.JavaScript.statementToCode(e,"B")+")"};var o=i.a.inject(e,r);o.addChangeListener((function(e){t.value=i.a.JavaScript.workspaceToCode(o)})),o.addChangeListener(i.a.Events.disableOrphans),setTimeout(()=>{if(l.restoreBlocks(),0==o.getTopBlocks().length){var e=o.newBlock("begin");e.setDeletable(!1),e.setEditable(!1),e.moveBy(20,20),e.initSvg(),e.render()}const n=document.createElement("span");n.innerHTML='<i class="fas fa-expand"></i>',n.style.float="right",n.style["margin-right"]="10px";let t=!1;n.onclick=function(){t?document.exitFullscreen():document.getElementById("blocklyDiv").requestFullscreen(),t=!t},document.getElementsByClassName("blocklyToolboxDiv")[0].appendChild(n)},0),l.backupOnUnload()}("blocklyDiv","policy");let e=null;document.getElementById("stdin").disabled=!0;const n=document.getElementById("start_button"),t=document.getElementById("stop_button"),o=document.getElementById("start_message");n.disabled=!1,t.disabled=!0;const a=document.getElementById("descriptor"),u=document.getElementById("change_descriptor");n.onclick=i=>{0!=a.value.length&&(i.preventDefault(),async function(e,n){const t=document.getElementById("stdout"),o=document.getElementById("stdin");o.disabled=!1;const i=[];let a=0;const l=await new r.a("testnet",e,n,"https://blockstream.info/testnet/api"),u=e=>{if("clear"!=e)return o.disabled=!0,t.innerHTML.length>0&&(t.innerHTML+="\n"),t.innerHTML+=`<span class="command">> ${e}</span>\n`,a=i.push(e),l.run(e).then(e=>{e&&(t.innerHTML+=`<span class="success">${e}</span>\n`)}).catch(e=>t.innerHTML+=`<span class="error">${e}</span>\n`).finally(()=>{o.disabled=!1,t.scrollTop=t.scrollHeight-t.clientHeight});t.innerHTML=""};return o.onkeydown=e=>{if("Enter"==e.key){if(0==o.value.length)return;u(o.value),o.value="",e.preventDefault()}else"ArrowUp"==e.key?a>0&&(o.value=i[--a]):"ArrowDown"==e.key&&a<i.length&&(o.value=i[++a]||"")},{run:u}}(a.value,u.value.length>0?u.value:null).then(r=>{n.disabled=!0,a.disabled=!0,u.disabled=!0,o.innerHTML="Wallet created, running `sync`...",r.run("sync").then(()=>o.innerHTML="Ready!"),e=r,t.disabled=!1}).catch(e=>o.innerHTML=`<span class="error">${e}</span>`))},t.onclick=r=>{null!=e&&(r.preventDefault(),e.free(),o.innerHTML="Wallet instance destroyed",n.disabled=!1,t.disabled=!0,a.disabled=!1,u.disabled=!1)};const c=document.getElementById("policy"),s=document.getElementById("compiler_script_type"),d=document.getElementById("compiler_output");document.getElementById("compile_button").onclick=e=>{if(0==c.value.length)return;e.preventDefault();const n=!e.target.form.elements.namedItem("alias").length;let t=e.target.form.elements.namedItem("alias"),o=e.target.form.elements.namedItem("type"),i=e.target.form.elements.namedItem("extra");n?(t=[t],o=[o],i=[i]):(t=Array.from(t),o=Array.from(o),i=Array.from(i));const a={};t.forEach(e=>{const n=o.filter(n=>n.attributes["data-index"].value==e.attributes["data-index"].value)[0].value,t=i.filter(n=>n.attributes["data-index"].value==e.attributes["data-index"].value)[0].value,r=e.value;a[r]={type:n,extra:t}}),Object(r.wb)(c.value,JSON.stringify(a),s.value).then(e=>d.innerHTML=e).catch(e=>d.innerHTML=`<span class="error">${e}</span>`)}}()},12:function(e,n,t){"use strict";var r=t.w[e.i];e.exports=r;t(2);r.n()},13:function(e,n){function t(e){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}t.keys=function(){return[]},t.resolve=t,e.exports=t,t.id=13},2:function(e,n,t){"use strict";(function(e){t.d(n,"xb",(function(){return w})),t.d(n,"wb",(function(){return _})),t.d(n,"a",(function(){return S})),t.d(n,"sb",(function(){return E})),t.d(n,"gb",(function(){return x})),t.d(n,"ub",(function(){return R})),t.d(n,"F",(function(){return B})),t.d(n,"Y",(function(){return F})),t.d(n,"n",(function(){return I})),t.d(n,"ob",(function(){return N})),t.d(n,"U",(function(){return q})),t.d(n,"R",(function(){return C})),t.d(n,"k",(function(){return M})),t.d(n,"B",(function(){return D})),t.d(n,"nb",(function(){return O})),t.d(n,"q",(function(){return H})),t.d(n,"t",(function(){return J})),t.d(n,"Q",(function(){return L})),t.d(n,"Z",(function(){return U})),t.d(n,"p",(function(){return P})),t.d(n,"rb",(function(){return X})),t.d(n,"l",(function(){return j})),t.d(n,"o",(function(){return W})),t.d(n,"w",(function(){return V})),t.d(n,"A",(function(){return $})),t.d(n,"hb",(function(){return K})),t.d(n,"L",(function(){return z})),t.d(n,"x",(function(){return Q})),t.d(n,"eb",(function(){return G})),t.d(n,"ab",(function(){return Y})),t.d(n,"v",(function(){return Z})),t.d(n,"e",(function(){return ee})),t.d(n,"bb",(function(){return ne})),t.d(n,"K",(function(){return te})),t.d(n,"E",(function(){return re})),t.d(n,"d",(function(){return oe})),t.d(n,"c",(function(){return ie})),t.d(n,"G",(function(){return ae})),t.d(n,"b",(function(){return le})),t.d(n,"C",(function(){return ue})),t.d(n,"i",(function(){return ce})),t.d(n,"pb",(function(){return se})),t.d(n,"V",(function(){return de})),t.d(n,"j",(function(){return fe})),t.d(n,"r",(function(){return pe})),t.d(n,"S",(function(){return me})),t.d(n,"s",(function(){return be})),t.d(n,"P",(function(){return he})),t.d(n,"ib",(function(){return ke})),t.d(n,"lb",(function(){return ye})),t.d(n,"mb",(function(){return ge})),t.d(n,"N",(function(){return ve})),t.d(n,"m",(function(){return we})),t.d(n,"fb",(function(){return _e})),t.d(n,"y",(function(){return Te})),t.d(n,"g",(function(){return Ae})),t.d(n,"h",(function(){return Se})),t.d(n,"M",(function(){return Ee})),t.d(n,"O",(function(){return xe})),t.d(n,"D",(function(){return Re})),t.d(n,"I",(function(){return Be})),t.d(n,"T",(function(){return Fe})),t.d(n,"db",(function(){return Ie})),t.d(n,"cb",(function(){return Ne})),t.d(n,"f",(function(){return qe})),t.d(n,"J",(function(){return Ce})),t.d(n,"H",(function(){return Me})),t.d(n,"X",(function(){return De})),t.d(n,"z",(function(){return Oe})),t.d(n,"u",(function(){return He})),t.d(n,"W",(function(){return Je})),t.d(n,"tb",(function(){return Le})),t.d(n,"kb",(function(){return Ue})),t.d(n,"vb",(function(){return Pe})),t.d(n,"qb",(function(){return Xe})),t.d(n,"jb",(function(){return je}));var r=t(12);const o=new Array(32).fill(void 0);function i(e){return o[e]}o.push(void 0,null,!0,!1);let a=o.length;function l(e){const n=i(e);return function(e){e<36||(o[e]=a,a=e)}(e),n}let u=new("undefined"==typeof TextDecoder?(0,e.require)("util").TextDecoder:TextDecoder)("utf-8",{ignoreBOM:!0,fatal:!0});u.decode();let c=null;function s(){return null!==c&&c.buffer===r.j.buffer||(c=new Uint8Array(r.j.buffer)),c}function d(e,n){return u.decode(s().subarray(e,e+n))}function f(e){a===o.length&&o.push(o.length+1);const n=a;return a=o[n],o[n]=e,n}let p=0;let m=new("undefined"==typeof TextEncoder?(0,e.require)("util").TextEncoder:TextEncoder)("utf-8");const b="function"==typeof m.encodeInto?function(e,n){return m.encodeInto(e,n)}:function(e,n){const t=m.encode(e);return n.set(t),{read:e.length,written:t.length}};function h(e,n,t){if(void 0===t){const t=m.encode(e),r=n(t.length);return s().subarray(r,r+t.length).set(t),p=t.length,r}let r=e.length,o=n(r);const i=s();let a=0;for(;a<r;a++){const n=e.charCodeAt(a);if(n>127)break;i[o+a]=n}if(a!==r){0!==a&&(e=e.slice(a)),o=t(o,r,r=a+3*e.length);const n=s().subarray(o+a,o+r);a+=b(e,n).written}return p=a,o}let k=null;function y(){return null!==k&&k.buffer===r.j.buffer||(k=new Int32Array(r.j.buffer)),k}function g(e){return null==e}function v(e,n,t){r.g(e,n,f(t))}function w(){r.i()}function _(e,n,t){var o=h(e,r.e,r.f),i=p,a=h(n,r.e,r.f),u=p,c=h(t,r.e,r.f),s=p;return l(r.h(o,i,a,u,c,s))}function T(e){return function(){try{return e.apply(this,arguments)}catch(e){r.b(f(e))}}}function A(e,n){return s().subarray(e/1,e/1+n)}class S{static __wrap(e){const n=Object.create(S.prototype);return n.ptr=e,n}free(){const e=this.ptr;this.ptr=0,r.a(e)}constructor(e,n,t,o){var i=h(e,r.e,r.f),a=p,u=h(n,r.e,r.f),c=p,s=g(t)?0:h(t,r.e,r.f),d=p,f=h(o,r.e,r.f),m=p;return l(r.k(i,a,u,c,s,d,f,m))}run(e){var n=h(e,r.e,r.f),t=p;return l(r.l(this.ptr,n,t))}}const E=function(e){l(e)},x=function(e){return f(S.__wrap(e))},R=function(e,n){return f(d(e,n))},B=function(){return f(new Error)},F=function(e,n){var t=h(i(n).stack,r.e,r.f),o=p;y()[e/4+1]=o,y()[e/4+0]=t},I=function(e,n){try{console.error(d(e,n))}finally{r.d(e,n)}},N=function(e,n){const t=i(n);var o=h(JSON.stringify(void 0===t?null:t),r.e,r.f),a=p;y()[e/4+1]=a,y()[e/4+0]=o},q=T((function(){return f(self.self)})),C=function(e,n,t){return f(i(e).require(d(n,t)))},M=function(e){return f(i(e).crypto)},D=function(e){return f(i(e).msCrypto)},O=function(e){return void 0===i(e)},H=function(e){return f(i(e).getRandomValues)},J=function(e,n,t){i(e).getRandomValues(A(n,t))},L=function(e,n,t){i(e).randomFillSync(A(n,t))},U=function(){return f(e)},P=function(e){return f(fetch(i(e)))},X=function(e){return f(i(e))},j=function(e){console.debug(i(e))},W=function(e){console.error(i(e))},V=function(e){console.info(i(e))},$=function(e){console.log(i(e))},K=function(e){console.warn(i(e))},z=T((function(e,n){return f(new Blob(i(e),i(n)))})),Q=function(e){return i(e)instanceof Response},G=function(e,n){var t=h(i(n).url,r.e,r.f),o=p;y()[e/4+1]=o,y()[e/4+0]=t},Y=function(e){return i(e).status},Z=function(e){return f(i(e).headers)},ee=T((function(e){return f(i(e).arrayBuffer())})),ne=T((function(e){return f(i(e).text())})),te=T((function(e,n,t){return f(new Request(d(e,n),i(t)))})),re=T((function(){return f(new FormData)})),oe=T((function(e,n,t,r){i(e).append(d(n,t),i(r))})),ie=T((function(e,n,t,r,o,a){i(e).append(d(n,t),i(r),d(o,a))})),ae=T((function(){return f(new Headers)})),le=T((function(e,n,t,r,o){i(e).append(d(n,t),d(r,o))})),ue=function(e,n){return f(new Function(d(e,n)))},ce=function(e,n){return f(i(e).call(i(n)))},se=function(e,n){return i(e)===i(n)},de=function(e){return f(i(e).self)},fe=function(e){return f(i(e).crypto)},pe=function(e){return f(i(e).getRandomValues)},me=function(e,n){return f(t(13)(d(e,n)))},be=function(e,n,t){i(e).getRandomValues(A(n,t))},he=function(e,n,t){i(e).randomFillSync(A(n,t))},ke=function(e){const n=l(e).original;if(1==n.cnt--)return n.a=0,!0;return!1},ye=function(e){return"function"==typeof i(e)},ge=function(e){const n=i(e);return"object"==typeof n&&null!==n},ve=function(e){return f(i(e).next)},we=function(e){return i(e).done},_e=function(e){return f(i(e).value)},Te=function(){return f(Symbol.iterator)},Ae=T((function(e,n){return f(i(e).call(i(n)))})),Se=T((function(e,n,t){return f(i(e).call(i(n),i(t)))})),Ee=T((function(e){return f(i(e).next())})),xe=function(){return Date.now()},Re=function(){return f(new Object)},Be=function(e,n){try{var t={a:e,b:n},o=new Promise((e,n)=>{const o=t.a;t.a=0;try{return function(e,n,t,o){r.m(e,n,f(t),f(o))}(o,t.b,e,n)}finally{t.a=o}});return f(o)}finally{t.a=t.b=0}},Fe=function(e){return f(Promise.resolve(i(e)))},Ie=function(e,n){return f(i(e).then(i(n)))},Ne=function(e,n,t){return f(i(e).then(i(n),i(t)))},qe=function(e){return f(i(e).buffer)},Ce=function(e,n,t){return f(new Uint8Array(i(e),n>>>0,t>>>0))},Me=function(e){return f(new Uint8Array(i(e)))},De=function(e,n,t){i(e).set(i(n),t>>>0)},Oe=function(e){return i(e).length},He=T((function(e,n){return f(Reflect.get(i(e),i(n)))})),Je=T((function(e,n,t){return Reflect.set(i(e),i(n),i(t))})),Le=function(e,n){const t=i(n);var o="string"==typeof t?t:void 0,a=g(o)?0:h(o,r.e,r.f),l=p;y()[e/4+1]=l,y()[e/4+0]=a},Ue=function(e,n){var t=h(function e(n){const t=typeof n;if("number"==t||"boolean"==t||null==n)return""+n;if("string"==t)return`"${n}"`;if("symbol"==t){const e=n.description;return null==e?"Symbol":`Symbol(${e})`}if("function"==t){const e=n.name;return"string"==typeof e&&e.length>0?`Function(${e})`:"Function"}if(Array.isArray(n)){const t=n.length;let r="[";t>0&&(r+=e(n[0]));for(let o=1;o<t;o++)r+=", "+e(n[o]);return r+="]",r}const r=/\[object ([^\]]+)\]/.exec(toString.call(n));let o;if(!(r.length>1))return toString.call(n);if(o=r[1],"Object"==o)try{return"Object("+JSON.stringify(n)+")"}catch(e){return"Object"}return n instanceof Error?`${n.name}: ${n.message}\n${n.stack}`:o}(i(n)),r.e,r.f),o=p;y()[e/4+1]=o,y()[e/4+0]=t},Pe=function(e,n){throw new Error(d(e,n))},Xe=function(){return f(r.j)},je=function(e,n,t){return f(function(e,n,t,o){const i={a:e,b:n,cnt:1,dtor:t},a=(...e)=>{i.cnt++;const n=i.a;i.a=0;try{return o(n,i.b,...e)}finally{0==--i.cnt?r.c.get(i.dtor)(n,i.b):i.a=n}};return a.original=i,a}(e,n,1052,v))}}).call(this,t(11)(e))}}]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{1:function(e,n,t){"use strict";t.r(n);var i=t(2),o=t(4),r=t.n(o),a={backupBlocks_:function(e){if("localStorage"in window){var n=r.a.Xml.workspaceToDom(e),t=window.location.href.split("#")[0];window.localStorage.setItem(t,r.a.Xml.domToText(n))}},backupOnUnload:function(e){var n=e||r.a.getMainWorkspace();window.addEventListener("unload",(function(){a.backupBlocks_(n)}),!1)},restoreBlocks:function(e){var n=window.location.href.split("#")[0];if("localStorage"in window&&window.localStorage[n]){var t=e||r.a.getMainWorkspace(),i=r.a.Xml.textToDom(window.localStorage[n]);r.a.Xml.domToWorkspace(i,t)}},link:function(e){var n=e||r.a.getMainWorkspace(),t=r.a.Xml.workspaceToDom(n,!0);if(1==n.getTopBlocks(!1).length&&t.querySelector){var i=t.querySelector("block");i&&(i.removeAttribute("x"),i.removeAttribute("y"))}var o=r.a.Xml.domToText(t);a.makeRequest_("/storage","xml",o,n)},retrieveXml:function(e,n){var t=n||r.a.getMainWorkspace();a.makeRequest_("/storage","key",e,t)},httpRequest_:null,makeRequest_:function(e,n,t,i){a.httpRequest_&&a.httpRequest_.abort(),a.httpRequest_=new XMLHttpRequest,a.httpRequest_.name=n,a.httpRequest_.onreadystatechange=a.handleRequest_,a.httpRequest_.open("POST",e),a.httpRequest_.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),a.httpRequest_.send(n+"="+encodeURIComponent(t)),a.httpRequest_.workspace=i},handleRequest_:function(){if(4==a.httpRequest_.readyState){if(200!=a.httpRequest_.status)a.alert(a.HTTPREQUEST_ERROR+"\nhttpRequest_.status: "+a.httpRequest_.status);else{var e=a.httpRequest_.responseText.trim();"xml"==a.httpRequest_.name?(window.location.hash=e,a.alert(a.LINK_ALERT.replace("%1",window.location.href))):"key"==a.httpRequest_.name&&(e.length?a.loadXml_(e,a.httpRequest_.workspace):a.alert(a.HASH_ERROR.replace("%1",window.location.hash))),a.monitorChanges_(a.httpRequest_.workspace)}a.httpRequest_=null}},monitorChanges_:function(e){var n=r.a.Xml.workspaceToDom(e),t=r.a.Xml.domToText(n);e.addChangeListener((function n(){var i=r.a.Xml.workspaceToDom(e),o=r.a.Xml.domToText(i);t!=o&&(window.location.hash="",e.removeChangeListener(n))}))},loadXml_:function(e,n){try{e=r.a.Xml.textToDom(e)}catch(n){return void a.alert(a.XML_ERROR+"\nXML: "+e)}n.clear(),r.a.Xml.domToWorkspace(e,n)},alert:function(e){window.alert(e)}},l=a;!async function(){Object(i.ob)(),function(e,n){console.log("Blockly starting");const t=document.getElementById(n);r.a.JavaScript.INDENT="";var i={toolbox:'<xml xmlns="https://developers.google.com/blockly/xml">\n  <category name="Miniscript" colour="#5ba55b">\n    <block type="and"></block>\n    <block type="or">\n      <field name="A_weight">1</field>\n      <field name="B_weight">1</field>\n    </block>\n    <block type="thresh">\n      <field name="Threshold">1</field>\n    </block>\n    <block type="after">\n      <field name="NAME">1</field>\n    </block>\n    <block type="pk"></block>\n    <block type="adapter"></block>\n    <block type="older">\n      <field name="NAME">1</field>\n    </block>\n    <block type="alias_key">\n      <field name="label">Alias</field>\n      <field name="name">name</field>\n    </block>\n    <block type="existing_key">\n      <field name="NAME">Existing Key</field>\n      <field name="key">tpub, WIF, hex...</field>\n    </block>\n  </category>\n  <category name="Examples" colour="#5b67a5">\n    <block type="pk">\n      <value name="pk">\n        <block type="alias_key">\n          <field name="label">Alias</field>\n          <field name="name">Alice</field>\n        </block>\n      </value>\n    </block>\n    <block type="or">\n      <field name="A_weight">1</field>\n      <field name="B_weight">1</field>\n      <statement name="A">\n        <block type="pk">\n          <value name="pk">\n            <block type="alias_key">\n              <field name="label">Alias</field>\n              <field name="name">Alice</field>\n            </block>\n          </value>\n        </block>\n      </statement>\n      <statement name="B">\n        <block type="pk">\n          <value name="pk">\n            <block type="alias_key">\n              <field name="label">Alias</field>\n              <field name="name">Bob</field>\n            </block>\n          </value>\n        </block>\n      </statement>\n    </block>\n    <block type="or">\n      <field name="A_weight">99</field>\n      <field name="B_weight">1</field>\n      <statement name="A">\n        <block type="pk">\n          <value name="pk">\n            <block type="alias_key">\n              <field name="label">Alias</field>\n              <field name="name">KeyLikely</field>\n            </block>\n          </value>\n        </block>\n      </statement>\n      <statement name="B">\n        <block type="pk">\n          <value name="pk">\n            <block type="alias_key">\n              <field name="label">Alias</field>\n              <field name="name">Likely</field>\n            </block>\n          </value>\n        </block>\n      </statement>\n    </block>\n    <block type="and">\n      <statement name="A">\n        <block type="pk">\n          <value name="pk">\n            <block type="alias_key">\n              <field name="label">Alias</field>\n              <field name="name">User</field>\n            </block>\n          </value>\n        </block>\n      </statement>\n      <statement name="B">\n        <block type="or">\n          <field name="A_weight">99</field>\n          <field name="B_weight">1</field>\n          <statement name="A">\n            <block type="pk">\n              <value name="pk">\n                <block type="alias_key">\n                  <field name="label">Alias</field>\n                  <field name="name">Service</field>\n                </block>\n              </value>\n            </block>\n          </statement>\n          <statement name="B">\n            <block type="older">\n              <field name="NAME">12960</field>\n            </block>\n          </statement>\n        </block>\n      </statement>\n    </block>\n    <block type="thresh">\n      <field name="Threshold">3</field>\n      <statement name="A">\n        <block type="adapter">\n          <statement name="NAME">\n            <block type="pk">\n              <value name="pk">\n                <block type="alias_key">\n                  <field name="label">Alias</field>\n                  <field name="name">Alice</field>\n                </block>\n              </value>\n            </block>\n          </statement>\n          <next>\n            <block type="adapter">\n              <statement name="NAME">\n                <block type="pk">\n                  <value name="pk">\n                    <block type="alias_key">\n                      <field name="label">Alias</field>\n                      <field name="name">Bob</field>\n                    </block>\n                  </value>\n                </block>\n              </statement>\n              <next>\n                <block type="adapter">\n                  <statement name="NAME">\n                    <block type="pk">\n                      <value name="pk">\n                        <block type="alias_key">\n                          <field name="label">Alias</field>\n                          <field name="name">Carol</field>\n                        </block>\n                      </value>\n                    </block>\n                  </statement>\n                  <next>\n                    <block type="adapter">\n                      <statement name="NAME">\n                        <block type="older">\n                          <field name="NAME">12960</field>\n                        </block>\n                      </statement>\n                    </block>\n                  </next>\n                </block>\n              </next>\n            </block>\n          </next>\n        </block>\n      </statement>\n    </block>\n  </category>\n</xml>',collapse:!0,comments:!0,disable:!0,maxBlocks:1/0,trashcan:!0,horizontalLayout:!0,toolboxPosition:"start",css:!0,media:"https://blockly-demo.appspot.com/static/media/",rtl:!1,scrollbars:!0,sounds:!0,oneBasedIndex:!0,grid:{spacing:20,length:1,colour:"#888",snap:!0}};r.a.Blocks.pk={init:function(){this.appendValueInput("pk").setCheck("key").appendField("Key"),this.setPreviousStatement(!0,"policy"),this.setColour(260),this.setTooltip("Requires a signature with a given public key"),this.setHelpUrl("")}},r.a.Blocks.begin={init:function(){this.appendDummyInput().appendField("Begin"),this.setNextStatement(!0,"policy"),this.setColour(160),this.setTooltip("Sets the beginning of the policy"),this.setHelpUrl("")}},r.a.Blocks.existing_key={init:function(){this.appendDummyInput().appendField(new r.a.FieldLabelSerializable("Existing Key"),"NAME").appendField(new r.a.FieldTextInput("tpub, WIF, hex..."),"key"),this.setOutput(!0,"key"),this.setColour(120),this.setTooltip("Sets the value of a key to an existing WIF key, xpub or hex public key"),this.setHelpUrl("")}},r.a.Blocks.alias_key={init:function(){this.appendDummyInput().appendField(new r.a.FieldLabelSerializable("Alias"),"label").appendField(new r.a.FieldTextInput("name"),"name"),this.setOutput(!0,"key"),this.setColour(120),this.setTooltip("Sets the value of a key to an alias"),this.setHelpUrl("")}},r.a.Blocks.thresh={init:function(){this.appendDummyInput().appendField("Threshold").appendField(new r.a.FieldNumber(1,1,1/0,1),"Threshold"),this.appendStatementInput("A").setCheck("thresh").appendField("Policies"),this.setPreviousStatement(!0,"policy"),this.setColour(230),this.setTooltip("Creates a threshold element (m-of-n), where the 'm' field is manually set and 'n' is implied by the number of sub-policies added. Requies all of its children to be wrapped in the 'Entry' block"),this.setHelpUrl("")}},r.a.Blocks.older={init:function(){this.appendDummyInput().appendField("Older").appendField(new r.a.FieldNumber(1,1,1/0,1),"NAME"),this.setPreviousStatement(!0,"policy"),this.setColour(20),this.setTooltip("Requires waiting a number of blocks from the confirmation height of a UTXO before it becomes spendable"),this.setHelpUrl("")}},r.a.Blocks.after={init:function(){this.appendDummyInput().appendField("After").appendField(new r.a.FieldNumber(1,1,1/0,1),"NAME"),this.setPreviousStatement(!0,"policy"),this.setColour(20),this.setTooltip("Requires the blockchain to reach a specific block height before the UTXO becomes spendable"),this.setHelpUrl("")}},r.a.Blocks.adapter={init:function(){this.appendStatementInput("NAME").setCheck("policy").appendField("Entry"),this.setPreviousStatement(!0,"thresh"),this.setNextStatement(!0,"thresh"),this.setColour(290),this.setTooltip("Adapter used to stack policies into 'Threshold' blocks"),this.setHelpUrl("")}},r.a.Blocks.and={init:function(){this.appendStatementInput("A").setCheck("policy"),this.appendDummyInput().appendField("AND"),this.appendStatementInput("B").setCheck("policy"),this.setPreviousStatement(!0,"policy"),this.setColour(230),this.setTooltip("Requires both sub-policies to be satisfied"),this.setHelpUrl("")}},r.a.Blocks.or={init:function(){this.appendStatementInput("A").setCheck("policy").appendField("Weight").appendField(new r.a.FieldNumber(1,1),"A_weight"),this.appendDummyInput().appendField("OR"),this.appendStatementInput("B").setCheck("policy").appendField("Weight").appendField(new r.a.FieldNumber(1,1),"B_weight"),this.setPreviousStatement(!0,"policy"),this.setColour(230),this.setTooltip("Requires either one of the two sub-policies to be satisfied. Weights can be used to indicate the relative probability of each sub-policy"),this.setHelpUrl("")}},r.a.JavaScript.begin=function(e){return""},r.a.JavaScript.pk=function(e){if(!e.getParent())return"";var n=r.a.JavaScript.valueToCode(e,"pk",r.a.JavaScript.ORDER_ATOMIC);return""==n&&(n="()"),"pk"+n},r.a.JavaScript.existing_key=function(e){return e.getParent()?[e.getFieldValue("key"),r.a.JavaScript.ORDER_NONE]:["",r.a.JavaScript.ORDER_NONE]},r.a.JavaScript.alias_key=function(e){return e.getParent()?[e.getFieldValue("name"),r.a.JavaScript.ORDER_NONE]:["",r.a.JavaScript.ORDER_NONE]},r.a.JavaScript.thresh=function(e){return"thresh("+e.getFieldValue("Threshold")+","+r.a.JavaScript.statementToCode(e,"A")+")"},r.a.JavaScript.older=function(e){return e.getParent()?"older("+e.getFieldValue("NAME")+")":""},r.a.JavaScript.after=function(e){return e.getParent()?"after("+e.getFieldValue("NAME")+")":""},r.a.JavaScript.adapter=function(e){return e.getParent()?r.a.JavaScript.statementToCode(e,"NAME")+(e.getNextBlock()?",":""):""},r.a.JavaScript.and=function(e){return e.getParent()?"and("+r.a.JavaScript.statementToCode(e,"A")+","+r.a.JavaScript.statementToCode(e,"B")+")":""},r.a.JavaScript.or=function(e){if(!e.getParent())return"";var n=e.getFieldValue("A_weight");"1"==n?n="":n+="@";var t=r.a.JavaScript.statementToCode(e,"A"),i=e.getFieldValue("B_weight");return"1"==i?i="":i+="@","or("+n+t+","+i+r.a.JavaScript.statementToCode(e,"B")+")"};var o=r.a.inject(e,i);o.addChangeListener((function(e){t.value=r.a.JavaScript.workspaceToCode(o)})),o.addChangeListener(r.a.Events.disableOrphans),setTimeout(()=>{if(l.restoreBlocks(),0==o.getTopBlocks().length){var e=o.newBlock("begin");e.setDeletable(!1),e.setEditable(!1),e.moveBy(20,20),e.initSvg(),e.render()}const n=document.createElement("span");n.innerHTML='<i class="fas fa-expand"></i>',n.style.float="right",n.style["margin-right"]="10px";let t=!1;n.onclick=function(){t?document.exitFullscreen():document.getElementById("blocklyDiv").requestFullscreen(),t=!t},document.getElementsByClassName("blocklyToolboxDiv")[0].appendChild(n)},0),l.backupOnUnload()}("blocklyDiv","policy");let e=null;document.getElementById("stdin").disabled=!0;const n=document.getElementById("start_button"),t=document.getElementById("stop_button"),o=document.getElementById("start_message");n.disabled=!1,t.disabled=!0;const a=document.getElementById("descriptor"),u=document.getElementById("change_descriptor");n.onclick=r=>{0!=a.value.length&&(r.preventDefault(),async function(e,n){const t=document.getElementById("stdout"),o=document.getElementById("stdin");o.disabled=!1;const r=[];let a=0;const l=await new i.a("testnet",e,n,"https://blockstream.info/testnet/api"),u=e=>{if("clear"!=e)return o.disabled=!0,t.innerHTML.length>0&&(t.innerHTML+="\n"),t.innerHTML+=`<span class="command">> ${e}</span>\n`,a=r.push(e),l.run(e).then(e=>{e&&(t.innerHTML+=`<span class="success">${e}</span>\n`)}).catch(e=>t.innerHTML+=`<span class="error">${e}</span>\n`).finally(()=>{o.disabled=!1,t.scrollTop=t.scrollHeight-t.clientHeight});t.innerHTML=""};return o.onkeydown=e=>{if("Enter"==e.key){if(0==o.value.length)return;u(o.value),o.value="",e.preventDefault()}else"ArrowUp"==e.key?a>0&&(o.value=r[--a]):"ArrowDown"==e.key&&a<r.length&&(o.value=r[++a]||"")},{run:u}}(a.value,u.value.length>0?u.value:null).then(i=>{n.disabled=!0,a.disabled=!0,u.disabled=!0,o.innerHTML="Wallet created, running `sync`...",i.run("sync").then(()=>o.innerHTML="Ready!"),e=i,t.disabled=!1}).catch(e=>o.innerHTML=`<span class="error">${e}</span>`))},t.onclick=i=>{null!=e&&(i.preventDefault(),e.free(),o.innerHTML="Wallet instance destroyed",n.disabled=!1,t.disabled=!0,a.disabled=!1,u.disabled=!1)};const c=document.getElementById("policy"),s=document.getElementById("compiler_script_type"),d=document.getElementById("compiler_output");document.getElementById("compile_button").onclick=e=>{if(0==c.value.length)return;e.preventDefault();const n=!e.target.form.elements.namedItem("alias").length;let t=e.target.form.elements.namedItem("alias"),o=e.target.form.elements.namedItem("type"),r=e.target.form.elements.namedItem("extra");n?(t=[t],o=[o],r=[r]):(t=Array.from(t),o=Array.from(o),r=Array.from(r));const a={};t.forEach(e=>{const n=o.filter(n=>n.attributes["data-index"].value==e.attributes["data-index"].value)[0].value,t=r.filter(n=>n.attributes["data-index"].value==e.attributes["data-index"].value)[0].value,i=e.value;a[i]={type:n,extra:t}}),Object(i.nb)(c.value,JSON.stringify(a),s.value).then(e=>d.innerHTML=e).catch(e=>d.innerHTML=`<span class="error">${e}</span>`)}}()},12:function(e,n,t){"use strict";var i=t.w[e.i];e.exports=i;t(2);i.n()},2:function(e,n,t){"use strict";(function(e){t.d(n,"ob",(function(){return w})),t.d(n,"nb",(function(){return _})),t.d(n,"a",(function(){return S})),t.d(n,"jb",(function(){return E})),t.d(n,"lb",(function(){return R})),t.d(n,"Y",(function(){return x})),t.d(n,"A",(function(){return B})),t.d(n,"Q",(function(){return I})),t.d(n,"l",(function(){return F})),t.d(n,"gb",(function(){return q})),t.d(n,"N",(function(){return C})),t.d(n,"L",(function(){return N})),t.d(n,"i",(function(){return M})),t.d(n,"x",(function(){return D})),t.d(n,"fb",(function(){return O})),t.d(n,"o",(function(){return H})),t.d(n,"p",(function(){return J})),t.d(n,"K",(function(){return L})),t.d(n,"R",(function(){return P})),t.d(n,"n",(function(){return U})),t.d(n,"ib",(function(){return X})),t.d(n,"j",(function(){return j})),t.d(n,"m",(function(){return W})),t.d(n,"s",(function(){return V})),t.d(n,"w",(function(){return $})),t.d(n,"Z",(function(){return K})),t.d(n,"G",(function(){return z})),t.d(n,"t",(function(){return Q})),t.d(n,"W",(function(){return G})),t.d(n,"S",(function(){return Y})),t.d(n,"r",(function(){return Z})),t.d(n,"e",(function(){return ee})),t.d(n,"T",(function(){return ne})),t.d(n,"F",(function(){return te})),t.d(n,"z",(function(){return ie})),t.d(n,"d",(function(){return oe})),t.d(n,"c",(function(){return re})),t.d(n,"B",(function(){return ae})),t.d(n,"b",(function(){return le})),t.d(n,"ab",(function(){return ue})),t.d(n,"db",(function(){return ce})),t.d(n,"eb",(function(){return se})),t.d(n,"I",(function(){return de})),t.d(n,"k",(function(){return fe})),t.d(n,"X",(function(){return pe})),t.d(n,"u",(function(){return me})),t.d(n,"g",(function(){return be})),t.d(n,"h",(function(){return he})),t.d(n,"H",(function(){return ke})),t.d(n,"J",(function(){return ye})),t.d(n,"y",(function(){return ge})),t.d(n,"D",(function(){return ve})),t.d(n,"M",(function(){return we})),t.d(n,"V",(function(){return _e})),t.d(n,"U",(function(){return Te})),t.d(n,"f",(function(){return Ae})),t.d(n,"E",(function(){return Se})),t.d(n,"C",(function(){return Ee})),t.d(n,"P",(function(){return Re})),t.d(n,"v",(function(){return xe})),t.d(n,"q",(function(){return Be})),t.d(n,"O",(function(){return Ie})),t.d(n,"kb",(function(){return Fe})),t.d(n,"cb",(function(){return qe})),t.d(n,"mb",(function(){return Ce})),t.d(n,"hb",(function(){return Ne})),t.d(n,"bb",(function(){return Me}));var i=t(12);const o=new Array(32).fill(void 0);function r(e){return o[e]}o.push(void 0,null,!0,!1);let a=o.length;function l(e){const n=r(e);return function(e){e<36||(o[e]=a,a=e)}(e),n}let u=new("undefined"==typeof TextDecoder?(0,e.require)("util").TextDecoder:TextDecoder)("utf-8",{ignoreBOM:!0,fatal:!0});u.decode();let c=null;function s(){return null!==c&&c.buffer===i.j.buffer||(c=new Uint8Array(i.j.buffer)),c}function d(e,n){return u.decode(s().subarray(e,e+n))}function f(e){a===o.length&&o.push(o.length+1);const n=a;return a=o[n],o[n]=e,n}let p=0;let m=new("undefined"==typeof TextEncoder?(0,e.require)("util").TextEncoder:TextEncoder)("utf-8");const b="function"==typeof m.encodeInto?function(e,n){return m.encodeInto(e,n)}:function(e,n){const t=m.encode(e);return n.set(t),{read:e.length,written:t.length}};function h(e,n,t){if(void 0===t){const t=m.encode(e),i=n(t.length);return s().subarray(i,i+t.length).set(t),p=t.length,i}let i=e.length,o=n(i);const r=s();let a=0;for(;a<i;a++){const n=e.charCodeAt(a);if(n>127)break;r[o+a]=n}if(a!==i){0!==a&&(e=e.slice(a)),o=t(o,i,i=a+3*e.length);const n=s().subarray(o+a,o+i);a+=b(e,n).written}return p=a,o}let k=null;function y(){return null!==k&&k.buffer===i.j.buffer||(k=new Int32Array(i.j.buffer)),k}function g(e){return null==e}function v(e,n,t){i.g(e,n,f(t))}function w(){i.i()}function _(e,n,t){var o=h(e,i.e,i.f),r=p,a=h(n,i.e,i.f),u=p,c=h(t,i.e,i.f),s=p;return l(i.h(o,r,a,u,c,s))}function T(e){return function(){try{return e.apply(this,arguments)}catch(e){i.b(f(e))}}}function A(e,n){return s().subarray(e/1,e/1+n)}class S{static __wrap(e){const n=Object.create(S.prototype);return n.ptr=e,n}free(){const e=this.ptr;this.ptr=0,i.a(e)}constructor(e,n,t,o){var r=h(e,i.e,i.f),a=p,u=h(n,i.e,i.f),c=p,s=g(t)?0:h(t,i.e,i.f),d=p,f=h(o,i.e,i.f),m=p;return l(i.k(r,a,u,c,s,d,f,m))}run(e){var n=h(e,i.e,i.f),t=p;return l(i.l(this.ptr,n,t))}}const E=function(e){l(e)},R=function(e,n){return f(d(e,n))},x=function(e){return f(S.__wrap(e))},B=function(){return f(new Error)},I=function(e,n){var t=h(r(n).stack,i.e,i.f),o=p;y()[e/4+1]=o,y()[e/4+0]=t},F=function(e,n){try{console.error(d(e,n))}finally{i.d(e,n)}},q=function(e,n){const t=r(n);var o=h(JSON.stringify(void 0===t?null:t),i.e,i.f),a=p;y()[e/4+1]=a,y()[e/4+0]=o},C=T((function(){return f(self.self)})),N=function(e,n,t){return f(r(e).require(d(n,t)))},M=function(e){return f(r(e).crypto)},D=function(e){return f(r(e).msCrypto)},O=function(e){return void 0===r(e)},H=function(e){return f(r(e).getRandomValues)},J=function(e,n,t){r(e).getRandomValues(A(n,t))},L=function(e,n,t){r(e).randomFillSync(A(n,t))},P=function(){return f(e)},U=function(e){return f(fetch(r(e)))},X=function(e){return f(r(e))},j=function(e){console.debug(r(e))},W=function(e){console.error(r(e))},V=function(e){console.info(r(e))},$=function(e){console.log(r(e))},K=function(e){console.warn(r(e))},z=T((function(e,n){return f(new Blob(r(e),r(n)))})),Q=function(e){return r(e)instanceof Response},G=function(e,n){var t=h(r(n).url,i.e,i.f),o=p;y()[e/4+1]=o,y()[e/4+0]=t},Y=function(e){return r(e).status},Z=function(e){return f(r(e).headers)},ee=T((function(e){return f(r(e).arrayBuffer())})),ne=T((function(e){return f(r(e).text())})),te=T((function(e,n,t){return f(new Request(d(e,n),r(t)))})),ie=T((function(){return f(new FormData)})),oe=T((function(e,n,t,i){r(e).append(d(n,t),r(i))})),re=T((function(e,n,t,i,o,a){r(e).append(d(n,t),r(i),d(o,a))})),ae=T((function(){return f(new Headers)})),le=T((function(e,n,t,i,o){r(e).append(d(n,t),d(i,o))})),ue=function(e){const n=l(e).original;if(1==n.cnt--)return n.a=0,!0;return!1},ce=function(e){return"function"==typeof r(e)},se=function(e){const n=r(e);return"object"==typeof n&&null!==n},de=function(e){return f(r(e).next)},fe=function(e){return r(e).done},pe=function(e){return f(r(e).value)},me=function(){return f(Symbol.iterator)},be=T((function(e,n){return f(r(e).call(r(n)))})),he=T((function(e,n,t){return f(r(e).call(r(n),r(t)))})),ke=T((function(e){return f(r(e).next())})),ye=function(){return Date.now()},ge=function(){return f(new Object)},ve=function(e,n){try{var t={a:e,b:n},o=new Promise((e,n)=>{const o=t.a;t.a=0;try{return function(e,n,t,o){i.m(e,n,f(t),f(o))}(o,t.b,e,n)}finally{t.a=o}});return f(o)}finally{t.a=t.b=0}},we=function(e){return f(Promise.resolve(r(e)))},_e=function(e,n){return f(r(e).then(r(n)))},Te=function(e,n,t){return f(r(e).then(r(n),r(t)))},Ae=function(e){return f(r(e).buffer)},Se=function(e,n,t){return f(new Uint8Array(r(e),n>>>0,t>>>0))},Ee=function(e){return f(new Uint8Array(r(e)))},Re=function(e,n,t){r(e).set(r(n),t>>>0)},xe=function(e){return r(e).length},Be=T((function(e,n){return f(Reflect.get(r(e),r(n)))})),Ie=T((function(e,n,t){return Reflect.set(r(e),r(n),r(t))})),Fe=function(e,n){const t=r(n);var o="string"==typeof t?t:void 0,a=g(o)?0:h(o,i.e,i.f),l=p;y()[e/4+1]=l,y()[e/4+0]=a},qe=function(e,n){var t=h(function e(n){const t=typeof n;if("number"==t||"boolean"==t||null==n)return""+n;if("string"==t)return`"${n}"`;if("symbol"==t){const e=n.description;return null==e?"Symbol":`Symbol(${e})`}if("function"==t){const e=n.name;return"string"==typeof e&&e.length>0?`Function(${e})`:"Function"}if(Array.isArray(n)){const t=n.length;let i="[";t>0&&(i+=e(n[0]));for(let o=1;o<t;o++)i+=", "+e(n[o]);return i+="]",i}const i=/\[object ([^\]]+)\]/.exec(toString.call(n));let o;if(!(i.length>1))return toString.call(n);if(o=i[1],"Object"==o)try{return"Object("+JSON.stringify(n)+")"}catch(e){return"Object"}return n instanceof Error?`${n.name}: ${n.message}\n${n.stack}`:o}(r(n)),i.e,i.f),o=p;y()[e/4+1]=o,y()[e/4+0]=t},Ce=function(e,n){throw new Error(d(e,n))},Ne=function(){return f(i.j)},Me=function(e,n,t){return f(function(e,n,t,o){const r={a:e,b:n,cnt:1,dtor:t},a=(...e)=>{r.cnt++;const n=r.a;r.a=0;try{return o(n,r.b,...e)}finally{0==--r.cnt?i.c.get(r.dtor)(n,r.b):r.a=n}};return a.original=r,a}(e,n,1067,v))}}).call(this,t(11)(e))}}]);
\ No newline at end of file
diff --git a/static/repl/playground/74f849ea1538325b0b73.module.wasm b/static/repl/playground/74f849ea1538325b0b73.module.wasm
deleted file mode 100644 (file)
index 2c4cc19..0000000
Binary files a/static/repl/playground/74f849ea1538325b0b73.module.wasm and /dev/null differ
diff --git a/static/repl/playground/d4b42e8d4f6b6e2303cf.module.wasm b/static/repl/playground/d4b42e8d4f6b6e2303cf.module.wasm
new file mode 100644 (file)
index 0000000..cce92e8
Binary files /dev/null and b/static/repl/playground/d4b42e8d4f6b6e2303cf.module.wasm differ
index ce3e6dd8ca45b8b823361825e78eae557e68d6be..0b58df43ca27d73a44cbabf9b2ad28de7cc1f449 100644 (file)
@@ -1 +1 @@
-!function(e){function n(n){for(var t,_,o=n[0],u=n[1],c=0,b=[];c<o.length;c++)_=o[c],Object.prototype.hasOwnProperty.call(r,_)&&r[_]&&b.push(r[_][0]),r[_]=0;for(t in u)Object.prototype.hasOwnProperty.call(u,t)&&(e[t]=u[t]);for(i&&i(n);b.length;)b.shift()()}var t={},r={0:0};var _={};var o={12:function(){return{"./bdk_playground_bg.js":{__wbindgen_object_drop_ref:function(e){return t[2].exports.sb(e)},__wbg_walletwrapper_new:function(e){return t[2].exports.gb(e)},__wbindgen_string_new:function(e,n){return t[2].exports.ub(e,n)},__wbg_new_59cb74e423758ede:function(){return t[2].exports.F()},__wbg_stack_558ba5917b466edd:function(e,n){return t[2].exports.Y(e,n)},__wbg_error_4bb6c2a97407129a:function(e,n){return t[2].exports.n(e,n)},__wbindgen_json_serialize:function(e,n){return t[2].exports.ob(e,n)},__wbg_self_1c83eb4471d9eb9b:function(){return t[2].exports.U()},__wbg_require_5b2b5b594d809d9f:function(e,n,r){return t[2].exports.R(e,n,r)},__wbg_crypto_c12f14e810edcaa2:function(e){return t[2].exports.k(e)},__wbg_msCrypto_679be765111ba775:function(e){return t[2].exports.B(e)},__wbindgen_is_undefined:function(e){return t[2].exports.nb(e)},__wbg_getRandomValues_05a60bf171bfc2be:function(e){return t[2].exports.q(e)},__wbg_getRandomValues_3ac1b33c90b52596:function(e,n,r){return t[2].exports.t(e,n,r)},__wbg_randomFillSync_6f956029658662ec:function(e,n,r){return t[2].exports.Q(e,n,r)},__wbg_static_accessor_MODULE_abf5ae284bffdf45:function(){return t[2].exports.Z()},__wbg_fetch_f5b2195afedb6a6b:function(e){return t[2].exports.p(e)},__wbindgen_object_clone_ref:function(e){return t[2].exports.rb(e)},__wbg_debug_b443de592faba09f:function(e){return t[2].exports.l(e)},__wbg_error_7f083efc6bc6752c:function(e){return t[2].exports.o(e)},__wbg_info_6d4a86f0fd590270:function(e){return t[2].exports.w(e)},__wbg_log_3bafd82835c6de6d:function(e){return t[2].exports.A(e)},__wbg_warn_d05e82888b7fad05:function(e){return t[2].exports.hb(e)},__wbg_newwithu8arraysequenceandoptions_ae6479c676bebdcf:function(e,n){return t[2].exports.L(e,n)},__wbg_instanceof_Response_328c03967a8e8902:function(e){return t[2].exports.x(e)},__wbg_url_67bbdafba8ff6e85:function(e,n){return t[2].exports.eb(e,n)},__wbg_status_eb6dbb31556c329f:function(e){return t[2].exports.ab(e)},__wbg_headers_c736e1fe38752cff:function(e){return t[2].exports.v(e)},__wbg_arrayBuffer_dc33ab7b8cdf0d63:function(e){return t[2].exports.e(e)},__wbg_text_966d07536ca6ccdc:function(e){return t[2].exports.bb(e)},__wbg_newwithstrandinit_d1de1bfcd175e38a:function(e,n,r){return t[2].exports.K(e,n,r)},__wbg_new_43d9cb1835f877ad:function(){return t[2].exports.E()},__wbg_append_f76809690e4b2f3a:function(e,n,r,_){return t[2].exports.d(e,n,r,_)},__wbg_append_eaa42b75460769af:function(e,n,r,_,o,u){return t[2].exports.c(e,n,r,_,o,u)},__wbg_new_8469604d5504c189:function(){return t[2].exports.G()},__wbg_append_cc6fe0273163a31b:function(e,n,r,_,o){return t[2].exports.b(e,n,r,_,o)},__wbg_new_3a746f2619705add:function(e,n){return t[2].exports.C(e,n)},__wbg_call_f54d3a6dadb199ca:function(e,n){return t[2].exports.i(e,n)},__wbindgen_jsval_eq:function(e,n){return t[2].exports.pb(e,n)},__wbg_self_ac379e780a0d8b94:function(e){return t[2].exports.V(e)},__wbg_crypto_1e4302b85d4f64a2:function(e){return t[2].exports.j(e)},__wbg_getRandomValues_1b4ba144162a5c9e:function(e){return t[2].exports.r(e)},__wbg_require_6461b1e9a0d7c34a:function(e,n){return t[2].exports.S(e,n)},__wbg_getRandomValues_1ef11e888e5228e9:function(e,n,r){return t[2].exports.s(e,n,r)},__wbg_randomFillSync_1b52c8482374c55b:function(e,n,r){return t[2].exports.P(e,n,r)},__wbindgen_cb_drop:function(e){return t[2].exports.ib(e)},__wbindgen_is_function:function(e){return t[2].exports.lb(e)},__wbindgen_is_object:function(e){return t[2].exports.mb(e)},__wbg_next_edda7e0003e5daf9:function(e){return t[2].exports.N(e)},__wbg_done_037d0a173aef1834:function(e){return t[2].exports.m(e)},__wbg_value_e60bbfb7d52af62f:function(e){return t[2].exports.fb(e)},__wbg_iterator_09191f8878ea9877:function(){return t[2].exports.y()},__wbg_call_8e95613cc6524977:function(e,n){return t[2].exports.g(e,n)},__wbg_call_d713ea0274dfc6d2:function(e,n,r){return t[2].exports.h(e,n,r)},__wbg_next_2966fa909601a075:function(e){return t[2].exports.M(e)},__wbg_now_4de5b53a19e45567:function(){return t[2].exports.O()},__wbg_new_3e06d4f36713e4cb:function(){return t[2].exports.D()},__wbg_new_d0c63652ab4d825c:function(e,n){return t[2].exports.I(e,n)},__wbg_resolve_2529512c3bb73938:function(e){return t[2].exports.T(e)},__wbg_then_4a7a614abbbe6d81:function(e,n){return t[2].exports.db(e,n)},__wbg_then_3b7ac098cfda2fa5:function(e,n,r){return t[2].exports.cb(e,n,r)},__wbg_buffer_49131c283a06686f:function(e){return t[2].exports.f(e)},__wbg_newwithbyteoffsetandlength_c0f38401daad5a22:function(e,n,r){return t[2].exports.J(e,n,r)},__wbg_new_9b295d24cf1d706f:function(e){return t[2].exports.H(e)},__wbg_set_3bb960a9975f3cd2:function(e,n,r){return t[2].exports.X(e,n,r)},__wbg_length_2b13641a9d906653:function(e){return t[2].exports.z(e)},__wbg_get_0e3f2950cdf758ae:function(e,n){return t[2].exports.u(e,n)},__wbg_set_304f2ec1a3ab3b79:function(e,n,r){return t[2].exports.W(e,n,r)},__wbindgen_string_get:function(e,n){return t[2].exports.tb(e,n)},__wbindgen_debug_string:function(e,n){return t[2].exports.kb(e,n)},__wbindgen_throw:function(e,n){return t[2].exports.vb(e,n)},__wbindgen_memory:function(){return t[2].exports.qb()},__wbindgen_closure_wrapper6383:function(e,n,r){return t[2].exports.jb(e,n,r)}}}}};function u(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,u),r.l=!0,r.exports}u.e=function(e){var n=[],t=r[e];if(0!==t)if(t)n.push(t[2]);else{var c=new Promise((function(n,_){t=r[e]=[n,_]}));n.push(t[2]=c);var b,f=document.createElement("script");f.charset="utf-8",f.timeout=120,u.nc&&f.setAttribute("nonce",u.nc),f.src=function(e){return u.p+""+e+".playground.js"}(e);var i=new Error;b=function(n){f.onerror=f.onload=null,clearTimeout(a);var t=r[e];if(0!==t){if(t){var _=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;i.message="Loading chunk "+e+" failed.\n("+_+": "+o+")",i.name="ChunkLoadError",i.type=_,i.request=o,t[1](i)}r[e]=void 0}};var a=setTimeout((function(){b({type:"timeout",target:f})}),12e4);f.onerror=f.onload=b,document.head.appendChild(f)}return({2:[12]}[e]||[]).forEach((function(e){var t=_[e];if(t)n.push(t);else{var r,c=o[e](),b=fetch(u.p+""+{12:"74f849ea1538325b0b73"}[e]+".module.wasm");if(c instanceof Promise&&"function"==typeof WebAssembly.compileStreaming)r=Promise.all([WebAssembly.compileStreaming(b),c]).then((function(e){return WebAssembly.instantiate(e[0],e[1])}));else if("function"==typeof WebAssembly.instantiateStreaming)r=WebAssembly.instantiateStreaming(b,c);else{r=b.then((function(e){return e.arrayBuffer()})).then((function(e){return WebAssembly.instantiate(e,c)}))}n.push(_[e]=r.then((function(n){return u.w[e]=(n.instance||n).exports})))}})),Promise.all(n)},u.m=e,u.c=t,u.d=function(e,n,t){u.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,n){if(1&n&&(e=u(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)u.d(t,r,function(n){return e[n]}.bind(null,r));return t},u.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(n,"a",n),n},u.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},u.p="/repl/playground/",u.oe=function(e){throw console.error(e),e},u.w={};var c=window.webpackJsonp=window.webpackJsonp||[],b=c.push.bind(c);c.push=n,c=c.slice();for(var f=0;f<c.length;f++)n(c[f]);var i=b;u(u.s=0)}([function(e,n,t){Promise.all([t.e(1),t.e(2)]).then(t.bind(null,1)).catch(e=>console.error("Error importing `index.js`:",e))}]);
\ No newline at end of file
+!function(e){function n(n){for(var t,o,_=n[0],u=n[1],f=0,c=[];f<_.length;f++)o=_[f],Object.prototype.hasOwnProperty.call(r,o)&&r[o]&&c.push(r[o][0]),r[o]=0;for(t in u)Object.prototype.hasOwnProperty.call(u,t)&&(e[t]=u[t]);for(b&&b(n);c.length;)c.shift()()}var t={},r={0:0};var o={};var _={12:function(){return{"./bdk_playground_bg.js":{__wbindgen_object_drop_ref:function(e){return t[2].exports.jb(e)},__wbindgen_string_new:function(e,n){return t[2].exports.lb(e,n)},__wbg_walletwrapper_new:function(e){return t[2].exports.Y(e)},__wbg_new_59cb74e423758ede:function(){return t[2].exports.A()},__wbg_stack_558ba5917b466edd:function(e,n){return t[2].exports.Q(e,n)},__wbg_error_4bb6c2a97407129a:function(e,n){return t[2].exports.l(e,n)},__wbindgen_json_serialize:function(e,n){return t[2].exports.gb(e,n)},__wbg_self_1c83eb4471d9eb9b:function(){return t[2].exports.N()},__wbg_require_5b2b5b594d809d9f:function(e,n,r){return t[2].exports.L(e,n,r)},__wbg_crypto_c12f14e810edcaa2:function(e){return t[2].exports.i(e)},__wbg_msCrypto_679be765111ba775:function(e){return t[2].exports.x(e)},__wbindgen_is_undefined:function(e){return t[2].exports.fb(e)},__wbg_getRandomValues_05a60bf171bfc2be:function(e){return t[2].exports.o(e)},__wbg_getRandomValues_3ac1b33c90b52596:function(e,n,r){return t[2].exports.p(e,n,r)},__wbg_randomFillSync_6f956029658662ec:function(e,n,r){return t[2].exports.K(e,n,r)},__wbg_static_accessor_MODULE_abf5ae284bffdf45:function(){return t[2].exports.R()},__wbg_fetch_f5b2195afedb6a6b:function(e){return t[2].exports.n(e)},__wbindgen_object_clone_ref:function(e){return t[2].exports.ib(e)},__wbg_debug_b443de592faba09f:function(e){return t[2].exports.j(e)},__wbg_error_7f083efc6bc6752c:function(e){return t[2].exports.m(e)},__wbg_info_6d4a86f0fd590270:function(e){return t[2].exports.s(e)},__wbg_log_3bafd82835c6de6d:function(e){return t[2].exports.w(e)},__wbg_warn_d05e82888b7fad05:function(e){return t[2].exports.Z(e)},__wbg_newwithu8arraysequenceandoptions_ae6479c676bebdcf:function(e,n){return t[2].exports.G(e,n)},__wbg_instanceof_Response_328c03967a8e8902:function(e){return t[2].exports.t(e)},__wbg_url_67bbdafba8ff6e85:function(e,n){return t[2].exports.W(e,n)},__wbg_status_eb6dbb31556c329f:function(e){return t[2].exports.S(e)},__wbg_headers_c736e1fe38752cff:function(e){return t[2].exports.r(e)},__wbg_arrayBuffer_dc33ab7b8cdf0d63:function(e){return t[2].exports.e(e)},__wbg_text_966d07536ca6ccdc:function(e){return t[2].exports.T(e)},__wbg_newwithstrandinit_d1de1bfcd175e38a:function(e,n,r){return t[2].exports.F(e,n,r)},__wbg_new_43d9cb1835f877ad:function(){return t[2].exports.z()},__wbg_append_f76809690e4b2f3a:function(e,n,r,o){return t[2].exports.d(e,n,r,o)},__wbg_append_eaa42b75460769af:function(e,n,r,o,_,u){return t[2].exports.c(e,n,r,o,_,u)},__wbg_new_8469604d5504c189:function(){return t[2].exports.B()},__wbg_append_cc6fe0273163a31b:function(e,n,r,o,_){return t[2].exports.b(e,n,r,o,_)},__wbindgen_cb_drop:function(e){return t[2].exports.ab(e)},__wbindgen_is_function:function(e){return t[2].exports.db(e)},__wbindgen_is_object:function(e){return t[2].exports.eb(e)},__wbg_next_edda7e0003e5daf9:function(e){return t[2].exports.I(e)},__wbg_done_037d0a173aef1834:function(e){return t[2].exports.k(e)},__wbg_value_e60bbfb7d52af62f:function(e){return t[2].exports.X(e)},__wbg_iterator_09191f8878ea9877:function(){return t[2].exports.u()},__wbg_call_8e95613cc6524977:function(e,n){return t[2].exports.g(e,n)},__wbg_call_d713ea0274dfc6d2:function(e,n,r){return t[2].exports.h(e,n,r)},__wbg_next_2966fa909601a075:function(e){return t[2].exports.H(e)},__wbg_now_4de5b53a19e45567:function(){return t[2].exports.J()},__wbg_new_3e06d4f36713e4cb:function(){return t[2].exports.y()},__wbg_new_d0c63652ab4d825c:function(e,n){return t[2].exports.D(e,n)},__wbg_resolve_2529512c3bb73938:function(e){return t[2].exports.M(e)},__wbg_then_4a7a614abbbe6d81:function(e,n){return t[2].exports.V(e,n)},__wbg_then_3b7ac098cfda2fa5:function(e,n,r){return t[2].exports.U(e,n,r)},__wbg_buffer_49131c283a06686f:function(e){return t[2].exports.f(e)},__wbg_newwithbyteoffsetandlength_c0f38401daad5a22:function(e,n,r){return t[2].exports.E(e,n,r)},__wbg_new_9b295d24cf1d706f:function(e){return t[2].exports.C(e)},__wbg_set_3bb960a9975f3cd2:function(e,n,r){return t[2].exports.P(e,n,r)},__wbg_length_2b13641a9d906653:function(e){return t[2].exports.v(e)},__wbg_get_0e3f2950cdf758ae:function(e,n){return t[2].exports.q(e,n)},__wbg_set_304f2ec1a3ab3b79:function(e,n,r){return t[2].exports.O(e,n,r)},__wbindgen_string_get:function(e,n){return t[2].exports.kb(e,n)},__wbindgen_debug_string:function(e,n){return t[2].exports.cb(e,n)},__wbindgen_throw:function(e,n){return t[2].exports.mb(e,n)},__wbindgen_memory:function(){return t[2].exports.hb()},__wbindgen_closure_wrapper6935:function(e,n,r){return t[2].exports.bb(e,n,r)}}}}};function u(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,u),r.l=!0,r.exports}u.e=function(e){var n=[],t=r[e];if(0!==t)if(t)n.push(t[2]);else{var f=new Promise((function(n,o){t=r[e]=[n,o]}));n.push(t[2]=f);var c,i=document.createElement("script");i.charset="utf-8",i.timeout=120,u.nc&&i.setAttribute("nonce",u.nc),i.src=function(e){return u.p+""+e+".playground.js"}(e);var b=new Error;c=function(n){i.onerror=i.onload=null,clearTimeout(a);var t=r[e];if(0!==t){if(t){var o=n&&("load"===n.type?"missing":n.type),_=n&&n.target&&n.target.src;b.message="Loading chunk "+e+" failed.\n("+o+": "+_+")",b.name="ChunkLoadError",b.type=o,b.request=_,t[1](b)}r[e]=void 0}};var a=setTimeout((function(){c({type:"timeout",target:i})}),12e4);i.onerror=i.onload=c,document.head.appendChild(i)}return({2:[12]}[e]||[]).forEach((function(e){var t=o[e];if(t)n.push(t);else{var r,f=_[e](),c=fetch(u.p+""+{12:"d4b42e8d4f6b6e2303cf"}[e]+".module.wasm");if(f instanceof Promise&&"function"==typeof WebAssembly.compileStreaming)r=Promise.all([WebAssembly.compileStreaming(c),f]).then((function(e){return WebAssembly.instantiate(e[0],e[1])}));else if("function"==typeof WebAssembly.instantiateStreaming)r=WebAssembly.instantiateStreaming(c,f);else{r=c.then((function(e){return e.arrayBuffer()})).then((function(e){return WebAssembly.instantiate(e,f)}))}n.push(o[e]=r.then((function(n){return u.w[e]=(n.instance||n).exports})))}})),Promise.all(n)},u.m=e,u.c=t,u.d=function(e,n,t){u.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,n){if(1&n&&(e=u(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)u.d(t,r,function(n){return e[n]}.bind(null,r));return t},u.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(n,"a",n),n},u.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},u.p="/repl/playground/",u.oe=function(e){throw console.error(e),e},u.w={};var f=window.webpackJsonp=window.webpackJsonp||[],c=f.push.bind(f);f.push=n,f=f.slice();for(var i=0;i<f.length;i++)n(f[i]);var b=c;u(u.s=0)}([function(e,n,t){Promise.all([t.e(1),t.e(2)]).then(t.bind(null,1)).catch(e=>console.error("Error importing `index.js`:",e))}]);
\ No newline at end of file