@bestinslot/wallet-kit 0.13.7 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -1,8 +1,8 @@
1
- import "./register-browser-providers-B5u1iRRq.js";
2
- import { g as d, c as B, W as Q, a as h, b as E, d as C, e as b, f as p, h as m, i as u, s as f, j as D, k as M, l as I, m as k, n as x, o as y } from "./mint-D4wMHU5r.js";
3
- import { q as X, x as _, p as $, u as AA, r as eA, t as tA, v as oA, y as iA, w as rA } from "./mint-D4wMHU5r.js";
4
- import { s as v } from "./balances-CGAvYUZu.js";
5
- import { c as sA, b as nA, m as gA, a as lA } from "./balances-CGAvYUZu.js";
1
+ import "./register-browser-providers-DOpVXcri.js";
2
+ import { g as d, c as B, W as Q, a as h, b as E, d as C, e as b, f as p, h as m, i as u, s as f, j as D, k as M, l as I, m as k, n as x, o as y } from "./mint-Cyl31b8y.js";
3
+ import { q as X, x as _, p as $, u as AA, r as eA, t as tA, v as oA, y as iA, w as rA } from "./mint-Cyl31b8y.js";
4
+ import { s as v } from "./balances-CHRCcJyq.js";
5
+ import { c as sA, b as nA, m as gA, a as lA } from "./balances-CHRCcJyq.js";
6
6
  const K = '@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--spacing:.25rem;--container-sm:24rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#f90}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.z-10{z-index:10}.-m-2{margin:calc(var(--spacing)*-2)}.mx-auto{margin-inline:auto}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.flex{display:flex}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-16{width:calc(var(--spacing)*16);height:calc(var(--spacing)*16)}.h-6{height:calc(var(--spacing)*6)}.h-9\\.75{height:calc(var(--spacing)*9.75)}.h-10{height:calc(var(--spacing)*10)}.max-h-\\[90vh\\]{max-height:90vh}.w-9{width:calc(var(--spacing)*9)}.w-24{width:calc(var(--spacing)*24)}.w-\\[92\\%\\]{width:92%}.w-auto{width:auto}.w-full{width:100%}.max-w-50{max-width:calc(var(--spacing)*50)}.max-w-sm{max-width:var(--container-sm)}.grow{flex-grow:1}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-y-3{row-gap:calc(var(--spacing)*3)}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--bis-cw-border)}.bg-black\\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-foreground{color:var(--bis-cw-fg)}.text-muted-foreground{color:var(--bis-cw-muted-fg)}.underline-offset-4{text-underline-offset:4px}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.bg-background{background:var(--bis-cw-bg)}@media(hover:hover){.group-hover\\:text-foreground:is(:where(.group):hover *){color:var(--bis-cw-fg)}.hover\\:border-primary:hover{border-color:var(--color-primary)}.hover\\:bg-primary:hover{background-color:var(--color-primary)}.hover\\:text-foreground:hover{color:var(--bis-cw-fg)}.hover\\:underline:hover{text-decoration-line:underline}}@media(min-width:40rem){.sm\\:z-50{z-index:50}.sm\\:px-6{padding-inline:calc(var(--spacing)*6)}}}:host,:root{--bis-cw-primary:#f90;--bis-cw-dark-bg:#0a0a0a;--bis-cw-dark-fg:#fafaf9;--bis-cw-dark-muted-fg:#a3a3a3;--bis-cw-dark-border:#ffffff0f;--bis-cw-light-bg:#fff;--bis-cw-light-fg:#0a0a0a;--bis-cw-light-muted-fg:#737373;--bis-cw-light-border:#e5e5e5;--bis-cw-bg:var(--bis-cw-dark-bg);--bis-cw-fg:var(--bis-cw-dark-fg);--bis-cw-muted-fg:var(--bis-cw-dark-muted-fg);--bis-cw-border:var(--bis-cw-dark-border);--tw-border-style:solid;--tw-bg-opacity:1}@media(prefers-color-scheme:light){:host,:root{--bis-cw-bg:var(--bis-cw-light-bg);--bis-cw-fg:var(--bis-cw-light-fg);--bis-cw-muted-fg:var(--bis-cw-light-muted-fg);--bis-cw-border:var(--bis-cw-light-border)}}.bis-cw-theme-light{--bis-cw-bg:var(--bis-cw-light-bg);--bis-cw-fg:var(--bis-cw-light-fg);--bis-cw-muted-fg:var(--bis-cw-light-muted-fg);--bis-cw-border:var(--bis-cw-light-border)}.bis-cw-theme-dark{--bis-cw-bg:var(--bis-cw-dark-bg);--bis-cw-fg:var(--bis-cw-dark-fg);--bis-cw-muted-fg:var(--bis-cw-dark-muted-fg);--bis-cw-border:var(--bis-cw-dark-border)}.best-scrollbar{scrollbar-width:thin;scrollbar-color:#25252d transparent;overflow:auto}.best-scrollbar::-webkit-scrollbar{background:0 0;width:6px;height:6px}.best-scrollbar::-webkit-scrollbar-thumb{background:#fff;border:1px solid #0000;-webkit-border-radius:1ex;-webkit-box-shadow:0 1px 2px #000000bf}.best-scrollbar::-webkit-scrollbar-corner{background:0 0}.best-scrollbar::-webkit-scrollbar-track{background:0 0;border-radius:9999px}.fade-scale-enter-active,.fade-scale-leave-active{transition:opacity .35s,transform .35s}.fade-scale-enter-from,.fade-scale-leave-to{opacity:0;transform:scale(1)}.fade-scale-enter-to,.fade-scale-leave-from{opacity:1;transform:scale(1)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}', G = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAnCAYAAABnlOo2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALRSURBVHgBzZg/TypBFMXPCK2GykIb7Aha0Ngbv4CVnQXYaYOvstGwRBttHjTa+SfRShu/gHmvtiFKDCWN2hK1RPfNcR5xWXbZOyugJ9mw7Nzd+9uZe+/sjMIX5c7NLeifkj5aSCZ/qVqtiS9IIabcXC6Nt7cSXDff/UR1gkSiHBfMGkiDpNBub2jHRQ2TCn9yPDAxkBikG6qpbU9Vve5AKBGQOzu7gbGxkhgkCEwpR93enkaa9mv8CFiljjVIGoOQAEyFgpjMWcBwVMP7e0Hd39fQD+gjc9rt4yGC+Lz3Br76D8KAdfRpEd8hD5jSw+NYZc5wVSaQix+kMdhqZQXIZGS2a2vA+DhsZAe0uWmOoyNgcbG/7e4usL4OXF4C09MYPBAdsHcovnW1Ciwt9dqxjcCdtqkp818IJQPimwY5JySHxQ8zP99tR6idHUiUcCYnnUirhwczRBMTvW0d509PwPk5MDMTfH9RV5SXF0RJnmVRXU9nQQHcaBiYx0dIJI8hPnB52TgIUhjM6qoYxg6IYi/QQRiUVzc3xlYwTPGBOlDsqevrcBvGTAyYeEAUA9mfSV4xzi4urItiPCCmP4M7yhmruUX9iQfEwsjaI1UMKDkQiyOnjSAdHACHh8FtlpU6KbJiz3grsld7e8DZmTl/fg6GJlSlYpIhQrIeYkYxc/za2vqEoXjOa34x27a3IZEMiIXNW3/ooFAArq56bXnNO03Y1C7YTB1UZ5bf3492wIDmhGoxbdgDjUAcMgc/Qy19OGbVkcmk9Vd/SX/s5/EdUqqiY62sms1W97ps9GB/9PKroBqNZudC8Mo1m83ptTwXjDkMC4RL6ru7v/6G/mv7bDavb2SPpTEIuW5Tv2g+CEQENEAwE7D1ejXK0GrDSpcIs2MmByNIBa+vVQas5Ab7HTRZ4FuDxAaKBHPdE733WPZmzkiAusCSyd/6NBWWOTb6B4ysJPfkVwUnAAAAAElFTkSuQmCC", Y = "data:image/png;base64,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", F = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK6wAACusBgosNWgAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAGsSURBVFiF7ZgxisJAGIVfFiUoESGNjWBhGxBR8QxCjpDeI3gRBc+ghZ0XSPAIqdJbaOFgiI1mtttqZ+bfdZiN7nxg9TLMF5l5ycQBwPFifPy1wG+w0qaw0qaw0qaw0qaoUS9cLBaIokiYr9drrFYrYd7r9bDb7VCv17/NT6cTwjBEURRKF7L0aDRCEATCfDgcSsd3Oh3lNY1GgyRNXh632+2p/H6/S/M8z8E57TXoJde0lTYFWdpxnKdynZClXdeV5mVZSnPGmDT3PI+8ER0QTy5BEGAwGAhzzjlms5nwH0/TFFmWCXuaMYb9fq+8+a/5dPzm8zmXkaaplnkAcG0bUbWmr9errqnevD2qhJU2hTZpVVW1Wi1dU9F7ejweYzKZCHPGGKbTqbBFsixDURTCnr5cLthsNng8HhQdWjdut1tpDy+XS+n4fr8vHc85577v6+1p1cu56hHcbreleZ7nVJV/vhFNYqVNQZZuNptP5bWa/ODveR75IEH+hJAkCbrdrjA/HA7S8cfjEXEcC3v6fD6TPh8AP3i4VIn3XtNVwkqbwkqbwkqb4iWlPwENJBb5gZq7aAAAAABJRU5ErkJggg==", U = "data:image/png;base64,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", S = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAT2SURBVFiF7ZlPaBRXHMc/b2Z39t9EN7uG7i5sIAGLECV4qIg5VErSQ/Hg3luhlGJArVUItNBD6UmoHtoYWoQe7KFFEZKQ1bZIwRRMQdoivTWY5pY5tNU1bmadmd15PSS7JtmdZGa13Qr9HnaZ935v5sPv/d7v92aekFKyWdlsdgx4C3gREE0G/7wkMA98YRjGx5s7xXrobDY7DHwAvATE6AxwXRKoAD8BHxmG8X29owGdzWbfAT7pCJ4/nTYM41NYg85msy8DtzrL5EuHDcOYFZlMRgNmgYOdJvKhH4UQh1Vd198FXgfUThP50AtAWWQymd+Bvk7TBNCiwvMFDNCndJqgHT2X0KGgA6SUSCkRQjT+hfBfg2TjZ00ieAULDO04zoZr27aJRCJomkarLcE6NmxXYtVAUzZyR9Rg2L6hpZQ4jsOlS5fYs2dPo31hYYHR0VFM0yQej7cEF4BZlcRCgonhJH07Q1i11etf/3AYu1UirAj8TlhgT+/fv5/+/v7G9cDAAOl0mkKh0BJcAJWqRFMFX76WYqQ/iuWs9kfCAqWN3U3ghVipVJrahoaGmJqaIhKJYJpmI8brHtZUwVdHUoz0RblvupiOxHQkliOpVL1D6plBx+Pxlu2HDh1icnISTdMa4LYriYcFXx9JM9wXpVRxmxZdRBWBF6JvaCEElmUxOTnpabMevLyygkTw+Ug3r/RFKZkuyrpMIVkNj9/uV7FcfMczgMhkMr7nx3VdSqUSFy5c4OTJk552t2/fplAo4Ng2e3M7cF2JWZUMpMN89mqSmgvJmML1exXe/PYBUkIowJyruq5/6NdYCIGmaUxPT5NKpThw4EBLu97eXoaGhrh27RqLf67woKqyVK4REnBsb4KdMYUbC485duM+NRk85QWOaVVVSSaTnDlzhomJCU+7eqjsSESRdoVYWCEWFuyIqXxz7zFvXP8LCcRUQdClGMjTdSmKQiQSYXp6mu7ubk+P5/P5hsdXzAr5ZJSusODt7x5Qle0BQ8CY3qxarcbDhw85d+4cp06dIhRqnfbn5uYoFApYloWixVCERFPaA35qaCEEpVKJXbt2cffuXVKplKft3NwcR48e5bFloScSW5b87dT2Lk8IwaNHj+jp6WFmZmZLYFiN8ampKaKbClA7agu6DpxKpSgWiwwODvoa16oAtaPA0HXgdDpNsVhk3759gcZ7lfwgCgS93sMzMzNbAs/Pz3v2Pa3HA0FblkVPT8+2Hr58+TKDg4OMj4972tTBE4lE0x59O/nO01JKLMviypUrnnm5Dnz8+HHi8TjFYnHLPN7b20s+n+fq1atEo1Hf0IH205qmkcvltgQeHR2lq6uLcDhMKBTi7NmzCCE4ceJEyzG5XA5FCba0AllLKbFtu2Wf67qcP3++ASul9FXyve73zKABdF1vfSNFIZFIoKobP1StB7948WLTuEQbhSbw69bNmzfZvXt304Mcx2F5ebkJGp6Aj42NUS6XOXhw9bOhEII7d+54ln8vBS7j5XK5pWeklOi6jqqqnp6TUrK8vLwhhhVFQdf1QN5+qr1Hp/RcfmH6H/rfkgIsdhoioBYVYAIInuE7IxuYUIQQ48DPnabxqV+AcWVpackG3u80jU+9ZxiGrQAYhjELnO4w0HY6vcb5JHusHSwOAz8AJrT9svysJNc4ZoGR+sEnbDpmruu/fjb+Nx2M9cevd+7+AAAAAElFTkSuQmCC", O = "data:image/gif;base64,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", n = {
7
7
  okx: { name: "OKX", img: F },
8
8
  unisat: { name: "Unisat", img: U },
package/dist/core.js CHANGED
@@ -1,8 +1,8 @@
1
- import "./register-browser-providers-B5u1iRRq.js";
2
- import { s } from "./balances-CGAvYUZu.js";
3
- import { c as j, b as k, m as x, a as B } from "./balances-CGAvYUZu.js";
4
- import { W as e, a, b as t, d as o, e as n, f as r, h as i, i as l, s as c, j as g, k as d, l as p, m, n as f, o as b } from "./mint-D4wMHU5r.js";
5
- import { q as T, x as v, p as C, u as M, r as S, t as _, v as h, y as N, T as O, w as P } from "./mint-D4wMHU5r.js";
1
+ import "./register-browser-providers-DOpVXcri.js";
2
+ import { s } from "./balances-CHRCcJyq.js";
3
+ import { c as j, b as k, m as x, a as B } from "./balances-CHRCcJyq.js";
4
+ import { W as e, a, b as t, d as o, e as n, f as r, h as i, i as l, s as c, j as g, k as d, l as p, m, n as f, o as b } from "./mint-Cyl31b8y.js";
5
+ import { q as T, x as v, p as C, u as M, r as S, t as _, v as h, y as N, T as O, w as P } from "./mint-Cyl31b8y.js";
6
6
  const w = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
7
7
  __proto__: null,
8
8
  WalletAccountChangedError: e,
@@ -67627,7 +67627,9 @@ async function sendInscriptionToOpReturnWithExtraInputsAndExtraOutputAll(t, e, r
67627
67627
  if (C.satpoint.split(":")[2] !== "0")
67628
67628
  throw new Error("Inscription is not at the first sat of utxo");
67629
67629
  if (!B.addr) throw new Error("Payer wallet address is not set.");
67630
- const p = await getCardinalUtxos(B.addr), v = [{
67630
+ const p = await getCardinalUtxos(B.addr);
67631
+ (A <= 0 || A == null) && (A = 1);
67632
+ const v = [{
67631
67633
  utxo: `${C.satpoint.split(":")[0]}:${C.satpoint.split(":")[1]}`,
67632
67634
  value: C.value,
67633
67635
  script_type: C.script_type,
@@ -67676,7 +67678,9 @@ async function sendInscriptionToOpReturnWithExtraInputsAndExtraOutputFeeRate(t,
67676
67678
  if (l.satpoint.split(":")[2] !== "0")
67677
67679
  throw new Error("Inscription is not at the first sat of utxo");
67678
67680
  if (!I.addr) throw new Error("Payer wallet address is not set.");
67679
- const C = await getCardinalUtxos(I.addr, o), Q = [{
67681
+ const C = await getCardinalUtxos(I.addr, o);
67682
+ (A <= 0 || A == null) && (A = 1);
67683
+ const Q = [{
67680
67684
  utxo: `${l.satpoint.split(":")[0]}:${l.satpoint.split(":")[1]}`,
67681
67685
  value: l.value,
67682
67686
  script_type: l.script_type,
@@ -67850,16 +67854,17 @@ export {
67850
67854
  mintAll as ag,
67851
67855
  sendInscriptionToOpReturnWithExtraInputsAndExtraOutputAll as ah,
67852
67856
  mintWithExtraInputInCommitAll as ai,
67853
- callSmartContract as aj,
67854
- callSmartContractFromPaymentWallet as ak,
67855
- evmEncodeFunctionCall as al,
67856
- depositToBrc20Prog as am,
67857
- withdrawFromBrc20Prog as an,
67858
- inscribeMultiple as ao,
67859
- inscribeWithParent as ap,
67860
- getInscribeMultipleFee as aq,
67861
- fetchWithErrors as ar,
67862
- ethCallOnPublicRpc as as,
67857
+ evmEncodeFunctionCall as aj,
67858
+ getDustValue as ak,
67859
+ ethCallOnPublicRpc as al,
67860
+ callSmartContract as am,
67861
+ callSmartContractFromPaymentWallet as an,
67862
+ depositToBrc20Prog as ao,
67863
+ withdrawFromBrc20Prog as ap,
67864
+ inscribeMultiple as aq,
67865
+ inscribeWithParent as ar,
67866
+ getInscribeMultipleFee as as,
67867
+ fetchWithErrors as at,
67863
67868
  getCardinalBalance as b,
67864
67869
  clearWalletInfo as c,
67865
67870
  getEndpoints as d,
package/dist/node.js CHANGED
@@ -1,7 +1,7 @@
1
- import { z as fI, A as KA, B as f, C as eI, D as tI, E as RA, F as d, G as SI, H as ZA, I as e, J as UA, K as nI, L as pI, M as rI, N as FI, O as sI, P as KI, Q as BA, e as zA, k as eA, R as RI, c as UI, S as qI, W as VI, a as lI, b as dI, d as xI, f as YI, h as JI, i as PI, s as vI, j as OI, l as uI, m as jI, n as bI, o as LI } from "./mint-D4wMHU5r.js";
2
- import { q as ZQ, x as zQ, p as mQ, u as XQ, r as WQ, t as _Q, v as $Q, y as AC, w as IC } from "./mint-D4wMHU5r.js";
3
- import { s as TI } from "./balances-CGAvYUZu.js";
4
- import { c as QC, b as CC, m as BC, a as EC } from "./balances-CGAvYUZu.js";
1
+ import { z as fI, A as KA, B as f, C as eI, D as tI, E as RA, F as d, G as SI, H as ZA, I as e, J as UA, K as nI, L as pI, M as rI, N as FI, O as sI, P as KI, Q as BA, e as zA, k as eA, R as RI, c as UI, S as qI, W as VI, a as lI, b as dI, d as xI, f as YI, h as JI, i as PI, s as vI, j as OI, l as uI, m as jI, n as bI, o as LI } from "./mint-Cyl31b8y.js";
2
+ import { q as ZQ, x as zQ, p as mQ, u as XQ, r as WQ, t as _Q, v as $Q, y as AC, w as IC } from "./mint-Cyl31b8y.js";
3
+ import { s as TI } from "./balances-CHRCcJyq.js";
4
+ import { c as QC, b as CC, m as BC, a as EC } from "./balances-CHRCcJyq.js";
5
5
  var ZI = fI();
6
6
  const qA = {
7
7
  messagePrefix: `Bitcoin Signed Message:
package/dist/react.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { useSyncExternalStore as u, useCallback as r, useState as w } from "react";
2
- import { T as c, e, k as l, i as n } from "./mint-D4wMHU5r.js";
2
+ import { T as c, e, k as l, i as n } from "./mint-Cyl31b8y.js";
3
3
  function m() {
4
4
  const t = u(c, e, e), s = r((o) => l(o), []);
5
5
  return [t, s];
@@ -1,4 +1,4 @@
1
- import { F as l, E as x, G as b, e as d, U as B, I as p, h as S, V as P, S as T } from "./mint-D4wMHU5r.js";
1
+ import { F as l, E as x, G as b, e as d, U as B, I as p, h as S, V as P, S as T } from "./mint-Cyl31b8y.js";
2
2
  async function C() {
3
3
  if (!window.LeatherProvider) throw new Error("Leather extension not found.");
4
4
  const e = await window.LeatherProvider.request("getAddresses");
@@ -42,6 +42,17 @@ export declare function getBRC20ProgBalanceOfAddress(bitcoinAddress: string, tok
42
42
  * @returns {Promise<bigint>} A promise that resolves to a bigint representing the total balance in 18 decimals for the specified Bitcoin address and BRC-20 token.
43
43
  */
44
44
  export declare function getBRC20ProgBalanceOfTicker(bitcoinAddress: string, ticker: string): Promise<bigint>;
45
+ /**
46
+ * Reads the frBTC balance held by a Bitcoin address's BRC2.0 (EVM) address, straight from the frBTC
47
+ * contract on the public RPC. frBTC is an ERC-20 with no BRC-20 ticker, so the ticker reads above do
48
+ * not cover it. Use the ordinals address for a connected wallet: that is the address
49
+ * `brc20.wrapBtcToBrc20Prog` mints to and `brc20.unwrapBtcFromBrc20Prog` burns from.
50
+ *
51
+ * @param bitcoinAddress The Bitcoin address whose BRC2.0 balance to read.
52
+ *
53
+ * @returns {Promise<bigint>} The balance in sats (frBTC has 8 decimals).
54
+ */
55
+ export declare function getFrBtcBalanceOfAddress(bitcoinAddress: string): Promise<bigint>;
45
56
  /**
46
57
  * Get token address of a ticker in BRC2.0 by making an API call to the public RPC.
47
58
  *
@@ -1,6 +1,91 @@
1
+ import { Brc20SendQuote, SendAsBrc20Args, SendAsBrc20ProgArgs, SendAsBrc20ProgResult, SendAsBrc20Result } from '../core/brc20-send';
2
+ import { FrBtcResult, UnwrapBtcFromBrc20ProgArgs, WrapBtcToBrc20ProgArgs } from '../core/frbtc';
1
3
  import { BISWalletPurpose, PaymentOpts } from '../types/common';
2
4
  export type { Brc20AmountOptions, Brc20DeployOptions, Brc20PredeployOptions, Brc20PredeployResult, } from '../core/brc20-inscriptions';
3
5
  export { computeBrc20PredeployHash, deployBrc20Inscription, generateBrc20Salt, mintBrc20Inscription, predeployInscriptions, transferBrc20Inscription, } from '../core/brc20-inscriptions';
6
+ export type { Brc20SendPart, Brc20SendQuote, Brc20SendStepName, Brc20SendStepQuote, SendAsBrc20Args, SendAsBrc20ProgArgs, SendAsBrc20ProgResult, SendAsBrc20Result, } from '../core/brc20-send';
7
+ /**
8
+ * Sends a ticker so the recipient receives plain BRC-20. `fromBrc20Amount` is sent as a BRC-20
9
+ * transfer inscription and `fromProgAmount` as a BRC2.0 withdraw inscription, both to `recipient`.
10
+ * Every transaction is signed as one chain (each step spends the previous step's output) and the chain
11
+ * is broadcast at the end, so the parts never compete for a UTXO.
12
+ *
13
+ * With `dryRun: true` nothing is signed or broadcast and the result is a fee quote: total sats,
14
+ * wallet prompts, and a per-step breakdown. `onSignRequest` is called before each wallet prompt with
15
+ * `{ step, total }`; `total` is 2 per part.
16
+ *
17
+ * @param args - `tick`, `fromBrc20Amount` and `fromProgAmount` (decimal strings, either may be `"0"`), `recipient`, `feeRate` (sats/vB), `dryRun`, and optional `onSignRequest`.
18
+ * @returns The quote for a dry run; otherwise the transaction ids of each part plus every txid in chain order.
19
+ */
20
+ export declare function sendAsBrc20(args: SendAsBrc20Args & {
21
+ dryRun: true;
22
+ }): Promise<Brc20SendQuote>;
23
+ export declare function sendAsBrc20(args: SendAsBrc20Args & {
24
+ dryRun: false;
25
+ }): Promise<SendAsBrc20Result>;
26
+ export declare function sendAsBrc20(args: SendAsBrc20Args): Promise<Brc20SendQuote | SendAsBrc20Result>;
27
+ /**
28
+ * Sends a ticker so the recipient receives BRC2.0. When `topUpFromBrc20` is above 0, that much base
29
+ * BRC-20 is first deposited into the sender's own BRC2.0 balance; then an ERC-20
30
+ * `transfer(recipientEvm, amount)` call on `contractAddress` moves `amount` to the EVM address of
31
+ * `recipient`. Both are inscribed from the ordinals identity, which owns the BRC2.0 balance, and the
32
+ * call spends the deposit's output so the deposit is indexed first.
33
+ *
34
+ * With `dryRun: true` nothing is signed or broadcast and the result is a fee quote. `onSignRequest` is
35
+ * called before each wallet prompt with `{ step, total }`; `total` is 2, or 4 with a top-up.
36
+ *
37
+ * @param args - `tick`, `contractAddress`, `topUpFromBrc20` (decimal string, may be `"0"`), `amount` (bigint, 18 decimals, as in `swap.deposit`), `recipient`, `feeRate` (sats/vB), `dryRun`, and optional `onSignRequest`.
38
+ * @returns The quote for a dry run; otherwise the transaction ids of each part plus every txid in chain order.
39
+ */
40
+ export declare function sendAsBrc20Prog(args: SendAsBrc20ProgArgs & {
41
+ dryRun: true;
42
+ }): Promise<Brc20SendQuote>;
43
+ export declare function sendAsBrc20Prog(args: SendAsBrc20ProgArgs & {
44
+ dryRun: false;
45
+ }): Promise<SendAsBrc20ProgResult>;
46
+ export declare function sendAsBrc20Prog(args: SendAsBrc20ProgArgs): Promise<Brc20SendQuote | SendAsBrc20ProgResult>;
47
+ export type { FrBtcResult, UnwrapBtcFromBrc20ProgArgs, WrapBtcToBrc20ProgArgs } from '../core/frbtc';
48
+ export { getFrBtcAddress } from '../core/frbtc';
49
+ /**
50
+ * Wraps BTC into frBTC held by the wallet's own BRC2.0 address, with no smart wallet involved. One
51
+ * call inscription runs `wrap()` on Subfrost's frBTC contract; its send transaction pays `amount`
52
+ * sats to the frBTC signer, and the contract mints frBTC, less its `premium()` fee, to the ordinals
53
+ * address's BRC2.0 address.
54
+ *
55
+ * With `dryRun: true` nothing is signed or broadcast and the result is a fee quote whose
56
+ * `paymentSats` is the wrapped amount. `onSignRequest` is called before each wallet prompt with
57
+ * `{ step, total }`; `total` is 2.
58
+ *
59
+ * @param args - `amount` (bigint sats, at least 546), `feeRate` (sats/vB), `dryRun`, and optional `onSignRequest`.
60
+ * @returns The quote for a dry run; otherwise the call's transaction ids plus every txid in chain order.
61
+ */
62
+ export declare function wrapBtcToBrc20Prog(args: WrapBtcToBrc20ProgArgs & {
63
+ dryRun: true;
64
+ }): Promise<Brc20SendQuote>;
65
+ export declare function wrapBtcToBrc20Prog(args: WrapBtcToBrc20ProgArgs & {
66
+ dryRun: false;
67
+ }): Promise<FrBtcResult>;
68
+ export declare function wrapBtcToBrc20Prog(args: WrapBtcToBrc20ProgArgs): Promise<Brc20SendQuote | FrBtcResult>;
69
+ /**
70
+ * Unwraps frBTC held by the wallet's own BRC2.0 address into BTC paid to `recipient`, with no smart
71
+ * wallet involved. One call inscription runs `unwrap2` on Subfrost's frBTC contract, which burns the
72
+ * frBTC and queues the payment; its send transaction pays a 546-sat marker to the frBTC signer, which
73
+ * pays the BTC out in a later Bitcoin transaction.
74
+ *
75
+ * With `dryRun: true` nothing is signed or broadcast and the result is a fee quote. `onSignRequest` is
76
+ * called before each wallet prompt with `{ step, total }`; `total` is 2.
77
+ *
78
+ * @param args - `amount` (bigint sats), `recipient` (Bitcoin address), `feeRate` (sats/vB), `dryRun`, and optional `onSignRequest`.
79
+ * @returns The quote for a dry run; otherwise the call's transaction ids plus every txid in chain order.
80
+ * @throws {Error} When the BRC2.0 frBTC balance is below `amount`, before anything is signed.
81
+ */
82
+ export declare function unwrapBtcFromBrc20Prog(args: UnwrapBtcFromBrc20ProgArgs & {
83
+ dryRun: true;
84
+ }): Promise<Brc20SendQuote>;
85
+ export declare function unwrapBtcFromBrc20Prog(args: UnwrapBtcFromBrc20ProgArgs & {
86
+ dryRun: false;
87
+ }): Promise<FrBtcResult>;
88
+ export declare function unwrapBtcFromBrc20Prog(args: UnwrapBtcFromBrc20ProgArgs): Promise<Brc20SendQuote | FrBtcResult>;
4
89
  /**
5
90
  * Interface representing the result of an inscription and send to OP_RETURN operation, including transaction IDs, signed transaction hexes, inscription ID, postage, and secret used in the minting process. This interface is used to encapsulate the details of the deploy, call and deposit operations in the BRC2.0 programmable module.
6
91
  *
@@ -0,0 +1,127 @@
1
+ import { SignProgressOptions } from './sign-progress';
2
+ import { InscriptionDetails } from '../types/inscription';
3
+ import { WalletInfo } from '../types/wallet';
4
+ /** The transactions of one inscribe-and-send step. */
5
+ export interface Brc20SendPart {
6
+ commitTxId: string;
7
+ revealTxId: string;
8
+ /** The transaction that moves the inscription to its target (recipient or OP_RETURN). */
9
+ sendTxId: string;
10
+ inscriptionId: string;
11
+ }
12
+ /** Fee breakdown of one inscribe-and-send step. */
13
+ export interface Brc20SendStepQuote {
14
+ step: Brc20SendStepName;
15
+ /** Miner fees of the commit, reveal and send transactions. */
16
+ minerFeeSats: number;
17
+ /** Sats the send leaves on its target output (the recipient's postage, or 1 sat on OP_RETURN). */
18
+ postageSats: number;
19
+ /** Sats the send pays to its extra outputs, such as the BTC an frBTC wrap sends to the signer. */
20
+ paymentSats: number;
21
+ /** Wallet prompts this step raises. */
22
+ walletPrompts: number;
23
+ }
24
+ /** What a composite send costs, built without signing or broadcasting. */
25
+ export interface Brc20SendQuote {
26
+ /** Sats the wallet spends in all: miner fees, postage and payments. */
27
+ totalSats: number;
28
+ minerFeeSats: number;
29
+ postageSats: number;
30
+ paymentSats: number;
31
+ /** Wallet prompts the real send raises; `onSignRequest` reports each of them. */
32
+ walletPrompts: number;
33
+ feeRate: number;
34
+ steps: Brc20SendStepQuote[];
35
+ }
36
+ export type Brc20SendStepName = 'brc20Transfer' | 'progWithdraw' | 'progDeposit' | 'progTransfer' | 'frBtcWrap' | 'frBtcUnwrap';
37
+ /** An output the send transaction carries right after the target, at vout 1, 2, …. */
38
+ export interface ChainExtraOutput {
39
+ wallet: WalletInfo;
40
+ value: number;
41
+ }
42
+ export interface ChainStep {
43
+ name: Brc20SendStepName;
44
+ inscription: InscriptionDetails;
45
+ target: WalletInfo;
46
+ extraOutputs?: ChainExtraOutput[];
47
+ /** Most inputs the send may spend; the chain is refused before broadcast when it spends more. */
48
+ maxSendInputs?: number;
49
+ }
50
+ export interface ChainResult {
51
+ parts: Record<string, Brc20SendPart>;
52
+ txIds: string[];
53
+ }
54
+ export declare function opReturnTarget(): WalletInfo;
55
+ /**
56
+ * Builds a `brc20-prog` call inscription. BRC2.0 grants `content bytes × GAS_PER_BYTE` gas, so the
57
+ * content is padded with spaces when its bytes alone fall short of `gasCeiling`.
58
+ */
59
+ export declare function callInscription(contractAddress: string, calldata: string, gasCeiling: number): Promise<InscriptionDetails>;
60
+ /**
61
+ * Parses a BRC-20 decimal amount string into an 18-decimal bigint.
62
+ *
63
+ * @param value - A non-negative decimal string with at most 18 fractional digits, such as `"0"` or `"12.5"`.
64
+ * @param label - The argument name used in error messages.
65
+ */
66
+ export declare function parseBrc20Amount(value: string, label: string): bigint;
67
+ export declare function assertRecipient(recipient: string): void;
68
+ export declare function assertFeeRate(feeRate: number): void;
69
+ export declare function runChain(steps: ChainStep[], feeRate: number, dryRun: boolean, options: SignProgressOptions): Promise<Brc20SendQuote | ChainResult>;
70
+ export interface SendAsBrc20Args extends SignProgressOptions {
71
+ tick: string;
72
+ /** Amount taken from the sender's base BRC-20 balance, as a decimal string; `"0"` skips it. */
73
+ fromBrc20Amount: string;
74
+ /** Amount taken from the sender's BRC2.0 balance, as a decimal string; `"0"` skips it. */
75
+ fromProgAmount: string;
76
+ /** Bitcoin address that receives plain BRC-20. */
77
+ recipient: string;
78
+ feeRate: number;
79
+ dryRun: boolean;
80
+ }
81
+ export interface SendAsBrc20Result {
82
+ /** The BRC-20 transfer inscription sent to the recipient, or null when `fromBrc20Amount` is 0. */
83
+ brc20Transfer: Brc20SendPart | null;
84
+ /** The BRC2.0 withdraw inscription sent to the recipient, or null when `fromProgAmount` is 0. */
85
+ progWithdraw: Brc20SendPart | null;
86
+ /** Every broadcast transaction id, in chain order. */
87
+ txIds: string[];
88
+ }
89
+ /**
90
+ * Sends a ticker so the recipient receives plain BRC-20, drawing on the sender's base BRC-20 balance
91
+ * first and its BRC2.0 balance second. The base part is a BRC-20 transfer inscription sent to the
92
+ * recipient; the BRC2.0 part is a `brc20-module` withdraw inscription sent to the recipient. Both
93
+ * parts are signed as one chain and broadcast together.
94
+ */
95
+ export declare function sendAsBrc20(args: SendAsBrc20Args): Promise<Brc20SendQuote | SendAsBrc20Result>;
96
+ export interface SendAsBrc20ProgArgs extends SignProgressOptions {
97
+ tick: string;
98
+ /** The token's BRC2.0 (ERC-20) contract address. */
99
+ contractAddress: string;
100
+ /**
101
+ * Amount deposited from the sender's base BRC-20 balance into its own BRC2.0 balance before the
102
+ * transfer, as a decimal string; `"0"` skips the deposit.
103
+ */
104
+ topUpFromBrc20: string;
105
+ /** Total amount the recipient receives, in 18 decimals (the BRC2.0 token unit, as in `swap.deposit`). */
106
+ amount: bigint;
107
+ /** Bitcoin address whose BRC2.0 (EVM) address receives the tokens. */
108
+ recipient: string;
109
+ feeRate: number;
110
+ dryRun: boolean;
111
+ }
112
+ export interface SendAsBrc20ProgResult {
113
+ /** The deposit into the sender's BRC2.0 balance, or null when `topUpFromBrc20` is 0. */
114
+ progDeposit: Brc20SendPart | null;
115
+ /** The ERC-20 `transfer` call to the recipient. */
116
+ progTransfer: Brc20SendPart;
117
+ /** Every broadcast transaction id, in chain order. */
118
+ txIds: string[];
119
+ }
120
+ /**
121
+ * Sends a ticker so the recipient receives BRC2.0. When `topUpFromBrc20` is above 0, a deposit first
122
+ * moves that much of the sender's base BRC-20 into its own BRC2.0 balance; then an ERC-20
123
+ * `transfer(recipientEvm, amount)` call moves `amount` to the recipient's EVM address. Both are
124
+ * inscribed from the ordinals identity, which owns the BRC2.0 balance, and the call's commit spends
125
+ * the deposit's output so the deposit is indexed first.
126
+ */
127
+ export declare function sendAsBrc20Prog(args: SendAsBrc20ProgArgs): Promise<Brc20SendQuote | SendAsBrc20ProgResult>;
@@ -0,0 +1,58 @@
1
+ import { Brc20SendPart, Brc20SendQuote } from './brc20-send';
2
+ import { SignProgressOptions } from './sign-progress';
3
+ import { Buffer } from 'node:buffer';
4
+ /**
5
+ * Value of the marker output an unwrap pays the frBTC signer, and the smallest wrap: the dust limit
6
+ * of every standard output type.
7
+ */
8
+ export declare const FRBTC_SIGNER_DUST_SATS = 546;
9
+ /**
10
+ * Returns the frBTC contract address on the selected network, lowercased.
11
+ *
12
+ * @throws {Error} On a network without frBTC (testnet).
13
+ */
14
+ export declare function getFrBtcAddress(): string;
15
+ /** Reads the output script of the frBTC signer, which receives wrapped BTC and unwrap markers. */
16
+ export declare function getFrBtcSignerScript(): Promise<Buffer>;
17
+ /**
18
+ * Reads the frBTC balance held by a Bitcoin address's BRC2.0 (EVM) address.
19
+ *
20
+ * @param bitcoinAddress - The Bitcoin address whose BRC2.0 balance to read; the ordinals address for a connected wallet.
21
+ * @returns The balance in sats (frBTC has 8 decimals).
22
+ */
23
+ export declare function getFrBtcBalanceOfAddress(bitcoinAddress: string): Promise<bigint>;
24
+ export interface WrapBtcToBrc20ProgArgs extends SignProgressOptions {
25
+ /** BTC to wrap, in sats. The wallet's BRC2.0 address receives the frBTC. */
26
+ amount: bigint;
27
+ feeRate: number;
28
+ dryRun: boolean;
29
+ }
30
+ export interface UnwrapBtcFromBrc20ProgArgs extends SignProgressOptions {
31
+ /** frBTC to unwrap, in sats, taken from the wallet's BRC2.0 balance. */
32
+ amount: bigint;
33
+ /** Bitcoin address the signer pays the BTC to. */
34
+ recipient: string;
35
+ feeRate: number;
36
+ dryRun: boolean;
37
+ }
38
+ export interface FrBtcResult {
39
+ /** The call inscription's commit, reveal and send transactions. */
40
+ call: Brc20SendPart;
41
+ /** Every broadcast transaction id, in chain order. */
42
+ txIds: string[];
43
+ }
44
+ /**
45
+ * Wraps BTC into frBTC held by the wallet's own BRC2.0 address. One call inscription runs `wrap()` on
46
+ * the frBTC contract, and its send transaction pays `amount` sats to the frBTC signer at vout 1; the
47
+ * contract mints frBTC, less its `premium()` fee, to the inscription's owner, the ordinals address.
48
+ */
49
+ export declare function wrapBtcToBrc20Prog(args: WrapBtcToBrc20ProgArgs): Promise<Brc20SendQuote | FrBtcResult>;
50
+ /**
51
+ * Unwraps frBTC held by the wallet's own BRC2.0 address into BTC paid to `recipient`. One call
52
+ * inscription runs `unwrap2(amount, 1, recipientScript)` on the frBTC contract, and its send
53
+ * transaction pays a 546-sat marker to the frBTC signer at vout 1. The contract burns the frBTC and
54
+ * queues the payment; the signer pays it out in a later Bitcoin transaction.
55
+ *
56
+ * @throws {Error} When the BRC2.0 frBTC balance is below `amount`, before anything is signed.
57
+ */
58
+ export declare function unwrapBtcFromBrc20Prog(args: UnwrapBtcFromBrc20ProgArgs): Promise<Brc20SendQuote | FrBtcResult>;
@@ -5,6 +5,7 @@ import { InscribeFees, InscribeMultipleResult, InscribeResult, SendInscriptionRe
5
5
  import { Buffer } from 'node:buffer';
6
6
  import { WalletInfo } from '../types/wallet';
7
7
  import * as bitcoinjs from 'bitcoinjs-lib';
8
+ export declare function getDustValue(wallet: WalletInfo): number;
8
9
  interface TapLeafScriptInfo {
9
10
  script: Buffer;
10
11
  controlBlock: Buffer;
package/dist/vue.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ref as s, onScopeDispose as u, watch as i } from "vue";
2
- import { e as r, T as c, k as a } from "./mint-D4wMHU5r.js";
2
+ import { e as r, T as c, k as a } from "./mint-Cyl31b8y.js";
3
3
  function n() {
4
4
  const o = s(r()), t = c((e) => {
5
5
  o.value !== e && (o.value = e);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bestinslot/wallet-kit",
3
3
  "type": "module",
4
- "version": "0.13.7",
4
+ "version": "0.14.0",
5
5
  "private": false,
6
6
  "description": "A lightweight JavaScript library for connecting Bitcoin wallets with a unified API.",
7
7
  "license": "MIT",