@bestinslot/wallet-kit 0.7.1 → 0.9.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/{balances-BQiaAIaq.js → balances-B09OW3BF.js} +2918 -2793
- package/dist/browser.js +2 -2
- package/dist/core.js +2 -2
- package/dist/node.js +2 -2
- package/dist/types/api/brc20.d.ts +2 -0
- package/dist/types/api/swap.d.ts +2 -2
- package/dist/types/core/bis_swap.d.ts +32 -0
- package/dist/types/core/brc20-inscriptions.d.ts +122 -0
- package/dist/types/lib/uniswap_ops.d.ts +8 -0
- package/package.json +3 -1
package/dist/browser.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "./register-browser-providers-CLLT6W6P.js";
|
|
2
2
|
import { g as d, c as B, a as Q, b as h, d as E, e as C, f as b, h as p, s as m, i as u, j as f, k as D, l as M } from "./mint-BXVHw4CQ.js";
|
|
3
3
|
import { m as z, n as W, o as L, p as P, q as X, r as _, t as $, u as AA, v as eA } from "./mint-BXVHw4CQ.js";
|
|
4
|
-
import { s as I } from "./balances-
|
|
5
|
-
import { b as oA, a as iA, m as rA, c as aA } from "./balances-
|
|
4
|
+
import { s as I } from "./balances-B09OW3BF.js";
|
|
5
|
+
import { b as oA, a as iA, m as rA, c as aA } from "./balances-B09OW3BF.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}', x = "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", v = "data:image/png;base64,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", y = "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==", K = "data:image/png;base64,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", G = "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", Y = "data:image/gif;base64,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", n = {
|
|
7
7
|
okx: { name: "OKX", img: y },
|
|
8
8
|
unisat: { name: "Unisat", img: K },
|
package/dist/core.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./register-browser-providers-CLLT6W6P.js";
|
|
2
|
-
import { s } from "./balances-
|
|
3
|
-
import { b as w, a as j, m as k, c as y } from "./balances-
|
|
2
|
+
import { s } from "./balances-B09OW3BF.js";
|
|
3
|
+
import { b as w, a as j, m as k, c as y } from "./balances-B09OW3BF.js";
|
|
4
4
|
import { a as e, b as a, d as t, e as o, f as r, h as n, s as i, i as l, j as c, k as g, l as m } from "./mint-BXVHw4CQ.js";
|
|
5
5
|
import { m as W, n as v, o as x, p as A, q as M, r as S, t as _, u as N, w as O, v as P } from "./mint-BXVHw4CQ.js";
|
|
6
6
|
const b = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
package/dist/node.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { E as UI, F as qI, G as lI, H as VI, I as xI, J as tA, y as dA, x as d, z as dI, K as II, B as M, W as YA, L as YI, M as JI, N as PI, O as vI, P as OI, Q as oA, d as gI, R as uI, i as pA, S as bI, c as jI, D as LI, a as TI, b as ZI, e as zI, f as mI, h as XI, s as WI, j as _I, k as $I, l as Ag } from "./mint-BXVHw4CQ.js";
|
|
2
2
|
import { m as kC, n as cC, o as eC, p as tC, q as fC, r as HC, t as MC, u as NC, v as nC } from "./mint-BXVHw4CQ.js";
|
|
3
|
-
import { s as Ig } from "./balances-
|
|
4
|
-
import { b as sC, a as rC, m as pC, c as FC } from "./balances-
|
|
3
|
+
import { s as Ig } from "./balances-B09OW3BF.js";
|
|
4
|
+
import { b as sC, a as rC, m as pC, c as FC } from "./balances-B09OW3BF.js";
|
|
5
5
|
var gg = UI();
|
|
6
6
|
const JA = {
|
|
7
7
|
messagePrefix: `Bitcoin Signed Message:
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { BISWalletPurpose, PaymentOpts } from '../types/common';
|
|
2
|
+
export type { Brc20AmountOptions, Brc20DeployOptions, Brc20PredeployOptions, Brc20PredeployResult, } from '../core/brc20-inscriptions';
|
|
3
|
+
export { computeBrc20PredeployHash, deployBrc20Inscription, generateBrc20Salt, mintBrc20Inscription, predeployInscriptions, transferBrc20Inscription, } from '../core/brc20-inscriptions';
|
|
2
4
|
/**
|
|
3
5
|
* 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.
|
|
4
6
|
*
|
package/dist/types/api/swap.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { generateAndStoreSwapWallet as createSwapWallet, ensureSwapWallet, getAddLiquidityResult, getKlines, requestMinerFee as getMinerFee, getMinerFeesOfDepositOrder, getMinerFeesOfWrapOrder, getPairReserves, getPairVolumeOverDays, getRemoveLiquidityResult, getSwapBalance, getSwapBalances, getSwapResult as getSwapExactInputResult, getSwap2Result as getSwapExactOutputResult, getSwapInfo, getSwapStatus, getSwapWalletSecurityCode, getTokenDecimals, getUnwrapResult as getUnwrapBtcResult, importSwapWallet, listPairs, listTokens, tryGetSwapReferrerInfo, } from '../core/bis_swap';
|
|
2
|
-
export type { EnsureSwapWalletResult, GetActivityOfPairResponse, GetKlinesRequest, GetKlinesResponse, GetPairVolumeRequest, GetPairVolumeResponse, GetSwapStatusResponse, GetWalletActivitiesResponse, ImportSwapWalletOptions, Kline, ListPairsOrderBy, ListPairsRequest, ListPairsResponse, PairActivityEntry, PairInfo, PairReserves, SwapBalance, SwapInfo, TokenInfo, WalletActivityEntry, } from '../core/bis_swap';
|
|
1
|
+
export { generateAndStoreSwapWallet as createSwapWallet, ensureSwapWallet, getAddLiquidityResult, getKlines, requestMinerFee as getMinerFee, getMinerFeesOfDepositOrder, getMinerFeesOfWrapOrder, getPairReserves, getPairVolumeOverDays, getRemoveLiquidityResult, getSwapBalance, getSwapBalances, getSwapResult as getSwapExactInputResult, getSwap2Result as getSwapExactOutputResult, getSwapInfo, getSwapStatus, getSwapWalletSecurityCode, getTokenDecimals, getTvlHistory, getUnwrapResult as getUnwrapBtcResult, importSwapWallet, listPairs, listTokens, tryGetSwapReferrerInfo, } from '../core/bis_swap';
|
|
2
|
+
export type { EnsureSwapWalletResult, GetActivityOfPairResponse, GetKlinesRequest, GetKlinesResponse, GetPairVolumeRequest, GetPairVolumeResponse, GetSwapStatusResponse, GetTvlHistoryRequest, GetTvlHistoryResponse, GetWalletActivitiesResponse, ImportSwapWalletOptions, Kline, ListPairsOrderBy, ListPairsRequest, ListPairsResponse, PairActivityEntry, PairInfo, PairReserves, SwapBalance, SwapInfo, TokenInfo, TvlPoint, WalletActivityEntry, } from '../core/bis_swap';
|
|
3
3
|
export type { AllBalanceDetails } from '../core/helpers';
|
|
4
4
|
export type { BISSwapWalletInfo } from '../core/store';
|
|
5
5
|
export type { SwapFees } from '../lib/swap-reporting';
|
|
@@ -282,6 +282,34 @@ export interface GetKlinesResponse {
|
|
|
282
282
|
* @returns {Promise<GetKlinesResponse>} A promise that resolves to an object containing the pair address, token addresses and symbols, interval, and an array of kline data. Each kline includes open time, close time, open price, high price, low price, close price, volume in WBTC, and number of trades. The volume is returned as a string from the API and can be converted to bigint if needed.
|
|
283
283
|
*/
|
|
284
284
|
export declare function getKlines(params: GetKlinesRequest): Promise<GetKlinesResponse>;
|
|
285
|
+
export interface GetTvlHistoryRequest {
|
|
286
|
+
pair_address: string;
|
|
287
|
+
days: number;
|
|
288
|
+
}
|
|
289
|
+
export interface TvlPoint {
|
|
290
|
+
timestamp: number;
|
|
291
|
+
block_height: number;
|
|
292
|
+
tvl: string;
|
|
293
|
+
}
|
|
294
|
+
export interface GetTvlHistoryResponse {
|
|
295
|
+
pair_address: string;
|
|
296
|
+
token_a_address: string;
|
|
297
|
+
token_a_symbol: string;
|
|
298
|
+
token_b_address: string;
|
|
299
|
+
token_b_symbol: string;
|
|
300
|
+
wbtc_side: 'token_a' | 'token_b' | '';
|
|
301
|
+
period_days: number;
|
|
302
|
+
points: TvlPoint[];
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Fetches a daily Total Value Locked (TVL) series for a token pair from the swap backend, for charting TVL over time.
|
|
306
|
+
*
|
|
307
|
+
* TVL is valued in WBTC sats (2 x the WBTC-side reserve). Points are one per day, oldest first, each carrying the pair's reserves as of that day (carried forward across days with no on-chain change). A pair with no WBTC side reports `wbtc_side: ''` and a zero series.
|
|
308
|
+
*
|
|
309
|
+
* @param params An object with the pair address and the number of days to look back (max 365; the backend clamps out-of-range values).
|
|
310
|
+
* @returns {Promise<GetTvlHistoryResponse>} A promise that resolves to the pair address, token addresses and symbols, which side is WBTC, the period in days, and the ascending array of `{ timestamp, block_height, tvl }` points. Each `tvl` is a string of sats and can be converted to bigint if needed.
|
|
311
|
+
*/
|
|
312
|
+
export declare function getTvlHistory(params: GetTvlHistoryRequest): Promise<GetTvlHistoryResponse>;
|
|
285
313
|
export interface GetActivityOfPairRequest {
|
|
286
314
|
pair_address: string;
|
|
287
315
|
limit: number;
|
|
@@ -502,6 +530,8 @@ export declare function getSwapResult(tokenInAddr: string, tokenOutAddr: string,
|
|
|
502
530
|
amount_out: bigint;
|
|
503
531
|
quoted_price: number;
|
|
504
532
|
price_impact_bps: bigint;
|
|
533
|
+
reserve_in: bigint;
|
|
534
|
+
reserve_out: bigint;
|
|
505
535
|
fees: SwapFees;
|
|
506
536
|
}>;
|
|
507
537
|
interface SwapOrderResponse {
|
|
@@ -533,6 +563,8 @@ export declare function getSwap2Result(tokenInAddr: string, tokenOutAddr: string
|
|
|
533
563
|
amount_in: bigint;
|
|
534
564
|
quoted_price: number;
|
|
535
565
|
price_impact_bps: bigint;
|
|
566
|
+
reserve_in: bigint;
|
|
567
|
+
reserve_out: bigint;
|
|
536
568
|
fees: SwapFees;
|
|
537
569
|
}>;
|
|
538
570
|
interface Swap2OrderResponse {
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { InscriptionDetails } from '../types/inscription';
|
|
2
|
+
/**
|
|
3
|
+
* Options shared by the deploy builders.
|
|
4
|
+
*
|
|
5
|
+
* @property tick - The BRC-20 ticker. 4 or 5 bytes for {@link deployBrc20Inscription}; 6 bytes for {@link predeployInscriptions}.
|
|
6
|
+
* @property max - Maximum supply, as a string (BRC-20 amounts are strings).
|
|
7
|
+
* @property lim - Optional per-mint limit, as a string.
|
|
8
|
+
* @property dec - Optional decimals, as a string or number (serialised as a string).
|
|
9
|
+
* @property selfMint - Optional override for the `self_mint` field. 5-byte tickers force `true`; 4-byte tickers default to omitting it unless set to `true`.
|
|
10
|
+
*/
|
|
11
|
+
export interface Brc20DeployOptions {
|
|
12
|
+
tick: string;
|
|
13
|
+
max: string;
|
|
14
|
+
lim?: string;
|
|
15
|
+
dec?: string | number;
|
|
16
|
+
selfMint?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Options for {@link mintBrc20Inscription} and {@link transferBrc20Inscription}.
|
|
20
|
+
*
|
|
21
|
+
* @property tick - The BRC-20 ticker (4-6 bytes).
|
|
22
|
+
* @property amt - The amount, as a string (BRC-20 amounts are strings).
|
|
23
|
+
*/
|
|
24
|
+
export interface Brc20AmountOptions {
|
|
25
|
+
tick: string;
|
|
26
|
+
amt: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Options for {@link predeployInscriptions}.
|
|
30
|
+
*
|
|
31
|
+
* @property tick - The 6-byte namespaced ticker (must match /^[A-Za-z0-9-]{6}$/).
|
|
32
|
+
* @property address - The deployer's Bitcoin address. Its output script (pkscript) is derived on the current network and bound into the commitment hash, so this must be the address that will receive the deploy reveal.
|
|
33
|
+
* @property salt - Optional hex salt. Generated automatically when omitted.
|
|
34
|
+
* @property max - Maximum supply, as a string.
|
|
35
|
+
* @property lim - Optional per-mint limit, as a string.
|
|
36
|
+
* @property dec - Optional decimals, as a string or number.
|
|
37
|
+
*/
|
|
38
|
+
export interface Brc20PredeployOptions {
|
|
39
|
+
tick: string;
|
|
40
|
+
address: string;
|
|
41
|
+
salt?: string;
|
|
42
|
+
max: string;
|
|
43
|
+
lim?: string;
|
|
44
|
+
dec?: string | number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Result of {@link predeployInscriptions}: the salt/hash used and both ready-to-inscribe payloads.
|
|
48
|
+
*
|
|
49
|
+
* @property salt - The hex salt used (echo of the input, or the auto-generated value). Keep it: the deploy reveal must reuse the same salt.
|
|
50
|
+
* @property hash - The `double_sha256(tick + salt + pkscript)` hex committed to by the predeploy.
|
|
51
|
+
* @property predeploy - The predeploy inscription (inscribe first).
|
|
52
|
+
* @property deploy - The matching deploy inscription (inscribe as a child of the predeploy after the required block delay).
|
|
53
|
+
*/
|
|
54
|
+
export interface Brc20PredeployResult {
|
|
55
|
+
salt: string;
|
|
56
|
+
hash: string;
|
|
57
|
+
predeploy: InscriptionDetails;
|
|
58
|
+
deploy: InscriptionDetails;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Build a BRC-20 `deploy` inscription for a 4- or 5-byte ticker.
|
|
62
|
+
*
|
|
63
|
+
* 4-byte tickers are free to mint (no `self_mint`); 5-byte tickers are
|
|
64
|
+
* self-issuance and always carry `self_mint: "true"`. For 6-byte namespaced
|
|
65
|
+
* tickers use {@link predeployInscriptions} instead.
|
|
66
|
+
*
|
|
67
|
+
* @param opts - See {@link Brc20DeployOptions}.
|
|
68
|
+
* @returns An {@link InscriptionDetails} ready to pass to `inscribe`.
|
|
69
|
+
* @throws If the ticker is not 4 or 5 bytes, if a 6-byte ticker is supplied, or if `self_mint` is disabled for a 5-byte ticker.
|
|
70
|
+
*/
|
|
71
|
+
export declare function deployBrc20Inscription(opts: Brc20DeployOptions): InscriptionDetails;
|
|
72
|
+
/**
|
|
73
|
+
* Build a BRC-20 `mint` inscription.
|
|
74
|
+
*
|
|
75
|
+
* @param opts - See {@link Brc20AmountOptions}.
|
|
76
|
+
* @returns An {@link InscriptionDetails} ready to pass to `inscribe`.
|
|
77
|
+
* @throws If the ticker is not 4-6 bytes or the amount is not a non-empty string.
|
|
78
|
+
*/
|
|
79
|
+
export declare function mintBrc20Inscription(opts: Brc20AmountOptions): InscriptionDetails;
|
|
80
|
+
/**
|
|
81
|
+
* Build a BRC-20 `transfer` inscription.
|
|
82
|
+
*
|
|
83
|
+
* @param opts - See {@link Brc20AmountOptions}.
|
|
84
|
+
* @returns An {@link InscriptionDetails} ready to pass to `inscribe`.
|
|
85
|
+
* @throws If the ticker is not 4-6 bytes or the amount is not a non-empty string.
|
|
86
|
+
*/
|
|
87
|
+
export declare function transferBrc20Inscription(opts: Brc20AmountOptions): InscriptionDetails;
|
|
88
|
+
/**
|
|
89
|
+
* Generate a random hex salt for a 6-byte namespace predeploy.
|
|
90
|
+
*
|
|
91
|
+
* @param byteLength - Number of random bytes (default 16). The returned hex string is twice this length.
|
|
92
|
+
* @returns A lowercase hex string.
|
|
93
|
+
*/
|
|
94
|
+
export declare function generateBrc20Salt(byteLength?: number): string;
|
|
95
|
+
/**
|
|
96
|
+
* Compute the predeploy commitment hash for a 6-byte namespace ticker.
|
|
97
|
+
*
|
|
98
|
+
* The preimage is `utf8(tick) ++ hexDecode(salt) ++ hexDecode(pkscript)`, and
|
|
99
|
+
* the hash is `sha256(sha256(preimage))`. The pkscript binds the commitment to
|
|
100
|
+
* the deployer, preventing cross-wallet replay.
|
|
101
|
+
*
|
|
102
|
+
* @param tick - The 6-byte namespaced ticker (must match /^[A-Za-z0-9-]{6}$/).
|
|
103
|
+
* @param salt - The salt, as a hex string.
|
|
104
|
+
* @param pkscript - The deployer's output script, as a hex string.
|
|
105
|
+
* @returns The commitment hash, as a lowercase hex string.
|
|
106
|
+
* @throws If the ticker is not a valid 6-byte namespaced ticker, or the salt/pkscript is not valid hex.
|
|
107
|
+
*/
|
|
108
|
+
export declare function computeBrc20PredeployHash(tick: string, salt: string, pkscript: string): string;
|
|
109
|
+
/**
|
|
110
|
+
* Build the predeploy + deploy inscription pair for a 6-byte namespace ticker.
|
|
111
|
+
*
|
|
112
|
+
* Inscribe the returned `predeploy` first, wait the required number of blocks,
|
|
113
|
+
* then inscribe `deploy` as a child of the predeploy inscription (e.g. via
|
|
114
|
+
* `inscribeWithParent(result.deploy, predeployInscriptionId, …)`). The salt is
|
|
115
|
+
* generated automatically unless supplied, and is echoed back so the pair stays
|
|
116
|
+
* consistent.
|
|
117
|
+
*
|
|
118
|
+
* @param opts - See {@link Brc20PredeployOptions}.
|
|
119
|
+
* @returns The salt, commitment hash, and both {@link InscriptionDetails} payloads.
|
|
120
|
+
* @throws If the ticker is not a valid 6-byte namespaced ticker, the address is invalid, or the salt is not valid hex.
|
|
121
|
+
*/
|
|
122
|
+
export declare function predeployInscriptions(opts: Brc20PredeployOptions): Brc20PredeployResult;
|
|
@@ -132,12 +132,16 @@ btcFee: bigint): Promise<{
|
|
|
132
132
|
success: boolean;
|
|
133
133
|
amounts: bigint[];
|
|
134
134
|
price_impact_bps: bigint;
|
|
135
|
+
reserve_in: bigint;
|
|
136
|
+
reserve_out: bigint;
|
|
135
137
|
error_message?: undefined;
|
|
136
138
|
} | {
|
|
137
139
|
success: boolean;
|
|
138
140
|
error_message: any;
|
|
139
141
|
amounts?: undefined;
|
|
140
142
|
price_impact_bps?: undefined;
|
|
143
|
+
reserve_in?: undefined;
|
|
144
|
+
reserve_out?: undefined;
|
|
141
145
|
}>;
|
|
142
146
|
/**
|
|
143
147
|
* Handles the swap request with specified output amount for BiS Swap. The swap2Request function takes various parameters including the user's public key, token addresses, maximum input amount, desired output amount, fees, and a BLS signature for authentication. It first checks the validity of the BLS signature to ensure that the request is authorized. Then, it verifies that the user has sufficient balance of the input token and that the maximum input amount is sufficient to receive the desired output amount based on the current reserves. If the signature is valid and the balance is sufficient, it calculates the actual input amount required to receive the desired output amount based on the current reserves and the swap formula. Finally, it updates the internal state of balances and reserves accordingly and returns a success response with the actual input amount used and price impact, or an error message if any step fails.
|
|
@@ -169,12 +173,16 @@ btcFee: bigint): Promise<{
|
|
|
169
173
|
success: boolean;
|
|
170
174
|
amounts: bigint[];
|
|
171
175
|
price_impact_bps: bigint;
|
|
176
|
+
reserve_in: bigint;
|
|
177
|
+
reserve_out: bigint;
|
|
172
178
|
error_message?: undefined;
|
|
173
179
|
} | {
|
|
174
180
|
success: boolean;
|
|
175
181
|
error_message: any;
|
|
176
182
|
amounts?: undefined;
|
|
177
183
|
price_impact_bps?: undefined;
|
|
184
|
+
reserve_in?: undefined;
|
|
185
|
+
reserve_out?: undefined;
|
|
178
186
|
}>;
|
|
179
187
|
/**
|
|
180
188
|
* Handles the withdraw request for BiS Swap. The withdrawRequest function takes various parameters including the user's public key, token address, target address, amount to withdraw, fees, and a BLS signature for authentication. It first checks the validity of the BLS signature to ensure that the request is authorized. Then, it verifies that the user has sufficient balance of the specified token to withdraw. If the signature is valid and the balance is sufficient, it updates the internal state of balances accordingly and returns a success response with the withdrawn amount, or an error message if any step fails.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bestinslot/wallet-kit",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.9.0",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "A lightweight JavaScript library for connecting Bitcoin wallets with a unified API.",
|
|
7
7
|
"exports": {
|
|
@@ -120,6 +120,8 @@
|
|
|
120
120
|
"lint": "eslint",
|
|
121
121
|
"lint:fix": "prettier --write . && eslint --fix",
|
|
122
122
|
"test": "vitest run",
|
|
123
|
+
"release": "node scripts/release.mjs",
|
|
124
|
+
"release:tag": "node scripts/release.mjs --tag",
|
|
123
125
|
"verify:bundles": "node scripts/verify-build-flavours.mjs",
|
|
124
126
|
"test:signet": "vitest run tests/signet/ --config vitest.signet.config.ts",
|
|
125
127
|
"test:mainnet": "vitest run tests/mainnet/ --config vitest.mainnet.config.ts",
|