@kassealhq/sdk 0.1.1 → 0.3.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.
Files changed (700) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/README.md +73 -7
  3. package/SECURITY.md +4 -2
  4. package/STABILITY.md +4 -3
  5. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k103.json +251 -0
  6. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k113.json +251 -0
  7. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k124.json +251 -0
  8. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k136.json +251 -0
  9. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k164.json +251 -0
  10. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k180.json +251 -0
  11. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k198.json +251 -0
  12. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k218.json +251 -0
  13. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k240.json +251 -0
  14. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k264.json +251 -0
  15. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k291.json +251 -0
  16. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k320.json +251 -0
  17. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k352.json +251 -0
  18. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k388.json +251 -0
  19. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k427.json +251 -0
  20. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k470.json +251 -0
  21. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k518.json +251 -0
  22. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k571.json +251 -0
  23. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k629.json +251 -0
  24. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1097.json +251 -0
  25. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1209.json +251 -0
  26. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k122.json +251 -0
  27. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1332.json +251 -0
  28. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k134.json +251 -0
  29. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1468.json +251 -0
  30. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k147.json +251 -0
  31. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k161.json +251 -0
  32. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1618.json +251 -0
  33. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k177.json +251 -0
  34. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1783.json +251 -0
  35. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k195.json +251 -0
  36. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1965.json +251 -0
  37. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k214.json +251 -0
  38. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k2166.json +251 -0
  39. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k235.json +251 -0
  40. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k2387.json +251 -0
  41. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k258.json +251 -0
  42. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k2631.json +251 -0
  43. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k284.json +251 -0
  44. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k2900.json +251 -0
  45. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k313.json +251 -0
  46. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k3197.json +251 -0
  47. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k344.json +251 -0
  48. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k3524.json +251 -0
  49. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k379.json +251 -0
  50. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k3885.json +251 -0
  51. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k417.json +251 -0
  52. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k4283.json +251 -0
  53. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k459.json +251 -0
  54. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k4722.json +251 -0
  55. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k506.json +251 -0
  56. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k5205.json +251 -0
  57. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k557.json +251 -0
  58. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k5738.json +251 -0
  59. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k613.json +251 -0
  60. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k6326.json +251 -0
  61. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k675.json +251 -0
  62. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k6974.json +251 -0
  63. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k744.json +251 -0
  64. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k7688.json +251 -0
  65. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k820.json +251 -0
  66. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k8475.json +251 -0
  67. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k904.json +251 -0
  68. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k9343.json +251 -0
  69. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k996.json +251 -0
  70. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard.json +251 -0
  71. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k103.artifact.json +351 -0
  72. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k113.artifact.json +351 -0
  73. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k124.artifact.json +351 -0
  74. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k136.artifact.json +352 -0
  75. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k164.artifact.json +352 -0
  76. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k180.artifact.json +352 -0
  77. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k198.artifact.json +352 -0
  78. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k218.artifact.json +352 -0
  79. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k240.artifact.json +352 -0
  80. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k264.artifact.json +352 -0
  81. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k291.artifact.json +352 -0
  82. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k320.artifact.json +352 -0
  83. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k352.artifact.json +352 -0
  84. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k388.artifact.json +352 -0
  85. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k427.artifact.json +352 -0
  86. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k470.artifact.json +352 -0
  87. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k518.artifact.json +352 -0
  88. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k571.artifact.json +352 -0
  89. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k629.artifact.json +352 -0
  90. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1097.artifact.json +352 -0
  91. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1209.artifact.json +352 -0
  92. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k122.artifact.json +351 -0
  93. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1332.artifact.json +352 -0
  94. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k134.artifact.json +352 -0
  95. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1468.artifact.json +352 -0
  96. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k147.artifact.json +352 -0
  97. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k161.artifact.json +352 -0
  98. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1618.artifact.json +352 -0
  99. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k177.artifact.json +352 -0
  100. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1783.artifact.json +352 -0
  101. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k195.artifact.json +352 -0
  102. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1965.artifact.json +352 -0
  103. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k214.artifact.json +352 -0
  104. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k2166.artifact.json +352 -0
  105. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k235.artifact.json +352 -0
  106. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k2387.artifact.json +352 -0
  107. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k258.artifact.json +352 -0
  108. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k2631.artifact.json +352 -0
  109. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k284.artifact.json +352 -0
  110. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k2900.artifact.json +352 -0
  111. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k313.artifact.json +352 -0
  112. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k3197.artifact.json +352 -0
  113. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k344.artifact.json +352 -0
  114. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k3524.artifact.json +352 -0
  115. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k379.artifact.json +352 -0
  116. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k3885.artifact.json +352 -0
  117. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k417.artifact.json +352 -0
  118. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k4283.artifact.json +352 -0
  119. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k459.artifact.json +352 -0
  120. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k4722.artifact.json +352 -0
  121. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k506.artifact.json +352 -0
  122. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k5205.artifact.json +352 -0
  123. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k557.artifact.json +352 -0
  124. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k5738.artifact.json +352 -0
  125. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k613.artifact.json +352 -0
  126. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k6326.artifact.json +352 -0
  127. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k675.artifact.json +352 -0
  128. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k6974.artifact.json +352 -0
  129. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k744.artifact.json +352 -0
  130. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k7688.artifact.json +352 -0
  131. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k820.artifact.json +352 -0
  132. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k8475.artifact.json +352 -0
  133. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k904.artifact.json +352 -0
  134. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k9343.artifact.json +352 -0
  135. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k996.artifact.json +352 -0
  136. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard.artifact.json +352 -0
  137. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k103.json +251 -0
  138. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k113.json +251 -0
  139. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k124.json +251 -0
  140. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k136.json +251 -0
  141. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k164.json +251 -0
  142. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k180.json +251 -0
  143. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k198.json +251 -0
  144. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k218.json +251 -0
  145. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k240.json +251 -0
  146. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k264.json +251 -0
  147. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k291.json +251 -0
  148. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k320.json +251 -0
  149. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k352.json +251 -0
  150. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k388.json +251 -0
  151. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k427.json +251 -0
  152. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k470.json +251 -0
  153. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k518.json +251 -0
  154. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k571.json +251 -0
  155. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k629.json +251 -0
  156. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1097.json +251 -0
  157. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1209.json +251 -0
  158. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k122.json +251 -0
  159. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1332.json +251 -0
  160. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k134.json +251 -0
  161. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1468.json +251 -0
  162. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k147.json +251 -0
  163. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k161.json +251 -0
  164. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1618.json +251 -0
  165. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k177.json +251 -0
  166. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1783.json +251 -0
  167. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k195.json +251 -0
  168. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1965.json +251 -0
  169. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k214.json +251 -0
  170. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k2166.json +251 -0
  171. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k235.json +251 -0
  172. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k2387.json +251 -0
  173. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k258.json +251 -0
  174. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k2631.json +251 -0
  175. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k284.json +251 -0
  176. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k2900.json +251 -0
  177. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k313.json +251 -0
  178. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k3197.json +251 -0
  179. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k344.json +251 -0
  180. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k3524.json +251 -0
  181. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k379.json +251 -0
  182. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k3885.json +251 -0
  183. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k417.json +251 -0
  184. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k4283.json +251 -0
  185. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k459.json +251 -0
  186. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k4722.json +251 -0
  187. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k506.json +251 -0
  188. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k5205.json +251 -0
  189. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k557.json +251 -0
  190. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k5738.json +251 -0
  191. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k613.json +251 -0
  192. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k6326.json +251 -0
  193. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k675.json +251 -0
  194. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k6974.json +251 -0
  195. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k744.json +251 -0
  196. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k7688.json +251 -0
  197. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k820.json +251 -0
  198. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k8475.json +251 -0
  199. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k904.json +251 -0
  200. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k9343.json +251 -0
  201. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k996.json +251 -0
  202. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard.json +251 -0
  203. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k103.artifact.json +351 -0
  204. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k113.artifact.json +351 -0
  205. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k124.artifact.json +351 -0
  206. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k136.artifact.json +352 -0
  207. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k164.artifact.json +352 -0
  208. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k180.artifact.json +352 -0
  209. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k198.artifact.json +352 -0
  210. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k218.artifact.json +352 -0
  211. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k240.artifact.json +352 -0
  212. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k264.artifact.json +352 -0
  213. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k291.artifact.json +352 -0
  214. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k320.artifact.json +352 -0
  215. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k352.artifact.json +352 -0
  216. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k388.artifact.json +352 -0
  217. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k427.artifact.json +352 -0
  218. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k470.artifact.json +352 -0
  219. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k518.artifact.json +352 -0
  220. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k571.artifact.json +352 -0
  221. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k629.artifact.json +352 -0
  222. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1097.artifact.json +352 -0
  223. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1209.artifact.json +352 -0
  224. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k122.artifact.json +351 -0
  225. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1332.artifact.json +352 -0
  226. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k134.artifact.json +352 -0
  227. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1468.artifact.json +352 -0
  228. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k147.artifact.json +352 -0
  229. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k161.artifact.json +352 -0
  230. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1618.artifact.json +352 -0
  231. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k177.artifact.json +352 -0
  232. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1783.artifact.json +352 -0
  233. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k195.artifact.json +352 -0
  234. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1965.artifact.json +352 -0
  235. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k214.artifact.json +352 -0
  236. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k2166.artifact.json +352 -0
  237. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k235.artifact.json +352 -0
  238. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k2387.artifact.json +352 -0
  239. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k258.artifact.json +352 -0
  240. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k2631.artifact.json +352 -0
  241. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k284.artifact.json +352 -0
  242. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k2900.artifact.json +352 -0
  243. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k313.artifact.json +352 -0
  244. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k3197.artifact.json +352 -0
  245. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k344.artifact.json +352 -0
  246. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k3524.artifact.json +352 -0
  247. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k379.artifact.json +352 -0
  248. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k3885.artifact.json +352 -0
  249. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k417.artifact.json +352 -0
  250. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k4283.artifact.json +352 -0
  251. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k459.artifact.json +352 -0
  252. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k4722.artifact.json +352 -0
  253. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k506.artifact.json +352 -0
  254. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k5205.artifact.json +352 -0
  255. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k557.artifact.json +352 -0
  256. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k5738.artifact.json +352 -0
  257. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k613.artifact.json +352 -0
  258. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k6326.artifact.json +352 -0
  259. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k675.artifact.json +352 -0
  260. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k6974.artifact.json +352 -0
  261. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k744.artifact.json +352 -0
  262. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k7688.artifact.json +352 -0
  263. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k820.artifact.json +352 -0
  264. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k8475.artifact.json +352 -0
  265. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k904.artifact.json +352 -0
  266. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k9343.artifact.json +352 -0
  267. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k996.artifact.json +352 -0
  268. package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard.artifact.json +352 -0
  269. package/dist/artifacts/contracts/pool/v1/artifacts/v1-kasseal-mainnet-3/pool.artifact.json +483 -0
  270. package/dist/artifacts/contracts/pool/v1/artifacts/v1-kasseal-mainnet-3/pool.ctor.json +211 -0
  271. package/dist/artifacts/contracts/pool/v1/artifacts/v1-kasseal-mainnet-3-tn10/pool.artifact.json +483 -0
  272. package/dist/artifacts/contracts/pool/v1/artifacts/v1-kasseal-mainnet-3-tn10/pool.ctor.json +211 -0
  273. package/dist/artifacts/manifest.json +417 -1
  274. package/dist/chunks/chunk-FYCRPHEE.js +4 -0
  275. package/dist/chunks/chunk-JZJ7MFR5.js +1 -0
  276. package/dist/chunks/v1-kasseal-mainnet-2--curve-template-BWD6VPNU.js +1 -0
  277. package/dist/chunks/v1-kasseal-mainnet-2--standard-A7VZ4YOH.js +1 -0
  278. package/dist/chunks/v1-kasseal-mainnet-2--standard-k103-55H7V436.js +1 -0
  279. package/dist/chunks/v1-kasseal-mainnet-2--standard-k113-ZGAQBYVJ.js +1 -0
  280. package/dist/chunks/v1-kasseal-mainnet-2--standard-k124-U3GBZMSC.js +1 -0
  281. package/dist/chunks/v1-kasseal-mainnet-2--standard-k136-X7VJHD3W.js +1 -0
  282. package/dist/chunks/v1-kasseal-mainnet-2--standard-k164-ZT7KU6TK.js +1 -0
  283. package/dist/chunks/v1-kasseal-mainnet-2--standard-k180-BRVJUNC7.js +1 -0
  284. package/dist/chunks/v1-kasseal-mainnet-2--standard-k198-PDXOCEW3.js +1 -0
  285. package/dist/chunks/v1-kasseal-mainnet-2--standard-k218-3KPCBO2D.js +1 -0
  286. package/dist/chunks/v1-kasseal-mainnet-2--standard-k240-MLNPN3RX.js +1 -0
  287. package/dist/chunks/v1-kasseal-mainnet-2--standard-k264-WJKEMJYB.js +1 -0
  288. package/dist/chunks/v1-kasseal-mainnet-2--standard-k291-45RT664N.js +1 -0
  289. package/dist/chunks/v1-kasseal-mainnet-2--standard-k320-IRA7W7AG.js +1 -0
  290. package/dist/chunks/v1-kasseal-mainnet-2--standard-k352-QIUBH37O.js +1 -0
  291. package/dist/chunks/v1-kasseal-mainnet-2--standard-k388-S5LGM4T5.js +1 -0
  292. package/dist/chunks/v1-kasseal-mainnet-2--standard-k427-FSHKYWKF.js +1 -0
  293. package/dist/chunks/v1-kasseal-mainnet-2--standard-k470-NKHYE62R.js +1 -0
  294. package/dist/chunks/v1-kasseal-mainnet-2--standard-k518-W7KL6W5L.js +1 -0
  295. package/dist/chunks/v1-kasseal-mainnet-2--standard-k571-KS4BKYYZ.js +1 -0
  296. package/dist/chunks/v1-kasseal-mainnet-2--standard-k629-CMZ62OPG.js +1 -0
  297. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1097-SGQDUE4O.js +1 -0
  298. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1209-4ROEKRTD.js +1 -0
  299. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k122-ZYTK7X6X.js +1 -0
  300. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1332-SDVUVZLC.js +1 -0
  301. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k134-GLXZNKHZ.js +1 -0
  302. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1468-BPRCHYV7.js +1 -0
  303. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k147-VMQWZZ65.js +1 -0
  304. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k161-6GHQDV77.js +1 -0
  305. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1618-UDTCFCX6.js +1 -0
  306. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k177-GMMF6WC7.js +1 -0
  307. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1783-LCWH3A7P.js +1 -0
  308. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k195-WU6QM5WH.js +1 -0
  309. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1965-UV4XE3UJ.js +1 -0
  310. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k214-YUX6FGQL.js +1 -0
  311. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2166-KOXORCKM.js +1 -0
  312. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k235-BDZGOOSF.js +1 -0
  313. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2387-BR4XNSAJ.js +1 -0
  314. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k258-RUOKITMI.js +1 -0
  315. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2631-LYHVZSP6.js +1 -0
  316. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k284-DYUHSHK7.js +1 -0
  317. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2900-2ICAGGNJ.js +1 -0
  318. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k313-AKDEI2TU.js +1 -0
  319. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k3197-B2EFNOK4.js +1 -0
  320. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k344-CHXS2HQ2.js +1 -0
  321. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k3524-MEESAQ4B.js +1 -0
  322. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k379-WIYCT6LX.js +1 -0
  323. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k3885-G5MUY72N.js +1 -0
  324. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k417-D46MBHTS.js +1 -0
  325. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k4283-UOSHCKBS.js +1 -0
  326. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k459-2UM24NRK.js +1 -0
  327. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k4722-TFUG6NS4.js +1 -0
  328. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k506-S4ZUE6WF.js +1 -0
  329. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k5205-TIS3A7KE.js +1 -0
  330. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k557-MJOEV2IS.js +1 -0
  331. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k5738-HHUBQINO.js +1 -0
  332. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k613-OKITBO2N.js +1 -0
  333. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k6326-YWUTODQU.js +1 -0
  334. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k675-R4V6SHQK.js +1 -0
  335. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k6974-KHJFT46U.js +1 -0
  336. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k744-DDZUJRUH.js +1 -0
  337. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k7688-5RLFPQJQ.js +1 -0
  338. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k820-GQSOOOYM.js +1 -0
  339. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k8475-DULDHWK4.js +1 -0
  340. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k904-EQDNEVDK.js +1 -0
  341. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k9343-EST7MLXY.js +1 -0
  342. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k996-LRBWVDZC.js +1 -0
  343. package/dist/chunks/v1-kasseal-mainnet-2-tn10--curve-template-VA5M7NGB.js +1 -0
  344. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-2737LYFZ.js +1 -0
  345. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k103-YBCPOH3F.js +1 -0
  346. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k113-BO6WCPMR.js +1 -0
  347. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k124-ED5UID3Q.js +1 -0
  348. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k136-TOAQ5V2P.js +1 -0
  349. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k164-3IGHY4UE.js +1 -0
  350. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k180-TCEUATLJ.js +1 -0
  351. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k198-KIXGDZIO.js +1 -0
  352. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k218-7JWZI5C2.js +1 -0
  353. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k240-JZIAM5P3.js +1 -0
  354. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k264-D67MEKWC.js +1 -0
  355. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k291-DC32OIRO.js +1 -0
  356. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k320-QRZE7QIG.js +1 -0
  357. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k352-EIHJVF7E.js +1 -0
  358. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k388-UNLFSVYG.js +1 -0
  359. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k427-CGZ7UHFF.js +1 -0
  360. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k470-S7QNBQTN.js +1 -0
  361. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k518-D6V5JQCX.js +1 -0
  362. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k571-L54LDURU.js +1 -0
  363. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k629-SLMH3GAM.js +1 -0
  364. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1097-2CL73YK5.js +1 -0
  365. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1209-GL7ANHV4.js +1 -0
  366. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k122-CDEYO22M.js +1 -0
  367. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1332-MSKPOLH4.js +1 -0
  368. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k134-7HONZYWG.js +1 -0
  369. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1468-IALLSPE4.js +1 -0
  370. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k147-A7BCAILO.js +1 -0
  371. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k161-JTJDJ2K7.js +1 -0
  372. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1618-QEOOSOL2.js +1 -0
  373. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k177-B4X7FYJU.js +1 -0
  374. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1783-KXBEJLJI.js +1 -0
  375. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k195-OP6AG3WB.js +1 -0
  376. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1965-TUYKCDU2.js +1 -0
  377. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k214-JR3ZJYLW.js +1 -0
  378. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2166-IJE7BWIF.js +1 -0
  379. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k235-55PW5JYB.js +1 -0
  380. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2387-Z6P2ZC7Z.js +1 -0
  381. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k258-FGKPMBE7.js +1 -0
  382. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2631-54X6SIAA.js +1 -0
  383. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k284-DYFE5LIF.js +1 -0
  384. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2900-VCGWF5BS.js +1 -0
  385. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k313-CZ5Q3NN5.js +1 -0
  386. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k3197-464D6ESS.js +1 -0
  387. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k344-KJZJ6V52.js +1 -0
  388. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k3524-YP3BLSRE.js +1 -0
  389. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k379-QBFSIIGC.js +1 -0
  390. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k3885-GU6B65AX.js +1 -0
  391. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k417-BEG4ZEQJ.js +1 -0
  392. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k4283-NWPM6GK7.js +1 -0
  393. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k459-2VKQOZGJ.js +1 -0
  394. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k4722-4SMQTJOQ.js +1 -0
  395. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k506-WLOLIF2P.js +1 -0
  396. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k5205-2DF7TZYQ.js +1 -0
  397. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k557-5D5OXRT5.js +1 -0
  398. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k5738-MCF6TOER.js +1 -0
  399. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k613-N57YPC77.js +1 -0
  400. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k6326-UFV2XI3R.js +1 -0
  401. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k675-M5MNBC6Y.js +1 -0
  402. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k6974-3EMBKINA.js +1 -0
  403. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k744-PEXR4SIE.js +1 -0
  404. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k7688-2MM4HXA4.js +1 -0
  405. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k820-42IK5LFJ.js +1 -0
  406. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k8475-B4UUEXON.js +1 -0
  407. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k904-2VQOPYNP.js +1 -0
  408. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k9343-SOUG4WUF.js +1 -0
  409. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k996-6T2WOWHX.js +1 -0
  410. package/dist/chunks/v1-kasseal-mainnet-3--base-AJNCIQVW.js +1 -0
  411. package/dist/chunks/v1-kasseal-mainnet-3--curve-template-D76BLM5C.js +1 -0
  412. package/dist/chunks/v1-kasseal-mainnet-3--standard-EDPH4T24.js +1 -0
  413. package/dist/chunks/v1-kasseal-mainnet-3--standard-k103-M4RSAMCW.js +1 -0
  414. package/dist/chunks/v1-kasseal-mainnet-3--standard-k113-3P6MWPQS.js +1 -0
  415. package/dist/chunks/v1-kasseal-mainnet-3--standard-k124-RN7TIOHF.js +1 -0
  416. package/dist/chunks/v1-kasseal-mainnet-3--standard-k136-LFSS2YXM.js +1 -0
  417. package/dist/chunks/v1-kasseal-mainnet-3--standard-k164-ZUOXU7IG.js +1 -0
  418. package/dist/chunks/v1-kasseal-mainnet-3--standard-k180-KDS2UK2P.js +1 -0
  419. package/dist/chunks/v1-kasseal-mainnet-3--standard-k198-2COA74HK.js +1 -0
  420. package/dist/chunks/v1-kasseal-mainnet-3--standard-k218-6ZPCA27B.js +1 -0
  421. package/dist/chunks/v1-kasseal-mainnet-3--standard-k240-FEEJI4DG.js +1 -0
  422. package/dist/chunks/v1-kasseal-mainnet-3--standard-k264-YQNGD55V.js +1 -0
  423. package/dist/chunks/v1-kasseal-mainnet-3--standard-k291-JA3MZKXT.js +1 -0
  424. package/dist/chunks/v1-kasseal-mainnet-3--standard-k320-PBFTKR5I.js +1 -0
  425. package/dist/chunks/v1-kasseal-mainnet-3--standard-k352-YMX2BZVM.js +1 -0
  426. package/dist/chunks/v1-kasseal-mainnet-3--standard-k388-NQIIDPNA.js +1 -0
  427. package/dist/chunks/v1-kasseal-mainnet-3--standard-k427-UWVWIP5E.js +1 -0
  428. package/dist/chunks/v1-kasseal-mainnet-3--standard-k470-HGGPCBIG.js +1 -0
  429. package/dist/chunks/v1-kasseal-mainnet-3--standard-k518-YM6AJ4L7.js +1 -0
  430. package/dist/chunks/v1-kasseal-mainnet-3--standard-k571-UPNL6OTA.js +1 -0
  431. package/dist/chunks/v1-kasseal-mainnet-3--standard-k629-CZEEOYVF.js +1 -0
  432. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1097-4P3CUID5.js +1 -0
  433. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1209-I4CXZARR.js +1 -0
  434. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k122-K4ZVEVQC.js +1 -0
  435. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1332-LXESN2GT.js +1 -0
  436. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k134-ZWJ6V7T5.js +1 -0
  437. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1468-6EA4C4KB.js +1 -0
  438. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k147-Z3ZP73QP.js +1 -0
  439. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k161-NGG6PIKX.js +1 -0
  440. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1618-BCU5LQDG.js +1 -0
  441. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k177-OA5LFXXM.js +1 -0
  442. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1783-GNRQNL6Q.js +1 -0
  443. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k195-JR3GBKOR.js +1 -0
  444. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1965-52LS7F62.js +1 -0
  445. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k214-STDHHUYN.js +1 -0
  446. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k2166-JKOHATL2.js +1 -0
  447. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k235-B4OUS3TR.js +1 -0
  448. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k2387-KJ5TITHZ.js +1 -0
  449. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k258-WZYNL2NW.js +1 -0
  450. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k2631-NQRZULBR.js +1 -0
  451. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k284-MAH7SSBF.js +1 -0
  452. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k2900-3NGJPTEI.js +1 -0
  453. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k313-GD2FIOCH.js +1 -0
  454. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k3197-DVDFK2YI.js +1 -0
  455. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k344-JK5I5NO6.js +1 -0
  456. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k3524-PC77RWDZ.js +1 -0
  457. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k379-5JZBOP3U.js +1 -0
  458. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k3885-7E7DDD7E.js +1 -0
  459. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k417-YAL5BUYS.js +1 -0
  460. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k4283-OHDRS3YW.js +1 -0
  461. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k459-YVM6WOBR.js +1 -0
  462. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k4722-N52JARHY.js +1 -0
  463. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k506-FDTQ743C.js +1 -0
  464. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k5205-OZMUKQ74.js +1 -0
  465. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k557-KHXE6IGK.js +1 -0
  466. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k5738-3UO37PYG.js +1 -0
  467. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k613-IBLOU7D7.js +1 -0
  468. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k6326-OAVIHQ4J.js +1 -0
  469. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k675-PANIRLLY.js +1 -0
  470. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k6974-ANEWKO4H.js +1 -0
  471. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k744-XOR6GG6M.js +1 -0
  472. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k7688-7IY5FG3D.js +1 -0
  473. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k820-63CDKXRD.js +1 -0
  474. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k8475-R7LNR7P4.js +1 -0
  475. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k904-HSYPHWTU.js +1 -0
  476. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k9343-SKDK6U7G.js +1 -0
  477. package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k996-KLXV44HW.js +1 -0
  478. package/dist/chunks/v1-kasseal-mainnet-3-tn10--base-ZIFKIN6E.js +1 -0
  479. package/dist/chunks/v1-kasseal-mainnet-3-tn10--curve-template-WUVHI37W.js +1 -0
  480. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-ZQ3IVPJ2.js +1 -0
  481. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k103-JCOBOXGC.js +1 -0
  482. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k113-HKB7YJ6S.js +1 -0
  483. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k124-R2B4XYLD.js +1 -0
  484. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k136-EW3QLQE4.js +1 -0
  485. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k164-U2H5SKJJ.js +1 -0
  486. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k180-DET5JJHA.js +1 -0
  487. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k198-APVCSVRD.js +1 -0
  488. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k218-FZDJEU5Q.js +1 -0
  489. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k240-BK37GRZH.js +1 -0
  490. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k264-BL6GUTLQ.js +1 -0
  491. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k291-U2ROJLPG.js +1 -0
  492. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k320-SLHV6QNB.js +1 -0
  493. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k352-36233BEJ.js +1 -0
  494. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k388-LNU3KNV4.js +1 -0
  495. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k427-VJ6MZ4TN.js +1 -0
  496. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k470-XFWPLM4R.js +1 -0
  497. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k518-ZWRQRZC2.js +1 -0
  498. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k571-XXNIJHD7.js +1 -0
  499. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k629-GFHKVMYT.js +1 -0
  500. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1097-2UOYPV3U.js +1 -0
  501. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1209-ZZBGXZQL.js +1 -0
  502. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k122-4CZDIIQC.js +1 -0
  503. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1332-PSG4QZ4D.js +1 -0
  504. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k134-UH7ZIW3J.js +1 -0
  505. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1468-MEMJ2IRD.js +1 -0
  506. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k147-4RWZDMT5.js +1 -0
  507. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k161-LPWAUTY3.js +1 -0
  508. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1618-LFNPUXWK.js +1 -0
  509. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k177-5AORVQFF.js +1 -0
  510. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1783-SWOJODEZ.js +1 -0
  511. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k195-AYH3YNKO.js +1 -0
  512. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1965-EHRRXJQQ.js +1 -0
  513. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k214-G5EY2FGH.js +1 -0
  514. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k2166-SC4TW2NS.js +1 -0
  515. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k235-W7K3ZV25.js +1 -0
  516. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k2387-5VYL6TBO.js +1 -0
  517. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k258-VCKFOOQA.js +1 -0
  518. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k2631-WFYKUQ25.js +1 -0
  519. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k284-MLWF3PK4.js +1 -0
  520. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k2900-XVKQVERB.js +1 -0
  521. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k313-2K6O3MSB.js +1 -0
  522. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k3197-XZJUALDO.js +1 -0
  523. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k344-2JOAOD6V.js +1 -0
  524. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k3524-HJYB6TVL.js +1 -0
  525. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k379-WOVL7ATN.js +1 -0
  526. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k3885-ND4M2UV4.js +1 -0
  527. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k417-HWP5AWKK.js +1 -0
  528. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k4283-GONKZ5KX.js +1 -0
  529. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k459-Z5ZN4PNT.js +1 -0
  530. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k4722-YXTPDNEF.js +1 -0
  531. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k506-LLZHZ55C.js +1 -0
  532. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k5205-DJTUQNGT.js +1 -0
  533. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k557-OO2KGHGK.js +1 -0
  534. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k5738-BVORVSF2.js +1 -0
  535. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k613-6ZKS4NAG.js +1 -0
  536. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k6326-T7B55LAR.js +1 -0
  537. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k675-CZNSXC37.js +1 -0
  538. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k6974-ZU5RKJDX.js +1 -0
  539. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k744-ENHFDIHK.js +1 -0
  540. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k7688-FLJV7OJ6.js +1 -0
  541. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k820-FM5FPCVM.js +1 -0
  542. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k8475-NJQVLPVK.js +1 -0
  543. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k904-TMC4ZNIB.js +1 -0
  544. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k9343-FPQFOLCE.js +1 -0
  545. package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k996-S2LNXMEE.js +1 -0
  546. package/dist/index.d.ts +20 -1
  547. package/dist/index.js +1 -1
  548. package/dist/node.d.ts +1 -1
  549. package/dist/node.js +1 -1
  550. package/dist/types-ow7zEBqI.d.ts +10 -0
  551. package/dist/web-lite-mainnet.d.ts +18 -0
  552. package/dist/web-lite-mainnet.js +1 -0
  553. package/dist/web-lite-testnet-10.d.ts +18 -0
  554. package/dist/web-lite-testnet-10.js +1 -0
  555. package/dist/web-mainnet.d.ts +21 -0
  556. package/dist/web-mainnet.js +1 -0
  557. package/dist/web-testnet-10.d.ts +21 -0
  558. package/dist/web-testnet-10.js +1 -0
  559. package/dist/web.d.ts +5 -3
  560. package/dist/web.js +1 -1
  561. package/docs/contract-artifacts.md +34 -12
  562. package/docs/dex-and-routers.md +2 -2
  563. package/docs/errors.md +2 -1
  564. package/docs/explorers.md +2 -2
  565. package/docs/launch-proof.md +1 -1
  566. package/docs/wallets.md +15 -1
  567. package/package.json +18 -1
  568. package/dist/chunks/chunk-ZLGQP2RE.js +0 -1
  569. package/dist/chunks/v1-kasseal-mainnet-2--standard-G2JAHX7I.js +0 -1
  570. package/dist/chunks/v1-kasseal-mainnet-2--standard-k103-MDMVZ2QI.js +0 -1
  571. package/dist/chunks/v1-kasseal-mainnet-2--standard-k113-VHAWBWJY.js +0 -1
  572. package/dist/chunks/v1-kasseal-mainnet-2--standard-k124-CCMPZRIZ.js +0 -1
  573. package/dist/chunks/v1-kasseal-mainnet-2--standard-k136-GLMQJSJY.js +0 -1
  574. package/dist/chunks/v1-kasseal-mainnet-2--standard-k164-OKMJDO5B.js +0 -1
  575. package/dist/chunks/v1-kasseal-mainnet-2--standard-k180-55OCXLQP.js +0 -1
  576. package/dist/chunks/v1-kasseal-mainnet-2--standard-k198-JU7B5XWS.js +0 -1
  577. package/dist/chunks/v1-kasseal-mainnet-2--standard-k218-XLJ5JHYS.js +0 -1
  578. package/dist/chunks/v1-kasseal-mainnet-2--standard-k240-SGVHCZXX.js +0 -1
  579. package/dist/chunks/v1-kasseal-mainnet-2--standard-k264-2E3LY7SC.js +0 -1
  580. package/dist/chunks/v1-kasseal-mainnet-2--standard-k291-6PY3BHY4.js +0 -1
  581. package/dist/chunks/v1-kasseal-mainnet-2--standard-k320-ZCJD5TZI.js +0 -1
  582. package/dist/chunks/v1-kasseal-mainnet-2--standard-k352-NGLJXQYP.js +0 -1
  583. package/dist/chunks/v1-kasseal-mainnet-2--standard-k388-PNX2RAFC.js +0 -1
  584. package/dist/chunks/v1-kasseal-mainnet-2--standard-k427-EQF3M2V6.js +0 -1
  585. package/dist/chunks/v1-kasseal-mainnet-2--standard-k470-SXB2LGOZ.js +0 -1
  586. package/dist/chunks/v1-kasseal-mainnet-2--standard-k518-5TBKPRN5.js +0 -1
  587. package/dist/chunks/v1-kasseal-mainnet-2--standard-k571-FUFPSPYU.js +0 -1
  588. package/dist/chunks/v1-kasseal-mainnet-2--standard-k629-ZU2MY2M4.js +0 -1
  589. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1097-D6JDQO6O.js +0 -1
  590. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1209-OBAOMD6P.js +0 -1
  591. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k122-KQPN6NJK.js +0 -1
  592. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1332-RMFTEH6F.js +0 -1
  593. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k134-M275FLYC.js +0 -1
  594. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1468-NCJSKY2H.js +0 -1
  595. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k147-KR5AYKDB.js +0 -1
  596. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k161-G3TBLC2T.js +0 -1
  597. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1618-JDVUXEHK.js +0 -1
  598. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k177-G6PO2MOF.js +0 -1
  599. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1783-3M7EAYRN.js +0 -1
  600. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k195-RCMGQ3Y3.js +0 -1
  601. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1965-JAMKZTIK.js +0 -1
  602. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k214-XA3LUEX4.js +0 -1
  603. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2166-JK4MHEJR.js +0 -1
  604. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k235-TBRH6PLK.js +0 -1
  605. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2387-7DUU6POJ.js +0 -1
  606. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k258-SV47XXNN.js +0 -1
  607. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2631-IAORSCGF.js +0 -1
  608. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k284-NBVHUKHH.js +0 -1
  609. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2900-ICMYLNN5.js +0 -1
  610. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k313-BBYRXMF3.js +0 -1
  611. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k3197-JPUNDL5O.js +0 -1
  612. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k344-7J4J66JW.js +0 -1
  613. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k3524-A4I4COO7.js +0 -1
  614. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k379-3YR3VO6O.js +0 -1
  615. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k3885-4RPB6FON.js +0 -1
  616. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k417-VXFC3D4N.js +0 -1
  617. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k4283-IMD4DMWY.js +0 -1
  618. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k459-SQK576EC.js +0 -1
  619. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k4722-PWIMNCX2.js +0 -1
  620. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k506-GA55ODGE.js +0 -1
  621. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k5205-YEWHS4TN.js +0 -1
  622. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k557-ADEHVYB5.js +0 -1
  623. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k5738-Q4PT5ZXE.js +0 -1
  624. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k613-VLPN3VOO.js +0 -1
  625. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k6326-MWPIBW3V.js +0 -1
  626. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k675-O7ULXDIW.js +0 -1
  627. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k6974-EQYZ5MUX.js +0 -1
  628. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k744-PTUGUVVG.js +0 -1
  629. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k7688-M6YCDJ2C.js +0 -1
  630. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k820-72Z76LGP.js +0 -1
  631. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k8475-WXJQJY54.js +0 -1
  632. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k904-HRQDFBY2.js +0 -1
  633. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k9343-YM2TLR4Q.js +0 -1
  634. package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k996-AOXS4VIO.js +0 -1
  635. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-P7ALG4L7.js +0 -1
  636. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k103-PMFIFDC2.js +0 -1
  637. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k113-XTMJQOPT.js +0 -1
  638. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k124-LGCAC7UL.js +0 -1
  639. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k136-QYDYKMQO.js +0 -1
  640. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k164-L7UYHEI5.js +0 -1
  641. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k180-N7FK5TEK.js +0 -1
  642. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k198-5QBBZSVE.js +0 -1
  643. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k218-6H5GUBVP.js +0 -1
  644. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k240-ERN2IH63.js +0 -1
  645. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k264-EIVIVWEW.js +0 -1
  646. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k291-45QJXSZO.js +0 -1
  647. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k320-INQ4E2TN.js +0 -1
  648. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k352-M4Z433QA.js +0 -1
  649. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k388-KKTEOPOK.js +0 -1
  650. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k427-VBRUTBB3.js +0 -1
  651. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k470-XBN3YQAK.js +0 -1
  652. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k518-YQASY5LW.js +0 -1
  653. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k571-VJWS6O4L.js +0 -1
  654. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k629-WNQIIPGS.js +0 -1
  655. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1097-2SAVEBG4.js +0 -1
  656. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1209-S4KMZ2NT.js +0 -1
  657. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k122-C2KWY6TF.js +0 -1
  658. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1332-XJWJWOCK.js +0 -1
  659. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k134-TCPXVCUL.js +0 -1
  660. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1468-7XJ4CCRU.js +0 -1
  661. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k147-6N62HWU7.js +0 -1
  662. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k161-IMMPF3UE.js +0 -1
  663. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1618-YV5JPCEE.js +0 -1
  664. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k177-GYSPGGBF.js +0 -1
  665. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1783-4A6KU6PT.js +0 -1
  666. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k195-JURU2SWD.js +0 -1
  667. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1965-TO4XXF2I.js +0 -1
  668. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k214-NA2BXYQ4.js +0 -1
  669. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2166-JSABPOAZ.js +0 -1
  670. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k235-467ZW5YL.js +0 -1
  671. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2387-PIPX46IG.js +0 -1
  672. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k258-CGX3IAR3.js +0 -1
  673. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2631-MPJN5VID.js +0 -1
  674. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k284-X2WS65VQ.js +0 -1
  675. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2900-VD4BPEEL.js +0 -1
  676. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k313-T4OTQDBW.js +0 -1
  677. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k3197-WJCL3T5I.js +0 -1
  678. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k344-SFNQ3NNK.js +0 -1
  679. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k3524-WKI5E77C.js +0 -1
  680. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k379-2NOBMEA5.js +0 -1
  681. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k3885-LC6FHT5L.js +0 -1
  682. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k417-BYV6ERZR.js +0 -1
  683. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k4283-QBNHR6EQ.js +0 -1
  684. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k459-OBM2YAKZ.js +0 -1
  685. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k4722-5OJM5BZ7.js +0 -1
  686. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k506-2X3EXENX.js +0 -1
  687. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k5205-I5EAJYCQ.js +0 -1
  688. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k557-4R4FNC7X.js +0 -1
  689. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k5738-NS2DMP2O.js +0 -1
  690. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k613-QHO2XTG5.js +0 -1
  691. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k6326-T2JJQKXD.js +0 -1
  692. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k675-6T76I4I2.js +0 -1
  693. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k6974-PMDLIOCF.js +0 -1
  694. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k744-IPCUHXGU.js +0 -1
  695. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k7688-RP3BEVAI.js +0 -1
  696. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k820-BAB2GGE4.js +0 -1
  697. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k8475-VV4BF475.js +0 -1
  698. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k904-QM67HPNQ.js +0 -1
  699. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k9343-KCCISF2U.js +0 -1
  700. package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k996-AKQMLPZI.js +0 -1
@@ -0,0 +1 @@
1
+ import{a as o}from"./chunk-XLPNXOE2.js";var Lo=class extends Error{static{o(this,"NotSupported")}constructor(t,n){super(`${t} is not supported by the "${n}" data source`);this.name="NotSupported"}};var gt=class extends Error{static{o(this,"LayoutError")}constructor(t){super(t);this.name=new.target.name}};var kn=class extends gt{static{o(this,"UnknownTemplateError")}templateHash;constructor(t){super(`unknown template hash ${t}: refusing to decode. A program is decodable only after its state offset and identifier semantics have been verified and registered. Never infer them.`);this.templateHash=t}};var ga=class extends gt{static{o(this,"TemplateMismatchError")}expected;computed;constructor(t,n){super(`template hash mismatch: caller asserted ${t} but the program hashes to ${n}`);this.expected=t;this.computed=n}};var ya=class extends gt{static{o(this,"TemplateNotDecodableError")}templateHash;constructor(t,n){super(`template ${t} is recognised but not decodable: ${n}`);this.templateHash=t}};var N=class extends gt{static{o(this,"DecodeError")}};var F=class extends gt{static{o(this,"ValidationError")}};var ot=class extends gt{static{o(this,"SupplyError")}};var yr=class extends gt{static{o(this,"OwnershipError")}};var Q=class extends gt{static{o(this,"TransferError")}};var Hs=0;var Vs=76;var Gs=77;var qs=78;var Ws=79;var zs=81;var Pc=75;function oe(e){const t=e.length;if(t===0)return Uint8Array.of(Hs);if(t<=Pc)return E(Uint8Array.of(t),e);if(t<=255)return E(Uint8Array.of(Vs,t),e);if(t<=65535)return E(Uint8Array.of(Gs,t&255,t>>>8),e);if(t<=4294967295){return E(Uint8Array.of(qs,t&255,t>>>8&255,t>>>16&255,t>>>24&255),e)}throw new F(`payload too large to push: ${t} bytes`)}o(oe,"encodePushExplicit");function se(e){if(e.length===1){const t=e[0];if(t>=1&&t<=16)return Uint8Array.of(zs+t-1);if(t===129)return Uint8Array.of(Ws)}return oe(e)}o(se,"encodePushMinimal");function wn(e,t){if(t>=e.length){throw new N(`truncated: expected a push at offset ${t}, buffer is ${e.length} bytes`)}const n=e[t];if(n===Hs)return{payload:new Uint8Array(0),next:t+1};let r;let a;if(n<=Pc){r=n;a=1}else if(n===Vs){r=Ds(e,t+1,1)[0];a=2;if(r<=Pc)throw Tc(n,r,t)}else if(n===Gs){const c=Ds(e,t+1,2);r=c[0]|c[1]<<8;a=3;if(r<=255)throw Tc(n,r,t)}else if(n===qs){const c=Ds(e,t+1,4);r=(c[0]|c[1]<<8|c[2]<<16|c[3]<<24)>>>0;a=5;if(r<=65535)throw Tc(n,r,t)}else{throw new N(`offset ${t}: opcode 0x${n.toString(16).padStart(2,"0")} is not a PushExplicit data push`)}const s=t+a;const i=Ds(e,s,r);return{payload:i,next:s+r}}o(wn,"readPushExplicit");function Tc(e,t,n){return new N(`offset ${n}: non-canonical push -- opcode 0x${e.toString(16)} used for a ${t}-byte payload`)}o(Tc,"nonCanonical");function Ds(e,t,n){if(t+n>e.length){throw new N(`truncated: need ${n} bytes at offset ${t}, have ${e.length-t}`)}return e.subarray(t,t+n)}o(Ds,"need");var yt=8;var ht=(1n<<63n)-1n;var l1=-ht;function st(e){if(typeof e!=="bigint"){throw new F(`int state value must be a bigint, got ${typeof e}`)}if(e>ht||e<l1){throw new F(`int out of KCC1 range: ${e}`)}const t=e<0n;let n=t?-e:e;const r=new Uint8Array(yt);for(let a=0;a<yt;a++){r[a]=Number(n&0xffn);n>>=8n}if(t)r[yt-1]|=128;return r}o(st,"encodeIntState");function Jn(e){if(e.length!==yt){throw new N(`int state payload must be ${yt} bytes, got ${e.length}`)}const t=(e[yt-1]&128)!==0;let n=0n;for(let r=yt-1;r>=0;r--){const a=r===yt-1?e[r]&127:e[r];n=n<<8n|BigInt(a)}if(t&&n===0n){throw new N("non-canonical int: negative zero")}return t?-n:n}o(Jn,"decodeIntState");function zu(e){return Uint8Array.of(e?1:0)}o(zu,"encodeBoolState");function Ju(e){if(e.length!==1||e[0]!==0&&e[0]!==1){throw new N(`bool payload must be exactly 00 or 01, got ${h(e)}`)}return e[0]===1}o(Ju,"decodeBoolState");function E(...e){const t=e.reduce((a,s)=>a+s.length,0);const n=new Uint8Array(t);let r=0;for(const a of e){n.set(a,r);r+=a.length}return n}o(E,"concat");function h(e){return Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}o(h,"toHex");function _(e){const t=e.startsWith("0x")?e.slice(2):e;if(t.length%2!==0||/[^0-9a-fA-F]/.test(t)){throw new N(`invalid hex string: ${e.slice(0,32)}...`)}const n=new Uint8Array(t.length/2);for(let r=0;r<n.length;r++)n[r]=parseInt(t.slice(r*2,r*2+2),16);return n}o(_,"fromHex");function M(e,t){if(e.length!==t.length)return false;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return false;return true}o(M,"bytesEqual");var Qu=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]);var He=[[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],[14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],[11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4],[7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8],[9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13],[2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9],[12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11],[13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10],[6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5],[10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],[14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3]].flat().map(e=>2*e);var hr=128;var D=new Uint32Array(32);var Ro=new Uint32Array(32);function Js(e,t){const n=D[e]+D[t];let r=D[e+1]+D[t+1];if(n>=4294967296)r++;D[e]=n;D[e+1]=r}o(Js,"add64vv");function Xu(e,t,n){const r=D[e]+t;let a=D[e+1]+n;if(r>=4294967296)a++;D[e]=r;D[e+1]=a}o(Xu,"add64vc");function Xn(e,t,n,r,a,s){Js(e,t);Xu(e,Ro[a],Ro[a+1]);let i=D[r]^D[e];let c=D[r+1]^D[e+1];D[r]=c;D[r+1]=i;Js(n,r);i=D[t]^D[n];c=D[t+1]^D[n+1];D[t]=i>>>24^c<<8;D[t+1]=c>>>24^i<<8;Js(e,t);Xu(e,Ro[s],Ro[s+1]);i=D[r]^D[e];c=D[r+1]^D[e+1];D[r]=i>>>16^c<<16;D[r+1]=c>>>16^i<<16;Js(n,r);i=D[t]^D[n];c=D[t+1]^D[n+1];D[t]=c>>>31^i<<1;D[t+1]=i>>>31^c<<1}o(Xn,"g");function Cc(e,t,n,r,a){for(let s=0;s<16;s++){D[s]=e[s];D[s+16]=Qu[s]}D[24]=D[24]^r>>>0;D[25]=D[25]^Math.floor(r/4294967296);if(a){D[28]=~D[28];D[29]=~D[29]}for(let s=0;s<32;s++){const i=n+4*s;Ro[s]=t[i]|t[i+1]<<8|t[i+2]<<16|t[i+3]<<24}for(let s=0;s<12;s++){const i=s*16;Xn(0,8,16,24,He[i],He[i+1]);Xn(2,10,18,26,He[i+2],He[i+3]);Xn(4,12,20,28,He[i+4],He[i+5]);Xn(6,14,22,30,He[i+6],He[i+7]);Xn(0,10,20,30,He[i+8],He[i+9]);Xn(2,12,22,24,He[i+10],He[i+11]);Xn(4,14,16,26,He[i+12],He[i+13]);Xn(6,8,18,28,He[i+14],He[i+15])}for(let s=0;s<16;s++)e[s]=e[s]^D[s]^D[s+16]}o(Cc,"compress");function va(e,{outLen:t=32,key:n=new Uint8Array(0)}={}){if(!Number.isInteger(t)||t<1||t>64)throw new RangeError(`blake2b: outLen must be 1..64, got ${t}`);if(n.length>64)throw new RangeError(`blake2b: key must be at most 64 bytes, got ${n.length}`);const r=Qu.slice();r[0]=r[0]^(16842752^n.length<<8^t);let a=e;if(n.length>0){const i=new Uint8Array(hr);i.set(n);a=E(i,e)}if(a.length===0){Cc(r,new Uint8Array(hr),0,0,true)}else{const i=Math.ceil(a.length/hr);for(let d=0;d<i-1;d++)Cc(r,a,d*hr,(d+1)*hr,false);const c=new Uint8Array(hr);c.set(a.subarray((i-1)*hr));Cc(r,c,0,a.length,true)}const s=new Uint8Array(t);for(let i=0;i<t;i++)s[i]=r[i>>2]>>>8*(i&3);return s}o(va,"blake2b");var f1=256;var Yu=64;var vr=[];function p1(e,t){if(e.length!==t.length)return false;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return false;return true}o(p1,"sameBytes");function ie(e){if(e.length<f1)return E(Uint8Array.of(170,32),va(e,{outLen:32}),Uint8Array.of(135));for(let n=0;n<vr.length;n++){const r=vr[n];if(p1(r.program,e)){if(n>0){vr.splice(n,1);vr.unshift(r)}return Uint8Array.from(r.spk)}}const t=E(Uint8Array.of(170,32),va(e,{outLen:32}),Uint8Array.of(135));vr.unshift({program:Uint8Array.from(e),spk:Uint8Array.from(t)});if(vr.length>Yu)vr.length=Yu;return t}o(ie,"p2shScript");function b1(e,t){return h(e)===h(ie(t))}o(b1,"p2shCommitsTo");function ha(e,t){const n=new Uint8Array(t);let r=BigInt(e);if(r<0n)throw new RangeError("le: negative value");for(let a=0;a<t;a++){n[a]=Number(r&0xffn);r>>=8n}if(r!==0n)throw new RangeError(`le: value does not fit in ${t} bytes`);return n}o(ha,"le");var m1=new TextEncoder().encode("CovenantID");function tt(e,t,n){const r=[_(e),ha(t,4),ha(n.length,8)];for(const a of n){r.push(ha(a.index,4),ha(a.value,8),ha(a.scriptVersion,2),ha(a.script.length,8),a.script)}return h(va(E(...r),{outLen:32,key:m1}))}o(tt,"covenantIdKip20");var de=class extends N{static{o(this,"StateCodecError")}};var Zu=["v1"];function wa(e){switch(e){case"v3":return e;case"v1":return"v3";default:throw new de(`unknown contract set ${String(e)}`)}}o(wa,"poolStateLayoutOf");var y2=1;var xn=53;var h2=1;var kr=139;var nt=36;var Ve=new Uint8Array(32);var Xs=0;var vt=4;var wr=0;var kt=1;var el=1000000n;function Ec(e){wa(e);return kr}o(Ec,"poolStateLength");function v2(e){return e===kr?"v3":void 0}o(v2,"poolStateSetOfLength");function xa(e){return"v3"}o(xa,"poolStateSet");function Uo(e){return!M(e.lpCovId,Ve)}o(Uo,"isPoolBound");function xr(e){switch(e){case"v1":return"v2";default:throw new de(`unknown contract set ${String(e)}`)}}o(xr,"feeModelOf");function Jt(e){return e.length===nt&&e[0]===0&&e[1]===0&&e[2]===32&&e[35]===172}o(Jt,"isP2pkSpk36");function g1(e,t){if(!Number.isInteger(e)||e<0||e>255)throw new de(`${t} must be a byte`);return Uint8Array.of(e)}o(g1,"byteField");function tl(e){let t=0;return{next(n){let r;try{r=wn(e,t)}catch(a){throw new de(a.message)}if(r.payload.length!==n)throw new de(`field at ${t}: ${r.payload.length} bytes, expected ${n}`);t=r.next;return r.payload},end(){if(t!==e.length)throw new de(`trailing bytes: consumed ${t} of ${e.length}`)}}}o(tl,"reader");function ka(e){try{return Jn(e)}catch(t){throw new de(t.message)}}o(ka,"intField");function y1(e){const t=e[0];if(t===void 0)throw new de("byte field is empty");return t}o(y1,"byteOf");function Sa(e){if(e.tokenCovId.length!==32)throw new de("curve state: tokenCovId must be 32 bytes");const t=g1(e.phase,"curve state: phase");if(e.lotsSold<0n||e.feeAccrued<0n)throw new de("curve state: lotsSold and feeAccrued must be non-negative");const n=E(oe(e.tokenCovId),oe(st(e.lotsSold)),oe(st(e.feeAccrued)),oe(t));if(n.length!==xn)throw new de(`curve state encodes to ${n.length} B`);return n}o(Sa,"encodeCurveState");function Aa(e){if(e.length!==xn)throw new de(`curve state must be ${xn} B, got ${e.length}`);const t=tl(e);const n={tokenCovId:Uint8Array.from(t.next(32)),lotsSold:ka(t.next(8)),feeAccrued:ka(t.next(8)),phase:y1(t.next(1))};t.end();if(!M(Sa(n),e))throw new de("curve state does not round-trip");return n}o(Aa,"decodeCurveState");function Oc(e){if(e.tokenCovId.length!==32)throw new de("pool state: tokenCovId must be 32 bytes");if(e.creatorSpk===void 0)throw new de("pool state: creatorSpk is required");if(e.creatorSpk.length!==nt)throw new de(`pool state: creatorSpk must be ${nt} bytes`);if(e.lpCovId===void 0||e.lpCovId.length!==32)throw new de("pool state: lpCovId must be 32 bytes");const t=E(oe(e.tokenCovId),oe(st(e.kasScaled)),oe(st(e.tokenReserve)),oe(st(e.lpShares)),oe(e.lpCovId),oe(st(e.feeAccruedScaled)),oe(e.creatorSpk));if(t.length!==kr)throw new de(`pool state encodes to ${t.length} B, expected ${kr}`);return t}o(Oc,"encodePoolState");function _c(e,t){if(t!==void 0)wa(t);if(e.length!==kr)throw new de(`pool state must be ${kr} B, got ${e.length}`);const n=tl(e);const r={tokenCovId:Uint8Array.from(n.next(32)),kasScaled:ka(n.next(8)),tokenReserve:ka(n.next(8)),lpShares:ka(n.next(8))};const a=Uint8Array.from(n.next(32));const s={...r,lpCovId:a,feeAccruedScaled:ka(n.next(8)),creatorSpk:Uint8Array.from(n.next(nt))};n.end();if(!M(Oc(s),e))throw new de("pool state does not round-trip");return s}o(_c,"decodePoolState");var ol=32;var Pa=64;var nl=1024;var h1=1<<0;var v1=1<<1;var k1=1<<2;var w1=1<<3;var No=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];var x1=[2,6,3,10,7,0,4,13,1,11,12,5,9,14,15,8];function Ys(e,t){return(e>>>t|e<<32-t)>>>0}o(Ys,"rotr");function Yn(e,t,n,r,a,s,i){e[t]=e[t]+e[n]+s>>>0;e[a]=Ys(e[a]^e[t],16);e[r]=e[r]+e[a]>>>0;e[n]=Ys(e[n]^e[r],12);e[t]=e[t]+e[n]+i>>>0;e[a]=Ys(e[a]^e[t],8);e[r]=e[r]+e[a]>>>0;e[n]=Ys(e[n]^e[r],7)}o(Yn,"g");function Sr(e,t){Yn(e,0,4,8,12,t[0],t[1]);Yn(e,1,5,9,13,t[2],t[3]);Yn(e,2,6,10,14,t[4],t[5]);Yn(e,3,7,11,15,t[6],t[7]);Yn(e,0,5,10,15,t[8],t[9]);Yn(e,1,6,11,12,t[10],t[11]);Yn(e,2,7,8,13,t[12],t[13]);Yn(e,3,4,9,14,t[14],t[15])}o(Sr,"round");function Ta(e){const t=new Uint32Array(16);for(let n=0;n<16;n++)t[n]=e[x1[n]];return t}o(Ta,"permute");function Lc(e,t,n,r,a){const s=n%4294967296;const i=Math.floor(n/4294967296);const c=new Uint32Array(16);for(let l=0;l<8;l++)c[l]=e[l];c[8]=No[0];c[9]=No[1];c[10]=No[2];c[11]=No[3];c[12]=s>>>0;c[13]=i>>>0;c[14]=r>>>0;c[15]=a>>>0;let d=t;Sr(c,d);d=Ta(d);Sr(c,d);d=Ta(d);Sr(c,d);d=Ta(d);Sr(c,d);d=Ta(d);Sr(c,d);d=Ta(d);Sr(c,d);d=Ta(d);Sr(c,d);for(let l=0;l<8;l++){c[l]=(c[l]^c[l+8])>>>0;c[l+8]=(c[l+8]^e[l])>>>0}return c}o(Lc,"compress");function rl(e){const t=new Uint32Array(16);for(let n=0;n<16;n++){const r=n*4;t[n]=(e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24)>>>0}return t}o(rl,"wordsFromLEBytes");function Ic(e){return Lc(e.cv,e.block,e.counter,e.blockLen,e.flags).subarray(0,8)}o(Ic,"chainingValue");function S1(e,t){const n=new Uint8Array(t);let r=0;let a=0;while(a<t){const s=Lc(e.cv,e.block,r,e.blockLen,e.flags|w1);for(let i=0;i<16&&a<t;i++){const c=s[i];for(let d=0;d<4&&a<t;d++)n[a++]=c>>>8*d&255}r++}return n}o(S1,"rootBytes");var Qs=class{static{o(this,"ChunkState")}cv;chunkCounter;block=new Uint8Array(Pa);blockLen=0;blocksCompressed=0;constructor(t,n){this.cv=Uint32Array.from(t);this.chunkCounter=n}len(){return Pa*this.blocksCompressed+this.blockLen}startFlag(){return this.blocksCompressed===0?h1:0}update(t){let n=0;while(n<t.length){if(this.blockLen===Pa){this.cv=Lc(this.cv,rl(this.block),this.chunkCounter,Pa,this.startFlag()).subarray(0,8);this.blocksCompressed++;this.block.fill(0);this.blockLen=0}const r=Pa-this.blockLen;const a=Math.min(r,t.length-n);this.block.set(t.subarray(n,n+a),this.blockLen);this.blockLen+=a;n+=a}}output(){return{cv:this.cv,block:rl(this.block),counter:this.chunkCounter,blockLen:this.blockLen,flags:this.startFlag()|v1}}};function al(e,t,n){const r=new Uint32Array(16);r.set(e,0);r.set(t,8);return{cv:n,block:r,counter:0,blockLen:Pa,flags:k1}}o(al,"parentOutput");var $c=class{static{o(this,"Blake3Hasher")}#e=Uint32Array.from(No);#t=new Qs(this.#e,0);#n=[];update(t){let n=0;while(n<t.length){if(this.#t.len()===nl){const s=Ic(this.#t.output());const i=this.#t.chunkCounter+1;this.#r(s,i);this.#t=new Qs(this.#e,i)}const r=nl-this.#t.len();const a=Math.min(r,t.length-n);this.#t.update(t.subarray(n,n+a));n+=a}return this}#r(t,n){let r=t;let a=n;while((a&1)===0){r=Ic(al(this.#n.pop(),r,this.#e));a=Math.floor(a/2)}this.#n.push(r)}digest(t=ol){let n=this.#t.output();for(let r=this.#n.length-1;r>=0;r--){n=al(this.#n[r],Ic(n),this.#e)}return S1(n,t)}};function Ca(e,t=ol){return new $c().update(e).digest(t)}o(Ca,"blake3");function Ea(e){switch(e.semantic){case"pubkey":return{kind:"signature",semantic:"pubkey",pubkey:e.identifier};case"p2pkh-schnorr":case"p2pkh-ecdsa":return{kind:"signature-with-pubkey-reveal",semantic:e.semantic,pubkeyHash:e.identifier};case"script-hash":return{kind:"p2sh-input",semantic:"script-hash",scriptHash:e.identifier};case"covenant-id":return{kind:"covenant-input",semantic:"covenant-id",covenantId:e.identifier}}}o(Ea,"describeAuth");var Sn="kcc0020-112";var Ar=112;var Ge=32;var Xt=new Map([[0,"pubkey"],[1,"p2pkh-schnorr"],[2,"p2pkh-ecdsa"],[3,"script-hash"],[4,"covenant-id"]]);var A1=new Map([["pubkey","p2pk-schnorr/v1"],["p2pkh-schnorr","p2pkh-schnorr/v1"],["p2pkh-ecdsa","p2pkh-ecdsa/v1"],["script-hash","p2sh/v1"],["covenant-id","covenant-id/v1"]]);var dl=0;var ri=1;var ul=2;var ll=3;var Nc=new Map([[dl,"disabled/v1"],[ri,"amount-threshold/v1"],[ul,"schnorr-signature/v1"],[ll,"hash-chain/v1"]]);var T1=0;var P1=1;var Tn=3;var Cr=3;var Zs=65;var ei=32;var Rc=33;var sl=129;var Oa=Object.freeze({transfer:Object.freeze({signature:"transfer({int,byte[32],byte,byte,byte[32],byte[32]}[],byte[])",tagHex:"79c71c23"}),transferDelegator:Object.freeze({signature:"transfer_delegator(byte[])",tagHex:"fd3ef14a"})});function fl(e){return Ca(new TextEncoder().encode(e)).slice(0,4)}o(fl,"dispatchTag");var Qn="borrowScheme";var Tr="borrowGuard";var Pr="extensionCommitment";var il=new Uint8Array(Ge);function wt(e,t=Xt){const n=t.get(e.ownerScheme);if(n===void 0){throw new F(`owner_scheme ${An(e.ownerScheme)} is not defined by this template (known: ${Bc(t)})`)}const r={layoutId:Sn,amount:e.amount,owner:{schemeByte:e.ownerScheme,semantic:n,identifier:Uint8Array.from(e.owner)},mintCapable:null,extra:Object.freeze({[Qn]:Uint8Array.of(e.borrowScheme),[Tr]:Uint8Array.from(e.borrowGuard??il),[Pr]:Uint8Array.from(e.extensionCommitment??il)})};xt.validate(r,t);return r}o(wt,"makeKcc0020State");function rt(e,t=Xt){xt.validate(e,t);return{amount:e.amount,owner:e.owner.identifier,ownerScheme:e.owner.schemeByte,borrowScheme:e.extra[Qn][0],borrowGuard:e.extra[Tr],extensionCommitment:e.extra[Pr]}}o(rt,"kcc0020Fields");function ti(e){return $1(e,Qn)}o(ti,"borrowSchemeOf");function ni(e){return hl(e,Tr)}o(ni,"borrowGuardOf");function Uc(e){return hl(e,Pr)}o(Uc,"extensionCommitmentOf");function pl(e){const t=new Uint8Array(Ge);t.set(st(e),0);return t}o(pl,"thresholdGuard");function C1(e){if(e.length!==Ge)throw new F(`borrow_guard must be ${Ge} bytes, got ${e.length}`);const t=(e[7]&128)!==0;let n=0n;for(let a=7;a>=0;a--){const s=a===7?e[a]&127:e[a];n=n<<8n|BigInt(s)}const r=t?-n:n;return{decoded:r,effective:r<0n?0n:r}}o(C1,"decodeThresholdGuard");function bl(e,t){if(t.length!==Ge)throw new F(`covenant id must be ${Ge} bytes, got ${t.length}`);return e.owner.semantic==="covenant-id"&&M(e.owner.identifier,t)}o(bl,"isSelfOwned");function Bo(e,t,n="token output"){if(bl(e,t)){throw new Q(`${n} is self-owned: owner_scheme covenant-id/v1 with owner == its own covenant id ${h(t)} is anyone-can-spend; refusing to construct it`)}}o(Bo,"assertNotSelfOwned");var xt={id:Sn,stateLength:Ar,referenceSchemes:Xt,encode(e,t=Xt){this.validate(e,t);const n=E(oe(st(e.amount)),oe(e.owner.identifier),oe(Uint8Array.of(e.owner.schemeByte)),oe(e.extra[Qn]),oe(e.extra[Tr]),oe(e.extra[Pr]));if(n.length!==Ar){throw new F(`encoded ${n.length} bytes, expected ${Ar}`)}return n},decode(e,t){if(e.length!==Ar){throw new N(`${Sn} state must be exactly ${Ar} bytes, got ${e.length}`)}let n=0;const r=o((p,b)=>{const g=wn(e,n);if(g.payload.length!==b)throw new N(`${p} must be ${b} bytes, got ${g.payload.length}`);n=g.next;return g.payload},"field");const a=Jn(r("amount",8));const s=r("owner",Ge);const i=r("owner_scheme",1)[0];const c=r("borrow_scheme",1)[0];const d=r("borrow_guard",Ge);const l=r("extension_commitment",Ge);if(n!==e.length)throw new N(`trailing bytes: consumed ${n} of ${e.length}`);if(a<0n)throw new N(`negative amount ${a} in state ${h(e)}`);const u=t.get(i);if(u===void 0){throw new N(`owner_scheme ${An(i)} is not defined by this template (known: ${Bc(t)}). Refusing to guess an owner.`)}if(!Nc.has(c)){throw new N(`borrow_scheme ${An(c)} is unassigned (known: 0x00..0x03)`)}return{layoutId:Sn,amount:a,owner:{schemeByte:i,semantic:u,identifier:Uint8Array.from(s)},mintCapable:null,extra:Object.freeze({[Qn]:Uint8Array.of(c),[Tr]:Uint8Array.from(d),[Pr]:Uint8Array.from(l)})}},validate(e,t=Xt){if(e===null||typeof e!=="object")throw new F("state must be an object");if(e.layoutId!==Sn)throw new F(`expected ${Sn}, got ${String(e.layoutId)}`);if(typeof e.amount!=="bigint")throw new F(`amount must be a bigint, got ${typeof e.amount}`);if(e.amount<0n)throw new F(`amount must be non-negative, got ${e.amount}`);if(e.amount>ht)throw new F(`amount ${e.amount} exceeds the KCC1 int range`);const n=e.owner;if(n===null||typeof n!=="object")throw new F("owner must be an object");if(!(n.identifier instanceof Uint8Array)||n.identifier.length!==Ge){throw new F(`owner must be a ${Ge}-byte Uint8Array`)}if(!Number.isInteger(n.schemeByte)||n.schemeByte<0||n.schemeByte>255){throw new F(`owner_scheme must be a single byte, got ${String(n.schemeByte)}`)}const r=t.get(n.schemeByte);if(r===void 0){throw new F(`owner_scheme ${An(n.schemeByte)} is not defined by this template (known: ${Bc(t)})`)}if(r!==n.semantic){throw new F(`owner_scheme ${An(n.schemeByte)} means '${r}' under this template, but the state claims '${String(n.semantic)}'`)}if(e.mintCapable!==null){throw new F(`${Sn} has no minter concept; mintCapable must be null, got ${String(e.mintCapable)}`)}const a=e.extra;if(a===null||typeof a!=="object")throw new F("extra must be an object");const s=a[Qn];if(!(s instanceof Uint8Array)||s.length!==1){throw new F(`extra.${Qn} must be a 1-byte Uint8Array`)}if(!Nc.has(s[0])){throw new F(`borrow_scheme ${An(s[0])} is unassigned (known: 0x00..0x03)`)}for(const c of[Tr,Pr]){const d=a[c];if(!(d instanceof Uint8Array)||d.length!==Ge){throw new F(`extra.${c} must be a ${Ge}-byte Uint8Array`)}}const i=Object.keys(a);if(i.length!==3){throw new F(`extra must hold exactly ${Qn}, ${Tr}, ${Pr}; got ${i.join(", ")}`)}},checkOwnershipTransition(e,t){gl(e,t,Tn,Cr,Xt);return e.map(n=>Ea(n.state.owner))},checkSupply(e,t){if(e.length===0)throw new ot("a transition must consume at least one state");for(const n of[...e,...t])this.validate(n.state);ml(e,t)}};function ml(e,t){const n=e.reduce((a,s)=>a+s.state.amount,0n);const r=t.reduce((a,s)=>a+s.state.amount,0n);if(n>ht)throw new ot(`total input amount ${n} exceeds the KCC1 int range`);if(n!==r){throw new ot(`supply not conserved: in=${n} out=${r} (delta ${r-n})`)}return n}o(ml,"checkConservation");function gl(e,t,n,r,a){if(e.length===0)throw new Q("a transfer must consume at least one state");if(e.length>n)throw new Q(`${e.length} token inputs exceed max_token_inputs ${n}`);if(t.length>r)throw new Q(`${t.length} token outputs exceed max_token_outputs ${r}`);for(const i of[...e,...t])xt.validate(i.state,a);const s=Uc(e[0].state);for(const i of e){if(!M(Uc(i.state),s)){throw new Q(`input ${i.index}: extension_commitment differs from the leader's`)}}for(const i of t){if(!M(Uc(i.state),s)){throw new Q(`output ${i.index}: extension_commitment differs from the inputs'`)}}}o(gl,"checkFamilyShape");function E1(e,t){const n=o((r,a)=>{if(e.length!==r){throw new Q(`${A1.get(t.semantic)} owner-authentication bytes must be ${a} (${r} bytes), got ${e.length}`)}},"want");switch(t.semantic){case"pubkey":n(Zs,"a 65-byte signature");return{scheme:"p2pk-schnorr/v1",signature:e};case"p2pkh-schnorr":{n(ei+Zs,"a 32-byte public key then a 65-byte signature");const r=e.subarray(0,ei);cl(r,t.identifier);return{scheme:"p2pkh-schnorr/v1",pubkey:r,signature:e.subarray(ei)}}case"p2pkh-ecdsa":{n(Rc+Zs,"a 33-byte compressed public key then a 65-byte signature");const r=e.subarray(0,Rc);cl(r,t.identifier);return{scheme:"p2pkh-ecdsa/v1",pubkey:r,signature:e.subarray(Rc)}}case"script-hash":n(1,"one unsigned byte, the authority input index");return{scheme:"p2sh/v1",authorityInputIndex:e[0]};case"covenant-id":n(0,"empty");return{scheme:"covenant-id/v1"}}}o(E1,"parseOwnerWitness");function cl(e,t){const n=Ca(e);if(!M(n,t)){throw new Q(`revealed public key hashes to ${h(n)}, but the state's owner is ${h(t)}`)}}o(cl,"requireKeyHash");function O1(e,t){switch(t){case dl:throw new Q("borrow_scheme is disabled/v1: borrowing is rejected");case ri:if(e.length!==0)throw new Q(`amount-threshold/v1 borrow witness must be empty, got ${e.length} bytes`);return{scheme:"amount-threshold/v1"};case ul:if(e.length!==Zs){throw new Q(`schnorr-signature/v1 borrow witness must be a 65-byte signature, got ${e.length} bytes`)}return{scheme:"schnorr-signature/v1",signature:e};case ll:if(e.length!==sl){throw new Q(`hash-chain/v1 borrow witness must be exactly ${sl} bytes, got ${e.length}`)}return{scheme:"hash-chain/v1",nextBorrowGuard:e.subarray(0,32),oneTimePubkey:e.subarray(32,64),signature:e.subarray(64)};default:throw new Q(`borrow_scheme ${An(t)} is unassigned`)}}o(O1,"parseBorrowWitness");function _1(e,t){if(e.length!==Ge||t.length!==ei){throw new F(`hash-chain link needs a 32-byte value and a 32-byte key, got ${e.length} and ${t.length}`)}return Ca(E(e,t))}o(_1,"hashChainLink");function yl(e){const t=e.schemes??Xt;const n=e.maxTokenInputs??Tn;const r=e.maxTokenOutputs??Cr;gl(e.inputs,e.outputs,n,r,t);const a=ml(e.inputs,e.outputs);if(!(e.witness instanceof Uint8Array)||e.witness.length===0){throw new Q("leader witness must carry a path byte")}const s=e.witness[0];const i=e.witness.subarray(1);const c=e.inputs[0].state;let d;let l;if(s===T1){l="normal";d={kind:"owner",requirement:Ea(c.owner),witness:E1(i,c.owner)}}else if(s===P1){l="borrowed";d=I1(e.inputs[0],e.outputs[0],i)}else{throw new Q(`witness path byte ${An(s)} is reserved`)}const u=[];if(e.covenantId!==void 0){e.outputs.forEach((p,b)=>{if(bl(p.state,e.covenantId))u.push(b)})}return{path:l,leader:d,delegators:e.inputs.slice(1).map(p=>Ea(p.state.owner)),totalAmount:a,selfOwnedOutputs:u}}o(yl,"checkTransfer");function I1(e,t,n){if(t===void 0)throw new Q("a borrowed receive needs a successor at next_states[0]");const r=e.state;const a=t.state;const s=ti(r);const i=ni(r);const c=O1(n,s);let d=0n;let l=i;let u;switch(c.scheme){case"amount-threshold/v1":d=C1(i).effective;break;case"schnorr-signature/v1":u=i;break;case"hash-chain/v1":{const b=_1(c.nextBorrowGuard,c.oneTimePubkey);if(!M(b,i)){throw new Q(`revealed link hashes to ${h(b)}, not to the leader's borrow_guard ${h(i)}`)}l=c.nextBorrowGuard;u=c.oneTimePubkey;break}}const p=a.amount-r.amount;if(p<0n){throw new Q(`borrowed successor amount ${a.amount} is smaller than the leader's ${r.amount}`)}if(p<=d){throw new Q(`amount increase ${p} does not strictly exceed the effective threshold ${d}`)}if(!M(a.owner.identifier,r.owner.identifier))throw new Q("borrowed successor does not preserve owner");if(a.owner.schemeByte!==r.owner.schemeByte)throw new Q("borrowed successor does not preserve owner_scheme");if(ti(a)!==s)throw new Q("borrowed successor does not preserve borrow_scheme");if(!M(ni(a),l)){throw new Q(`borrowed successor does not carry the expected next_borrow_guard ${h(l)}`)}if(e.kasValue!==void 0&&t.kasValue!==void 0&&t.kasValue<e.kasValue){throw new Q(`borrowed successor output carries ${t.kasValue} sompi, less than the borrowed input's ${e.kasValue}`)}return{kind:"borrow",scheme:s,schemeName:Nc.get(s),witness:c,increase:p,effectiveThreshold:d,...u===void 0?{}:{signer:u}}}o(I1,"checkBorrowedReceive");function ai(e,t,n=Xt){if(e.length>Cr){throw new Q(`${e.length} next_states exceed max_token_outputs ${Cr}`)}const r=e.map(d=>rt(d,n));const a=o(d=>se(E(...r.map(d))),"group");const s=[a(d=>st(d.amount)),a(d=>d.owner),a(d=>Uint8Array.of(d.ownerScheme)),a(d=>Uint8Array.of(d.borrowScheme)),a(d=>d.borrowGuard),a(d=>d.extensionCommitment)];const i=se(t);const c=se(_(Oa.transfer.tagHex));return{groupedFieldPushes:s,witnessPush:i,dispatchTagPush:c,bytes:E(...s,i,c)}}o(ai,"encodeTransferArguments");var An=o(e=>"0x"+e.toString(16).padStart(2,"0"),"hex2");var Bc=o(e=>[...e.keys()].map(An).join(", "),"knownSchemes");function $1(e,t){const n=e.extra?.[t];if(!(n instanceof Uint8Array)||n.length!==1)throw new F(`extra.${t} must be a 1-byte Uint8Array`);return n[0]}o($1,"extraByte");function hl(e,t){const n=e.extra?.[t];if(!(n instanceof Uint8Array)||n.length!==Ge)throw new F(`extra.${t} must be a ${Ge}-byte Uint8Array`);return n}o(hl,"extra32");var L1=32;var _a=64;var vl=1024;var R1=1<<0;var U1=1<<1;var N1=1<<2;var B1=1<<3;var K1=1<<4;var oi=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];var M1=[2,6,3,10,7,0,4,13,1,11,12,5,9,14,15,8];var si=o((e,t)=>(e>>>t|e<<32-t)>>>0,"rotr");function Zn(e,t,n,r,a,s,i){e[t]=e[t]+e[n]+s>>>0;e[a]=si(e[a]^e[t],16);e[r]=e[r]+e[a]>>>0;e[n]=si(e[n]^e[r],12);e[t]=e[t]+e[n]+i>>>0;e[a]=si(e[a]^e[t],8);e[r]=e[r]+e[a]>>>0;e[n]=si(e[n]^e[r],7)}o(Zn,"g");function kl(e,t){Zn(e,0,4,8,12,t[0],t[1]);Zn(e,1,5,9,13,t[2],t[3]);Zn(e,2,6,10,14,t[4],t[5]);Zn(e,3,7,11,15,t[6],t[7]);Zn(e,0,5,10,15,t[8],t[9]);Zn(e,1,6,11,12,t[10],t[11]);Zn(e,2,7,8,13,t[12],t[13]);Zn(e,3,4,9,14,t[14],t[15])}o(kl,"round");function j1(e){const t=new Uint32Array(16);for(let n=0;n<16;n++)t[n]=e[M1[n]];return t}o(j1,"permute");function jc(e,t,n,r,a){const s=new Uint32Array(16);for(let c=0;c<8;c++)s[c]=e[c];s[8]=oi[0];s[9]=oi[1];s[10]=oi[2];s[11]=oi[3];s[12]=n%4294967296>>>0;s[13]=Math.floor(n/4294967296)>>>0;s[14]=r>>>0;s[15]=a>>>0;let i=t;for(let c=0;c<6;c++){kl(s,i);i=j1(i)}kl(s,i);for(let c=0;c<8;c++){s[c]=(s[c]^s[c+8])>>>0;s[c+8]=(s[c+8]^e[c])>>>0}return s}o(jc,"compress");function Mc(e){const t=new Uint32Array(16);for(let n=0;n<16;n++){const r=n*4;t[n]=(e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24)>>>0}return t}o(Mc,"words");var Kc=o(e=>jc(e.cv,e.block,e.counter,e.blockLen,e.flags).subarray(0,8),"chainingValue");function F1(e,t){const n=new Uint8Array(t);let r=0;let a=0;while(a<t){const s=jc(e.cv,e.block,r++,e.blockLen,e.flags|B1);for(let i=0;i<16&&a<t;i++)for(let c=0;c<4&&a<t;c++)n[a++]=s[i]>>>8*c&255}return n}o(F1,"rootBytes");var ii=class{static{o(this,"ChunkState")}cv;chunkCounter;base;block=new Uint8Array(_a);blockLen=0;blocksCompressed=0;constructor(t,n,r){this.cv=Uint32Array.from(t);this.chunkCounter=n;this.base=r}len(){return _a*this.blocksCompressed+this.blockLen}startFlag(){return this.blocksCompressed===0?R1:0}update(t){let n=0;while(n<t.length){if(this.blockLen===_a){this.cv=jc(this.cv,Mc(this.block),this.chunkCounter,_a,this.base|this.startFlag()).subarray(0,8);this.blocksCompressed++;this.block.fill(0);this.blockLen=0}const r=Math.min(_a-this.blockLen,t.length-n);this.block.set(t.subarray(n,n+r),this.blockLen);this.blockLen+=r;n+=r}}output(){return{cv:this.cv,block:Mc(this.block),counter:this.chunkCounter,blockLen:this.blockLen,flags:this.base|this.startFlag()|U1}}};function wl(e,t,n,r){const a=new Uint32Array(16);a.set(e,0);a.set(t,8);return{cv:n,block:a,counter:0,blockLen:_a,flags:r|N1}}o(wl,"parentOutput");function D1(e,t,n=L1){if(e.length!==32)throw new RangeError(`blake3Keyed: key must be 32 bytes, got ${e.length}`);const r=Mc(e).subarray(0,8);const a=K1;let s=new ii(r,0,a);const i=[];const c=o((u,p)=>{let b=u;let g=p;while((g&1)===0){b=Kc(wl(i.pop(),b,r,a));g=Math.floor(g/2)}i.push(b)},"addChunk");let d=0;while(d<t.length){if(s.len()===vl){const p=s.chunkCounter+1;c(Kc(s.output()),p);s=new ii(r,p,a)}const u=Math.min(vl-s.len(),t.length-d);s.update(t.subarray(d,d+u));d+=u}let l=s.output();for(let u=i.length-1;u>=0;u--)l=wl(i[u],Kc(l),r,a);return F1(l,n)}o(D1,"blake3Keyed");function H1(e){const t=new TextEncoder().encode(e);if(t.length>32)throw new RangeError(`domain ${e} exceeds 32 bytes`);const n=new Uint8Array(32);n.set(t);return n}o(H1,"domainKey");function ci(e,t){return D1(H1(e),t)}o(ci,"keyedBlake3");var xl="9c0ca2acb45e92ffe6ceb4ae29188b35c82d9676cdd3ce067fd6ccc30a9c4a38";var di="00".repeat(20);function $t(e,t){const n=new Uint8Array(t);let r=BigInt(e);if(r<0n)throw new RangeError("le: negative value");for(let a=0;a<t;a++){n[a]=Number(r&0xffn);r>>=8n}if(r!==0n)throw new RangeError(`le: value does not fit in ${t} bytes`);return n}o($t,"le");var Fc=o(e=>E($t(e.length,8),e),"varBytes");function Sl(e){return e.length===0?_(xl):ci("PayloadDigest",e)}o(Sl,"payloadDigest");function Al(e){const t=[$t(e.version,2),$t(e.inputs.length,8)];for(const r of e.inputs){const a=_(r.transactionId);if(a.length!==32)throw new RangeError(`input transaction id must be 32 bytes, got ${a.length}`);t.push(a,$t(r.index,4),Fc(new Uint8Array(0)),$t(r.sequence,8))}t.push($t(e.outputs.length,8));for(const r of e.outputs){t.push($t(r.value,8),$t(r.scriptVersion,2),Fc(_(r.script)));if(e.version>=1){if(r.covenant){const a=_(r.covenant.covenantId);if(a.length!==32)throw new RangeError(`covenant id must be 32 bytes, got ${a.length}`);t.push(Uint8Array.of(1),$t(r.covenant.authorizingInput,2),a)}else{t.push(Uint8Array.of(0))}}}const n=_(e.subnetworkId);if(n.length!==20)throw new RangeError(`subnetwork id must be 20 bytes, got ${n.length}`);t.push($t(e.lockTime,8),n,$t(e.gas,8),Fc(new Uint8Array(0)));return E(...t)}o(Al,"restPreimage");function at(e){if(e.version<1)throw new Error("txidV1: version 0 transactions use the BLAKE2b TransactionID hash");const t=Sl(_(e.payload));const n=ci("TransactionRest",Al(e));return{txid:h(ci("TransactionV1Id",E(t,n))),payloadDigest:h(t),restDigest:h(n)}}o(at,"txidV1");function Ko(e){return{version:e.version,inputs:e.inputs.map(t=>({...t,sequence:t.sequence.toString()})),outputs:e.outputs.map(t=>({...t,value:t.value.toString()})),lockTime:e.lockTime.toString(),subnetworkId:e.subnetworkId,gas:e.gas.toString(),payload:e.payload}}o(Ko,"plainTxToJson");function ui(e){const t=e["inputs"];const n=e["outputs"];return{version:Number(e["version"]),inputs:t.map(r=>({transactionId:String(r["transactionId"]),index:Number(r["index"]),sequence:BigInt(String(r["sequence"]??"0")),signatureScript:String(r["signatureScript"]??""),computeBudget:Number(r["computeBudget"]??0)})),outputs:n.map(r=>{const a=r["covenant"];return{value:BigInt(String(r["value"])),scriptVersion:Number(r["scriptVersion"]??0),script:String(r["script"]),covenant:a?{authorizingInput:Number(a["authorizingInput"]),covenantId:String(a["covenantId"])}:null}}),lockTime:BigInt(String(e["lockTime"]??"0")),subnetworkId:String(e["subnetworkId"]??di),gas:BigInt(String(e["gas"]??"0")),payload:String(e["payload"]??"")}}o(ui,"plainTxFromJson");var j=class extends N{static{o(this,"SigScriptError")}};var V1=96;var Tl=75;function er(e){const t=[];let n=0;while(n<e.length){const r=e[n];if(r===Hs){t.push({offset:n,dataOffset:n+1,end:n+1,payload:new Uint8Array(0)});n+=1;continue}if(r===Ws||r>=zs&&r<=V1){t.push({offset:n,dataOffset:n+1,end:n+1,payload:Uint8Array.of(r===Ws?129:r-zs+1)});n+=1;continue}let a;let s;if(r<=Tl){a=r;s=1}else if(r===Vs){li(e,n,2);a=e[n+1];s=2;if(a<=Tl)throw new j(`offset ${n}: non-minimal push, PUSHDATA1 for ${a} bytes`)}else if(r===Gs){li(e,n,3);a=e[n+1]|e[n+2]<<8;s=3;if(a<=255)throw new j(`offset ${n}: non-minimal push, PUSHDATA2 for ${a} bytes`)}else if(r===qs){li(e,n,5);a=(e[n+1]|e[n+2]<<8|e[n+3]<<16|e[n+4]<<24)>>>0;s=5;if(a<=65535)throw new j(`offset ${n}: non-minimal push, PUSHDATA4 for ${a} bytes`)}else{throw new j(`offset ${n}: opcode 0x${r.toString(16).padStart(2,"0")} is not a data push`)}li(e,n,s+a);const i=e.subarray(n+s,n+s+a);if(a===1&&(i[0]>=1&&i[0]<=16||i[0]===129)){throw new j(`offset ${n}: non-minimal push of byte 0x${i[0].toString(16)} (a small-number opcode exists)`)}t.push({offset:n,dataOffset:n+s,end:n+s+a,payload:i});n+=s+a}return t}o(er,"parseSigScriptPushes");function li(e,t,n){if(t+n>e.length)throw new j(`offset ${t}: truncated push, need ${n} bytes, have ${e.length-t}`)}o(li,"need");function G1(e){const t=er(e);if(t.length===0)throw new j("empty sigscript");return t[t.length-1].payload}o(G1,"programFromSigScript");function jo(e){const t=er(e);if(t.length<2)throw new j(`a KCC-1 sigscript has a tag push and a program push, got ${t.length} push(es)`);const n=t[t.length-2];if(e[n.offset]!==4||n.payload.length!==4)throw new j(`offset ${n.offset}: the dispatch tag must be OP_DATA_4 with 4 bytes`);const r=t[t.length-1];if(r.payload.length===0)throw new j("empty program push");return{argumentPushes:t.slice(0,-2),tag:h(n.payload),program:r.payload,programOffset:r.offset}}o(jo,"parseSigScriptEnvelope");function q1(e){return jo(e).tag}o(q1,"dispatchTagOfSigScript");var Ia=8;function $a(e){if(e>ht||e<-ht)throw new j(`int argument out of range: ${e}`);if(e===0n)return new Uint8Array(0);const t=e<0n;let n=t?-e:e;const r=[];while(n>0n){r.push(Number(n&0xffn));n>>=8n}if((r[r.length-1]&128)!==0)r.push(t?128:0);else if(t)r[r.length-1]|=128;return Uint8Array.from(r)}o($a,"encodeScriptNum");function Be(e,t=Ia){if(e.length>t)throw new j(`int argument is ${e.length} bytes, above ${t}`);if(e.length===0)return 0n;const n=e[e.length-1];if((n&127)===0&&(e.length===1||(e[e.length-2]&128)===0)){throw new j(`int argument ${h(e)} is not minimally encoded`)}let r=BigInt(n&127);for(let s=e.length-2;s>=0;s--)r=r<<8n|BigInt(e[s]);const a=(n&128)!==0?-r:r;if(a>ht||a<-ht)throw new j(`int argument out of range: ${a}`);return a}o(Be,"decodeScriptNum");var Le=o(e=>se($a(e)),"pushScriptNum");var pi=o(e=>{if(!Number.isInteger(e)||e<0||e>255)throw new j(`byte argument out of range: ${e}`);return se(Uint8Array.of(e))},"pushByteArgument");var Pn="{byte[32],int,byte[32],byte,byte,byte[32],byte[32]}";var Er=7;function tr(e,t){const n=rt(e);return{ctx:_(t),amount:n.amount,owner:n.owner,scheme:n.ownerScheme,borrow:n.borrowScheme,guard:n.borrowGuard,ext:n.extensionCommitment}}o(tr,"kcc20Full");function Or(e){for(const[t,n]of[["ctx",e.ctx],["owner",e.owner],["guard",e.guard],["ext",e.ext]]){if(n.length!==32)throw new j(`KCC20Full.${t} must be 32 bytes, got ${n.length}`)}return E(se(e.ctx),Le(e.amount),se(e.owner),pi(e.scheme),pi(e.borrow),se(e.guard),se(e.ext))}o(Or,"encodeKcc20Full");function Mo(e){if(e.length!==Er)throw new j(`KCC20Full takes ${Er} pushes, got ${e.length}`);const[t,n,r,a,s,i,c]=e.map(d=>d.payload);return{ctx:fi(t,32,"KCC20Full.ctx"),amount:Be(n),owner:fi(r,32,"KCC20Full.owner"),scheme:Pl(a,"KCC20Full.scheme"),borrow:Pl(s,"KCC20Full.borrow"),guard:fi(i,32,"KCC20Full.guard"),ext:fi(c,32,"KCC20Full.ext")}}o(Mo,"decodeKcc20Full");function fi(e,t,n){if(e.length!==t)throw new j(`${n} must be ${t} bytes, got ${e.length}`);return Uint8Array.from(e)}o(fi,"bytesN");function Pl(e,t){if(e.length!==1)throw new j(`${t} must be one byte, got ${e.length}`);return e[0]}o(Pl,"byteArg");var Yt=Object.freeze({Curve:Object.freeze({init:["byte[]","byte[]"],buy:["int",Pn],sell:["int"],sweep:[],graduate:["byte[]","byte[]"]}),Pool:Object.freeze({swapKasForTokens:["int",Pn],swapTokensForKas:["int","int"],sweep:[]})});var Dc=Object.freeze({bindLp:["byte[]","byte[]"],addLiquidity:["int",Pn],removeLiquidity:["int",Pn]});var Fo=Object.freeze(["int","int",Pn]);var Do=Object.freeze(["int","int","int","int"]);var Ho=Object.freeze(["int","int","int","int"]);function Qt(e,t){return h(fl(`__covenant_entrypoint_auth_${e}(${t.join(",")})`))}o(Qt,"covenantDispatchTag");var Cl=o(e=>Object.fromEntries(Object.entries(e).map(([t,n])=>[t,Qt(t,n)])),"tagsOf");var Ol=Object.freeze({token:Object.freeze({transfer:Oa.transfer.tagHex,transferDelegator:Oa.transferDelegator.tagHex}),curve:Object.freeze(Cl(Yt.Curve)),pool:Object.freeze(Cl({...Yt.Pool,...Dc}))});var Cn=Qt("swapKasForTokens",Fo);var En=Qt("swapKasForTokens",Do);var On=Qt("swapTokensForKas",Ho);function Hc(e){const t=[];for(const n of["token","curve","pool"]){for(const[r,a]of Object.entries(Ol[n]))if(a===e)t.push({contract:n,entry:r})}if(e===Cn||e===En)t.push({contract:"pool",entry:"swapKasForTokens"});if(e===On)t.push({contract:"pool",entry:"swapTokensForKas"});return t}o(Hc,"entriesOfTag");function W1(e){switch(e.contract){case"token":if(e.entry==="transfer")return z1(e.nextStates,e.witness);return se(e.witness);case"curve":switch(e.entry){case"init":return E(se(e.tokenPrefix),se(e.tokenSuffix));case"buy":return E(Le(e.n),Or(e.user));case"sell":return Le(e.n);case"sweep":return new Uint8Array(0);case"graduate":return E(se(e.poolPrefix),se(e.poolSuffix))}break;case"pool":switch(e.entry){case"swapKasForTokens":if(e.reserveK!==void 0&&e.user!==void 0)throw new j("swapKasForTokens: a user cell and positions together");if(e.reserveK!==void 0)return E(Le(e.kasInScaled),Le(e.minTokensOut),Le(e.reserveK),Le(e.restK));return e.minTokensOut===void 0?E(Le(e.kasInScaled),Or(e.user)):E(Le(e.kasInScaled),Le(e.minTokensOut),Or(e.user));case"swapTokensForKas":if(e.reserveK===void 0!==(e.mergedK===void 0))throw new j("swapTokensForKas: reserveK and mergedK come together");return e.reserveK===void 0?E(Le(e.tokensIn),Le(e.minOutScaled)):E(Le(e.tokensIn),Le(e.minOutScaled),Le(e.reserveK),Le(e.mergedK));case"sweep":return new Uint8Array(0);case"bindLp":return E(se(e.tokenPrefix),se(e.tokenSuffix));case"addLiquidity":return E(Le(e.shares),Or(e.lpUser));case"removeLiquidity":return E(Le(e.shares),Or(e.tokUser))}}throw new j("unknown invocation")}o(W1,"encodeInvocationArguments");function z1(e,t){const n=ai(e,t);return E(...n.groupedFieldPushes,n.witnessPush)}o(z1,"groupedTransferPushes");function J1(e){if(e.contract==="pool"&&e.entry==="swapKasForTokens"&&e.reserveK!==void 0)return En;if(e.contract==="pool"&&e.entry==="swapKasForTokens"&&e.minTokensOut!==void 0)return Cn;if(e.contract==="pool"&&e.entry==="swapTokensForKas"&&e.reserveK!==void 0)return On;return Ol[e.contract][e.entry]}o(J1,"tagOfInvocation");function St(e,t){if(t.length===0)throw new j("empty program");return E(W1(e),Uint8Array.of(4),_(J1(e)),se(t))}o(St,"encodeInvocation");function bi(e,t){const n=jo(e);const r=Hc(n.tag).filter(u=>t===void 0||u.contract===t);if(r.length===0)throw new j(`dispatch tag ${n.tag} names no entry of ${t??"the token, curve or pool"}`);if(r.length>1)throw new j(`dispatch tag ${n.tag} is ambiguous (${r.map(u=>`${u.contract}.${u.entry}`).join(", ")}); name the contract`);const{contract:a,entry:s}=r[0];const i=n.argumentPushes;const c=o(u=>{if(i.length!==u)throw new j(`${a}.${s} takes ${u} argument push(es), got ${i.length}`)},"arity");let d;try{d=X1(a,s,i,c,n.tag)}catch(u){if(u instanceof j)throw u;throw new j(`${a}.${s}: ${u.message}`)}let l;try{l=St(d,n.program)}catch(u){throw new j(`${a}.${s}: decoded arguments do not re-encode: ${u.message}`)}if(!M(l,e))throw new j(`${a}.${s}: sigscript is not the canonical encoding of its arguments`);return{invocation:d,tag:n.tag,program:Uint8Array.from(n.program)}}o(bi,"decodeInvocation");function X1(e,t,n,r,a){const s=o(i=>n[i].payload,"p");if(e==="token"){if(t==="transfer"){r(7);return{contract:"token",entry:"transfer",nextStates:Y1(n.slice(0,6).map(i=>i.payload)),witness:Uint8Array.from(s(6))}}r(1);return{contract:"token",entry:"transferDelegator",witness:Uint8Array.from(s(0))}}if(e==="curve"){switch(t){case"init":r(2);return{contract:"curve",entry:"init",tokenPrefix:Uint8Array.from(s(0)),tokenSuffix:Uint8Array.from(s(1))};case"buy":r(1+Er);return{contract:"curve",entry:"buy",n:Be(s(0)),user:Mo(n.slice(1))};case"sell":r(1);return{contract:"curve",entry:"sell",n:Be(s(0))};case"sweep":r(0);return{contract:"curve",entry:"sweep"};case"graduate":r(2);return{contract:"curve",entry:"graduate",poolPrefix:Uint8Array.from(s(0)),poolSuffix:Uint8Array.from(s(1))}}}switch(t){case"swapKasForTokens":if(a===En){r(4);return{contract:"pool",entry:"swapKasForTokens",kasInScaled:Be(s(0)),minTokensOut:Be(s(1)),reserveK:Be(s(2)),restK:Be(s(3))}}if(a===Cn){r(2+Er);return{contract:"pool",entry:"swapKasForTokens",kasInScaled:Be(s(0)),minTokensOut:Be(s(1)),user:Mo(n.slice(2))}}r(1+Er);return{contract:"pool",entry:"swapKasForTokens",kasInScaled:Be(s(0)),user:Mo(n.slice(1))};case"swapTokensForKas":if(a===On){r(4);return{contract:"pool",entry:"swapTokensForKas",tokensIn:Be(s(0)),minOutScaled:Be(s(1)),reserveK:Be(s(2)),mergedK:Be(s(3))}}r(2);return{contract:"pool",entry:"swapTokensForKas",tokensIn:Be(s(0)),minOutScaled:Be(s(1))};case"sweep":r(0);return{contract:"pool",entry:"sweep"};case"bindLp":r(2);return{contract:"pool",entry:"bindLp",tokenPrefix:Uint8Array.from(s(0)),tokenSuffix:Uint8Array.from(s(1))};case"addLiquidity":r(1+Er);return{contract:"pool",entry:"addLiquidity",shares:Be(s(0)),lpUser:Mo(n.slice(1))};case"removeLiquidity":r(1+Er);return{contract:"pool",entry:"removeLiquidity",shares:Be(s(0)),tokUser:Mo(n.slice(1))}}throw new j(`no decoder for ${e}.${t}`)}o(X1,"decodeArguments");function Y1(e){const[t,n,r,a,s,i]=e;if(t.length%yt!==0)throw new j(`next_states.amount group is ${t.length} bytes, not a multiple of ${yt}`);const c=t.length/yt;if(c>Cr)throw new j(`${c} next_states exceed max_token_outputs ${Cr}`);const d=[["owner",n,32],["owner_scheme",r,1],["borrow_scheme",a,1],["borrow_guard",s,32],["extension_commitment",i,32]];for(const[u,p,b]of d)if(p.length!==c*b)throw new j(`next_states.${u} group is ${p.length} bytes, expected ${c} x ${b}`);const l=[];for(let u=0;u<c;u++){l.push(wt({amount:Jn(t.subarray(u*8,u*8+8)),owner:n.subarray(u*32,u*32+32),ownerScheme:r[u],borrowScheme:a[u],borrowGuard:s.subarray(u*32,u*32+32),extensionCommitment:i.subarray(u*32,u*32+32)}))}return l}o(Y1,"decodeGroupedStates");var El=65;function Q1(e){const{invocation:t}=bi(e,"token");if(t.contract!=="token")throw new j("not a token sigscript");const n=er(e);if(t.entry==="transfer"){if(t.witness.length!==1+El||t.witness[0]!==0)return void 0;return n[6].dataOffset+1}return t.witness.length===El?n[0].dataOffset:void 0}o(Q1,"tokenSignatureOffset");var Z1=0;var eb=75;var _l=76;var Il=77;var tb=78;var nb=79;var rb=80;var $l=81;var ab=96;function mi(e){const t=[];let n=0;const r=o((s,i)=>{if(s+i>e.length)throw new j(`offset ${n}: truncated push, need ${i} bytes, have ${Math.max(0,e.length-s)}`);return e.subarray(s,s+i)},"take");while(n<e.length){const s=e[n];if(s===Z1){t.push(new Uint8Array(0));n+=1}else if(s<=eb){t.push(r(n+1,s));n+=1+s}else if(s===_l||s===Il||s===tb){const i=s===_l?1:s===Il?2:4;const c=r(n+1,i);let d=0;for(let l=i-1;l>=0;l--)d=d*256+c[l];t.push(r(n+1+i,d));n+=1+i+d}else if(s===nb){t.push(Uint8Array.of(129));n+=1}else if(s===rb){throw new j(`offset ${n}: OP_RESERVED fails when executed`)}else if(s>=$l&&s<=ab){t.push(Uint8Array.of(s-$l+1));n+=1}else{throw new j(`offset ${n}: opcode 0x${s.toString(16).padStart(2,"0")} is not a data push (a signature script is push-only)`)}}const a=E(...t.map(s=>se(s)));return{payloads:t,minimal:M(a,e),canonical:a}}o(mi,"consensusSigScript");var Vc="non-minimal-push";function Ll(e){if(e.length>Ia)throw new j(`int argument is ${e.length} bytes, above ${Ia} (consensus refuses it)`);if(e.length===0)return 0n;const t=e[e.length-1];let n=BigInt(t&127);for(let r=e.length-2;r>=0;r--)n=n<<8n|BigInt(e[r]);return(t&128)!==0?-n:n}o(Ll,"decodeScriptNumConsensus");function ob(e){return e.length<=Ia&&M($a(Ll(e)),e)}o(ob,"isMinimalScriptNum");function sb(e){return e.flatMap(t=>t.startsWith("{")&&t.endsWith("}")?t.slice(1,-1).split(","):[t])}o(sb,"pushTypes");var ib={...Yt.Pool,...Dc};function cb(e,t){const n=Hc(t).find(a=>a.contract===e)?.entry;if(n===void 0)return void 0;const r=e==="curve"?Yt.Curve[n]:t===Cn?Fo:t===En?Do:t===On?Ho:ib[n];if(r===void 0)return void 0;return sb(r).flatMap((a,s)=>a==="int"?[s]:[])}o(cb,"intArgumentPushes");function db(e,t){const n={sigscript:e,nonMinimal:[]};let r;try{r=jo(e)}catch(c){if(c instanceof j)return n;throw c}const a=cb(t,r.tag);if(a===void 0)return n;const s=r.argumentPushes.map(c=>c.payload);const i=[];for(const c of a){const d=s[c];if(d===void 0||d.length>Ia||ob(d))continue;s[c]=$a(Ll(d));i.push(c)}if(i.length===0)return n;return{sigscript:E(...s.map(c=>se(c)),Uint8Array.of(4),_(r.tag),se(r.program)),nonMinimal:i}}o(db,"canonicalNumbers");var Gc="non-minimal-number";function qc(e,t){const n=mi(e);const r=t==="token"?{sigscript:n.canonical,nonMinimal:[]}:db(n.canonical,t);return{decoded:bi(r.sigscript,t),minimalPushes:n.minimal,nonMinimalNumbers:r.nonMinimal}}o(qc,"decodeInvocationByConsensus");var Wc=/^[0-9a-f]{64}$/;function Rl(e){if(!Number.isSafeInteger(e)||e<0)throw new RangeError(`LE64: not a non-negative safe integer: ${e}`);const t=new Uint8Array(8);let n=e;for(let r=0;r<8;r++){t[r]=n%256;n=Math.floor(n/256)}return t}o(Rl,"le64");function Ul(e,t){if(e.length!==t.length)return false;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return false;return true}o(Ul,"sameBytes");var Nl=16;var _r=[];function ub(e,t){for(let a=0;a<_r.length;a++){const s=_r[a];if(Ul(s.suffix,t)&&Ul(s.prefix,e)){if(a>0){_r.splice(a,1);_r.unshift(s)}return Uint8Array.from(s.hash)}}const n=new Uint8Array(8+e.length+8+t.length);n.set(Rl(e.length),0);n.set(e,8);n.set(Rl(t.length),8+e.length);n.set(t,16+e.length);const r=Ca(n);_r.unshift({prefix:Uint8Array.from(e),suffix:Uint8Array.from(t),hash:Uint8Array.from(r)});if(_r.length>Nl)_r.length=Nl;return r}o(ub,"templateHashBytes");function Lt(e,t){return h(ub(e,t))}o(Lt,"templateHash");function Rt(e,t,n){if(!Number.isInteger(t)||t<0||!Number.isInteger(n)||n<0){throw new N(`invalid state window: start ${t}, length ${n}`)}const r=t+n;if(r>e.length){throw new N(`program is ${e.length} bytes; state window [${t}, ${r}) does not fit`)}return Lt(e.subarray(0,t),e.subarray(r))}o(Rt,"templateHashOfProgram");var _n="kcc20-46";var Ir=46;var gi=32;var Vo=new Map([[0,"pubkey"],[1,"script-hash"],[2,"covenant-id"]]);var zc=o(e=>"0x"+e.toString(16).padStart(2,"0"),"hex2");var Bl={id:_n,stateLength:Ir,referenceSchemes:Vo,encode(e,t=Vo){this.validate(e,t);if(e.mintCapable===null){throw new F(`${_n} requires an explicit isMinter; refusing to encode mintCapable=null`)}const n=E(oe(e.owner.identifier),oe(Uint8Array.of(e.owner.schemeByte)),oe(st(e.amount)),oe(zu(e.mintCapable)));if(n.length!==Ir){throw new F(`encoded ${n.length} bytes, expected ${Ir}`)}return n},decode(e,t){if(e.length!==Ir){throw new N(`${_n} state must be exactly ${Ir} bytes, got ${e.length}`)}const n=wn(e,0);if(n.payload.length!==gi){throw new N(`ownerIdentifier must be ${gi} bytes, got ${n.payload.length}`)}const r=wn(e,n.next);if(r.payload.length!==1){throw new N(`identifierType must be 1 byte, got ${r.payload.length}`)}const a=wn(e,r.next);const s=Jn(a.payload);const i=wn(e,a.next);const c=Ju(i.payload);if(i.next!==e.length){throw new N(`trailing bytes: consumed ${i.next} of ${e.length}`)}const d=r.payload[0];const l=t.get(d);if(l===void 0){throw new N(`identifierType 0x${d.toString(16).padStart(2,"0")} is not defined by this template (known: ${[...t.keys()].map(u=>"0x"+u.toString(16).padStart(2,"0")).join(", ")}). Refusing to guess an owner.`)}if(s<0n){throw new N(`negative amount ${s} in state ${h(e)}`)}return{layoutId:_n,amount:s,owner:{schemeByte:d,semantic:l,identifier:Uint8Array.from(n.payload)},mintCapable:c,extra:Object.freeze({})}},validate(e,t=Vo){if(e===null||typeof e!=="object")throw new F("state must be an object");if(e.layoutId!==_n)throw new F(`expected ${_n}, got ${String(e.layoutId)}`);if(typeof e.amount!=="bigint"){throw new F(`amount must be a bigint, got ${typeof e.amount}`)}if(e.amount<0n)throw new F(`amount must be non-negative, got ${e.amount}`);if(e.amount>ht)throw new F(`amount ${e.amount} exceeds the KCC1 int range`);const n=e.owner;if(n===null||typeof n!=="object")throw new F("owner must be an object");if(!(n.identifier instanceof Uint8Array)||n.identifier.length!==gi){throw new F(`ownerIdentifier must be a ${gi}-byte Uint8Array`)}if(!Number.isInteger(n.schemeByte)||n.schemeByte<0||n.schemeByte>255){throw new F(`identifierType must be a single byte, got ${String(n.schemeByte)}`)}const r=t.get(n.schemeByte);if(r===void 0){throw new F(`identifierType ${zc(n.schemeByte)} is not defined by this template (known: ${[...t.keys()].map(zc).join(", ")})`)}if(r!==n.semantic){throw new F(`identifierType ${zc(n.schemeByte)} means '${r}' under this template, but the state claims '${String(n.semantic)}'`)}if(typeof e.mintCapable!=="boolean"){throw new F(`${_n} always carries isMinter; got ${String(e.mintCapable)}`)}},checkOwnershipTransition(e,t){if(e.length===0)throw new yr("a transition must consume at least one state");for(const r of[...e,...t])this.validate(r.state);const n=e[0].state;if(n.mintCapable===false){for(const r of t){if(r.state.mintCapable===true){throw new yr(`non-minter leader may not create a minter successor (output index ${r.index})`)}}}return e.map(r=>Ea(r.state.owner))},checkSupply(e,t){if(e.length===0)throw new ot("a transition must consume at least one state");for(const s of[...e,...t])this.validate(s.state);const n=e[0].state;if(n.mintCapable===true)return;const r=e.reduce((s,i)=>s+i.state.amount,0n);const a=t.reduce((s,i)=>s+i.state.amount,0n);if(r!==a){throw new ot(`supply not conserved: in=${r} out=${a} (delta ${a-r})`)}}};function sh(e){const t=e.filter(r=>r.mintCapable===true);if(t.length>0){throw new ot(`supply is NOT provably fixed: ${t.length} live minter cell(s) remain. Retire minting by spending every minter cell without creating a minter successor.`)}const n=e.filter(r=>r.mintCapable===null);if(n.length>0){throw new ot(`cannot prove fixed supply: ${n.length} state(s) use a layout with no minter concept (mintCapable=null). KCC-0020 has no supply model; this guarantee is kcc20-46 only.`)}}o(sh,"assertSupplyPermanentlyFixed");var lb=1;var fb="6b";function yi(e,t){return{templateHash:e,layoutId:_n,stateOffset:lb,stateLength:Ir,prefixHex:fb,schemes:Vo,provenance:t}}o(yi,"referenceTemplate");var Kl=Object.freeze([yi("5b136633944a2371a1d0f6a94fdc0d329327ffc700fdec097fc59e76e1d33ae1",'tn10 covenant 5f381583..8445; revealed_hex 6b|20+32|01+01|08+08|01+01; branches 00,01,02; kascov names it "KForge · token cell" (142 covenants); hash reproduced on 154 live cells 2026-10-07'),yi("55306914ff3ddbfa0f4db6d5c5a01ec26f5f13f8c8d042076ed793fe82640513","tn10 census 2026-09-04; offset 1 (6b); branches 00,01,02"),yi("0f6db65e251cb8498aa9b201276ebeb569ac2c1eef270075143cd515d71ec3f1","tn10 census 2026-09-04; offset 1 (6b); branches 00,01,02"),yi("0338146fbf175bd1650b404d141ea4b1193180bee014f46fd617c6a6e3cc309c","tn10 census 2026-09-04; offset 1 (6b); branches 00,01,02")]);var qe="9703112ee6e3555107cd168858992b77d3b74f655205b2b463b1f9ec2ec73cf7";var lh="734850b0af0aeef49f009167bf9ddd238fd8c5cdbe214234f97181ac6f5cc498";var pb=34;var bb="6b20"+qe;var hi=Object.freeze({templateHash:qe,layoutId:Sn,stateOffset:pb,stateLength:Ar,hashWindow:{start:1,length:145},prefixHex:bb,schemes:Xt,provenance:"argent-lang/kcc20-reference@c8a0871 fixtures/public-mint/artifact.json sil_abi.contracts.KCC20.compiled {bytecode, state_span {offset 1, len 145}, template_hash}; recomputed 2026-10-07; decoded against real testnet-10 cells"});var Ml=Object.freeze([]);var jl=Object.freeze([{templateHash:"b2c23636332e1ddde48ceb0c4ea54ce5b8f18439044aa9a7121ac00e46263973",window:{start:0,length:46},reason:"the 0x03 identifier family: state at offset 0 (no 6b prefix) and FOUR identifier branches (00,01,02,03). The meaning of 0x03 is unverified -- plausibly a p2pkh variant, but plausible is not verified. 107 live tn10 tokens use 0x03."},{templateHash:"2ed46a7edf5b168e67dba56998c58255235bebac436940a85115ca31d5c559f2",window:{start:0,length:46},reason:"second 0x03-family program, same reason."}]);var La=class extends N{static{o(this,"DeclarationError")}};var mb=64;var Fl=/-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?/y;var Dl={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:" "};function gb(e){for(let t=0;t<e.length;t++){const n=e.charCodeAt(t);if(n>=55296&&n<=56319){const r=e.charCodeAt(t+1);if(!(r>=56320&&r<=57343))return true;t++}else if(n>=56320&&n<=57343){return true}}return false}o(gb,"hasLoneSurrogate");function yb(e,t=mb){let n=0;const r=o(d=>{throw new La(`I-JSON: ${d} at offset ${n}`)},"fail");const a=o(()=>{while(n<e.length){const d=e.charCodeAt(n);if(d!==32&&d!==9&&d!==10&&d!==13)break;n++}},"ws");const s=o(()=>{n++;let d="";for(;;){if(n>=e.length)r("unterminated string");const l=e[n++];if(l==='"')break;if(l==="\\"){const u=e[n++];if(u==="u"){const p=e.slice(n,n+4);if(!/^[0-9a-fA-F]{4}$/.test(p))r("malformed \\u escape");d+=String.fromCharCode(parseInt(p,16));n+=4}else if(u!==void 0&&Object.prototype.hasOwnProperty.call(Dl,u)){d+=Dl[u]}else{r(`invalid escape \\${u??""}`)}}else{if(l.charCodeAt(0)<32)r("unescaped control character in string");d+=l}}if(gb(d))r("string contains a lone surrogate");return d},"str");const i=o(d=>{a();const l=e[n];if(l==="{"){if(d>t)r(`nesting deeper than ${t}`);n++;const b=Object.create(null);a();if(e[n]==="}"){n++;return b}for(;;){a();if(e[n]!=='"')r("expected a member name");const g=s();if(Object.prototype.hasOwnProperty.call(b,g))r(`duplicate member name "${g}"`);a();if(e[n]!==":")r('expected ":"');n++;b[g]=i(d+1);a();if(e[n]===","){n++;continue}if(e[n]==="}"){n++;return b}r('expected "," or "}"')}}if(l==="["){if(d>t)r(`nesting deeper than ${t}`);n++;const b=[];a();if(e[n]==="]"){n++;return b}for(;;){b.push(i(d+1));a();if(e[n]===","){n++;continue}if(e[n]==="]"){n++;return b}r('expected "," or "]"')}}if(l==='"')return s();if(e.startsWith("true",n)){n+=4;return true}if(e.startsWith("false",n)){n+=5;return false}if(e.startsWith("null",n)){n+=4;return null}Fl.lastIndex=n;const u=Fl.exec(e);if(u===null)return r("unexpected character");const p=Number(u[0]);if(!Number.isFinite(p))r(`number ${u[0]} is not a finite binary64 value`);n+=u[0].length;return p},"value");const c=i(1);a();if(n!==e.length)r("trailing characters");return c}o(yb,"parseIJson");var Wl=0;function zl(e){if(e.length===0)return{valid:false,reason:"empty payload (no codec prefix)"};if(e[0]!==Wl)return{valid:false,reason:`unknown codec prefix 0x${e[0].toString(16).padStart(2,"0")}`};let t;try{t=new TextDecoder("utf-8",{fatal:true,ignoreBOM:true}).decode(e.subarray(1))}catch{return{valid:false,reason:"payload is not valid UTF-8"}}if(t.charCodeAt(0)===65279)return{valid:false,reason:"payload starts with a byte-order mark"};let n;try{n=yb(t)}catch(r){return{valid:false,reason:r.message}}if(n===null||typeof n!=="object"||Array.isArray(n))return{valid:false,reason:"the declaration is not a JSON object"};return{valid:true,object:n,text:t}}o(zl,"decodeDeclaration");function Ah(e){const t=E(Uint8Array.of(Wl),new TextEncoder().encode(JSON.stringify(e)));const n=zl(t);if(!n.valid)throw new La(`metadata does not round-trip as a KCC-23 declaration: ${n.reason}`);return t}o(Ah,"encodeDeclaration");function Th(e){const t=o(d=>typeof e[d]==="string"?e[d]:void 0,"s");const n=e["decimals"];const r={};const a=t("name");const s=t("symbol");const i=t("image");const c=t("description");if(a!==void 0)r.name=a;if(s!==void 0)r.symbol=s;if(typeof n==="number"&&Number.isInteger(n)&&n>=0&&n<=255)r.decimals=n;if(i!==void 0)r.image=i;if(c!==void 0)r.description=c;return r}o(Th,"declarationFields");function hb(e,t,n){const r=t.outputs.map((b,g)=>({i:g,o:b})).filter(({o:b})=>b.covenant?.covenantId===e);if(r.length===0)return{status:"invalid",step:1,reason:"no genesis output is bound to the covenant id"};const a=new Set(r.map(({o:b})=>b.covenant.authorizingInput));if(a.size!==1)return{status:"invalid",step:1,reason:`outputs bound to the id name ${a.size} authorizing inputs`};const s=[...a][0];const i=t.inputs[s];if(i===void 0)return{status:"invalid",step:1,reason:`authorizing input ${s} does not exist`};const c=`${i.transactionId}:${i.index}`;const d=tt(i.transactionId,i.index,r.map(({i:b,o:g})=>({index:b,value:g.value,scriptVersion:g.scriptVersion,script:_(g.script)})));if(d!==e)return{status:"invalid",step:2,reason:`recomputed covenant id ${d} differs from ${e}`};const l=n(i.transactionId);if(l===void 0)return{status:"unverified",outpoint:c,reason:`preparation transaction ${i.transactionId} is not available`};if(l.version!==1)return{status:"invalid",step:3,reason:`preparation transaction is version ${l.version}, not 1`};if(l.outputs[i.index]===void 0)return{status:"invalid",step:3,reason:`preparation transaction has no output ${i.index}`};const u=zl(_(l.payload));if(!u.valid)return{status:"invalid",step:3,reason:`payload is not a KCC-23 declaration: ${u.reason}`};const p=at(l).txid;if(p!==i.transactionId)return{status:"invalid",step:4,reason:`recomputed preparation txid ${p} differs from the spent outpoint's ${i.transactionId}`};return{status:"bound",authorizingInput:s,outpoint:c,declaration:u.object,text:u.text,prepTxid:p}}o(hb,"verifyKcc23Binding");var Jc="kcc0023-launch-proof/1";var Jl=0;var Hl=4031;var Vl=34;var vb=9;var Xc={1:"lineage T",2:"program",3:"state",4:"sealing argument",5:"lineage C",6:"custody argument",7:"metadata (KCC-23)",8:"R recovery",9:"graduation group integrity"};function Go(e,t){const n=e[t];if(typeof n==="number"&&Number.isSafeInteger(n)&&n>=0)return BigInt(n);if(typeof n==="string"&&/^(0|[1-9][0-9]*)$/.test(n))return BigInt(n);throw new N(`params.${t} is not a non-negative integer`)}o(Go,"paramBig");function Yc(e,t){return xt.encode(wt({amount:e,owner:_(t),ownerScheme:vt,borrowScheme:Jl}))}o(Yc,"tokenGenesisState");function Xl(e,t,n,r){const a=[];if(!r.minimalPushes)a.push({step:e,tx:t,input:n,kind:Vc});if(r.nonMinimalNumbers.length>0)a.push({step:e,tx:t,input:n,kind:Gc,arguments:[...r.nonMinimalNumbers]});return a}o(Xl,"encodingNotes");function Gl(e){if(e.length===0)return{};const t=e.find(n=>n.kind===Gc);return{encoding:{minimalPushes:!e.some(n=>n.kind===Vc),nonMinimalNumbers:t?.arguments??[]}}}o(Gl,"encodingDetail");function kb(e,t){try{const n=qc(_(e),"curve");const r=n.decoded;if(r.invocation.contract!=="curve"||r.invocation.entry!=="init")return`the curve input invokes ${r.invocation.entry}, not init`;return{program:r.program,tokenPrefix:r.invocation.tokenPrefix,tokenSuffix:r.invocation.tokenSuffix,notes:Xl(8,"tx2",t,n)}}catch(n){return n.message}}o(kb,"curveInit");function Yl(e,t){const n=[];const r=[];const a=o(()=>r.length===0?{}:{notes:r},"withNotes");const s=o((l,u={})=>{n.push({step:l,name:Xc[l],ok:true,detail:u})},"pass");const i=o((l,u)=>{n.push({step:l,name:Xc[l],ok:false,detail:{reason:u}});return{status:"invalid",steps:n,reason:`step ${l} (${Xc[l]}): ${u}`,verifier:Jc,...a()}},"invalid");try{return c()}catch(l){return i(Math.min(n.length+1,vb),`malformed bundle: ${l.message}`)}function c(){const{tx01:l,tx2:u,T:p,C:b}=e;const g=u.outputs.map((T,I)=>({i:I,o:T})).filter(({o:T})=>T.covenant?.covenantId===p);if(g.length===0)return i(1,"no tx2 output is bound to T");const m=new Set(g.map(({o:T})=>T.covenant.authorizingInput));if(m.size!==1)return i(1,`the outputs bound to T name ${m.size} authorizing inputs`);const y=[...m][0];const k=u.inputs[y];if(k===void 0)return i(1,`authorizing input ${y} does not exist`);const w=tt(k.transactionId,k.index,g.map(({i:T,o:I})=>({index:T,value:I.value,scriptVersion:I.scriptVersion,script:_(I.script)})));if(w!==p)return i(1,`recomputed ${w} differs from T ${p}`);if(g.length!==2||g[0].i!==0||g[1].i!==1)return i(1,`expected outputs 0 and 1 bound to T, got ${g.map(T=>T.i).join(",")}`);s(1,{authorizingInput:y,outpoint:`${k.transactionId}:${k.index}`,groupOutputs:g.map(T=>T.i)});const S=_(e.tokenSuffix);if(!M(S,t.referenceSuffix))return i(2,"the token suffix differs from the reference artifact");if(e.H_T!==qe||Lt(Uint8Array.of(107),t.referenceSuffix)!==qe){return i(2,"the token template is not the reference KCC20")}let A=0n;const P=[];for(const{i:T,o:I}of g){const G=e.states.find($o=>$o.index===T);if(G===void 0)return i(3,`no genesis state for output ${T}`);const q=BigInt(G.amount);const J=Yc(q,b);const ae=E(Uint8Array.of(107,32),_(qe),J,t.referenceSuffix);if(ae.length!==Hl)return i(2,`token program is ${ae.length} B`);if(I.scriptVersion!==0||h(ie(ae))!==I.script)return i(2,`output ${T} does not commit to the token program with the stated genesis state`);const re=xt.decode(ae.subarray(Vl,Vl+112),xt.referenceSchemes);const Te=rt(re);if(h(Te.owner)!==b||Te.ownerScheme!==vt)return i(3,`output ${T}: owner is not C under covenant-id/v1`);if(Te.borrowScheme!==Jl||!M(Te.borrowGuard,Ve)||!M(Te.extensionCommitment,Ve))return i(3,`output ${T}: borrow or extension fields are not zero`);A+=Te.amount;P.push({index:T,amount:Te.amount.toString(),value:I.value.toString()})}s(2,{templateHash:qe,programBytes:Hl});const $=Go(e.params,"curveLots")*Go(e.params,"lot")+Go(e.params,"gradReserve");if(A!==$)return i(3,`genesis amounts sum to ${A}, the parameters give ${$}`);s(3,{cells:P,totalSupply:A.toString()});s(4,{statement:"the reference program exposes transfer (conserving) and transfer_delegator only; consensus derives covenant ids from genesis outpoints, so no further output with id T can be created; the sum over live T cells equals the genesis sum forever"});if(l===null){const T=d();if(T!==void 0)return T;return{status:"unverified",steps:n,totalSupply:A,verifier:Jc,...a(),reason:`the preparation transaction ${k.transactionId} is not available; lineage C and the declaration are not proven`}}const L=l.inputs[0];const U=l.outputs[1];if(L===void 0||U===void 0)return i(5,"tx01 lacks input 0 or output 1");const z=tt(L.transactionId,L.index,[{index:1,value:U.value,scriptVersion:U.scriptVersion,script:_(U.script)}]);if(z!==b)return i(5,`recomputed ${z} differs from C ${b}`);if(U.covenant?.covenantId!==b||U.covenant.authorizingInput!==0)return i(5,"tx01 output 1 is not bound (0, C)");if(l.outputs.some((T,I)=>I!==1&&T.covenant?.covenantId===b))return i(5,"tx01 binds C to more than output 1");if(l.version<1)return i(7,`tx01 is version ${l.version}, not 1`);const R=at(l).txid;const W=u.inputs.findIndex(T=>T.transactionId===R&&T.index===1);if(W<0)return i(5,"tx2 does not spend tx01:1");const we=u.outputs.map((T,I)=>({i:I,o:T})).filter(({o:T})=>T.covenant?.covenantId===b);if(we.length!==1||we[0].o.covenant.authorizingInput!==W)return i(5,`expected exactly one tx2 output bound (${W}, C), found ${we.length}`);const me=_(e.curvePrefix);const ye=_(e.curveSuffix);const he=Lt(me,ye);if(he!==e.H_C)return i(5,`the curve template hashes to ${he}, the bundle states ${e.H_C}`);if(t.curveTemplate!==void 0){const T=t.curveTemplate(me,ye);if(!T.ok)return i(5,`not a Kasseal curve template: ${T.reason??"rejected"}`);if(T.params!==void 0){for(const[I,G]of Object.entries(T.params)){if(String(e.params[I])!==String(G))return i(5,`params.${I} is ${String(e.params[I])}, the template carries ${String(G)}`)}}}const $e=E(me,Sa({tokenCovId:_(p),lotsSold:0n,feeAccrued:0n,phase:kt}),ye);if(we[0].o.scriptVersion!==0||h(ie($e))!==we[0].o.script)return i(5,"the tx2 curve output does not commit to the program with state {T, 0, 0, active}");const It=E(me,Sa({tokenCovId:Ve,lotsSold:0n,feeAccrued:0n,phase:wr}),ye);if(U.scriptVersion!==0||h(ie(It))!==U.script)return i(5,"tx01 output 1 does not commit to the program with state {0^32, 0, 0, uninit}");s(5,{H_C:he,curveBytes:$e.length,params:e.params});s(6,{statement:"C-owned token cells move only in a transaction with a C input; C exposes init, buy, sell, graduate and sweep, each forbidding or fully validating the T transition at the coded price; sweep is bounded by feeAccrued; there is no operator path to tokens or escrow"});if(k.transactionId!==R||k.index!==0)return i(7,`the T group's authorizing input spends ${k.transactionId}:${k.index}, not tx01:0 (${R})`);const Wn=hb(p,u,T=>T===R?l:void 0);if(Wn.status!=="bound")return i(7,Wn.reason);const f=at(l);s(7,{prepTxid:f.txid,payloadDigest:f.payloadDigest,restDigest:f.restDigest,declaration:Wn.text});const v=kb(u.inputs[W].signatureScript,W);if(typeof v==="string")return i(8,v);r.push(...v.notes);const x=v.program;if(h(ie(x))!==U.script)return i(8,"the recovered program does not hash to tx01 output 1");if(!M(x,It))return i(8,"the recovered program differs from the genesis program");if(!M(v.tokenPrefix,Uint8Array.of(107))||!M(v.tokenSuffix,t.referenceSuffix))return i(8,"init was not given the reference token template");const C=Aa(x.subarray(me.length,me.length+xn));s(8,{recoveredBytes:x.length,state:{tokenCovId:h(C.tokenCovId),lotsSold:C.lotsSold.toString(),phase:C.phase},...Gl(v.notes)});const O=d();if(O!==void 0)return O;return{status:"bound",steps:n,totalSupply:A,declaration:Wn.declaration,verifier:Jc,...a()}}o(c,"run");function d(){const l=e.graduation??null;if(l===null){s(9,{applicable:false,reason:"the curve has not graduated; the check runs on the graduation transaction"});return void 0}const u=xb(l,e,t.referenceSuffix);if(!u.ok)return i(9,u.reason);r.push(...u.notes);s(9,{applicable:true,...u.detail,...Gl(u.notes)});return void 0}o(d,"graduationStep")}o(Yl,"verifyLaunchProof");var wb=/^aa20[0-9a-f]{64}87$/;function xb(e,t,n){const{T:r,C:a}=t;const s=e.P;const i=e.tx;const c=o(R=>({ok:false,reason:R}),"fail");if(!/^[0-9a-f]{64}$/.test(s))return c("the pool id P is not a 32-byte id");if(s===r||s===a)return c("the pool id P equals T or C");const d=i.outputs.map((R,W)=>({i:W,o:R})).filter(({o:R})=>R.covenant?.covenantId===s);if(d.length===0)return c("no output of the graduation transaction is bound to the pool id P");const l=new Set(d.map(({o:R})=>R.covenant.authorizingInput));if(l.size!==1)return c(`the outputs bound to P name ${l.size} authorizing inputs`);const u=[...l][0];const p=i.inputs[u];if(p===void 0)return c(`the P group's authorizing input ${u} does not exist`);const b=tt(p.transactionId,p.index,d.map(({i:R,o:W})=>({index:R,value:W.value,scriptVersion:W.scriptVersion,script:_(W.script)})));if(b!==s)return c(`the P group (outputs ${d.map(R=>R.i).join(",")}) recomputes to ${b}, not P ${s}`);if(d.length!==1||d[0].i!==0){return c(`${d.length} outputs are bound to the pool id P (${d.map(R=>R.i).join(", ")}); the pool genesis group must be output 0 alone, or any other member carries P and can release the pool-owned reserve by presence`)}const g=d[0].o;if(g.scriptVersion!==0||!wb.test(g.script))return c("output 0 (bound to P) is not a version-0 P2SH covenant cell");const m=i.outputs.map((R,W)=>({i:W,o:R})).filter(({o:R})=>R.covenant?.covenantId===r);if(m.length!==1)return c(`${m.length} outputs are bound to T; graduation re-owns exactly one reserve cell to the pool`);const y=m[0];if(i.inputs[y.o.covenant.authorizingInput]===void 0)return c(`the reserve output names a missing authorizing input ${y.o.covenant.authorizingInput}`);const k=Go(t.params,"gradReserve");const w=E(Uint8Array.of(107,32),_(qe),Yc(k,s),n);if(y.o.scriptVersion!==0||h(ie(w))!==y.o.script){return c(`output ${y.i} (bound to T) does not commit to the reference token program with state {${k}, owner P, 0x04}`)}if(i.outputs.some(R=>R.covenant?.covenantId===a))return c("an output is bound to C; graduation leaves no curve continuation");const S=_(t.curvePrefix);const A=_(t.curveSuffix);const P=Go(t.params,"curveLots");let $;for(const[R,W]of i.inputs.entries()){let we;try{we=qc(_(W.signatureScript),"curve")}catch{continue}const me=we.decoded;if(me.invocation.contract!=="curve"||me.invocation.entry!=="graduate")continue;const ye=me.program;if(ye.length!==S.length+xn+A.length)return c(`input ${R} invokes graduate on a program of ${ye.length} B, not the curve template's length`);if(!M(ye.subarray(0,S.length),S)||!M(ye.subarray(S.length+xn),A)){return c(`input ${R} invokes graduate on a program that is not the curve template of C`)}let he;try{he=Aa(ye.subarray(S.length,S.length+xn))}catch(Wn){return c(`input ${R} graduates a curve whose state does not decode: ${Wn.message}`)}if(h(he.tokenCovId)!==r||he.phase!==kt)return c(`input ${R} graduates a curve whose state names ${h(he.tokenCovId)} in phase ${he.phase}, not T active`);if(he.lotsSold!==P)return c(`input ${R} graduates at ${he.lotsSold} of ${P} lots`);const $e=Lt(me.invocation.poolPrefix,me.invocation.poolSuffix);const It=t.params["poolH"];if(typeof It==="string"&&It!==$e)return c(`graduate names pool template ${$e}, the curve requires ${It}`);$={input:R,poolTemplateHash:$e,lotsSold:he.lotsSold,notes:Xl(9,"graduation",R,we)};break}if($===void 0)return c("no input of the graduation transaction invokes graduate on the curve program of C");const L=E(Uint8Array.of(107,32),_(qe),Yc(k,a),n);const U=o((R,W)=>{try{const we=mi(_(R.toLowerCase())).payloads;return we.length>0&&M(we[we.length-1],W)}catch{return false}},"redeemIs");if(!i.inputs.some(R=>U(R.signatureScript,L))){return c(`no input of the graduation transaction spends C's reserve ({${k}, owner C, 0x04}); a curve with C's program but another id graduated its own reserve`)}let z;try{z=at(i).txid}catch{z=void 0}return{ok:true,detail:{...z===void 0?{}:{txid:z},P:s,poolOutput:0,groupOutputs:[0],authorizingInput:u,outpoint:`${p.transactionId}:${p.index}`,reserveOutput:y.i,reserveAmount:k.toString(),curveInput:$.input,poolTemplateHash:$.poolTemplateHash,lotsSold:$.lotsSold.toString()},notes:$.notes}}o(xb,"checkGraduationGroup");function Ph(e){return{tx01:e.tx01===null?null:Ko(e.tx01),tx2:Ko(e.tx2),T:e.T,C:e.C,H_T:e.H_T,H_C:e.H_C,curvePrefix:e.curvePrefix,curveSuffix:e.curveSuffix,tokenSuffix:e.tokenSuffix,states:e.states.map(t=>({index:t.index,amount:t.amount})),params:{...e.params},declaration:e.declaration,graduation:e.graduation===void 0||e.graduation===null?null:{tx:Ko(e.graduation.tx),P:e.graduation.P}}}o(Ph,"launchProofToJson");var Sb=/^(?:[0-9a-f]{2})*$/;var ql=/^[0-9a-f]{64}$/;function vi(e){if(e===null||typeof e!=="object"||Array.isArray(e))throw new N("launch proof: expected an object");const t=e;const n=o(u=>{const p=t[u];if(typeof p!=="string"||!ql.test(p))throw new N(`launch proof: ${u} must be 32-byte lowercase hex`);return p},"id");const r=o(u=>{const p=t[u];if(typeof p!=="string"||!Sb.test(p))throw new N(`launch proof: ${u} must be lowercase hex`);return p},"hex");const a=o(u=>{const p=t[u];if(p===null||typeof p!=="object"||Array.isArray(p))throw new N(`launch proof: ${u} must be a transaction object`);try{return ui(p)}catch(b){throw new N(`launch proof: ${u}: ${b.message}`)}},"tx");const s=t["states"];if(!Array.isArray(s))throw new N("launch proof: states must be an array");const i=t["params"];if(i===null||typeof i!=="object"||Array.isArray(i))throw new N("launch proof: params must be an object");const c=t["declaration"];const d=t["graduation"];let l=null;if(d!==null&&d!==void 0){if(typeof d!=="object"||Array.isArray(d))throw new N("launch proof: graduation must be an object or null");const u=d;if(typeof u["P"]!=="string"||!ql.test(u["P"]))throw new N("launch proof: graduation.P must be 32-byte lowercase hex");if(u["tx"]===null||typeof u["tx"]!=="object"||Array.isArray(u["tx"]))throw new N("launch proof: graduation.tx must be a transaction object");try{l={tx:ui(u["tx"]),P:u["P"]}}catch(p){throw new N(`launch proof: graduation.tx: ${p.message}`)}}return{tx01:t["tx01"]===null||t["tx01"]===void 0?null:a("tx01"),tx2:a("tx2"),T:n("T"),C:n("C"),H_T:n("H_T"),H_C:n("H_C"),curvePrefix:r("curvePrefix"),curveSuffix:r("curveSuffix"),tokenSuffix:r("tokenSuffix"),states:s.map((u,p)=>{const b=u;if(!Number.isInteger(b["index"])||typeof b["amount"]!=="string"||!/^(0|[1-9][0-9]*)$/.test(b["amount"]))throw new N(`launch proof: states[${p}] is malformed`);return{index:b["index"],amount:b["amount"]}}),params:i,declaration:c!==null&&typeof c==="object"&&!Array.isArray(c)?c:null,graduation:l}}o(vi,"launchProofFromJson");var In=class extends Error{static{o(this,"CurveMathError")}constructor(t){super(t);this.name=new.target.name}};var X=class extends In{static{o(this,"ArgumentError")}};var Ra=class extends X{static{o(this,"SellPayoutTooSmallError")}};var V=class extends In{static{o(this,"ParameterError")}};var Ua=class extends In{static{o(this,"OverflowError")}};var ue=class extends In{static{o(this,"PoolError")}};var $r=class extends ue{static{o(this,"PoolPayoutTooSmallError")}};var it=class extends In{static{o(this,"LpError")}};var At=class extends it{static{o(this,"LpStateError")}};var Na=class extends it{static{o(this,"LpShareCountError")}};var Ba=class extends it{static{o(this,"LpSharesCapError")}};var Lr=class extends it{static{o(this,"LpReserveCapError")}};var Rr=class extends it{static{o(this,"LpFloorError")}};var Ur=class extends it{static{o(this,"LpPayoutTooSmallError")}};var Ka=class extends it{static{o(this,"LpTokenLegTooSmallError")}};var $n=class extends it{static{o(this,"LpInvariantError")}};var Ma=class extends it{static{o(this,"LpInventoryError")}};var ki=(1n<<63n)-1n;var Ab=-ki;function K(e,t){if(typeof e!=="bigint")throw new X(`${t} must be a bigint, got ${typeof e}`)}o(K,"assertBigint");function Qc(e,t){if(e>ki||e<Ab)throw new Ua(`${t} = ${e} leaves the KCC-1 int range`);return e}o(Qc,"checked");function Pe(e,t,n){return Qc(e+t,n)}o(Pe,"add");function ct(e,t,n){return Qc(e-t,n)}o(ct,"sub");function ee(e,t,n){return Qc(e*t,n)}o(ee,"mul");function Zt(e,t){K(e,"dividend");K(t,"divisor");if(e<0n)throw new X(`floorDiv dividend must be non-negative, got ${e}`);if(t<=0n)throw new X(`floorDiv divisor must be positive, got ${t}`);return e/t}o(Zt,"floorDiv");function Ln(e,t){K(e,"dividend");K(t,"divisor");if(e<0n)throw new X(`ceilDiv dividend must be non-negative, got ${e}`);if(t<=0n)throw new X(`ceilDiv divisor must be positive, got ${t}`);return(e+t-1n)/t}o(Ln,"ceilDiv");var Tt=10000n;var qo=200n;var Zc=1000000000000n;var nd=10000000000n;var Tb=nd;var Ql=1000000n;var Zl=8000n;var Pb=800000n;var ed=800000n;var ja=10000000n;var td=100000000n;var ef=1000000000000000n;function tf(e){K(e,"curveLots");if(e<=0n)throw new V(`curveLots must be positive, got ${e}`);if(e<=Zl)return nd;if(e<=ed)return Ql;throw new V(`curveLots ${e} exceeds the covenant's maximum ${ed}`)}o(tf,"kCap");function en(e){if(e===null||typeof e!=="object")throw new V("curve params must be an object");for(const n of["p0","k","feeBps","curveLots"])K(e[n],n);if(e.p0<0n)throw new V(`p0 must be non-negative, got ${e.p0}`);if(e.p0>Zc)throw new V(`p0 ${e.p0} exceeds the cap ${Zc}`);if(e.k<0n)throw new V(`k must be non-negative, got ${e.k}`);const t=tf(e.curveLots);if(e.k>t)throw new V(`k ${e.k} exceeds the cap ${t}`);if(e.feeBps<0n)throw new V(`feeBps must be non-negative, got ${e.feeBps}`);if(e.feeBps>qo)throw new V(`feeBps ${e.feeBps} exceeds the cap ${qo}`)}o(en,"validateCurveParams");function Cb(e,t,n=td){en(e);K(t,"cellValue");K(n,"gradFeeMin");if(t<0n)throw new X(`cellValue must be non-negative, got ${t}`);if(n!==td)throw new X(`gradFeeMin must be the contract set's GRAD_FEE_MIN (1 KAS), got ${n}`);const r=Pe(Pe(t,wi(e,0n,e.curveLots),"value + cost"),n,"value + cost + GRAD_FEE_MIN");return r<=ef}o(Cb,"initEscrowFits");function Eb(e,t){K(t,"lot index");if(t<0n||t>=e.curveLots)throw new X(`lot index ${t} is outside [0, ${e.curveLots})`)}o(Eb,"assertLotIndex");function nf(e,t){en(e);Eb(e,t);return Pe(e.p0,ee(e.k,t,"K * i"),"P0 + K * i")}o(nf,"lotPrice");function rf(e,t,n){K(t,"s0");K(n,"n");if(t<0n)throw new X(`s0 must be non-negative, got ${t}`);if(n<0n)throw new X(`n must be non-negative, got ${n}`);if(t+n>e.curveLots)throw new X(`s0 + n = ${t+n} exceeds curveLots ${e.curveLots}`)}o(rf,"assertRange");function wi(e,t,n){const r=ee(n,e.p0,"n * P0");const a=ee(n,t,"n * s0");const s=ee(n,n-1n,"n * (n - 1)")/2n;const i=Pe(a,s,"n * s0 + n * (n - 1) / 2");const c=ee(e.k,i,"K * (n * s0 + n * (n - 1) / 2)");return Pe(r,c,"cost")}o(wi,"costUnchecked");function rd(e,t,n){en(e);rf(e,t,n);return wi(e,t,n)}o(rd,"cost");function Wo(e,t){K(e,"cost");K(t,"feeBps");if(e<0n)throw new X(`cost must be non-negative, got ${e}`);if(t<0n||t>qo)throw new V(`feeBps ${t} is outside [0, ${qo}]`);const n=e/Tt;const r=e%Tt;return Pe(ee(n,t,"q * feeBps"),(r*t+(Tt-1n))/Tt,"fee")}o(Wo,"fee");function Fa(e,t,n){en(e);rf(e,t,n);if(n===0n)throw new X("a buy must take at least one lot");const r=wi(e,t,n);const a=Wo(r,e.feeBps);return{cost:r,fee:a,total:Pe(r,a,"cost + fee")}}o(Fa,"buyQuote");function zo(e,t,n){en(e);K(t,"s0");K(n,"n");if(n<=0n)throw new X("a sell must return at least one lot");if(t>e.curveLots)throw new X(`s0 ${t} exceeds curveLots ${e.curveLots}`);if(n>t)throw new X(`cannot sell ${n} lots when only ${t} are sold`);const r=wi(e,t-n,n);const a=Wo(r,e.feeBps);const s=ct(r,a,"cost - fee");if(s<ja){throw new Ra(`net refund ${s} is below the contract's 0.1 KAS payout minimum (PAYOUT_MIN ${ja} sompi)`)}return{cost:r,fee:a,total:s}}o(zo,"sellQuote");function Jo(e){return rd(e,0n,e.curveLots)}o(Jo,"fullRaise");function xi(e){en(e);return nf(e,e.curveLots-1n)}o(xi,"lastLotPrice");function ad(e){return Wo(xi(e),e.feeBps)}o(ad,"finalLotFee");function od(e,t){en(e);if(t<=0n||t>e.curveLots)throw new X(`n ${t} is outside [1, ${e.curveLots}]`);return Wo(rd(e,e.curveLots-t,t),e.feeBps)}o(od,"finalLotsFee");var Ye=100000000n;var sd=1000000000000n;var id=1200000000n;var Si={lotSize:1000n,totalSupply:1200000000n,gradLots:400000n,treasurySharePct:50n,sweepMinSompi:10n*Ye,tokenCellSompi:10n*Ye};var tn=Object.freeze({name:"standard",label:"Standard — graduates ≈ $69k at $0.04 KAS",curve:Object.freeze({p0:12092606n,k:149n,feeBps:100n,curveLots:800000n}),...Si});var Ob=tn;var Ai=.0401;var _b=Object.freeze({name:"A",label:"Set A — raises 47,995 KAS",curve:Object.freeze({p0:1199381n,k:12n,feeBps:100n,curveLots:800000n}),...Si});var Ib=Object.freeze({name:"B",label:"Set B — raises 243,972 KAS",curve:Object.freeze({p0:2496535n,k:70n,feeBps:100n,curveLots:800000n}),...Si});var Fh=Object.freeze({name:"tiny",label:"tiny — raises 3,200 KAS (testnet)",curve:Object.freeze({p0:0n,k:1n,feeBps:100n,curveLots:800000n}),...Si});var Dh=Object.freeze([_b,Ib,tn]);function dt(e){if(e===null||typeof e!=="object")throw new V("preset must be an object");en(e.curve);for(const r of["lotSize","totalSupply","gradLots","treasurySharePct","sweepMinSompi","tokenCellSompi"]){K(e[r],r);if(e[r]<0n)throw new V(`${r} must be non-negative, got ${e[r]}`)}if(e.lotSize<=0n)throw new V(`lotSize must be positive, got ${e.lotSize}`);if(e.lotSize>sd)throw new V(`lotSize ${e.lotSize} exceeds the cap ${sd}`);if(e.gradLots<=0n)throw new V(`gradLots must be positive, got ${e.gradLots}`);if(e.tokenCellSompi<=0n)throw new V(`tokenCellSompi must be positive, got ${e.tokenCellSompi}`);if(e.treasurySharePct>100n)throw new V(`treasurySharePct ${e.treasurySharePct} exceeds 100`);const t=ee(e.curve.curveLots,e.lotSize,"CURVE_SUPPLY");const n=ee(e.gradLots,e.lotSize,"GRAD_RESERVE");if(n>id)throw new V(`GRAD_RESERVE ${n} exceeds the cap ${id}`);if(t+n!==e.totalSupply){throw new V(`CURVE_SUPPLY ${t} + GRAD_RESERVE ${n} != TOTAL_SUPPLY ${e.totalSupply}`)}}o(dt,"validatePreset");function $b(e){dt(e);return e.curve.curveLots*e.lotSize}o($b,"curveSupply");function af(e){dt(e);return e.gradLots*e.lotSize}o(af,"gradReserve");function nn(e){dt(e);return Jo(e.curve)*e.totalSupply/af(e)}o(nn,"graduationMarketCapSompi");function Lb(e,t){if(typeof t!=="number"||!Number.isFinite(t)||t<0){throw new V(`kasUsd must be a finite non-negative number, got ${String(t)}`)}const n=nn(e);const r=n/Ye;const a=n%Ye;return(Number(r)+Number(a)/Number(Ye))*t}o(Lb,"graduationMarketCapUsd");var cd=800000000n;var Rb=400000000n;var Ub=0n;var Nb=8000000n;var zh=Object.freeze([1000n,10000n]);var Jh=1.1025;var Xo=.05;var Bb=1;var Re=1000n;var H=10000n;var Kb=Object.freeze([[H,122n],[H,134n],[H,147n],[H,161n],[H,177n],[H,195n],[H,214n],[H,235n],[H,258n],[H,284n],[H,313n],[H,344n],[H,379n],[H,417n],[H,459n],[H,506n],[H,557n],[H,613n],[H,675n],[H,744n],[H,820n],[H,904n],[H,996n],[H,1097n],[H,1209n],[H,1332n],[H,1468n],[H,1618n],[H,1783n],[H,1965n],[H,2166n],[H,2387n],[H,2631n],[H,2900n],[H,3197n],[H,3524n],[H,3885n],[H,4283n],[H,4722n],[H,5205n],[H,5738n],[H,6326n],[H,6974n],[H,7688n],[H,8475n],[H,9343n],[Re,103n],[Re,113n],[Re,124n],[Re,136n],[Re,164n],[Re,180n],[Re,198n],[Re,218n],[Re,240n],[Re,264n],[Re,291n],[Re,320n],[Re,352n],[Re,388n],[Re,427n],[Re,470n],[Re,518n],[Re,571n],[Re,629n]].map(([e,t])=>Object.freeze({lot:e,k:t})));function dd(e){K(e,"lot");if(e<=0n||cd%e!==0n||cd/e%10n!==0n){throw new V(`lot ${e} does not divide the Standard curve's 800M tokens into a multiple of 10 lots`)}return cd/e}o(dd,"standardCurveLots");function Mb(e,t){K(t,"k");return t*dd(e)/10n}o(Mb,"standardShapeP0");function Xh(e){dd(e);return{lots:Ub/e,maxLots:Nb/e}}o(Xh,"standardOpeningWindow");function jb(e){K(e.k,"k");K(e.lot,"lot");if(e.lot===Re)return`standard-k${e.k}`;if(e.lot%1000n!==0n)throw new V(`lot ${e.lot} is not a whole number of thousands`);return`standard-lot${e.lot/1000n}k-k${e.k}`}o(jb,"standardBandName");var Fb=/^standard-(?:lot([1-9][0-9]*)k-)?k([1-9][0-9]*)$/;var ud=Pi(nn(tn))*Ai;function Pi(e){return Number(e/Ye)+Number(e%Ye)/Number(Ye)}o(Pi,"kasOf");function Db(e){return`$${e.toPrecision(3)}`}o(Db,"priceLabel");function Hb(e){const t=dd(e.lot);const n={...tn,name:jb(e),curve:Object.freeze({...tn.curve,p0:Mb(e.lot,e.k),k:e.k,curveLots:t}),lotSize:e.lot,gradLots:Rb/e.lot};const r=ud/Pi(nn(n));return Object.freeze({...n,label:`Standard — graduates ≈ $69k at ${Db(r)} KAS`})}o(Hb,"bandPreset");var Ut=Object.freeze([...Kb.map(Hb),tn].sort((e,t)=>{const n=nn(e);const r=nn(t);return n<r?-1:n>r?1:0}));var Yh=Object.freeze(Ut.filter(e=>e!==tn));var of=new Map(Ut.map(e=>[e.name,e]));var ld=new Map(Ut.map((e,t)=>[e.name,t]));var rn=Ut.map(e=>e===tn?Ai:ud/Pi(nn(e)));function fd(e){return of.get(e)}o(fd,"standardFamilyPreset");function Qh(e){return of.has(e)}o(Qh,"isStandardFamilyName");function sf(e){return Fb.test(e)}o(sf,"isStandardBandNameForm");function Zh(e){return ld.get(e)}o(Zh,"standardFamilyIndex");function cf(e){const t=ld.get(e.name);if(t===void 0||Ut[t]!==e)throw new V(`${e.name} is not a member of the Standard family`);return t}o(cf,"memberIndex");function ev(e){return rn[cf(e)]}o(ev,"standardBandReferenceKasUsd");function Yo(e){const t=Ut.length;return{max:e===0?rn[0]*(1+Xo):Math.sqrt(rn[e]*rn[e-1]),min:e===t-1?rn[t-1]/(1+Xo):Math.sqrt(rn[e]*rn[e+1])}}o(Yo,"servesAt");function tv(e){return Yo(cf(e))}o(tv,"standardBandServes");var Ti=Object.freeze({min:Yo(Ut.length-1).min,max:Yo(0).max});var Qo=class extends V{static{o(this,"StandardBandOutOfRange")}kasUsd;constructor(t){super(`KAS/USD ${t} is outside the Standard family's range (${Ti.min.toPrecision(3)} .. ${Ti.max.toPrecision(3)}): no band graduates within ${Xo*100} % of the target`);this.kasUsd=t}};function df(e){if(typeof e!=="number"||!Number.isFinite(e)||e<=0){throw new V(`kasUsd must be a finite positive number, got ${String(e)}`)}}o(df,"assertPrice");function uf(e){let t={index:0,dist:Number.POSITIVE_INFINITY};for(let n=0;n<Ut.length;n++){const r=Math.abs(Math.log(e/rn[n]));if(r<t.dist)t={index:n,dist:r}}return t}o(uf,"nearestIndex");function nv(e){df(e);const{index:t,dist:n}=uf(e);if(n>Math.log(1+Xo)+1e-12)throw new Qo(e);const r=Ut[t];const a=Pi(nn(r))*e;return{preset:r,index:t,kasUsd:e,referenceKasUsd:rn[t],graduationCapSompi:nn(r),graduationCapUsd:a,deviation:a/ud-1}}o(nv,"standardBandFor");function lf(e,t,n=Bb){df(t);if(!Number.isInteger(n)||n<0)throw new V(`toleranceBands must be a non-negative integer, got ${n}`);const r=ld.get(e);const a=uf(t);const s=a.dist<=Math.log(1+Xo)+1e-12;const i=s?Ut[a.index]:void 0;if(r===void 0){return{accepted:false,reason:"not-a-band",index:r,expected:i,distance:void 0,accepts:void 0,message:`${e} is not a Standard band`}}const c=Ut.length;const d={max:Yo(Math.max(0,r-n)).max,min:Yo(Math.min(c-1,r+n)).min};const l=s?Math.abs(r-a.index):void 0;const u=o(b=>`$${b.toPrecision(3)}`,"fmt");if(!s){return{accepted:false,reason:"price-out-of-range",index:r,expected:i,distance:l,accepts:d,message:`KAS at ${u(t)} is outside the Standard bands' range (${u(Ti.min)} .. ${u(Ti.max)})`}}const p=t>=d.min&&t<=d.max;return{accepted:p,reason:p?void 0:"wrong-band",index:r,expected:i,distance:l,accepts:d,message:p?`${e} is accepted at KAS ${u(t)}`:`${e} is the band for KAS at ${u(rn[r])}, ${l} bands from the band for KAS at ${u(t)} (${i.name}); it is accepted only for ${u(d.min)} .. ${u(d.max)}`}}o(lf,"checkStandardBand");function Vb(e){return e.hashWindow??{start:e.stateOffset,length:e.stateLength}}o(Vb,"windowOf");function pd(e,t){if(!Number.isInteger(e.start)||e.start<0||!Number.isInteger(e.length)||e.length<0){throw new Error(`${t}: invalid state window start=${e.start} length=${e.length}`)}}o(pd,"assertWindow");var Ci=class{static{o(this,"LayoutRegistry")}#e=new Map;#t=new Map;#n=new Map;#r=new Map;registerCodec(t){this.#e.set(t.id,t);return this}registerTemplate(t){const n=t.templateHash;if(!Wc.test(n)){throw new Error(`cannot register template: hash must match ^[0-9a-f]{64}$, got "${n}"`)}if(this.#t.has(n)||this.#n.has(n)){throw new Error(`template ${n} is already registered; refusing to overwrite`)}pd({start:t.stateOffset,length:t.stateLength},`template ${n}`);const r=Vb(t);pd(r,`template ${n} hashWindow`);if(t.stateOffset<r.start||t.stateOffset+t.stateLength>r.start+r.length){throw new Error(`template ${n}: codec state window must lie inside the hash window`)}if(t.prefixHex!==void 0){if(!/^([0-9a-f]{2})*$/.test(t.prefixHex)||t.prefixHex.length/2>t.stateOffset){throw new Error(`template ${n}: prefixHex must be lowercase hex and end before stateOffset`)}}if(t.recognisedOnly===void 0){const a=this.#e.get(t.layoutId);if(!a){throw new Error(`cannot register template ${n}: no codec for layout ${t.layoutId}`)}if(t.stateLength!==a.stateLength){throw new Error(`template ${n} declares stateLength ${t.stateLength} but codec ${a.id} uses ${a.stateLength}`)}}this.#t.set(n,t);this.#a(r);return this}quarantineTemplate(t){if(!Wc.test(t.templateHash)){throw new Error(`cannot quarantine template: hash must match ^[0-9a-f]{64}$, got "${t.templateHash}"`)}if(this.#t.has(t.templateHash)||this.#n.has(t.templateHash)){throw new Error(`template ${t.templateHash} is already registered; refusing to overwrite`)}pd(t.window,`quarantined template ${t.templateHash}`);this.#n.set(t.templateHash,t.reason);this.#a(t.window);return this}#a(t){this.#r.set(`${t.start}:${t.length}`,{start:t.start,length:t.length})}getCodec(t){const n=this.#e.get(t);if(!n)throw new Error(`no codec registered for layout ${t}`);return n}resolveTemplate(t){const n=t.toLowerCase();const r=this.#t.get(n);if(r)return r;const a=this.#n.get(n);if(a){throw new kn(`${n} (quarantined: ${a})`)}throw new kn(n)}isDecodable(t){const n=this.#t.get(t.toLowerCase());return n!==void 0&&n.recognisedOnly===void 0}identifyTemplate(t){const n=[];for(const r of this.#r.values()){if(r.start+r.length>t.length)continue;const a=Rt(t,r.start,r.length);const s=this.#t.get(a);if(s)return s;const i=this.#n.get(a);if(i!==void 0){throw new kn(`${a} (quarantined: ${i})`)}n.push(`${a} over window [${r.start}, ${r.start+r.length})`)}throw new kn(n.length===0?`(none: ${t.length}-byte program is shorter than every known state window)`:`(computed ${n.join("; ")})`)}decodeProgram(t,n){const r=this.#c(t,n);if(r.recognisedOnly!==void 0){throw new ya(r.templateHash,r.recognisedOnly)}const a=this.#s(t,r);const s=this.getCodec(r.layoutId);const i=s.decode(a,r.schemes);s.validate(i,r.schemes);return i}assertRoundTrip(t,n){const r=this.#c(t,n);const a=this.decodeProgram(t,r.templateHash);const s=this.getCodec(r.layoutId).encode(a,r.schemes);const i=this.#s(t,r);if(h(s)!==h(i)){throw new N(`round-trip mismatch for template ${r.templateHash}: on-chain ${h(i)} vs re-encoded ${h(s)}`)}return a}#c(t,n){const r=n===void 0?void 0:this.resolveTemplate(n);const a=this.identifyTemplate(t);if(r!==void 0&&r.templateHash!==a.templateHash){throw new ga(r.templateHash,a.templateHash)}return a}#s(t,n){const r=n.stateOffset+n.stateLength;if(t.length<r){throw new N(`program is ${t.length} bytes; template ${n.templateHash} needs at least ${r}`)}if(n.prefixHex!==void 0){const a=n.prefixHex;const s=h(t.subarray(0,a.length/2));if(s!==a){throw new N(`template ${n.templateHash} expects program prefix ${a}, got ${s}`)}}return t.subarray(n.stateOffset,r)}};var Gb=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);var an=o((e,t)=>e>>>t|e<<32-t,"rotr");function Ei(e){const t=typeof e==="string"?new TextEncoder().encode(e):e;const n=BigInt(t.length)*8n;const r=new Uint8Array(Math.ceil((t.length+9)/64)*64);r.set(t);r[t.length]=128;const a=new DataView(r.buffer);a.setBigUint64(r.length-8,n,false);const s=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);const i=new Uint32Array(64);for(let l=0;l<r.length;l+=64){for(let S=0;S<16;S++)i[S]=a.getUint32(l+S*4,false);for(let S=16;S<64;S++){const A=i[S-15];const P=i[S-2];const $=an(A,7)^an(A,18)^A>>>3;const L=an(P,17)^an(P,19)^P>>>10;i[S]=i[S-16]+$+i[S-7]+L>>>0}let[u,p,b,g,m,y,k,w]=[s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7]];for(let S=0;S<64;S++){const A=w+(an(m,6)^an(m,11)^an(m,25))+(m&y^~m&k)+Gb[S]+i[S]>>>0;const P=(an(u,2)^an(u,13)^an(u,22))+(u&p^u&b^p&b)>>>0;w=k;k=y;y=m;m=g+A>>>0;g=b;b=p;p=u;u=A+P>>>0}s[0]=s[0]+u>>>0;s[1]=s[1]+p>>>0;s[2]=s[2]+b>>>0;s[3]=s[3]+g>>>0;s[4]=s[4]+m>>>0;s[5]=s[5]+y>>>0;s[6]=s[6]+k>>>0;s[7]=s[7]+w>>>0}const c=new Uint8Array(32);const d=new DataView(c.buffer);for(let l=0;l<8;l++)d.setUint32(l*4,s[l],false);return c}o(Ei,"sha256");function bd(e){let t="";for(const n of Ei(e))t+=n.toString(16).padStart(2,"0");return t}o(bd,"sha256Hex");var Oi=/[\u0000-\u001F\u007F-\u009F\u00AD\u034F\u061C\u115F\u1160\u17B4\u17B5\u180B-\u180F\u200B-\u200F\u202A-\u202E\u2060-\u206F\u3164\uFEFF\uFFA0\uFFF9-\uFFFB]|\uDB40[\uDC00-\uDC7F\uDD00-\uDDEF]|\uD834[\uDD73-\uDD7A]/g;function ff(e){return e.replace(/\s+/gu," ").replace(Oi,"").replace(/ {2,}/g," ").trim()}o(ff,"displayText");var qb={"А":"A","В":"B","Е":"E","Ё":"E","К":"K","М":"M","Н":"H","О":"O","Р":"P","С":"C","Т":"T","У":"Y","Х":"X","Ѕ":"S","І":"I","Ї":"I","Ј":"J","Ԛ":"Q","Ԝ":"W","Ү":"Y","Һ":"H","Ӏ":"I","Տ":"S","Օ":"O","Α":"A","Β":"B","Ε":"E","Ζ":"Z","Η":"H","Ι":"I","Κ":"K","Μ":"M","Ν":"N","Ο":"O","Ρ":"P","Τ":"T","Υ":"Y","Χ":"X","Ꭺ":"A","Ᏼ":"B","Ꮯ":"C","Ꭰ":"D","Ꭼ":"E","Ꮐ":"G","Ꮋ":"H","Ꭵ":"I","Ꭻ":"J","Ꮶ":"K","Ꮮ":"L","Ꮇ":"M","Ꭲ":"T","Ꮪ":"S","Ꮢ":"R","Ꮩ":"V","Ꮃ":"W","Ꮓ":"Z","Ꮲ":"P","ꓮ":"A","ꓐ":"B","ꓚ":"C","ꓓ":"D","ꓰ":"E","ꓝ":"F","ꓖ":"G","ꓧ":"H","ꓲ":"I","ꓙ":"J","ꓗ":"K","ꓡ":"L","ꓟ":"M","ꓠ":"N","ꓳ":"O","ꓑ":"P","ꓣ":"R","ꓢ":"S","ꓔ":"T","ꓴ":"U","ꓦ":"V","ꓪ":"W","ꓫ":"X","ꓬ":"Y","ꓜ":"Z","ᴀ":"A","ʙ":"B","ᴄ":"C","ᴅ":"D","ᴇ":"E","ꜰ":"F","ɢ":"G","ʜ":"H","ɪ":"I","ᴊ":"J","ᴋ":"K","ʟ":"L","ᴍ":"M","ɴ":"N","ᴏ":"O","ᴘ":"P","ʀ":"R","ꜱ":"S","Ɪ":"I","Ʀ":"R","ᴛ":"T","ᴜ":"U","ᴠ":"V","ᴡ":"W","ʏ":"Y","ᴢ":"Z"};var Wb=/[\uFE00-\uFE0F\u2800]|\uDB40[\uDD00-\uDDEF]|\uD834[\uDD73-\uDD7A]/g;var zb=/[\u0300-\u036F\u1AB0-\u1AFF\u1DC0-\u1DFF\u20D0-\u20FF]/g;function Jb(e){if(e>=127312&&e<=127337)return String.fromCharCode(65+e-127312);if(e>=127344&&e<=127369)return String.fromCharCode(65+e-127344);return void 0}o(Jb,"negativeLetter");function md(e){const t=ff(e.normalize("NFKC")).normalize("NFD").replace(zb,"").normalize("NFC").replace(Wb,"").replace(/[$\s]/g,"").toUpperCase();let n="";for(const r of t)n+=qb[r]??Jb(r.codePointAt(0))??r;return n}o(md,"tickerSkeleton");function fv(e){Oi.lastIndex=0;const t=Oi.test(e);Oi.lastIndex=0;return t}o(fv,"hasHiddenCharacters");var Nt=o(e=>({word:e,inName:"exact"}),"exact");var _i=o(e=>({word:e,inName:"word"}),"anyWord");var gv=[{id:"kas",words:[Nt("KAS"),Nt("KASPA")]},{id:"wkas",words:[_i("WKAS"),Nt("WRAPPEDKAS"),Nt("WRAPPEDKASPA")]},{id:"usdt",words:[_i("USDT"),_i("TETHER"),Nt("TETHERUSD")]},{id:"usdc",words:[_i("USDC"),Nt("USDCOIN")]},{id:"btc",words:[Nt("BTC"),Nt("BITCOIN")]},{id:"eth",words:[Nt("ETH"),Nt("ETHER"),Nt("ETHEREUM")]}];var Xb=["NACHO","ZEAL","KASPY","KANGO","BURT","GHOAD","KEIRO","KASPER","KONAN","KREX","KROAK","KAS","KASPA","WKAS","BTC","XBT","ETH","WETH","WBTC","SOL","BNB","XRP","DOGE","LTC","BCH","ADA","TRX","TON","AVAX","DOT","MATIC","POL","LINK","SHIB","XMR","ETC","XLM","ATOM","SUI","APT","NEAR","HBAR","USDT","USDC","TETHER","SEAL","KASSEAL"];var Yb=["SEAL","KASSEAL"];var Qb={"testnet-10":"kaspatest:qp8pqkcf0w8l3mke93eu86ngyc808x54t574a8jha96nu63x8tfn2et7nk35w",mainnet:"kaspa:qrt0p8sd5g8k383mzxgqtyl7ehkdez8ds8cpxqcuwjdaayke9rjhg9pqnr3zx"};function pf(e,t,n){const r=n!==void 0&&Qb[e]===n.trim().toLowerCase();const a=o(c=>r&&Yb.includes(c),"allowed");const s=md(t.ticker);const i=md(t.name);for(const[c,d]of[["ticker",s],["name",i]]){if(Xb.includes(d)&&!a(d))return{word:d,field:c}}return null}o(pf,"reservedNameOf");function Ii(){const e=new Ci().registerCodec(Bl).registerCodec(xt);for(const t of Kl)e.registerTemplate(t);e.registerTemplate(hi);for(const t of Ml)e.registerTemplate(t);for(const t of jl)e.quarantineTemplate(t);return e}o(Ii,"createDefaultRegistry");var Bt=class extends Error{static{o(this,"ArtifactMissing")}path;constructor(t){super(`contract artifact ${t} is not available in this build`);this.name="ArtifactMissing";this.path=t}};var Da=class extends Error{static{o(this,"ArtifactSourceNotInstalled")}constructor(){super("no contract artifact source is installed: import the package through its Node entry, or call initWeb() with the artifacts");this.name="ArtifactSourceNotInstalled"}};var Va=Object.freeze(["v1"]);function je(e){return e==="v1"}o(je,"hasOpenLiquidity");var Zo=class extends Error{static{o(this,"ContractSetNotSupported")}set;constructor(t,n){super(`contract set ${t} is not supported by ${n} yet`);this.name="ContractSetNotSupported";this.set=t}};function es(e,t="the transaction builder"){if(!Zu.includes(e))throw new Error(`unknown contract version ${String(e)} (${t})`);return e}o(es,"builderContractSet");var We="v1";var Zb="contracts/curve/v1";var bf="contracts/curve/v1/artifacts";var em="contracts/pool/v1/artifacts/pool.artifact.json";var tm="contracts/pool/v1/pool.ctor.json";var Ri="codec/fixtures/argent-kcc20-reference-c8a0871.json";var mf=Object.freeze(["v1-2026-10-18-final","v1-kasseal-mainnet-tn10","v1-kasseal-mainnet","v1-kasseal-mainnet-2-tn10","v1-kasseal-mainnet-2","v1-kasseal-mainnet-3-tn10","v1-kasseal-mainnet-3"]);var nm="v1-kasseal-mainnet";var gf="v1-kasseal-mainnet-2";var rm="v1-kasseal-mainnet-2-tn10";var Ui="v1-kasseal-mainnet-3";var hd="v1-kasseal-mainnet-3-tn10";var am=Object.freeze([Ui,hd]);var vd=200n;function kd(e){return e.revision!==void 0&&am.includes(e.revision)}o(kd,"hasCreatorWindow");var om=Object.freeze([nm,gf,Ui]);var yf="mainnet";function ts(e){const t=e===yf;return mf.filter(n=>om.includes(n)===t)}o(ts,"v1RevisionsOn");var sm="testnet-10";function wd(e){if(e===yf)return Ui;return e===sm?hd:void 0}o(wd,"launchRevisionOf");function xd(e,t){if(e!=="v1"||!mf.includes(t))throw new Error(`unknown frozen ${e} revision ${t}`);return t}o(xd,"assertRevision");function ns(e){es(e,"the builder's artifact source")}o(ns,"assertVersion");function Ni(e=We,t){ns(e);if(t!==void 0)return`${bf}/${xd(e,t)}`;return Zb}o(Ni,"curvePresetDir");function hf(e,t=We,n){ns(t);if(n!==void 0)return`${Ni(t,n)}/curve.${e}.artifact.json`;return`${bf}/curve.${e}.artifact.json`}o(hf,"curveArtifactPath");function vf(e,t=We,n){return`${Ni(t,n)}/curve.ctor.${e}.json`}o(vf,"curveCtorPath");function kf(e=We,t){ns(e);if(t!==void 0)return`contracts/pool/v1/artifacts/${xd(e,t)}/pool.artifact.json`;return em}o(kf,"poolArtifactPath");function wf(e=We,t){ns(e);if(t!==void 0)return`contracts/pool/v1/artifacts/${xd(e,t)}/pool.ctor.json`;return tm}o(wf,"poolCtorPath");var im=/^curve\.ctor\.([A-Za-z0-9_-]+)\.json$/;function cm(e){return e.flatMap(t=>{const n=im.exec(t);return n?[n[1]]:[]}).sort()}o(cm,"presetsOf");function xf(e,t){ns(e);return cm(t)}o(xf,"presetsOfSet");function $i(e){const t=e.replace(/\\/g,"/").replace(/^\.\//,"").replace(/\/+$/,"");if(t.split("/").some(n=>n===".."||n===""))throw new Error(`artifact path ${e} is not a plain relative path`);return t}o($i,"normalise");var Ha=class extends Bt{static{o(this,"ArtifactNotLoaded")}preset;constructor(t,n){super(t);this.message=`contract artifact ${t} belongs to preset ${n}, which this build loads on demand: await ensurePresetArtifacts('${n}') first`;this.name="ArtifactNotLoaded";this.preset=n}};var Sd=new Map;var yd=new Map;var gd=new Map;var Sf=new Set;function Wv(e){for(const[t,n]of Object.entries(e)){if(typeof n!=="function")throw new Error(`lazy artifact loader for ${t} is not a function`);Sd.set(t,n)}}o(Wv,"registerLazyArtifacts");function Af(e){return Sd.has(e)&&!Sf.has(e)}o(Af,"presetArtifactsPending");function dm(e){const t=Sd.get(e);if(t===void 0)return Promise.resolve();let n=gd.get(e);if(n===void 0){n=t().then(r=>{for(const[a,s]of Object.entries(r)){if(typeof s!=="string")throw new Error(`artifact ${a} is not text`);yd.set($i(a),s)}Sf.add(e)});n.catch(()=>gd.delete(e));gd.set(e,n)}return n}o(dm,"ensurePresetArtifacts");var um=/(?:^|\/)curve\.(?:ctor\.)?([A-Za-z0-9_-]+?)(?:\.artifact|\.ctor)?\.json$/;function zv(e){const t=new Map;for(const[n,r]of Object.entries(e)){if(typeof r!=="string")throw new Error(`artifact ${n} is not text`);t.set($i(n),r)}return{readText(n){const r=$i(n);const a=t.get(r)??yd.get(r);if(a!==void 0)return a;const s=um.exec(r)?.[1];if(s!==void 0&&Af(s))throw new Ha(n,s);throw new Bt(n)},list(n){const r=`${$i(n)}/`;const a=new Set;for(const s of[...t.keys(),...yd.keys()]){if(!s.startsWith(r))continue;const i=s.slice(r.length);if(!i.includes("/"))a.add(i)}return[...a].sort()}}}o(zv,"artifactSourceFromFiles");var Li;function Jv(e){const t=Li;Li=e;return t}o(Jv,"installArtifactSource");function rs(){if(Li===void 0)throw new Da;return Li}o(rs,"artifactSource");function Ga(e){return JSON.parse(rs().readText(e))}o(Ga,"readArtifactJson");function Rn(e){return{version:e.version,inputs:e.inputs.map(t=>({transactionId:t.previousOutpoint.transactionId,index:t.previousOutpoint.index,sequence:t.sequence,signatureScript:t.signatureScript??"",computeBudget:t.computeBudget})),outputs:e.outputs.map(t=>({value:t.value,scriptVersion:t.scriptPublicKey.version,script:t.scriptPublicKey.script,covenant:t.covenant?{authorizingInput:t.covenant.authorizingInput,covenantId:t.covenant.covenantId.toString()}:null})),lockTime:e.lockTime,subnetworkId:e.subnetworkId,gas:e.gas,payload:e.payload}}o(Rn,"plainTxFromSdk");function lm(e){for(let t=0;t<e.length;t++){const n=e.charCodeAt(t);if(n>=55296&&n<=56319){const r=e.charCodeAt(t+1);if(!(r>=56320&&r<=57343))return true;t++}else if(n>=56320&&n<=57343)return true}return false}o(lm,"hasLoneSurrogate");function Tf(e,{maxDepth:t=64}={}){let n=0;const r=o(d=>{throw new Error(`I-JSON: ${d} at ${n}`)},"err");const a=o(()=>{while(n<e.length&&" \n\r".includes(e[n]))n++},"ws");const s=o(()=>{n++;let d="";for(;;){if(n>=e.length)r("unterminated string");const l=e[n++];if(l==='"')break;if(l==="\\"){const u=e[n++];if(u==="u"){const p=e.slice(n,n+4);if(!/^[0-9a-fA-F]{4}$/.test(p))r("bad \\u escape");d+=String.fromCharCode(parseInt(p,16));n+=4}else{const p={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:" "};if(u===void 0||!(u in p))r(`bad escape \\${u}`);d+=p[u]}}else{if(l.charCodeAt(0)<32)r("control character in string");d+=l}}if(lm(d))r("string contains a lone surrogate");return d},"str");const i=o(d=>{a();const l=e[n];if(l==="{"){if(d>t)r(`nesting deeper than ${t}`);n++;const b={};const g=new Set;a();if(e[n]==="}"){n++;return b}for(;;){a();if(e[n]!=='"')r("expected member name");const m=s();if(g.has(m))r(`duplicate member name "${m}"`);g.add(m);a();if(e[n]!==":")r('expected ":"');n++;Object.defineProperty(b,m,{value:i(d+1),enumerable:true,writable:true,configurable:true});a();if(e[n]===","){n++;continue}if(e[n]==="}"){n++;return b}r('expected "," or "}"')}}if(l==="["){if(d>t)r(`nesting deeper than ${t}`);n++;const b=[];a();if(e[n]==="]"){n++;return b}for(;;){b.push(i(d+1));a();if(e[n]===","){n++;continue}if(e[n]==="]"){n++;return b}r('expected "," or "]"')}}if(l==='"')return s();if(e.startsWith("true",n)){n+=4;return true}if(e.startsWith("false",n)){n+=5;return false}if(e.startsWith("null",n)){n+=4;return null}const u=/^-?(0|[1-9]\d*)(\.\d+)?([eE][+-]?\d+)?/.exec(e.slice(n));if(!u)r("unexpected character");n+=u[0].length;const p=Number(u[0]);if(!Number.isFinite(p))r(`number ${u[0]} is not a finite binary64`);return p},"value");const c=i(1);a();if(n!==e.length)r("trailing characters");return c}o(Tf,"parseIJSON");function fm(e){if(e.length===0)return{valid:false,reason:"empty payload (no codec prefix)"};if(e[0]!==0)return{valid:false,reason:`unknown codec prefix 0x${e[0].toString(16).padStart(2,"0")}`};let t;try{t=new TextDecoder("utf-8",{fatal:true,ignoreBOM:true}).decode(e.subarray(1))}catch{return{valid:false,reason:"payload is not valid UTF-8"}}if(t.charCodeAt(0)===65279)return{valid:false,reason:"payload starts with a byte-order mark",text:t};let n;try{n=Tf(t)}catch(r){return{valid:false,reason:r.message,text:t}}if(n===null||typeof n!=="object"||Array.isArray(n))return{valid:false,reason:"JSON value is not an object",text:t};return{valid:true,object:n,text:t}}o(fm,"decodeDeclaration");function Pf(e,t=4096){const n={name:e.name,symbol:e.symbol,decimals:e.decimals};if(e.image!==void 0)n["image"]=e.image;if(e.description!==void 0)n["description"]=e.description;if(e.links!==void 0)n["links"]=e.links;const r=E(Uint8Array.of(0),new TextEncoder().encode(JSON.stringify(n)));if(r.length>t)throw new Error(`declaration is ${r.length} bytes, above the ${t}-byte limit`);const a=fm(r);if(!a.valid)throw new Error(`metadata does not round-trip as an I-JSON declaration: ${a.reason}`);return r}o(Pf,"encodeDeclaration");var ve=100000000n;var Pt=5n*ve;var ut=100n;var nr=20n*ut;var Cf=50n;var Ad=ve;var Bi=1000000000000n;var as=5e5;var Td=5e5;var Pd=1e6;var Ed=Bi/BigInt(as);var os=4n*Bi/BigInt(as);function Ki(e){let t=2+8;for(const n of e.inputs)t+=32+4+8+n.sigScriptLength+8+2;t+=8;for(const n of e.outputs)t+=8+2+8+n.spkLength+(n.hasCovenant?2+32:0);t+=8+20+8+32+8+e.payloadLength;return t}o(Ki,"serializedSize");function Ef(e){let t=0;for(const r of e.outputs)t+=2+r.spkLength;let n=0;for(const r of e.inputs)n+=r.computeBudget;return Ki(e)+t*10+n*100}o(Ef,"computeMass");var Of=o(e=>Ki(e)*4,"transientMass");function Cd(e,t){return Math.ceil((63+e+(t?32:0))/100)}o(Cd,"plurality");function _f(e,t){const n=Bi;let r=0n;let a=0n;for(const u of t){if(u.amount<=0n)throw new Error("storage mass: output value must be positive");r+=u.plurality;a+=n*u.plurality*u.plurality/u.amount}const s=e.reduce((u,p)=>u+p.plurality,0n);const i=r===1n||e.length<=2&&(s===1n||r===2n&&s===2n);if(i){const u=e.reduce((p,b)=>p+n*b.plurality*b.plurality/b.amount,0n);return a>u?a-u:0n}const c=e.reduce((u,p)=>u+p.amount,0n);let d=c/s;if(d<1n)d=1n;const l=s*(n/d);return a>l?a-l:0n}o(_f,"storageMass");function Un(e){const t=e.inputs.map(u=>({plurality:BigInt(Cd(u.spkLength,u.hasCovenant)),amount:u.amount}));const n=e.outputs.map(u=>({plurality:BigInt(Cd(u.spkLength,u.hasCovenant)),amount:u.value}));const r=Ki(e);const a=Ef(e);const s=Of(e);const i=Math.ceil(s/2);const c=Number(_f(t,n));const d=Math.max(a,i,c);const l=d===c&&c>=i&&c>=a?"storage":d===i?"transient":"compute";return{bytes:r,compute:a,transient:s,normalizedTransient:i,storage:c,max:d,minFee:BigInt(d)*ut,binding:l}}o(Un,"masses");var qa=class extends Error{static{o(this,"FeerateOutOfRange")}feerate;min=ut;max=nr;constructor(t,n="feerate"){super(`${n}: ${t} sompi per gram is outside the accepted range ${ut}..${nr}`);this.name="FeerateOutOfRange";this.feerate=t}};function ss(e,t="feerate"){if(e>nr)throw new qa(e,t);return e<ut?ut:e}o(ss,"boundedFeerate");function pm(e){if(e>nr)return nr;return e<ut?ut:e}o(pm,"clampFeerate");function Br(e){const t=Cf*e;return t>Ad?t:Ad}o(Br,"feeCeiling");var Nr=class extends Error{static{o(this,"FeeAboveCeiling")}fee;ceiling;minFee;constructor(t,n,r){const a=Br(r);super(`${t}: fee ${n} sompi is above the ceiling ${a} (model minimum ${r}); refused so no surplus can become miner fee`);this.name="FeeAboveCeiling";this.fee=n;this.ceiling=a;this.minFee=r}};function Od(e){if(e.storage>as)throw new Error(`storage mass ${e.storage} exceeds the block limit ${as}: an output is below its floor`);if(e.compute>Td)throw new Error(`compute mass ${e.compute} exceeds the block limit ${Td}`);if(e.transient>Pd)throw new Error(`transient mass ${e.transient} exceeds the block limit ${Pd}`)}o(Od,"assertMinable");var xe=Object.freeze({p2pk:11,tokenLeaderCovenant2Out:5,tokenLeaderCovenant1Out:6,tokenLeaderSigned1Out:16,tokenLeaderSigned2Out:15,tokenLeaderSigned3Out:17,tokenLeaderSignedMerge2:16,tokenLeaderSignedMerge3:19,tokenLeaderBorrow:8,tokenDelegatorCovenant:4,tokenDelegatorSigned:14,curveInit:13,curveBuy:16,curveSell:15,curveSweep:5,curveGraduate:16,poolSwapKasForTokens:14,poolSwapTokensForKas:13,poolSweep:3});var bm=Object.freeze({...xe,curveInit:14,curveBuy:16,curveSell:15,curveSweep:5,curveGraduate:17,poolSwapKasForTokens:14,poolSwapTokensForKas:13,poolSweep:3});var is=Object.freeze({...bm,curveGraduate:27,poolSwapKasForTokens:20,poolSwapTokensForKas:19,poolSweep:9,poolBindLp:14,poolAddLiquidity:30,poolRemoveLiquidity:30});var Mi=Object.freeze({...is,curveGraduate:29,poolSwapKasForTokens:23,poolSwapTokensForKas:23,poolSweep:10,poolBindLp:15,poolAddLiquidity:31,poolRemoveLiquidity:31});var ak=Object.freeze({vaultBuy:19,depositWithVault:1,depositMerge:1,splitterSplit:1,splitterMerge:1});function _d(e){if(e==="v1")return is;throw new Error(`no budget table for contract version ${String(e)}`)}o(_d,"budgetsFor");var mm=20;var If=30;var gm=31;function ym(e){if(e==="v1")return If;throw new Error(`no budget ceiling for contract version ${String(e)}`)}o(ym,"budgetCeilingFor");function Ct(e,t){if(t===1&&e===3)return xe.tokenLeaderSignedMerge3;if(t===1&&e===2)return xe.tokenLeaderSignedMerge2;if(t===1)return xe.tokenLeaderSigned1Out;if(t===2)return xe.tokenLeaderSigned2Out;if(t===3)return xe.tokenLeaderSigned3Out;throw new Error(`no budget for a signed leader with ${t} outputs`)}o(Ct,"signedLeaderBudget");function cs(e){return Math.ceil(Math.max(0,e-9999)/1e4)}o(cs,"budgetCovering");function Kr(e){return(e-9999)%1e4===0?(e-9999)/1e4:void 0}o(Kr,"budgetFromLimit");var ok=Object.freeze({orderFill:1,orderCancel:1,orderRefund:1,potLeader:8});var Id="2.1.0";var Wa=class extends Error{static{o(this,"SdkNotInstalled")}constructor(){super("the Kaspa SDK is not installed: import the package through its Node entry, or await initWeb() first");this.name="SdkNotInstalled"}};var Mr;var jr;function hm(e){const t=typeof e.version==="function"?e.version():void 0;if(t!==Id)throw new Error(`SDK reports version ${JSON.stringify(t)}, expected ${Id}`);Mr=e}o(hm,"installSdk");function ck(e){jr=e}o(ck,"registerSdkLoader");function vm(){return Mr!==void 0||jr!==void 0}o(vm,"sdkAvailable");function dk(e,t){const n=Mr;const r=jr;Mr=e;jr=void 0;try{return t()}finally{Mr=n;jr=r}}o(dk,"withSdk");function Nn(){if(Mr===void 0){if(jr===void 0)throw new Wa;hm(jr())}return Mr}o(Nn,"sdk");var on="testnet-10";function Fr(e,t){if(e===null||e===void 0)throw new Error(`${t} is missing`);return e}o(Fr,"required");var rr=0;var le=1000000n;var Xa=Ve;var Ja=Object.freeze({bindLp:["byte[]","byte[]"],addLiquidity:["int",Pn],removeLiquidity:["int",Pn]});function ji(e){return e.length===37&&e[0]===0&&e[1]===0&&e[2]===170&&e[3]===32&&e[36]===135}o(ji,"isP2shSpk37");function Lf(e,t,n){const r=Ga(t);const a=r.contracts[e];if(!a)throw new Error(`${t}: no contract ${e}`);const s=Uint8Array.from(a.compiled.bytecode);const{offset:i,len:c}=a.compiled.state_span;const d=s.subarray(0,i);const l=s.subarray(i+c);const u=Lt(d,l);const p=h(Uint8Array.from(a.compiled.template_hash));if(u!==p)throw new Error(`${t}: recomputed template hash ${u} != artifact ${p}`);const b={};for(const[g,m]of Object.entries(a.entries))b[g.replace("__covenant_entrypoint_auth_","")]=m.dispatch_tag.toLowerCase();return{name:e,version:n,prefix:d,suffix:l,stateOffset:i,stateLength:c,templateHash:u,tags:b,bytecode:s,artifactPath:t}}o(Lf,"templateFromArtifact");function Kt(e,t){if(e.kind!=="int")throw new Error(`ctor[${t}] is ${e.kind}, expected int`);return BigInt(e.value)}o(Kt,"ctorInt");function za(e,t,n){if(e.kind!=="bytes"||e.value.length!==n)throw new Error(`ctor[${t}] is not byte[${n}]`);return Uint8Array.from(e.value)}o(za,"ctorBytes");function Fi(e,t=us()){const n=t.version;const r=t.revision;const a=vf(e,n,r);const s={...Lf("Curve",hf(e,n,r),n),...r===void 0?{}:{revision:r}};const i=rs().readText(a);const c=JSON.parse(i);const d=19;if(c.length!==d)throw new Error(`${a}: expected ${d} constructor values, got ${c.length}`);const l={p0:Kt(c[4],4),k:Kt(c[5],5),lot:Kt(c[6],6),curveLots:Kt(c[7],7),gradReserve:Kt(c[8],8),feeBps:Kt(c[9],9),treasurySpk:Rf(c[10],10,n),creatorSpk:za(c[11],11,nt),tokenH:h(za(c[12],12,32)),tokenPrefixLen:Number(Kt(c[13],13)),tokenSuffixLen:Number(Kt(c[14],14)),poolH:h(za(c[15],15,32)),tokenCellKas:Kt(c[16],16),openWindowLots:Kt(c[17],17),openWindowMaxLots:Kt(c[18],18)};if(l.tokenH!==qe)throw new Error(`preset ${e}: tokenH ${l.tokenH} is not the reference template`);if(l.poolH!==t.templateHash)throw new Error(`preset ${e}: poolH ${l.poolH} != pool artifact ${t.templateHash}`);if(l.tokenPrefixLen!==1||l.tokenSuffixLen!==3885)throw new Error(`preset ${e}: token template lengths ${l.tokenPrefixLen}/${l.tokenSuffixLen}`);if(!Jt(l.creatorSpk))throw new Error(`preset ${e}: creatorSpk is not a version-0 P2PK script`);if(!Rd(n,l.treasurySpk)){throw new Error(`preset ${e}: treasurySpk is not a version-0 P2PK script or the P2SH of a fee splitter`)}else if(t.treasurySpk!==void 0&&!M(l.treasurySpk,t.treasurySpk)){throw new Error(`preset ${e}: treasurySpk is not the v1 pool's treasury script`)}const u=Aa(s.bytecode.subarray(s.stateOffset,s.stateOffset+s.stateLength));if(!M(u.tokenCovId,Ve)||u.lotsSold!==0n||u.feeAccrued!==0n||u.phase!==wr){throw new Error(`preset ${e}: constructor state is not the uninitialised curve`)}for(const p of["init","buy","sell","sweep","graduate"])if(!s.tags[p])throw new Error(`preset ${e}: artifact lacks entry ${p}`);return{...s,version:n,name:"Curve",preset:e,params:l,ctorPath:a,ctorSha256:bd(i)}}o(Fi,"loadCurveTemplate");function km(e,t){return Fi(t,us(e))}o(km,"loadCurveTemplateOf");function us(e=We,t){const n=es(e);const r=wm(n,kf(n,t),wf(n,t));return t===void 0?r:{...r,revision:t}}o(us,"loadPoolTemplate");function wm(e,t,n){const r=Lf("Pool",t,e);const a=Ga(n);const s=9;if(a.length!==s)throw new Error(`${n}: expected ${s} constructor values, got ${a.length}`);const i=s-2;const c=h(za(a[i],i,32));if(c!==qe)throw new Error(`${n}: tokenTemplateHash ${c} is not the reference template`);if(r.stateLength!==Ec(e))throw new Error(`${n}: state span length ${r.stateLength}, expected ${Ec(e)}`);const d=je(e);const l=d?["swapKasForTokens","swapTokensForKas","sweep",...Object.keys(Ja)]:["swapKasForTokens","swapTokensForKas","sweep"];for(const p of l)if(!r.tags[p])throw new Error(`pool artifact lacks entry ${p}`);if(d){const p=_c(r.bytecode.subarray(r.stateOffset,r.stateOffset+r.stateLength));if(xa(p)!=="v3"||!M(p.lpCovId,Xa)||p.lpShares!==el){throw new Error(`${n}: constructor state is not an unbound 139-byte pool at the graduation share count`)}}const u=Rf(a[s-1],s-1,e);if(!Rd(e,u))throw new Error(`${n}: treasurySpk is not a version-0 P2PK script or the P2SH of a fee splitter`);return{...r,name:"Pool",tokenH:c,treasurySpk:u}}o(wm,"poolTemplateFrom");function Rf(e,t,n){if(n==="v1"&&e.kind==="bytes"&&e.value.length===37)return za(e,t,37);return za(e,t,nt)}o(Rf,"treasuryCtorBytes");function Rd(e,t){return Jt(t)||e==="v1"&&ji(t)}o(Rd,"isTreasurySpkOf");function Di(){const e=Ga(Ri);const t=e.contracts.KCC20;const n=_(t.bytecode_hex);if(n.length!==4031)throw new Error(`reference bytecode is ${n.length} B, expected 4031`);if(t.state_span.offset!==1||t.state_span.len!==145)throw new Error("reference state span is not (1, 145)");const r=Rt(n,1,145);if(r!==qe||t.template_hash!==r)throw new Error(`reference template hash ${r} != ${qe}`);return{templateHash:r,prefix:n.subarray(0,1),suffix:n.subarray(146),bytecode:n}}o(Di,"loadTokenTemplate");function Ya(e,t,n=Nf()){const r=E(e.prefix,oe(_(e.templateHash)),xt.encode(t),e.suffix);if(r.length!==4031)throw new Error(`token program is ${r.length} B`);const a=n.identifyTemplate(r);if(a.templateHash!==e.templateHash)throw new Error(`token program identifies as ${a.templateHash}`);return r}o(Ya,"tokenProgram");function Qa(e,t){const n=E(e.prefix,Sa(t),e.suffix);const r=Rt(n,e.stateOffset,e.stateLength);if(r!==e.templateHash)throw new Error(`curve program hashes to ${r}, expected ${e.templateHash}`);return n}o(Qa,"curveProgram");function ls(e,t){if(xa(t)!==wa(e.version))throw new Error(`a ${xa(t)} pool state does not fit the ${e.version} pool template`);const n=E(e.prefix,Oc(t),e.suffix);const r=Rt(n,e.stateOffset,e.stateLength);if(r!==e.templateHash)throw new Error(`pool program hashes to ${r}, expected ${e.templateHash}`);return n}o(ls,"poolProgram");function Ue(e,t,n=Ve){return wt({amount:e,owner:_(t),ownerScheme:vt,borrowScheme:rr,extensionCommitment:n})}o(Ue,"covenantOwnedToken");function Ud(e,t,n=Ve){if(t.length!==32)throw new Error("a script owner is the 32-byte hash of the script");return wt({amount:e,owner:t,ownerScheme:3,borrowScheme:rr,extensionCommitment:n})}o(Ud,"scriptOwnedToken");function Za(e){return ie(e).subarray(2,34)}o(Za,"scriptHashOf");function Bn(e,t,{borrowScheme:n=rr,borrowGuard:r,extensionCommitment:a=Ve}={}){if(t.length!==32)throw new Error("user token owner must be a 32-byte x-only public key");return wt({amount:e,owner:t,ownerScheme:Xs,borrowScheme:n,...r?{borrowGuard:r}:{},extensionCommitment:a})}o(Bn,"userToken");var xm=Object.freeze(["v1-2026-10-18-final","v1-kasseal-mainnet-tn10","v1-kasseal-mainnet","v1-kasseal-mainnet-2-tn10","v1-kasseal-mainnet-2","v1-kasseal-mainnet-3-tn10","v1-kasseal-mainnet-3"]);function Uf(e){return e.version==="v1"&&(e.revision===void 0||xm.includes(e.revision))}o(Uf,"lpBoundToPool");function fs(e,t){return Uf(e)?_(t):new Uint8Array(32)}o(fs,"lpExtensionOf");function Mt(e,t){return e.owner.schemeByte===vt&&h(e.owner.identifier)===t}o(Mt,"isCovenantOwnedBy");var $f;function Nf(){$f??=Ii();return $f}o(Nf,"defaultRegistry");function $d(e){return{templateHash:e.templateHash,layoutId:e.name==="Curve"?"kasseal-curve-53":`kasseal-pool-${e.stateLength}`,stateOffset:e.stateOffset,stateLength:e.stateLength,prefixHex:h(e.prefix),schemes:new Map,recognisedOnly:`${e.name} state is decoded by @kasseal/txbuilder program.ts (${e.name==="Curve"?"decodeCurveState":"decodePoolState"})`,provenance:`${e.artifactPath} compiled.state_span (${e.stateOffset}, ${e.stateLength}); template hash recomputed on load`}}o($d,"templateDescriptor");var ds=class{static{o(this,"CellDecoder")}registry;curve;pool;token;constructor(t,n,r=Di()){this.curve=t;this.pool=n;this.token=r;this.registry=Ii().registerTemplate($d(t)).registerTemplate($d(n))}decode(t){const n=this.registry.identifyTemplate(t);if(n.templateHash===hi.templateHash){const a=this.registry.assertRoundTrip(t,n.templateHash);return{kind:"token",state:a,templateHash:n.templateHash,stateHex:h(xt.encode(a))}}const r=t.subarray(n.stateOffset,n.stateOffset+n.stateLength);if(n.templateHash===this.curve.templateHash)return{kind:"curve",state:Aa(r),templateHash:n.templateHash,stateHex:h(r)};if(n.templateHash===this.pool.templateHash)return{kind:"pool",state:_c(r),templateHash:n.templateHash,stateHex:h(r)};throw new Error(`program identifies as unknown template ${n.templateHash}`)}spk(t){return ie(t)}};var sn=class extends Error{static{o(this,"StateJsonError")}field;constructor(t,n,r){super(`${t} state JSON: ${n} ${r}`);this.name="StateJsonError";this.field=n}};function Nd(e,t){if(typeof e!=="object"||e===null||Array.isArray(e))throw new sn(t,"(root)","is not an object");return e}o(Nd,"jsonRecord");function Dr(e,t,n){const r=e[t];if(typeof r==="string"&&/^-?[0-9]+$/.test(r))return BigInt(r);if(typeof r==="number"&&Number.isSafeInteger(r))return BigInt(r);throw new sn(n,t,r===void 0?"is missing":"is not a decimal integer")}o(Dr,"jsonBig");function Ld(e,t,n){const r=e[t];const a=typeof r==="number"?r:typeof r==="string"&&/^[0-9]+$/.test(r)?Number(r):NaN;if(!Number.isInteger(a)||a<0||a>255)throw new sn(n,t,r===void 0?"is missing":"is not a byte");return a}o(Ld,"jsonByte");function Hr(e,t,n,r){const a=e[t];if(typeof a!=="string"||!/^([0-9a-f]{2})*$/.test(a))throw new sn(n,t,a===void 0?"is missing":"is not lowercase hex");if(r!==void 0&&a.length!==r*2)throw new sn(n,t,`is not ${r} bytes`);return _(a)}o(Hr,"jsonHex");function eo(e){const t=rt(e);return{amount:t.amount.toString(),owner:h(t.owner),ownerScheme:t.ownerScheme,borrowScheme:t.borrowScheme,borrowGuard:h(t.borrowGuard),extensionCommitment:h(t.extensionCommitment)}}o(eo,"tokenStateToJson");function to(e){const t="token";const n=Nd(e,t);return wt({amount:Dr(n,"amount",t),owner:Hr(n,"owner",t),ownerScheme:Ld(n,"ownerScheme",t),borrowScheme:Ld(n,"borrowScheme",t),borrowGuard:Hr(n,"borrowGuard",t),extensionCommitment:Hr(n,"extensionCommitment",t)})}o(to,"tokenStateFromJson");function Hi(e){return{tokenCovId:h(e.tokenCovId),lotsSold:e.lotsSold.toString(),feeAccrued:e.feeAccrued.toString(),phase:e.phase}}o(Hi,"curveStateToJson");function Bd(e){const t="curve";const n=Nd(e,t);return{tokenCovId:Hr(n,"tokenCovId",t,32),lotsSold:Dr(n,"lotsSold",t),feeAccrued:Dr(n,"feeAccrued",t),phase:Ld(n,"phase",t)}}o(Bd,"curveStateFromJson");function Vi(e){const t={tokenCovId:h(e.tokenCovId),kasScaled:e.kasScaled.toString(),tokenReserve:e.tokenReserve.toString(),lpShares:e.lpShares.toString()};return{...t,lpCovId:h(Fr(e.lpCovId,"pool state: lpCovId of a 139-byte state")),feeAccruedScaled:e.feeAccruedScaled.toString(),creatorSpk:h(Fr(e.creatorSpk,"pool state: creatorSpk of a 139-byte state"))}}o(Vi,"poolStateToJson");function Kd(e){const t="pool";const n=Nd(e,t);const r={tokenCovId:Hr(n,"tokenCovId",t,32),kasScaled:Dr(n,"kasScaled",t),tokenReserve:Dr(n,"tokenReserve",t),lpShares:Dr(n,"lpShares",t),feeAccruedScaled:Dr(n,"feeAccruedScaled",t)};return{...r,lpCovId:Hr(n,"lpCovId",t,32),creatorSpk:Hr(n,"creatorSpk",t,nt)}}o(Kd,"poolStateFromJson");function Bf(e){if(e.name!=="Pool"||!je(e.version))return Yt[e.name];if(Kn(e))return{...Yt.Pool,...Ja,swapKasForTokens:Do,swapTokensForKas:Ho};const t=e.version==="v1"&&e.tags["swapKasForTokens"]===Cn;return{...Yt.Pool,...Ja,...t?{swapKasForTokens:Fo}:{}}}o(Bf,"entrySignaturesOf");function Kn(e){if(e.name!=="Pool"||e.version!=="v1")return false;const t=e.tags["swapKasForTokens"]===En;const n=e.tags["swapTokensForKas"]===On;if(t!==n)throw new Error(`pool template mixes a ${t?"composable":"exact-count"} buy with a ${n?"composable":"exact-count"} sell`);return t}o(Kn,"isComposablePool");function Sm(e){const t=Bf(e);for(const n of Object.keys(e.tags))if(t[n]===void 0)throw new Error(`${e.name}.${n}: artifact entry has no declared signature`);for(const[n,r]of Object.entries(t)){const a=Qt(n,r);if(e.tags[n]!==a)throw new Error(`${e.name}.${n}: artifact tag ${e.tags[n]} != derived ${a}`)}}o(Sm,"assertEntryTags");var Ce=65;var no=new Uint8Array(Ce);var ps=0;var Am=$a;var cn=se;var Kf=Le;var Tm=pi;var Md=o(e=>E(Uint8Array.of(4),_(e)),"tagPush");var Mf=Or;function bs(e,t,n){const r=ai(t,n);const a=E(r.bytes,cn(e));let s;if(n.length===1+Ce&&n[0]===ps){const i=r.groupedFieldPushes.reduce((c,d)=>c+d.length,0);s=i+1+1;if(h(a.subarray(s-2,s))!=="4200")throw new Error("leader witness slot not where expected")}return{bytes:a,signatureOffset:s}}o(bs,"tokenLeaderSigScript");function jd(e,t){return bs(e,t,E(Uint8Array.of(ps),no))}o(jd,"tokenLeaderSignedSigScript");function Fd(e,t){return bs(e,t,Uint8Array.of(ps))}o(Fd,"tokenLeaderCovenantSigScript");function Dd(e,t){const n=E(cn(t),Md(Oa.transferDelegator.tagHex),cn(e));return{bytes:n,signatureOffset:t.length===Ce?1:void 0}}o(Dd,"tokenDelegatorSigScript");function Hd(e){return Dd(e,new Uint8Array(0))}o(Hd,"tokenDelegatorCovenantSigScript");function Vd(e){return Dd(e,no)}o(Vd,"tokenDelegatorSignedSigScript");function jf(e,t,n,r){if(n.length!==e.params.tokenPrefixLen||r.length!==e.params.tokenSuffixLen)throw new Error("init: token template lengths do not match the curve constants");return jt(e,"init",St({contract:"curve",entry:"init",tokenPrefix:n,tokenSuffix:r},t))}o(jf,"curveInitSigScript");function Gd(e,t,n,r){if(n<=0n)throw new Error("buy: n must be positive");return jt(e,"buy",St({contract:"curve",entry:"buy",n,user:r},t))}o(Gd,"curveBuySigScript");function qd(e,t,n){if(n<=0n)throw new Error("sell: n must be positive");return jt(e,"sell",St({contract:"curve",entry:"sell",n},t))}o(qd,"curveSellSigScript");function Wd(e,t){return jt(e,"sweep",St({contract:"curve",entry:"sweep"},t))}o(Wd,"curveSweepSigScript");function Ff(e,t,n){return jt(e,"graduate",St({contract:"curve",entry:"graduate",poolPrefix:n.prefix,poolSuffix:n.suffix},t))}o(Ff,"curveGraduateSigScript");function zd(e,t,n,r,a,s=ms){if(n<=0n)throw new Error("swapKasForTokens: kasInScaled must be positive");if(e.tags["swapKasForTokens"]===En){if(a===void 0)throw new Error("swapKasForTokens: this pool takes an on-chain minTokensOut");return jt(e,"swapKasForTokens",St({contract:"pool",entry:"swapKasForTokens",kasInScaled:n,minTokensOut:a,...s},t))}const i=e.tags["swapKasForTokens"]===Cn;if(i&&a===void 0)throw new Error("swapKasForTokens: this pool takes an on-chain minTokensOut");const c=i?{contract:"pool",entry:"swapKasForTokens",kasInScaled:n,minTokensOut:a,user:r}:{contract:"pool",entry:"swapKasForTokens",kasInScaled:n,user:r};return jt(e,"swapKasForTokens",St(c,t))}o(zd,"poolSwapKasForTokensSigScript");function Jd(e,t,n,r,a=Df){if(n<=0n)throw new Error("swapTokensForKas: tokensIn must be positive");if(r<0n)throw new Error("swapTokensForKas: minOutScaled must be non-negative");const s=e.tags["swapTokensForKas"]===On;return jt(e,"swapTokensForKas",St({contract:"pool",entry:"swapTokensForKas",tokensIn:n,minOutScaled:r,...s?a:{}},t))}o(Jd,"poolSwapTokensForKasSigScript");var ms=Object.freeze({reserveK:0n,restK:0n});var Df=Object.freeze({reserveK:1n,mergedK:0n});function Xd(e,t){return jt(e,"sweep",St({contract:"pool",entry:"sweep"},t))}o(Xd,"poolSweepSigScript");function Yd(e,t,n){if(!je(e.version))throw new Error(`bindLp: the ${e.version} pool has no bindLp entry`);if(n.prefix.length!==1||n.suffix.length!==3885)throw new Error("bindLp: token template lengths are not 1 / 3885");const r=Qt("bindLp",Ja["bindLp"]);const a=E(cn(n.prefix),cn(n.suffix),Md(r),cn(t));return jt(e,"bindLp",a)}o(Yd,"poolBindLpSigScript");function Qd(e,t,n,r){return Hf(e,t,"addLiquidity",n,r)}o(Qd,"poolAddLiquiditySigScript");function Zd(e,t,n,r){return Hf(e,t,"removeLiquidity",n,r)}o(Zd,"poolRemoveLiquiditySigScript");function Hf(e,t,n,r,a){if(!je(e.version))throw new Error(`${n}: the ${e.version} pool has no ${n} entry`);if(r<=0n)throw new Error(`${n}: shares must be positive`);const s=Qt(n,Ja[n]);return jt(e,n,E(Kf(r),Mf(a),Md(s),cn(t)))}o(Hf,"poolLiquiditySigScript");function jt(e,t,n){const r=er(n);const a=h(r[r.length-2].payload);if(e.tags[t]!==a)throw new Error(`${e.name}.${t}: artifact tag ${e.tags[t]} != encoded tag ${a}`);return n}o(jt,"withTemplateTag");function Pm(e){return er(e).map(t=>t.payload)}o(Pm,"parsePushes");function gs(e,t,n){if(n.length!==Ce)throw new Error(`signature must be ${Ce} bytes, got ${n.length}`);if(t<0||t+Ce>e.length)throw new Error("signature slot outside the sigscript");const r=Uint8Array.from(e);r.set(n,t);return r}o(gs,"spliceSignature");function ro(e){const t=typeof e==="string"?_(e):e;if(t.length!==66||t[0]!==65)throw new Error(`unexpected P2PK sigscript layout: ${h(t.subarray(0,2))} length ${t.length}`);return t.subarray(1)}o(ro,"signatureFromP2pkSigScript");var ys=E(Uint8Array.of(65),no);var B=o(e=>`${e.txid}:${e.index}`,"outpointKey");var Vf=0xffffffffn;var Ft=class extends Error{static{o(this,"ResidualBelowMinimum")}residual;minimum;constructor(t,n,r,a){super(`${t}: residual output "${n}" would be ${r} sompi, below its minimum ${a}`);this.name="ResidualBelowMinimum";this.residual=r;this.minimum=a}};var Wf=10000000n;function zf(e,t){const n=e.outputs.map(r=>({value:r.value,spkLength:r.spk.length,hasCovenant:r.binding!==void 0||r.cell!==void 0}));if(e.residual&&t!==void 0&&t>0n){n.push({value:t,spkLength:e.residual.spk.length,hasCovenant:e.residual.binding!==void 0||e.residual.cell!==void 0})}return{inputs:e.inputs.map(r=>({sigScriptLength:r.sigscript.length,computeBudget:r.budget,amount:r.amount,spkLength:r.spk.length,hasCovenant:r.covenantId!==void 0})),outputs:n,payloadLength:e.payload.length}}o(zf,"shapeOf");function Cm(e){const t=eu(e);const n=e.inputs.reduce((c,d)=>c+d.amount,0n);const r=e.outputs.reduce((c,d)=>c+d.value,0n);let a=0n;let s=0n;let i;for(let c=0;c<10;c++){let d=n-r-a;if(e.residual===void 0){if(d<0n)throw new Error(`${e.name}: inputs ${n} do not cover outputs ${r} + fee ${a}`);s=0n}else if(e.residual.dropBelow!==void 0&&d<e.residual.dropBelow){s=0n;d=0n}else{if(d<e.residual.minimum)throw new Ft(e.name,e.residual.label,d,e.residual.minimum);s=d}i=Un(zf(e,s));const l=BigInt(i.max)*t+e.feeMargin;if(e.residual===void 0){const u=n-r;if(u<l)throw new Error(`${e.name}: surplus ${u} is below the minimum fee ${l}`);a=u;break}if(s===0n){a=n-r;if(a<l)throw new Error(`${e.name}: residual dropped but the remaining ${a} sompi is below the minimum fee ${l}`);break}if(l===a)break;a=l}if(!i)throw new Error("unreachable");Od(i);if(a>Br(i.minFee))throw new Nr(e.name,a,i.minFee);for(const c of e.outputs)Gf(e.name,c.label,c.value,c.binding!==void 0||c.cell!==void 0);if(s>0n&&e.residual)Gf(e.name,e.residual.label,s,e.residual.binding!==void 0||e.residual.cell!==void 0);return{fee:a,residualValue:s,masses:i}}o(Cm,"estimate");function eu(e){const t=e.feerate??ut;if(t<ut)throw new Error(`${e.name}: feerate ${t} is below the node's floor of ${ut} sompi per gram`);return ss(t,e.name)}o(eu,"feerateOf");function Gf(e,t,n,r){const a=r?os:Ed;if(n<a)throw new Error(`${e}: output "${t}" of ${n} sompi is below the ${r?"covenant":"P2PK"} output floor ${a} (unminable)`)}o(Gf,"assertOutputFloor");function Jf(e){const t=Nn();const{fee:n,residualValue:r,masses:a}=Cm(e);const s=e.inputs.map(m=>({previousOutpoint:{transactionId:m.outpoint.txid,index:m.outpoint.index},signatureScript:h(m.sigscript),sequence:Om(e.name,m),sigOpCount:0,computeBudget:m.budget,utxo:{outpoint:{transactionId:m.outpoint.txid,index:m.outpoint.index},amount:m.amount,scriptPublicKey:new t.ScriptPublicKey(0,h(m.spk)),blockDaaScore:m.daaScore,isCoinbase:false}}));const i=e.outputs.map((m,y)=>({index:y,label:m.label,value:m.value,spk:m.spk,binding:m.binding,cell:m.cell}));if(e.residual&&r>0n){i.push({index:i.length,label:e.residual.label,value:r,spk:e.residual.spk,binding:e.residual.binding,cell:e.residual.cell})}const c=i.map(m=>new t.TransactionOutput(m.value,new t.ScriptPublicKey(0,h(m.spk))));const d=new t.Transaction({version:1,inputs:s,outputs:c,lockTime:Em(e),subnetworkId:di,gas:0n,payload:h(e.payload)});if(e.genesisGroups.length>0)d.populateGenesisCovenants(e.genesisGroups.map(m=>new t.GenesisCovenantGroup(m.authorizingInput,[...m.outputs])));const l=d.outputs;i.forEach((m,y)=>{if(m.binding)l[y].covenant=new t.CovenantBinding(m.binding.authorizingInput,new t.Hash(m.binding.covenantId))});d.outputs=l;d.finalize();const u=e.genesisGroups.map(m=>{const y=e.inputs[m.authorizingInput];if(!y)throw new Error(`${e.name}: genesis group names input ${m.authorizingInput}, which does not exist`);const k=tt(y.outpoint.txid,y.outpoint.index,m.outputs.map(w=>({index:w,value:i[w].value,scriptVersion:0,script:i[w].spk})));for(const w of m.outputs){const S=d.outputs[w]?.covenant;if(!S||S.covenantId.toString()!==k||S.authorizingInput!==m.authorizingInput){throw new Error(`${e.name}: genesis output ${w} bound to ${S?.covenantId.toString()} (auth ${S?.authorizingInput}), expected ${k} (auth ${m.authorizingInput})`)}}return{group:m,covenantId:k,outpoint:y.outpoint}});const p=i.map(m=>{const y=d.outputs[m.index].covenant;const k=y?{authorizingInput:y.authorizingInput,covenantId:y.covenantId.toString()}:void 0;const w=m.cell&&m.cell.covenantId===void 0&&k?{...m.cell,covenantId:k.covenantId}:m.cell;return{...m,binding:k,cell:w}});const b=at(Rn(d)).txid;if(b!==d.id)throw new Error(`${e.name}: KIP-24 txid ${b} != SDK txid ${d.id}`);const g=e.inputs.flatMap((m,y)=>m.signature?[{index:y,slot:m.signature}]:[]);return{plan:e,tx:d,txid:d.id,fee:n,masses:a,outputs:p,residualValue:r,inputsToSign:g,genesis:u,budgets:e.inputs.map(m=>m.budget)}}o(Jf,"assemble");var qf=499999999999n;function Em(e){const t=e.lockTime??0n;if(typeof t!=="bigint"||t<0n||t>qf)throw new Error(`${e.name}: lock time ${String(t)} is not a DAA score in 0..${qf}`);return t}o(Em,"lockTimeOf");function Om(e,t){const n=t.sequence??0n;if(typeof n!=="bigint"||n<0n||n>Vf)throw new Error(`${e}: input "${t.label}" sequence ${String(n)} is outside 0..${Vf}`);return n}o(Om,"sequenceOf");function _m(e,t,n){const r=e.inputsToSign.find(c=>c.index===t);if(!r)throw new Error(`input ${t} has no signature slot`);const a=e.tx.inputs;const s=a[t].signatureScript??"";const i=gs(hs(s),r.slot.offset,n);a[t].signatureScript=h(i);e.tx.inputs=a}o(_m,"applySignature");function Kk(e,t){const n=Nn();const r=[];for(const{index:a,slot:s}of e.inputsToSign){const i=t(s,a);if(!i)continue;_m(e,a,ro(n.createInputSignature(e.tx,a,i,n.SighashType.All)));r.push(a)}if(Rn(e.tx).inputs.length!==e.plan.inputs.length)throw new Error("input count changed while signing");if(e.tx.id!==e.txid)throw new Error(`txid changed while signing: ${e.tx.id} != ${e.txid}`);return r}o(Kk,"signWithKeys");function Mk(e){const t=e.tx.inputs;return e.inputsToSign.every(({index:n,slot:r})=>{const a=hs(t[n].signatureScript??"");return a.subarray(r.offset,r.offset+Ce).some(s=>s!==0)})}o(Mk,"isFullySigned");function Xf(e,t,n){const r=e.tx.inputs;if(!r[t])throw new Error(`no input ${t}`);r[t].computeBudget=n;e.tx.inputs=r;const a=e.budgets.map((i,c)=>c===t?n:i);const s=Un(zf({...e.plan,inputs:e.plan.inputs.map((i,c)=>({...i,budget:a[c]}))},e.residualValue));return{...e,budgets:a,masses:s}}o(Xf,"patchBudget");function jk(e,t){if(t.length!==e.inputs.length)throw new Error("budgets length mismatch");return{...e,inputs:e.inputs.map((n,r)=>({...n,budget:t[r]}))}}o(jk,"withBudgets");function Fk(e){return Rn(e.tx)}o(Fk,"plainTx");function Z(e){return hs(Nn().payToAddressScript(e).script)}o(Z,"p2pkScript");function Yf(e,t=0){const n=new Uint8Array(2+e.length);n[0]=t>>8&255;n[1]=t&255;n.set(e,2);return n}o(Yf,"versionedSpk");function Qf(e){if(e.length<2)throw new Error("versioned spk too short");return{version:e[0]<<8|e[1],script:e.subarray(2)}}o(Qf,"scriptOfVersionedSpk");function hs(e){const t=new Uint8Array(e.length/2);for(let n=0;n<t.length;n++)t[n]=parseInt(e.slice(n*2,n*2+2),16);return t}o(hs,"hexToBytes");function Gi(e,t){const n=Nn();const r=n.addressFromScriptPublicKey(new n.ScriptPublicKey(0,h(e)),t);if(!r)throw new Error("script public key has no address form");return r.toString()}o(Gi,"addressOfSpk");function Zf(e,t,n,r){return{label:t,outpoint:e.outpoint,amount:e.amount,spk:e.spk,daaScore:e.daaScore,covenantId:void 0,budget:n,sigscript:r,signature:{kind:"p2pk",offset:1,signer:e.address,sighashType:1}}}o(Zf,"fundingInput");var lt=1000000n;var ep=30n;var Im=20n;var tp=10n;var nu=5n;var ru=1000000n;var Wi=1000n;var dn=1000000000n;var Vr=9000000000000n;var tu=7000000000n;var Et=1200000000n;var ao=10n;function $m(e){K(e,"sompi");if(e<0n)throw new ue(`KAS leg must be non-negative, got ${e}`);if(e%lt!==0n)throw new ue(`KAS leg ${e} sompi is not a multiple of ${lt} (0.01 KAS)`);return e/lt}o($m,"toKasScaled");function au(e){K(e,"kasScaled");if(e<0n)throw new ue(`kasScaled must be non-negative, got ${e}`);return ee(e,lt,"kasScaled * 1e6")}o(au,"fromKasScaled");function Dt(e){if(e===null||typeof e!=="object")throw new ue("pool must be an object");for(const t of["kasScaled","tokenReserve","feeAccruedScaled","dust"]){K(e[t],t);if(e[t]<0n)throw new ue(`${t} must be non-negative, got ${e[t]}`)}if(e.kasScaled===0n||e.tokenReserve===0n)throw new ue("pool reserves must both be positive");if(e.kasScaled+e.feeAccruedScaled>Vr){throw new ue(`kasScaled + feeAccruedScaled ${e.kasScaled+e.feeAccruedScaled} exceeds KAS_VALUE_MAX ${Vr}`)}if(e.tokenReserve>Et)throw new ue(`tokenReserve ${e.tokenReserve} exceeds TOKEN_RESERVE_MAX ${Et}`);if(e.dust>=lt)throw new ue(`dust ${e.dust} is not below ${lt}`);qi(e)}o(Dt,"validatePool");function Gr(e){Dt(e);return Pe(ee(Pe(e.kasScaled,e.feeAccruedScaled,"kas + accrued"),lt,"(kas + accrued) * 1e6"),e.dust,"value + dust")}o(Gr,"poolCellValue");function qi(e){return e.kasScaled*e.tokenReserve}o(qi,"invariant");function vs(e,t){K(e,"escrowSompi");if(e<0n)throw new ue(`escrow must be non-negative, got ${e}`);const n={kasScaled:e/lt,tokenReserve:t,feeAccruedScaled:0n,dust:e%lt};Dt(n);return n}o(vs,"openPool");function ks(e,t=Wi){Dt(e);K(t,"sweepMinScaled");if(e.feeAccruedScaled<t)throw new ue(`accrual ${e.feeAccruedScaled} is below the sweep threshold ${t}`);const n=Pe(au(e.feeAccruedScaled),e.dust,"accrued * 1e6 + dust");return{pool:{...e,feeAccruedScaled:0n,dust:0n},payout:n}}o(ks,"sweepPool");function ou(e,t){K(e,"payout");if(e<0n)throw new ue(`payout must be non-negative, got ${e}`);if(t==="v2"){const n=e/2n;return{treasury:n,creator:e-n}}throw new ue(`unknown fee model version ${String(t)}`)}o(ou,"poolSweepSplit");function np(e,t="floor"){const n=Zt(ee(e,Tt-ep,"gross * (10000 - 30)"),Tt);const r=ee(e,tp,"gross * 10");const a=Zt(t==="nearest"?r+Tt/2n:r,Tt);const s=e-n;return{net:n,fee:{total:s,reserve:s-a,platform:a}}}o(np,"haircut");function rp(e,t,n){const r=n==="capped"?ee(e.kasScaled,e.tokenReserve,"kasScaled * tokenReserve"):qi(e);const a=n==="capped"?ee(t.kasScaled,t.tokenReserve,"kasScaled' * tokenReserve'"):qi(t);if(a<r)throw new ue(`invariant violated: ${a} < ${r}`)}o(rp,"assertNonDecreasing");function ws(e,t,n="uncapped",r="floor"){Dt(e);K(t,"kasInScaled");if(t<=0n)throw new X(`kasInScaled must be positive, got ${t}`);if(n==="capped"&&t>dn)throw new ue(`KAS leg ${t} (scaled) exceeds KAS_SCALED_MAX ${dn}`);if(n==="uncapped"&&t>tu)throw new ue(`KAS leg ${t} (scaled) exceeds KAS_IN_MAX ${tu}`);const{net:a,fee:s}=np(t,r);const i=Pe(e.kasScaled,a,"kas + net");const c=Zt(ee(e.tokenReserve,a,"tok * net"),i);if(c<=0n)throw new ue(`${t} scaled KAS buys no whole token at this depth`);const d={kasScaled:ct(Pe(e.kasScaled,t,"kas + in"),s.platform,"kas + in - platform"),tokenReserve:ct(e.tokenReserve,c,"tok - out"),feeAccruedScaled:Pe(e.feeAccruedScaled,s.platform,"accrued + platform"),dust:e.dust};Dt(d);rp(e,d,n);return{pool:d,tokenOut:c,fee:s}}o(ws,"swapKasForTokens");function qr(e,t,n="uncapped",r="floor"){Dt(e);K(t,"tokenIn");if(t<=0n)throw new X(`tokenIn must be positive, got ${t}`);if(t>Et)throw new ue(`token leg ${t} exceeds TOKEN_RESERVE_MAX ${Et}`);const a=Pe(e.tokenReserve,t,"tok + in");const s=n==="capped"?Zt(ee(e.kasScaled,t,"kas * in"),a):e.kasScaled*t/a;const{net:i,fee:c}=np(s,r);if(i<=0n)throw new $r(`${t} tokens release no scaled KAS at this depth`);if(i<ao){throw new $r(`net payout ${i} scaled is below the pool's 0.1 KAS minimum (PAYOUT_MIN ${ao})`)}const d={kasScaled:ct(ct(e.kasScaled,i,"kas - net"),c.platform,"kas - net - platform"),tokenReserve:a,feeAccruedScaled:Pe(e.feeAccruedScaled,c.platform,"accrued + platform"),dust:e.dust};Dt(d);rp(e,d,n);return{pool:d,kasOutScaled:i,fee:c}}o(qr,"swapTokensForKas");function Lm(e,t){Dt(e);K(t,"lotSize");if(t<=0n)throw new X(`lotSize must be positive, got ${t}`);const n=au(e.kasScaled);const r=n*t;if(r>ki*e.tokenReserve)throw new ue("spot price is not representable");return r/e.tokenReserve}o(Lm,"spotPricePerLot");var ap=Ye/10n;var op=10000000n;var su=Ye;var zi=Object.freeze({v2:50n});function t8(e){dt(e);const t=Jo(e.curve);const n=xi(e.curve);const r=ee(e.gradLots,e.lotSize,"GRAD_RESERVE");const a=ee(n,e.gradLots,"last * GRAD_LOTS");if(a===0n)throw new V("the last lot is free (p0 = k = 0): no graduation premium is defined");const s=(t-a)*Tt/a;return{raise:t,lastLotPrice:n,reserveTokens:r,openPricePerLot:{numerator:t,denominator:e.gradLots},openPricePerLotFloor:t/e.gradLots,premiumBps:s,finalLotFee:ad(e.curve)}}o(t8,"graduationEconomics");function sp(e){dt(e);const t=Rm(e);if(t<ap){throw new V(`final-tranche fee ${t} sompi (the final ${op} tokens) is below the ${ap} sompi (0.1 KAS) minimum`)}}o(sp,"checkFactoryParams");function Rm(e){dt(e);const t=op/e.lotSize;return od(e.curve,t<1n?1n:t>e.curve.curveLots?e.curve.curveLots:t)}o(Rm,"finalTrancheFee");function ip(e,t){K(e,"amount");K(t,"treasurySharePct");if(e<0n)throw new V(`amount must be non-negative, got ${e}`);if(t<0n||t>100n)throw new V(`treasurySharePct ${t} is outside [0, 100]`);const n=e/100n;const r=e%100n;const a=ee(n,t,"q * pct")+r*t/100n;return{treasury:a,creator:e-a}}o(ip,"feeSplit");function cp(e,t){const n=zi[t];if(n===void 0)throw new V(`unknown fee model version ${String(t)}`);return ip(e,n)}o(cp,"curveFeeSplit");function n8(e,t="v2"){dt(e);const n=e.curve.feeBps*(100n-e.treasurySharePct);if(n%100n!==0n)throw new V(`the creator's curve share ${n}/100 bps is not a whole number of basis points`);if(zi[t]===void 0)throw new V(`unknown fee model version ${String(t)}`);return{curveBps:n/100n,poolBps:nu}}o(n8,"creatorEarnings");function dp(e,t,n){dt(e);K(t,"lotsSold");K(n,"feeAccrued");if(t<0n||t>e.curve.curveLots)throw new V(`lotsSold ${t} is outside [0, ${e.curve.curveLots}]`);if(n<0n)throw new V(`feeAccrued must be non-negative, got ${n}`);return t<e.curve.curveLots&&n>=e.sweepMinSompi}o(dp,"canSweep");function up(e,t,n){dt(e);K(t,"curveValue");K(n,"feeAccrued");if(n<0n)throw new V(`feeAccrued must be non-negative, got ${n}`);if(t<n)throw new V(`curve value ${t} is below the accrued fees ${n}`);const r=ct(t,n,"curveValue - feeAccrued");if(n>=su){return{...ip(n,e.treasurySharePct),pooled:0n,escrow:r}}return{treasury:0n,creator:0n,pooled:n,escrow:t}}o(up,"graduationPayout");var Qe=ru;var oo=1000000000n;var iu=oo-Qe;var un=ao;var Um=100n;var Nm=20n;var lp=5n*Ye;var fp=5n*Ye/2n;function so(e,t,n,r){return r==="capped"?ee(e,t,n):e*t}o(so,"prod");function pp(e,t){return t==="capped"?dn:Vr-e}o(pp,"kasMax");function Ee(e,t="capped"){if(e===null||typeof e!=="object")throw new At("pool must be an object");for(const n of["kasScaled","tokenReserve","feeAccruedScaled"])K(e[n],n);K(e.lpShares,"lpShares");if(e.lpShares<Qe)throw new At(`lpShares ${e.lpShares} is below the locked floor ${Qe}`);if(e.lpShares>oo)throw new At(`lpShares ${e.lpShares} exceeds SHARES_MAX ${oo}`);if(t==="capped"){if(e.kasScaled>dn)throw new At(`kasScaled ${e.kasScaled} exceeds KAS_SCALED_MAX ${dn}`);if(e.feeAccruedScaled>dn)throw new At(`feeAccruedScaled ${e.feeAccruedScaled} exceeds KAS_SCALED_MAX ${dn}`)}else if(e.kasScaled+e.feeAccruedScaled>Vr){throw new At(`kasScaled + feeAccruedScaled = ${e.kasScaled+e.feeAccruedScaled} exceeds KAS_VALUE_MAX ${Vr}`)}if(e.tokenReserve>Et)throw new At(`tokenReserve ${e.tokenReserve} exceeds TOKEN_RESERVE_MAX ${Et}`);Dt(e)}o(Ee,"validateLpPool");function d8(e,t,n="capped"){const r={...vs(e,t),lpShares:Qe};Ee(r,n);return r}o(d8,"openLpPool");function Bm(e,t="capped"){Ee(e,t);return e.lpShares-Qe}o(Bm,"lpIssued");function xs(e,t="capped"){return iu-Bm(e,t)}o(xs,"lpInventory");function u8(e,t,n="capped"){K(t,"inventoryAmount");const r=xs(e,n);if(t!==r){throw new Ma(`L inventory ${t} != LP_SUPPLY - issued = ${r} (lpShares ${e.lpShares})`)}}o(u8,"checkLpInventory");function bp(e,t,n){const r=so(t.kasScaled,e.lpShares,"kas' * S",n);const a=so(e.kasScaled,t.lpShares,"kas * S'",n);if(r<a)throw new $n(`KAS value per share would decrease: ${r} < ${a}`);const s=ee(t.tokenReserve,e.lpShares,"tok' * S");const i=ee(e.tokenReserve,t.lpShares,"tok * S'");if(s<i)throw new $n(`token value per share would decrease: ${s} < ${i}`)}o(bp,"requireValuePerShareNonDecreasing");function mp(e){K(e,"shares");if(e<1n)throw new Na(`shares must be at least 1, got ${e}`)}o(mp,"assertShares");function gp(e,t,n="capped"){Ee(t,n);mp(e);const r=Pe(t.lpShares,e,"S + shares");if(r>oo)throw new Ba(`S + shares = ${r} exceeds SHARES_MAX ${oo}`);const a=Ln(so(e,t.kasScaled,"shares * kasScaled",n),t.lpShares);const s=Ln(ee(e,t.tokenReserve,"shares * tokenReserve"),t.lpShares);if(n==="uncapped"&&a<=un){throw new Ur(`KAS leg ${a} (scaled) is not above PAYOUT_MIN ${un} (the v1 minimum deposit)`)}const i=Pe(t.kasScaled,a,"kas + dKas");const c=pp(t.feeAccruedScaled,n);if(i>c)throw new Lr(`kasScaled would be ${i}, above ${n==="capped"?"KAS_SCALED_MAX":"KAS_VALUE_MAX - accrual"} ${c}`);const d=Pe(t.tokenReserve,s,"tok + dTok");if(d>Et)throw new Lr(`tokenReserve would be ${d}, above TOKEN_RESERVE_MAX ${Et}`);const l={kasScaled:i,tokenReserve:d,lpShares:r,feeAccruedScaled:t.feeAccruedScaled,dust:t.dust};bp(t,l,n);Ee(l,n);return{dKasScaled:a,dTok:s,pool:l}}o(gp,"lpDeposit");function yp(e,t,n="capped"){Ee(t,n);mp(e);const r=t.lpShares-Qe;if(e>r)throw new Rr(`shares ${e} exceeds the issued ${r}: the locked ${Qe} cannot be withdrawn`);const a=Zt(so(e,t.kasScaled,"shares * kasScaled",n),t.lpShares);if(a<un){throw new Ur(`KAS leg ${a} (scaled) is below PAYOUT_MIN ${un} (0.1 KAS)`)}const s=Zt(ee(e,t.tokenReserve,"shares * tokenReserve"),t.lpShares);if(s<1n)throw new Ka(`${e} shares release no whole token at this depth`);const i=ct(t.kasScaled,a,"kas - dKas");if(i<=0n)throw new $n(`KAS reserve would be ${i}`);const c=ct(t.tokenReserve,s,"tok - dTok");if(c<=0n)throw new $n(`token reserve would be ${c}`);const d={kasScaled:i,tokenReserve:c,lpShares:ct(t.lpShares,e,"S - shares"),feeAccruedScaled:t.feeAccruedScaled,dust:t.dust};bp(t,d,n);Ee(d,n);return{dKasScaled:a,dTok:s,pool:d}}o(yp,"lpWithdraw");function l8(e,t,n="capped",r="floor"){Ee(e,n);const a=ws(e,t,n,r);const s={...a.pool,lpShares:e.lpShares};Ee(s,n);return{...a,pool:s}}o(l8,"lpSwapKasForTokens");function f8(e,t,n="capped",r="floor"){Ee(e,n);const a=qr(e,t,n,r);const s={...a.pool,lpShares:e.lpShares};Ee(s,n);return{...a,pool:s}}o(f8,"lpSwapTokensForKas");function p8(e,t=Wi,n="capped"){Ee(e,n);const r=ks(e,t);return{...r,pool:{...r.pool,lpShares:e.lpShares}}}o(p8,"lpSweepPool");function cu(e,...t){let n=e;for(const r of t)if(r<n)n=r;return n}o(cu,"min");function Ji(e,t="capped"){Ee(e,t);const n=e.lpShares;const r=oo-n;const a=(pp(e.feeAccruedScaled,t)-e.kasScaled)*n/e.kasScaled;const s=(Et-e.tokenReserve)*n/e.tokenReserve;return cu(r,a,s)}o(Ji,"maxDepositShares");function b8(e,t,n="capped"){Ee(t,n);K(e,"kasScaledBudget");if(e<0n)throw new X(`kasScaledBudget must be non-negative, got ${e}`);const r=e*t.lpShares/t.kasScaled;return cu(r,Ji(t,n))}o(b8,"sharesForKas");function m8(e,t,n="capped"){Ee(t,n);K(e,"tokBudget");if(e<0n)throw new X(`tokBudget must be non-negative, got ${e}`);const r=e*t.lpShares/t.tokenReserve;return cu(r,Ji(t,n))}o(m8,"sharesForTokens");function g8(e,t="capped"){Ee(e,t);const n=Ln(un*e.lpShares,e.kasScaled);const r=Ln(e.lpShares,e.tokenReserve);const a=n>r?n:r;return a<1n?1n:a}o(g8,"minWithdrawableShares");var Km=2900000000000n;function du(e,t="capped"){Ee(e,t);const n=e.lpShares*e.lpShares;const r=e.kasScaled*e.tokenReserve;const a=Ln(un*Et*n,r*Qe);const s=Ln((t==="capped"?dn:Km)*n,r*Qe);const i=a>s?a:s;return i<1n?1n:i}o(du,"permanentlyWithdrawableShares");function Mm(e,t="capped"){Ee(e,t);const n=Ln(Nm*e.kasScaled,e.lpShares);const r=Ln(du(e,t)*e.kasScaled,e.lpShares);let a=Um;if(n>a)a=n;if(r>a)a=r;return a}o(Mm,"minDepositKasScaled");function hp(e,t="capped"){const n=Mm(e,t);const r=(n-1n)*e.lpShares/e.kasScaled+1n;const a=du(e,t);return r>a?r:a}o(hp,"minDepositShares");function y8(e,t,n,r="capped"){K(e,"held");K(t,"shares");if(t<0n||t>e)throw new X(`shares ${t} is outside [0, ${e}]`);const a=e-t;return a>0n&&a<du(n,r)}o(y8,"withdrawalLeavesSmallPosition");function h8(e,t,n="capped"){Ee(t,n);K(e,"shares");if(e<0n)throw new X(`shares must be non-negative, got ${e}`);const r=t.lpShares-Qe;if(e>r)throw new Rr(`shares ${e} exceeds the issued ${r}`);const a=Zt(so(e,t.kasScaled,"shares * kasScaled",n),t.lpShares);const s=Zt(ee(e,t.tokenReserve,"shares * tokenReserve"),t.lpShares);return{kasScaled:a,tok:s,withdrawable:e>=1n&&a>=un&&s>=1n}}o(h8,"positionValue");function v8(e,t="capped"){Ee(e,t);return so(e.kasScaled,e.tokenReserve,"kasScaled * tokenReserve",t)}o(v8,"lpInvariant");function k8(e,t,n,r){for(const[a,s]of[["kRef",e],["sRef",t],["kNow",n],["sNow",r]]){K(s,a);if(s<=0n)throw new X(`${a} must be positive, got ${s}`)}return Math.sqrt(Number(n)/Number(e))*(Number(t)/Number(r))-1}o(k8,"shareValueGrowth");function Xi(e,t){const n=cp(t,xr(e));return{kind:"treasury",total:t,treasury:n.treasury,creator:n.creator}}o(Xi,"curvePayoutSplit");function Yi(e,t){const n=ou(t,xr(e));return{kind:"treasury",total:t,treasury:n.treasury,creator:n.creator}}o(Yi,"poolPayoutSplit");function uu(e){return e.treasury}o(uu,"kassealShare");function vp(e,t,n,r){xr(e);const a=up(t,n,r);return r>=su?{escrow:a.escrow,pooled:0n,split:{kind:"treasury",total:r,treasury:a.treasury,creator:a.creator}}:{escrow:a.escrow,pooled:a.pooled,split:void 0}}o(vp,"graduationPayoutOf");var Wr=2n**256n-2n**32n-977n;var kp=0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n;var jm=0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n;var Fm=0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n;var fe=o((e,t=Wr)=>(e%t+t)%t,"mod");function Sp(e,t,n=Wr){let r=1n;e=fe(e,n);while(t>0n){if(t&1n)r=r*e%n;e=e*e%n;t>>=1n}return r}o(Sp,"pow");var Dm=o(e=>Sp(e,Wr-2n),"inv");var lu=[0n,1n,0n];function Ap([e,t,n]){if(n===0n||t===0n)return lu;const r=fe(4n*e*t*t);const a=fe(3n*e*e);const s=fe(a*a-2n*r);return[s,fe(a*(r-s)-8n*t**4n),fe(2n*t*n)]}o(Ap,"dbl");function Tp(e,t){if(e[2]===0n)return t;if(t[2]===0n)return e;const n=fe(e[2]*e[2]);const r=fe(t[2]*t[2]);const a=fe(e[0]*r);const s=fe(t[0]*n);const i=fe(e[1]*t[2]*r);const c=fe(t[1]*e[2]*n);if(a===s)return i===c?Ap(e):lu;const d=fe(s-a);const l=fe(c-i);const u=fe(d*d);const p=fe(d*u);const b=fe(l*l-p-2n*a*u);return[b,fe(l*(a*u-b)-i*p),fe(d*e[2]*t[2])]}o(Tp,"add");function wp(e,t){let n=lu;let r=e;while(t>0n){if(t&1n)n=Tp(n,r);r=Ap(r);t>>=1n}return n}o(wp,"mul");function Hm([e,t,n]){if(n===0n)return void 0;const r=Dm(n);return[fe(e*r*r),fe(t*r*r*r)]}o(Hm,"affine");var Qi=o(e=>BigInt(`0x${h(e)||"0"}`),"big");var xp=o((...e)=>Ei(E(...e)),"sha");function Vm(e,...t){const n=xp(new TextEncoder().encode(e));return xp(n,n,...t)}o(Vm,"taggedHash");function Pp(e,t,n){if(e.length!==32||t.length!==32||n.length!==64)return false;const r=Qi(e);if(r>=Wr)return false;const a=fe(r**3n+7n);let s=Sp(a,(Wr+1n)/4n);if(fe(s*s)!==a)return false;if(s&1n)s=Wr-s;const i=Qi(n.subarray(0,32));const c=Qi(n.subarray(32));if(i>=Wr||c>=kp)return false;const d=fe(Qi(Vm("BIP0340/challenge",n.subarray(0,32),e,t)),kp);const l=Hm(Tp(wp([jm,Fm,1n],c),wp([r,fe(-s),1n],d)));return l!==void 0&&(l[1]&1n)===0n&&l[0]===i}o(Pp,"schnorrVerify");var uo=1;var Gm=2;var qm=4;var Wm=128;var zm=[1,2,4,129,130,132];var Jm=new TextEncoder().encode("TransactionSigningHash");var io=new Uint8Array(32);var Xm="00".repeat(20);var Ht=class extends Error{static{o(this,"SighashError")}constructor(t){super(t);this.name="SighashError"}};var zr=o(e=>va(e,{outLen:32,key:Jm}),"hash");function nc(e,t,n){let r=BigInt(e);if(r<0n||r>=1n<<BigInt(8*t))throw new Ht(`${n} ${String(e)} does not fit in ${t} bytes`);const a=new Uint8Array(t);for(let s=0;s<t;s++){a[s]=Number(r&0xffn);r>>=8n}return a}o(nc,"uint");var Zi=o((e,t)=>nc(e,1,t),"u8");var ec=o((e,t)=>nc(e,2,t),"u16");var Cp=o((e,t)=>nc(e,4,t),"u32");var Jr=o((e,t)=>nc(e,8,t),"u64");var fu=o(e=>E(Jr(e.length,"length"),e),"varBytes");function co(e,t,n){if(!/^([0-9a-f]{2})*$/i.test(e))throw new Ht(`${n} is not hex`);const r=_(e);if(t!==void 0&&r.length!==t)throw new Ht(`${n} must be ${t} bytes, got ${r.length}`);return r}o(co,"hex");function tc(e){const t=co(e,void 0,"scriptPublicKey");if(t.length<2)throw new Ht("scriptPublicKey shorter than its version");return{version:t[0]|t[1]<<8,script:t.subarray(2)}}o(tc,"splitScriptPublicKey");var pu=o(e=>(e&Wm)!==0,"anyoneCanPay");var Ep=o(e=>(e&127)===Gm,"isNone");var Op=o(e=>(e&127)===qm,"isSingle");function bu(e,t,n=uo){if(!zm.includes(n))throw new Ht(`invalid sighash type 0x${n.toString(16)}`);const r=Number(e.version);const{inputs:a,outputs:s}=e;const i=a[t];if(!Number.isInteger(t)||i===void 0)throw new Ht(`no input ${t} of ${a.length}`);if(!i.utxo)throw new Ht(`input ${t} has no UTXO entry`);const c=pu(n)?io:zr(E(...a.map((w,S)=>E(co(w.transactionId,32,`input ${S} transactionId`),Cp(w.index,`input ${S} index`)))));const d=Op(n)||pu(n)||Ep(n)?io:zr(E(...a.map((w,S)=>Jr(w.sequence,`input ${S} sequence`))));const l=pu(n)?io:zr(E(...a.map((w,S)=>Zi(w.sigOpCount??0,`input ${S} sigOpCount`))));const u=o((w,S)=>{const A=tc(w.scriptPublicKey);const P=[Jr(w.value,`output ${S} value`),ec(A.version,`output ${S} spk version`),fu(A.script)];if(r>=1){P.push(Zi(w.covenant?1:0,"hasCovenant"));if(w.covenant)P.push(ec(w.covenant.authorizingInput,`output ${S} authorizingInput`),co(w.covenant.covenantId,32,`output ${S} covenantId`))}return E(...P)},"hashOutput");let p;if(Ep(n))p=io;else if(Op(n))p=t>=s.length?io:zr(u(s[t],t));else p=zr(E(...s.map(u)));const b=co(e.subnetworkId,20,"subnetworkId");const g=co(e.payload??"",void 0,"payload");const m=e.subnetworkId.toLowerCase()===Xm&&g.length===0?io:zr(fu(g));const y=tc(i.utxo.scriptPublicKey);const k=[ec(r,"version"),c,d];if(r<1)k.push(l);k.push(co(i.transactionId,32,`input ${t} transactionId`),Cp(i.index,`input ${t} index`),ec(y.version,"spk version"),fu(y.script),Jr(i.utxo.amount,"amount"),Jr(i.sequence,"sequence"));if(r<1)k.push(Zi(i.sigOpCount??0,"sigOpCount"));k.push(p,Jr(e.lockTime,"lockTime"),b,Jr(e.gas,"gas"),m,Zi(n,"hashType"));return h(zr(E(...k)))}o(bu,"sighash");function _p(e,t,n=uo){return bu(JSON.parse(e),t,n)}o(_p,"sighashOfTxJson");var Ip=1;var te=class extends Error{static{o(this,"FinalizeError")}constructor(t){super(t);this.name="FinalizeError"}};function Lp(e,t){const n=JSON.parse(e.serializeToSafeJSON());if(n.inputs.length!==t.length)throw new te(`covenant ids for ${t.length} inputs, transaction has ${n.inputs.length}`);n.inputs.forEach((r,a)=>{const s=t[a];if(s===void 0)return;if(!r.utxo)throw new te(`input ${a} has no UTXO entry to carry its covenant id`);r.utxo.covenantId=s});return JSON.stringify(n)}o(Lp,"safeJsonWithCovenantIds");function Rp(e,t){const n=at(Rn(e.tx)).txid;if(n!==e.tx.id||n!==e.txid)throw new te(`${e.plan.name}: txidV1 ${n}, SDK ${e.tx.id}, assembled ${e.txid}`);const r=e.inputsToSign.map(({index:a,slot:s})=>{if(s.kind==="p2pk")return{index:a,kind:"p2pk",sighashType:1};return{index:a,kind:s.kind==="token-leader"?"p2sh-leader":"p2sh-delegator",sighashType:1,signatureOffset:s.offset}});for(const a of t.produces){if(!Number.isInteger(a.index)||a.index<0||a.index>=e.outputs.length)throw new te(`${e.plan.name}: produces names output ${a.index} of ${e.outputs.length}`)}return{txJson:Lp(e.tx,e.plan.inputs.map(a=>a.covenantId)),txid:e.txid,masses:e.masses,feeSompi:e.fee,feerate:t.feerate,inputsToSign:r,budgets:[...e.budgets],consumes:e.plan.inputs.map(a=>({txid:a.outpoint.txid,index:a.outpoint.index})),produces:t.produces,optimistic:t.optimistic}}o(Rp,"toBuiltTx");function rc(e){const t=JSON.parse(e);return{inputs:t.inputs.map((n,r)=>{if(!n.utxo||n.utxo.amount===void 0||n.utxo.scriptPublicKey===void 0)throw new te(`input ${r} has no UTXO entry`);return{sigScriptLength:(n.signatureScript??"").length/2,computeBudget:Number(n.computeBudget??0),amount:BigInt(n.utxo.amount),spkLength:$p(n.utxo.scriptPublicKey),hasCovenant:typeof n.utxo.covenantId==="string"&&n.utxo.covenantId.length>0}}),outputs:t.outputs.map(n=>({value:BigInt(n.value),spkLength:$p(n.scriptPublicKey),hasCovenant:n.covenant!==null&&n.covenant!==void 0})),payloadLength:(t.payload??"").length/2}}o(rc,"shapeOfSafeJson");function $p(e){if(e.length<4||e.length%2!==0)throw new te(`malformed scriptPublicKey ${e.slice(0,16)}`);return e.length/2-2}o($p,"spkScriptLength");function Ym(e,t,n,r){if(t.length===66&&t[0]===65)return ro(t);if(t.length===e.length){if(!M(t.subarray(0,n),e.subarray(0,n))||!M(t.subarray(n+Ce),e.subarray(n+Ce))){throw new te(`input ${r}: the returned script differs from the prebuilt one outside the signature slot`)}return t.subarray(n,n+Ce)}throw new te(`input ${r}: unexpected wallet answer of ${t.length} bytes for a P2SH input`)}o(Ym,"p2shSignature");function Qm(e){if(e===void 0||e.length!==4+68)return void 0;const t=_(e.slice(4));return t[0]===32&&t[33]===172?t.subarray(1,33):void 0}o(Qm,"p2pkKeyOf");function Up(e,t,n={}){const r=Nn();const a=r.Transaction.deserializeFromSafeJSON(e.txJson);let s;try{s=r.Transaction.deserializeFromSafeJSON(t)}catch(w){throw new te(`signed transaction does not parse: ${w.message}`)}const i=at(Rn(s)).txid;if(i!==e.txid)throw new te(`signed transaction has txid ${i}, built ${e.txid}: the wallet changed outpoints, outputs, bindings or payload`);const c=a.inputs;const d=s.inputs;if(d.length!==c.length||d.length!==e.budgets.length)throw new te("input count changed");const l=new Map(e.inputsToSign.map(w=>[w.index,w]));for(const w of e.inputsToSign)if(w.index<0||w.index>=c.length)throw new te(`inputsToSign names input ${w.index} of ${c.length}`);const u=c.map((w,S)=>{const A=_(w.signatureScript??"");const P=_(d[S].signatureScript??"");const $=l.get(S);if($===void 0){if(!M(A,P))throw new te(`input ${S}: the wallet changed a sigscript it was not asked to sign`);return A}if($.kind==="p2pk"){if(P.length!==66||P[0]!==65)throw new te(`input ${S}: P2PK signature script must be 41 || sig64 || hashtype, got ${P.length} bytes`);if(P[65]!==Ip)throw new te(`input ${S}: hashtype 0x${P[65].toString(16)} is not SIGHASH_ALL`);if(P.subarray(1,65).every(R=>R===0))throw new te(`input ${S}: unsigned`);return P}const L=$.signatureOffset;if(L===void 0)throw new te(`input ${S}: ${$.kind} without a signature offset`);if(A.subarray(L,L+Ce).some(R=>R!==0))throw new te(`input ${S}: prebuilt slot at ${L} is not zero-filled`);const U=Ym(A,P,L,S);if(U[64]!==Ip)throw new te(`input ${S}: hashtype 0x${U[64].toString(16)} is not SIGHASH_ALL`);if(U.subarray(0,64).every(R=>R===0))throw new te(`input ${S}: unsigned`);const z=gs(A,L,U);if(!M(z.subarray(0,L),A.subarray(0,L))||!M(z.subarray(L+Ce),A.subarray(L+Ce))){throw new te(`input ${S}: splice moved bytes outside the slot`)}return z});const p=JSON.parse(e.txJson).inputs.map(w=>w.utxo?.scriptPublicKey);const b=n.signer===void 0?void 0:_(n.signer);for(const w of e.inputsToSign){const S=b??(w.kind==="p2pk"?Qm(p[w.index]):void 0);if(S===void 0)continue;const A=w.kind==="p2pk"?1:w.signatureOffset;const P=u[w.index].subarray(A,A+64);if(!Pp(S,_(_p(e.txJson,w.index)),P)){throw new te(`input ${w.index}: the wallet returned an invalid signature`)}}c.forEach((w,S)=>{w.signatureScript=h(u[S]);w.computeBudget=e.budgets[S]});a.inputs=c;a.finalize();const g=at(Rn(a)).txid;if(g!==a.id||g!==e.txid)throw new te(`after finalize: txidV1 ${g}, SDK ${a.id}, built ${e.txid}`);const m=JSON.parse(e.txJson).inputs.map(w=>typeof w.utxo?.covenantId==="string"?w.utxo.covenantId:void 0);const y=Lp(a,m);const k=Un(rc(y));if(k.max!==e.masses.max||k.bytes!==e.masses.bytes||k.compute!==e.masses.compute||k.storage!==e.masses.storage){throw new te(`final masses ${JSON.stringify({...k,minFee:String(k.minFee)})} differ from the built masses`)}return{...e,txJson:y,masses:k}}o(Up,"finalizeSigned");async function ac(e,t,n={}){return Up(e,t,n)}o(ac,"finalize");function Np(e){const t=rc(e.txJson);if(t.inputs.length!==e.budgets.length)throw new te("budgets do not match the inputs");const n=Un({...t,inputs:t.inputs.map((r,a)=>({...r,computeBudget:e.budgets[a]}))});return{masses:n,feeSompi:n.minFee}}o(Np,"estimateBuilt");function Z8(e){return e.flatMap((t,n)=>t===void 0?[]:[{index:n,role:t}])}o(Z8,"rolesByIndex");function e3(e,t){const n=Nn();const r=n.Transaction.deserializeFromSafeJSON(e.txJson);const a=r.inputs;for(const s of e.inputsToSign){if(s.kind!=="p2pk")throw new te(`input ${s.index} is a ${s.kind} slot: a service key signs P2PK funding inputs only`);const i=ro(n.createInputSignature(r,s.index,t,n.SighashType.All));a[s.index].signatureScript=h(Uint8Array.of(65,...i))}r.inputs=a;return Up(e,r.serializeToSafeJSON())}o(e3,"signBuiltWithKey");function Bp(e){const t=rc(e);const n=t.inputs.reduce((a,s)=>a+s.amount,0n);const r=t.outputs.reduce((a,s)=>a+s.value,0n);return{fee:n-r,totalIn:n,totalOut:r,masses:Un(t),budgets:t.inputs.map(a=>a.computeBudget)}}o(Bp,"feeFromBytes");function Kp(e,t=nr,n=0n){if(e.fee<e.masses.minFee)return`the fee ${e.fee} sompi is below the model minimum ${e.masses.minFee} for mass ${e.masses.max}`;const r=BigInt(e.masses.max)*t+n;if(e.fee>r)return`the fee ${e.fee} sompi is above ${r} (mass ${e.masses.max} at ${t} sompi/g${n>0n?` + ${n}`:""})`;if(e.fee>Br(e.masses.minFee))return`the fee ${e.fee} sompi is above the builder's ceiling ${Br(e.masses.minFee)}`;return void 0}o(Kp,"feeOutsideModel");var Zm=100000000n;var eg=10n*Zm;var Mp=1000000n;var tg=`000020${"22".repeat(32)}ac`;function ng(e,t,n){const r=es(t,"the claim planner");const a=e==="curve"?Xi(r,n):Yi(r,n);return{treasury:a.treasury,creator:a.creator}}o(ng,"claimSplit");function rg(e){if(e.creatorSpk===void 0)return"no-creator";if(e.creatorSpk===tg)return"placeholder";if(e.venue==="curve"&&e.soldOut===true)return"sold-out";const t=e.venue==="pool"?e.accruedSompi/Mp*Mp:e.accruedSompi;if(t<eg)return"below-minimum";return null}o(rg,"claimRefusal");function f3(e){const t=[];const n=[];for(const r of e){const a=rg(r);if(a!==null){n.push({cell:r,reason:a});continue}const s=ng(r.venue,r.contractSet,r.accruedSompi);t.push({cell:r,payoutSompi:r.accruedSompi,treasurySompi:s.treasury,creatorSompi:s.creator})}return{plans:t,skipped:n,totalCreatorSompi:t.reduce((r,a)=>r+a.creatorSompi,0n)}}o(f3,"planClaims");var Oe=class extends Error{static{o(this,"ClaimMismatch")}constructor(t){super(`the built sweep does not match the claim: ${t}`);this.name="ClaimMismatch"}};function ag(e,t,n){let r;try{r=JSON.parse(t.txJson).outputs??[]}catch{throw new Oe("its JSON does not parse")}let a;try{a=Bp(t.txJson)}catch(y){throw new Oe(`its inputs or outputs do not parse (${y.message})`)}if(a.fee!==t.feeSompi)throw new Oe(`it pays a fee of ${a.fee} sompi, the build said ${t.feeSompi}`);const s=Kp(a,n.feerate);if(s!==void 0)throw new Oe(s);const i=`0000${h(Z(n.funder))}`;const c=o((y,k,w,S)=>{const A=t.produces.filter(L=>L.role===y);if(A.length!==1)throw new Oe(A.length===0?`it has no ${S} output`:`it has ${A.length} ${S} outputs`);const P=A[0].index;const $=r[P];if($?.value===void 0||$.scriptPublicKey===void 0)throw new Oe(`output ${P} is missing`);if(w!==void 0&&$.scriptPublicKey!==w)throw new Oe(`output ${P} pays ${$.scriptPublicKey}, the ${S} is ${w}`);if(BigInt($.value)!==k)throw new Oe(`output ${P} pays ${String($.value)} sompi, the plan ${k}`)},"check");if(e.cell.creatorSpk===void 0)throw new Oe("the plan names no creator");c("creator",e.creatorSompi,e.cell.creatorSpk,"creator");c("treasury",e.treasurySompi,void 0,"treasury");const d=r.map((y,k)=>({o:y,k})).filter(({o:y})=>y.covenant!==null&&y.covenant!==void 0);const l=e.cell.covenantId.toLowerCase();for(const{o:y,k}of d){const w=String(y.covenant.covenantId??"").toLowerCase();if(w!==l)throw new Oe(`output ${k} is bound to covenant ${w}, not the swept cell ${l}`)}if(d.length!==1)throw new Oe(`${d.length} outputs are bound to the swept cell; a sweep has one continuation`);const u=d[0].k;const p=o(y=>t.produces.find(k=>k.role===y)?.index,"indexOf");if(p("treasury")!==u+1||p("creator")!==u+2){throw new Oe(`the payouts are at outputs ${p("treasury")} and ${p("creator")}, the covenant pins them at ${u+1} and ${u+2}`)}const b=new Map(t.produces.map(y=>[y.index,y.role]));let g=0;let m=0n;for(const[y,k]of r.entries()){if(k.value===void 0||k.scriptPublicKey===void 0)throw new Oe(`output ${y} is malformed`);if(k.covenant!==null&&k.covenant!==void 0)continue;const w=b.get(y);if(w==="change"){if(k.scriptPublicKey!==i)throw new Oe(`the change output ${y} does not pay the funder`);g++;continue}if(w!=="treasury"&&w!=="creator")throw new Oe(`output ${y} is neither a payee nor the change: an output pays neither a payee nor the funder`);m+=BigInt(k.value)}if(g>1)throw new Oe(`${g} change outputs pay the funder`);if(m!==e.payoutSompi)throw new Oe(`the payouts total ${m} sompi, the plan ${e.payoutSompi}: an output pays neither a payee nor the funder`)}o(ag,"checkClaimTx");async function p3(e,t,n){const r=[];for(const a of t){const s=await e({covenantId:a.cell.covenantId,venue:a.cell.venue,funder:n});ag(a,s,{funder:n});r.push({plan:a,tx:s})}return{claims:r,totalFeeSompi:r.reduce((a,s)=>a+s.tx.feeSompi,0n),totalCreatorSompi:r.reduce((a,s)=>a+s.plan.creatorSompi,0n)}}o(p3,"buildClaims");var ze=class extends Error{static{o(this,"OptimisticConflict")}constructor(t){super(t);this.name="OptimisticConflict"}};function og(e){if(e.curve)return{kind:"curve",covenantId:e.curve.covenantId,outpoint:e.curve.toOutpoint};if(e.pool)return{kind:"pool",covenantId:e.pool.poolId,outpoint:e.pool.toOutpoint};const t=e.genesis?.[0];return t?{kind:t.kind,covenantId:t.covenantId,outpoint:t.outpoint}:void 0}o(og,"predictedHeadOf");function sg(e){return[...e.curve?[e.curve.fromOutpoint]:[],...e.pool?[e.pool.fromOutpoint]:[],...e.cells.consumed,...(e.terminated??[]).map(t=>t.outpoint)]}o(sg,"consumedByDelta");var jp=class{static{o(this,"OptimisticStore")}#e=new Map;pending(){return[...this.#e.values()]}get(t){return this.#e.get(t)}apply(t,n){if(this.#e.has(t.txid))throw new ze(`${t.txid} is already applied`);const r=t.consumes.map(d=>({txid:d.txid,index:d.index}));const a=new Set(r.map(B));if(a.size!==r.length)throw new ze(`${t.txid} consumes an outpoint twice`);for(const d of sg(t.optimistic)){if(!a.has(B(d)))throw new ze(`${t.txid}: the delta consumes ${B(d)}, which the transaction does not spend`)}for(const d of t.optimistic.funding.reserved){if(!a.has(B(d))&&d.txid!==t.txid)throw new ze(`${t.txid}: reserves ${B(d)}, neither spent nor produced by it`)}for(const d of this.#e.values()){const l=d.consumes.find(u=>a.has(B(u)));if(l)throw new ze(`${t.txid} spends ${B(l)}, already spent by our ${d.txid}`)}const s=[...new Set(r.filter(d=>this.#e.has(d.txid)).map(d=>d.txid))];const i=og(t.optimistic);const c={txid:t.txid,status:"pending",consumes:r,...i?{predictedHead:i}:{},submittedAt:n,dependsOn:s,delta:t.optimistic};this.#e.set(t.txid,c);return c}commit(t){const n=this.#n(t);if(n.dependsOn.some(r=>this.#e.get(r)?.status==="pending"))throw new ze(`${t} accepted before a transaction it spends`);if(n.status==="pending")this.#e.set(t,{...n,status:"accepted"})}drop(t){const n=this.#n(t);if(n.status!=="accepted")throw new ze(`${t} is dropped before acceptance`);this.#e.delete(t);for(const[r,a]of this.#e)if(a.dependsOn.includes(t))this.#e.set(r,{...a,dependsOn:a.dependsOn.filter(s=>s!==t)})}rollback(t){const n=this.#n(t);if(n.status==="accepted")throw new ze(`${t} was accepted; an accepted transaction is not rolled back`);const r=new Set([t]);for(const s of this.#e.values())if(s.dependsOn.some(i=>r.has(i)))r.add(s.txid);const a=[t,...[...this.#e.keys()].filter(s=>s!==t&&r.has(s))];for(const s of a)this.#e.delete(s);return a}replace(t,n,r){const a=this.#n(t);if(a.status!=="pending")throw new ze(`${t} is not pending`);const s=a.consumes.map(B).sort();const i=n.consumes.map(B).sort();if(s.length!==i.length||s.some((d,l)=>d!==i[l]))throw new ze("a replacement must spend the same outpoints");const c=this.rollback(t);try{this.apply(n,r)}catch(d){this.#e.set(t,a);throw d}return c.slice(1)}reserved(){const t=new Set;for(const n of this.#e.values()){for(const r of n.consumes)t.add(B(r));for(const r of n.delta.funding.reserved)t.add(B(r))}return t}curveHead(t,n){return this.#a("curve",t,n)}poolHead(t,n){return this.#a("pool",t,n)}tokenCells(t){const n=this.#r();const r=t.filter(s=>!n.has(B(s.outpoint)));const a=new Set(r.map(s=>B(s.outpoint)));for(const s of this.#e.values()){for(const i of s.delta.cells.produced){const c=B(i.outpoint);if(!n.has(c)&&!a.has(c)){r.push({outpoint:i.outpoint,state:i.state,amount:i.amount});a.add(c)}}}return r}fundingView(t,n,r=0n){const a=this.reserved();const s=t.filter(c=>!a.has(B(c.outpoint)));const i=new Set(s.map(c=>B(c.outpoint)));for(const c of this.#e.values()){const d=c.delta.funding.change;if(!d)continue;const l=B(d.outpoint);if(a.has(l)||i.has(l))continue;s.push({outpoint:d.outpoint,amount:d.amount,spk:n.spk,daaScore:r,address:n.address});i.add(l)}return s}onHead(t){const n=[];const r=this.#e.get(t.createdBy);if(r){this.commit(t.createdBy);n.push(t.createdBy)}return{accepted:n,lost:this.#t(t.createdBy,t.consumed)}}onConflict(t){return this.#t(t.winnerTxid,[t.outpoint])}#t(t,n){const r=new Set(n.map(B));const a=[];for(const s of[...this.#e.values()]){if(s.txid===t||s.status!=="pending"||!this.#e.has(s.txid))continue;if(s.consumes.some(i=>r.has(B(i))))a.push(...this.rollback(s.txid))}return a}#n(t){const n=this.#e.get(t);if(!n)throw new ze(`${t} is not a live row`);return n}#r(){const t=new Set;for(const n of this.#e.values())for(const r of n.consumes)t.add(B(r));return t}#a(t,n,r){let a=r;const s=[];if(a===void 0){for(const i of this.#e.values()){const c=i.delta.genesis?.find(d=>d.kind===t&&d.covenantId===n);if(c){a={outpoint:c.outpoint,state:c.state,amount:c.amount};s.push(i.txid);break}}if(a===void 0)return void 0}for(let i=0;i<=this.#e.size;i++){const c=B(a.outpoint);let d;for(const l of this.#e.values()){const u=t==="curve"?l.delta.curve:l.delta.pool;const p=u===void 0?void 0:"covenantId"in u?u.covenantId:u.poolId;if(u&&p===n&&B(u.fromOutpoint)===c){d={row:l,cell:{outpoint:u.toOutpoint,state:u.state,amount:u.amount}};break}if(l.delta.terminated?.some(b=>b.kind===t&&b.covenantId===n&&B(b.outpoint)===c))return void 0}if(d===void 0)return{...a,via:s};s.push(d.row.txid);a=d.cell}throw new ze(`${t} ${n}: the predicted chain loops`)}};var Fe=class extends Error{static{o(this,"TokenRecipientRefused")}outputIndex;constructor(t,n){super(`token recipients refused${t===void 0?"":` at output ${t}`}: ${n}`);this.name="TokenRecipientRefused";this.outputIndex=t}};var Ss=o(e=>e.toLowerCase(),"lower");function x3(e,t,n){const r=new Set(t.covenantOwners.map(Ss));const a=typeof t.userXOnly==="string"?_(t.userXOnly):t.userXOnly;if(a.length!==32)throw new Fe(void 0,"the user key is not a 32-byte x-only key");for(const{index:s,owner:i}of Fp(e,t.tokenIds,n)){if(i.schemeByte===Xs){if(!M(i.identifier,a))throw new Fe(s,`tokens go to key ${h(i.identifier)}, not the connected key`)}else if(i.schemeByte===vt){if(!r.has(h(i.identifier)))throw new Fe(s,`tokens go to covenant ${h(i.identifier)}, which this transaction does not name`)}else{throw new Fe(s,`owner scheme 0x${i.schemeByte.toString(16).padStart(2,"0")} is neither the connected key nor a named covenant`)}}}o(x3,"checkTokenRecipients");function S3(e,t,n,r){const a=new Set(n.map(s=>`${s.scheme}:${Ss(s.identifier)}`));for(const{index:s,owner:i}of Fp(e,t,r)){const c=`${i.schemeByte}:${h(i.identifier)}`;if(!a.has(c)){throw new Fe(s,`tokens go to owner ${h(i.identifier)} under scheme 0x${i.schemeByte.toString(16).padStart(2,"0")}, which this transaction does not name`)}}}o(S3,"checkTokenOwners");function Fp(e,t,n){const r=new Set(t.map(Ss));let a;try{const c=JSON.parse(e.txJson);if(!Array.isArray(c.outputs))throw new Error("no outputs");a=c.outputs}catch{throw new Fe(void 0,"the transaction does not parse")}const s=new Map;for(const c of e.optimistic.cells.produced){if(c.outpoint.txid!==e.txid)throw new Fe(c.outpoint.index,"a produced cell names another transaction");if(s.has(c.outpoint.index))throw new Fe(c.outpoint.index,"two cells claim the same output");s.set(c.outpoint.index,c)}a.forEach((c,d)=>{const l=typeof c.covenant?.covenantId==="string"&&r.has(Ss(c.covenant.covenantId));if(l&&!s.has(d))throw new Fe(d,"a token output that no produced cell explains")});const i=[];for(const[c,d]of s){const l=a[c];if(l===void 0)throw new Fe(c,"a produced cell claims an output the transaction does not have");const u=l.covenant?.covenantId;if(typeof u!=="string"||!r.has(Ss(u)))throw new Fe(c,"a produced cell claims an output that is not bound to the token");let p;try{p=Ya(n,d.state)}catch(g){throw new Fe(c,`the claimed state does not encode: ${g instanceof Error?g.message:String(g)}`)}const b=typeof l.scriptPublicKey==="string"&&/^0000([0-9a-f]{2})+$/i.test(l.scriptPublicKey)?_(l.scriptPublicKey.slice(4)):null;if(b===null||!M(b,ie(p)))throw new Fe(c,"the output script is not the claimed token state");i.push({index:c,owner:d.state.owner})}return i}o(Fp,"claimedTokenOutputs");var Xr=class extends Error{static{o(this,"CovenantCellNotFound")}role;expectedAmount;candidates;constructor(t,n,r){super(`no live ${t} cell holding ${n} tokens among ${r} covenant-owned candidate(s)`);this.name="CovenantCellNotFound";this.role=t;this.expectedAmount=n;this.candidates=r}};var ig="00".repeat(32);function oc(e,t,n){if(e.covenantId!==t||!Mt(e.state,n))return false;try{return ti(e.state)===rr&&h(ni(e.state))===ig}catch{return false}}o(oc,"isCovenantVaultCell");function Dp(e){const t=new Set;const n=[];for(const r of e){const a=B(r.outpoint);if(t.has(a))continue;t.add(a);n.push(r)}return n}o(Dp,"distinct");function Hp(e,t,n,r,a=false){const s=Dp(e).filter(d=>oc(d,t,n));const i=s.find(d=>d.state.amount===r.supply);if(i===void 0)throw new Xr("supply",r.supply,s.length);const c=s.find(d=>d!==i&&d.state.amount===r.reserve);if(c===void 0&&a)throw new Xr("reserve",r.reserve,s.length);return{supply:i,reserve:c}}o(Hp,"selectCurveCells");function Vp(e,t,n,r){const a=Dp(e).filter(i=>oc(i,t,n));const s=a.find(i=>i.state.amount===r);if(s===void 0)throw new Xr("pool-reserve",r,a.length);return s}o(Vp,"selectPoolReserve");var Je=ve/10n;var Gp=os;var lo=2010000n;var ar=class extends Error{static{o(this,"FloorViolation")}rule;outputIndex;constructor(t,n,r){super(r);this.name="FloorViolation";this.rule=t;this.outputIndex=n}};function cg(e,t){for(const n of t){const r=`${e}: output ${n.index} "${n.label}"`;if(n.covenantId===void 0){if(n.value<lo)throw new ar("p2pk-output",n.index,`${r} of ${n.value} sompi is below the P2PK floor ${lo}`);continue}if(n.value<Gp)throw new ar("covenant-output",n.index,`${r} of ${n.value} sompi is below the covenant output floor ${Gp} (unminable)`);if(n.token===void 0)continue;try{Bo(n.token.state,_(n.covenantId),r)}catch(a){if(a instanceof Q)throw new ar("self-owned",n.index,a.message);throw a}if(n.token.ownerScheme!==vt&&n.value<Je){throw new ar("user-cell",n.index,`${r} is a user cell of ${n.value} sompi, below the ${Je} sompi minimum`)}}}o(cg,"assertOutputFloors");function qp(e){cg(e.plan.name,e.outputs.map(t=>{const n=t.binding?.covenantId??t.cell?.covenantId;const r=t.cell?.predicted.kind==="token"?{ownerScheme:t.cell.predicted.state.owner.schemeByte,state:t.cell.predicted.state}:void 0;return{index:t.index,label:t.label,value:t.value,covenantId:n,token:r}}))}o(qp,"assertFloors");var Yr=class extends Error{static{o(this,"InsufficientFundsError")}needed;available;fragmented;total;constructor(t,n,r=false,a){super(r?`insufficient funds in at most the allowed inputs: need ${t} sompi, ${n} available in the largest UTXOs (${a} in all): combine UTXOs first`:`insufficient funds: need ${t} sompi, ${n} available`);this.name="InsufficientFundsError";this.needed=t;this.available=n;this.fragmented=r;this.total=a}};var dg=5000000n;var ug=ve;var lg=3;var fg=8;var pg=60;var bg=130000n;var Ts=class extends Error{static{o(this,"PinnedFundingGone")}outpoints;constructor(t){super(`pinned funding no longer available: ${t.join(", ")}`);this.name="PinnedFundingGone";this.outpoints=t}};var mg=o((e,t)=>e.amount<t.amount?1:e.amount>t.amount?-1:0,"byAmountDesc");var As=o(e=>e.reduce((t,n)=>t+n.amount,0n),"sum");function or(e,t,n={}){if(t<0n)throw new Error("needed must be non-negative");const r=n.feeAllowance??dg;const a=n.maxInputs??lg;if(!Number.isInteger(a)||a<1)throw new Error("maxInputs must be a positive integer");const s=n.preferredChange??ug;const i=n.minChange??Wf;const c=n.reserved??new Set;const d=t+r;const l=Math.max(a,n.escalateTo??fg);const u=Math.max(l,n.escalateMax??pg);const p=[...new Set([a,l,u])];const b=o(A=>d+BigInt(Math.max(0,A-a))*bg,"need");const g=new Set;const m=e.filter(A=>{const P=B(A.outpoint);if(c.has(P)||g.has(P))return false;g.add(P);return A.amount>0n}).sort(mg);const y=n.required??new Set;if(y.size>0){const A=m.filter(L=>y.has(B(L.outpoint)));const P=[...y].filter(L=>!A.some(U=>B(U.outpoint)===L));if(P.length>0)throw new Ts(P);if(A.length>u)throw new Error(`${A.length} required funding inputs exceed ${u}`);const $=m.filter(L=>!y.has(B(L.outpoint)));for(const L of p.filter(U=>U>=A.length)){for(const U of[s,i,0n]){const z=[...A];for(const R of[void 0,...$]){if(R!==void 0){if(z.length>=L)break;z.push(R)}if(As(z)>=b(z.length)+U)return z}}}throw new Yr(d,As([...A,...$].slice(0,u)))}const k=m.filter(A=>A.amount>=d+s);if(k.length>0)return[k[k.length-1]];for(const A of p){for(const P of[s,i,0n]){const $=[];for(const L of m){if($.length>=A)break;$.push(L);if(As($)>=b($.length)+P)return $}}}const w=As(m);const S=As(m.slice(0,u));throw w>=d?new Yr(d,S,true,w):new Yr(d,S)}o(or,"selectFunding");function K3(e){return new Set(e.map(B))}o(K3,"reserve");function Wp(e,t,n,r){return{outpoint:e,amount:t,spk:n,daaScore:0n,address:r}}o(Wp,"predictedFunding");function sr(e,t=on,n=We,r){const a=us(n,r);const s=Fi(e,a);return{curve:s,pool:a,token:Di(),networkId:t}}o(sr,"createContext");function Ne(e){if(e.curve.version!==e.pool.version)throw new Error(`context mixes a ${e.curve.version} curve with a ${e.pool.version} pool`);return e.curve.version}o(Ne,"contextSet");function Ze(e){const t=Ne(e);return t==="v1"&&Kn(e.pool)?Mi:_d(t)}o(Ze,"budgetsOf");function _e(e){Ne(e);return"uncapped"}o(_e,"poolLimitsOf");function fo(e){return zp(e.pool)}o(fo,"poolRoundingOf");var gg=Object.freeze(["v1-2026-10-18-final","v1-kasseal-mainnet-tn10","v1-kasseal-mainnet","v1-kasseal-mainnet-2-tn10","v1-kasseal-mainnet-2","v1-kasseal-mainnet-3-tn10","v1-kasseal-mainnet-3"]);function zp(e){return e.version==="v1"&&(e.revision===void 0||gg.includes(e.revision))?"nearest":"floor"}o(zp,"poolTemplateRounding");function po(e){const t=Ne(e);if(t==="v1")return Kn(e.pool)?Mi:is;throw new Error(`a ${t} context has no bindLp / addLiquidity / removeLiquidity budgets`)}o(po,"budgetsV3Of");function bo(e,t,n,r,a){return{label:t,outpoint:e.outpoint,amount:e.value,spk:ie(e.program),daaScore:e.daaScore,covenantId:e.covenantId,budget:n,sigscript:r,signature:a,cellKind:e.kind}}o(bo,"cellInput");function ln(e,t,n,r){const a=Fd(e.program,t);return bo(e,n,r,a.bytes,void 0)}o(ln,"tokenLeaderCovenantInput");function Ot(e,t,n,r){const a=jd(e.program,t);return bo(e,n,r,a.bytes,Jp(a,"token-leader",e))}o(Ot,"tokenLeaderSignedInput");function fn(e,t,n=xe.tokenDelegatorCovenant){return bo(e,t,n,Hd(e.program).bytes,void 0)}o(fn,"tokenDelegatorCovenantInput");function Ps(e,t,n=xe.tokenDelegatorSigned){const r=Vd(e.program);return bo(e,t,n,r.bytes,Jp(r,"token-delegator",e))}o(Ps,"tokenDelegatorSignedInput");function Jp(e,t,n){if(e.signatureOffset===void 0)throw new Error("sigscript has no signature slot");return{kind:t,offset:e.signatureOffset,signer:h(n.state.owner.identifier),sighashType:1}}o(Jp,"slotOf");function Vt(e,t,n,r){return bo(e,t,n,r,void 0)}o(Vt,"curveInput");function Gt(e,t,n,r){return bo(e,t,n,r,void 0)}o(Gt,"poolInput");function ce(e,t="funding (P2PK)"){return Zf(e,t,xe.p2pk,ys)}o(ce,"kasInput");function ne(e,t,n,r,a,s){if(a!==void 0)Bo(n,_(a),t);if(n.owner.schemeByte===vt&&a!==void 0&&h(n.owner.identifier)===a)throw new Error(`${t}: self-owned token output`);const i=Ya(e.token,n);const c={predicted:{kind:"token",state:n},program:i,covenantId:a};return{label:t,value:r,spk:ie(i),binding:a!==void 0&&s!==void 0?{authorizingInput:s,covenantId:a}:void 0,cell:c}}o(ne,"tokenOutput");function pn(e,t,n,r,a,s){const i=Qa(e.curve,n);const c={predicted:{kind:"curve",state:n},program:i,covenantId:a};return{label:t,value:r,spk:ie(i),binding:a!==void 0&&s!==void 0?{authorizingInput:s,covenantId:a}:void 0,cell:c}}o(pn,"curveOutput");function ft(e,t,n,r,a,s){const i=ls(e.pool,n);const c={predicted:{kind:"pool",state:n},program:i,covenantId:a};return{label:t,value:r,spk:ie(i),binding:a!==void 0&&s!==void 0?{authorizingInput:s,covenantId:a}:void 0,cell:c}}o(ft,"poolOutput");function Mn(e,t,n){return{label:e,value:t,spk:n,binding:void 0,cell:void 0}}o(Mn,"plainOutput");function Ie(e,t="change",n=10000000n){return{label:t,spk:e,binding:void 0,cell:void 0,minimum:0n,dropBelow:n}}o(Ie,"changeTo");function Qr(e,t="payout",n=10000000n){return{label:t,spk:e,binding:void 0,cell:void 0,minimum:n,dropBelow:void 0}}o(Qr,"payoutTo");function mu(e,t,n,r,a,s){Bo(n,_(r),t);const i=Ya(e.token,n);return{label:t,spk:ie(i),binding:{authorizingInput:a,covenantId:r},cell:{predicted:{kind:"token",state:n},program:i,covenantId:r},minimum:s,dropBelow:void 0}}o(mu,"tokenResidual");var Zr=class extends Error{static{o(this,"ProofNotBound")}verdict;operation;constructor(t,n){const r=typeof n==="string"?n:void 0;super(`${t} refused: the token's launch proof is ${r===void 0?"not supplied":`'${r}'`}, not 'bound'; C's singleton is proven only by the launch proof`);this.name="ProofNotBound";this.verdict=r;this.operation=t}};var jn=class extends Error{static{o(this,"ShapeNotSupported")}constructor(t){super(t);this.name="ShapeNotSupported"}};var ea=class extends Error{static{o(this,"LineageMismatch")}expected;actual;constructor(t,n,r){super(`${t} names token lineage ${r}, the order is for ${n}: refused`);this.name="LineageMismatch";this.expected=n;this.actual=r}};var Fn=class extends Error{static{o(this,"TokenAmountMismatch")}expected;actual;constructor(t,n,r){super(`${t} would take ${r} tokens (whole lots of the curve program), the order approved ${n}: refused`);this.name="TokenAmountMismatch";this.expected=n;this.actual=r}};var ta=class extends Error{static{o(this,"UnknownCurveTemplate")}constructor(t="curve program matches no known curve template"){super(t);this.name="UnknownCurveTemplate"}};var na=class extends Error{static{o(this,"CovenantCellValue")}cell;value;minimum;constructor(t,n,r){super(`${t}: served value ${n} sompi is below the curve's token cell value ${r}; refused`);this.name="CovenantCellValue";this.cell=t;this.value=n;this.minimum=r}};var ir=class extends Error{static{o(this,"LpUnsafe")}reason;constructor(t){super(`deposit refused: the indexer does not confirm this pool's LP invariants${t===void 0?"":` (${t})`}`);this.name="LpUnsafe";this.reason=t}};var ra=class extends Error{static{o(this,"CurveNotOfProof")}curveId;expectedCurveId;constructor(t,n){super(`curve ${t} is not the curve ${n} the launch proof names`);this.name="CurveNotOfProof";this.curveId=t;this.expectedCurveId=n}};var aa=class extends Error{static{o(this,"PoolNotOfProof")}poolId;expectedPoolId;constructor(t,n){super(`pool ${t} is not the pool ${n} the launch proof recomputes from the graduation`);this.name="PoolNotOfProof";this.poolId=t;this.expectedPoolId=n}};var cr=class extends Error{static{o(this,"NetBoundExceeded")}kind;actual;bound;feeSompi;constructor(t,n,r,a,s){super(n==="all-in"?`${t}: ${r} sompi would leave the wallet (network fee ${s}), above the ${a} shown as the most to pay`:`${t}: ${r} sompi would reach the wallet net (network fee ${s}), below the ${a} shown as the least to receive`);this.name="NetBoundExceeded";this.kind=n;this.actual=r;this.bound=a;this.feeSompi=s}};var oa=class extends Error{static{o(this,"NeedsConsolidation")}cells;transactions;constructor(t,n){super(`needs ${n} consolidation transaction(s) over ${t.length} cells first`);this.name="NeedsConsolidation";this.cells=t;this.transactions=n}};var sa=class extends Error{static{o(this,"NeedsSplit")}cell;carve;constructor(t,n){super(`needs a split of ${t.txid}:${t.index} carving ${n} first`);this.name="NeedsSplit";this.cell=t;this.carve=n}};var bn=2010000n;var f4=ve/10n;function dr(e,t,n=false){if(n)return;if(t!=="bound")throw new Zr(e,t)}o(dr,"requireProofBound");function pt(e,t,n){const r=h(t);if(n!==void 0&&r!==n.toLowerCase())throw new ea(e,n.toLowerCase(),r);return r}o(pt,"requireLineage");var ca=o(e=>(e??[]).reduce((t,n)=>t+n.amount,0n),"fundingSum");function mo(e,t,n,r){if(r!==void 0&&t>r)throw new cr(e,"all-in",t,r,n)}o(mo,"assertAllIn");function go(e,t,n,r){if(r!==void 0&&t<r)throw new cr(e,"net-out",t,r,n)}o(go,"assertNetOut");function Se(e){return Rp(e.built,{feerate:eu(e.built.plan),produces:e.roles.map((t,n)=>({index:n,role:t})),optimistic:e.optimistic})}o(Se,"toBuilt");function pe(e){return e.feerate===void 0?{feeMargin:e.feeMargin??0n}:{feeMargin:e.feeMargin??0n,feerate:e.feerate}}o(pe,"feeFields");function be(e,t,n,r={}){if(t.length!==e.outputs.length)throw new Error(`${e.name}: ${t.length} roles for ${e.outputs.length} fixed outputs`);const a=Jf(e);qp(a);const s=[...t];if(a.outputs.length>e.outputs.length){if(n===void 0)throw new Error(`${e.name}: residual output without a role`);s.push(n)}return{built:a,roles:s,optimistic:hg(a,s,r)}}o(be,"finish");var yg=new Set(["change","payout"]);function hg(e,t,n={}){const r=o(P=>({txid:e.txid,index:P}),"at");const a=[];const s=[];const i=[];const c=[];for(const P of e.plan.inputs){const $={txid:P.outpoint.txid,index:P.outpoint.index};if(P.cellKind==="vault"||P.cellKind==="deposit"||P.cellKind==="splitter"||P.cellKind==="order"||P.cellKind==="anchor"||P.cellKind==="dist-key")a.push($);else if(P.covenantId===void 0)s.push($);else if(P.cellKind==="token")a.push($);else if(P.cellKind==="curve")i.push({covenantId:P.covenantId,outpoint:$});else if(P.cellKind==="pool")c.push({covenantId:P.covenantId,outpoint:$});else throw new Error(`${e.plan.name}: covenant input "${P.label}" has no cell kind`)}const d=[];const l=[];const u=[];let p;for(const P of e.outputs){const $=P.cell?.predicted;const L=P.binding?.covenantId??P.cell?.covenantId;if($!==void 0&&L===void 0)throw new Error(`${e.plan.name}: output ${P.index} has a predicted cell but no covenant id`);const U=o(()=>Fr(L,`${e.plan.name}: covenant id of the predicted cell at output ${P.index}`),"idOf");if($?.kind==="token")d.push({outpoint:r(P.index),state:$.state,amount:P.value});else if($?.kind==="curve")l.push({covenantId:U(),outpoint:r(P.index),state:$.state,amount:P.value});else if($?.kind==="pool")u.push({covenantId:U(),outpoint:r(P.index),state:$.state,amount:P.value});else if(yg.has(t[P.index])){if(p!==void 0)throw new Error(`${e.plan.name}: more than one change output`);p={outpoint:r(P.index),amount:P.value}}}for(const P of n.reserveOutputs??[])s.push(r(P));if(i.length>1||l.length>1||c.length>1||u.length>1)throw new Error(`${e.plan.name}: more than one singleton of a kind`);const b=[];const g=[];let m;let y;const[k,w,S,A]=[i[0],l[0],c[0],u[0]];if(k&&w){if(k.covenantId!==w.covenantId)throw new Error(`${e.plan.name}: curve continuation of another lineage`);m={covenantId:k.covenantId,fromOutpoint:k.outpoint,toOutpoint:w.outpoint,state:w.state,amount:w.amount}}else if(w)b.push({kind:"curve",covenantId:w.covenantId,outpoint:w.outpoint,state:w.state,amount:w.amount});else if(k)g.push({kind:"curve",covenantId:k.covenantId,outpoint:k.outpoint});if(S&&A){if(S.covenantId!==A.covenantId)throw new Error(`${e.plan.name}: pool continuation of another lineage`);y={poolId:S.covenantId,fromOutpoint:S.outpoint,toOutpoint:A.outpoint,state:A.state,amount:A.amount}}else if(A)b.push({kind:"pool",covenantId:A.covenantId,outpoint:A.outpoint,state:A.state,amount:A.amount});else if(S)g.push({kind:"pool",covenantId:S.covenantId,outpoint:S.outpoint});return{...m?{curve:m}:{},...y?{pool:y}:{},cells:{consumed:a,produced:d},funding:p?{reserved:s,change:p}:{reserved:s},...b.length>0?{genesis:b}:{},...g.length>0?{terminated:g}:{}}}o(hg,"deltaOf");function ur(e,t){if(t.state.phase!==kt)throw new Error(`curve is in phase ${t.state.phase}, not active`);if(t.state.tokenCovId.every(n=>n===0))throw new Error("curve state has no token lineage (not initialised)");if(t.program.length!==e.curve.bytecode.length)throw new Error("curve cell program length does not match the template");return h(t.state.tokenCovId)}o(ur,"requireActiveCurve");function sc(e,t,n){const r=h(t.state.tokenCovId);if(n.covenantId!==r)throw new Error(`supply cell lineage ${n.covenantId} != curve's T ${r}`);if(!Mt(n.state,t.covenantId))throw new Error("supply cell is not owned by the curve");const a=(e.curve.params.curveLots-t.state.lotsSold)*e.curve.params.lot;if(n.state.amount!==a)throw new Error(`supply cell holds ${n.state.amount}, expected ${a} (is this the reserve cell?)`);return r}o(sc,"requireSupplyCell");function yo(e,t){const n=e.curve.params.tokenCellKas;for(const{cell:r,name:a}of t){if(r.value<n)throw new na(`${a} cell ${r.outpoint.txid}:${r.outpoint.index}`,r.value,n)}return BigInt(t.length)*n}o(yo,"curveOwnedCellValue");function mn(e,t){const n=Ne(e);const r=xa(t.state);if(r!==wa(n))throw new Error(`a ${r} pool cell in a ${n} context`);const{stateOffset:a,stateLength:s,templateHash:i}=e.pool;if(t.program.length!==e.pool.bytecode.length||Rt(t.program,a,s)!==i){throw new Error(`the pool cell's program is not this context's ${n} pool template`)}if(je(n)){const c=t.state;const d=t.value-(c.kasScaled+c.feeAccruedScaled)*le;Ee({kasScaled:c.kasScaled,tokenReserve:c.tokenReserve,feeAccruedScaled:c.feeAccruedScaled,dust:d,lpShares:c.lpShares},_e(e))}return n}o(mn,"requirePoolOfContext");function ho(e,t){const n=h(e.state.tokenCovId);if(t.covenantId!==n)throw new Error("pool token cell is not of lineage T");if(!Mt(t.state,e.covenantId))throw new Error("token cell is not pool-owned");if(t.state.amount!==e.state.tokenReserve)throw new Error(`pool token cell holds ${t.state.amount}, state says ${e.state.tokenReserve}`);const r=rt(t.state);if(r.borrowScheme!==0||r.borrowGuard.some(a=>a!==0))throw new Error("pool token cell has a borrow scheme or guard set; it is not the pool reserve");return n}o(ho,"requirePoolToken");function lr(e,t,n){if(e.covenantId!==t)throw new Error("user cell is not of lineage T");if(Mt(e.state,n))throw new Error("leader cell is owned by the venue");if(e.state.owner.schemeByte!==0)throw new Error(`user cell owner scheme ${e.state.owner.schemeByte} is not p2pk-schnorr/v1; the builder signs only key-owned leaders`)}o(lr,"requireUserCell");function Ke(e,t,n,r,a){const s=yl({inputs:t.map((i,c)=>({state:i.state,index:c,kasValue:i.value})),outputs:n.map((i,c)=>a?.[c]===void 0?{state:i,index:c}:{state:i,index:c,kasValue:a[c]}),witness:r,covenantId:_(e)});if(s.selfOwnedOutputs.length>0)throw new Error(`token output ${s.selfOwnedOutputs[0]} would be self-owned (anyone-can-spend)`)}o(Ke,"checkTokenFamily");function gu(e,t,n){if(e===void 0)throw new Error(`the template names no ${t} script`);if(n==="p2pk"?!Jt(e):!ji(e))throw new Error(`the ${t} script is not a version-0 ${n==="p2pk"?"P2PK":"P2SH"} script`);return Qf(e).script}o(gu,"payeeScript");function Xp(e){return e!==void 0&&e.length===37?"p2sh":"p2pk"}o(Xp,"treasuryForm");function Cs(e,t,n,r=false){if(r){if(e.creator!==0n)throw new Error("a treasury-only payout with a creator share");return{outputs:[Mn(n.treasury,e.treasury,gu(t.treasurySpk,"treasury",Xp(t.treasurySpk)))],roles:["treasury"]}}return{outputs:[Mn(n.treasury,e.treasury,gu(t.treasurySpk,"treasury",Xp(t.treasurySpk))),Mn(n.creator,e.creator,gu(t.creatorSpk,"creator","p2pk"))],roles:["treasury","creator"]}}o(Cs,"payoutOutputs");var Dn=Uint8Array.of(0);var qt=(()=>{const e=new Uint8Array(66);e[0]=0;return e})();var ia=class extends Error{static{o(this,"ForeignCovenantInput")}tx;outpoint;constructor(t,n,r){super(`${t}: input ${n} ${r}: refused (a foreign covenant cell in a curve or pool transaction is taken by its submitter)`);this.name="ForeignCovenantInput";this.tx=t;this.outpoint=n}};var vg=o(e=>e.length===35&&e[0]===170&&e[1]===32&&e[34]===135,"isP2shScript");function De(e,t,n){const r=new Set(t.map(a=>a.toLowerCase()));for(const a of e.inputs){const s=`${a.outpoint.txid}:${a.outpoint.index}`;if(a.cellKind===void 0){if(a.covenantId!==void 0)throw new ia(e.name,s,`is a funding input bound to covenant ${a.covenantId}`);const i=n!==void 0&&n.outpoint.txid===a.outpoint.txid&&n.outpoint.index===a.outpoint.index&&h(n.spk)===h(a.spk);if(vg(a.spk)&&!i)throw new ia(e.name,s,"is a funding input paying a P2SH script");continue}if(a.covenantId===void 0||!r.has(a.covenantId.toLowerCase()))throw new ia(e.name,s,`carries lineage ${String(a.covenantId)}, not one of the transaction's own`)}}o(De,"requireOwnLineages");function kg(e,t){const n=rt(e);return wt({amount:t,owner:n.owner,ownerScheme:n.ownerScheme,borrowScheme:rr,borrowGuard:Ve,extensionCommitment:n.extensionCommitment})}o(kg,"carvedState");function yu(e,t){return wt({...rt(e),amount:t})}o(yu,"withAmount");var ic=250000000n;function Es(e){const t=e/2n;const n=t<ic?ic:t;const r=e-n<ic?ic:e-n;const a=n+r-e;return{carveValue:n,restValue:r,topUp:a>0n?a:0n}}o(Es,"splitValues");function cc(e){const{ctx:t,cell:n,carve:r,funding:a}=e;const s=n.covenantId;if(n.state.owner.schemeByte!==0)throw new Error("split: the builder signs only key-owned cells (owner scheme 0x00)");if(r<=0n||r>=n.state.amount)throw new Error(`split: carve ${r} must be positive and below the cell's ${n.state.amount}`);if(a.length===0)throw new Error("split needs a funding input for the fee");const i=Es(n.value);const c=e.carveValue??i.carveValue;const d=e.restValue??(e.carveValue===void 0?i.restValue:n.value-c);const l=yu(n.state,n.state.amount-r);const u=kg(n.state,r);Ke(s,[n],[l,u],qt);const p={name:`split ${n.state.amount} -> ${n.state.amount-r} + ${r}`,inputs:[Ot(n,[l,u],"KCC20 cell (T leader, 00 || sig)",Ct(1,2)),...a.map(b=>ce(b,"owner KAS (fee)"))],outputs:[ne(t,"rest (owner kept)",l,d,s,0),ne(t,"carved cell",u,c,s,0)],residual:Ie(Z(e.changeAddress)),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};return{...be(p,["token-user","token-user"],"change"),restNext:l,carvedNext:u}}o(cc,"buildSplit");function hu(e){const{ctx:t,cells:n,owner:r}=e;if(n.length<2||n.length>3)throw new Error("consolidate takes 2 or 3 cells (max_token_inputs = 3)");const a=n[0].covenantId;const s=h(r.xOnlyPubkey);const i=new Set;for(const m of n){if(m.covenantId!==a)throw new Error("cells are of different lineages");if(m.state.owner.schemeByte!==0||h(m.state.owner.identifier)!==s)throw new Error("every cell must be p2pk-owned by the same key");const y=`${m.outpoint.txid}:${m.outpoint.index}`;if(i.has(y))throw new Error(`cell ${y} appears twice`);i.add(y)}const c=n.reduce((m,y)=>m+y.state.amount,0n);const d=yu(n[0].state,c);Ke(a,n,[d],qt);const l=e.funding??[];const u=[Ot(n[0],[d],"KCC20 leader (00 || sig)",Ct(n.length,1)),...n.slice(1).map((m,y)=>Ps(m,`KCC20 delegator ${y+1} (sig)`)),...l.map(m=>ce(m,"owner KAS (fee)"))];const p=`consolidate ${n.length}->1`;const b=l.length===0?{name:p,inputs:u,outputs:[],residual:mu(t,"consolidated cell",d,a,0,Je),genesisGroups:[],payload:new Uint8Array(0),...pe(e)}:{name:p,inputs:u,outputs:[ne(t,"consolidated cell",d,n.reduce((m,y)=>m+y.value,0n),a,0)],residual:Ie(Z(r.address)),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};const g=l.length===0?be(b,[],"token-user"):be(b,["token-user"],"change");return{...g,next:d}}o(hu,"buildConsolidate");var pr=class extends Error{static{o(this,"InsufficientTokensError")}needed;available;constructor(t,n){super(`insufficient tokens: need ${t}, ${n} available`);this.name="InsufficientTokensError";this.needed=t;this.available=n}};var Os=o((e,t)=>e.amount<t.amount?1:e.amount>t.amount?-1:0,"byAmountDesc");var dc=o(e=>`step${e}:merged`,"mergedId");var uc=o(e=>`step${e}:rest`,"restId");var fr=o(e=>`step${e}:carved`,"carvedId");function Yp(e,t,n=Tn){const r=[...e].sort(Os);for(let a=2;a<=Math.min(n,r.length);a++){const s=[];const i=o((c,d)=>{if(s.length===a)return d===0n;for(let l=c;l<r.length;l++){const u=r[l];if(u.amount>d)continue;s.push(u);if(i(l+1,d-u.amount))return true;s.pop()}return false},"rec");if(i(0,t))return s}return void 0}o(Yp,"exactSubset");function ku(e,t,n=Tn,r=0){return Qp([...e].sort(Os),t,n,r)}o(ku,"planMerges");function Qp(e,t,n,r){if(n<2)throw new Error("a merge needs at least 2 inputs");if(e.length===0)throw new Error("no cells");const a=[...e];const s=[];for(;;){const i=a[0];if(t!==void 0&&i.amount>=t)return{steps:s,largest:i};if(a.length===1){if(t!==void 0)throw new pr(t,i.amount);return{steps:s,largest:i}}const c=[i];let d=i.amount;for(let p=1;p<a.length&&c.length<n;p++){if(t!==void 0&&d>=t)break;c.push(a[p]);d+=a[p].amount}const l=r+s.length;const u={id:dc(l),amount:d};s.push({kind:"merge",inputs:c.map(p=>p.id),output:u.id,amount:d});a.splice(0,c.length);a.unshift(u)}}o(Qp,"planMergesFrom");function wu(e,t,n=Tn){if(t<=0n)throw new Error("target must be positive");const r=new Set;for(const p of e){if(p.amount<=0n)throw new Error(`cell ${p.id} holds no tokens`);if(r.has(p.id))throw new Error(`cell ${p.id} listed twice`);r.add(p.id)}const a=e.reduce((p,b)=>p+b.amount,0n);if(a<t)throw new pr(t,a);const s=e.find(p=>p.amount===t);if(s)return{target:t,kind:"exact",steps:[],result:s.id};const i=e.filter(p=>p.amount>t).sort(Os);if(i.length>0){const p=i[i.length-1];return{target:t,kind:"split",steps:[{kind:"split",input:p.id,carve:t,rest:uc(0),carved:fr(0)}],result:fr(0)}}const c=Yp(e,t,n);if(c)return{target:t,kind:"merge",steps:[{kind:"merge",inputs:c.map(p=>p.id),output:dc(0),amount:t}],result:dc(0)};const{steps:d,largest:l}=ku(e,t,n);if(l.amount===t)return{target:t,kind:"merge",steps:d,result:l.id};const u=d.length;return{target:t,kind:"merge+split",steps:[...d,{kind:"split",input:l.id,carve:t,rest:uc(u),carved:fr(u)}],result:fr(u)}}o(wu,"planExactCell");function wg(e,t,n,r=Tn){if(n.size===0)return wu(e,t,r);if(t<=0n)throw new Error("target must be positive");const a=e.reduce((b,g)=>b+g.amount,0n);if(a<t)throw new pr(t,a);const s=e.filter(b=>n.has(b.id)).sort(Os);if(s.length===0)throw new Error("none of the cells the plan must spend is listed");const i=s.find(b=>b.amount===t);if(i)return{target:t,kind:"exact",steps:[],result:i.id};const c=s.filter(b=>b.amount>t);if(c.length>0){const b=c[c.length-1];return{target:t,kind:"split",steps:[{kind:"split",input:b.id,carve:t,rest:uc(0),carved:fr(0)}],result:fr(0)}}const d=s[0];const{steps:l,largest:u}=Qp([d,...e.filter(b=>b.id!==d.id).sort(Os)],t,r,0);if(u.amount===t)return{target:t,kind:"merge",steps:l,result:u.id};const p=l.length;return{target:t,kind:"merge+split",steps:[...l,{kind:"split",input:u.id,carve:t,rest:uc(p),carved:fr(p)}],result:fr(p)}}o(wg,"planExactCellSpending");function M4(e,t){const n=new Map(e.map(a=>[a.id,a.amount]));const r=o(a=>{const s=n.get(a);if(s===void 0)throw new Error(`plan spends ${a}, which is not live`);n.delete(a);return s},"take");for(const a of t){if(a.kind==="merge"){const s=a.inputs.reduce((i,c)=>i+r(c),0n);if(s!==a.amount)throw new Error(`merge ${a.output}: inputs hold ${s}, step says ${a.amount}`);n.set(a.output,s)}else{const s=r(a.input);if(a.carve<=0n||a.carve>=s)throw new Error(`split of ${a.input}: carve ${a.carve} of ${s}`);n.set(a.rest,s-a.carve);n.set(a.carved,a.carve)}}return n}o(M4,"applyPlan");var Zp=o(e=>e.map(t=>({id:B(t.outpoint),amount:t.state.amount})),"planCellsOf");function vu(e,t){const n=e.built.outputs[t];if(n?.cell?.predicted.kind!=="token"||n.cell.covenantId===void 0)throw new Error(`${e.built.plan.name}: output ${t} is not a token cell`);return{kind:"token",outpoint:{txid:e.built.txid,index:t},value:n.value,covenantId:n.cell.covenantId,program:n.cell.program,state:n.cell.predicted.state,daaScore:0n}}o(vu,"producedCell");function e0(e,t){const{ctx:n,owner:r}=e;const a=new Map(e.cells.map(p=>[B(p.outpoint),p]));let s=[...e.funding];const i=Z(r.address);const c=o(p=>{const b=a.get(p);if(!b)throw new Error(`plan step needs cell ${p}, which is not available`);a.delete(p);return b},"take");const d=o((p,b)=>{const g=new Set(b.map(y=>B(y.outpoint)));s=s.filter(y=>!g.has(B(y.outpoint)));const m=p.optimistic.funding.change;if(m)s.push({outpoint:m.outpoint,amount:m.amount,spk:i,daaScore:0n,address:r.address})},"spendFunding");const l={...e.feeMargin===void 0?{}:{feeMargin:e.feeMargin},...e.feerate===void 0?{}:{feerate:e.feerate}};const u=[];for(const p of t){if(p.kind==="merge"){const b=p.inputs.map(c);let g;try{g=hu({ctx:n,cells:b,owner:r,...l})}catch(m){if(!(m instanceof Ft))throw m;const y=or(s,0n,e.fundingOptions);g=hu({ctx:n,cells:b,owner:r,funding:y,...l});d(g,y)}u.push(g);a.set(p.output,vu(g,0))}else{const b=c(p.input);const g=or(s,Es(b.value).topUp,e.fundingOptions);const m=cc({ctx:n,cell:b,carve:p.carve,changeAddress:r.address,funding:g,...l});d(m,g);u.push(m);a.set(p.rest,vu(m,0));a.set(p.carved,vu(m,1))}}return{transactions:u,cells:a}}o(e0,"buildSteps");function _s(e){const t=new Set((e.mustSpend??[]).map(B));const n=wg(Zp(e.cells),e.target,t);const{transactions:r,cells:a}=e0(e,n.steps);const s=a.get(n.result);if(!s||s.state.amount!==e.target)throw new Error(`chain did not produce a cell of ${e.target}`);return{plan:n,transactions:r,totalFee:r.reduce((i,c)=>i+c.built.fee,0n),cell:s}}o(_s,"buildExactCellChain");function t0(e){const t=Zp(e.cells);if(t.length<2)throw new Error("nothing to consolidate: fewer than two cells");let n;const r=e.target;if(r!==void 0){const c=t.reduce((l,u)=>l+u.amount,0n);if(c<r)throw new pr(r,c);if(t.some(l=>l.amount>=r))throw new Error(`a cell of at least ${r} already exists`);const d=Yp(t,r);n=d?[{kind:"merge",inputs:d.map(l=>l.id),output:dc(0),amount:r}]:ku(t,r).steps}else{n=ku(t,void 0).steps}const{transactions:a,cells:s}=e0(e,n);const i=n[n.length-1];if(i.kind!=="merge")throw new Error("unreachable: a merge chain ends with a merge");return{plan:{steps:n},transactions:a,totalFee:a.reduce((c,d)=>c+d.built.fee,0n),cell:Fr(s.get(i.output),`the merged cell ${i.output}`)}}o(t0,"buildMergeChain");function yn(e){const t=e.value-(e.state.kasScaled+e.state.feeAccruedScaled)*le;if(t<0n||t>=le)throw new Error(`pool cell value ${e.value} is inconsistent with its state (dust ${t})`);return{kasScaled:e.state.kasScaled,tokenReserve:e.state.tokenReserve,feeAccruedScaled:e.state.feeAccruedScaled,dust:t}}o(yn,"poolMathState");var gn=class extends Error{static{o(this,"UnsafeScript")}constructor(t){super(t);this.name="UnsafeScript"}};function Q4(e){if(e.length!==32)throw new Error("a key-locked script needs a 32-byte x-only key");return E(Uint8Array.of(32),e,Uint8Array.of(172))}o(Q4,"keyLockedRedeem");function n0(e){return e.length===34&&e[0]===32&&e[33]===172?e.subarray(1,33):void 0}o(n0,"keyOfLockedRedeem");var xg=o((e,t)=>t.length>0&&e.length>=t.length&&h(e.subarray(e.length-t.length))===h(t),"endsWith");function r0(e,t){if(e.length===0)throw new gn("an empty script can be satisfied by anyone");if(n0(e)!==void 0)return;if(t.allowAnyScript!==true)throw new gn("only a key-locked script (<x-only key> OP_CHECKSIG) is accepted; pass allowAnyScript for another one");for(const n of t.programs){const r=n.subarray(Math.max(0,n.length-256));if(xg(e,r))throw new gn("the script is a pool or token program: tokens delivered to it would be locked for good")}}o(r0,"assertSafeRedeem");function a0(e){const{ctx:t,pool:n,poolToken:r,buyer:a,kasInScaled:s,funding:i}=e;mn(t,n);pt(`pool ${n.covenantId}`,n.state.tokenCovId,e.tokenId);const c=ho(n,r);const d=e.userCellValue??Pt;if(d<Je)throw new Error(`user cell value ${d} is below the ${Je} sompi minimum`);if(s<=0n)throw new Error("kasInScaled must be positive");if(i.length===0)throw new Error("swap needs at least one funding input");const l=ws(yn(n),s,_e(t),fo(t));if(l.tokenOut<=0n)throw new Error(`a leg of ${s} scaled units buys no tokens`);if(e.minTokensOut!==void 0&&l.tokenOut<e.minTokensOut)throw new Error(`quote ${l.tokenOut} tokens is below minOut ${e.minTokensOut}`);const u=e.minTokensOut??l.tokenOut;const p={...n.state,kasScaled:l.pool.kasScaled,tokenReserve:l.pool.tokenReserve,feeAccruedScaled:l.pool.feeAccruedScaled};const b=Ue(l.pool.tokenReserve,n.covenantId);const g=e.deliverToScript;if(g!==void 0&&!Kn(t.pool))throw new Error("swap-and-deposit needs a composable pool (Kasseal-mainnet-2)");if(g!==void 0){r0(g.redeem,{...g.allowAnyScript===void 0?{}:{allowAnyScript:g.allowAnyScript},programs:[n.program,r.program]});if(g.scriptFunding<lo)throw new Error(`script funding ${g.scriptFunding} is below the ${lo} sompi output minimum`)}const m=g===void 0?Bn(l.tokenOut,a.xOnlyPubkey):Ud(l.tokenOut,Za(g.redeem));Ke(c,[r],[b,m],Dn);const y=Gr(l.pool);if(y!==n.value+s*le)throw new Error("pool value arithmetic mismatch");const k={name:`swapKasForTokens(${s})`,inputs:[Gt(n,`POOL swapKasForTokens(${s}, ${u}, ${Kn(t.pool)?`${ms.reserveK}, ${ms.restK}`:"user"})`,Ze(t).poolSwapKasForTokens,zd(t.pool,n.program,s,tr(m,t.token.templateHash),u)),ln(r,[b,m],"KCC20 pool cell (T leader, witness 00)",xe.tokenLeaderCovenant2Out),...i.map(A=>ce(A,"buyer KAS"))],outputs:[ft(t,"POOL'",p,y,n.covenantId,0),ne(t,"rest (owner P)",b,r.value,c,1),ne(t,g===void 0?"user cell":"deposit cell (owned by the script)",m,d,c,1),...g===void 0?[]:[Mn("script funding (P2SH)",g.scriptFunding,ie(g.redeem))]],residual:Ie(Z(a.address),"change (buyer)"),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};De(k,[n.covenantId,c]);const w=be(k,g===void 0?["pool","token-rest","token-user"]:["pool","token-rest","token-user","deposit"],"change");const S=s*le+d+(g?.scriptFunding??0n)+w.built.fee;mo(k.name,S,w.built.fee,e.maxAllIn);return{...w,poolNext:p,tokensOut:l.tokenOut,restNext:b,userNext:m,allIn:S}}o(a0,"buildSwapKasForTokens");function xu(e){const{ctx:t,pool:n,poolToken:r,userCell:a,seller:s}=e;mn(t,n);pt(`pool ${n.covenantId}`,n.state.tokenCovId,e.tokenId);const i=ho(n,r);const c=e.extraUserCells??[];const d=e.scriptAuthority;if((c.length>0||d!==void 0)&&!Kn(t.pool))throw new Error("a multi-cell or script-authorized sell needs a composable pool (Kasseal-mainnet-2)");if(c.length>1)throw new Error("KCC-20 carries at most three token inputs: the seller's cell, one more and the reserve");if(d===void 0)lr(a,i,n.covenantId);else{if(a.covenantId!==i)throw new Error("user cell is not of lineage T");if(a.state.owner.schemeByte!==3||h(a.state.owner.identifier)!==h(Za(d.redeem)))throw new Error("the cell is not owned by the authority script");r0(d.redeem,{...d.allowAnyScript===void 0?{}:{allowAnyScript:d.allowAnyScript},programs:[n.program,r.program]});const U=n0(d.redeem);if(U!==void 0&&h(U)!==d.signerXOnly.toLowerCase())throw new gn("the authority script is locked to another key than the signer")}for(const U of c)lr(U,i,n.covenantId);const l=c.reduce((U,z)=>U+z.state.amount,a.state.amount);const u=qr(yn(n),l,_e(t),fo(t));if(e.minOutScaled!==void 0&&u.kasOutScaled<e.minOutScaled)throw new Error(`net payout ${u.kasOutScaled} is below minOut ${e.minOutScaled}`);const p=e.minOutScaled??u.kasOutScaled;const b={...n.state,kasScaled:u.pool.kasScaled,tokenReserve:u.pool.tokenReserve,feeAccruedScaled:u.pool.feeAccruedScaled};const g=Ue(u.pool.tokenReserve,n.covenantId);const m=2+c.length+1;const y=d===void 0?qt:Uint8Array.of(ps,m);Ke(i,[a,...c,r],[g],y);const k=Gr(u.pool);if(k!==n.value-u.kasOutScaled*le)throw new Error("pool value arithmetic mismatch");const w=d===void 0?Ot(a,[g],"KCC20 user cell (T leader, 00 || sig)",Ct(2+c.length,1)):(()=>{const U=bs(a.program,[g],y);return{label:"KCC20 script-owned cell (T leader, 00 || authority input)",outpoint:a.outpoint,amount:a.value,spk:ie(a.program),daaScore:a.daaScore,covenantId:a.covenantId,budget:xe.tokenLeaderCovenant1Out,sigscript:U.bytes,signature:void 0,cellKind:"token"}})();const S={reserveK:BigInt(1+c.length),mergedK:0n};const A=d===void 0?[]:[{label:"authority script (P2SH, the signer's key)",outpoint:d.utxo.outpoint,amount:d.utxo.amount,spk:ie(d.redeem),daaScore:d.utxo.daaScore,covenantId:void 0,budget:xe.p2pk,sigscript:E(Uint8Array.of(65),no,cn(d.redeem)),signature:{kind:"token-delegator",offset:1,signer:d.signerXOnly,sighashType:1}}];const P={name:`swapTokensForKas(${l})`,inputs:[w,...c.map(U=>Ps(U,"KCC20 user cell (T delegator, sig)")),fn(r,"KCC20 pool cell (T delegator, empty witness)"),Gt(n,`POOL swapTokensForKas(${l}, ${p})`,Ze(t).poolSwapTokensForKas,Jd(t.pool,n.program,l,p,S)),...A,...(e.funding??[]).map(U=>ce(U,"seller KAS (top-up)"))],outputs:[ne(t,"merged (owner P)",g,r.value,i,0),ft(t,"POOL'",b,k,n.covenantId,2+c.length)],residual:Qr(Z(s.address),"payout (seller)",bn),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};De(P,[n.covenantId,i],d===void 0?void 0:{outpoint:d.utxo.outpoint,spk:ie(d.redeem)});const $=be(P,["token-rest","pool"],"payout");const L=$.built.residualValue-ca(e.funding);go(P.name,L,$.built.fee,e.minNetOut);return{...$,poolNext:b,kasOutScaled:u.kasOutScaled,mergedNext:g,payout:$.built.residualValue,netOut:L}}o(xu,"buildSwapTokensForKas");var Sg=0;var Ag=1;var f6=2;var o0=3;var p6=4;var b6=0;var m6=1;var g6=2;var y6=3;var Tg=0;var h6=1;var s0=2;var Pg=3;var v6=4;var k6=0;var w6=1;var x6=2;var Cg=3;var Su=4;var $s=lp;var i0=fp;function Au(e){return{...yn(e),lpShares:e.state.lpShares}}o(Au,"lpPoolMathState");function Ls(e){if(e.state.lpCovId===void 0)throw new Error(`pool ${e.covenantId} has the 108-byte state: swap-only, no liquidity entries`);if(!Uo(e.state))throw new Error(`pool ${e.covenantId} is unbound (lpCovId 0^32): swap-only until bindLp`);return h(e.state.lpCovId)}o(Ls,"requireBoundPool");function Rs(e,t,n="capped"){const r=Ls(e);if(t.covenantId!==r)throw new Error(`inventory cell lineage ${t.covenantId} is not the pool's L ${r}`);if(!Mt(t.state,e.covenantId))throw new Error("inventory cell is not pool-owned");const a=xs(Au(e),n);if(t.state.amount!==a)throw new Error(`L inventory holds ${t.state.amount}, the state implies ${a} (LP_SUPPLY - issued); the pool is not spendable through add/remove`);return r}o(Rs,"requirePoolInventory");function Us(e,t,n="capped"){Ls(e);const r=Au(e);if(t<1n)throw new Error(`shares must be at least 1, got ${t}`);const a=Ji(r,n);if(t>a)throw new Error(`${t} shares exceed the ${a} this pool can still issue (SHARES_MAX or a reserve cap)`);const s=hp(r,n);if(t<s)throw new Error(`deposit of ${t} shares is below the minimum of ${s} (at least max(1 KAS, 20 shares' worth of KAS), and enough shares to stay withdrawable whatever the price does later)`);return gp(t,r,n)}o(Us,"depositQuote");function Ns(e,t,n,r,a="capped"){Ls(e);if(t<1n)throw new Error(`shares must be at least 1, got ${t}`);const s=yp(t,Au(e),a);if(s.dKasScaled<un)throw new Error(`KAS leg ${s.dKasScaled} scaled is below the pool's PAYOUT_MIN ${un}`);if(n!==void 0&&s.dKasScaled<n)throw new Error(`KAS leg ${s.dKasScaled} scaled is below minKasOut ${n}`);if(r!==void 0&&s.dTok<r)throw new Error(`token leg ${s.dTok} is below minTokOut ${r}`);return s}o(Ns,"withdrawalQuote");var da=o(e=>rt(e.state).extensionCommitment,"extOf");function c0(e,t,n){const r=h(fs(e.pool,t.covenantId));const a=h(da(n));if(a!==r)throw new Error(`L inventory extension commitment ${a} is not the ${r===t.covenantId?"pool's id":"0^32 of this build"} (${r})`)}o(c0,"requireLpCommitment");function Hn(e){const t=e<0n;const n=t?-e:e;const r=n/ve;const a=(n%ve).toString().padStart(8,"0").replace(/0+$/,"");return`${t?"-":""}${r}${a.length>0?`.${a}`:""}`}o(Hn,"kasString");function lc(e){const{ctx:t,pool:n,inventory:r,reserve:a,userCell:s,funding:i,shares:c}=e;if(!je(mn(t,n)))throw new Error("addLiquidity exists in the v1 pool only");if(e.lpSafe!==true)throw new Error("deposit refused: the caller must assert lpSafe (the indexer confirms the L supply and the inventory equation of this pool)");pt(`pool ${n.covenantId}`,n.state.tokenCovId,e.tokenId);const d=Rs(n,r,_e(t));c0(t,n,r);const l=ho(n,a);const u=n.covenantId;lr(s,l,u);if(i.length===0)throw new Error("addLiquidity needs at least one KAS input (the KAS leg and the fee)");const p=e.lpCellValue??$s;if(p<i0)throw new Error(`LP cell value ${p} is below the ${i0} sompi minimum`);const b=Us(n,c,_e(t));if(s.state.amount!==b.dTok)throw new Error(`user cell holds ${s.state.amount} tokens, a deposit of ${c} shares takes exactly ${b.dTok}; split or merge first`);const g=da(a);if(h(da(s))!==h(g))throw new Error("user cell's extension commitment differs from the pool reserve's");const m={...n.state,kasScaled:b.pool.kasScaled,tokenReserve:b.pool.tokenReserve,lpShares:b.pool.lpShares};const y=Ue(b.pool.tokenReserve,u,g);const k=da(r);const w=Ue(r.state.amount-c,u,k);const S=Bn(c,s.state.owner.identifier,{extensionCommitment:k});Ke(l,[s,a],[y],qt);Ke(d,[r],[w,S],Dn);const A=Gr(b.pool);if(A!==n.value+b.dKasScaled*le)throw new Error("pool value arithmetic mismatch");const P=po(t);const $={name:`addLiquidity(${c})`,inputs:[Gt(n,`POOL addLiquidity(${c}, lpUser)`,P.poolAddLiquidity,Qd(t.pool,n.program,c,tr(S,t.token.templateHash))),Ot(s,[y],"KCC20 user cell of T (T leader, 00 || sig)",Ct(2,1)),fn(a,"KCC20 pool reserve (T delegator, empty witness)"),ln(r,[w,S],"KCC20 L inventory (L leader, witness 00)",xe.tokenLeaderCovenant2Out),...i.map(R=>ce(R,"KAS (depositor: KAS leg, LP cell funding, fee)"))],outputs:[ft(t,"POOL' {+dKas, +dTok, +shares}",m,A,u,Sg),ne(t,"mergedT (owner P)",y,a.value,l,Ag),ne(t,"restL inventory (owner P)",w,r.value,d,o0),ne(t,"lpUser (LP cell)",S,p,d,o0)],residual:Ie(Z(e.changeAddress),"change (depositor)"),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};De($,[u,l,d]);const L=be($,["pool","token-rest","token-reserve","token-user"],"change");const U=ca(i)-L.built.residualValue;mo($.name,U,L.built.fee,e.maxAllIn);const z=`Deposit ${c} shares: ${Hn(b.dKasScaled*le)} KAS + ${b.dTok} tokens into the pool (shares ${n.state.lpShares} -> ${b.pool.lpShares}); your ${Hn(s.value)} KAS token cell becomes a ${Hn(p)} KAS LP cell; network fee ${Hn(L.built.fee)} KAS.`;return{...L,shares:c,dKasScaled:b.dKasScaled,dTok:b.dTok,L:d,poolNext:m,mergedTokenNext:y,restLpNext:w,lpUserNext:S,lpCellValue:p,budgets:L.built.budgets,fee:L.built.fee,summary:z,allIn:U}}o(lc,"buildAddLiquidity");var Eg=ve/2n;function Bs(e){const t=e-Eg;const n=t>Pt?Pt:t;return n<Je?Je:n}o(Bs,"defaultTokenCellValue");var Og=ve/2n;function fc(e,t,n){return e-t+n*le<Og}o(fc,"withdrawalNeedsTopUp");function vo(e){const{ctx:t,pool:n,inventory:r,reserve:a,userLpCell:s,shares:i}=e;if(!je(mn(t,n)))throw new Error("removeLiquidity exists in the v1 pool only");pt(`pool ${n.covenantId}`,n.state.tokenCovId,e.tokenId);const c=Rs(n,r,_e(t));c0(t,n,r);const d=ho(n,a);const l=n.covenantId;if(s.covenantId!==c)throw new Error(`LP cell lineage ${s.covenantId} is not the pool's L ${c}`);lr(s,c,l);const u=e.tokCellValue??Bs(s.value);if(u<Je)throw new Error(`token cell value ${u} is below the ${Je} sompi minimum`);const p=Ns(n,i,e.minKasOut,e.minTokOut,_e(t));if(s.state.amount!==i)throw new Error(`LP cell holds ${s.state.amount} shares, removeLiquidity(${i}) absorbs exactly ${i}; split or merge first`);const b=da(r);if(h(da(s))!==h(b))throw new Error("LP cell's extension commitment differs from the inventory's");const g=s.state.owner;if(g.schemeByte!==0)throw new Error(`LP cell owner scheme ${g.schemeByte} is not p2pk-schnorr/v1; the builder withdraws key-owned positions only`);const m=Z(e.changeAddress);if(h(m)!==`20${h(g.identifier)}ac`)throw new Error("the payout address is not the LP cell owner's key: the pool pays the KAS leg to the owner");const y={...n.state,kasScaled:p.pool.kasScaled,tokenReserve:p.pool.tokenReserve,lpShares:p.pool.lpShares};const k=Ue(r.state.amount+i,l,b);const w=da(a);const S=Ue(p.pool.tokenReserve,l,w);const A=Bn(p.dTok,s.state.owner.identifier,{extensionCommitment:w});Ke(c,[s,r],[k],qt);Ke(d,[a],[S,A],Dn);const P=Gr(p.pool);if(P!==n.value-p.dKasScaled*le)throw new Error("pool value arithmetic mismatch");const $=po(t);const L={name:`removeLiquidity(${i})`,inputs:[Ot(s,[k],"KCC20 user cell of L (L leader, 00 || sig)",Ct(2,1)),fn(r,"KCC20 L inventory (L delegator, empty witness)"),ln(a,[S,A],"KCC20 pool reserve (T leader, witness 00)",xe.tokenLeaderCovenant2Out),Gt(n,`POOL removeLiquidity(${i}, tokUser)`,$.poolRemoveLiquidity,Zd(t.pool,n.program,i,tr(A,t.token.templateHash))),...(e.funding??[]).map(we=>ce(we,"KAS (withdrawer top-up)"))],outputs:[ne(t,"mergedL inventory (owner P)",k,r.value,c,Tg),ne(t,"restT (owner P)",S,a.value,d,s0),ne(t,"tokUser (token cell)",A,u,d,s0),ft(t,"POOL' {-dKas, -dTok, -shares}",y,P,l,Pg)],residual:Qr(m,"payout (withdrawer)",p.dKasScaled*le>bn?p.dKasScaled*le:bn),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};De(L,[l,d,c]);if(L.outputs.length!==Su||Su!==Cg+1)throw new Error(`removeLiquidity payout must be output ${Su}, right after the pool`);const U=be(L,["token-reserve","token-rest","token-user","pool"],"payout");const z=U.built.residualValue;const R=z-ca(e.funding);go(L.name,R,U.built.fee,e.minNetOut);const W=`Withdraw ${i} shares: ${Hn(p.dKasScaled*le)} KAS + ${p.dTok} tokens out of the pool (shares ${n.state.lpShares} -> ${p.pool.lpShares}); your ${Hn(s.value)} KAS LP cell becomes a ${Hn(u)} KAS token cell and a ${Hn(z)} KAS payout; network fee ${Hn(U.built.fee)} KAS.`;return{...U,shares:i,dKasScaled:p.dKasScaled,dTok:p.dTok,L:c,poolNext:y,mergedLpNext:k,restTokenNext:S,tokenUserNext:A,tokCellValue:u,payout:z,netOut:R,budgets:U.built.budgets,fee:U.built.fee,summary:W}}o(vo,"buildRemoveLiquidity");var _g=.01;var Ig=100n;function Tu(e,t){for(const[a,s]of[["quoted",e],["live",t]]){if(s.kasScaled<=0n||s.tokenReserve<=0n)throw new Error(`${a} state has non-positive reserves`)}const n=t.kasScaled*e.tokenReserve;const r=e.kasScaled*t.tokenReserve;return{num:n>r?n-r:r-n,den:r}}o(Tu,"ratioTerms");function S6(e,t){const{num:n,den:r}=Tu(e,t);return(n*10000n+r-1n)/r}o(S6,"ratioDriftBps");function $g(e,t){const{num:n,den:r}=Tu(e,t);return Number(n*1000000000n/r)/1e9}o($g,"ratioDrift");function Lg(e,t){const{num:n,den:r}=Tu(e,t);return n*10000n<Ig*r}o(Lg,"canRebuildAutomatically");var Is=class extends Error{static{o(this,"RatioDriftError")}drift;quoted;live;constructor(t,n){const r=$g(t,n);super(`reserve ratio moved ${(r*100).toFixed(3)} % since the quote (limit ${_g*100} %): re-quote before rebuilding`);this.name="RatioDriftError";this.drift=r;this.quoted={kasScaled:t.kasScaled,tokenReserve:t.tokenReserve};this.live={kasScaled:n.kasScaled,tokenReserve:n.tokenReserve}}};function d0(e,t){if(!Lg(e,t))throw new Is(e,t)}o(d0,"assertRebuildAllowed");var pc=1e3;var u0=10000n;var _t=class extends Error{static{o(this,"SlippageOutOfRange")}value;constructor(t,n){super(`slippage: ${String(t)} ${n}`);this.name="SlippageOutOfRange";this.value=t}};function Pu(e){if(typeof e!=="number"||!Number.isInteger(e))throw new _t(e,"bps is not an integer");if(e<0)throw new _t(e,"bps is negative");if(e>pc)throw new _t(e,`bps is above the ${pc} bps maximum`)}o(Pu,"assertSlippageBps");function l0(e){if(typeof e!=="number"||!Number.isFinite(e))throw new _t(e,"% is not a finite number");if(e<0)throw new _t(e,"% is negative");const t=e*100;const n=Math.round(t);if(Math.abs(t-n)>1e-6)throw new _t(e,"% is finer than one basis point");Pu(n);return n}o(l0,"slippageBpsOfPercent");function f0(e){if(typeof e!=="bigint")throw new _t(Number(e),"amount is not a bigint");if(e<0n)throw new _t(e,"amount is negative")}o(f0,"assertAmount");function Rg(e,t){f0(e);Pu(t);return e+e*BigInt(t)/u0}o(Rg,"maxWithSlippage");function Ug(e,t){f0(e);Pu(t);return e-e*BigInt(t)/u0}o(Ug,"minWithSlippage");function P6(e,t){return Rg(e,l0(t))}o(P6,"maxWithSlippagePct");function C6(e,t){return Ug(e,l0(t))}o(C6,"minWithSlippagePct");function Ng(e,t){const n=String(e);const r=/script units exceeded the amount committed in the input: used=(\d+), limit=(\d+)/.exec(n);if(r){const d=Number(r[1]);const l=Number(r[2]);const u=Kr(l);const p=t&&u!==void 0?Bg(t,u):void 0;return{kind:"budget",used:d,limit:l,inputIndex:p,message:n}}const a=/fees which is under the required amount of (\d+) for ([a-z ]*mass)/.exec(n);if(a)return{kind:"fee-too-low",required:BigInt(a[1]),bucket:a[2].trim(),message:n};const s=/output \(([0-9a-f]{64}), (\d+)\) already spent by transaction ([0-9a-f]{64}) in the mempool/.exec(n);if(s)return{kind:"lost-race",outpoint:{txid:s[1],index:Number(s[2])},winnerTxid:s[3],message:n};const i=/already spent by transaction ([0-9a-f]{64}) in the mempool/.exec(n);if(i)return{kind:"lost-race",outpoint:void 0,winnerTxid:i[1],message:n};if(/is an orphan where orphan is disallowed/.test(n))return{kind:"orphan",message:n};if(/is already in the mempool/.test(n))return{kind:"duplicate",message:n};const c=/storage mass of (\d+) is larger than max allowed size of 500000/.exec(n);if(c)return{kind:"unminable",storageMass:Number(c[1]),message:n};if(/failed to verify the signature script/.test(n))return{kind:"script-failure",message:n};return{kind:"other",message:n}}o(Ng,"classifyRejection");function Bg(e,t){const n=e.map((r,a)=>r===t?a:-1).filter(r=>r>=0);return n.length>0?n[0]:void 0}o(Bg,"indexOfBudget");var ko=class extends Error{static{o(this,"RejectedError")}rejection;txid;constructor(t,n){super(`transaction ${t} rejected (${n.kind}): ${n.message}`);this.name="RejectedError";this.rejection=n;this.txid=t}};function Kg(e){return String(e?.message??e)}o(Kg,"errorMessage");async function L6(e,t,{maxBudgetPatches:n=6}={}){const r=[];let a=t;for(let s=0;;s++){try{const i=await e.submitTransaction({transaction:a.tx,allowOrphan:false});r.push({budgets:a.budgets,fee:a.fee,ok:true});if(i.transactionId!==a.txid)throw new Error(`node echoed txid ${i.transactionId}, expected ${a.txid}`);return{txid:a.txid,attempts:r,budgets:a.budgets,masses:a.masses}}catch(i){if(i instanceof Error&&i.message.startsWith("node echoed txid"))throw i;const c=Ng(Kg(i),a.budgets);r.push({budgets:a.budgets,fee:a.fee,ok:false,rejection:c});if(c.kind==="budget"&&c.inputIndex!==void 0&&s<n){const d=Math.max(a.budgets[c.inputIndex]+1,cs(c.used));a=Xf(a,c.inputIndex,d);if(a.masses.minFee>a.fee){throw new ko(a.txid,{...c,message:`${c.message} (budget ${d} makes compute the binding bucket; rebuild with the new budget)`})}continue}throw new ko(a.txid,c)}}}o(L6,"submit");async function Mg(e,t,n=5){for(let r=0;r<n;r++){try{const a=await e.getMempoolEntry({transactionId:t,includeOrphanPool:false,filterTransactionPool:false});const s=a.mempoolEntry.transaction;return{fee:a.mempoolEntry.fee,storageMass:s.storageMass??s.mass,computeMass:s.verboseData?.computeMass}}catch{await p0(50)}}return void 0}o(Mg,"mempoolEntry");async function R6(e,t){const n=await e.getUtxosByAddresses([t]);return n.entries.filter(r=>!r.isCoinbase).map(r=>jg(r,t))}o(R6,"utxosOf");function jg(e,t){const n=e.entry.covenantId?.toString();return{outpoint:{txid:e.outpoint.transactionId,index:e.outpoint.index},amount:e.amount,spk:hs(e.scriptPublicKey.script),daaScore:e.blockDaaScore,address:t,covenantId:n===void 0||/^0+$/.test(n)?void 0:n}}o(jg,"utxoOf");async function U6(e,t,n,{timeoutMs:r=6e4,pollMs:a=200}={}){const s=t.outputs.filter(u=>u.cell!==void 0||u.binding!==void 0);const i=s.length>0?s:[t.outputs[t.outputs.length-1]];const c=Date.now()+r;const d=new Map;const l=await Mg(e,t.txid);while(Date.now()<c){for(const u of i){if(d.has(u.index))continue;const p=Gi(u.spk,n);const b=await e.getUtxosByAddresses([p]);const g=b.entries.find(m=>m.outpoint.transactionId===t.txid&&m.outpoint.index===u.index);if(g){d.set(u.index,{outputIndex:u.index,address:p,amount:g.amount,covenantId:g.entry.covenantId?.toString(),spk:g.scriptPublicKey.script,daaScore:g.blockDaaScore})}}if(d.size===i.length){const u=[...d.values()].sort((p,b)=>p.outputIndex-b.outputIndex);return{txid:t.txid,daaScore:u[0].daaScore,cells:u,mempool:l}}await p0(a)}throw new Error(`${t.plan.name} ${t.txid}: not in the UTXO index after ${r} ms (${d.size}/${i.length} outputs seen)`)}o(U6,"waitForAcceptance");function N6(e,t){const n=e.outputs[t.outputIndex];if(!n)throw new Error(`no output ${t.outputIndex}`);if(t.amount!==n.value)throw new Error(`output ${n.index} "${n.label}": on-chain amount ${t.amount} != built ${n.value}`);if(t.spk!==h(n.spk))throw new Error(`output ${n.index} "${n.label}": on-chain spk ${t.spk} != built ${h(n.spk)}`);const r=n.cell?.covenantId??n.binding?.covenantId;if(r!==void 0&&t.covenantId!==r)throw new Error(`output ${n.index} "${n.label}": on-chain covenant id ${t.covenantId} != ${r}`)}o(N6,"assertAcceptedCell");var p0=o(e=>new Promise(t=>setTimeout(t,e)),"sleep");var Cu=.001;var ge=class extends Error{static{o(this,"ReplacementRefused")}constructor(t){super(t);this.name="ReplacementRefused"}};var Fg=new Set(["submitted","already-in-mempool","fee-too-low"]);var Dg=new Set(["change","payout"]);function m0(e){if(!Number.isFinite(e)||e<0||e>1)throw new ge(`bump ${e} out of range`);return BigInt(Math.round(e*1e6))}o(m0,"bumpPpm");function Hg(e,t=Cu){if(e<=0n)throw new ge("original fee must be positive");const n=m0(t);const r=(e*(1000000n+n)+999999n)/1000000n;return r>e?r:e+1n}o(Hg,"replacementMinFee");function Vg(e,t,n){if(t.kind==="lost-race")throw new ge("a lost race is never replaced: rebuild at the new head instead");if(!Fg.has(t.kind))throw new ge(`state ${t.kind} is not replaceable`);if("txid"in t&&t.txid!==e.txid)throw new ge(`state is about ${t.txid}, not ${e.txid}`);if(!n.some(r=>r.txid===e.txid))throw new ge(`${e.txid} is not one of our pending transactions`)}o(Vg,"assertReplaceable");function b0(e){return JSON.parse(e.txJson).outputs}o(b0,"outputsOf");function Gg(e,t,n,r=Cu){if(t.txid===e.txid)throw new ge("the replacement has the same txid");const a=e.consumes.map(B).sort();const s=t.consumes.map(B).sort();if(a.length!==s.length||a.some((m,y)=>m!==s[y]))throw new ge("the replacement must spend exactly the same outpoints");const i=new Set(s);for(const m of n){if(m.txid===e.txid)continue;const y=m.consumes.find(k=>i.has(B(k)));if(y)throw new ge(`the replacement would also conflict with our pending ${m.txid} on ${B(y)}`)}const c=b0(e);const d=b0(t);if(c.length!==d.length)throw new ge("the replacement changes the output count");const l=new Map(e.produces.map(m=>[m.index,m.role]));const u=new Map(t.produces.map(m=>[m.index,m.role]));c.forEach((m,y)=>{const k=d[y];if(l.get(y)!==u.get(y))throw new ge(`output ${y} changes its role`);const w=(m.covenant??null)===null?(k.covenant??null)===null:k.covenant!==null&&k.covenant!==void 0&&m.covenant.authorizingInput===k.covenant.authorizingInput&&m.covenant.covenantId===k.covenant.covenantId;if(m.scriptPublicKey!==k.scriptPublicKey||!w)throw new ge(`output ${y} changes its script or binding`);const S=l.get(y);if(S!==void 0&&Dg.has(S)){if(BigInt(k.value)>BigInt(m.value))throw new ge(`output ${y} (${S}) grows in the replacement`)}else if(BigInt(k.value)!==BigInt(m.value)){throw new ge(`output ${y} changes its value; only the change or payout may pay for the bump`)}});const p=BigInt(e.masses.max);const b=BigInt(t.masses.max);if(p<=0n||b<=0n)throw new ge("masses must be positive");const g=m0(r);if(!(t.feeSompi*p>e.feeSompi*b))throw new ge("the replacement feerate is not strictly greater");if(t.feeSompi*p*1000000n<e.feeSompi*b*(1000000n+g))throw new ge(`the replacement feerate is below the +${Number(g)/1e4} % bump`)}o(Gg,"assertReplacement");async function j6(e,t){const n=t.bump??Cu;Vg(e,t.state,t.pending);const r=await t.rebuild(Hg(e.feeSompi,n));Gg(e,r,t.pending,n);const a=await t.sign(r);if(a.txid!==r.txid)throw new ge("signing changed the replacement txid");const s=await t.submitReplacement(a);if(s.transactionId!==a.txid)throw new ge(`node echoed ${s.transactionId}, submitted ${a.txid}`);if(s.replacedTxid!==e.txid)throw new ge(`the node replaced ${s.replacedTxid}, not our ${e.txid}`);return{state:{kind:"replaced",oldTxid:e.txid,newTxid:a.txid},built:a}}o(j6,"replace");var g0=Object.freeze({budgetMs:15e3,backoffMinMs:120,backoffMaxMs:200,silenceMs:3e3});var et=class extends Error{static{o(this,"RetryPolicyError")}constructor(t){super(t);this.name="RetryPolicyError"}};var Eu=class{static{o(this,"RetryPolicy")}config;#e;#t;#n;#r;#a;#c=0;#s=0;#i=0;#d=0;#o;constructor(t,n=Math.random,r=g0){if(!(r.backoffMinMs>=0&&r.backoffMaxMs>=r.backoffMinMs&&r.budgetMs>0&&r.silenceMs>0))throw new et("invalid retry policy configuration");this.#e=t;this.#t=n;this.config=r}start(){if(this.#n!==void 0)throw new et("retry policy already started");this.#n=this.#e.now()}get startedAt(){if(this.#n===void 0)throw new et("retry policy not started");return this.#n}get deadline(){const t=this.#o===void 0?0:Math.max(0,this.#e.now()-this.#o);return this.startedAt+this.config.budgetMs+this.#d+t}pause(){if(this.#o===void 0)this.#o=this.#e.now()}resume(){if(this.#o===void 0)return;this.#d+=Math.max(0,this.#e.now()-this.#o);this.#o=void 0}get pausedMs(){return this.#d+(this.#o===void 0?0:Math.max(0,this.#e.now()-this.#o))}get rereads(){return this.#i}get pending(){return this.#r}onState(t){const n=this.#e.now();this.#a=t;switch(t.kind){case"built":case"signed":throw new et(`state ${t.kind} is not a submission outcome`);case"accepted":case"confirmed":return this.#f({kind:"done",txid:t.txid});case"replaced":return this.#f({kind:"superseded",newTxid:t.newTxid});case"script-failed":return this.#u("script-failed",t);case"failed":return this.#u("failed",t);case"submitted":case"already-in-mempool":return this.#p(t.txid,n,t);case"lost-race":if(t.cause==="mempool-spent"&&t.winnerTxid!==void 0){if(n>=this.deadline)return this.#u("busy",t);return this.#f({kind:"await-winner",winnerTxid:t.winnerTxid,until:Math.min(n+this.config.silenceMs,this.deadline)})}return this.#l(n,t);case"fee-too-low":if(this.#c>=1)return this.#u("builder-bug",t);if(n>=this.deadline)return this.#u("busy",t);this.#c++;return this.#f({kind:"rebuild-with-fee",minFeeSompi:t.requiredSompi});case"budget-too-low":{const r=Kr(t.limit);if(this.#s>=1||t.inputIndex<0||r===void 0)return this.#u("builder-bug",t);if(n>=this.deadline)return this.#u("busy",t);this.#s++;return this.#f({kind:"patch-budget",inputIndex:t.inputIndex,budget:Math.max(r+1,cs(t.used))})}}}onWinnerAccepted(t){const n=this.#r;if(n?.kind!=="await-winner"||n.winnerTxid!==t)throw new et(`not waiting for ${t}`);const r=this.config.backoffMaxMs-this.config.backoffMinMs+1;const a=this.#t();if(!(a>=0&&a<1))throw new et(`random source returned ${a}`);return this.#l(this.#e.now()+this.config.backoffMinMs+Math.floor(a*r),this.#a)}onWinnerInTip(t){const n=this.#r;if(n?.kind!=="await-winner"||n.winnerTxid!==t)throw new et(`not waiting for ${t}`);return this.#l(this.#e.now(),this.#a)}onTimer(){const t=this.#e.now();const n=this.#r;if(n===void 0)throw new et("no pending action");if(n.kind==="await-winner"&&t>=n.until)return this.#l(t,this.#a);if(n.kind==="await-acceptance"&&t>=n.until)return t>=this.deadline?this.#u("busy",this.#a):this.#f({kind:"check-status",txid:n.txid});return n}onStatus(t){const n=this.#e.now();const r=this.#a;const a=this.#r?.kind==="check-status"||this.#r?.kind==="await-acceptance"?this.#r.txid:void 0;if(a===void 0||r===void 0)throw new et("no transaction in flight");if(t==="accepted")return this.#f({kind:"done",txid:a});if(t==="in-mempool")return this.#p(a,n,r);return this.#l(n,{kind:"lost-race",txid:a,cause:"orphan"})}#p(t,n,r){if(n>=this.deadline)return this.#u("busy",r);return this.#f({kind:"await-acceptance",txid:t,until:Math.min(n+this.config.silenceMs,this.deadline)})}#l(t,n){if(t>=this.deadline)return this.#u("busy",n);this.#i++;return this.#f({kind:"reread",at:t})}#u(t,n){return this.#f({kind:"give-up",reason:t,state:n})}#f(t){this.#r=t;return t}};function G6(e){if(!Number.isInteger(e.slippageBps)||e.slippageBps<0||e.slippageBps>pc)throw new et(`slippage ${e.slippageBps} bps out of range`);if(e.quoted<=0n||e.requoted<0n)throw new et("quotes must be positive");const t=BigInt(e.slippageBps);return e.side==="cost"?e.requoted*10000n<=e.quoted*(10000n+t):e.requoted*10000n>=e.quoted*(10000n-t)}o(G6,"withinSlippage");async function q6(e,t=g0){const n=new Eu(e.clock,e.random??Math.random,t);n.start();let r=0;let a=0;let s={};let i;let c;const d=o(m=>e.onState?.(m,c??i),"report");const l=o(m=>({outcome:m,built:c??i,submissions:r,rebuilds:a,elapsedMs:e.clock.now()-n.startedAt}),"finish");const u=o(async m=>{n.pause();try{return await m()}finally{n.resume()}},"person");let p={kind:"reread",at:e.clock.now()};for(;;){switch(p.kind){case"done":case"give-up":case"superseded":return l(p);case"reread":case"rebuild-with-fee":{if(p.kind==="reread")await e.sleepUntil(p.at);else s={...s,minFeeSompi:p.minFeeSompi};if(i!==void 0)a++;i=await e.build(s);d({kind:"built"});if(a>0&&e.approve!==void 0&&!await u(()=>e.approve(i,a))){const m={kind:"failed",reason:"price moved beyond the accepted slippage"};d(m);return l({kind:"give-up",reason:"failed",state:m})}c=await u(()=>e.sign(i));d({kind:"signed"});p=await g(c);break}case"patch-budget":{const m=e.patchBudget(c,p.inputIndex,p.budget);if(m===void 0){s={...s,budget:{inputIndex:p.inputIndex,budget:p.budget}};if(i!==void 0)a++;i=await e.build(s);d({kind:"built"});c=await u(()=>e.sign(i));d({kind:"signed"});p=await g(c);break}c=m;d({kind:"signed"});p=await g(c);break}case"await-winner":{const m=await e.waitForAcceptance(p.winnerTxid,p.until);p=m!==void 0?n.onWinnerAccepted(p.winnerTxid):await b(p.until);break}case"await-acceptance":{const m=await e.waitForAcceptance(p.txid,p.until);if(m!==void 0){const y={kind:"accepted",txid:p.txid,acceptingBlueScore:m};d(y);p=n.onState(y)}else{p=await b(p.until)}break}case"check-status":p=n.onStatus(await e.status(p.txid));break}}async function b(m){await e.sleepUntil(m);return n.onTimer()}o(b,"timer");async function g(m){r++;const y=await e.submit(m);d(y);return n.onState(y)}o(g,"submitOnce")}o(q6,"runSubmission");var ua="([0-9a-f]{64})";var qg=new RegExp(`^(?:RPC Server \\(remote error\\) -> )?Rejected transaction ${ua}: (.*)$`,"s");var Wg=new RegExp(`^output \\(${ua}, (\\d+)\\) already spent by transaction ${ua} in the mempool$`);var zg=new RegExp(`^transaction ${ua} is an orphan where orphan is disallowed$`);var Jg=new RegExp(`^transaction ${ua} is already in the mempool$`);var Xg=new RegExp(`^transaction ${ua} was already accepted by the consensus$`);var Yg=/^failed to verify the signature script: script units exceeded the amount committed in the input: used=(\d+), limit=(\d+)$/;var Qg=new RegExp(`^(?:transaction ${ua} is not standard: )?transaction has (\\d+) fees which is under the required amount of (\\d+) for (compute|normalized transient|storage) mass (\\d+)(?: \\(proportional to transaction byte size\\))?$`);var Zg=/^failed to verify the signature script: (?:script ran, but verification failed|false stack entry at end of script execution)$/;var ey={compute:"compute","normalized transient":"transient",storage:"storage"};function ty(e){if(typeof e==="string")return e;const t=e?.message;return typeof t==="string"?t:String(e)}o(ty,"rejectionMessage");function y0(e,t={}){const n=ty(e).trim();const r=qg.exec(n);if(!r)return{kind:"failed",reason:n};const a=r[1];const s=r[2];if(t.txid!==void 0&&t.txid.toLowerCase()!==a)return{kind:"failed",reason:`rejection names ${a}, submitted ${t.txid}: ${n}`};const i=a;const c=Wg.exec(s);if(c)return{kind:"lost-race",txid:i,winnerTxid:c[3],cause:"mempool-spent"};const d=zg.exec(s);if(d&&d[1]===i)return{kind:"lost-race",txid:i,cause:"orphan"};const l=Jg.exec(s);if(l&&l[1]===i)return{kind:"already-in-mempool",txid:i};const u=Xg.exec(s);if(u&&u[1]===i)return{kind:"already-in-mempool",txid:i};const p=Yg.exec(s);if(p){const g=Number(p[1]);const m=Number(p[2]);const y=Kr(m);const k=y===void 0||t.budgets===void 0?-1:t.budgets.indexOf(y);return{kind:"budget-too-low",txid:i,inputIndex:k,used:g,limit:m}}const b=Qg.exec(s);if(b&&(b[1]===void 0||b[1]===i))return{kind:"fee-too-low",txid:i,requiredSompi:BigInt(b[3]),bucket:ey[b[4]]};if(Zg.test(s))return{kind:"script-failed",txid:i};return{kind:"failed",reason:n}}o(y0,"classifyNodeRejection");var ny=10;var hn=class extends Error{static{o(this,"InvalidTransition")}state;event;constructor(t,n,r="not allowed"){super(`submit state ${t.kind} cannot take event ${n.kind}: ${r}`);this.name="InvalidTransition";this.state=t;this.event=n}};var ry=new Set(["script-failed","replaced","failed"]);var ay=new Set(["submitted","already-in-mempool"]);var oy=new Set(["lost-race","fee-too-low","budget-too-low"]);function sy(e){return ry.has(e.kind)}o(sy,"isTerminal");function iy(e){if(e.kind==="replaced")return e.newTxid;return"txid"in e?e.txid:void 0}o(iy,"txidOf");function br(e,t,n){const r=iy(e);if(r!==void 0&&r!==n)throw new hn(e,t,`event names ${n}, state is about ${r}`)}o(br,"sameTx");function cy(e,t){if(t.kind==="failed"){if(sy(e)||e.kind==="confirmed")throw new hn(e,t);return{kind:"failed",reason:t.reason}}switch(e.kind){case"built":if(t.kind==="signed")return{kind:"signed"};break;case"signed":if(t.kind==="submitted"){if(!/^[0-9a-f]{64}$/.test(t.txid))throw new hn(e,t,"txid is not 32-byte hex");return{kind:"submitted",txid:t.txid,at:t.at}}break;case"submitted":case"already-in-mempool":switch(t.kind){case"accepted":br(e,t,t.txid);return{kind:"accepted",txid:t.txid,acceptingBlueScore:t.acceptingBlueScore};case"rejected":{const n=y0(t.error,t.budgets===void 0?{txid:e.txid}:{txid:e.txid,budgets:t.budgets});return n}case"conflict":br(e,t,t.txid);if(t.winnerTxid===t.txid)throw new hn(e,t,"a transaction cannot conflict with itself");return{kind:"lost-race",txid:t.txid,winnerTxid:t.winnerTxid,cause:t.winnerAccepted?"orphan":"mempool-spent"};case"unknown":br(e,t,t.txid);return{kind:"lost-race",txid:t.txid,cause:"orphan"};case"replaced":br(e,t,t.oldTxid);if(t.newTxid===t.oldTxid)throw new hn(e,t,"a replacement has a new txid");return{kind:"replaced",oldTxid:t.oldTxid,newTxid:t.newTxid};default:break}break;case"accepted":if(t.kind==="accepted"){br(e,t,t.txid);return{kind:"accepted",txid:t.txid,acceptingBlueScore:t.acceptingBlueScore}}if(t.kind==="depth"){br(e,t,t.txid);return t.depth>=ny?{kind:"confirmed",txid:t.txid,depth:t.depth}:e}break;case"confirmed":if(t.kind==="depth"){br(e,t,t.txid);return t.depth>e.depth?{kind:"confirmed",txid:e.txid,depth:t.depth}:e}break;case"lost-race":case"fee-too-low":case"budget-too-low":if(t.kind==="rebuilt")return{kind:"built"};if(t.kind==="budget-patched"&&e.kind==="budget-too-low")return{kind:"signed"};if(t.kind==="replaced"&&e.kind==="fee-too-low"){br(e,t,t.oldTxid);return{kind:"replaced",oldTxid:t.oldTxid,newTxid:t.newTxid}}break;default:break}throw new hn(e,t)}o(cy,"nextState");var h0=class{static{o(this,"SubmitMachine")}#e;#t;constructor(t={kind:"built"}){this.#e=t;this.#t=[t]}get state(){return this.#e}get history(){return this.#t}get inFlight(){return ay.has(this.#e.kind)}get retryable(){return oy.has(this.#e.kind)}dispatch(t){const n=cy(this.#e,t);if(n!==this.#e){this.#e=n;this.#t.push(n)}return n}};var wo="mainnet";var bc=class extends Error{static{o(this,"PresetNotAllowedOnNetwork")}preset;networkId;constructor(t,n,r){super(`preset ${t} cannot be launched on ${n}: ${r}`);this.name="PresetNotAllowedOnNetwork";this.preset=t;this.networkId=n}};function v0(e){if(e.networkId!==wo)return;const t=e.curve;const n=fd(t.preset);if(n===void 0)throw new bc(t.preset,e.networkId,"only the Standard family (standard and its price bands) may be launched on mainnet");const r=t.params;const a=r.p0===n.curve.p0&&r.k===n.curve.k&&r.feeBps===n.curve.feeBps&&r.curveLots===n.curve.curveLots&&r.lot===n.lotSize&&r.gradReserve===n.gradLots*n.lotSize;if(!a)throw new bc(t.preset,e.networkId,`its constants are not the ${n.name} preset's`)}o(v0,"assertPresetAllowedOnNetwork");var k0=15*6e4;var dy=6e4;var Ou=class extends Error{static{o(this,"KasPriceRequired")}preset;constructor(t){super(`preset ${t}: a Standard-family launch on mainnet needs the KAS/USD price its band was picked at`);this.name="KasPriceRequired";this.preset=t}};var _u=class extends Error{static{o(this,"KasPriceStale")}asOfMs;nowMs;constructor(t,n){super(`the KAS/USD price is from ${Number.isFinite(t)?new Date(t).toISOString():String(t)}, ${Math.round((n-t)/1e3)} s before now: a launch needs a price at most ${k0/6e4} minutes old`);this.name="KasPriceStale";this.asOfMs=t;this.nowMs=n}};var Ks=class extends Error{static{o(this,"StandardBandMismatch")}preset;kasUsd;expected;constructor(t,n,r,a){super(`preset ${t} is not the Standard band for KAS/USD ${n}${r===void 0?"":` (that is ${r})`}: ${a}`);this.name="StandardBandMismatch";this.preset=t;this.kasUsd=n;this.expected=r}};function w0(e,t,n){const r=e.curve.preset;if(fd(r)===void 0){if(sf(r))throw new Ks(r,t?.usd??Number.NaN,void 0,"it is a legacy band, no longer part of the Standard family");return}if(t===void 0){if(e.networkId===wo)throw new Ou(r);return}const{usd:a,asOfMs:s}=t;if(typeof a!=="number"||!Number.isFinite(a)||a<=0)throw new Ks(r,a,void 0,"the price is not a positive number");if(typeof s!=="number"||!Number.isFinite(s)||n-s>k0||s-n>dy){throw new _u(s,n)}const i=lf(r,a,0);if(!i.accepted)throw new Ks(r,a,i.expected?.name,i.message)}o(w0,"assertBandForPrice");function x0(e){throw new Bt(`contracts/vault/v1/artifacts/${e}/manifest.json`)}o(x0,"splitterOfArtifacts");var S0="qpzry9x8gf2tvdw0s3jn54khce6mua7l";var uy=[0x98f2bc8e61n,0x79b76d99e2n,0xf33e5fb3c4n,0xae2eabe2a8n,0x1e4f43e470n];var yc=0;var ly=1;var fy=8;var mc={0:32,1:33,8:32};var Ae=class extends Error{static{o(this,"AddressError")}constructor(t){super(t);this.name="AddressError"}};function py(e){let t=1n;for(const n of e){const r=t>>35n;t=(t&0x07ffffffffn)<<5n^BigInt(n);for(let a=0;a<5;a++)if(r>>BigInt(a)&1n)t^=uy[a]}return t^1n}o(py,"polymod");function A0(e,t){return py([...[...t].map(n=>n.charCodeAt(0)&31),0,...e,0,0,0,0,0,0,0,0])}o(A0,"checksum");function gc(e,t,n,r){let a=0;let s=0;const i=[];const c=(1<<n)-1;for(const d of e){a=a<<t|d;s+=t;while(s>=n){s-=n;i.push(a>>s&c)}a&=(1<<s)-1}if(r){if(s>0)i.push(a<<n-s&c)}else if(s>=t||(a<<n-s&c)!==0){throw new Ae("address payload has non-zero padding")}return i}o(gc,"convertBits");function Iu(e,t,n){if(!/^[a-z0-9]+$/.test(e))throw new Ae(`invalid address prefix ${JSON.stringify(e)}`);if(n.length!==mc[t])throw new Ae(`version ${t} payload must be ${mc[t]} bytes, got ${n.length}`);const r=gc([t,...n],8,5,true);const a=A0(r,e);const s=[];for(let c=4;c>=0;c--)s.push(Number(a>>BigInt(8*c)&0xffn));const i=gc(s,8,5,true);return`${e}:${[...r,...i].map(c=>S0[c]).join("")}`}o(Iu,"encodeAddress");function Wt(e){const t=e.lastIndexOf(":");if(t<=0)throw new Ae(`address ${JSON.stringify(e)} has no prefix`);const n=e.slice(0,t);const r=e.slice(t+1);if(n!==n.toLowerCase()||r!==r.toLowerCase())throw new Ae("mixed-case address");if(r.length<9)throw new Ae("address too short");const a=[...r].map(b=>{const g=S0.indexOf(b);if(g<0)throw new Ae(`invalid address character ${JSON.stringify(b)}`);return g});const s=a.slice(0,-8);const i=a.slice(-8);const c=gc(i,5,8,false);let d=0n;for(const b of c)d=d<<8n|BigInt(b);if(d!==A0(s,n))throw new Ae("address checksum mismatch");const l=gc(s,5,8,false);const u=l[0];if(u!==0&&u!==1&&u!==8)throw new Ae(`unknown address version ${u}`);const p=Uint8Array.from(l.slice(1));if(p.length!==mc[u])throw new Ae(`version ${u} payload must be ${mc[u]} bytes, got ${p.length}`);return{prefix:n,version:u,payload:p}}o(Wt,"decodeAddress");function bt(e){if(e==="mainnet")return"kaspa";if(e==="devnet")return"kaspadev";if(e==="simnet")return"kaspasim";if(/^testnet(-\d+)?$/.test(e))return"kaspatest";throw new Ae(`unknown network ${JSON.stringify(e)}`)}o(bt,"addressPrefixOf");function xo(e){const t=Wt(e);if(t.version!==yc)throw new Ae(`${e} is not a Schnorr P2PK address (version ${t.version})`);return t.payload}o(xo,"xOnlyKeyOfAddress");function T0(e,t){if(e.length===34&&e[0]===32&&e[33]===172)return Iu(t,yc,e.subarray(1,33));if(e.length===35&&e[0]===33&&e[34]===171)return Iu(t,ly,e.subarray(1,34));if(e.length===35&&e[0]===170&&e[1]===32&&e[34]===135)return Iu(t,fy,e.subarray(2,34));return void 0}o(T0,"addressOfScript");var $u="kaspa:qrt0p8sd5g8k383mzxgqtyl7ehkdez8ds8cpxqcuwjdaayke9rjhg9pqnr3zx";var by="mainnet";var la=class extends Error{static{o(this,"TreasuryNotAllowedOnNetwork")}networkId;treasurySpk;constructor(t,n,r){super(`treasury ${n??"(none)"} is not allowed on ${t}: ${r}`);this.name="TreasuryNotAllowedOnNetwork";this.networkId=t;this.treasurySpk=n}};function C0(e,t){const n=Wt(e);if(n.prefix!==t)throw new Error(`${e} is not a ${t} address`);if(n.version!==yc)throw new Error(`${e} is not a Schnorr P2PK address`);return Uint8Array.from([0,0,32,...n.payload,172])}o(C0,"p2pkTreasurySpkOfAddress");function E0(){return h(C0($u,"kaspa"))}o(E0,"mainnetCompanySpk");function O0(){const e=E0();let t;try{t=x0(by)}catch(n){if(n instanceof Bt)return[e];throw n}if(h(t.companySpk)!==e){throw new la(wo,h(t.spk),`the mainnet Splitter pays company script ${h(t.companySpk)}, not ${e} (${$u})`)}return[e,h(t.spk)]}o(O0,"mainnetTreasurySpks");var P0;function hc(e){if(e!==wo)return void 0;P0??=O0();return P0}o(hc,"allowedTreasurySpks");function Lu(e,t=hc(e.networkId)){if(t===void 0)return void 0;const n=e.curve.params.treasurySpk;const r=e.pool.treasurySpk;const a=`${e.curve.version}:${e.curve.preset}${e.pool.revision===void 0?"":`@${e.pool.revision}`}`;if(n===void 0||r===void 0)return`${a}: the curve or its pool names no treasury`;if(h(n)!==h(r))return`${a}: the curve's treasury ${h(n)} is not its pool's ${h(r)}`;if(!t.includes(h(n)))return`${a}: its treasury is not one of ${t.join(", ")}`;return void 0}o(Lu,"treasuryProblemOf");function Ms(e,t){return Lu(e,t??hc(e.networkId))===void 0}o(Ms,"isTreasuryAllowedOnNetwork");function So(e,t){const n=Lu(e,t??hc(e.networkId));if(n!==void 0){const r=e.curve.params.treasurySpk;throw new la(e.networkId,r===void 0?void 0:h(r),n)}}o(So,"assertTreasuryAllowedOnNetwork");var Vn=class extends Error{static{o(this,"MessageSignatureError")}wallet;constructor(t,n){super(`${t} signMessage: ${n}`);this.name="MessageSignatureError";this.wallet=t}};var Ao=class extends Error{static{o(this,"MessageSigningUnsupported")}wallet;constructor(t,n){super(`${t} cannot sign messages here: ${n}`);this.name="MessageSigningUnsupported";this.wallet=t}};function vc(e,t){if(typeof t!=="string")throw new Vn(e,`expected a hex signature, got ${t===null?"null":typeof t}`);const n=t.trim().replace(/^0x/i,"").toLowerCase();if(!/^[0-9a-f]*$/.test(n)||n.length%2!==0)throw new Vn(e,"the signature is not hex");if(n.length!==128)throw new Vn(e,`expected a 64-byte Schnorr signature, got ${n.length/2} bytes`);return n}o(vc,"kaspaMessageSignature");var Y=class extends Error{static{o(this,"SignRequestError")}constructor(t){super(t);this.name="SignRequestError"}};function my(e){const t=[];for(const n of er(e)){if(n.payload.length===Ce)t.push(n.dataOffset);else if(n.payload.length===Ce+1&&n.payload[0]===0)t.push(n.dataOffset+1)}return t}o(my,"signatureSlotsOf");function gy(e,t,n){if(!Number.isInteger(t)||t<0||t+Ce>e.length){throw new Y(`input ${n}: signature offset ${t} outside the ${e.length}-byte sigscript`)}let r;try{r=my(e)}catch(a){throw new Y(`input ${n}: sigscript is not push-only: ${a.message}`)}if(!r.includes(t))throw new Y(`input ${n}: offset ${t} is not a signature slot of the sigscript (slots ${r.join(", ")||"none"})`);if(e.subarray(t,t+Ce).some(a=>a!==0))throw new Y(`input ${n}: signature slot at ${t} is not empty`)}o(gy,"assertEmptySignatureSlot");function To(e,t,{networkId:n}){let r;try{r=JSON.parse(e)}catch(u){throw new Y(`transaction JSON does not parse: ${u.message}`)}if(!Array.isArray(r.inputs))throw new Y("transaction JSON has no inputs");if(typeof r.id!=="string"||!/^[0-9a-f]{64}$/.test(r.id))throw new Y("transaction JSON has no transaction id");if(t.length===0)throw new Y("no inputs to sign");const a=bt(n);const s=new Set;const i=[];const c=JSON.parse(e);for(const u of[...t].sort((p,b)=>p.index-b.index)){const p=u.index;const b=c.inputs[p];if(!Number.isInteger(p)||b===void 0)throw new Y(`input ${p} does not exist (${c.inputs.length} inputs)`);if(s.has(p))throw new Y(`input ${p} listed twice`);s.add(p);if(u.sighashType!==uo)throw new Y(`input ${p}: sighash type ${String(u.sighashType)} is not SIGHASH_ALL (1)`);if(!b.utxo)throw new Y(`input ${p} has no UTXO entry`);if(b.utxo.isCoinbase===true)throw new Y(`input ${p} spends a coinbase output`);const g=_(b.signatureScript??"");if(u.kind==="p2pk"){if(g.length!==0&&!M(g,ys))throw new Y(`input ${p}: P2PK input does not hold the builder placeholder`);if(u.signatureOffset!==void 0&&u.signatureOffset!==1)throw new Y(`input ${p}: P2PK signature offset ${u.signatureOffset}`)}else{if(u.signatureOffset===void 0)throw new Y(`input ${p}: ${u.kind} without a signature offset`);if(typeof b.utxo.covenantId!=="string"||!/^[0-9a-f]{64}$/.test(b.utxo.covenantId))throw new Y(`input ${p}: covenant input without utxo.covenantId`);gy(g,u.signatureOffset,p);i.push({inputIndex:p,scriptHex:"",prebuiltSignatureScript:h(g),signatureOffsets:[u.signatureOffset],expectedSighash:""})}b.signatureScript=""}for(const[u,p]of c.inputs.entries()){if(p.utxo&&(p.utxo.address===null||p.utxo.address===void 0)){const b=T0(tc(p.utxo.scriptPublicKey).script,a);if(b===void 0)throw new Y(`input ${u}: UTXO script has no address form`);p.utxo.address=b}}const d=JSON.stringify(c);const l=c;return{txJson:d,txid:r.id,signInputs:[...s].sort((u,p)=>u-p).map(u=>({index:u,sighashType:uo})),prebuilt:i.map(u=>({...u,expectedSighash:bu(l,u.inputIndex,uo)}))}}o(To,"prepareSignRequest");function _0(e){if(typeof e==="string")return e;if(e!==null&&typeof e==="object"&&"psktTransactionJson"in e){const t=e.psktTransactionJson;if(typeof t==="string")return t;if(t!==null&&typeof t==="object")return JSON.stringify(t)}throw new Y("wallet returned neither a SafeJSON string nor { psktTransactionJson }")}o(_0,"signedTxJsonOf");function Po(e,t){let n;try{n=JSON.parse(t)}catch(s){throw new Y(`signed transaction does not parse: ${s.message}`)}const r=JSON.parse(e.txJson);if(n.id!==e.txid)throw new Y(`signed transaction id ${String(n.id)} is not the requested ${e.txid}`);if(!Array.isArray(n.inputs)||n.inputs.length!==r.inputs.length)throw new Y("signed transaction has another input count");const a=new Set(e.signInputs.map(s=>s.index));r.inputs.forEach((s,i)=>{const c=n.inputs[i];if(c.transactionId!==s.transactionId||Number(c.index)!==Number(s.index))throw new Y(`signed input ${i} spends another outpoint`);if(!a.has(i)&&(c.signatureScript??"")!==(s.signatureScript??""))throw new Y(`the wallet changed the sigscript of input ${i}, which it was not asked to sign`);if(a.has(i)&&(c.signatureScript??"")==="")throw new Y(`the wallet did not sign input ${i}`)})}o(Po,"assertAnswerMatchesRequest");var fa=class extends Error{static{o(this,"KaspireError")}code;method;constructor(t,n,r){super(`kaspire ${t}${n===void 0?"":` (${n})`}: ${r}`);this.name="KaspireError";this.code=n;this.method=t}get rejectedByUser(){return this.code===4001}};var Gn=class extends Error{static{o(this,"WalletUnavailable")}constructor(t){super(`wallet "${t}" is not available in this browser`);this.name="WalletUnavailable"}};var Me=class extends Error{static{o(this,"WalletNotConnected")}constructor(){super("wallet is not connected");this.name="WalletNotConnected"}};var qn=class extends Error{static{o(this,"WalletNetworkMismatch")}expected;actual;constructor(t,n){super(`wallet is on network ${JSON.stringify(n)}, expected ${t}`);this.name="WalletNetworkMismatch";this.expected=t;this.actual=n}};var ke=class extends Error{static{o(this,"WalletAccountMismatch")}constructor(t){super(t);this.name="WalletAccountMismatch"}};var yy=["accountsChanged","networkChanged"];function hy(){const e=globalThis.kaspire;return e!==null&&typeof e==="object"&&typeof e.request==="function"?e:void 0}o(hy,"defaultProvider");var Ru=class{static{o(this,"KaspireAdapter")}id="kaspire";label="Kaspire";network;signing;#e;#t=null;#n;#r=new Set;constructor(t={}){const n=t.provider;this.#e=typeof n==="function"?n:n!==void 0?()=>n:hy;this.network=t.network??"testnet-10";this.signing=t.signing??"b1";bt(this.network)}isAvailable(){return this.#e()!==void 0}getAccount(){return this.#t}onChange(t){this.#r.add(t);return()=>this.#r.delete(t)}async connect(){const t=this.#c();const n=await this.#i(t,"requestAccounts");if(!Array.isArray(n)||n.length===0||typeof n[0]!=="string")throw new fa("requestAccounts",void 0,"no account returned");return this.#a(t,n[0])}async restore(){const t=this.#e();if(t===void 0)return null;const n=await this.#i(t,"getAccounts");if(!Array.isArray(n)||n.length===0||typeof n[0]!=="string")return null;return this.#a(t,n[0],false)}async switchNetwork(){const t=this.#c();await this.#i(t,"switchNetwork",{network:this.network})}async#a(t,n,r=true){this.#d(t);await this.#s(t);let a;try{a=Wt(n)}catch(i){throw new ke(`wallet account ${n} is not a valid address: ${i.message}`)}if(a.prefix!==bt(this.network))throw new ke(`wallet account ${n} is not a ${this.network} address`);let s;try{s=h(xo(n))}catch(i){throw new ke(`wallet account ${n}: ${i.message}`)}if(r){const i=await this.#i(t,"getPublicKey");if(typeof i!=="string"||!/^[0-9a-fA-F]{64}$/.test(i))throw new ke(`getPublicKey returned ${JSON.stringify(i)}, expected a 32-byte x-only key`);if(i.toLowerCase()!==s)throw new ke(`getPublicKey ${i} is not the key of ${n}`)}this.#t={address:n,publicKey:s,network:this.network};return this.#t}async disconnect(){this.#o();this.#t=null;const t=this.#e();if(t===void 0)return;try{await t.request({method:"disconnect"})}catch{}}async signPskt(t,n){const{signed:r}=await this.signRequest(t,n);return r}async signRequest(t,n){const r=this.#t;if(r===null)throw new Me;const a=this.#c();await this.#s(a);if(this.#t!==r)throw new Me;const s=To(t,n,{networkId:this.network});const i=this.signing==="b2"&&s.prebuilt.length>0?{sender:r.address,psktTransactionJson:s.txJson,submitTransaction:false,signInputs:s.signInputs,scripts:s.prebuilt}:{sender:r.address,txJsonString:s.txJson,options:{signInputs:s.signInputs}};const c=await this.#i(a,"signPskt",i);const d=_0(c);Po(s,d);return{request:s,signed:d}}async signMessage(t){const n=this.#t;if(n===null)throw new Me;const r=this.#c();await this.#s(r);if(this.#t!==n)throw new Me;const a=await this.#i(r,"signMessage",{message:t,address:n.address});if(a===null||typeof a!=="object")throw new Vn("kaspire","expected { publicKey, signedMessage }");const s=a;if(s.address!==void 0&&s.address!==n.address)throw new ke(`signMessage answered for ${String(s.address)}, not ${n.address}`);if(s.publicKey!==void 0&&(typeof s.publicKey!=="string"||s.publicKey.toLowerCase()!==n.publicKey)){throw new ke(`signMessage signed with ${String(s.publicKey)}, not the key of ${n.address}`)}return vc("kaspire",s.signedMessage??s.signature)}#c(){const t=this.#e();if(t===void 0)throw new Gn(this.id);return t}async#s(t){const n=await this.#i(t,"getNetwork");if(n!==this.network){this.#t=null;throw new qn(this.network,n)}}async#i(t,n,r){try{return await t.request(r===void 0?{method:n}:{method:n,params:r})}catch(a){const s=a;throw new fa(n,typeof s?.code==="number"?s.code:void 0,typeof s?.message==="string"?s.message:String(a))}}#d(t){if(this.#n?.provider===t)return;this.#o();if(typeof t.on!=="function")return;const n=new Map;for(const r of yy){const a=o((...s)=>this.#p(r==="accountsChanged"?{kind:"accounts-changed",payload:s[0]}:{kind:"network-changed",payload:s[0]}),"listener");t.on(r,a);n.set(r,a)}this.#n={provider:t,listeners:n}}#o(){const t=this.#n;this.#n=void 0;if(!t||typeof t.provider.removeListener!=="function")return;for(const[n,r]of t.listeners)t.provider.removeListener(n,r)}#p(t){this.#t=null;for(const n of[...this.#r]){try{n(t)}catch{}}}};function _5(e={}){return new Ru(e)}o(_5,"createKaspireAdapter");async function I5(e,t){const n=e.getAccount?.()?.publicKey;const r=await e.signPskt(t.txJson,t.inputsToSign);return ac(t,r,n===void 0?{}:{signer:n})}o(I5,"signBuilt");var vn=class extends Error{static{o(this,"KasWareError")}code;method;constructor(t,n,r){super(`kasware ${t}${n===void 0?"":` (${n})`}: ${r}`);this.name="KasWareError";this.code=n;this.method=t}get rejectedByUser(){return this.code===4001}};var kc={kaspa_mainnet:"mainnet",kaspa_testnet_10:"testnet-10",kaspa_testnet_11:"testnet-11",kaspa_testnet_12:"testnet-12",kaspa_devnet:"devnet"};function vy(e){if(typeof e!=="string")return void 0;return kc[e]??(Object.values(kc).includes(e)?e:void 0)}o(vy,"networkOfKasWare");function I0(e){const t=Object.keys(kc).find(n=>kc[n]===e);if(t===void 0)throw new Ae(`KasWare has no network for ${JSON.stringify(e)}`);return t}o(I0,"kasWareNetworkOf");function Nu(e){if(typeof e!=="string")return void 0;const t=e.toLowerCase().replace(/^0x/,"");if(/^[0-9a-f]{64}$/.test(t))return t;if(/^0[23][0-9a-f]{64}$/.test(t))return t.slice(2);return void 0}o(Nu,"xOnlyOfReportedKey");function ky(e){if(typeof e==="string")return e;if(e!==null&&typeof e==="object"){const t=e;for(const n of["txJsonString","psktTransactionJson","signedTxJson","tx"]){const r=t[n];if(typeof r==="string")return r;if(r!==null&&typeof r==="object"&&Array.isArray(r.inputs))return JSON.stringify(r)}if(Array.isArray(t.inputs))return JSON.stringify(t)}throw new Y("KasWare returned no signed transaction JSON")}o(ky,"kasWareSignedJsonOf");function wy(e){try{const t=JSON.parse(e);return(t.inputs??[]).map((n,r)=>{const a=n.signatureScript??"";return{input:r,bytes:a.length/2,head:a.slice(0,2),tail:a.slice(-2)}})}catch{return"unparseable"}}o(wy,"sigScriptSummary");var xy=["accountsChanged","networkChanged"];function Sy(){const e=globalThis.kasware;return e!==null&&typeof e==="object"&&typeof e.requestAccounts==="function"?e:void 0}o(Sy,"defaultProvider");var Uu=class{static{o(this,"KasWareAdapter")}id="kasware";label="KasWare";network;#e;#t;#n=null;#r;#a=new Set;constructor(t={}){const n=t.provider;this.#e=typeof n==="function"?n:n!==void 0?()=>n:Sy;this.network=t.network??"testnet-10";this.#t=t.log===void 0?(...r)=>console.info(...r):t.log;bt(this.network);I0(this.network)}isAvailable(){return this.#e()!==void 0}getAccount(){return this.#n}onChange(t){this.#a.add(t);return()=>this.#a.delete(t)}async connect(){const t=this.#s();const n=await this.#d("requestAccounts",()=>t.requestAccounts());if(!Array.isArray(n)||n.length===0||typeof n[0]!=="string")throw new vn("requestAccounts",void 0,"no account returned");return this.#c(t,n[0])}async restore(){const t=this.#e();if(t===void 0||typeof t.getAccounts!=="function")return null;const n=await this.#d("getAccounts",()=>t.getAccounts());const r=typeof n==="string"?n===""?[]:[n]:n;if(!Array.isArray(r)||r.length===0||typeof r[0]!=="string")return null;return this.#c(t,r[0])}async switchNetwork(){const t=this.#s();if(typeof t.switchNetwork!=="function")throw new vn("switchNetwork",4200,"this KasWare has no switchNetwork");await this.#d("switchNetwork",()=>t.switchNetwork(I0(this.network)))}async#c(t,n){this.#o(t);await this.#i(t);let r;try{r=Wt(n)}catch(c){throw new ke(`wallet account ${n} is not a valid address: ${c.message}`)}if(r.prefix!==bt(this.network))throw new ke(`wallet account ${n} is not a ${this.network} address`);let a;try{a=h(xo(n))}catch(c){throw new ke(`wallet account ${n}: ${c.message}`)}const s=await this.#d("getPublicKey",()=>t.getPublicKey());this.#t?.("[kasware] getPublicKey ->",s);const i=Nu(s);if(i===void 0)throw new ke(`getPublicKey returned ${JSON.stringify(s)}, expected a 33-byte compressed or 32-byte x-only key`);if(i!==a)throw new ke(`getPublicKey ${String(s)} is not the key of ${n}`);this.#n={address:n,publicKey:a,network:this.network};return this.#n}async disconnect(){this.#p();this.#n=null;const t=this.#e();if(t===void 0||typeof t.disconnect!=="function")return;try{const n=globalThis.location?.origin;await t.disconnect(n)}catch{}}async signPskt(t,n){const{signed:r}=await this.signRequest(t,n);return r}async signRequest(t,n){const r=this.#n;if(r===null)throw new Me;const a=this.#s();await this.#i(a);if(this.#n!==r)throw new Me;const s=To(t,n,{networkId:this.network});const i={txJsonString:s.txJson,options:{signInputs:s.signInputs}};this.#t?.("[kasware] signPskt request",{txid:s.txid,inputsToSign:n.map(l=>({index:l.index,kind:l.kind,signatureOffset:l.signatureOffset})),options:i.options});this.#t?.("[kasware] signPskt txJsonString",s.txJson);let c;try{c=await this.#d("signPskt",()=>a.signPskt(i))}catch(l){this.#t?.("[kasware] signPskt error",l instanceof vn?{code:l.code,message:l.message}:l);throw l}this.#t?.("[kasware] signPskt raw response",typeof c==="string"?c:JSON.stringify(c));const d=ky(c);this.#t?.("[kasware] signPskt signature scripts",wy(d));Po(s,d);return{request:s,signed:d}}async signMessage(t){const n=this.#n;if(n===null)throw new Me;const r=this.#s();if(typeof r.signMessage!=="function")throw new Ao("KasWare","this version has no signMessage");await this.#i(r);if(this.#n!==n)throw new Me;this.#t?.("[kasware] signMessage request",{message:t});let a;try{a=await this.#d("signMessage",()=>r.signMessage(t,{type:"schnorr"}))}catch(s){this.#t?.("[kasware] signMessage error",s instanceof vn?{code:s.code,message:s.message}:s);throw s}this.#t?.("[kasware] signMessage raw response",a);return vc("kasware",a)}#s(){const t=this.#e();if(t===void 0)throw new Gn(this.id);return t}async#i(t){const n=await this.#d("getNetwork",()=>t.getNetwork());const r=vy(n);if(r!==this.network){this.#n=null;throw new qn(this.network,r??n)}}async#d(t,n){try{return await n()}catch(r){const a=r;throw new vn(t,typeof a?.code==="number"?a.code:void 0,typeof a?.message==="string"?a.message:String(r))}}#o(t){if(this.#r?.provider===t)return;this.#p();if(typeof t.on!=="function")return;const n=new Map;for(const r of xy){const a=o((...s)=>{this.#t?.(`[kasware] ${r}`,s[0]);this.#l(r==="accountsChanged"?{kind:"accounts-changed",payload:s[0]}:{kind:"network-changed",payload:s[0]})},"listener");t.on(r,a);n.set(r,a)}this.#r={provider:t,listeners:n}}#p(){const t=this.#r;this.#r=void 0;if(!t||typeof t.provider.removeListener!=="function")return;for(const[n,r]of t.listeners)t.provider.removeListener(n,r)}#l(t){this.#n=null;for(const n of[...this.#a]){try{n(t)}catch{}}}};function M5(e={}){return new Uu(e)}o(M5,"createKasWareAdapter");var Ay=["mainnet","testnet-10"];var $0=4200;var mt=class extends Error{static{o(this,"KastleError")}code;method;constructor(t,n,r){super(`kastle ${t}${n===void 0?"":` (${n})`}: ${r}`);this.name="KastleError";this.code=n;this.method=t}get rejectedByUser(){return this.code===4001}get covenantRefused(){return this.method==="signTx"&&this.code===$0}};function Ty(e){if(typeof e==="string")return e;if(e!==null&&typeof e==="object"&&Array.isArray(e.inputs))return JSON.stringify(e);throw new Y("Kastle returned no signed transaction JSON")}o(Ty,"kastleSignedJsonOf");function Py(e){if(typeof e==="string"){const t=e.toLowerCase().replace(/^0x/,"");if(/^[0-9a-f]{128}$/.test(t))return t}throw new mt("signMessage",void 0,`expected a 64-byte hex signature, got ${JSON.stringify(e)}`)}o(Py,"kastleMessageSignatureOf");function Cy(e){try{const t=JSON.parse(e);return(t.inputs??[]).map((n,r)=>{const a=n.signatureScript??"";return{input:r,bytes:a.length/2,head:a.slice(0,2),tail:a.slice(-2)}})}catch{return"unparseable"}}o(Cy,"sigScriptSummary");var Ey=["accountsChanged","networkChanged"];function Oy(){const e=globalThis.kastle;return e!==null&&typeof e==="object"&&typeof e.signTx==="function"?e:void 0}o(Oy,"defaultProvider");var Bu=class{static{o(this,"KastleAdapter")}id="kastle";label="Kastle";network;#e;#t;#n=null;#r;#a=new Set;constructor(t={}){const n=t.provider;this.#e=typeof n==="function"?n:n!==void 0?()=>n:Oy;this.network=t.network??"testnet-10";this.#t=t.log===void 0?(...r)=>console.info(...r):t.log;bt(this.network);if(!Ay.includes(this.network))throw new Ae(`Kastle has no network ${JSON.stringify(this.network)}`)}isAvailable(){return this.#e()!==void 0}getAccount(){return this.#n}onChange(t){this.#a.add(t);return()=>this.#a.delete(t)}async connect(){const t=this.#s();const n=await this.#o("connect",()=>t.connect());if(n!==true)throw new mt("connect",void 0,`connection not approved (${JSON.stringify(n)})`);await this.#d(t);return this.#c(t)}async restore(){const t=this.#e();if(t===void 0)return null;try{await t.getAccount()}catch{return null}return this.#c(t)}async#c(t){this.#p(t);await this.#i(t);const n=await this.#o("getAccount",()=>t.getAccount());this.#t?.("[kastle] getAccount ->",n);const r=n??{};if(typeof r.address!=="string")throw new mt("getAccount",void 0,"no account returned");const a=r.address;let s;try{s=Wt(a)}catch(d){throw new ke(`wallet account ${a} is not a valid address: ${d.message}`)}if(s.prefix!==bt(this.network))throw new ke(`wallet account ${a} is not a ${this.network} address`);let i;try{i=h(xo(a))}catch(d){throw new ke(`wallet account ${a}: ${d.message}`)}const c=Nu(r.publicKey);if(c===void 0)throw new ke(`getAccount returned the key ${JSON.stringify(r.publicKey)}, expected a 33-byte compressed or 32-byte x-only key`);if(c!==i)throw new ke(`getAccount key ${String(r.publicKey)} is not the key of ${a}`);this.#n={address:a,publicKey:i,network:this.network};return this.#n}async disconnect(){this.#l();this.#n=null;const t=this.#e();if(t===void 0||typeof t.disconnect!=="function")return;try{await t.disconnect()}catch{}}async signPskt(t,n){const{signed:r}=await this.signRequest(t,n);return r}async signRequest(t,n){const r=this.#n;if(r===null)throw new Me;const a=this.#s();await this.#i(a);if(this.#n!==r)throw new Me;const s=To(t,n,{networkId:this.network});const i=s.signInputs.map(l=>({inputIndex:l.index,signType:"All"}));this.#t?.("[kastle] signTx request",{networkId:this.network,txid:s.txid,inputsToSign:n.map(l=>({index:l.index,kind:l.kind,signatureOffset:l.signatureOffset})),scripts:i});this.#t?.("[kastle] signTx txJson",s.txJson);let c;try{c=await this.#o("signTx",()=>a.signTx(this.network,s.txJson,i))}catch(l){this.#t?.("[kastle] signTx error",l instanceof mt?{code:l.code,message:l.message,covenantRefused:l.covenantRefused}:l);throw l}this.#t?.("[kastle] signTx raw response",typeof c==="string"?c:JSON.stringify(c));const d=Ty(c);this.#t?.("[kastle] signTx signature scripts",Cy(d));Po(s,d);return{request:s,signed:d}}async signMessage(t){const n=this.#n;if(n===null)throw new Me;const r=this.#s();if(typeof r.signMessage!=="function")throw new mt("signMessage",$0,"this Kastle version has no signMessage");await this.#i(r);if(this.#n!==n)throw new Me;this.#t?.("[kastle] signMessage request",t);let a;try{a=await this.#o("signMessage",()=>r.signMessage(t))}catch(s){this.#t?.("[kastle] signMessage error",s instanceof mt?{code:s.code,message:s.message}:s);throw s}this.#t?.("[kastle] signMessage raw response",a);return Py(a)}#s(){const t=this.#e();if(t===void 0)throw new Gn(this.id);return t}async#i(t){const n=await this.#o("getNetwork",()=>t.getNetwork());if(n!==this.network){this.#n=null;throw new qn(this.network,n)}}async#d(t){if(this.#t===null||typeof t.getVersion!=="function")return;try{this.#t("[kastle] getVersion ->",await t.getVersion())}catch{}}async#o(t,n){try{return await n()}catch(r){if(typeof r==="string")throw new mt(t,r==="User denied"?4001:void 0,r);const a=r;const s=typeof a?.message==="string"?a.message:String(r);const i=typeof a?.code==="number"?a.code:s==="User denied"?4001:void 0;throw new mt(t,i,s)}}#p(t){if(this.#r?.provider===t)return;this.#l();if(typeof t.on!=="function")return;const n=new Map;for(const r of Ey){const a=o((...s)=>{this.#t?.(`[kastle] ${r}`,s[0]);this.#u(r==="accountsChanged"?{kind:"accounts-changed",payload:s[0]}:{kind:"network-changed",payload:s[0]})},"listener");t.on(r,a);n.set(r,a)}this.#r={provider:t,listeners:n}}#l(){const t=this.#r;this.#r=void 0;if(!t||typeof t.provider.removeListener!=="function")return;for(const[n,r]of t.listeners)t.provider.removeListener(n,r)}#u(t){this.#n=null;for(const n of[...this.#a]){try{n(t)}catch{}}}};function W5(e={}){return new Bu(e)}o(W5,"createKastleAdapter");var _y=36;function wc(e,t){if(t.length!==nt)throw new Error(`a creator slot holds ${nt} bytes`);const n=[];e:for(let r=0;r+1+t.length<=e.length;r++){if(e[r]!==_y)continue;for(let a=0;a<t.length;a++)if(e[r+1+a]!==t[a])continue e;n.push(r+1);r+=t.length}return n}o(wc,"creatorSlots");function Ku(e,t){if(!Jt(t))throw new Error("creator script must be a version-0 P2PK script in the 36-byte form");const n=e.curve;const r=wc(n.suffix,n.params.creatorSpk);if(r.length===0)throw new Error(`preset ${n.preset}: no creator slot in the compiled suffix`);const a=Uint8Array.from(n.suffix);for(const c of r)a.set(t,c);const s=n.bytecode.subarray(n.stateOffset,n.stateOffset+n.stateLength);const i={...n,suffix:a,bytecode:E(n.prefix,s,a),templateHash:Lt(n.prefix,a),params:{...n.params,creatorSpk:Uint8Array.from(t)}};return{...e,curve:i}}o(Ku,"instantiateCurve");function L0(e,t){for(const n of t){const r=n.curve;if(e.length!==r.bytecode.length||!M(e.subarray(0,r.stateOffset),r.prefix))continue;const a=wc(r.suffix,r.params.creatorSpk)[0];if(a===void 0)continue;const s=e.subarray(r.stateOffset+r.stateLength);const i=s.subarray(a,a+nt);if(!Jt(i))continue;const c=Ku(n,i);if(M(c.curve.suffix,s))return c}return null}o(L0,"contextForCurveProgram");var R0=o((e,t)=>e.state.amount<t.state.amount?1:e.state.amount>t.state.amount?-1:0,"byAmountDesc");function U0(e,t,n={}){const r=n.reserved??new Set;return e.filter(a=>(t===void 0||a.covenantId===t)&&a.state.owner.schemeByte===0&&a.state.amount>0n&&!r.has(B(a.outpoint)))}o(U0,"spendableCells");function nw(e,t,n=Tn){if(t<=0n)throw new Error("amount must be positive");const r=e.reduce((c,d)=>c+d.state.amount,0n);if(r<t)return{kind:"insufficient",available:r};const a=e.find(c=>c.state.amount===t);if(a)return{kind:"exact",cell:a};const s=e.filter(c=>c.state.amount>t).sort(R0);if(s.length>0)return{kind:"needs-split",cell:s[s.length-1],available:r};const i=[...e].sort(R0);for(let c=2;c<=Math.min(n,i.length);c++){const d=Iy(i,c,t);if(d)return{kind:"needs-consolidation",cells:d}}return{kind:"needs-plan",available:r}}o(nw,"selectTokenCells");function Iy(e,t,n){const r=[];const a=o((s,i)=>{if(r.length===t)return i===0n;for(let c=s;c<e.length;c++){const d=e[c];if(d.state.amount>i)continue;r.push(d);if(a(c+1,i-d.state.amount))return true;r.pop()}return false},"rec");return a(0,n)?r:void 0}o(Iy,"subsetOfSize");function N0(e,t,n){const r=new Set;for(const i of t)for(const c of i.built.plan.inputs)if(c.covenantId===void 0)r.add(B(c.outpoint));const a=e.filter(i=>!r.has(B(i.outpoint)));const s=Z(n.address);for(const i of t){const c=i.optimistic.funding.change;if(c)a.push({outpoint:c.outpoint,amount:c.amount,spk:s,daaScore:0n,address:n.address})}return a}o(N0,"remainingFunding");var B0=o(e=>({...e.feeMargin===void 0?{}:{feeMargin:e.feeMargin},...e.feerate===void 0?{}:{feerate:e.feerate}}),"feeOf");function K0(e){const{ctx:t,pool:n,inventory:r,reserve:a,owner:s,shares:i}=e;Rs(n,r,_e(t));const c=Us(n,i,_e(t));const d=B0(e);const l=_s({ctx:t,cells:e.cells,owner:s,funding:e.funding,target:c.dTok,...e.fundingOptions===void 0?{}:{fundingOptions:e.fundingOptions},...d});const u=N0(e.funding,l.transactions,s);const p=e.lpCellValue??$s;const b=p>l.cell.value?p-l.cell.value:0n;const g=or(u,c.dKasScaled*le+b,e.fundingOptions);const m=lc({ctx:t,pool:n,inventory:r,reserve:a,userCell:l.cell,funding:g,changeAddress:s.address,shares:i,lpSafe:e.lpSafe,...e.lpCellValue===void 0?{}:{lpCellValue:e.lpCellValue},...d,...e.tokenId===void 0?{}:{tokenId:e.tokenId},...e.maxAllIn===void 0?{}:{maxAllIn:e.maxAllIn}});const y=[...l.transactions,m];return{plan:l.plan,transactions:y,totalFee:y.reduce((k,w)=>k+w.built.fee,0n),final:m}}o(K0,"buildDepositChain");function M0(e){const{ctx:t,pool:n,inventory:r,reserve:a,owner:s,shares:i}=e;const c=Rs(n,r,_e(t));const d=Ns(n,i,e.minKasOut,e.minTokOut,_e(t));for(const y of e.lpCells)if(y.covenantId!==c)throw new Error(`cell ${B(y.outpoint)} is not of the pool's L ${c}`);const l=B0(e);const u=_s({ctx:t,cells:e.lpCells,owner:s,funding:e.funding,target:i,...e.fundingOptions===void 0?{}:{fundingOptions:e.fundingOptions},...l});const p=e.tokCellValue??Bs(u.cell.value);const b={ctx:t,pool:n,inventory:r,reserve:a,userLpCell:u.cell,changeAddress:s.address,shares:i,tokCellValue:p,...e.minKasOut===void 0?{}:{minKasOut:e.minKasOut},...e.minTokOut===void 0?{}:{minTokOut:e.minTokOut},...l,...e.tokenId===void 0?{}:{tokenId:e.tokenId},...e.minNetOut===void 0?{}:{minNetOut:e.minNetOut}};let g;if(!fc(u.cell.value,p,d.dKasScaled)){try{g=vo(b)}catch(y){if(!(y instanceof Ft))throw y}}if(g===void 0){const y=N0(e.funding,u.transactions,s);g=vo({...b,funding:or(y,0n,e.fundingOptions)})}const m=[...u.transactions,g];return{plan:u.plan,transactions:m,totalFee:m.reduce((y,k)=>y+k.built.fee,0n),final:g}}o(M0,"buildWithdrawalChain");function Xe(e){const t=e.params;if(t.gradReserve%t.lot!==0n)throw new Error(`gradReserve ${t.gradReserve} is not a whole number of lots`);return{name:e.preset,curve:{p0:t.p0,k:t.k,feeBps:t.feeBps,curveLots:t.curveLots},lotSize:t.lot,totalSupply:t.curveLots*t.lot+t.gradReserve,gradLots:t.gradReserve/t.lot,treasurySharePct:zi[xr(e.version)],sweepMinSompi:10n*ve,tokenCellSompi:t.tokenCellKas}}o(Xe,"launchPresetOf");var Mu=class extends Error{static{o(this,"ReservedTickerError")}word;field;constructor(t,n){super(`buildCreate: the ${n} reads as ${t}, which is reserved`);this.name="ReservedTickerError";this.word=t;this.field=n}};var ju=5n*ve;var Fu=5n*ve;function j0(e){const{ctx:t,creatorAddress:n,metadata:r,funding:a}=e;const s=e.prepValue??ju;const i=e.curveValue??Fu;const c=pe(e);const d=t.curve;Ne(t);v0(t);So(t);w0(t,e.kasPrice,e.nowMs??Date.now());let l;if(e.factoryGate?.skip){if(!e.factoryGate.reason)throw new Error("factoryGate.skip needs a reason");l=e.factoryGate.reason;dt(Xe(d))}else{sp(Xe(d))}if(a.length===0)throw new Error("buildCreate: no funding");for(const ye of["name","symbol"]){const he=r[ye];if(typeof he!=="string"||he.trim()==="")throw new Error(`buildCreate: the declaration needs a non-empty ${ye==="symbol"?"ticker (`symbol`)":"name (`name`)"}`)}const u=pf(t.networkId,{name:r.name,ticker:r.symbol},n);if(u!==null)throw new Mu(u.word,u.field);const p=Z(n);const b=Pf(r);const g={tokenCovId:Ve,lotsSold:0n,feeAccrued:0n,phase:wr};const m=Qa(d,g);if(h(m)!==h(d.bytecode))throw new Error("curve genesis program differs from the compiled artifact");const y={name:"tx01 prep + curve genesis",inputs:a.map((ye,he)=>ce(ye,he===0?"creator KAS (prep + genesis funding)":`creator KAS ${he}`)),outputs:[Mn("prep outpoint P2PK(creator)",s,p),pn(t,"CURVE genesis {phase 0}",g,i,void 0,void 0)],residual:Ie(p,"change (creator)"),genesisGroups:[{authorizingInput:0,outputs:[1]}],payload:b,...c};const k=be(y,["prep","curve"],"change",{reserveOutputs:[0]});const w=k.built;const S=w.genesis[0].covenantId;if(w.residualValue===0n&&e.funding2===void 0)throw new Error("tx01 has no change output to fund tx2; pass funding2");const A=w.outputs.findIndex(ye=>ye.label==="change (creator)");const P=e.funding2??[{outpoint:{txid:w.txid,index:A},amount:w.residualValue,spk:p,daaScore:0n,address:n}];const $=$y({ctx:t,creatorAddress:n,prepTxid:w.txid,C:S,prepValue:s,curveValue:i,funding2:P,...c});const{T:L,initCurveState:U,supplyState:z,reserveState:R}=$;const W=$.shaped;const we=W.built;const me=Ly(t,S,L,b,[z,R]);return{tx01:w,tx2:we,prepAndCurveGenesis:k,tokenGenesisInit:W,registration:me,C:S,T:L,payload:b,genesisCurveState:g,initCurveState:U,factoryGateSkipped:l}}o(j0,"buildCreate");function $y(e){const{ctx:t,creatorAddress:n,prepTxid:r,C:a,prepValue:s,curveValue:i,funding2:c}=e;const d=t.curve;const l=d.params;const u=Z(n);const p={tokenCovId:Ve,lotsSold:0n,feeAccrued:0n,phase:wr};const b=Qa(d,p);const g=l.curveLots*l.lot;const m=Ue(g,a);const y=Ue(l.gradReserve,a);const k=ne(t,"KCC20 supply cell {CURVE_SUPPLY, owner C}",m,l.tokenCellKas,void 0,void 0);const w=ne(t,"KCC20 reserve cell {GRAD_RESERVE, owner C}",y,l.tokenCellKas,void 0,void 0);const S={txid:r,index:0};const A=tt(S.txid,S.index,[{index:0,value:k.value,scriptVersion:0,script:k.spk},{index:1,value:w.value,scriptVersion:0,script:w.spk}]);if(A===a)throw new Error("token lineage id collides with the curve id");const P={tokenCovId:_(A),lotsSold:0n,feeAccrued:0n,phase:kt};const $={outpoint:S,amount:s,spk:u,daaScore:0n,address:n};const L={kind:"curve",outpoint:{txid:r,index:1},value:i,covenantId:a,program:b,state:p,daaScore:0n};const U={name:"tx2 token genesis + curve init",inputs:[ce($,"tx01:0 prep outpoint (authorizing input of the T group)"),Vt(L,"tx01:1 CURVE init(prefix, suffix)",Ze(t).curveInit,jf(d,b,t.token.prefix,t.token.suffix)),...c.map((R,W)=>ce(R,W===0?"creator KAS (cell funding + fee)":`creator KAS ${W}`))],outputs:[{...k,cell:k.cell?{...k.cell,covenantId:A}:void 0},{...w,cell:w.cell?{...w.cell,covenantId:A}:void 0},pn(t,"CURVE' {T, 0, 0, active}",P,i,a,1)],residual:Ie(u,"change (creator)"),genesisGroups:[{authorizingInput:0,outputs:[0,1]}],payload:new Uint8Array(0),...pe(e)};const z=be(U,["token-rest","token-reserve","curve"],"change");if(z.built.genesis[0].covenantId!==A)throw new Error(`tx2 genesis id ${z.built.genesis[0].covenantId} != client-side T ${A}`);return{shaped:z,T:A,initCurveState:P,supplyState:m,reserveState:y}}o($y,"buildTokenGenesisInit");function Ly(e,t,n,r,a){const s=e.curve;const i=s.params;return{expectedCurveId:t,curveTemplate:{prefix:h(s.prefix),suffix:h(s.suffix)},params:{preset:s.preset,templateHash:s.templateHash,p0:i.p0.toString(),k:i.k.toString(),lot:i.lot.toString(),curveLots:i.curveLots.toString(),gradReserve:i.gradReserve.toString(),feeBps:i.feeBps.toString(),tokenCellKas:i.tokenCellKas.toString(),openWindowLots:i.openWindowLots.toString(),openWindowMaxLots:i.openWindowMaxLots.toString(),tokenH:i.tokenH,poolH:i.poolH},...i.treasurySpk===void 0?{}:{treasurySpk:h(i.treasurySpk)},contractSet:s.version,creatorSpk:h(i.creatorSpk),declaration:h(r),expectedTokenId:n,genesisStates:a.map(eo)}}o(Ly,"registrationOf");function Du(e,t,n,r){const a=e.curve.params;if(n<=0n)throw new Error("n must be positive");if(t.state.lotsSold+n>a.curveLots)throw new Error(`only ${a.curveLots-t.state.lotsSold} lots remain`);if(t.state.lotsSold<a.openWindowLots&&n>a.openWindowMaxLots)throw new Error(`opening window: at most ${a.openWindowMaxLots} lots per buy while lotsSold < ${a.openWindowLots}`);const s=Fa(Xe(e.curve).curve,t.state.lotsSold,n);if(r!==void 0&&s.total>r)throw new Error(`quote ${s.total} exceeds maxKasIn ${r}`);return s}o(Du,"buyPrecheck");function Ry(e,t){const n=t[0];if(n===void 0)return false;const r=Yf(n.spk);const a=e.curve.params.creatorSpk;return r.length===a.length&&r.every((s,i)=>s===a[i])}o(Ry,"fundedByCreator");function Uy(e,t,n){if(!kd(e.curve))return{};if(t.state.lotsSold!==0n||t.state.feeAccrued!==0n)return{};return Ry(e,n)?{}:{sequence:vd}}o(Uy,"curveBuySequence");function F0(e){const{ctx:t,curve:n,supply:r,buyer:a,n:s,funding:i}=e;dr(`buy(${s})`,e.proofVerdict);if(e.borrowInto!==void 0){throw new jn("borrowed receive into an existing cell: the deployed curve buy requires OpCovInputCount(T) == 1 and a user output of exactly n * lot")}ur(t,n);pt(`curve ${n.covenantId}`,n.state.tokenCovId,e.tokenId);const c=sc(t,n,r);const d=e.userCellValue??Pt;if(d<Je)throw new Error(`user cell value ${d} is below the ${Je} sompi minimum`);if(i.length===0)throw new Error("buy needs at least one funding input");const l=Du(t,n,s,e.maxKasIn);const u=yo(t,[{cell:r,name:"supply"}]);const p=s*t.curve.params.lot;const b=Ue(r.state.amount-p,n.covenantId);const g=e.borrowThreshold===void 0?Bn(p,a.xOnlyPubkey):Bn(p,a.xOnlyPubkey,{borrowScheme:ri,borrowGuard:pl(e.borrowThreshold)});Ke(c,[r],[b,g],Dn);const m={tokenCovId:n.state.tokenCovId,lotsSold:n.state.lotsSold+s,feeAccrued:n.state.feeAccrued+l.fee,phase:kt};const y={name:`buy(${s})`,inputs:[{...Vt(n,`CURVE buy(${s}, user)`,Ze(t).curveBuy,Gd(t.curve,n.program,s,tr(g,t.token.templateHash))),...Uy(t,n,i)},ln(r,[b,g],"KCC20 supply cell (T leader, witness 00)",xe.tokenLeaderCovenant2Out),...i.map(S=>ce(S,"buyer KAS"))],outputs:[pn(t,"CURVE'",m,n.value+l.total,n.covenantId,0),ne(t,"rest (owner C)",b,u,c,1),ne(t,"user cell",g,d,c,1)],residual:Ie(Z(a.address),"change (buyer)"),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};De(y,[n.covenantId,c]);const k=be(y,["curve","token-rest","token-user"],"change");const w=l.total+d+k.built.fee;mo(y.name,w,k.built.fee,e.maxAllIn);return{...k,quote:l,curveNext:m,restNext:b,userNext:g,allIn:w}}o(F0,"buildBuy");function xc(e){return{treasury:e.treasury,creator:e.creator,split:e}}o(xc,"sharesOf");function D0(e){const{ctx:t,curve:n,funding:r}=e;ur(t,n);const a=Ne(t);const s=Xe(t.curve);if(!dp(s,n.state.lotsSold,n.state.feeAccrued))throw new Error(`sweep not allowed: lotsSold ${n.state.lotsSold}, feeAccrued ${n.state.feeAccrued}`);if(r.length===0)throw new Error("sweep needs a funding input for the fee");const i=Xi(a,n.state.feeAccrued);const c=s.treasurySharePct;const d=Cs(i,t.curve.params,{treasury:`treasury (${c} %)`,creator:`creator (${100n-c} %)`});const l={...n.state,feeAccrued:0n};const u={name:"sweep",inputs:[Vt(n,"CURVE sweep()",Ze(t).curveSweep,Wd(t.curve,n.program)),...r.map(p=>ce(p,"KAS (fee)"))],outputs:[pn(t,"CURVE' {feeAccrued 0}",l,n.value-n.state.feeAccrued,n.covenantId,0),...d.outputs],residual:Ie(Z(e.changeAddress)),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};if(uu(i)+i.creator!==n.state.feeAccrued)throw new Error("sweep shares do not add up to the accrual");De(u,[n.covenantId]);return{...be(u,["curve",...d.roles],"change"),curveNext:l,...xc(i)}}o(D0,"buildSweep");function H0(e){const{ctx:t,pool:n,funding:r}=e;if(r.length===0)throw new Error("pool sweep needs a funding input for the fee");const a=Ne(t);mn(t,n);const s=ks(yn(n));const i=Yi(a,s.payout);const c={...n.state,feeAccruedScaled:0n};const d=false;if(n.state.creatorSpk===void 0)throw new Error(`a ${a} pool state without a creator`);const l={treasurySpk:t.pool.treasurySpk,creatorSpk:n.state.creatorSpk??new Uint8Array(0)};const u=Cs(i,l,{treasury:d?"treasury (accrual + dust)":"treasury (half of accrual + dust)",creator:"creator (half of accrual + dust)"},d);const p={name:"pool sweep",inputs:[Gt(n,"POOL sweep()",Ze(t).poolSweep,Xd(t.pool,n.program)),...r.map(g=>ce(g,"KAS (fee)"))],outputs:[ft(t,"POOL' {feeAccruedScaled 0}",c,n.state.kasScaled*le,n.covenantId,0),...u.outputs],residual:Ie(Z(e.changeAddress)),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};if(uu(i)+i.creator!==s.payout)throw new Error("pool sweep shares do not add up to the payout");const b=["pool",...u.roles];De(p,[n.covenantId]);return{...be(p,b,"change"),poolNext:c,payout:s.payout,...xc(i)}}o(H0,"buildPoolSweep");var V0=3;function Sc(e){const{ctx:t,curve:n,reserve:r,supplyEmpty:a,funding:s}=e;const i=t.curve.params;const c=ur(t,n);if(n.state.lotsSold!==i.curveLots)throw new Error(`graduate needs lotsSold == ${i.curveLots}, have ${n.state.lotsSold}`);for(const[R,W]of[["reserve",r],["supply",a]]){if(W.covenantId!==c)throw new Error(`${R} cell is not of lineage T`);if(!Mt(W.state,n.covenantId))throw new Error(`${R} cell is not curve-owned`)}if(r.state.amount!==i.gradReserve)throw new Error(`reserve cell holds ${r.state.amount}, expected ${i.gradReserve}`);if(a.state.amount!==0n)throw new Error(`supply cell holds ${a.state.amount} tokens, expected 0`);const d=yo(t,[{cell:r,name:"reserve"},{cell:a,name:"supply"}]);const l=e.keepSupplyDeposit===true?d-i.tokenCellKas:d;if(s.length===0)throw new Error("graduate needs a KAS input as the pool genesis authorizing input");const u=Ne(t);const p=vp(u,Xe(t.curve),n.value,n.state.feeAccrued);const b=p.escrow;const g=vs(b,i.gradReserve);const m={tokenCovId:n.state.tokenCovId,kasScaled:g.kasScaled,tokenReserve:i.gradReserve,lpShares:Qe,lpCovId:Uint8Array.from(Xa),feeAccruedScaled:0n,creatorSpk:Uint8Array.from(i.creatorSpk)};const y=ft(t,"POOL genesis",m,b,void 0,void 0);const k=tt(s[0].outpoint.txid,s[0].outpoint.index,[{index:0,value:b,scriptVersion:0,script:y.spk}]);if(k===n.covenantId||k===c)throw new Error("pool id collides with C or T");const w=Ue(i.gradReserve,k);Ke(c,[r,a],[w],Dn);const S=Xe(t.curve).treasurySharePct;const A=p.split===void 0?{outputs:[],roles:[]}:Cs(p.split,i,{treasury:`treasury (${S} %)`,creator:`creator (${100n-S} %)`});const P={name:"graduate",inputs:[Vt(n,"CURVE graduate(poolPrefix, poolSuffix)",Ze(t).curveGraduate,Ff(t.curve,n.program,t.pool)),ln(r,[w],"KCC20 reserve cell (T leader, witness 00)",xe.tokenLeaderCovenant1Out),fn(a,"KCC20 empty supply cell (T delegator, empty witness)"),...s.map((R,W)=>ce(R,W===0?"KAS (P genesis authorizing input, fee)":"KAS"))],outputs:[{...y,cell:y.cell?{...y.cell,covenantId:k}:void 0},ne(t,"reserve' (owner P)",w,l,c,1),...A.outputs],residual:Ie(Z(e.changeAddress)),genesisGroups:[{authorizingInput:V0,outputs:[0]}],payload:new Uint8Array(0),...pe(e)};if(P.inputs.length-s.length!==V0)throw new Error("unexpected input layout");const $=["pool","token-reserve",...A.roles];De(P,[n.covenantId,c]);const L=be(P,$,"change");if(L.built.genesis[0].covenantId!==k)throw new Error(`pool genesis id ${L.built.genesis[0].covenantId} != client-side P ${k}`);const U=2+A.outputs.length;if(L.built.outputs.length>U+1||L.built.outputs.some((R,W)=>W>0&&R.binding?.covenantId===k))throw new Error("graduate: output layout is not the pinned one");const z=p.split===void 0?void 0:xc(p.split);return{...L,P:k,poolNext:m,reserveNext:w,escrow:b,dust:g.dust,pooled:p.pooled,treasury:z?.treasury??0n,creator:z?.creator??0n}}o(Sc,"buildGraduate");var pa=10n*ve;var Hu=0;var Vu=1;var Gu=3;var Ny=1;function Ac(e){const{ctx:t,pool:n,funding:r}=e;if(!je(mn(t,n)))throw new Error("bindLp exists in the v1 pool only");if(Uo(n.state))throw new Error(`pool ${n.covenantId} is already bound to L ${h(n.state.lpCovId)}`);if(n.state.lpShares!==Qe)throw new Error(`an unbound pool is at the graduation share count ${Qe}, this one says ${n.state.lpShares}`);if(r.length===0)throw new Error("bindLp needs a KAS input as the L genesis authorizing input");const a=e.inventoryValue??pa;if(a<pa)throw new Error(`inventory cell value ${a} is below TOKEN_CELL_KAS (${pa} sompi)`);const s=n.covenantId;const i=h(n.state.tokenCovId);const c=Ue(iu,s,fs(t.pool,s));const d=ne(t,"L inventory (genesis, owner P)",c,a,void 0,void 0);const l=r[0];const u=tt(l.outpoint.txid,l.outpoint.index,[{index:Vu,value:a,scriptVersion:0,script:d.spk}]);if(u===h(Xa)||u===s||u===i)throw new Error("L collides with 0^32, P or T");const p={...n.state,lpCovId:_(u)};const b=ft(t,"POOL' {lpCovId L}",p,n.value,s,Hu);const g={name:"bindLp",inputs:[Gt(n,"POOL bindLp(tokenPrefix, tokenSuffix)",po(t).poolBindLp,Yd(t.pool,n.program,t.token)),...r.map((y,k)=>ce(y,k===0?"KAS (L genesis authorizing input, inventory funding, fee)":"KAS"))],outputs:[b,{...d,cell:d.cell?{...d.cell,covenantId:u}:void 0}],residual:Ie(Z(e.changeAddress)),genesisGroups:[{authorizingInput:Ny,outputs:[Vu]}],payload:new Uint8Array(0),...pe(e)};De(g,[s]);const m=be(g,["pool","token-reserve"],"change");if(m.built.genesis[0].covenantId!==u)throw new Error(`L genesis id ${m.built.genesis[0].covenantId} != client-side L ${u}`);if(m.built.outputs.length>Gu)throw new Error(`bindLp has ${m.built.outputs.length} outputs, the covenant allows ${Gu}`);if(m.built.outputs[Hu].value!==n.value)throw new Error("pool value must be unchanged by the bind");return{...m,L:u,poolNext:p,inventoryNext:c,budgets:m.built.budgets,fee:m.built.fee}}o(Ac,"buildBindLp");function G0(e){const{ctx:t,changeAddress:n}=e;const r=Sc(e);const a=r.built;const s={kind:"pool",outpoint:{txid:a.txid,index:0},value:a.outputs[0].value,covenantId:r.P,program:ls(t.pool,r.poolNext),state:r.poolNext,daaScore:0n};if(!je(Ne(t)))return{graduate:r,pool:s};const i=Z(n);const c=a.outputs.length-1;if(a.residualValue<=0n||h(a.outputs[c].spk)!==h(i)){throw new Error("graduate pays no change to fund the bind: fund it with at least the inventory value plus both fees")}const d=Wp({txid:a.txid,index:c},a.outputs[c].value,i,n);const l=Ac({ctx:t,pool:s,funding:[d],changeAddress:n,...e.inventoryValue===void 0?{}:{inventoryValue:e.inventoryValue},...e.feeMargin===void 0?{}:{feeMargin:e.feeMargin},...e.feerate===void 0?{}:{feerate:e.feerate}});return{graduate:r,bind:l,pool:s}}o(G0,"buildGraduateAndBind");function qu(e,t,n,r){if(n<=0n||n>t.state.lotsSold)throw new Error(`cannot sell ${n} lots with ${t.state.lotsSold} sold`);const a=zo(Xe(e.curve).curve,t.state.lotsSold,n);if(r!==void 0&&a.total<r)throw new Error(`quote ${a.total} is below minKasOut ${r}`);return a}o(qu,"sellPrecheck");function q0(e){const{ctx:t,curve:n,supply:r,userCell:a,seller:s,n:i}=e;const c=t.curve.params;dr(`sell(${i})`,e.proofVerdict,e.allowUnboundExit===true);ur(t,n);pt(`curve ${n.covenantId}`,n.state.tokenCovId,e.tokenId);const d=sc(t,n,r);lr(a,d,n.covenantId);if(e.expectedTokens!==void 0&&i*c.lot!==e.expectedTokens)throw new Fn(`sell(${i})`,e.expectedTokens,i*c.lot);const l=qu(t,n,i,e.minKasOut);if(a.state.amount!==i*c.lot)throw new Error(`user cell holds ${a.state.amount} tokens, sell(${i}) needs exactly ${i*c.lot}; consolidate or split first`);const u=yo(t,[{cell:r,name:"supply"}]);const p=Ue(r.state.amount+i*c.lot,n.covenantId);Ke(d,[a,r],[p],qt);const b={tokenCovId:n.state.tokenCovId,lotsSold:n.state.lotsSold-i,feeAccrued:n.state.feeAccrued+l.fee,phase:kt};const g={name:`sell(${i})`,inputs:[Ot(a,[p],"KCC20 user cell (T leader, 00 || sig)",Ct(2,1)),fn(r,"KCC20 supply cell (T delegator, empty witness)"),Vt(n,`CURVE sell(${i})`,Ze(t).curveSell,qd(t.curve,n.program,i)),...(e.funding??[]).map(k=>ce(k,"seller KAS (top-up)"))],outputs:[ne(t,"merged (owner C)",p,u,d,0),pn(t,"CURVE'",b,n.value-l.cost+l.fee,n.covenantId,2)],residual:Qr(Z(s.address),"payout (seller)",bn),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};De(g,[n.covenantId,d]);const m=be(g,["token-rest","curve"],"payout");const y=m.built.residualValue-ca(e.funding);go(g.name,y,m.built.fee,e.minNetOut);return{...m,quote:l,curveNext:b,mergedNext:p,payout:m.built.residualValue,netOut:y}}o(q0,"buildSell");var By=100000000n;var W0=ve/20n;var Ky=ve/10n;function Co(e=We,t){try{return xf(e,rs().list(Ni(e,t)))}catch(n){if(t!==void 0)return[];throw n}}o(Co,"committedPresets");function z0(e){const{sources:t}=e;const n=e.networkId;const r=new Map;for(const f of e.contexts??[]){So(f);r.set(f.curve.templateHash,f)}let a=false;const s=e.presets;const i=o((f,v,x)=>{const C=sr(f,n,v,x);So(C);return C},"contextOf");const c=o((f,v,x)=>{const C=sr(f,n,v,x);return Ms(C)?C:void 0},"baseOf");const d=wd(n??on);const l=o((f,v)=>f.pool.revision===v,"isOfRevision");const u=[];const p=o(()=>{if(a)return;for(const f of Va){const v=f===We&&s!==void 0?s:Co(f);for(const x of v){const C=c(x,f);if(C===void 0)continue;u.push(C);if(!r.has(C.curve.templateHash))r.set(C.curve.templateHash,C)}}for(const f of ts(n??on)){for(const v of Co("v1",f)){const x=c(v,"v1",f);if(x===void 0)continue;u.push(x);if(!r.has(x.curve.templateHash))r.set(x.curve.templateHash,x)}}a=true},"loadPresets");const b=o((f,v=We,x=d)=>{p();if(x!==void 0&&x!==d&&!ts(n??on).includes(x)){throw new Error(`revision ${x} is not a ${n??on} build`)}for(const O of r.values())if(O.curve.preset===f&&Ne(O)===v&&l(O,x))return O;const C=i(f,v,x);r.set(C.curve.templateHash,C);return C},"contextFor");const g=o(f=>{p();for(const v of r.values())if(Ne(v)===f&&l(v,d))return v;return void 0},"anyContextOrUndefined");const m=o((f=We)=>{const v=g(f);if(v===void 0)throw new Error(`no ${f} curve context available`);return v},"anyContext");const y=new Map;const k=o(f=>{let v=y.get(f);if(!v){v=new ds(f.curve,f.pool,f.token);y.set(f,v)}return v},"decoderOf");const w=o(f=>{p();for(const x of r.values()){try{if(k(x).decode(f).kind==="curve")return x}catch{}}const v=L0(f,u);if(v!==null){r.set(v.curve.templateHash,v);return v}throw new ta},"contextOfCurveProgram");const S=o(f=>{for(const v of Va){const x=g(v);if(x===void 0)continue;const{stateOffset:C,stateLength:O,templateHash:T}=x.pool;if(f.length>=C+O&&Rt(f,C,O)===T)return x}for(const v of r.values()){if(l(v,d))continue;const{stateOffset:x,stateLength:C,templateHash:O}=v.pool;if(f.length>=x+C&&Rt(f,x,C)===O)return v}throw new Error("pool program matches no known pool template")},"contextOfPoolProgram");const A=o(async()=>{const f=ss(await t.feerate(),"GET /fees");return e.feeMargin===void 0?{feerate:f}:{feerate:f,feeMargin:e.feeMargin}},"feeOptions");const P=o((f={})=>({...e.fundingOptions,...f}),"fundingOpts");function $(f,v){const x=`cell ${v.outpoint.txid}:${v.outpoint.index}`;if(!/^[0-9a-f]{64}$/.test(v.covenantId))throw new Error(`${x}: malformed covenant id`);if(v.amount<=0n)throw new Error(`${x}: non-positive value`);const C=k(f).decode(v.redeemScript);if(C.templateHash!==v.templateHash)throw new Error(`${x}: source template hash ${v.templateHash} != recomputed ${C.templateHash}`);const O={outpoint:{txid:v.outpoint.txid,index:v.outpoint.index},value:v.amount,covenantId:v.covenantId,program:v.redeemScript,daaScore:0n};const T=o((I,G)=>{if(JSON.stringify(I)!==JSON.stringify(G))throw new Error(`${x}: source state differs from the state decoded from its program`)},"differs");switch(C.kind){case"token":T(eo(v.state),eo(C.state));return{kind:"token",...O,state:C.state};case"curve":T(Hi(v.state),Hi(C.state));return{kind:"curve",...O,state:C.state};case"pool":T(Vi(v.state),Vi(C.state));return{kind:"pool",...O,state:C.state}}}o($,"verifiedCell");const L=o((f,v)=>{const x=$(f,v);if(x.kind!=="token")throw new Error(`cell ${v.outpoint.txid}:${v.outpoint.index}: program is a ${x.kind} cell, expected a token cell`);return x},"tokenCellOf");const U=o((f,v)=>{const x=$(f,v);if(x.kind!=="curve")throw new Error(`cell ${v.outpoint.txid}:${v.outpoint.index}: program is a ${x.kind} cell, expected a curve cell`);return x},"curveCellOf");const z=o((f,v)=>{const x=$(f,v);if(x.kind!=="pool")throw new Error(`cell ${v.outpoint.txid}:${v.outpoint.index}: program is a ${x.kind} cell, expected a pool cell`);return x},"poolCellOf");const R=o((f,v)=>{if(v!==void 0&&v.toLowerCase()!==f.toLowerCase())throw new ra(f,v)},"requireCurveOfProof");const W=o(async(f,v)=>{const x=await t.curveHead(f);if(x.covenantId!==f)throw new Error(`curve head of ${x.covenantId}, asked for ${f}`);const C=w(x.redeemScript);const O=U(C,x);pt(`curve ${f}`,O.state.tokenCovId,v);return{ctx:C,curve:O}},"curveOf");async function we(f,v,x=false){const C=h(v.state.tokenCovId);const O=v.covenantId;const[T,I]=await Promise.all([t.tokenCells(C,O).catch(()=>[]),t.covenantCells(O).then(ae=>[ae.supply,ae.reserve],()=>[])]);const G=[];for(const ae of[...I,...T]){try{G.push(L(f,ae))}catch{}}const q=f.curve.params;const J={supply:(q.curveLots-v.state.lotsSold)*q.lot,reserve:q.gradReserve};return Hp(G,C,O,J,x)}o(we,"curveCellsOf");const me=o(async(f,v,x)=>{if(x.length!==32)throw new Error("owner must be a 32-byte x-only public key");const C=h(x);const O=(await t.tokenCells(v,C)).map(T=>L(f,T));for(const T of O){if(T.covenantId!==v)throw new Error(`token cell ${T.outpoint.txid}:${T.outpoint.index} is not of lineage ${v}`);if(h(T.state.owner.identifier)!==C)throw new Error(`token cell ${T.outpoint.txid}:${T.outpoint.index} is not owned by ${C}`)}return U0(O,v)},"userCellsOf");const ye=o(async(f,v,x)=>{if(x!==void 0&&x.toLowerCase()!==f.toLowerCase())throw new aa(f,x);const C=await t.poolCell(f);if(C.covenantId!==f)throw new Error(`pool cell of ${C.covenantId}, asked for ${f}`);const O=S(C.redeemScript);const T=z(O,C);yn(T);const I=pt(`pool ${f}`,T.state.tokenCovId,v);const G=Vp((await t.tokenCells(I,f)).map(q=>L(O,q)),I,f,T.state.tokenReserve);return{ctx:O,pool:T,poolToken:G,T:I}},"poolOf");const he=o(async(f,v,x,C)=>{const{ctx:O,pool:T,poolToken:I,T:G}=await ye(f,x,C);const q=Ls(T);if(v!==void 0)d0(v,T.state);const J=xs({...yn(T),lpShares:T.state.lpShares},_e(O));const ae=(await t.tokenCells(q,f)).map(re=>L(O,re)).find(re=>oc(re,q,f)&&re.state.amount===J);if(ae===void 0)throw new Error(`no pool-owned L inventory cell holds ${J} (borrowing disabled, guard 0)`);return{ctx:O,pool:T,reserve:I,inventory:ae,T:G,L:q}},"boundPoolOf");const $e=o(async(f,v,x={})=>or(await t.funding(f),v,P(x)),"fundingFor");const It=o((f,v)=>{const x=wu(f.map(I=>({id:B(I.outpoint),amount:I.state.amount})),v);const C=new Map(f.map(I=>[B(I.outpoint),I]));const O=x.steps[0];if(x.steps.length===1&&O?.kind==="split")return new sa(C.get(O.input).outpoint,O.carve);const T=x.steps.flatMap(I=>I.kind==="merge"?I.inputs:[]).flatMap(I=>C.has(I)?[C.get(I).outpoint]:[]);return new oa(T,x.steps.length)},"needsOf");const Wn={async buildCreate(f){const v=b(f.preset,f.contractSet??We,f.revision??d);const x=await A();const C=f.prepValue??ju;const O=f.curveValue??Fu;const T=await $e(f.creator,C+O+2n*v.curve.params.tokenCellKas,{feeAllowance:Ky});const I=j0({ctx:v,creatorAddress:f.creator,metadata:f.metadata,funding:T,prepValue:C,curveValue:O,...x,...f.factoryGate===void 0?{}:{factoryGate:f.factoryGate},...f.kasPrice===void 0?{}:{kasPrice:f.kasPrice}});return{prepAndCurveGenesis:Se(I.prepAndCurveGenesis),tokenGenesisInit:Se(I.tokenGenesisInit),registration:I.registration}},async buildBuy(f){dr(`buy(${f.lots})`,f.proofVerdict);R(f.covenantId,f.expectedCurveId);if(f.borrowInto!==void 0){throw new jn("borrowed receive into an existing cell: the deployed curve buy requires OpCovInputCount(T) == 1 and a user output of exactly n * lot")}const{ctx:v,curve:x}=await W(f.covenantId,f.tokenId);const{supply:C}=await we(v,x);const O=Du(v,x,f.lots,f.maxKasIn);const T=f.userCellValue??Pt;const I=await A();const G=await $e(f.buyer,O.total+T);return Se(F0({ctx:v,curve:x,supply:C,buyer:{xOnlyPubkey:f.buyerXOnlyPubkey,address:f.buyer},n:f.lots,proofVerdict:f.proofVerdict,funding:G,userCellValue:T,...I,...f.maxKasIn===void 0?{}:{maxKasIn:f.maxKasIn},...f.tokenId===void 0?{}:{tokenId:f.tokenId},...f.maxAllIn===void 0?{}:{maxAllIn:f.maxAllIn}}))},async buildSell(f){const v=f.allowUnboundExit===true;dr(`sell(${f.lots})`,f.proofVerdict,v);R(f.covenantId,f.expectedCurveId);const{ctx:x,curve:C}=await W(f.covenantId,f.tokenId);const O=f.lots*x.curve.params.lot;if(f.expectedTokens!==void 0&&O!==f.expectedTokens)throw new Fn(`sell(${f.lots})`,f.expectedTokens,O);const{supply:T}=await we(x,C);const I=qu(x,C,f.lots,f.minKasOut);const G=h(C.state.tokenCovId);const q=await me(x,G,f.sellerXOnlyPubkey);const J=q.find($o=>$o.state.amount===O);if(!J)throw It(q,O);const ae=await A();const re=J.value+I.total<bn+W0;const Te=re?await $e(f.seller,0n):[];return Se(q0({ctx:x,curve:C,supply:T,userCell:J,seller:{address:f.seller},n:f.lots,proofVerdict:f.proofVerdict,allowUnboundExit:v,funding:Te,...ae,...f.expectedTokens===void 0?{}:{expectedTokens:f.expectedTokens},...f.minKasOut===void 0?{}:{minKasOut:f.minKasOut},...f.tokenId===void 0?{}:{tokenId:f.tokenId},...f.minNetOut===void 0?{}:{minNetOut:f.minNetOut}}))},async buildSwap(f){if(f.side==="kas->tok")dr(`swapKasForTokens(${f.amountIn})`,f.proofVerdict);const{ctx:v,pool:x,poolToken:C,T:O}=await ye(f.poolId,f.tokenId,f.expectedPoolId);const T=await A();const I=f.tokenId===void 0?{}:{tokenId:f.tokenId};if(f.side==="kas->tok"){const zn=Pt;const u1=await $e(f.trader,f.amountIn*le+zn+(f.deliverToScript?.scriptFunding??0n));return Se(a0({ctx:v,pool:x,poolToken:C,buyer:{xOnlyPubkey:f.traderXOnlyPubkey,address:f.trader},kasInScaled:f.amountIn,funding:u1,userCellValue:zn,...T,...I,...f.deliverToScript===void 0?{}:{deliverToScript:f.deliverToScript},...f.minOut===void 0?{}:{minTokensOut:f.minOut},...f.maxAllIn===void 0?{}:{maxAllIn:f.maxAllIn}}))}const G=await me(v,O,f.traderXOnlyPubkey);const q=f.extraCell===void 0?void 0:G.find(zn=>zn.outpoint.txid===f.extraCell.txid&&zn.outpoint.index===f.extraCell.index);if(f.extraCell!==void 0&&q===void 0)throw new Error(`cell ${f.extraCell.txid}:${f.extraCell.index} is not a spendable cell of the trader`);const J=G.find(zn=>zn.state.amount===f.amountIn&&zn!==q);if(!J)throw It(G,f.amountIn);const ae=f.amountIn+(q?.state.amount??0n);const re=qr(yn(x),ae,_e(v),fo(v));const Te=J.value+(q?.value??0n)+re.kasOutScaled*le<bn+W0;const $o=Te?await $e(f.trader,0n):[];return Se(xu({ctx:v,pool:x,poolToken:C,userCell:J,seller:{address:f.trader},funding:$o,...T,...I,...q===void 0?{}:{extraUserCells:[q]},...f.minOut===void 0?{}:{minOutScaled:f.minOut},...f.minNetOut===void 0?{}:{minNetOut:f.minNetOut}}))},async buildScriptSell(f){const{ctx:v,pool:x,poolToken:C,T:O}=await ye(f.poolId,f.tokenId,f.expectedPoolId);const T=h(Za(f.redeem));const I=(await t.tokenCells(O,`script:${T}`)).map(re=>L(v,re)).filter(re=>re.covenantId===O&&re.state.owner.schemeByte===3&&h(re.state.owner.identifier)===T);if(I.length===0)throw new Error(`no cell of ${O} owned by script ${T}`);const G=I.reduce((re,Te)=>Te.state.amount>re.state.amount?Te:re);const q=Gi(ie(f.redeem),n??on);if(q!==f.scriptAddress)throw new gn(`the script address ${f.scriptAddress} is not P2SH(redeem) (${q})`);const J=(await t.funding(f.scriptAddress))[0];if(J===void 0)throw new Error(`no UTXO at the script address ${f.scriptAddress}`);const ae=await A();return Se(xu({ctx:v,pool:x,poolToken:C,userCell:G,seller:{address:f.payout},funding:[],...ae,tokenId:O,scriptAuthority:{redeem:f.redeem,utxo:J,signerXOnly:h(f.signerXOnly),...f.allowAnyScript===void 0?{}:{allowAnyScript:f.allowAnyScript}}}))},async buildConsolidate(f){const v=m();const x=await me(v,f.covenantId,f.ownerXOnlyPubkey);const C=await A();const O=await t.funding(f.owner);const T=t0({ctx:v,cells:x,owner:{xOnlyPubkey:f.ownerXOnlyPubkey,address:f.owner},funding:O,fundingOptions:P(),...C,...f.target===void 0?{}:{target:f.target}});return T.transactions.map(Se)},async buildSplit(f){const v=m();const x=await me(v,f.covenantId,f.ownerXOnlyPubkey);const C=x.find(I=>I.outpoint.txid===f.cell.txid&&I.outpoint.index===f.cell.index);if(!C)throw new Error(`cell ${f.cell.txid}:${f.cell.index} is not a spendable cell of this owner`);const O=await A();const T=await $e(f.owner,Es(C.value).topUp);return Se(cc({ctx:v,cell:C,carve:f.carve,changeAddress:f.owner,funding:T,...O}))},async buildGraduate(f){const{ctx:v,curve:x}=await W(f.covenantId);const{supply:C,reserve:O}=await we(v,x,true);const T=await A();const I=await $e(f.funder,0n);const G=f.keepSupplyDeposit===true;return Se(Sc({ctx:v,curve:x,reserve:O,supplyEmpty:C,funding:I,changeAddress:f.funder,keepSupplyDeposit:G,...T}))},async buildGraduateAndBind(f){const{ctx:v,curve:x}=await W(f.covenantId);const{supply:C,reserve:O}=await we(v,x,true);const T=await A();const I=f.keepSupplyDeposit===true;const G=je(Ne(v))?pa+By:0n;const q=I?v.curve.params.tokenCellKas:0n;const J=G>q?G-q:0n;const ae=await $e(f.funder,J);const re=G0({ctx:v,curve:x,reserve:O,supplyEmpty:C,funding:ae,changeAddress:f.funder,keepSupplyDeposit:I,...T});return{graduate:Se(re.graduate),...re.bind===void 0?{}:{bind:Se(re.bind)}}},async buildBindLp(f){const{ctx:v,pool:x}=await ye(f.poolId);const C=await A();const O=await $e(f.funder,pa);return Se(Ac({ctx:v,pool:x,funding:O,changeAddress:f.funder,...C}))},async buildAddLiquidity(f){if(f.lpSafe!==true)throw new ir(f.lpSafeReason);const{ctx:v,pool:x,reserve:C,inventory:O,T}=await he(f.poolId,f.quoted,f.tokenId,f.expectedPoolId);const I=Us(x,f.shares,_e(v));const G=await me(v,T,f.depositorXOnlyPubkey);const q=G.find(Te=>Te.state.amount===I.dTok);if(!q)throw It(G,I.dTok);const J=await A();const ae=f.lpCellValue??$s;const re=await $e(f.depositor,I.dKasScaled*le+(ae>q.value?ae-q.value:0n));return Se(lc({ctx:v,pool:x,inventory:O,reserve:C,userCell:q,funding:re,changeAddress:f.depositor,shares:f.shares,lpSafe:true,lpCellValue:ae,...J,...f.tokenId===void 0?{}:{tokenId:f.tokenId},...f.maxAllIn===void 0?{}:{maxAllIn:f.maxAllIn}}))},async buildRemoveLiquidity(f){const{ctx:v,pool:x,reserve:C,inventory:O,L:T}=await he(f.poolId,f.quoted,f.tokenId,f.expectedPoolId);const I=Ns(x,f.shares,f.minKasOut,f.minTokOut,_e(v));const G=await me(v,T,f.withdrawerXOnlyPubkey);const q=G.find(Te=>Te.state.amount===f.shares);if(!q)throw It(G,f.shares);const J=await A();const ae=f.tokCellValue??Bs(q.value);const re={ctx:v,pool:x,inventory:O,reserve:C,userLpCell:q,changeAddress:f.withdrawer,shares:f.shares,tokCellValue:ae,...J,...f.minKasOut===void 0?{}:{minKasOut:f.minKasOut},...f.minTokOut===void 0?{}:{minTokOut:f.minTokOut},...f.tokenId===void 0?{}:{tokenId:f.tokenId},...f.minNetOut===void 0?{}:{minNetOut:f.minNetOut}};if(!fc(q.value,ae,I.dKasScaled)){try{return Se(vo({...re,funding:[]}))}catch(Te){if(!(Te instanceof Ft))throw Te}}return Se(vo({...re,funding:await $e(f.withdrawer,0n)}))},async planDeposit(f){if(f.lpSafe!==true)throw new ir(f.lpSafeReason);const{ctx:v,pool:x,reserve:C,inventory:O,T}=await he(f.poolId,f.quoted,f.tokenId,f.expectedPoolId);const I=await me(v,T,f.depositorXOnlyPubkey);const G=await A();const q=await t.funding(f.depositor);const J=K0({ctx:v,pool:x,inventory:O,reserve:C,cells:I,owner:{xOnlyPubkey:f.depositorXOnlyPubkey,address:f.depositor},funding:q,fundingOptions:P(),shares:f.shares,lpSafe:true,...f.lpCellValue===void 0?{}:{lpCellValue:f.lpCellValue},...G,...f.tokenId===void 0?{}:{tokenId:f.tokenId},...f.maxAllIn===void 0?{}:{maxAllIn:f.maxAllIn}});return{transactions:J.transactions.map(Se),totalFeeSompi:J.totalFee,shares:f.shares,dKasScaled:J.final.dKasScaled,dTok:J.final.dTok,summary:J.final.summary}},async planWithdrawal(f){const{ctx:v,pool:x,reserve:C,inventory:O,L:T}=await he(f.poolId,f.quoted,f.tokenId,f.expectedPoolId);const I=await me(v,T,f.withdrawerXOnlyPubkey);const G=await A();const q=await t.funding(f.withdrawer);const J=M0({ctx:v,pool:x,inventory:O,reserve:C,lpCells:I,owner:{xOnlyPubkey:f.withdrawerXOnlyPubkey,address:f.withdrawer},funding:q,fundingOptions:P(),shares:f.shares,...G,...f.minKasOut===void 0?{}:{minKasOut:f.minKasOut},...f.minTokOut===void 0?{}:{minTokOut:f.minTokOut},...f.tokCellValue===void 0?{}:{tokCellValue:f.tokCellValue},...f.tokenId===void 0?{}:{tokenId:f.tokenId},...f.minNetOut===void 0?{}:{minNetOut:f.minNetOut}});return{transactions:J.transactions.map(Se),totalFeeSompi:J.totalFee,shares:f.shares,dKasScaled:J.final.dKasScaled,dTok:J.final.dTok,summary:J.final.summary}},async buildSweep(f){const v=await A();if(f.venue==="curve"){const{ctx:T,curve:I}=await W(f.covenantId);const G=await $e(f.funder,0n);return Se(D0({ctx:T,curve:I,funding:G,changeAddress:f.funder,...v}))}const{ctx:x,pool:C}=await ye(f.covenantId);const O=await $e(f.funder,0n);return Se(H0({ctx:x,pool:C,funding:O,changeAddress:f.funder,...v}))},async curveParams(f){const{ctx:v}=await W(f.covenantId,f.tokenId);return v.curve.params},async buildExactCell(f){const v=m();const x=await me(v,f.covenantId,f.ownerXOnlyPubkey);const C=await A();const O=await t.funding(f.owner);const T=_s({ctx:v,cells:x,owner:{xOnlyPubkey:f.ownerXOnlyPubkey,address:f.owner},funding:O,fundingOptions:P(),target:f.amount,...f.mustSpend===void 0?{}:{mustSpend:f.mustSpend},...C});return{transactions:T.transactions.map(Se),totalFeeSompi:T.totalFee,cell:T.cell.outpoint,plan:T.plan}},finalize:ac,estimate:Np};return Wn}o(z0,"createTxBuilder");var My=Object.freeze(["mainnet","testnet-10"]);var J0=Object.freeze({mainnet:"v1-kasseal-mainnet-3","testnet-10":"v1-kasseal-mainnet-3-tn10"});var Eo=Object.freeze({mainnet:Object.freeze(["v1-kasseal-mainnet-3","v1-kasseal-mainnet-2"]),"testnet-10":Object.freeze(["v1-kasseal-mainnet-3-tn10","v1-kasseal-mainnet-2-tn10"])});var jy=Object.freeze([...Eo.mainnet,...Eo["testnet-10"]]);var Fy=Object.freeze({mainnet:"https://app.kasseal.com/v1","testnet-10":"https://testnet.kasseal.com/v1"});var ba=class extends Error{static{o(this,"UnsupportedNetwork")}networkId;constructor(t){super(`network ${JSON.stringify(t)} is not supported: use 'mainnet' or 'testnet-10'`);this.name="UnsupportedNetwork";this.networkId=t}};var ma=class extends Error{static{o(this,"UnsupportedBuild")}build;networkId;constructor(t,n){super(`contract build ${JSON.stringify(t)} is not a ${n} build (${(Eo[n]??[]).join(", ")||"none"})`);this.name="UnsupportedBuild";this.build=t;this.networkId=n}};function X0(e){return e==="mainnet"||e==="testnet-10"}o(X0,"isKassealNetwork");function zt(e){if(!X0(e))throw new ba(String(e))}o(zt,"assertNetwork");function Y0(e){zt(e);return J0[e]}o(Y0,"buildOf");function Dy(e,t,n="v1",r=Y0(t)){zt(t);if(!Eo[t].includes(r))throw new ma(r,t);return sr(e,t,n,r)}o(Dy,"createContext");var Hy=Object.freeze(["buildBuy","buildSell","buildSwap","buildScriptSell","buildConsolidate","buildSplit","buildSweep","buildBindLp","buildAddLiquidity","buildRemoveLiquidity","planDeposit","planWithdrawal","buildExactCell","curveParams","finalize","estimate"]);function Vy(e){zt(e.networkId);for(const s of e.contexts??[]){if(s.networkId!==e.networkId)throw new ba(s.networkId);if(!Eo[e.networkId].includes(String(s.pool.revision)))throw new ma(String(s.pool.revision),e.networkId)}const{presets:t,...n}=e;const r=z0({...n,networkId:e.networkId});const a={};for(const s of Hy){const i=r[s];if(typeof i!=="function")throw new Error(`builder method ${s} is missing`);a[s]=i.bind(r)}return Object.freeze(a)}o(Vy,"createTxBuilder");var _o=class extends Error{static{o(this,"ApiError")}path;status;problem;constructor(t,n,r){super(`${t}: HTTP ${n}`);this.name="ApiError";this.path=t;this.status=n;this.problem=r}};var mr=class extends Error{static{o(this,"HeadMoving")}constructor(){super("the curve or pool head is changing hands; read again");this.name="HeadMoving"}};var Gy=o(e=>new Promise(t=>setTimeout(t,e)),"sleep");var Q0=o(e=>`${e.txid}:${e.index}`,"keyOf");var Oo=o((e,t,n=e.confirmed)=>({outpoint:{txid:e.outpoint.txid,index:e.outpoint.index},amount:BigInt(e.amount),covenantId:e.covenantId,redeemScript:_(e.redeemScript),templateHash:e.templateHash,state:t,confirmed:n}),"cellOf");function qy(e){zt(e.network);if(typeof e.baseUrl!=="string"||!/^https?:\/\/[^/]/.test(e.baseUrl))throw new TypeError("baseUrl must be an http(s) URL");const t=e.baseUrl.replace(/\/+$/,"");const n=bt(e.network);const r=e.attempts??5;const a=e.fetch??((...b)=>fetch(...b));const s=e.useTip??true;const i=e.ownKey.toLowerCase();let c;let d;let l=[];async function u(b){for(let g=0;;g++){const m=await a(`${t}${b}`,{headers:{accept:"application/json"}});if(m.ok)return await m.json();const y=await m.json().catch(()=>null);if((m.status===429||m.status===503)&&g+1<r){const k=typeof y?.retryAfterMs==="number"&&y.retryAfterMs>=0?Math.min(y.retryAfterMs,3e4):1e3;await Gy(k+Math.floor(Math.random()*250));continue}throw new _o(b,m.status,y)}}o(u,"get");const p=o(b=>{if(b.startsWith("script:"))return b;return b.toLowerCase()===i?`pk:${b}`:`covenant:${b}`},"ownerParam");return{lastFunding:o(()=>l,"lastFunding"),async funding(b){if(Wt(b).prefix!==n)throw new Ae(`${b} is not a ${e.network} address`);const g=await u(`/address/${encodeURIComponent(b)}/utxos`);l=g.utxos.filter(m=>!m.isCoinbase&&m.scriptPublicKey.version===0).map(m=>({outpoint:{txid:m.outpoint.txid,index:m.outpoint.index},amount:BigInt(m.amount),spk:_(m.scriptPublicKey.script),daaScore:BigInt(m.blockDaaScore),address:b}));return l},async tokenCells(b,g){const m=p(g);const y=(await u(`/tokens/${b}/cells?owner=${encodeURIComponent(m)}`)).cells.map(k=>Oo(k,to(k.state)));if(c!==void 0&&m===`covenant:${c.poolId}`&&c.cell.covenantId===b){const k=Oo(c.cell,to(c.cell.state),false);return[k,...y.filter(w=>Q0(w.outpoint)!==Q0(k.outpoint))]}return y},async covenantCells(){const b=await u(`/tokens/${e.tokenId}/covenant-cells`);const g=d??b.supply;if(g===void 0||b.reserve===void 0)throw new mr;return{supply:Oo(g,to(g.state)),reserve:Oo(b.reserve,to(b.reserve.state))}},async curveHead(){const b=await u(`/tokens/${e.tokenId}/curve-head`);if(b.headSpent===true)throw new mr;const g=s?b.tip:void 0;d=g?.supply;const m=g?.curve??b;return Oo(m,Bd(m.state),g===void 0?b.confirmed:false)},async poolCell(b){const g=await u(`/pools/${b}/cell`);if(g.headSpent===true)throw new mr;const m=s?g.tip:void 0;c=m===void 0?void 0:{poolId:b,cell:m.reserve};const y=m?.pool??g;return Oo(y,Kd(y.state),m===void 0?g.confirmed:false)},async feerate(){return BigInt((await u("/fees")).feerateSompiPerGram)}}}o(qy,"createApiSources");var Z0={"format":1,"builds":{"v1-kasseal-mainnet-3":{"network":"mainnet","poolTemplateHash":"92acd761504e4fa05acf70675ef1aea0c66efa2126ec5c726e4779b8aef054e0","treasurySpk":"000020d6f09e0da20f689e3b11900593fecdecdc88ed81f013031c749bde92d928e574ac","compiler":"silverc v1.0.0 3ed973335b59269293564805cc2c58a14595ec03","presets":{"standard":"2be93557b8ec945037c412dc9d4454ab0f4db2c009d3377f869c86de71511116","standard-k103":"449ac11f51e003c98dfbcfad96a330720096ef001a613b3ed7e1b58680fa7a40","standard-k113":"0643d3c5d2d7bf6e71e001891ba9dc9a24e5298da978ddee02454c958d8639a2","standard-k124":"9238c2d040337c7eb37e60e4fbba2e3013fe7da33a636df07fad2d87a46046f0","standard-k136":"63374fa4722ff12f1e6eda572de47cdbda85f874737d9f5f6991165821fd913d","standard-k164":"e33565f853b6623850723dca69eab64f318136b5d4cc757e583222363f61f75b","standard-k180":"02341861ed155887afc2bdad3993f4761e10f32e538c1ef4d4f363b661d53ab6","standard-k198":"f018d7f633a328da5edfaae2d10c0a5fc2c1898911480ea1ff3725f5b253e417","standard-k218":"511888557051e038e7bf29086adf5bb0620ec6ac45a5aae2bd2ec6732904d846","standard-k240":"69217edab57016aa96e0330e5c8c018a67b38efe3ae118e44486cd09b07219dd","standard-k264":"9da1fab5b917f9786c887fb7f0d167a11a363bb31147be12800c8196b677f258","standard-k291":"ec4ede74304a64e76f356711f1d81f3468295692bcdc26d0d58bc9c03123af12","standard-k320":"0a69a027d9952ba9ffd038248be914cb59efb4e7be7bc1dfffa2dfe42826c7fd","standard-k352":"59ce5b2b58a40f73bbd1d8bd13659be1cefe3baff3f1e6775036e1e28ef9a021","standard-k388":"f2bee7226e3947dd4043368b4d2d5319d0988b0a43b93e3087755b46f7fb02d4","standard-k427":"00a7bd0b392014fc54f1a21ca1e470be89e3b62845d963fca24aaf4fe1ec38dc","standard-k470":"b1d1764e81fd897ebcc935a5bfdcc1633ed049e78d9a80c116f44d86504da657","standard-k518":"79c5bed4cf639f8ef2990da1b3e0179f1ae2a0be94b37f5bb817ef8a914698f9","standard-k571":"05abd1c295e49ff754f94dbc4eaed8e2cbaf3b8355a25e200ef865920aec8df2","standard-k629":"ac19b0bbf7030dd1f8cd659abf4cee124bff5c15efa1c098c4bc3f6efe2ecd1f","standard-lot10k-k1097":"57a0c8b8528bf76afb9094d5a32822fd990b91f411705b3fc0f9d2712beac409","standard-lot10k-k1209":"541dc79c18f976e3b810077a02682582a36a93527956639b88c2a69a2f8f3219","standard-lot10k-k122":"e76697c298e5fe14801a5a0161f2967dcc311e83ff081c8409bcf49c84232188","standard-lot10k-k1332":"10a35013e46aba7725ef9e41fe0ef1bb6a3d5ba7faa4096806e5b53caf2e0736","standard-lot10k-k134":"1db8819f73f9d4970e0e6a05082bd02a6b57346942798c7c0e4fcb6f0b42b280","standard-lot10k-k1468":"4d314cdfc634dc33ba7c53dc4044f84cfc6b0e6689c4f723b2efa18b230a1e0c","standard-lot10k-k147":"d1d2dfe8a46330d056b899fe1f108356e1fcbc3b1d88638b567a5adf28e99a0e","standard-lot10k-k161":"35295116523bc6aea0b3514433659c22a52c120cd04f7457766a939197e3c44c","standard-lot10k-k1618":"ebecda60cbaa50df051cdc3014efbd4ee9eb503a026ff43f844235f5be0e32d5","standard-lot10k-k177":"a2aba93696c899b4b563f82ebf633aaae6b0b8d4b938bc8eb53c37eee058c7ff","standard-lot10k-k1783":"990aab2b660822405bbea2625f170367d0766a259f69545209c1f3aa1a29794e","standard-lot10k-k195":"4531febedddbaa47ad6c8874483bcaea6420e72fc3b240a5118422658575e7c3","standard-lot10k-k1965":"2444e804d177f137928e8f18c33f6ee0beb26ce0daae03f35b90a80cd8fee86d","standard-lot10k-k214":"5b3a3ddce662df39b3232a00c4fade6e250ae1c06e689c0764c7507bc0918bd3","standard-lot10k-k2166":"f162e8407ce1c302a2ddeae92b69b6262093ca73337b064ea0a7da80603d9cab","standard-lot10k-k235":"9ddda64bd3960d321c79aff84940df14ac79ac26e347cb9da579aa960c94fb2f","standard-lot10k-k2387":"1d1b874000a265bcc232c39ffcbbc353034b9ffea85ca1e7d947fb4f9e23581a","standard-lot10k-k258":"6db568e7c43705b0a57fb4e83cd141b18c637d4130eabc250f7b3dc04aa27265","standard-lot10k-k2631":"7c8eaab58a41824d749002dbf7cfde403b9f2b9867c9ee9307a67a9a5b1d128c","standard-lot10k-k284":"fca0c35de88ec3f492deebfd87ab6a7109143e27d25b0c6876dc647aae6f75d9","standard-lot10k-k2900":"9418e575d52e20e12bb134748a84ebcfde4f84485a0b9c8688e737fdd4fd878b","standard-lot10k-k313":"ec788b764c605b7849a8e7d091b4af0dc1dd266fc38ad5e0ba4bb963486f34ea","standard-lot10k-k3197":"9c809dce72058d98c35597bd85b88f928b607c838cf82f2122d70642ed6cbc37","standard-lot10k-k344":"d4cf2ece5c3b789e6ec0ed5dee422b968b2448c19dfa2ec69c6923ccacfd2771","standard-lot10k-k3524":"e354ad8c966ae2ca90f601e46c79e3f93f6897290b375ec69f839e52bdc5c4bb","standard-lot10k-k379":"f3e33305ef584a75440c44016d88981476674a07b7d43704168aea5a84045323","standard-lot10k-k3885":"1f94dc5a1ab1998f11bf77c367e968bd9b7c129da5fbd2caa872f34651f5beea","standard-lot10k-k417":"8c38b8e7cdb4134bc71dbd8c9bc57a53cf6890b910ec6013beeac12f4860c071","standard-lot10k-k4283":"eb57ec8454d7597b4b12f9ef784a1baef9aee0bcb0142e65e1a92b43bf8e7ec7","standard-lot10k-k459":"437dfc2519fd8b07acd9e2a64b15b69c41f96ef4d5c9a4416b34dbf1b8d1a5b6","standard-lot10k-k4722":"d2adbce0b05be9d70392982fa1c0bdf62c2b5b43f4ca0d45d763f80a5437aebe","standard-lot10k-k506":"9356f8f892537c6a0e601ac4a56a658bfa3cc5ec02f25dc1c3389a7e95184390","standard-lot10k-k5205":"f1c1baa7606131f5a720a8b84939e12d970c77da7cd64e76a0de58a49c50e2b4","standard-lot10k-k557":"cb8e5d4b8b4911100c6173fb02ee97da77d684d6e092265dcbcf668d51cf0123","standard-lot10k-k5738":"abedb4c6cf3064c5985ffc75c8baa8e4be8c79cd5db5a7bff8dc0b78903d6dca","standard-lot10k-k613":"973f3f23fd6b268064aa472405e5f90bf6db2c5dca41c41851b59d77e145351d","standard-lot10k-k6326":"77bdd97c27bd80c899417d1767c2721bde145755bebd99fc28eced44de98bbd2","standard-lot10k-k675":"ee55a4efa1851016ad4647eec05aaa7a1c5838053fef879dfd971e1dcc999109","standard-lot10k-k6974":"768ece871c1f0b93a822326f9d75d94a5f5f85a7079a383bdf72ac3c87d15721","standard-lot10k-k744":"2c436f64c9cc63c8074a15ac63cbbe5c898162f0d304a2d3593a9482c3e09f32","standard-lot10k-k7688":"882164264b83672924cff04c4a73878cd97b74a64b762dccdd9a7aa042ad4344","standard-lot10k-k820":"3b83bf5e8e27fbd9e529a63a20f58dd321945c38c99afb2d0cedd1cdd8acc7c3","standard-lot10k-k8475":"985daecf86052c5e60ded375aa3edbdc9e21bfd92a00e61c2f1801a039ba180c","standard-lot10k-k904":"24937f1661efde2567fd0ef2ab4d8b75e37de15bc7ddb112ff365702ee1adc2a","standard-lot10k-k9343":"6b7ace8aa9ed57367184d1960020323c28c0eb56f36305324ce72c250b55a00c","standard-lot10k-k996":"ffc446f2899002ec1e927fb9f8900bc12dd3a8181a1b87e427172cf306891644"}},"v1-kasseal-mainnet-2":{"network":"mainnet","poolTemplateHash":"92acd761504e4fa05acf70675ef1aea0c66efa2126ec5c726e4779b8aef054e0","treasurySpk":"000020d6f09e0da20f689e3b11900593fecdecdc88ed81f013031c749bde92d928e574ac","compiler":"silverc v1.0.0 3ed973335b59269293564805cc2c58a14595ec03","presets":{"standard":"63f032f087bbc2b66e0f2561b1f40a6319c80f9792743c7e77e5761d41f51f5f","standard-k103":"99f4b03048adae1281c959cc3e08799c4a8926be67fe0e783d3eb9f0f22b04d5","standard-k113":"78a2aa6f280ce9b6329d8a8c172f0dbff83fb32e72f4ff3b427ec759cfa1bb9a","standard-k124":"eb0b9ccb9a7f365425548ace55c3eecd85dc2ead732134e73f72c84c379cc89e","standard-k136":"9fe3087ca102d0944abde60b8f43d929c94963b91c2eed4060dbc3c950c2bd7a","standard-k164":"b561b9576250c2aad24c513845a7626804de24d3bcecaf811509374daba4d3d1","standard-k180":"0f7202636a8a2e2dd4b220b40efbd68d3382ec45fa541c6d63e5f3a2e98f424d","standard-k198":"450dcf4f6595835685246ddf9d4a21e3c98fc20e31e7d3a8bbd2901d71e52c3c","standard-k218":"3254b43422f6553964709a95f4b0b7299e26ccf0d7713ce3b2e0fd270532e235","standard-k240":"79fad128a4cd1199c1a0cfa6e9555c6128329fd664f3e7eb04335be1bfbef017","standard-k264":"cf74df28cce3c19922b59a278289f1430d9ef3393686d7bfeb54cb69e84a2f47","standard-k291":"3b2c887ce4b8bc53f33ee082ad0d6fb3443c0c7b2bb7d6fed3398d63baf1ceb0","standard-k320":"6493c27471d12663104230f69276305e1a5c16285a94941b8b4772457ab7e517","standard-k352":"e2d1796b8274e7a7f59813ec4a57efe5a8b54efd82ff8bfa4578f78f72d2c773","standard-k388":"6b0dc5c9d6a58be64f426cea85f4beb86bfe6876b744762ed7e1683277baf21c","standard-k427":"0d76faae8b462a9388abae8540264127c3c31cb7d31f75259e93238fe6e316bf","standard-k470":"4fc34a29b17a7ee83777345c262213522938faff558d202847096220e2f6ab10","standard-k518":"630c865af745bb6d8e2fa28ed098e7221ea09b1b92653d98eeba7c85e7a52fd4","standard-k571":"72356a7e111e5e0c5f8f61aa491ee635900deb4237e63d9f27c7db3d0e7ed389","standard-k629":"25335ce66ac3e6f2cc54b4dfe746810e0bb9c88157a4385d2334b37f4875b275","standard-lot10k-k1097":"f57d8808578b4c32aa9cbf0c58b29c0a06014a1a7bd7ef763098a14307382b46","standard-lot10k-k1209":"416f1fc7559f2b2d50ece009af191fd483990815e03e9198b6152e5ae8210657","standard-lot10k-k122":"81776a87bd0d070c6d61b8efc56ff890e118c0a92fb069eee83a8eaa26f65096","standard-lot10k-k1332":"9b9b09bf5999e86a68490728be7b8543be575043be78d2d3055011e0589a6038","standard-lot10k-k134":"1c8c397f54b586ed1d0c7c8adfad74b9aae0ccbb54ad38630723a16598e07802","standard-lot10k-k1468":"f042dd4d19ec70c94ec34d440fc4f80c0870b57cea948e73d2e4e605cf56881d","standard-lot10k-k147":"5d55d50bf35fae5def76500490a41482f392de204ecc29081297d05b76279aab","standard-lot10k-k161":"3532d348f4dec1da35a955c7c6be792a482105f0dd4135be0143cad9a881866e","standard-lot10k-k1618":"8a78f3adb37965041347a3dd637a7fc772ec224c9e9b9b30a86683f4068497af","standard-lot10k-k177":"8c90fa1940510f78f01666ee940a56575f50734a24c625f316972ef4944b9029","standard-lot10k-k1783":"5102485705c9cee3043362cb1745c9cc6ff72bb15602879cc2a6e1986a9db8ad","standard-lot10k-k195":"07ed5ea760ba1f4960418039adcce53505a8194fcd1872e2de9cf7abb214c33b","standard-lot10k-k1965":"ec63b54f0902a647358bb6c50af14e5fd9b366f2d75d75fc33ad5362e488e7b9","standard-lot10k-k214":"3dd3836b1179206f8ca214d51c23710216c0849adb95c480bb70374ad6428dbc","standard-lot10k-k2166":"d4bc4e1ae34815c47b9618b9ee936f51ad38eef4a43658154d27a51f44d0c781","standard-lot10k-k235":"231c2159de46492146adcff5e1e38df8bb010dece5743be00d695e57ffeccc56","standard-lot10k-k2387":"8e447589cf917dd7758aa48eb2970a6a8ae898a58ae39f446e77dac128bfd581","standard-lot10k-k258":"3b9e3c5b88c60a059182498be5bdae65485e636a2d18ef5b11393ad54a35819a","standard-lot10k-k2631":"aa5b39e2a2509430a501881479cdf8224905ef8462d555a9f6dc75511980aae7","standard-lot10k-k284":"8cf87a41a3e0dfbb117971eb17cea01d4ca93c2db8510973ade25e33309e6e82","standard-lot10k-k2900":"a3e82290d97d22fd0094c19c20f3e393988d4d3090e2c8558a65611153b2ca9c","standard-lot10k-k313":"4096fd3ff11071e6c17a36a8956d8bbfc5700b2f0623ebec99dc82609231cbdc","standard-lot10k-k3197":"e435c425d0fceb2b631575b10099043019166edd9f05c7884adc22c08b57aee5","standard-lot10k-k344":"135750ffc03972405b7dfefc67a755305e96b4c915e9708b64668e04134e8eda","standard-lot10k-k3524":"e6764b6fed7e72685ef654efb836b6222423d8caccf2f8cf89442dbdbbcde9a8","standard-lot10k-k379":"a1dd4eebf6cc99d7dd84520c5b2bc460a491c51237a794bd9beb363dde92d29f","standard-lot10k-k3885":"9fe40f7b3a38ef0ea1683a436b920ff04b1b0103c89bb833a0ae05ed68177685","standard-lot10k-k417":"cfd48c1c756b5f992f127a42ccc6e3e50d19181bbdaf4cf0fd1198f2523463b7","standard-lot10k-k4283":"f4877bd7b933ca74379cf478d4a13d000319be8ea3d35f72d45900e8c1d9ae67","standard-lot10k-k459":"d87362e57417e706f48d045cbe7c89e957e2b61831c4edcc9adc0f1717490aa3","standard-lot10k-k4722":"733e4627604d5e63de49b12b41390a9f46eae76c603f617e246eadf693b10418","standard-lot10k-k506":"11ef0ba994a43bf67bfb922f0497c82ec51bdff2d58b8debb8447c7c0305c672","standard-lot10k-k5205":"fcf8c7e1209eee04f0e6b87570452826fdd15d6101c84d01f31ea96454fb177b","standard-lot10k-k557":"0fdda861a1731e3d59e3b54c9c1b024e1c48edf4f883677a8d632ff6233bcc92","standard-lot10k-k5738":"7887d57fa7dc77508b1fdfd4defca3ea1b9c8981ea88606b6c25e8b1994d2b34","standard-lot10k-k613":"fa3862e2467ecc49607595cb6b19b8dee89300f051fc415874c728a6d3c4ebd9","standard-lot10k-k6326":"051fb5b6c1a64910e21ef1530bdcf56ca496c544ab629a8e9b5f84b39b3dcfd9","standard-lot10k-k675":"a57afb1b0e0b8ca6a761ff155df15fca14eddd68a06239e521b294d8d5ef5cd3","standard-lot10k-k6974":"046579e2f751f215aec7f89209afb789f61647235932dfd0db3e6b5aafd7f458","standard-lot10k-k744":"472169d09d362ac955e2dd95590edbfb8e36d28172346789ce3a415c69084e50","standard-lot10k-k7688":"e02e6fe80b6c1c1d9336ed5e8b3fe2a99e52a467302036ae39e2cfb875224b29","standard-lot10k-k820":"f55cd57f7b3c99d923c5954ac32544228920800d0fef97c10564d69fb80864b5","standard-lot10k-k8475":"3958a7e5b4c45933861ae19f10b74e1041a30e80799951026bd8102427a4594e","standard-lot10k-k904":"00c63dadf3d39f402d9ba2404beac113447aaeaa47069bbff324d0e93e57685c","standard-lot10k-k9343":"51b76eeae6e031cceb3f70682cebad4f23d74da4f30219f88d0a76f648f62336","standard-lot10k-k996":"f67a808cd2a10a00d2e28c82583675bcfceb7279eb6366d4bd98bbb5bba05c95"}},"v1-kasseal-mainnet-3-tn10":{"network":"testnet-10","poolTemplateHash":"28170395ca9350966c0d732ffce8b13c5a94201e74552b7add67143a35dea56a","treasurySpk":"0000204e105b097b8ff8eed92c73c3ea68260ef39a955d3d5e9e57e9753e6a263ad335ac","compiler":"silverc v1.0.0 3ed973335b59269293564805cc2c58a14595ec03","presets":{"standard":"6a99c683259e6c6fd3e622e55c28f47631b159f96154927ecfd3d041fed1845a","standard-k103":"bf32014ecc7d4609c6843806be633d29b6394d912cf7ea1dcc591ce966e9d14e","standard-k113":"5c44f0c19ccb0e603b81a424d73572816728173deee46b511fd61f04f072025f","standard-k124":"2d0b5000c173ff217e79c68e9cff25ac0b7a0e635d22272495fa34243e139e8d","standard-k136":"64c7d5873448d5caca892329dbdba6b9f5ecb2741152ba9b7d38ba39fc0cd00e","standard-k164":"e808ffe275c322a89319bfcc92609e04b76e0cbae98b1320445c7bf9c6a4d3a0","standard-k180":"27e132d96a5f7c94553cd3292996721e499566a25a3acaf9555cfcc7f51f7642","standard-k198":"0d57d3420c46caffe2d08658d194a6b7bb9da4f8ae5f986b0f25fc0d200340de","standard-k218":"67da246319bedf67d0e53d12d83f8e1c499f86620e2924658f3eed339df381f9","standard-k240":"93a71f58f66962e0767db04dd66f1705d8408c01fa69a9fb573e7fc410208e7c","standard-k264":"20677869a064a4f1022aa8158b01724197b13637048b726973dd08ab0348f945","standard-k291":"be5822f2f56358216dcc57752700c88761f989112ee5e46fc9a653b0bee3d082","standard-k320":"a2e1f0ec345837df1d490e929b587a6a136a595fa8733654c2d7cb24cce79755","standard-k352":"83b69d6e3de9b3e25a98ee1aee7c3b838b07837938e621208bbaf648c41327bd","standard-k388":"1220964669e4b140020f5c727ffcda68cf3ecf59b93259e727eabbd5a547fb17","standard-k427":"1752cd20c8dc1624cfb65d2a670d9996cb204227782723372534a45edc8b4bf5","standard-k470":"bdb183900a56d77e94e4f01eeeddff2425e048546eb3dc04622eb6b83f03cc8b","standard-k518":"a437e2d153d4e483190ad206559f86f03bced636f4082d64de6dbd128f4ffbed","standard-k571":"c40aa64625d5ec90b561270b4ec3355387e179aae9ee257d81a1eb1bffcaa06e","standard-k629":"40231bf442cc72a690ffbebe11113ed6e46b0945eb2358e65b193ad2c2515d40","standard-lot10k-k1097":"034bae29e9fb3dbf67a87cf080bb0de9e0a389c0950d99b7a58f08d81eda6847","standard-lot10k-k1209":"d2cce30802710178d1f7c1aff16361d634f4b94661af7e4a372ced2b2d69e781","standard-lot10k-k122":"baa71520b3b5065666b7988c4564d7abf076c97694ad8ab6be6812c5992e2e2c","standard-lot10k-k1332":"db1a8cfff0b5788b38d1242c6f1c54d616a8eb8f52ac205f5838753eea7bff89","standard-lot10k-k134":"655079b0fdc5e914585402142f0dd338252b43aa642a38a034052b98f9f2972b","standard-lot10k-k1468":"7c3fcab8f72f4eb377f70e6584d1ebecfbf3933d60cd109e1308188bf4bf0ebc","standard-lot10k-k147":"adb6351ac5783c136a0beb9ead4db0becf381a89dca415367ee0554f7bc6e115","standard-lot10k-k161":"c4b0fd7e3bce1908c04665eaa03aabb0864a5297c2f74317a36bc9615e9883d3","standard-lot10k-k1618":"4b21f6918d0424026b8ec8dfafbdfe57e0665599d8564511957cd1304de26e17","standard-lot10k-k177":"09242f58061834c64363975572314e252d0968e67ddeeb4d24e35089290e006c","standard-lot10k-k1783":"10ac90fcbb155726c7d371bce050dcb403021520b7f076a0aab1feb328e9f1e6","standard-lot10k-k195":"eb623b6a191da22ac8a47b56ebb57bafee68bd0cdfa36bccc4ed773591dae4a4","standard-lot10k-k1965":"e39700ea997d199a83e2029c6a0ff0774f0591ca5a53c20d948e075a509cd9c8","standard-lot10k-k214":"4d47d9d03962d978925193eb59b9f23c6eb38d2d82c0676b54e016a43bac167f","standard-lot10k-k2166":"520a1007f9bd83b45cbb7e7c44492b589e4af3d7340ae94eddf9405a0520ee6d","standard-lot10k-k235":"0d4994a893620f9c4b45d8b0eb59555e17724fa88a2084442c3c50356b0edb03","standard-lot10k-k2387":"1a9cae76d54fa93b3ef497274dc85673ebc8a22115e9eee11296e88fc485a884","standard-lot10k-k258":"085afaf932018d472314557e7b04c19d13a1365353733b310eed8a5444ce7833","standard-lot10k-k2631":"9d28f7c188c59143a17a33b9e89ac47fb526ff5fb16afb28e169718c12b91930","standard-lot10k-k284":"4181d7beebe7003f561882d201b8f25eac39157071f8c66844a449a6ad50160c","standard-lot10k-k2900":"5720f60e98f091275f9b7f588492475ddb2f726963a83ef836e12f7c4c3a1134","standard-lot10k-k313":"b8dfc565f77a13e39b8d6593884368a681e77c1346c7c8d02260044fe5bc893d","standard-lot10k-k3197":"6dd478a7f29215430baa7bb79b8c1da390ad1140d9ce1f1dfc91068fe14fa817","standard-lot10k-k344":"aaae3ec76b57033e3e4ca0323d90b98e2246adca76ceef0570588611e5e55de1","standard-lot10k-k3524":"0a6eb60d8c689cedb6c8320832d78b6d9b5f597d7a5b56082b6c745da5316b50","standard-lot10k-k379":"145544cd1514c31025ae8dcec41c75e7242f53bf84fe24d5a17de6adcddedd7c","standard-lot10k-k3885":"3ca85c47832edbed2d8ee8c26720e2832294264db4dc043a7ff3736f6450d3bd","standard-lot10k-k417":"5f7f43aa0f9c25a9ef35063adbac3c1aa8fd63c52fdde606a8a9fe3714f28d15","standard-lot10k-k4283":"b4af08c0f11246d783cd9e8cfa27073737c6a70dd6e3dd670f7c56f4e0b817da","standard-lot10k-k459":"8ea183bb6ef2da5bce42a575028535cc32b94fbf8c3870dc2ce266e7d0f57c78","standard-lot10k-k4722":"ffbd1b4c8494fe85486ddcc71b46590b5444a0117a4f1349dd53477244f9738f","standard-lot10k-k506":"f7cc71ad47717b41d0e4453e807903ab31cc5b2a31b44ca10bbe9d42fbf52ef6","standard-lot10k-k5205":"9a142355c718cf4a80df211b7e8afa440092b6b03fc4c6b1c28c273018671e47","standard-lot10k-k557":"3fe7b22324d756f9bc2f2b088c7aa5596993a2d4ae0013b567325fd433bcb477","standard-lot10k-k5738":"a172693963bd64b8acf5b80c16082bf12689e5b585394ebb7423add571335633","standard-lot10k-k613":"811a6d542f8778aae99063e3a34ffad505c94fc0dddd4c2453814874ab20ee56","standard-lot10k-k6326":"bf2088635fa4ffdaaddf0454fb427982b14ccb90f1ecb546e2d2f5528deb6050","standard-lot10k-k675":"bea532429d922df39c775862e2bc978180da18eb2a2ab7ad6d264a733da985e1","standard-lot10k-k6974":"1508b0f57977cf209517a183bec21b95074115137e4df37d2df6b7cc50cc83aa","standard-lot10k-k744":"5adf09de039eb72e605b4d36836a6521c12b469b3715b45eac9cf0d35c1821bc","standard-lot10k-k7688":"df20d6ec142dbcd3ddbcb8393ccd87646d383e3fe18ae09e8a1b80c1bb9b4ec5","standard-lot10k-k820":"04e37262553eb1764956cf5d608bedcea6b8b262cb01001eb3eb83de1f7a4a2c","standard-lot10k-k8475":"88ed559faa4c15148cc6b45958a9965d02ebfd5277c460177dff30cd2dfe5ed3","standard-lot10k-k904":"5424336c60b277e0adcd3c0a43dc41da61275a9427cd4a14978ea0f6c53e9416","standard-lot10k-k9343":"dc8aec6fad3569c5cb87ee475fe95c18f09f3d63718416a4f51ca36e020c0412","standard-lot10k-k996":"6ea6d73d5a71396dcacf332b8bf68bfbf4022129b52ec8c4473d0ba756e5348c"}},"v1-kasseal-mainnet-2-tn10":{"network":"testnet-10","poolTemplateHash":"28170395ca9350966c0d732ffce8b13c5a94201e74552b7add67143a35dea56a","treasurySpk":"0000204e105b097b8ff8eed92c73c3ea68260ef39a955d3d5e9e57e9753e6a263ad335ac","compiler":"silverc v1.0.0 3ed973335b59269293564805cc2c58a14595ec03","presets":{"standard":"1154008bee8cb3998f2237f15f056191e98a70dfbca6692ac85c05363dafc3c3","standard-k103":"ab5495ea2d3096a0c9dc1d92c4e61323481b5ec03c09442cd0b4c2fdaf5cdd56","standard-k113":"edfab55ea14b255545edfbe4081e9a1ff9a25ce69d33a559da68cc6355d6f056","standard-k124":"bd07e70423b2e3bb41ed551ceb4b190b7629384b6e2c8becbfb45e36f10b1fcf","standard-k136":"b73f1c2540c39112dcf59893938a1d4b7d1e7d225e835de8374456916e37eb5b","standard-k164":"78c2fb5e06d486f34a3f0c1ee663430d14e3035f0e84c63855275546c799df96","standard-k180":"0d0a4bdfd87c169e0b0015baa0fd721c75d50f1ac9cb045b38f6fa61ad691681","standard-k198":"b6805e86a154ba69f648719d2b982fcf33fa16b196522f2c0b9fa477e2cbd95d","standard-k218":"43a87e6385b3726a6e41d1271b53fa58f128e9cdcc3eaa8cef9fe6a3c477a871","standard-k240":"9a582ef87181ccd389a8ab1d3be12e325e4db70ca5caa768dfbb2e4a4b13742e","standard-k264":"5b62b2f25a536629c52135d9326f4d164feeb25b058034b224d82e1ef5d19edf","standard-k291":"f710a3404746242a4aaa8080b1166746a950e657d95bd06fbe778fe46a72de0c","standard-k320":"25d6bfd717c8da07fa4324011926a448d51c74f5e490828281f6510e2c3a6584","standard-k352":"790e9ef2adad8b84a40ea03421c6df946d500470a6d3b94accbd69f35ee354f8","standard-k388":"2f0475449421481351b0a17679269bfb9efa45458cceb4ba6a43a56a15f9e6e8","standard-k427":"95be45462bef5b430a718372a148af7475bfb25cbca9bc2619dfb6ce2cfd1c7b","standard-k470":"3958f07f7d777bce117e503b0704119d7fdbec96799c4d382ba447f35125900f","standard-k518":"9e05df419950c2419c748e98e3cace2bf9bd145c988bb9162cd12d2f0a0f9684","standard-k571":"314e47f1cc87dd3c00673c2e1863f79736af90bf84dcceea513502e8d8c612f9","standard-k629":"4ce1845e5f002184cf1cb90392b7e9b739f8f54121706b91caf1e6edaa519fe8","standard-lot10k-k1097":"f38b62ad0a30937f73ef3e94bf8821a68d58449636d23e3ae8c998223d04f336","standard-lot10k-k1209":"7137ccef67a390e94b67a5e0b88726f3c37ffdc8b0a105835c6a4bdfa1b9e268","standard-lot10k-k122":"68b9d1c1a9d33f895ad6c4c4a1e32d68026f584c56be219c250454b3d62657f9","standard-lot10k-k1332":"eaac5ca0f06db88b9d3b20a9dfcae580c7dca4bb973a5255a523544701b13e9a","standard-lot10k-k134":"20bd5c0b786968566faef140689a32de578decf817a86ec302061a32dce79770","standard-lot10k-k1468":"b9a678ef7f10ab646f81d9ac8edb471b06901749f2ab1c7e408a41c567a2f266","standard-lot10k-k147":"25bda840ca412da297aa3ee393e94b0c76dc00015cb80819ae1e24bcf5b593d6","standard-lot10k-k161":"2c44966cf8c85ed01b18ca82bc8fbae21de16d06ce29accff01dd8ecbc3ad590","standard-lot10k-k1618":"0c30d5ce97d7588c4706a1344ce7d8a7d52ef693877e68f9ef0fb22b3fed3b91","standard-lot10k-k177":"49c58452fa959cab48de77439e65e56efb7dd3d37624fa35860813c005805b9e","standard-lot10k-k1783":"a5c3452cca0b03c46d2188e57314b01c2aa1e39a78c8f1a81158c4d266a10266","standard-lot10k-k195":"b3ba2a18986d0f10793d23a258c1aaf27fa01e3fd93d5d41003920b00986a291","standard-lot10k-k1965":"d2fe5cd688c0353646f01ef01d49ef14e91db36803b56fa55b4a93ea62315a7f","standard-lot10k-k214":"862052071634a76f313e098141bf22c07b0724ae26adefb58038dab5eb4a12ba","standard-lot10k-k2166":"966b85bbfafe3936375b05fb9f48d62162208e1cfa34b3bd5c10f7bfac0f21cd","standard-lot10k-k235":"9804c10d4277c26a9534afbbf1f7d5a605be4165cc706ed13e59181ee51fda4e","standard-lot10k-k2387":"27c221186e1a3df6a33d2aa04b024237e75f0cb1c8039d19f0d20a76856c5540","standard-lot10k-k258":"3d5a5a512a24ec276a29f3cba0d465d0e446e00b7258697ef908226c609b6788","standard-lot10k-k2631":"609fb20053602c16e1cb72656dad9b3134af0b005971b076b661fd2c3529255a","standard-lot10k-k284":"8d72c7acf82dcd765b529e757281109a0937b6ab7437fb1de0adbc6d222223a2","standard-lot10k-k2900":"5f7a101f5f7258cbf68020aba679362dc625a53a9027a13c98cf6deac3d7ff70","standard-lot10k-k313":"158ece2a2fef64561830ae618c371e15d6143a1e6c92f58370c45c3c0e1f77a7","standard-lot10k-k3197":"f4faa19d2e2f6d44b08d9e90fdc011f33300889e49fdfdeb5271ee251e149737","standard-lot10k-k344":"6250ee594ad41efc847191f0df0c9c18f7fe0dcfa6cbdfedb38ec5fbf84e95c8","standard-lot10k-k3524":"addde6968c6bea309989f5a7baf1a0da560af41ab9bde5389177e3d4b4e10beb","standard-lot10k-k379":"1e3c1fd85b6523602afd344a1b6c2ed875c5a865c4d0bc984c4ffc47ea1ba487","standard-lot10k-k3885":"ce02dca1151f132f7bdd1879543b67e95be7d9cb9c2574e277c518da296ef074","standard-lot10k-k417":"782481190ff73f236278248b79a1861614a1614ccaaadea511e9d54e08cdb74f","standard-lot10k-k4283":"1c70f564f0ee3e409f2af731003d51ac1bc8c6b6ffce8dd3ee27e28b8090fc75","standard-lot10k-k459":"c1e079622e99d2f11b74a26d17ca2491509376e98032d047f82f2ff10b19a3d5","standard-lot10k-k4722":"1d94e0cbb85b5d65361eca1b7e40530fa531a73aec7fd406f861b49fbd763039","standard-lot10k-k506":"b7e91f7145f2fac8094bef68b6ef38f5903945a04072c6f35dd86d4c8f49bc02","standard-lot10k-k5205":"eeece3a17ba0d2ee131c614062b194174f4b04e5e4a221401e7b0fe7b8114a69","standard-lot10k-k557":"dd6cab0892a6a12951e7ed92bc7209ec82f21c4f0a0f0eff027da792552773f3","standard-lot10k-k5738":"f01597c28da32ee133ef2e9f8705795db7f79a2acd494a9e12f21a80564c078e","standard-lot10k-k613":"f01035cce8f4198dd0bff50ce261a5439ac3fad2b8bea8826e22222edca80414","standard-lot10k-k6326":"89de882b6554f981c82edc319f8fdd88ab550ff601a1210c86ab08c3f1965f8f","standard-lot10k-k675":"0eaa78a9df698c134c1f85d776214896cceaa75097328cad7802f51ec141865b","standard-lot10k-k6974":"41d90a3b1217e5b299322a3d0c0801da7861afe0df8ed0f93f8718df733831f6","standard-lot10k-k744":"6026a4f3aadc7fbac6e79de9e0b9c72bf33b87dc26c857f0f4f6a7181b24b91a","standard-lot10k-k7688":"4a794f29a8c92a0da178d46a37fd218ff21f9b91e6e313e3b5bad3403138bbe8","standard-lot10k-k820":"dc5a8b815fe521a7d66777dadd8cbf450d96c983ce724494542c29fca30ce915","standard-lot10k-k8475":"ab1d5d0db82c127538c5d94ef7da6c47b4dd5df2df6cd5dff9e2d61fe236303f","standard-lot10k-k904":"9326d4bc136807d8b333c71a6a439b919ec7e8b99683f483a471a444d52e21e2","standard-lot10k-k9343":"b58f3d20e61e461e329e48c5a2dc396b014aded9f8663b262cb2076b10303b69","standard-lot10k-k996":"4c02890e058cc828ed253f73bf7533a495ab7d0a553539227f70c922a0abc189"}}},"tokenReference":{"path":"codec/fixtures/argent-kcc20-reference-c8a0871.json","templateHash":"9703112ee6e3555107cd168858992b77d3b74f655205b2b463b1f9ec2ec73cf7","source":"argent-lang/kcc20-reference@c8a0871 fixtures/public-mint/artifact.json"},"files":{"codec/fixtures/argent-kcc20-reference-c8a0871.json":"462a937240ff3dc6f297a06c2eeb48c5150e4a2a4995eedc71c724f3a34eedee","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k103.json":"149a1894b318fb2785d96afc8fd5bd480facdd1c62759097143e8eb2ce0f24f3","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k113.json":"703d54bb1b1339c02beaa2ad2fc953abb11dac8b79235ce70395fb3559024a67","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k124.json":"71f5af7a991b4e34c1051ca55b0b81536f66cb5d1db30b39d92a16b596f4a57a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k136.json":"3fc842258d8157b8d49c040c1b0ddb9824b112be2d5c6106b2578a6b2fb45d1a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k164.json":"847a1a5cf74114ed58613338e2edab1d0f17141cb064071d7091626001ec454d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k180.json":"1c07a60ddbf6bd07577d6641382a042f61960deb78975fe0b0f5efb60f3bcdfb","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k198.json":"e2db8760fa1363fbfbe15a7c1f28a7bcc9927eebd67f4b6e9b5b4802f53dfbcc","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k218.json":"f6de071a3deec2cbb6c2b198ae16861e638045cd1c0c52546250afeb06fb8c65","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k240.json":"960b2df1b506aca2188cab8dca3379781b0b7646dbdab29b5fff8c8c5c8a9755","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k264.json":"d7cb2e370de6438968be933070a2466e4407b1485ed7dfacbfc72afc138cac27","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k291.json":"953ef4f6578e3b93a77d64bc318d82aaf8969e2bbad193a99b27fc552f18b2e5","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k320.json":"1c5e31e6d07de64f705a64a762f27acf5bd6eddeb09e66496950ea491dbe42b8","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k352.json":"a4ae40ad108824de2a99111ce0b186faa77a8e4e0f677ef7b9f78122c3c65a70","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k388.json":"6dcd796975eb1e7714fb9a1edbeb2522e12ae4f7fead17bb5a0324b6cd4412ec","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k427.json":"22494b94e25bed9239c666ba1dbe692b3a9b90ad9bf07548ddce49281b70d89a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k470.json":"0595909142bc78b40f3354923e9483c07ff2a60c1de4e7531059787bdcd3967f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k518.json":"cdd09e97c709f7b8b2a5187b8d551f28a243b177608ff10e578d697f13a232fd","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k571.json":"f31d68ebc34be7583702ee8b42618ecfa7578cc837e8b6a876f0bfd1bd7d4fd8","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-k629.json":"91b855ec43b7e22a567bc7661ad8d99c72a71fb266ecb89502cc1384a4d35942","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k1097.json":"47158fae30b2c4d4aeebce25e25a8aec192e5a06d6437f332fd52bff4cf27be0","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k1209.json":"009c0ba5ee508640262fb05d4e38d204487c3fa2235ea45ef0a5f071b327e79e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k122.json":"5be1a0fd39f22470ce97e355fc18459b5b06902fc2279c6cdc22ceb6f8203abc","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k1332.json":"bb72f724d89321afb2fbcb63bffa8d867eeb1894d053e8ee43ce4a57f0d59c9b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k134.json":"878f79122a3c471c5cdea0c428251a7e3bac4a77b8e5b1233dfa11973e1802e3","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k1468.json":"0bf2d6eebe06d4aaa99577e04245f5507e6f18e51f7c61fdeb55c93a2911e95a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k147.json":"417840ca08c3de333b1a1bebec76833bb39d8da1eacfbe70adcd2c6c98d88e97","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k161.json":"e4aff10b4156bcea76689502434b29a28f46a5385116f62d823b617431709482","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k1618.json":"5f78ffc3ec7d2b93c82913fb2f235e2cc9e4c031eff1329720ad45a7beaea2c4","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k177.json":"c184072d1433b1271842769abfd8ad5975283b0e80e9222a4a98d88ce6685825","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k1783.json":"6504b24c23782c4cd4a1838cb04b968c639e4189a9c8865c677a9cebd497bc6a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k195.json":"879e9c65f6c7e59a62848f8d9ea95311f5d0dd82f8f1d7ae628e00bba16cf42e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k1965.json":"5d13273339a0adbeb1cb7686caf102a1296682a4f7ddafd62f0c9c5adc7c87d9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k214.json":"5d510b64b3987ef7eed77d7aa0556692db001d2fe8157611e6dec5fae48bfa8c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k2166.json":"c1ab0ae199f1d256c725b57d621ad0558eb64b32bfa547f99d413ad9a5f347d9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k235.json":"53c575571c990b70b84c3aa8dc29c6bda8a2205ebd0c5ea8074a66de7bae321f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k2387.json":"6bd32115321a945942e46d1b6929047e0b2ccdc035813f4fcd6d0ed9f024d3e6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k258.json":"de1fe87e42c03f9f4c93e7ecd41eb7d450fe0834c8ee904807c9d08735bc26ba","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k2631.json":"54939dc757fad92f0fda141268491886afcd39c3d8f8e662c15caae64ec20ff6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k284.json":"c1770971d6d6099f9e2518a5b36b0d98a5be3b09792cd88e5df485501ac65fbb","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k2900.json":"8a17d832780f93c6050e780ea8582a35e984d8ce30148d354794a5470699bc6d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k313.json":"cb66c6255bede3978eacb1356d6f318c852d1bc44828bf23e0b8cb02ec4e7242","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k3197.json":"8d067f718fd2dbfaefb9c4286506865b07414c59fbde0e537ea255fc4ac5f11b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k344.json":"68cfcbe7c9ec404ff31c6b2d0bfcafbfcabf425343140ff8151ab0a6ab16ab75","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k3524.json":"b5f5a94748b702a88f50d1c35937f875424e4bec99ecf6b82140cfd6c55ff27b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k379.json":"59cc0a9d9f5ac6667f6ff3efa3f88efc5ad2f4678b2965033a92ba566407f1d9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k3885.json":"170f5c7d36521f000df9bd462305efaf95ca94a8b3874f0b85630f206d2ae31f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k417.json":"37b8c954c82f5541e5a2cdd7b5789447e8e09a73d5f61c9b9d1b461d83888408","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k4283.json":"ba5560f6109ae37fef484e6c81a65c83640608016525af816d448bd88dcd395a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k459.json":"0180caa133a00b32c9d9e606891cdb2cf922719efa4173881ba21540818b27b5","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k4722.json":"e4998ab4de31bc6a7e132788b4d60a3b8e0731935a4fcbcb5211d9aceddbf6dd","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k506.json":"94acd24dcc2cd41e671b0a49861531fb8122522782c1d7f21985e58e21fd7028","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k5205.json":"806ea1906628d12ea78e88f5c2747ffc587ade61d0eab6d816b77e6baf7c5770","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k557.json":"da32c7ea0a908b2728eff5f9c4ffd7ba7fde6a3b7402cd7af9ee9411f41449fa","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k5738.json":"58b947869a6629173fdfb31498d8682d6d239a6d68d7afc767d72ff942232b8f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k613.json":"a5fa0e673b5e472a41fae60af6c36657fe70ffb0b3192b70e84bacfb41b21197","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k6326.json":"b993cded5c5b48e8c2540d627baef9190e5bbd707255bbcefcb127642bda15ca","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k675.json":"b5a5e5da0d4230fcbbc2c901255b507b416965decf2018fe91b0ab7b4d79ce9b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k6974.json":"0afc7418e7b9fa0be8f9e741e6db00dc810ecba830d6f28c5e8f55e8e502868c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k744.json":"53a9b9c18c0b70e4e4b6852c4ce6b963539765889821718209ad0c144e46c755","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k7688.json":"7d43c38333c29f55d8dcc5e08249c6892a299a97e6e951c6caf63bc61dcd36cf","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k820.json":"2af066430bd54f906bb522b2d8af0c60afb73aebbc468c2e1094fbcf76e7d55a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k8475.json":"86d1cbdcd44d9e8249e829d83b4f85031b843f32f46bd18880866102c7269845","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k904.json":"b2db8320379c2b4a840fdaa3b6f973bd75530216c1ad45095aad8468605b02fd","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k9343.json":"891cc2ebfdc09918101586424d9c8bb70823b5ea8bde11bf84f1b46164e822f1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard-lot10k-k996.json":"64b2dd74ea9f06eabf59c555862b6ebe3506a95679d47f22055331cae83caadf","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.ctor.standard.json":"ca2cec3d3c201907439b79d69b5f2a27f1e493254dda39085e2d10f510a66b22","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k103.artifact.json":"0f5b1bc4b7af170eec8f7a7f28738b06255ed9d04a37cd26ecefdcccc8506575","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k113.artifact.json":"b58776f03e4738a817bbdfaea7065822bec6755779bc10e745a3426a7161d864","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k124.artifact.json":"b881a55d50343d941b7e6d5e0c22c122f2d969904c1311797fd946175d4a6eb6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k136.artifact.json":"7ed46208814df9cca9fca5e82ae18e3e848386abf0985c844bc1a806c9b92421","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k164.artifact.json":"e7f2b294faa3bed7fb16d5410da4f574d2d9238cc03a1d7e39645b7626aa799e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k180.artifact.json":"8d5b384cf93bee3c5b4589705424928593cc8cc8eab873e5ea3fa3423b39b4f4","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k198.artifact.json":"9dca12762b5a0c8fd402197696aa640ab87dde87d24dd943fa167c11d2f4d9bb","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k218.artifact.json":"0012d242a9d911ad3ee9b8979578363efd176979374ec7acf1d0ffc4db2a21c9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k240.artifact.json":"ab667e90189cfaf46032b4f3fe433525bfbc3847a9eb54e5b338f0f77c95dfb5","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k264.artifact.json":"46f6c272a99f56384ef6127a6ac951937ad27065ed0266619774c851a62991fe","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k291.artifact.json":"a838909a0a4fcc595759868c1479836cf9d101eaf62e411feeed8e93ae246a5b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k320.artifact.json":"1496816386db74802365a39b7518bb162e7ddcca1e0abd0ae1af6bb4ba863349","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k352.artifact.json":"944fce3967a63c591d96c88abbab5337da080e7f0eedb1ec64f5b112306bc8f9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k388.artifact.json":"b3be6a0ad9a47b77d80b49b27f73110996042214af252c97b9b3448229f0e4c9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k427.artifact.json":"7992effc6fe92c84c1db84c65e9e9ed2804daa1fe3e558a0525079fa89ffd335","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k470.artifact.json":"cc6074465738efc9e9ccc7290e6d4b7a57b7f67f00f946d7adbad562944266c1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k518.artifact.json":"5b517c00b64fa800059a80b79512b3ea922884b82c40b70ba5fa140d2e6296e9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k571.artifact.json":"3c82b2a51c5cdae470a641aa294a49ba9ab04a94cc439a32b9c7528a6ed69a41","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-k629.artifact.json":"912faec7de3f2e28a6307ec8faebe47c9b1cbeb6e4d9967afc33deafafa9f52a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k1097.artifact.json":"defac73b3ff07792eadd86b921d6cd159537dd2e5618f02dd5f455bd01f5861e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k1209.artifact.json":"4df20e1eb4a41fa924c61a42f05e3a61c4795bae8cd75bfb27e42c7245a580c7","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k122.artifact.json":"4a3a0a8a98a3d903d2184f83efb9875d22cdbd95c641fe81ca7e5bc184c00fa0","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k1332.artifact.json":"c5594e268af856399d8c7b072d1b1bdfa692536df387e2a1c811b1472855f357","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k134.artifact.json":"39568d19f44c2b2501049419d192e632c21082f9f0bd8a1f9f31de6867de2840","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k1468.artifact.json":"bdbc1e6a6efb8ccd8f7aff0009b10e3cfe805d257d733bd8a63383d42dafdb7b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k147.artifact.json":"9d0a3d82d73bdc541b9cf5b5361d76defd12c810c177a84d5ca03fb8bcfc8d72","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k161.artifact.json":"71edd70b9519564ab37edb4ae28b94945d5ffc471092cdfd2c7690947c3fb758","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k1618.artifact.json":"46fe893570fb78ad10b240700c36f7739ec53eb845cbabdf1c48a050ab8bb9f3","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k177.artifact.json":"268868218f9506c55b9eb878b6be1ef2a8bfef563b22f0897ac636a73dfe344d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k1783.artifact.json":"b8949d646e5b6dd80f21547d1f8a9887f79a265fa338b1035631c7ca0d9f7404","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k195.artifact.json":"eda993819acc5204b5ee16a3baa1b97d62acfae33c00001cf9001ec35678dd1d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k1965.artifact.json":"21fdc542932ab478c573b58198eb2bc3ef5134ccdbff9d3726744e42c5ab9f83","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k214.artifact.json":"2c459cc39f3cd9feebca6ce334fef019b85703b00bb1c299a5534ad5c26de0c8","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k2166.artifact.json":"05b08572d298082d8bc00e010a2fe5fc5f818e036d17c2b99f34147873f74dfb","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k235.artifact.json":"e1cf7a94517a226d9529fa30ae74ca0f86e1b45d7e9e62f90bba6dd793f7aad3","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k2387.artifact.json":"aa9c498eebf79de38fe476db2610cd689f4a7fce0da0d81e3472dbf1e2356e78","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k258.artifact.json":"856e07ed614d205e13ca32d58c963b096c1987adc41e871b97fe97bdfcba1a62","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k2631.artifact.json":"4c59b9a0bc2c9af4a8ddc85cd343935950e65fbd47eaa83c79a6bace7280ad71","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k284.artifact.json":"63feab3e3986a98901af601bbfe1a0334e8954f15b956f55438518ead616d4d6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k2900.artifact.json":"8748aeb7d0b9eea3ceee6281fa3eb50ba13aebb2781bfcac8e283c5d9ade176d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k313.artifact.json":"7189537b54e1e4cb4005c934a53606103a9e780d00aa64403f33641a4d26e483","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k3197.artifact.json":"f8ee889aa44d65f5b84e4d1c76733c24e9409a7bc353e528ed1ed5ad7a2deb30","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k344.artifact.json":"65fe69bbf8586c5401d177d33cd7fb909a7065dca28a2de86bf1c35ce63a5937","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k3524.artifact.json":"83324c2a717e1826bc64e4f439a83863169df220aded9c73d967f227d282b3aa","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k379.artifact.json":"de2b2c6f1bdb1804f713310c10b7e13a5b1743aa34dd1068266c47b591dcfd5a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k3885.artifact.json":"3f4ef8157621baaa18c04da84e6903cf50f708ae8d48a84324f6542be789a199","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k417.artifact.json":"de1972a0b31051cd99baa7697ab95c2669460237aca0274aad95b40bf2244624","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k4283.artifact.json":"d0744bf36f04cf454af93385451408668d16158904b1649f021c8dc00fe27a90","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k459.artifact.json":"e075ab36ada38db424cecc9762b4a60c83257006e4cfdab7a03f34bda1449851","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k4722.artifact.json":"98afa518fb4cf95494c989687288417cf1241346c36cd4216d03dce476bd3a3a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k506.artifact.json":"6b4b94b9a2a4e81ec9a1f0ada2617b889ba904529748579cb31c597334adb858","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k5205.artifact.json":"de030723fda20cdaea730080b71479f8f1d1068ad0cb664005ee6530ead80fc2","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k557.artifact.json":"4fdda0b84c903a0383e82bd1f8b445a5859eb035ec72fa5ff738c657659b3a9f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k5738.artifact.json":"509a65d42527eb5c2fe8def9b3b74fa5d648e344f038c3580689e0d941fe2c16","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k613.artifact.json":"a5428d5ffde48d05caece0384f62c50b96af148978e9ddf9244ac5bbe5e18e44","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k6326.artifact.json":"9ae493be696ee703c5cfc696a585d96d946dae9cfbbc918b52d82225c84e0c99","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k675.artifact.json":"e0584313e280fb3afb9b36980e5ba4bbb8aa3a8b63992bc3d990da4f025bb031","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k6974.artifact.json":"9b6dbf783855543cccf236f42dd97d5ca8442261a0bfd2d3d709d42fcdc2fb6d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k744.artifact.json":"821d05997eb63cc391f0a887f629fef873968490fe13dec390e5e80630ee119c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k7688.artifact.json":"d51a8b2e7b378761f9604e3e23c2129a53922f3af53890eceb0baefd926a5463","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k820.artifact.json":"cfc0c8cb9534c1ff6b80bfa2449b2821c667fff7d7590597bbbfa26f8e3d37d7","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k8475.artifact.json":"486c5d4e9bfdaeb6f8602b249a915b4c4155b44c0a7070b1a0b00050d4385e02","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k904.artifact.json":"8509e9431d0dd87daf076b7bc6e901aa2eb66ab458c55a7aa71da0484ca0c514","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k9343.artifact.json":"188c08e6819e8d9365160822872520f2b47a7deb84e4681ce47b27421635254f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard-lot10k-k996.artifact.json":"a338299cd21cb76b9755d7b9841d8156353918adc479c6e17cf818ec70228311","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2-tn10/curve.standard.artifact.json":"2b8a27d80e3bdd9968df6b50c0e5f2d462185d701f861837a1fcb4ee190946ba","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k103.json":"c1306a512ff9bb87be9721c33c0619f1b50efceacb2191e6dbb611fd120e3461","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k113.json":"af39fe159fa96a90fbabe1654bdb3c18b3ae5ac0203d585dd36bcde27e672445","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k124.json":"1a8143d0b0cd3696b0a72a9cc8f894ee3db5a5cabfd1e9bbc19d3306561babda","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k136.json":"08f6137d7dc7205ca147f875c34d13d4fcc275c1b3b150d1d34121d307d56211","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k164.json":"1cd10a124168acf6355bb8f74c03e7363c1ea9c02cbde420a1bd4b8e8d420d86","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k180.json":"d8fae65b49d2cce4ce604fc77372d125e1290e5f3dbad74b6a1db0e52a6824a9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k198.json":"244e27adf4032cf36a1fd7e9b2ba4acba4d26722c531c81c56a9cdeedd0431a9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k218.json":"d47047942b8d1ba305f558e44a117be24aeec1e70c34336d4d4f884577b22126","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k240.json":"a64ccadc42cc991c095c4e4dae39e2a0eacbf0cbc5f7bdbb71a855d89c2a970a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k264.json":"ea9ce4b91755148a3b8b27b19a4780b15da3d936e36f8035f7b864a381811ba1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k291.json":"aeb0dbc47cf31bc215fe185503d46b5a673e9f9015060dcc61640768d8796c33","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k320.json":"b26a6c676f85c2731d9b39b0f37b0ed056014f401098d116191444f3ee3b4e8f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k352.json":"5594417c78dc1da8a104ef1f7ef9892736bc3d63dbe0ebc1630ad2f08d09580d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k388.json":"10dfae31b394024ff38601fb0995d72270f021ba0f8c1f9a9a667d4b35b5209e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k427.json":"258f6c528e1218dbc157afe4e8a7bfbd663bf21bde416b2f59a94d4466a9193e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k470.json":"05224fc259313290c8503ede1d334abc685537c84750ca40fbe0074978fb1ba1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k518.json":"672c43c5bd50886e7e342215c4de6401615a4bcf2162e5f05ecea66e2bdb1d8c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k571.json":"b672221e2020e120b26285faf17f61c682c53a710c2d0109dfe4072eb58ae1e5","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-k629.json":"a99185b2dbb29ba276c531bfbd7cf18fb56d72b02788570b7a700c4a1de51540","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k1097.json":"c25cd1ac9370314d3d0e587c61c96fa3e4b6a008f6f093e4134723f0b54c9116","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k1209.json":"aed9d0fe4894d3769cf7d19acc48a9321ad3a7143c224ff0a2d1944cd10c7533","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k122.json":"d4c010129dc15c3fd0209b9ff040b91c152139691ab2a1e2c4e231b1badd7ae3","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k1332.json":"4c983ff6856d84ef58c9cd4eb95f5bbc38df6c9df65ee9be2d8ebc73bd810e7f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k134.json":"e9ade7157c9c87daafeb3d92d8b1ad350a75a44f497944e9ab02e71b1f1845e6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k1468.json":"62459138f994543ec583b01aff314533c59e4d5459527d904f4e96d7d264454d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k147.json":"5d9ab0459e3b3466f003998ff606e011548ef56685948950d6fb0e3ce5ad1b8f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k161.json":"80aaf71a4f36aa0ea35533ec45882060a381c879fdc6ceb9b4b6584825b931c2","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k1618.json":"98e974e72969f76f6eaa022c89defa4b09628ae6bcd0d2819d69e9f33e832f81","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k177.json":"b9b437de546704d8661ecfebfc17f005a9e8ba1cc8f66669d52322440cfaba76","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k1783.json":"63ddceedb7eb456587c04f3b0427442d46f69001615b7d2a374c797a45327964","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k195.json":"95550adff6139bdc174eaa93a6a520b2614224060ea3a16bdadf1f3e2a04c1f4","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k1965.json":"3b0d50df0164f3ebd307d531df703eccb8ec086406a3bce896303b6d8d548591","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k214.json":"2b88700e3cdb4f96c07b86a46b927ef16aeafd5017b01931d8bc9e48ef7b8985","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k2166.json":"49cdd3a0bb11daf0d3694b34872f01f3e1c8dd3e10a282708da027b0d5f22a3a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k235.json":"c86fbd53115c00f1a199eae700a91d7b465a3c86d038e291b1fbfb5ff1e74149","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k2387.json":"a73e0d1aa8e8518490ace076f76a2dfbe7c98d426e7083612f63915e7300856b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k258.json":"286650871a187f6fb15c6f27bfe77110f1937ff26ecd514b53ad3e478fa2776a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k2631.json":"ef3174792ae95f79dc2c41d2a2ff8909a362e505ffef4aa043ec0efd3953bfb9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k284.json":"d9961d86d07fd27657ce660c43f14e63b3a2a9a9a3613f6a26ee198e25b06b64","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k2900.json":"9d9bbcdad29b33dc463846f4a259832a3053a6bd1d9846b47e52f2a5ac881b61","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k313.json":"e80e71473634383e44c64988983a4a2da98fc82229ebaeb70f251203cba0673c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k3197.json":"4479e440157d63deb6c240db456baf8d04361817e95907a6a17ef2dfc73760ff","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k344.json":"40311f9fe095d4cad31879166ed5eac9c65a86a53442637f0fba8bb56ce3ae7f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k3524.json":"7a6bbf7eefa38b418a31bd5eeab46b5e1593d6fe0d6931c4912957f55c162fb7","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k379.json":"edc014e27af1c483e4bbfc6128063b4d101b7005ecbdc76744a7e172c9d7e4f7","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k3885.json":"f9be7e675beefe9235464ad52e1b48534f23589fed56fb0cb9573861fcc7b2b1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k417.json":"b5fee3bde08f4c878fb677cdaae7299d364d761defe75f629e5e64ff6cdd8ef3","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k4283.json":"0af69184ec56826cd4d65f7e9498a8bd976fa6e001252833dcc951c7236683a9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k459.json":"6dcef71b733b9d295cf8aac6ba5044854763df892573353be4e5231b2a2986d1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k4722.json":"bd76af4ccf6fc1d8fee4a0bb1f10a8001a741ee79a12291d35ab046b8343873d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k506.json":"b9c5b640d984484b0cefc15b8d8d2b7955b0bec91230a0f6e79b782d6bbe24ba","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k5205.json":"88f67b19497ab1d9879e7aec5e9f8904881df0f374677229aa999a79e7886906","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k557.json":"2deeb18df19e1fe829e9bf27ddd250e22467d51c4e96b07171cd23fe2df4fe63","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k5738.json":"3314072db71add192863f51f03b9f6780d32b62bf8c67fa58ce58161b7d659d0","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k613.json":"1ea9a698d1cea92d3fbdbc6b5867a9354bddfa9b2a418e275b356ac1ba9d5bf6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k6326.json":"8dde5361f2decd052dcd2a068532627a0ededf0f4f8d00e48cc64872e0e66715","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k675.json":"323ca86abca5192c45160b71639e20e52fdec0eb3af0c8f0131847a86741bc90","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k6974.json":"bab043a8929830083b9471410c44d743fe1f125f1756231e55f752ae609a38ca","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k744.json":"bf4dfe818d57d8f12218c48e797a275cb7e3167d09fded28cd936e6e3ece2159","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k7688.json":"e1b8a60d205821b4669ecea9571b7ba26486e56ca130bbb6b95cad56ad1455bc","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k820.json":"8bebe0cfb7e8c57bd9a38c0d63adf083591fac56c4e85a37e084e89e629bc51a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k8475.json":"e35108e7963be7d9f1a81667bbedadd8697e1490a29e8f36fe7e445812906719","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k904.json":"3c2071b2b0de679c2bf1ec84af2ed0e3ec97290180867a57c5fdbae9c2273c4b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k9343.json":"2b9a76cb4cf60bad2ed000cc7f1fc0c18eaef75cd4bffa16ca338aec5b8a279a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard-lot10k-k996.json":"eef5d229e94cda8c4b152b2df57dfd82aa313c7c8e1c4f2c0c5fcd4527fae416","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.ctor.standard.json":"2fa9fd5cb1643358925947df6a9562db29a861f3469c6ba4060e96e7fe6bb2ca","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k103.artifact.json":"6e762224e388b076e3296b94f9942e27cc1d69347f4fa73b12721dbb9905405a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k113.artifact.json":"80f4c981e3e2499a7a3d2f824df9891bc8cd20c984883cd368a2d964886b3107","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k124.artifact.json":"34e7e489899dea622cd01e21322f2dffd94649fe061753034387fccf67c7fca2","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k136.artifact.json":"87f9fe8166999039fc21d096a570600bb2f461ef1c5cb7d83d9988aa700b37b9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k164.artifact.json":"694ce0a92c22b5f6dc277d6d2cca70b91c5b493cc48218775880d44f58f02c94","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k180.artifact.json":"26dabf7849841caec623c6d58cd5d715233717e53fd2c164ace3ca7825ffb61d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k198.artifact.json":"17280e7b1e098589be1f58de3ee72616bd46a4514bd5893a0dfbe0f5083fba9d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k218.artifact.json":"b7f34ff9d1adf4bcf92e5aa80139be195e0e9d00807e688e00ef6f098ac98c3c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k240.artifact.json":"79061e32cb53a620f75fb7a0ba9f7bbe7ee9af46d8e097dfb551b01e01eede73","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k264.artifact.json":"d3cd8ce8ac3acebe20fe4fe13658f0264234361e40b0b629f684499f2af4b3cb","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k291.artifact.json":"9bcc4c8d00f0bace2550fb818d1236f90d7c6ab24f90fddc8ca8b5965a436aff","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k320.artifact.json":"683c14d8880c5ef6f177f891ef3d647ab3e551919d06c7737cd909afad7b754e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k352.artifact.json":"36d3a82dbed5b9dbc0edc80d3ccb479950cf4155dd3151d438e8157fc9628a18","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k388.artifact.json":"afb1589fe4bc742176e480d088db42156d6e13f36b6cad13278ddcc5c6d202c8","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k427.artifact.json":"b7fadd8d3864f51d09b20f7599a559914f11c6996d52195c1fae08493bfa7fe2","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k470.artifact.json":"79ad6eea6573fb526ca9cd386f00d217315b31a915deb4417ea8ffb6ba7fd151","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k518.artifact.json":"8cd2de8c54f0bc409640bde408cd7420c3fc37804ce6009348ee0aa3f70b4e81","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k571.artifact.json":"dd398e18c84a365343c67c491bd05ae17e446e05c362219333b79b8f462e0a0e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-k629.artifact.json":"73b7c146c5840d99d4425672378f2a6d75d7dfb0290da2a146454358a5179d78","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k1097.artifact.json":"f23dd00d737864bbeda04b6266db8cab3572493803513f49f19d655445de5d3d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k1209.artifact.json":"e211077125b1fe1bcc0a5c8215cf4452c15fa1accd9f744eef719a55d822b6b9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k122.artifact.json":"f06c1f299152e24349d6edbf3570d7e264fa47c1923b15927210b1ffb7a11910","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k1332.artifact.json":"b89b3106b4cf3b59b0a0723c153fcb9614b7d835a5e781f25d6c752ea8fd8264","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k134.artifact.json":"8178652bf1cca87c00da5d8e619f68251bf958286181e0ab6bd547b16c437e88","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k1468.artifact.json":"e36a32574afb55b530c6bf2819de996caf94743ad4376fc5aec3b3906454c169","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k147.artifact.json":"582c3f7bdd3ff1fdde7b3d71f1273aa0c3a756c088b48b7765350a2f7a4061c6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k161.artifact.json":"af3950ec0c936b08b91ca085428637c2d8c0f8bdccc2d23fa29ad279a674921d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k1618.artifact.json":"29dc88dceadd563707c69ab45cf53fd8a7ea1a12193fd895576f5d73b1579529","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k177.artifact.json":"979eeffa63d56da95dedfa5e93c8e30f7b39c5463ed7c0de59cf82c10e262171","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k1783.artifact.json":"0168e6817c00908fb66cfc545bd0050810575e925f046171c3f54c46cee473f4","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k195.artifact.json":"c6c816a031ce12b2787dba07c40ebbdca2d394f11656c4ed40715bdaf2dc4324","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k1965.artifact.json":"aea52472de9b488bd40350022276239278171a726e01677157260b13a1c67dca","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k214.artifact.json":"43d2e33ec5cb5d8373c74dc1d801844ccf4215f30660af751ce8a45d14b06a5e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k2166.artifact.json":"474022d6adf5ca87828200dfc48664a835a69155542f96a0c3ae55e476467832","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k235.artifact.json":"2791b69a44c49f72b7bb3a92cee3e0ce9238d5caa3ae9f06a0764987ab936552","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k2387.artifact.json":"1f28268ee4c11fae1895cfdfd25d1aa4c0bdb5b583292bea647db6e795176599","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k258.artifact.json":"3b6b2be2ccef32b60815c09cb03a00a2ad5417174823d4f8f6963269638441ad","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k2631.artifact.json":"6d8dfa730cd22ae6a116db9c5388f33e54a3d3009c28fdfb2d8148552ca059d4","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k284.artifact.json":"e9309de8e8d6b664fb78ae393aa9fb81fab474b420d2fb3bd5ef09ea38a33b1d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k2900.artifact.json":"95deb72fef1d9c2a1957c45127a647012764057f013006820d99ca4bde72443f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k313.artifact.json":"ca8b0a51ad1cb261066de42b76c7080930ca00d00936c3c0681dea4a58f48dff","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k3197.artifact.json":"ffbfbb89c77f4cac9ad008207d7392be5a749946095cd04c154518c6ad52a946","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k344.artifact.json":"42d7b03c69dd5171cb1785f65b2bc6f51abc92c9f549212ee0843c368e96f468","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k3524.artifact.json":"739784f5ae7b1e38fd05e7f78e4b196a82fd905ea2646ae22a3a9c37a3510a81","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k379.artifact.json":"9440624836103d58cf9b18117a747aa401b163bd9638228ada72cdd845bd2a38","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k3885.artifact.json":"885ef84be3be25b4ccf4d2a75afaca5d085e09a850726591939ff026e2805521","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k417.artifact.json":"c425b742a58805383041e740d9371377bd5c6136f2d6ea9b902614f445021a11","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k4283.artifact.json":"7e648766d310d2661b5a12c18ad4c3985eee89fe42c705b9d27743d4947ac44d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k459.artifact.json":"25363f20048bc6d1118b3d33cf1a5018e97cdd3ad6e233ccdbf4a878f05a3b98","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k4722.artifact.json":"e1c9e8e6e003046cb7f7fa30ff2f91efc489bbaaddf1eed6932975f0f9d7070b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k506.artifact.json":"965d77bf20e073fa32057abc2d4c1a3016943b056947fc18098b91f02db6cb76","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k5205.artifact.json":"6af60b73f8552ab179d9ad68efd171c981cf97f55743007a85dd05dcab0137ab","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k557.artifact.json":"8da6174c1d0bc38438fdf3cee16cbb4ae6794376067255c4ca111d3b44b0528a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k5738.artifact.json":"238816199146901beb7c23d97de555f89fd0fbcf5b5fb4f49ce639f6bcc0dac0","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k613.artifact.json":"ac7d1e345a9b9e524e9e3fee1ba6b48eb66c10c45c2f5ecbaf8cdd2c85c3c8ee","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k6326.artifact.json":"f9a4e45d1c6b522b916f098708d104e838dbafa6116396b12603ba7e1cc4603d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k675.artifact.json":"cb0c712e8bfcb0269de0a0995fa7f3a6ccd940b9c2f1b40588676f45bf844ef1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k6974.artifact.json":"f077963959d355ae64eb55d52ea9c53581e31da5c713edaf3a0c61c67b2b68ea","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k744.artifact.json":"f8da4a863013ac5535cb4eabbe5bc2482758467da536d05d1d6201dbf2bea4c3","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k7688.artifact.json":"0d9591afa4b59d16cf28676e02ec26893389811a6dbf3ce15abc67b3cf3825b7","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k820.artifact.json":"3ff812ea58a3f49c6d87b52e8643b36b7a03b1f542e7912de09f9d9cd1f31db5","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k8475.artifact.json":"b2843a22228f3546e3e2b7ee53d052e0cd4bdd6d14a1a723a0b228f7edc2b937","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k904.artifact.json":"c62a76325bd49da9afd92ae8452a6413800b05df7737bb00be26745a2cbe4bc0","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k9343.artifact.json":"ccdab5fb87978e60a4f68268b34b142edbeef0cd408ac5e73587becd0b535e3d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard-lot10k-k996.artifact.json":"213f5e20de75f11f4cd4ef0a78608103ffc96ddced0eb2a99f3dab7d60ed8e4b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-2/curve.standard.artifact.json":"9fb8b9aed0d30ffed8296ca01112f13b1cf6bca227138a7f92e3270ab53b4c3b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k103.json":"149a1894b318fb2785d96afc8fd5bd480facdd1c62759097143e8eb2ce0f24f3","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k113.json":"703d54bb1b1339c02beaa2ad2fc953abb11dac8b79235ce70395fb3559024a67","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k124.json":"71f5af7a991b4e34c1051ca55b0b81536f66cb5d1db30b39d92a16b596f4a57a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k136.json":"3fc842258d8157b8d49c040c1b0ddb9824b112be2d5c6106b2578a6b2fb45d1a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k164.json":"847a1a5cf74114ed58613338e2edab1d0f17141cb064071d7091626001ec454d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k180.json":"1c07a60ddbf6bd07577d6641382a042f61960deb78975fe0b0f5efb60f3bcdfb","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k198.json":"e2db8760fa1363fbfbe15a7c1f28a7bcc9927eebd67f4b6e9b5b4802f53dfbcc","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k218.json":"f6de071a3deec2cbb6c2b198ae16861e638045cd1c0c52546250afeb06fb8c65","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k240.json":"960b2df1b506aca2188cab8dca3379781b0b7646dbdab29b5fff8c8c5c8a9755","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k264.json":"d7cb2e370de6438968be933070a2466e4407b1485ed7dfacbfc72afc138cac27","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k291.json":"953ef4f6578e3b93a77d64bc318d82aaf8969e2bbad193a99b27fc552f18b2e5","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k320.json":"1c5e31e6d07de64f705a64a762f27acf5bd6eddeb09e66496950ea491dbe42b8","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k352.json":"a4ae40ad108824de2a99111ce0b186faa77a8e4e0f677ef7b9f78122c3c65a70","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k388.json":"6dcd796975eb1e7714fb9a1edbeb2522e12ae4f7fead17bb5a0324b6cd4412ec","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k427.json":"22494b94e25bed9239c666ba1dbe692b3a9b90ad9bf07548ddce49281b70d89a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k470.json":"0595909142bc78b40f3354923e9483c07ff2a60c1de4e7531059787bdcd3967f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k518.json":"cdd09e97c709f7b8b2a5187b8d551f28a243b177608ff10e578d697f13a232fd","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k571.json":"f31d68ebc34be7583702ee8b42618ecfa7578cc837e8b6a876f0bfd1bd7d4fd8","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k629.json":"91b855ec43b7e22a567bc7661ad8d99c72a71fb266ecb89502cc1384a4d35942","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1097.json":"47158fae30b2c4d4aeebce25e25a8aec192e5a06d6437f332fd52bff4cf27be0","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1209.json":"009c0ba5ee508640262fb05d4e38d204487c3fa2235ea45ef0a5f071b327e79e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k122.json":"5be1a0fd39f22470ce97e355fc18459b5b06902fc2279c6cdc22ceb6f8203abc","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1332.json":"bb72f724d89321afb2fbcb63bffa8d867eeb1894d053e8ee43ce4a57f0d59c9b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k134.json":"878f79122a3c471c5cdea0c428251a7e3bac4a77b8e5b1233dfa11973e1802e3","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1468.json":"0bf2d6eebe06d4aaa99577e04245f5507e6f18e51f7c61fdeb55c93a2911e95a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k147.json":"417840ca08c3de333b1a1bebec76833bb39d8da1eacfbe70adcd2c6c98d88e97","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k161.json":"e4aff10b4156bcea76689502434b29a28f46a5385116f62d823b617431709482","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1618.json":"5f78ffc3ec7d2b93c82913fb2f235e2cc9e4c031eff1329720ad45a7beaea2c4","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k177.json":"c184072d1433b1271842769abfd8ad5975283b0e80e9222a4a98d88ce6685825","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1783.json":"6504b24c23782c4cd4a1838cb04b968c639e4189a9c8865c677a9cebd497bc6a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k195.json":"879e9c65f6c7e59a62848f8d9ea95311f5d0dd82f8f1d7ae628e00bba16cf42e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1965.json":"5d13273339a0adbeb1cb7686caf102a1296682a4f7ddafd62f0c9c5adc7c87d9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k214.json":"5d510b64b3987ef7eed77d7aa0556692db001d2fe8157611e6dec5fae48bfa8c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k2166.json":"c1ab0ae199f1d256c725b57d621ad0558eb64b32bfa547f99d413ad9a5f347d9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k235.json":"53c575571c990b70b84c3aa8dc29c6bda8a2205ebd0c5ea8074a66de7bae321f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k2387.json":"6bd32115321a945942e46d1b6929047e0b2ccdc035813f4fcd6d0ed9f024d3e6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k258.json":"de1fe87e42c03f9f4c93e7ecd41eb7d450fe0834c8ee904807c9d08735bc26ba","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k2631.json":"54939dc757fad92f0fda141268491886afcd39c3d8f8e662c15caae64ec20ff6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k284.json":"c1770971d6d6099f9e2518a5b36b0d98a5be3b09792cd88e5df485501ac65fbb","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k2900.json":"8a17d832780f93c6050e780ea8582a35e984d8ce30148d354794a5470699bc6d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k313.json":"cb66c6255bede3978eacb1356d6f318c852d1bc44828bf23e0b8cb02ec4e7242","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k3197.json":"8d067f718fd2dbfaefb9c4286506865b07414c59fbde0e537ea255fc4ac5f11b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k344.json":"68cfcbe7c9ec404ff31c6b2d0bfcafbfcabf425343140ff8151ab0a6ab16ab75","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k3524.json":"b5f5a94748b702a88f50d1c35937f875424e4bec99ecf6b82140cfd6c55ff27b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k379.json":"59cc0a9d9f5ac6667f6ff3efa3f88efc5ad2f4678b2965033a92ba566407f1d9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k3885.json":"170f5c7d36521f000df9bd462305efaf95ca94a8b3874f0b85630f206d2ae31f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k417.json":"37b8c954c82f5541e5a2cdd7b5789447e8e09a73d5f61c9b9d1b461d83888408","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k4283.json":"ba5560f6109ae37fef484e6c81a65c83640608016525af816d448bd88dcd395a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k459.json":"0180caa133a00b32c9d9e606891cdb2cf922719efa4173881ba21540818b27b5","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k4722.json":"e4998ab4de31bc6a7e132788b4d60a3b8e0731935a4fcbcb5211d9aceddbf6dd","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k506.json":"94acd24dcc2cd41e671b0a49861531fb8122522782c1d7f21985e58e21fd7028","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k5205.json":"806ea1906628d12ea78e88f5c2747ffc587ade61d0eab6d816b77e6baf7c5770","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k557.json":"da32c7ea0a908b2728eff5f9c4ffd7ba7fde6a3b7402cd7af9ee9411f41449fa","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k5738.json":"58b947869a6629173fdfb31498d8682d6d239a6d68d7afc767d72ff942232b8f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k613.json":"a5fa0e673b5e472a41fae60af6c36657fe70ffb0b3192b70e84bacfb41b21197","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k6326.json":"b993cded5c5b48e8c2540d627baef9190e5bbd707255bbcefcb127642bda15ca","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k675.json":"b5a5e5da0d4230fcbbc2c901255b507b416965decf2018fe91b0ab7b4d79ce9b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k6974.json":"0afc7418e7b9fa0be8f9e741e6db00dc810ecba830d6f28c5e8f55e8e502868c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k744.json":"53a9b9c18c0b70e4e4b6852c4ce6b963539765889821718209ad0c144e46c755","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k7688.json":"7d43c38333c29f55d8dcc5e08249c6892a299a97e6e951c6caf63bc61dcd36cf","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k820.json":"2af066430bd54f906bb522b2d8af0c60afb73aebbc468c2e1094fbcf76e7d55a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k8475.json":"86d1cbdcd44d9e8249e829d83b4f85031b843f32f46bd18880866102c7269845","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k904.json":"b2db8320379c2b4a840fdaa3b6f973bd75530216c1ad45095aad8468605b02fd","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k9343.json":"891cc2ebfdc09918101586424d9c8bb70823b5ea8bde11bf84f1b46164e822f1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k996.json":"64b2dd74ea9f06eabf59c555862b6ebe3506a95679d47f22055331cae83caadf","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard.json":"ca2cec3d3c201907439b79d69b5f2a27f1e493254dda39085e2d10f510a66b22","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k103.artifact.json":"123acb40a9ae622be1712efacd698ad9016ec2c85dc915239d6d13aac72dc79b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k113.artifact.json":"15b97c2dd1006886b505681e85cd51510638d5944ffed085e60e4cc28599aeb0","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k124.artifact.json":"e361e50038ae87d1d8a92625fd3b08814cc9eceb6741433d85597c1f51ca6d3d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k136.artifact.json":"08ab3e974e9c1e1d502817c6b2eba4a8e4d86fdda1ece456112ceb5bd66344ae","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k164.artifact.json":"6966ce11b521760c766d9f0af02ab30d698f658a0710f2bcfe9fd2a9b30a6440","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k180.artifact.json":"a5714f189e9201691080678b5e9bcb8961ba1a3f1101721d743f79dc8956571c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k198.artifact.json":"b73905a2a1cbf1cf742f4ca1404dfc0689dd7a87d52012f641cd1d825baa0f95","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k218.artifact.json":"432c3bd29c94868fb64bdddfcaa8224defe297c688273204e99b924aecb8c883","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k240.artifact.json":"035a5b56bd88cbd03ba9b24fd3157d7aa2f227213cb729b50d181ef38c2245f5","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k264.artifact.json":"f7b1c49c1da083e760686ead230e3fabdb21c7462790cd80208eae358268b16b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k291.artifact.json":"f78b8f7158520dadaf9bff8a1fc30ae92990d5ecaf4c6c7e6ec408e5a938b390","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k320.artifact.json":"883bfc16c02e6bd453fe7f044ea5e67817693937d57e23be27cfb30d6e9a20ac","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k352.artifact.json":"312fdc652034379d11b5b202433662202160850c274651d271884bf5e1da7bf4","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k388.artifact.json":"e7f65f0d372cb7eab287d7d7e9661deda46bc7bbdf84325b8076cf3f16419708","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k427.artifact.json":"e0e1f39bb10ac430fe162bf3083f56ecd1384c926ef08f6829d499e2d26f6b1e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k470.artifact.json":"4332d1a4f16f920fce8a30d2c9aa71c6deb672fe5536f6b0e85e38c2c45bed44","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k518.artifact.json":"964f92098c0f2a11600018876387391a167fa35af1eca243e1d9038e8312cdd3","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k571.artifact.json":"ae37abb74a2ec6cd3f5b6492b39e0173523bf4f24e32492c99a487ea83f6edca","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k629.artifact.json":"7f0b2c4c670712873429a347217cfa6d6843ef106318256a9dcfabc118c0a4a0","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1097.artifact.json":"697dbbca6b3a554c3f2e31bb858658d0b85d2be5a72e12c66ad175e73118fa4e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1209.artifact.json":"2c9a33df3b1cc534678e9a0658732fc5b1d6b02c9aef352c072d1467251d076c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k122.artifact.json":"b932af2a9706c7c4325a081aa1f27e8c70fa4620f0d00f0693f1bb4c387e12ca","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1332.artifact.json":"8df888316de9ca71b51e39f49e493b7f501f563637d6dbffdc3887c0f68545b0","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k134.artifact.json":"52fa77fe72ba940928352b9abc06f9187e7ba6650335def432245654afe215ca","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1468.artifact.json":"969aeae9b5eead9283ad039a18504b316a0b2e04dc861ef44a432c204ae0da92","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k147.artifact.json":"57e124dc2c064ac61329f77383bd686ed3c41954b6cee601712994f4894b6b8a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k161.artifact.json":"fc898f7821fd78e851fa59f8e702f27c335bdc3c8cac414e25eac0298f4319b2","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1618.artifact.json":"70261d9fd128a619ea244b8169a8a612eef84b64be05fdeb3e66e3f1d5a8ca10","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k177.artifact.json":"4d0db21069d9bbed50ec177efd85d256a3cc004454e6a53e720b7a2d2880c7ec","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1783.artifact.json":"71c9b43d0ea72400c3a3454df614edf19bf6ebc5c8285997fdd640eb73c895df","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k195.artifact.json":"928a3f62b65179c344929ba6cf54184352f181d3d5430a390163a566cd3f6170","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1965.artifact.json":"69a329ed09a3401c77eb075e11b28768187dd46903c353f2ad976506d6bc8fd9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k214.artifact.json":"9ce8940dd0d2913c31b9052d44b38c8cca8860e09c17bc0014254d6fa8cc627a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k2166.artifact.json":"862231f5df08fb648931903011d61b75008df80a5b48688f17c47c872eeb33f6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k235.artifact.json":"0bf3caf4382bbd98b9fb89b902f744b5d1981f1fd2c92316e2deec0b142332c0","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k2387.artifact.json":"9bf8891280bfec8f0c5bbb46a847d6010dd1c047da4028ebafe28c20800b82d2","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k258.artifact.json":"04b0c9333a2dc89280c6ad8a9d1da4f1ea1b15e01bb9a31a3b7e371d3c9fb4f9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k2631.artifact.json":"ad6e2b9e462a4d82c2a9507d8a7ebe32b5ef2565ed70c0e8fc2a7bbd1cca74e9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k284.artifact.json":"cfefb7c94891ab2e5a09c9be5c8b3da0dc89944df3d168b805f2c8c85c0abcb8","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k2900.artifact.json":"3dd1ba3946c40ef0d97e92f44bdea58c317baf1707122c72b1a5acc3581e3a14","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k313.artifact.json":"5b7d7f537752c7a37d40deb8dbaec7eae57a0d5d256b5775c4f6cca8cf7d8250","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k3197.artifact.json":"18e97134f41c563fdb6e8812316ce01ac1f2beb034e0a8704dbad9c4c60f9eb9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k344.artifact.json":"ce42f6272bcdf0b1626521e2ae948823ca750562cce261b0f384011bb951308a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k3524.artifact.json":"22ad679a5816e95e4ec57d5684267a81f14c73bd0c3eef68ad217c9edf6f01c9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k379.artifact.json":"5c575eaccbd2fce5c8d8117eb46c8f221c7590d64f700d27b1cf81a19a0006f2","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k3885.artifact.json":"b9d2f753ac7f26804a25e85a7c90497adddabe97e92e82e561bdcdce4ae6a67b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k417.artifact.json":"cf5a24376a9ec7d9ebbec0e2e58ad03645ec7434be3fec5e3a4284276dba2823","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k4283.artifact.json":"763589e9574f409bcf54f8af8692fb74cd155c553af983b6fbb721b9905e031a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k459.artifact.json":"5e8cb83cb4ac81e7c315982bcfed5ce6b22b39859d134b94db4e5fa95f041704","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k4722.artifact.json":"b321e9eb5351a8d771b0733313f93c46c23441d3a3623fbbfb55991830d62a8c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k506.artifact.json":"4dae272b2ee6af11cfdf91f98b5d64ad9ce47623e35661a4f4c8f34c99a80040","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k5205.artifact.json":"1f725b1a0b23d75fe04c6a0f6848b5b40a38983cb3dd32aaecca98aeca289ab1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k557.artifact.json":"eb3d97553dedecb33207f8f7b9801be939f3acdcf8f3351fbca6a14723e4a5fc","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k5738.artifact.json":"5c093dd4d287c2208f25df267185ad7199a82b8e82bf932f8d94a4f2dd34d103","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k613.artifact.json":"cf60b761d5e3a66e61fcaf09d7986059c8c88211ec5040b64b04916e5ba8b418","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k6326.artifact.json":"92aea745e41dcd491bccaaedbd2f777464a858afe2cfc438d402d68d321742a0","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k675.artifact.json":"b1bf956ee9479d1c4a9735370a46ba3aac900ee44805b02821cd01adc3ef6a68","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k6974.artifact.json":"412e36c96da486ca4ae29e00b9c5cc87eadba01dd7e485624920b826d3735853","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k744.artifact.json":"1ccb32416216fc738822b37af19c0b2ebd7e2c612cf116b78e6311e502368212","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k7688.artifact.json":"b6eb041e8e2264532529101a259b86b8aa190ccdb8b76e80be82fda2b66f29dd","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k820.artifact.json":"a02d2ec83f6a919790381ab8e02156ff53e1bc5c628aaa4db9ce15d28b53fc5c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k8475.artifact.json":"ed8f00c6edc3febd1db156f375ba631b0b318f26df98b0b6c4f2e9fb797a8ec6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k904.artifact.json":"11a7ccf62fe3b1364bcdf9dd9b99fc04d64b7c870d1131c64bd3dcae1584aa3d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k9343.artifact.json":"8e20cef5cdaef28329fc2bd797c5944fb50919ce6ed866031f0ddf9a1fcde867","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k996.artifact.json":"aff55f300771f52d26514b2d41fbace6f4ce311924f2cfecc9c7891d2016f505","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard.artifact.json":"e259a7aff7384c6974f26fd4db92fd66cfeec03bd2df2e86472cc93c4e97db43","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k103.json":"c1306a512ff9bb87be9721c33c0619f1b50efceacb2191e6dbb611fd120e3461","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k113.json":"af39fe159fa96a90fbabe1654bdb3c18b3ae5ac0203d585dd36bcde27e672445","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k124.json":"1a8143d0b0cd3696b0a72a9cc8f894ee3db5a5cabfd1e9bbc19d3306561babda","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k136.json":"08f6137d7dc7205ca147f875c34d13d4fcc275c1b3b150d1d34121d307d56211","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k164.json":"1cd10a124168acf6355bb8f74c03e7363c1ea9c02cbde420a1bd4b8e8d420d86","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k180.json":"d8fae65b49d2cce4ce604fc77372d125e1290e5f3dbad74b6a1db0e52a6824a9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k198.json":"244e27adf4032cf36a1fd7e9b2ba4acba4d26722c531c81c56a9cdeedd0431a9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k218.json":"d47047942b8d1ba305f558e44a117be24aeec1e70c34336d4d4f884577b22126","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k240.json":"a64ccadc42cc991c095c4e4dae39e2a0eacbf0cbc5f7bdbb71a855d89c2a970a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k264.json":"ea9ce4b91755148a3b8b27b19a4780b15da3d936e36f8035f7b864a381811ba1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k291.json":"aeb0dbc47cf31bc215fe185503d46b5a673e9f9015060dcc61640768d8796c33","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k320.json":"b26a6c676f85c2731d9b39b0f37b0ed056014f401098d116191444f3ee3b4e8f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k352.json":"5594417c78dc1da8a104ef1f7ef9892736bc3d63dbe0ebc1630ad2f08d09580d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k388.json":"10dfae31b394024ff38601fb0995d72270f021ba0f8c1f9a9a667d4b35b5209e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k427.json":"258f6c528e1218dbc157afe4e8a7bfbd663bf21bde416b2f59a94d4466a9193e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k470.json":"05224fc259313290c8503ede1d334abc685537c84750ca40fbe0074978fb1ba1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k518.json":"672c43c5bd50886e7e342215c4de6401615a4bcf2162e5f05ecea66e2bdb1d8c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k571.json":"b672221e2020e120b26285faf17f61c682c53a710c2d0109dfe4072eb58ae1e5","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k629.json":"a99185b2dbb29ba276c531bfbd7cf18fb56d72b02788570b7a700c4a1de51540","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1097.json":"c25cd1ac9370314d3d0e587c61c96fa3e4b6a008f6f093e4134723f0b54c9116","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1209.json":"aed9d0fe4894d3769cf7d19acc48a9321ad3a7143c224ff0a2d1944cd10c7533","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k122.json":"d4c010129dc15c3fd0209b9ff040b91c152139691ab2a1e2c4e231b1badd7ae3","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1332.json":"4c983ff6856d84ef58c9cd4eb95f5bbc38df6c9df65ee9be2d8ebc73bd810e7f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k134.json":"e9ade7157c9c87daafeb3d92d8b1ad350a75a44f497944e9ab02e71b1f1845e6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1468.json":"62459138f994543ec583b01aff314533c59e4d5459527d904f4e96d7d264454d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k147.json":"5d9ab0459e3b3466f003998ff606e011548ef56685948950d6fb0e3ce5ad1b8f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k161.json":"80aaf71a4f36aa0ea35533ec45882060a381c879fdc6ceb9b4b6584825b931c2","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1618.json":"98e974e72969f76f6eaa022c89defa4b09628ae6bcd0d2819d69e9f33e832f81","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k177.json":"b9b437de546704d8661ecfebfc17f005a9e8ba1cc8f66669d52322440cfaba76","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1783.json":"63ddceedb7eb456587c04f3b0427442d46f69001615b7d2a374c797a45327964","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k195.json":"95550adff6139bdc174eaa93a6a520b2614224060ea3a16bdadf1f3e2a04c1f4","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1965.json":"3b0d50df0164f3ebd307d531df703eccb8ec086406a3bce896303b6d8d548591","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k214.json":"2b88700e3cdb4f96c07b86a46b927ef16aeafd5017b01931d8bc9e48ef7b8985","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k2166.json":"49cdd3a0bb11daf0d3694b34872f01f3e1c8dd3e10a282708da027b0d5f22a3a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k235.json":"c86fbd53115c00f1a199eae700a91d7b465a3c86d038e291b1fbfb5ff1e74149","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k2387.json":"a73e0d1aa8e8518490ace076f76a2dfbe7c98d426e7083612f63915e7300856b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k258.json":"286650871a187f6fb15c6f27bfe77110f1937ff26ecd514b53ad3e478fa2776a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k2631.json":"ef3174792ae95f79dc2c41d2a2ff8909a362e505ffef4aa043ec0efd3953bfb9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k284.json":"d9961d86d07fd27657ce660c43f14e63b3a2a9a9a3613f6a26ee198e25b06b64","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k2900.json":"9d9bbcdad29b33dc463846f4a259832a3053a6bd1d9846b47e52f2a5ac881b61","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k313.json":"e80e71473634383e44c64988983a4a2da98fc82229ebaeb70f251203cba0673c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k3197.json":"4479e440157d63deb6c240db456baf8d04361817e95907a6a17ef2dfc73760ff","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k344.json":"40311f9fe095d4cad31879166ed5eac9c65a86a53442637f0fba8bb56ce3ae7f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k3524.json":"7a6bbf7eefa38b418a31bd5eeab46b5e1593d6fe0d6931c4912957f55c162fb7","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k379.json":"edc014e27af1c483e4bbfc6128063b4d101b7005ecbdc76744a7e172c9d7e4f7","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k3885.json":"f9be7e675beefe9235464ad52e1b48534f23589fed56fb0cb9573861fcc7b2b1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k417.json":"b5fee3bde08f4c878fb677cdaae7299d364d761defe75f629e5e64ff6cdd8ef3","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k4283.json":"0af69184ec56826cd4d65f7e9498a8bd976fa6e001252833dcc951c7236683a9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k459.json":"6dcef71b733b9d295cf8aac6ba5044854763df892573353be4e5231b2a2986d1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k4722.json":"bd76af4ccf6fc1d8fee4a0bb1f10a8001a741ee79a12291d35ab046b8343873d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k506.json":"b9c5b640d984484b0cefc15b8d8d2b7955b0bec91230a0f6e79b782d6bbe24ba","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k5205.json":"88f67b19497ab1d9879e7aec5e9f8904881df0f374677229aa999a79e7886906","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k557.json":"2deeb18df19e1fe829e9bf27ddd250e22467d51c4e96b07171cd23fe2df4fe63","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k5738.json":"3314072db71add192863f51f03b9f6780d32b62bf8c67fa58ce58161b7d659d0","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k613.json":"1ea9a698d1cea92d3fbdbc6b5867a9354bddfa9b2a418e275b356ac1ba9d5bf6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k6326.json":"8dde5361f2decd052dcd2a068532627a0ededf0f4f8d00e48cc64872e0e66715","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k675.json":"323ca86abca5192c45160b71639e20e52fdec0eb3af0c8f0131847a86741bc90","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k6974.json":"bab043a8929830083b9471410c44d743fe1f125f1756231e55f752ae609a38ca","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k744.json":"bf4dfe818d57d8f12218c48e797a275cb7e3167d09fded28cd936e6e3ece2159","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k7688.json":"e1b8a60d205821b4669ecea9571b7ba26486e56ca130bbb6b95cad56ad1455bc","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k820.json":"8bebe0cfb7e8c57bd9a38c0d63adf083591fac56c4e85a37e084e89e629bc51a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k8475.json":"e35108e7963be7d9f1a81667bbedadd8697e1490a29e8f36fe7e445812906719","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k904.json":"3c2071b2b0de679c2bf1ec84af2ed0e3ec97290180867a57c5fdbae9c2273c4b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k9343.json":"2b9a76cb4cf60bad2ed000cc7f1fc0c18eaef75cd4bffa16ca338aec5b8a279a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k996.json":"eef5d229e94cda8c4b152b2df57dfd82aa313c7c8e1c4f2c0c5fcd4527fae416","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard.json":"2fa9fd5cb1643358925947df6a9562db29a861f3469c6ba4060e96e7fe6bb2ca","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k103.artifact.json":"0b1c924a2a0af92f9c7f6cb00c3ba17fde3c9f7b193ac941d4d5415127a349c1","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k113.artifact.json":"45eaa3506fd57e51762b2dc9426bcc5310b71051181976f57542ed9461ea007e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k124.artifact.json":"c3aaa48e3f47dfb299f0ab29f0df0ca34921798e4dd41f5a39c70e93eb390ed5","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k136.artifact.json":"1bccbc2ffbcf9df58a5e4c2dc911237125dda48a22be01a73b5083da56606121","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k164.artifact.json":"8580ba826fad48b7268fffd0b4a6be775ef349e895546f688d9c4eca23c3dc79","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k180.artifact.json":"0e7438d3f5ea15bd5183476fe7bfcf40505b28244bd740546a82e79844c01138","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k198.artifact.json":"31d0d2ce5b0c69549c98f713aa8ffaf3d3e82e2d6a8fc2159c16af061d76dd6b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k218.artifact.json":"a1939e6d55aab56cfec22dfad9b146fbdbbe5f46c0f2cde506037e8af6a18263","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k240.artifact.json":"ad2f7b1dcec780414806ac9fc2ee8dd189a1ff80436ec57e3f9c0b13b5625ecb","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k264.artifact.json":"8204b253fa6d7cd004a48ab1d549fe16516cf9a179899d8412a0f43d86ad8f50","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k291.artifact.json":"4444561087da61a2039accd57a5fe7428daa39e5c020c358ff626a758cfef0ec","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k320.artifact.json":"3af37b9c7dd946a1dde3a9ec96ac8747f1c5d518605a5d625d8dda3abb72aa9f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k352.artifact.json":"70abc3c59e5718766449f3ee8899adad4d93f4107882439f6726774206740ab6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k388.artifact.json":"b0d25f33b361dad8bb88699a48033bf44e327cc9516c205de43574fd28c10f00","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k427.artifact.json":"7719766fe84e2e827923fc06fdb0239b113d0b1a0cc6db4bf770cdee27f61250","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k470.artifact.json":"4816d57729e3cce4e45b34c8983c5170fb6ecb9cb5173c975095746730f83d79","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k518.artifact.json":"d8cb1be79737cb0236e74055a4ea1c11c53a916fc4699f683c06ea24275f1ff5","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k571.artifact.json":"30e1cfdfba317848513159721cc9c8d6334e4bb372d6a182a6f226a773a6f4b4","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k629.artifact.json":"7168a80c028f339daaf64b3cb499fcba1843743e0d66332cd0163f5d6e79935c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1097.artifact.json":"2992df25742f91af63ec785c39f6f23a513809539d8adf85097bf5a5c4fda5ed","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1209.artifact.json":"4200dbcf5338ef0baf760f2974bd3b13813c0b239d740f52b8f96739ea549550","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k122.artifact.json":"73864488a5c6edc654119bec2f470a6ab51cd0f6e3ae134068a6b303c374307c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1332.artifact.json":"0c7718dc5c26147bc86fd326f9dc322dfd84a31bff35723cd7109c38565dff27","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k134.artifact.json":"5ace14edaec82c2562b1df94aaeee0ebee3a0efd36510d83e506c338e4c964df","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1468.artifact.json":"673ff8015dd1748f0448a5dbec47e3697f5c0d50f5ca604d849e8758750ce24e","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k147.artifact.json":"23aa132e6b1a533b062e42bddd48c138d4ba275d50bf80de4fefb363d2ab9f84","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k161.artifact.json":"4efa79f696ef126fae24425e8d5297e2d3ca80656a6f5ba34b39df2fa260b82b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1618.artifact.json":"f262b0b576ba17d46d2cf2f8679f6af4f81e9d943feb1be9bdf3fb7c0b20f11f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k177.artifact.json":"0af17edb6c65d8b385126153320714db88b8b8ca80f8c7c6a76b9677d22bc8c8","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1783.artifact.json":"9fb5992852343942dd546bdb1ff407886a7cb6b2aa93c73bc42a1b36a83d5233","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k195.artifact.json":"603c1d57b78e8f82da260cbd3a657d5aa47d71197c42dedeadd26573c1f5c3f9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1965.artifact.json":"38946df56ffc1c36085f9af3fb551f370b4dfb5d31ca54d3d47146d887232aca","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k214.artifact.json":"b347c90c8b7836e21606c62f3c86ddb64320acf9732c155d3dcdc0d28909735f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k2166.artifact.json":"27aaefdd426172a2bcf196dd217c124c186ec6d3c6a4b6c00d979fff0b6c2d0a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k235.artifact.json":"240af169fc2f052076d10bbf4e44825226fdc241e09db9eac71e2da2b2c248aa","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k2387.artifact.json":"064a37dea7a3b229a75eba8b39f22710daf5a187d96ac7b1730a04911514bc21","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k258.artifact.json":"399cba6c9202e0a66cc2af2873f7a9ebc1c6dc667921cb10feb214db53581c75","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k2631.artifact.json":"262a2b9bea3b42d0c45b625bf6846b159394b4ceb92762b15bf0510480684e60","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k284.artifact.json":"182facee4d2cb5e85c9bdb08dcfa8103524298fafdd96e0fc6c68b20af3ef2aa","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k2900.artifact.json":"010a34c77cd1b65eee535b6c6d31e8cb2854380bf0fcc59f51ee1dc3ec316695","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k313.artifact.json":"90bb11acdc12da1f75d95044a14b3ca432258d1946f58c01155bd104cb6f3c58","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k3197.artifact.json":"3699f5f11c1c3c7c5bc70524a6ca708f78ba884be6e56ee0c54c2404c7962fae","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k344.artifact.json":"696654c7fe0b75d4e2030abfd444e2783be6e7ef512241fa94214bce28b737c2","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k3524.artifact.json":"6ff48ee67234b6628feb0d34e546a72f20c45d2045f9351ed5f3b5d5bd3198e6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k379.artifact.json":"c52975de72dd9960f95ef153dd520d97f9b207760398b1a96496abced379d9b6","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k3885.artifact.json":"7a0cfd51af577f7ab90abbfaf3275431c64bd754f8712181b3f48954f8197f1c","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k417.artifact.json":"fbd7261dc072af5eafc52535edd49fb469621e37843f2e82b1e34bc8fbf0054a","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k4283.artifact.json":"1adbcbe92ed7a63945bd430c42c76c49f66da9fce6d93dde6270c8232092097f","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k459.artifact.json":"22d68b198ee17b9107ab0197b7134da17bbf135716c02c6c81691abad5fed953","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k4722.artifact.json":"2aca22fca7a53822870447fdd59484b5a2e15102873951481e9800f7dd8a04cf","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k506.artifact.json":"34e24233196039808194c7ba0ae176e63ae3a6ae26788ad9a6b6503c6ce0cd29","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k5205.artifact.json":"a14a9759d5ccf934fbdd2d0ac37e13d4ab18670ce1552fc3cf71a3e28dfbb136","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k557.artifact.json":"91988303a33c7b38ec2b9f9271abd4a63b11a4bb5b1fd77bcd14bf0cc1056068","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k5738.artifact.json":"2f433473e08ec49812dca1bc2436b7af1b06d6c54e7b583535f70c02ad47a8bb","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k613.artifact.json":"c85e26a6f3aa3f4682fff8171874fe32b84b9a6a52675d3e5e8a4535caed6be9","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k6326.artifact.json":"9356e61e059b465c716e954631bcbba1c6322fd05aec0fda74eb87798d21ea43","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k675.artifact.json":"8dab39a6dd2f4f493465b8c2c12cf437ab248da8a50d6dc2d4a004f908347383","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k6974.artifact.json":"c881830143949eb0ae753a89b7dde9bb37c1b0a495a28f0d753d676d288cd09d","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k744.artifact.json":"270b6389f21e71b1e36b5af09153332ba8bc142c7db85f509cda8049c6b607dd","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k7688.artifact.json":"a667be8d0fc62f0d93718d21bf089380a64f1507d691e6de399effe84cddaee7","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k820.artifact.json":"5ebd30bf02807283c517c9e39bef71cfcce290a7757feead3ff8d34b7532dd48","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k8475.artifact.json":"ee035280dcc956e3aad939f4746fe5e358604cc15f0e83633a2eb5dd79634f47","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k904.artifact.json":"3971d9eebcc96ddbaa297d33b2bdb940decd9f02334a17d187c321205c7decf2","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k9343.artifact.json":"1f24368d3179b7ffb7a402f284c3b06bab943c61ea4ac38483d020ad465af33b","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k996.artifact.json":"6683b34230c5260235d9ee5e95a7c4f96fd80f49d35bce53744379933cfb68fc","contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard.artifact.json":"96e18e94daedd3da0afe5f215c227f3eb4e341d539ac4cb4df9c5963135b1ce4","contracts/pool/v1/artifacts/v1-kasseal-mainnet-2-tn10/pool.artifact.json":"11bf7c41d2fb90beb07d92a0d8ce7de32accf676e182fa6882b84c123f3aad3c","contracts/pool/v1/artifacts/v1-kasseal-mainnet-2-tn10/pool.ctor.json":"0e88b336995fcd2c4a84b882239c0a4071dd921e33bd59baf0b0d2a3bf1c3f0b","contracts/pool/v1/artifacts/v1-kasseal-mainnet-2/pool.artifact.json":"7ae79b8a9a36e6b7469dc7fe1d8bd3cc227abe94632e3fe1e36cfcebcb1cccb2","contracts/pool/v1/artifacts/v1-kasseal-mainnet-2/pool.ctor.json":"d2e5abb2350d1f5e7657aca91e5af4ab05b4e42004fe26a2acee956e359afbae","contracts/pool/v1/artifacts/v1-kasseal-mainnet-3-tn10/pool.artifact.json":"11bf7c41d2fb90beb07d92a0d8ce7de32accf676e182fa6882b84c123f3aad3c","contracts/pool/v1/artifacts/v1-kasseal-mainnet-3-tn10/pool.ctor.json":"0e88b336995fcd2c4a84b882239c0a4071dd921e33bd59baf0b0d2a3bf1c3f0b","contracts/pool/v1/artifacts/v1-kasseal-mainnet-3/pool.artifact.json":"7ae79b8a9a36e6b7469dc7fe1d8bd3cc227abe94632e3fe1e36cfcebcb1cccb2","contracts/pool/v1/artifacts/v1-kasseal-mainnet-3/pool.ctor.json":"d2e5abb2350d1f5e7657aca91e5af4ab05b4e42004fe26a2acee956e359afbae"}};var e1={"nodejs/LICENSE":"fb06b99a835c4cdade7f2f180fd87c0198d552cf1e0cd14c34716411b009a92f","nodejs/kaspa.d.ts":"0034215eb938b5649baddeda2670889ca461ab3644d01943331151bc4dc0d3dc","nodejs/kaspa.js":"6d92cb305d0cc2eb26de9e305b7f7a8c17daa130ad478f0b340b50490557dbcf","nodejs/kaspa_bg.wasm":"c9657568610ae1d305bc2e1cf85208ceba0d1a7893c4057b38caa8add2ffb0f5","nodejs/kaspa_bg.wasm.d.ts":"e7c1c9f8275c45225a315c1083c6b580b1dd509bf8b5bb3ef931a8e8361e20ef","nodejs/package.json":"8b61fefaba842c41b805291d95b2f9e81778ec590813a6c34eddcd316659b8d0","web/LICENSE":"fb06b99a835c4cdade7f2f180fd87c0198d552cf1e0cd14c34716411b009a92f","web/kaspa.d.ts":"2e95d6b2c6892df445ecbea1ead244d76707370c0828a03d7ca8c2f06d1bd6f0","web/kaspa.js":"19b888ecaae0d308f693fc6802b3af6cc772e37db63b546a04a1462f48763b3d","web/kaspa_bg.wasm":"4f86dd96862f8d1169ac9b50704f4808faebfba8fbfd1f19327202ecfcfaf578","web/kaspa_bg.wasm.d.ts":"e7c1c9f8275c45225a315c1083c6b580b1dd509bf8b5bb3ef931a8e8361e20ef","web/package.json":"8d1f0f475a590bb0b4a052564f12713ecbf5d19b1520bf3d231ae9768b90d269"};var Io=Z0;var Wy=e1;var gr=class extends Error{static{o(this,"ArtifactIntegrityError")}path;expected;actual;constructor(t,n,r,a){super(`contract artifact ${t}: ${n}`);this.name="ArtifactIntegrityError";this.path=t;this.expected=r;this.actual=a}};var js=class extends Error{static{o(this,"SdkIntegrityError")}file;constructor(t,n){super(`Kaspa SDK ${t}: ${n}`);this.name="SdkIntegrityError";this.file=t}};var Fs=class extends Error{static{o(this,"SdkCompatibilityError")}stage;failures;constructor(t,n){const r=n.slice(0,5).join("; ");const a=n.length>5?` (+${n.length-5} more)`:"";super(`Kaspa SDK passed to initWeb is not compatible (${t}): ${r}${a}`);this.name="SdkCompatibilityError";this.stage=t;this.failures=Object.freeze([...n])}};function zy(e){const t=Io.files[e];if(t===void 0)throw new gr(e,"not listed in the package manifest");return t}o(zy,"expectedArtifactDigest");function Ax(e,t){const n=zy(e);if(t!==n)throw new gr(e,`sha256 ${t} does not match the pinned ${n}`,n,t)}o(Ax,"assertArtifactDigest");function Jy(e){if(Io.builds[e]===void 0)throw new gr(e,"is not a bundled build");const t=o(n=>n.includes(`/artifacts/${e}/`),"inBuild");return Object.keys(Io.files).filter(n=>t(n)||n===Io.tokenReference.path).sort()}o(Jy,"artifactPathsOfBuild");function Tx(e){const t=`${e.replace(/\/+$/,"")}/`;const n=new Set;for(const r of Object.keys(Io.files)){if(!r.startsWith(t))continue;const a=r.slice(t.length);if(!a.includes("/"))n.add(a)}return[...n].sort()}o(Tx,"listFromManifest");var t1=[[ba,"UNSUPPORTED_NETWORK"],[ma,"UNSUPPORTED_BUILD"],[gr,"ARTIFACT_INTEGRITY"],[js,"SDK_INTEGRITY"],[Fs,"SDK_INCOMPATIBLE"],[Bt,"ARTIFACT_MISSING"],[Ha,"ARTIFACT_NOT_LOADED"],[Da,"ARTIFACT_SOURCE_NOT_INSTALLED"],[Zo,"CONTRACT_SET_NOT_SUPPORTED"],[Wa,"SDK_NOT_INSTALLED"],[gt,"LAYOUT"],[kn,"UNKNOWN_TEMPLATE"],[ga,"TEMPLATE_MISMATCH"],[ya,"TEMPLATE_NOT_DECODABLE"],[N,"DECODE"],[F,"VALIDATION"],[ot,"SUPPLY"],[yr,"OWNERSHIP"],[Q,"TRANSFER"],[de,"STATE_CODEC"],[La,"DECLARATION"],[j,"SIGSCRIPT"],[In,"CURVE_MATH"],[X,"ARGUMENT"],[Ra,"SELL_PAYOUT_TOO_SMALL"],[V,"PARAMETER"],[Ua,"OVERFLOW"],[ue,"POOL"],[$r,"POOL_PAYOUT_TOO_SMALL"],[it,"LP"],[At,"LP_STATE"],[Na,"LP_SHARE_COUNT"],[Ba,"LP_SHARES_CAP"],[Lr,"LP_RESERVE_CAP"],[Rr,"LP_FLOOR"],[Ur,"LP_PAYOUT_TOO_SMALL"],[Ka,"LP_TOKEN_LEG_TOO_SMALL"],[$n,"LP_INVARIANT"],[Ma,"LP_INVENTORY"],[Qo,"STANDARD_BAND_OUT_OF_RANGE"],[Zr,"PROOF_NOT_BOUND"],[jn,"SHAPE_NOT_SUPPORTED"],[ea,"LINEAGE_MISMATCH"],[Fn,"TOKEN_AMOUNT_MISMATCH"],[ta,"UNKNOWN_CURVE_TEMPLATE"],[na,"COVENANT_CELL_VALUE"],[ir,"LP_UNSAFE"],[ra,"CURVE_NOT_OF_PROOF"],[aa,"POOL_NOT_OF_PROOF"],[cr,"NET_BOUND_EXCEEDED"],[oa,"NEEDS_CONSOLIDATION"],[sa,"NEEDS_SPLIT"],[Ft,"RESIDUAL_BELOW_MINIMUM"],[ar,"FLOOR_VIOLATION"],[Yr,"INSUFFICIENT_FUNDS"],[Ts,"PINNED_FUNDING_GONE"],[pr,"INSUFFICIENT_TOKENS"],[Xr,"COVENANT_CELL_NOT_FOUND"],[ia,"FOREIGN_COVENANT_INPUT"],[Is,"RATIO_DRIFT"],[gn,"UNSAFE_SCRIPT"],[_t,"SLIPPAGE_OUT_OF_RANGE"],[Nr,"FEE_ABOVE_CEILING"],[qa,"FEERATE_OUT_OF_RANGE"],[la,"TREASURY_NOT_ALLOWED_ON_NETWORK"],[sn,"STATE_JSON"],[Fe,"TOKEN_RECIPIENT_REFUSED"],[Oe,"CLAIM_MISMATCH"],[te,"FINALIZE"],[ko,"REJECTED"],[ge,"REPLACEMENT_REFUSED"],[et,"RETRY_POLICY"],[hn,"INVALID_TRANSITION"],[ze,"OPTIMISTIC_CONFLICT"],[Ae,"ADDRESS"],[Ht,"SIGHASH"],[Y,"SIGN_REQUEST"],[Vn,"MESSAGE_SIGNATURE"],[Ao,"MESSAGE_SIGNING_UNSUPPORTED"],[Gn,"WALLET_UNAVAILABLE"],[Me,"WALLET_NOT_CONNECTED"],[qn,"WALLET_NETWORK_MISMATCH"],[ke,"WALLET_ACCOUNT_MISMATCH"],[fa,"KASPIRE"],[mt,"KASTLE"],[vn,"KASWARE"],[Lo,"NOT_SUPPORTED"],[_o,"API_ERROR"],[mr,"HEAD_MOVING"]];var Xy=[fa,mt,vn];var Yy=Object.freeze(t1.map(([,e])=>e));function Qy(){const e=new Set;for(const[t,n]of t1){if(typeof t!=="function"||!(t.prototype instanceof Error))throw new Error(`error table: ${String(n)} is not an Error class`);if(e.has(n))throw new Error(`error table: duplicate code ${n}`);e.add(n);const r=t.prototype;Object.defineProperty(r,"errorCode",{value:n,enumerable:false,configurable:false,writable:false});if(!Xy.includes(t))Object.defineProperty(r,"code",{value:n,enumerable:false,configurable:false,writable:false})}}o(Qy,"install");Qy();function n1(e){if(!(e instanceof Error))return void 0;const t=e.errorCode;return typeof t==="string"?t:void 0}o(n1,"errorCode");function Zy(e,t){const n=n1(e);return n!==void 0&&(t===void 0||n===t)}o(Zy,"isKassealError");function r1(e){const t={p0:e.p0.toString(),k:e.k.toString(),lot:e.lot.toString(),curveLots:e.curveLots.toString(),gradReserve:e.gradReserve.toString(),feeBps:e.feeBps.toString(),creatorSpk:h(e.creatorSpk),tokenH:e.tokenH,tokenPrefixLen:e.tokenPrefixLen,tokenSuffixLen:e.tokenSuffixLen,poolH:e.poolH,tokenCellKas:e.tokenCellKas.toString(),openWindowLots:e.openWindowLots.toString(),openWindowMaxLots:e.openWindowMaxLots.toString()};if(e.treasurySpk!==void 0)t["treasurySpk"]=h(e.treasurySpk);return t}o(r1,"curveParamsForProof");function a1(e,t,n){for(const r of n){const a=r.curve;if(!M(e,a.prefix)||t.length!==a.suffix.length)continue;const s=wc(a.suffix,a.params.creatorSpk)[0];if(s===void 0)continue;const i=t.subarray(s,s+nt);if(!Jt(i))continue;const c=Ku(r,i);if(M(c.curve.suffix,t))return c}return null}o(a1,"contextForCurveTemplate");function o1(e){const t=[];for(const n of Va){for(const r of Co(n))t.push(sr(r,e,n))}for(const n of ts(e??on)){for(const r of Co("v1",n))t.push(sr(r,e,"v1",n))}return t.filter(n=>Ms(n))}o(o1,"committedCurveBases");function Wu(e,t){return(n,r)=>{const a=a1(n,r,e);if(a===null){t?.("the curve template is not a committed preset of this build: its parameters cannot be checked here");return{ok:true}}return{ok:true,params:r1(a.curve.params)}}}o(Wu,"curveTemplateTrust");var e2=146;function s1(){const e=Ga(Ri);const t=_(e.contracts.KCC20.bytecode_hex).subarray(e2);if(Lt(Uint8Array.of(107),t)!==qe)throw new Error("the bundled reference program does not hash to the KCC-20 reference template");return t}o(s1,"referenceTokenSuffix");function i1(e){zt(e);return o1(e).filter(t=>t.networkId===e)}o(i1,"curveBasesOf");function t2(e,t,n=i1(t)){zt(t);let r;try{r=vi(e)}catch(i){return{status:"malformed",reason:i instanceof Error?i.message:String(i)}}let a;const s=Yl(r,{referenceSuffix:s1(),curveTemplate:Wu(n,i=>{a=i})});return s.status==="bound"&&a!==void 0?{...s,status:"unverified",reason:a}:s}o(t2,"verifyLaunchProofJson");var c1=Object.freeze({mainnet:"https://api.kaspa.org","testnet-10":"https://api-tn10.kaspa.org"});function d1(e,t,n){const r=o(i=>typeof i==="string","str");const a=o(i=>(typeof i==="number"||typeof i==="string"&&/^\d+$/.test(i))&&Number.isSafeInteger(Number(i)),"int");if(!r(n.transaction_id)||typeof n.is_accepted!=="boolean")return"unavailable";if(n.transaction_id.toLowerCase()!==t.toLowerCase())return"mismatch";if(!n.is_accepted)return"not-found";if(!Array.isArray(n.inputs))return"unavailable";if(n.inputs.some(i=>!a(i.index)||!r(i.previous_outpoint_hash)||!a(i.previous_outpoint_index)||!r(i.signature_script)))return"unavailable";const s=[...n.inputs].sort((i,c)=>Number(i.index)-Number(c.index));if(s.length!==e.inputs.length)return"mismatch";for(const[i,c]of e.inputs.entries()){const d=s[i];if(Number(d.index)!==i)return"mismatch";if(String(d.previous_outpoint_hash).toLowerCase()!==c.transactionId.toLowerCase()||Number(d.previous_outpoint_index)!==c.index)return"mismatch";if(String(d.signature_script).toLowerCase()!==c.signatureScript.toLowerCase())return"mismatch"}return"confirmed"}o(d1,"compareGraduationWithChain");async function n2(e,t,n={}){zt(t);let r;let a;try{const l=vi(e).graduation;if(l===null||l===void 0)return"none";r=l.tx;a=at(r).txid}catch{return"mismatch"}const s=(n.baseUrl??c1[t]).replace(/\/+$/,"");const i=n.fetch??((...l)=>fetch(...l));const c=new AbortController;const d=setTimeout(()=>c.abort(),n.timeoutMs??8e3);try{const l=await i(`${s}/transactions/${a}?inputs=true&outputs=false&resolve_previous_outpoints=no`,{signal:c.signal});if(l.status===404)return"not-found";if(!l.ok)return"unavailable";return d1(r,a,await l.json())}catch{return"unavailable"}finally{clearTimeout(d)}}o(n2,"graduationOnChain");function r2(e,t){const n=e.params;if(t<0n||t>n.curveLots)throw new Error(`lotsSold ${t} is outside [0, ${n.curveLots}]`);const r=n.curveLots-t;return t<n.openWindowLots&&n.openWindowMaxLots<r?n.openWindowMaxLots:r}o(r2,"maxBuyLots");function a2(e,t,n){if(n<=0n)return 0n;const r=r2(e,t);if(r<=0n)return 0n;const a=Xe(e).curve;const s=o(d=>Fa(a,t,d).total<=n,"fits");if(!s(1n))return 0n;let i=1n;let c=r;while(i<c){const d=(i+c+1n)/2n;if(s(d))i=d;else c=d-1n}return i}o(a2,"lotsForKas");function D7(e,t,n){const r=a2(e,t,n);const a=r===0n?0n:Fa(Xe(e).curve,t,r).total;return{lots:r,tokens:r*e.params.lot,total:a,leftover:n-a}}o(D7,"buyForKas");function H7(e,t){if(t<0n)throw new Error("tokens must be non-negative");return t/e.params.lot}o(H7,"lotsForTokens");function V7(e,t){if(t<=0n)return void 0;const n=Xe(e).curve;const r=o(i=>{try{return zo(n,t,i).total}catch{return-1n}},"net");if(r(t)<ja)return void 0;let a=1n;let s=t;while(a<s){const i=(a+s)/2n;if(r(i)>=ja)s=i;else a=i+1n}return a}o(V7,"minSellLots");function G7(e){return e<=0n?0n:e/lt}o(G7,"poolLegForKas");export{Lo as a,gt as b,kn as c,ga as d,ya as e,N as f,F as g,ot as h,yr as i,Q as j,E as k,h as l,_ as m,M as n,va as o,ie as p,b1 as q,tt as r,de as s,Zu as t,wa as u,y2 as v,xn as w,h2 as x,kr as y,nt as z,Ve as A,Xs as B,vt as C,wr as D,kt as E,el as F,Ec as G,v2 as H,xa as I,Uo as J,xr as K,Jt as L,Sa as M,Aa as N,Oc as O,_c as P,$c as Q,Ca as R,Ea as S,Sn as T,Ar as U,Xt as V,A1 as W,dl as X,ri as Y,ul as Z,ll as _,Nc as $,T1 as aa,P1 as ba,Tn as ca,Cr as da,Zs as ea,ei as fa,Rc as ga,sl as ha,Oa as ia,fl as ja,Qn as ka,Tr as la,Pr as ma,wt as na,rt as oa,ti as pa,ni as qa,Uc as ra,pl as sa,C1 as ta,bl as ua,Bo as va,xt as wa,E1 as xa,O1 as ya,_1 as za,yl as Aa,ai as Ba,D1 as Ca,H1 as Da,ci as Ea,xl as Fa,di as Ga,Sl as Ha,Al as Ia,at as Ja,Ko as Ka,ui as La,j as Ma,er as Na,G1 as Oa,jo as Pa,q1 as Qa,Ia as Ra,$a as Sa,Be as Ta,Le as Ua,pi as Va,Pn as Wa,tr as Xa,Or as Ya,Yt as Za,Dc as _a,Fo as $a,Do as ab,Ho as bb,Qt as cb,Ol as db,Cn as eb,En as fb,On as gb,Hc as hb,W1 as ib,J1 as jb,St as kb,bi as lb,El as mb,Q1 as nb,mi as ob,Vc as pb,Ll as qb,ob as rb,cb as sb,db as tb,Gc as ub,qc as vb,Wc as wb,ub as xb,Lt as yb,Rt as zb,_n as Ab,Ir as Bb,Vo as Cb,Bl as Db,sh as Eb,Kl as Fb,qe as Gb,lh as Hb,pb as Ib,bb as Jb,hi as Kb,Ml as Lb,jl as Mb,La as Nb,mb as Ob,yb as Pb,Wl as Qb,zl as Rb,Ah as Sb,Th as Tb,hb as Ub,Jc as Vb,vb as Wb,Yl as Xb,xb as Yb,Ph as Zb,vi as _b,In as $b,X as ac,Ra as bc,V as cc,Ua as dc,ue as ec,$r as fc,it as gc,At as hc,Na as ic,Ba as jc,Lr as kc,Rr as lc,Ur as mc,Ka as nc,$n as oc,Ma as pc,Tt as qc,qo as rc,Zc as sc,nd as tc,Tb as uc,Ql as vc,Zl as wc,Pb as xc,ed as yc,ja as zc,td as Ac,ef as Bc,tf as Cc,en as Dc,Cb as Ec,nf as Fc,rd as Gc,Wo as Hc,Fa as Ic,zo as Jc,Jo as Kc,xi as Lc,ad as Mc,od as Nc,sd as Oc,id as Pc,tn as Qc,Ob as Rc,Ai as Sc,dt as Tc,$b as Uc,af as Vc,nn as Wc,Lb as Xc,cd as Yc,Rb as Zc,Ub as _c,Nb as $c,zh as ad,Jh as bd,Xo as cd,Bb as dd,Kb as ed,dd as fd,Mb as gd,Xh as hd,jb as id,ud as jd,Ut as kd,Yh as ld,fd as md,Qh as nd,sf as od,Zh as pd,ev as qd,tv as rd,Ti as sd,Qo as td,nv as ud,lf as vd,Ci as wd,Ei as xd,bd as yd,ff as zd,md as Ad,fv as Bd,Ii as Cd,Bt as Dd,Da as Ed,Va as Fd,je as Gd,Zo as Hd,We as Id,gf as Jd,rm as Kd,Ui as Ld,hd as Md,vd as Nd,kd as Od,wd as Pd,Ha as Qd,Wv as Rd,Af as Sd,dm as Td,zv as Ud,Jv as Vd,Rn as Wd,Tf as Xd,ve as Yd,Pt as Zd,ut as _d,nr as $d,Cf as ae,Ad as be,Bi as ce,as as de,Td as ee,Pd as fe,Ed as ge,os as he,Ki as ie,Ef as je,Of as ke,Cd as le,_f as me,Un as ne,qa as oe,ss as pe,pm as qe,Br as re,Nr as se,Od as te,xe as ue,is as ve,Mi as we,_d as xe,mm as ye,If as ze,gm as Ae,ym as Be,Ct as Ce,cs as De,Kr as Ee,Id as Fe,Wa as Ge,hm as He,ck as Ie,vm as Je,dk as Ke,Nn as Le,rr as Me,le as Ne,Xa as Oe,ji as Pe,Fi as Qe,km as Re,us as Se,Rd as Te,Di as Ue,Ya as Ve,Qa as We,ls as Xe,Ue as Ye,Ud as Ze,Za as _e,Bn as $e,Uf as af,fs as bf,Mt as cf,Nf as df,$d as ef,ds as ff,sn as gf,eo as hf,to as if,Hi as jf,Bd as kf,Vi as lf,Kd as mf,Bf as nf,Kn as of,Sm as pf,Ce as qf,no as rf,Am as sf,cn as tf,Kf as uf,Tm as vf,Mf as wf,bs as xf,jd as yf,Fd as zf,Dd as Af,Hd as Bf,Vd as Cf,Gd as Df,qd as Ef,Wd as Ff,zd as Gf,Jd as Hf,ms as If,Df as Jf,Xd as Kf,Yd as Lf,Qd as Mf,Zd as Nf,Pm as Of,gs as Pf,ro as Qf,ys as Rf,B as Sf,Vf as Tf,Ft as Uf,Wf as Vf,zf as Wf,Cm as Xf,eu as Yf,Jf as Zf,qf as _f,Em as $f,Om as ag,_m as bg,Kk as cg,Mk as dg,Xf as eg,jk as fg,Fk as gg,Z as hg,Yf as ig,Qf as jg,hs as kg,Gi as lg,Zf as mg,lt as ng,ep as og,Im as pg,tp as qg,nu as rg,ru as sg,Wi as tg,dn as ug,Vr as vg,tu as wg,Et as xg,ao as yg,$m as zg,au as Ag,Dt as Bg,Gr as Cg,qi as Dg,vs as Eg,ks as Fg,ou as Gg,ws as Hg,qr as Ig,Lm as Jg,ap as Kg,op as Lg,su as Mg,zi as Ng,t8 as Og,sp as Pg,Rm as Qg,ip as Rg,cp as Sg,n8 as Tg,dp as Ug,up as Vg,Qe as Wg,oo as Xg,iu as Yg,un as Zg,Um as _g,Nm as $g,lp as ah,fp as bh,Ee as ch,d8 as dh,Bm as eh,xs as fh,u8 as gh,gp as hh,yp as ih,l8 as jh,f8 as kh,p8 as lh,Ji as mh,b8 as nh,m8 as oh,g8 as ph,Km as qh,du as rh,Mm as sh,hp as th,y8 as uh,h8 as vh,v8 as wh,k8 as xh,Xi as yh,Yi as zh,uu as Ah,vp as Bh,Pp as Ch,uo as Dh,Gm as Eh,qm as Fh,Wm as Gh,zm as Hh,Ht as Ih,tc as Jh,bu as Kh,_p as Lh,te as Mh,Lp as Nh,Rp as Oh,rc as Ph,Up as Qh,ac as Rh,Np as Sh,Z8 as Th,e3 as Uh,Bp as Vh,Kp as Wh,eg as Xh,tg as Yh,ng as Zh,rg as _h,f3 as $h,Oe as ai,ag as bi,p3 as ci,ze as di,jp as ei,Fe as fi,x3 as gi,S3 as hi,Xr as ii,oc as ji,Hp as ki,Vp as li,Je as mi,Gp as ni,lo as oi,ar as pi,cg as qi,qp as ri,Yr as si,dg as ti,ug as ui,lg as vi,fg as wi,pg as xi,bg as yi,Ts as zi,or as Ai,K3 as Bi,Wp as Ci,Ne as Di,Ze as Ei,_e as Fi,fo as Gi,zp as Hi,po as Ii,ln as Ji,Ot as Ki,fn as Li,Ps as Mi,Vt as Ni,Gt as Oi,ce as Pi,ne as Qi,pn as Ri,ft as Si,Mn as Ti,Ie as Ui,Qr as Vi,mu as Wi,Zr as Xi,jn as Yi,ea as Zi,Fn as _i,ta as $i,na as aj,ir as bj,ra as cj,aa as dj,cr as ej,oa as fj,sa as gj,bn as hj,f4 as ij,dr as jj,pt as kj,ca as lj,mo as mj,go as nj,Se as oj,pe as pj,be as qj,hg as rj,ur as sj,sc as tj,yo as uj,mn as vj,ho as wj,lr as xj,Ke as yj,Cs as zj,Dn as Aj,qt as Bj,ia as Cj,De as Dj,kg as Ej,yu as Fj,ic as Gj,Es as Hj,cc as Ij,hu as Jj,pr as Kj,dc as Lj,uc as Mj,fr as Nj,Yp as Oj,ku as Pj,wu as Qj,wg as Rj,M4 as Sj,vu as Tj,e0 as Uj,_s as Vj,t0 as Wj,yn as Xj,gn as Yj,Q4 as Zj,n0 as _j,r0 as $j,a0 as ak,xu as bk,Sg as ck,Ag as dk,f6 as ek,o0 as fk,p6 as gk,b6 as hk,m6 as ik,g6 as jk,y6 as kk,Tg as lk,h6 as mk,s0 as nk,Pg as ok,v6 as pk,k6 as qk,w6 as rk,x6 as sk,Cg as tk,Su as uk,$s as vk,i0 as wk,Au as xk,Ls as yk,Rs as zk,Us as Ak,Ns as Bk,c0 as Ck,Hn as Dk,lc as Ek,Eg as Fk,Bs as Gk,Og as Hk,fc as Ik,vo as Jk,_g as Kk,Ig as Lk,S6 as Mk,$g as Nk,Lg as Ok,Is as Pk,d0 as Qk,pc as Rk,_t as Sk,Pu as Tk,l0 as Uk,Rg as Vk,Ug as Wk,P6 as Xk,C6 as Yk,Ng as Zk,ko as _k,Kg as $k,L6 as al,Mg as bl,R6 as cl,U6 as dl,N6 as el,p0 as fl,Cu as gl,ge as hl,Hg as il,Vg as jl,Gg as kl,j6 as ll,g0 as ml,et as nl,Eu as ol,G6 as pl,q6 as ql,ty as rl,y0 as sl,ny as tl,hn as ul,sy as vl,iy as wl,cy as xl,h0 as yl,wo as zl,yc as Al,ly as Bl,fy as Cl,Ae as Dl,Iu as El,Wt as Fl,bt as Gl,xo as Hl,T0 as Il,$u as Jl,la as Kl,C0 as Ll,E0 as Ml,O0 as Nl,hc as Ol,Lu as Pl,Ms as Ql,So as Rl,Vn as Sl,Ao as Tl,vc as Ul,Y as Vl,my as Wl,gy as Xl,To as Yl,_0 as Zl,Po as _l,fa as $l,Gn as am,Me as bm,qn as cm,ke as dm,Ru as em,_5 as fm,I5 as gm,vn as hm,kc as im,vy as jm,I0 as km,Nu as lm,ky as mm,Uu as nm,M5 as om,Ay as pm,$0 as qm,mt as rm,Ty as sm,Py as tm,Bu as um,W5 as vm,wc as wm,Ku as xm,L0 as ym,U0 as zm,nw as Am,Iy as Bm,N0 as Cm,K0 as Dm,M0 as Em,Xe as Fm,Du as Gm,Ry as Hm,Uy as Im,F0 as Jm,xc as Km,D0 as Lm,H0 as Mm,pa as Nm,Hu as Om,Vu as Pm,Gu as Qm,Ac as Rm,qu as Sm,q0 as Tm,Co as Um,My as Vm,J0 as Wm,Eo as Xm,jy as Ym,Fy as Zm,ba as _m,ma as $m,X0 as an,zt as bn,Y0 as cn,Dy as dn,Vy as en,_o as fn,mr as gn,qy as hn,Io as in,Wy as jn,gr as kn,js as ln,Fs as mn,Ax as nn,Jy as on,Tx as pn,Yy as qn,n1 as rn,Zy as sn,r1 as tn,a1 as un,Wu as vn,s1 as wn,i1 as xn,t2 as yn,c1 as zn,d1 as An,n2 as Bn,r2 as Cn,a2 as Dn,D7 as En,H7 as Fn,V7 as Gn,G7 as Hn};