@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.
- package/CHANGELOG.md +66 -0
- package/README.md +73 -7
- package/SECURITY.md +4 -2
- package/STABILITY.md +4 -3
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k103.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k113.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k124.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k136.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k164.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k180.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k198.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k218.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k240.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k264.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k291.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k320.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k352.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k388.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k427.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k470.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k518.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k571.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-k629.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1097.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1209.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k122.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1332.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k134.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1468.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k147.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k161.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1618.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k177.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1783.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k195.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k1965.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k214.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k2166.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k235.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k2387.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k258.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k2631.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k284.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k2900.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k313.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k3197.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k344.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k3524.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k379.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k3885.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k417.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k4283.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k459.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k4722.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k506.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k5205.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k557.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k5738.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k613.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k6326.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k675.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k6974.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k744.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k7688.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k820.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k8475.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k904.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k9343.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard-lot10k-k996.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.ctor.standard.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k103.artifact.json +351 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k113.artifact.json +351 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k124.artifact.json +351 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k136.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k164.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k180.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k198.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k218.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k240.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k264.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k291.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k320.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k352.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k388.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k427.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k470.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k518.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k571.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-k629.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1097.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1209.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k122.artifact.json +351 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1332.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k134.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1468.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k147.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k161.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1618.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k177.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1783.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k195.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k1965.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k214.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k2166.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k235.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k2387.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k258.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k2631.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k284.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k2900.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k313.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k3197.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k344.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k3524.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k379.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k3885.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k417.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k4283.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k459.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k4722.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k506.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k5205.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k557.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k5738.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k613.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k6326.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k675.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k6974.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k744.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k7688.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k820.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k8475.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k904.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k9343.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard-lot10k-k996.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3/curve.standard.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k103.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k113.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k124.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k136.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k164.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k180.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k198.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k218.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k240.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k264.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k291.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k320.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k352.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k388.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k427.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k470.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k518.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k571.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-k629.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1097.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1209.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k122.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1332.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k134.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1468.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k147.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k161.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1618.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k177.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1783.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k195.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k1965.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k214.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k2166.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k235.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k2387.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k258.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k2631.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k284.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k2900.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k313.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k3197.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k344.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k3524.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k379.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k3885.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k417.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k4283.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k459.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k4722.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k506.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k5205.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k557.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k5738.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k613.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k6326.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k675.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k6974.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k744.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k7688.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k820.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k8475.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k904.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k9343.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard-lot10k-k996.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.ctor.standard.json +251 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k103.artifact.json +351 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k113.artifact.json +351 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k124.artifact.json +351 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k136.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k164.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k180.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k198.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k218.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k240.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k264.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k291.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k320.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k352.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k388.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k427.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k470.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k518.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k571.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-k629.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1097.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1209.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k122.artifact.json +351 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1332.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k134.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1468.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k147.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k161.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1618.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k177.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1783.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k195.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k1965.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k214.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k2166.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k235.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k2387.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k258.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k2631.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k284.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k2900.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k313.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k3197.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k344.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k3524.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k379.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k3885.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k417.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k4283.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k459.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k4722.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k506.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k5205.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k557.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k5738.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k613.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k6326.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k675.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k6974.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k744.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k7688.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k820.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k8475.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k904.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k9343.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard-lot10k-k996.artifact.json +352 -0
- package/dist/artifacts/contracts/curve/v1/artifacts/v1-kasseal-mainnet-3-tn10/curve.standard.artifact.json +352 -0
- package/dist/artifacts/contracts/pool/v1/artifacts/v1-kasseal-mainnet-3/pool.artifact.json +483 -0
- package/dist/artifacts/contracts/pool/v1/artifacts/v1-kasseal-mainnet-3/pool.ctor.json +211 -0
- package/dist/artifacts/contracts/pool/v1/artifacts/v1-kasseal-mainnet-3-tn10/pool.artifact.json +483 -0
- package/dist/artifacts/contracts/pool/v1/artifacts/v1-kasseal-mainnet-3-tn10/pool.ctor.json +211 -0
- package/dist/artifacts/manifest.json +417 -1
- package/dist/chunks/chunk-FYCRPHEE.js +4 -0
- package/dist/chunks/chunk-JZJ7MFR5.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--curve-template-BWD6VPNU.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-A7VZ4YOH.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k103-55H7V436.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k113-ZGAQBYVJ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k124-U3GBZMSC.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k136-X7VJHD3W.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k164-ZT7KU6TK.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k180-BRVJUNC7.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k198-PDXOCEW3.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k218-3KPCBO2D.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k240-MLNPN3RX.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k264-WJKEMJYB.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k291-45RT664N.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k320-IRA7W7AG.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k352-QIUBH37O.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k388-S5LGM4T5.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k427-FSHKYWKF.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k470-NKHYE62R.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k518-W7KL6W5L.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k571-KS4BKYYZ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k629-CMZ62OPG.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1097-SGQDUE4O.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1209-4ROEKRTD.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k122-ZYTK7X6X.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1332-SDVUVZLC.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k134-GLXZNKHZ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1468-BPRCHYV7.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k147-VMQWZZ65.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k161-6GHQDV77.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1618-UDTCFCX6.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k177-GMMF6WC7.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1783-LCWH3A7P.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k195-WU6QM5WH.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1965-UV4XE3UJ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k214-YUX6FGQL.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2166-KOXORCKM.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k235-BDZGOOSF.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2387-BR4XNSAJ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k258-RUOKITMI.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2631-LYHVZSP6.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k284-DYUHSHK7.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2900-2ICAGGNJ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k313-AKDEI2TU.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k3197-B2EFNOK4.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k344-CHXS2HQ2.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k3524-MEESAQ4B.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k379-WIYCT6LX.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k3885-G5MUY72N.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k417-D46MBHTS.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k4283-UOSHCKBS.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k459-2UM24NRK.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k4722-TFUG6NS4.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k506-S4ZUE6WF.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k5205-TIS3A7KE.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k557-MJOEV2IS.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k5738-HHUBQINO.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k613-OKITBO2N.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k6326-YWUTODQU.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k675-R4V6SHQK.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k6974-KHJFT46U.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k744-DDZUJRUH.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k7688-5RLFPQJQ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k820-GQSOOOYM.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k8475-DULDHWK4.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k904-EQDNEVDK.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k9343-EST7MLXY.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k996-LRBWVDZC.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--curve-template-VA5M7NGB.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-2737LYFZ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k103-YBCPOH3F.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k113-BO6WCPMR.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k124-ED5UID3Q.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k136-TOAQ5V2P.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k164-3IGHY4UE.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k180-TCEUATLJ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k198-KIXGDZIO.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k218-7JWZI5C2.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k240-JZIAM5P3.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k264-D67MEKWC.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k291-DC32OIRO.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k320-QRZE7QIG.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k352-EIHJVF7E.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k388-UNLFSVYG.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k427-CGZ7UHFF.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k470-S7QNBQTN.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k518-D6V5JQCX.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k571-L54LDURU.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k629-SLMH3GAM.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1097-2CL73YK5.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1209-GL7ANHV4.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k122-CDEYO22M.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1332-MSKPOLH4.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k134-7HONZYWG.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1468-IALLSPE4.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k147-A7BCAILO.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k161-JTJDJ2K7.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1618-QEOOSOL2.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k177-B4X7FYJU.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1783-KXBEJLJI.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k195-OP6AG3WB.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1965-TUYKCDU2.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k214-JR3ZJYLW.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2166-IJE7BWIF.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k235-55PW5JYB.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2387-Z6P2ZC7Z.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k258-FGKPMBE7.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2631-54X6SIAA.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k284-DYFE5LIF.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2900-VCGWF5BS.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k313-CZ5Q3NN5.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k3197-464D6ESS.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k344-KJZJ6V52.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k3524-YP3BLSRE.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k379-QBFSIIGC.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k3885-GU6B65AX.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k417-BEG4ZEQJ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k4283-NWPM6GK7.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k459-2VKQOZGJ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k4722-4SMQTJOQ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k506-WLOLIF2P.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k5205-2DF7TZYQ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k557-5D5OXRT5.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k5738-MCF6TOER.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k613-N57YPC77.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k6326-UFV2XI3R.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k675-M5MNBC6Y.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k6974-3EMBKINA.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k744-PEXR4SIE.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k7688-2MM4HXA4.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k820-42IK5LFJ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k8475-B4UUEXON.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k904-2VQOPYNP.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k9343-SOUG4WUF.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k996-6T2WOWHX.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--base-AJNCIQVW.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--curve-template-D76BLM5C.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-EDPH4T24.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k103-M4RSAMCW.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k113-3P6MWPQS.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k124-RN7TIOHF.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k136-LFSS2YXM.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k164-ZUOXU7IG.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k180-KDS2UK2P.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k198-2COA74HK.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k218-6ZPCA27B.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k240-FEEJI4DG.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k264-YQNGD55V.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k291-JA3MZKXT.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k320-PBFTKR5I.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k352-YMX2BZVM.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k388-NQIIDPNA.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k427-UWVWIP5E.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k470-HGGPCBIG.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k518-YM6AJ4L7.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k571-UPNL6OTA.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-k629-CZEEOYVF.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1097-4P3CUID5.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1209-I4CXZARR.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k122-K4ZVEVQC.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1332-LXESN2GT.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k134-ZWJ6V7T5.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1468-6EA4C4KB.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k147-Z3ZP73QP.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k161-NGG6PIKX.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1618-BCU5LQDG.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k177-OA5LFXXM.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1783-GNRQNL6Q.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k195-JR3GBKOR.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k1965-52LS7F62.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k214-STDHHUYN.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k2166-JKOHATL2.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k235-B4OUS3TR.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k2387-KJ5TITHZ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k258-WZYNL2NW.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k2631-NQRZULBR.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k284-MAH7SSBF.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k2900-3NGJPTEI.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k313-GD2FIOCH.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k3197-DVDFK2YI.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k344-JK5I5NO6.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k3524-PC77RWDZ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k379-5JZBOP3U.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k3885-7E7DDD7E.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k417-YAL5BUYS.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k4283-OHDRS3YW.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k459-YVM6WOBR.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k4722-N52JARHY.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k506-FDTQ743C.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k5205-OZMUKQ74.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k557-KHXE6IGK.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k5738-3UO37PYG.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k613-IBLOU7D7.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k6326-OAVIHQ4J.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k675-PANIRLLY.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k6974-ANEWKO4H.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k744-XOR6GG6M.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k7688-7IY5FG3D.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k820-63CDKXRD.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k8475-R7LNR7P4.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k904-HSYPHWTU.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k9343-SKDK6U7G.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3--standard-lot10k-k996-KLXV44HW.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--base-ZIFKIN6E.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--curve-template-WUVHI37W.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-ZQ3IVPJ2.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k103-JCOBOXGC.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k113-HKB7YJ6S.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k124-R2B4XYLD.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k136-EW3QLQE4.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k164-U2H5SKJJ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k180-DET5JJHA.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k198-APVCSVRD.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k218-FZDJEU5Q.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k240-BK37GRZH.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k264-BL6GUTLQ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k291-U2ROJLPG.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k320-SLHV6QNB.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k352-36233BEJ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k388-LNU3KNV4.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k427-VJ6MZ4TN.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k470-XFWPLM4R.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k518-ZWRQRZC2.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k571-XXNIJHD7.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-k629-GFHKVMYT.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1097-2UOYPV3U.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1209-ZZBGXZQL.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k122-4CZDIIQC.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1332-PSG4QZ4D.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k134-UH7ZIW3J.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1468-MEMJ2IRD.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k147-4RWZDMT5.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k161-LPWAUTY3.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1618-LFNPUXWK.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k177-5AORVQFF.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1783-SWOJODEZ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k195-AYH3YNKO.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k1965-EHRRXJQQ.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k214-G5EY2FGH.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k2166-SC4TW2NS.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k235-W7K3ZV25.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k2387-5VYL6TBO.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k258-VCKFOOQA.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k2631-WFYKUQ25.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k284-MLWF3PK4.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k2900-XVKQVERB.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k313-2K6O3MSB.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k3197-XZJUALDO.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k344-2JOAOD6V.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k3524-HJYB6TVL.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k379-WOVL7ATN.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k3885-ND4M2UV4.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k417-HWP5AWKK.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k4283-GONKZ5KX.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k459-Z5ZN4PNT.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k4722-YXTPDNEF.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k506-LLZHZ55C.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k5205-DJTUQNGT.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k557-OO2KGHGK.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k5738-BVORVSF2.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k613-6ZKS4NAG.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k6326-T7B55LAR.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k675-CZNSXC37.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k6974-ZU5RKJDX.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k744-ENHFDIHK.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k7688-FLJV7OJ6.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k820-FM5FPCVM.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k8475-NJQVLPVK.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k904-TMC4ZNIB.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k9343-FPQFOLCE.js +1 -0
- package/dist/chunks/v1-kasseal-mainnet-3-tn10--standard-lot10k-k996-S2LNXMEE.js +1 -0
- package/dist/index.d.ts +20 -1
- package/dist/index.js +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.js +1 -1
- package/dist/types-ow7zEBqI.d.ts +10 -0
- package/dist/web-lite-mainnet.d.ts +18 -0
- package/dist/web-lite-mainnet.js +1 -0
- package/dist/web-lite-testnet-10.d.ts +18 -0
- package/dist/web-lite-testnet-10.js +1 -0
- package/dist/web-mainnet.d.ts +21 -0
- package/dist/web-mainnet.js +1 -0
- package/dist/web-testnet-10.d.ts +21 -0
- package/dist/web-testnet-10.js +1 -0
- package/dist/web.d.ts +5 -3
- package/dist/web.js +1 -1
- package/docs/contract-artifacts.md +34 -12
- package/docs/dex-and-routers.md +2 -2
- package/docs/errors.md +2 -1
- package/docs/explorers.md +2 -2
- package/docs/launch-proof.md +1 -1
- package/docs/wallets.md +15 -1
- package/package.json +18 -1
- package/dist/chunks/chunk-ZLGQP2RE.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-G2JAHX7I.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k103-MDMVZ2QI.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k113-VHAWBWJY.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k124-CCMPZRIZ.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k136-GLMQJSJY.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k164-OKMJDO5B.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k180-55OCXLQP.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k198-JU7B5XWS.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k218-XLJ5JHYS.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k240-SGVHCZXX.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k264-2E3LY7SC.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k291-6PY3BHY4.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k320-ZCJD5TZI.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k352-NGLJXQYP.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k388-PNX2RAFC.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k427-EQF3M2V6.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k470-SXB2LGOZ.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k518-5TBKPRN5.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k571-FUFPSPYU.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-k629-ZU2MY2M4.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1097-D6JDQO6O.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1209-OBAOMD6P.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k122-KQPN6NJK.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1332-RMFTEH6F.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k134-M275FLYC.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1468-NCJSKY2H.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k147-KR5AYKDB.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k161-G3TBLC2T.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1618-JDVUXEHK.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k177-G6PO2MOF.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1783-3M7EAYRN.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k195-RCMGQ3Y3.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k1965-JAMKZTIK.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k214-XA3LUEX4.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2166-JK4MHEJR.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k235-TBRH6PLK.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2387-7DUU6POJ.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k258-SV47XXNN.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2631-IAORSCGF.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k284-NBVHUKHH.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k2900-ICMYLNN5.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k313-BBYRXMF3.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k3197-JPUNDL5O.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k344-7J4J66JW.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k3524-A4I4COO7.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k379-3YR3VO6O.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k3885-4RPB6FON.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k417-VXFC3D4N.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k4283-IMD4DMWY.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k459-SQK576EC.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k4722-PWIMNCX2.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k506-GA55ODGE.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k5205-YEWHS4TN.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k557-ADEHVYB5.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k5738-Q4PT5ZXE.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k613-VLPN3VOO.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k6326-MWPIBW3V.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k675-O7ULXDIW.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k6974-EQYZ5MUX.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k744-PTUGUVVG.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k7688-M6YCDJ2C.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k820-72Z76LGP.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k8475-WXJQJY54.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k904-HRQDFBY2.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k9343-YM2TLR4Q.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2--standard-lot10k-k996-AOXS4VIO.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-P7ALG4L7.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k103-PMFIFDC2.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k113-XTMJQOPT.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k124-LGCAC7UL.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k136-QYDYKMQO.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k164-L7UYHEI5.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k180-N7FK5TEK.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k198-5QBBZSVE.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k218-6H5GUBVP.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k240-ERN2IH63.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k264-EIVIVWEW.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k291-45QJXSZO.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k320-INQ4E2TN.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k352-M4Z433QA.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k388-KKTEOPOK.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k427-VBRUTBB3.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k470-XBN3YQAK.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k518-YQASY5LW.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k571-VJWS6O4L.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-k629-WNQIIPGS.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1097-2SAVEBG4.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1209-S4KMZ2NT.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k122-C2KWY6TF.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1332-XJWJWOCK.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k134-TCPXVCUL.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1468-7XJ4CCRU.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k147-6N62HWU7.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k161-IMMPF3UE.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1618-YV5JPCEE.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k177-GYSPGGBF.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1783-4A6KU6PT.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k195-JURU2SWD.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k1965-TO4XXF2I.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k214-NA2BXYQ4.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2166-JSABPOAZ.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k235-467ZW5YL.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2387-PIPX46IG.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k258-CGX3IAR3.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2631-MPJN5VID.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k284-X2WS65VQ.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k2900-VD4BPEEL.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k313-T4OTQDBW.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k3197-WJCL3T5I.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k344-SFNQ3NNK.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k3524-WKI5E77C.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k379-2NOBMEA5.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k3885-LC6FHT5L.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k417-BYV6ERZR.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k4283-QBNHR6EQ.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k459-OBM2YAKZ.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k4722-5OJM5BZ7.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k506-2X3EXENX.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k5205-I5EAJYCQ.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k557-4R4FNC7X.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k5738-NS2DMP2O.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k613-QHO2XTG5.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k6326-T2JJQKXD.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k675-6T76I4I2.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k6974-PMDLIOCF.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k744-IPCUHXGU.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k7688-RP3BEVAI.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k820-BAB2GGE4.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k8475-VV4BF475.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k904-QM67HPNQ.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k9343-KCCISF2U.js +0 -1
- package/dist/chunks/v1-kasseal-mainnet-2-tn10--standard-lot10k-k996-AKQMLPZI.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-XLPNXOE2.js";var Ia=class extends Error{static{a(this,"NotSupported")}constructor(t,n){super(`${t} is not supported by the "${n}" data source`);this.name="NotSupported"}};var yt=class extends Error{static{a(this,"LayoutError")}constructor(t){super(t);this.name=new.target.name}};var wn=class extends yt{static{a(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 go=class extends yt{static{a(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 yo=class extends yt{static{a(this,"TemplateNotDecodableError")}templateHash;constructor(t,n){super(`template ${t} is recognised but not decodable: ${n}`);this.templateHash=t}};var N=class extends yt{static{a(this,"DecodeError")}};var D=class extends yt{static{a(this,"ValidationError")}};var at=class extends yt{static{a(this,"SupplyError")}};var br=class extends yt{static{a(this,"OwnershipError")}};var Q=class extends yt{static{a(this,"TransferError")}};var Fi=0;var Di=76;var Hi=77;var ji=78;var Vi=79;var Gi=81;var Ac=75;function ae(e){const t=e.length;if(t===0)return Uint8Array.of(Fi);if(t<=Ac)return E(Uint8Array.of(t),e);if(t<=255)return E(Uint8Array.of(Di,t),e);if(t<=65535)return E(Uint8Array.of(Hi,t&255,t>>>8),e);if(t<=4294967295){return E(Uint8Array.of(ji,t&255,t>>>8&255,t>>>16&255,t>>>24&255),e)}throw new D(`payload too large to push: ${t} bytes`)}a(ae,"encodePushExplicit");function ie(e){if(e.length===1){const t=e[0];if(t>=1&&t<=16)return Uint8Array.of(Gi+t-1);if(t===129)return Uint8Array.of(Vi)}return ae(e)}a(ie,"encodePushMinimal");function xn(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===Fi)return{payload:new Uint8Array(0),next:t+1};let r;let o;if(n<=Ac){r=n;o=1}else if(n===Di){r=Mi(e,t+1,1)[0];o=2;if(r<=Ac)throw Sc(n,r,t)}else if(n===Hi){const c=Mi(e,t+1,2);r=c[0]|c[1]<<8;o=3;if(r<=255)throw Sc(n,r,t)}else if(n===ji){const c=Mi(e,t+1,4);r=(c[0]|c[1]<<8|c[2]<<16|c[3]<<24)>>>0;o=5;if(r<=65535)throw Sc(n,r,t)}else{throw new N(`offset ${t}: opcode 0x${n.toString(16).padStart(2,"0")} is not a PushExplicit data push`)}const i=t+o;const s=Mi(e,i,r);return{payload:s,next:i+r}}a(xn,"readPushExplicit");function Sc(e,t,n){return new N(`offset ${n}: non-canonical push -- opcode 0x${e.toString(16)} used for a ${t}-byte payload`)}a(Sc,"nonCanonical");function Mi(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)}a(Mi,"need");var bt=8;var ht=(1n<<63n)-1n;var ag=-ht;function it(e){if(typeof e!=="bigint"){throw new D(`int state value must be a bigint, got ${typeof e}`)}if(e>ht||e<ag){throw new D(`int out of KCC1 range: ${e}`)}const t=e<0n;let n=t?-e:e;const r=new Uint8Array(bt);for(let o=0;o<bt;o++){r[o]=Number(n&0xffn);n>>=8n}if(t)r[bt-1]|=128;return r}a(it,"encodeIntState");function Jn(e){if(e.length!==bt){throw new N(`int state payload must be ${bt} bytes, got ${e.length}`)}const t=(e[bt-1]&128)!==0;let n=0n;for(let r=bt-1;r>=0;r--){const o=r===bt-1?e[r]&127:e[r];n=n<<8n|BigInt(o)}if(t&&n===0n){throw new N("non-canonical int: negative zero")}return t?-n:n}a(Jn,"decodeIntState");function Vu(e){return Uint8Array.of(e?1:0)}a(Vu,"encodeBoolState");function Gu(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}a(Gu,"decodeBoolState");function E(...e){const t=e.reduce((o,i)=>o+i.length,0);const n=new Uint8Array(t);let r=0;for(const o of e){n.set(o,r);r+=o.length}return n}a(E,"concat");function h(e){return Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}a(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}a(_,"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}a(M,"bytesEqual");var zu=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]);var je=[[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 H=new Uint32Array(32);var $a=new Uint32Array(32);function qi(e,t){const n=H[e]+H[t];let r=H[e+1]+H[t+1];if(n>=4294967296)r++;H[e]=n;H[e+1]=r}a(qi,"add64vv");function qu(e,t,n){const r=H[e]+t;let o=H[e+1]+n;if(r>=4294967296)o++;H[e]=r;H[e+1]=o}a(qu,"add64vc");function Xn(e,t,n,r,o,i){qi(e,t);qu(e,$a[o],$a[o+1]);let s=H[r]^H[e];let c=H[r+1]^H[e+1];H[r]=c;H[r+1]=s;qi(n,r);s=H[t]^H[n];c=H[t+1]^H[n+1];H[t]=s>>>24^c<<8;H[t+1]=c>>>24^s<<8;qi(e,t);qu(e,$a[i],$a[i+1]);s=H[r]^H[e];c=H[r+1]^H[e+1];H[r]=s>>>16^c<<16;H[r+1]=c>>>16^s<<16;qi(n,r);s=H[t]^H[n];c=H[t+1]^H[n+1];H[t]=c>>>31^s<<1;H[t+1]=s>>>31^c<<1}a(Xn,"g");function Tc(e,t,n,r,o){for(let i=0;i<16;i++){H[i]=e[i];H[i+16]=zu[i]}H[24]=H[24]^r>>>0;H[25]=H[25]^Math.floor(r/4294967296);if(o){H[28]=~H[28];H[29]=~H[29]}for(let i=0;i<32;i++){const s=n+4*i;$a[i]=t[s]|t[s+1]<<8|t[s+2]<<16|t[s+3]<<24}for(let i=0;i<12;i++){const s=i*16;Xn(0,8,16,24,je[s],je[s+1]);Xn(2,10,18,26,je[s+2],je[s+3]);Xn(4,12,20,28,je[s+4],je[s+5]);Xn(6,14,22,30,je[s+6],je[s+7]);Xn(0,10,20,30,je[s+8],je[s+9]);Xn(2,12,22,24,je[s+10],je[s+11]);Xn(4,14,16,26,je[s+12],je[s+13]);Xn(6,8,18,28,je[s+14],je[s+15])}for(let i=0;i<16;i++)e[i]=e[i]^H[i]^H[i+16]}a(Tc,"compress");function ho(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=zu.slice();r[0]=r[0]^(16842752^n.length<<8^t);let o=e;if(n.length>0){const s=new Uint8Array(hr);s.set(n);o=E(s,e)}if(o.length===0){Tc(r,new Uint8Array(hr),0,0,true)}else{const s=Math.ceil(o.length/hr);for(let d=0;d<s-1;d++)Tc(r,o,d*hr,(d+1)*hr,false);const c=new Uint8Array(hr);c.set(o.subarray((s-1)*hr));Tc(r,c,0,o.length,true)}const i=new Uint8Array(t);for(let s=0;s<t;s++)i[s]=r[s>>2]>>>8*(s&3);return i}a(ho,"blake2b");var ig=256;var Wu=64;var kr=[];function sg(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}a(sg,"sameBytes");function se(e){if(e.length<ig)return E(Uint8Array.of(170,32),ho(e,{outLen:32}),Uint8Array.of(135));for(let n=0;n<kr.length;n++){const r=kr[n];if(sg(r.program,e)){if(n>0){kr.splice(n,1);kr.unshift(r)}return Uint8Array.from(r.spk)}}const t=E(Uint8Array.of(170,32),ho(e,{outLen:32}),Uint8Array.of(135));kr.unshift({program:Uint8Array.from(e),spk:Uint8Array.from(t)});if(kr.length>Wu)kr.length=Wu;return t}a(se,"p2shScript");function cg(e,t){return h(e)===h(se(t))}a(cg,"p2shCommitsTo");function bo(e,t){const n=new Uint8Array(t);let r=BigInt(e);if(r<0n)throw new RangeError("le: negative value");for(let o=0;o<t;o++){n[o]=Number(r&0xffn);r>>=8n}if(r!==0n)throw new RangeError(`le: value does not fit in ${t} bytes`);return n}a(bo,"le");var dg=new TextEncoder().encode("CovenantID");function tt(e,t,n){const r=[_(e),bo(t,4),bo(n.length,8)];for(const o of n){r.push(bo(o.index,4),bo(o.value,8),bo(o.scriptVersion,2),bo(o.script.length,8),o.script)}return h(ho(E(...r),{outLen:32,key:dg}))}a(tt,"covenantIdKip20");var de=class extends N{static{a(this,"StateCodecError")}};var Ju=["v1"];function wo(e){switch(e){case"v3":return e;case"v1":return"v3";default:throw new de(`unknown contract set ${String(e)}`)}}a(wo,"poolStateLayoutOf");var i1=1;var vn=53;var s1=1;var wr=139;var nt=36;var Ve=new Uint8Array(32);var Wi=0;var kt=4;var xr=0;var wt=1;var Xu=1000000n;function Pc(e){wo(e);return wr}a(Pc,"poolStateLength");function c1(e){return e===wr?"v3":void 0}a(c1,"poolStateSetOfLength");function xo(e){return"v3"}a(xo,"poolStateSet");function La(e){return!M(e.lpCovId,Ve)}a(La,"isPoolBound");function vr(e){switch(e){case"v1":return"v2";default:throw new de(`unknown contract set ${String(e)}`)}}a(vr,"feeModelOf");function Jt(e){return e.length===nt&&e[0]===0&&e[1]===0&&e[2]===32&&e[35]===172}a(Jt,"isP2pkSpk36");function ug(e,t){if(!Number.isInteger(e)||e<0||e>255)throw new de(`${t} must be a byte`);return Uint8Array.of(e)}a(ug,"byteField");function Yu(e){let t=0;return{next(n){let r;try{r=xn(e,t)}catch(o){throw new de(o.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}`)}}}a(Yu,"reader");function ko(e){try{return Jn(e)}catch(t){throw new de(t.message)}}a(ko,"intField");function lg(e){const t=e[0];if(t===void 0)throw new de("byte field is empty");return t}a(lg,"byteOf");function vo(e){if(e.tokenCovId.length!==32)throw new de("curve state: tokenCovId must be 32 bytes");const t=ug(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(ae(e.tokenCovId),ae(it(e.lotsSold)),ae(it(e.feeAccrued)),ae(t));if(n.length!==vn)throw new de(`curve state encodes to ${n.length} B`);return n}a(vo,"encodeCurveState");function So(e){if(e.length!==vn)throw new de(`curve state must be ${vn} B, got ${e.length}`);const t=Yu(e);const n={tokenCovId:Uint8Array.from(t.next(32)),lotsSold:ko(t.next(8)),feeAccrued:ko(t.next(8)),phase:lg(t.next(1))};t.end();if(!M(vo(n),e))throw new de("curve state does not round-trip");return n}a(So,"decodeCurveState");function Cc(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(ae(e.tokenCovId),ae(it(e.kasScaled)),ae(it(e.tokenReserve)),ae(it(e.lpShares)),ae(e.lpCovId),ae(it(e.feeAccruedScaled)),ae(e.creatorSpk));if(t.length!==wr)throw new de(`pool state encodes to ${t.length} B, expected ${wr}`);return t}a(Cc,"encodePoolState");function Ec(e,t){if(t!==void 0)wo(t);if(e.length!==wr)throw new de(`pool state must be ${wr} B, got ${e.length}`);const n=Yu(e);const r={tokenCovId:Uint8Array.from(n.next(32)),kasScaled:ko(n.next(8)),tokenReserve:ko(n.next(8)),lpShares:ko(n.next(8))};const o=Uint8Array.from(n.next(32));const i={...r,lpCovId:o,feeAccruedScaled:ko(n.next(8)),creatorSpk:Uint8Array.from(n.next(nt))};n.end();if(!M(Cc(i),e))throw new de("pool state does not round-trip");return i}a(Ec,"decodePoolState");var tl=32;var To=64;var Qu=1024;var fg=1<<0;var pg=1<<1;var mg=1<<2;var gg=1<<3;var Ra=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];var yg=[2,6,3,10,7,0,4,13,1,11,12,5,9,14,15,8];function zi(e,t){return(e>>>t|e<<32-t)>>>0}a(zi,"rotr");function Yn(e,t,n,r,o,i,s){e[t]=e[t]+e[n]+i>>>0;e[o]=zi(e[o]^e[t],16);e[r]=e[r]+e[o]>>>0;e[n]=zi(e[n]^e[r],12);e[t]=e[t]+e[n]+s>>>0;e[o]=zi(e[o]^e[t],8);e[r]=e[r]+e[o]>>>0;e[n]=zi(e[n]^e[r],7)}a(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])}a(Sr,"round");function Ao(e){const t=new Uint32Array(16);for(let n=0;n<16;n++)t[n]=e[yg[n]];return t}a(Ao,"permute");function Ic(e,t,n,r,o){const i=n%4294967296;const s=Math.floor(n/4294967296);const c=new Uint32Array(16);for(let l=0;l<8;l++)c[l]=e[l];c[8]=Ra[0];c[9]=Ra[1];c[10]=Ra[2];c[11]=Ra[3];c[12]=i>>>0;c[13]=s>>>0;c[14]=r>>>0;c[15]=o>>>0;let d=t;Sr(c,d);d=Ao(d);Sr(c,d);d=Ao(d);Sr(c,d);d=Ao(d);Sr(c,d);d=Ao(d);Sr(c,d);d=Ao(d);Sr(c,d);d=Ao(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}a(Ic,"compress");function Zu(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}a(Zu,"wordsFromLEBytes");function Oc(e){return Ic(e.cv,e.block,e.counter,e.blockLen,e.flags).subarray(0,8)}a(Oc,"chainingValue");function bg(e,t){const n=new Uint8Array(t);let r=0;let o=0;while(o<t){const i=Ic(e.cv,e.block,r,e.blockLen,e.flags|gg);for(let s=0;s<16&&o<t;s++){const c=i[s];for(let d=0;d<4&&o<t;d++)n[o++]=c>>>8*d&255}r++}return n}a(bg,"rootBytes");var Ji=class{static{a(this,"ChunkState")}cv;chunkCounter;block=new Uint8Array(To);blockLen=0;blocksCompressed=0;constructor(t,n){this.cv=Uint32Array.from(t);this.chunkCounter=n}len(){return To*this.blocksCompressed+this.blockLen}startFlag(){return this.blocksCompressed===0?fg:0}update(t){let n=0;while(n<t.length){if(this.blockLen===To){this.cv=Ic(this.cv,Zu(this.block),this.chunkCounter,To,this.startFlag()).subarray(0,8);this.blocksCompressed++;this.block.fill(0);this.blockLen=0}const r=To-this.blockLen;const o=Math.min(r,t.length-n);this.block.set(t.subarray(n,n+o),this.blockLen);this.blockLen+=o;n+=o}}output(){return{cv:this.cv,block:Zu(this.block),counter:this.chunkCounter,blockLen:this.blockLen,flags:this.startFlag()|pg}}};function el(e,t,n){const r=new Uint32Array(16);r.set(e,0);r.set(t,8);return{cv:n,block:r,counter:0,blockLen:To,flags:mg}}a(el,"parentOutput");var _c=class{static{a(this,"Blake3Hasher")}#e=Uint32Array.from(Ra);#t=new Ji(this.#e,0);#n=[];update(t){let n=0;while(n<t.length){if(this.#t.len()===Qu){const i=Oc(this.#t.output());const s=this.#t.chunkCounter+1;this.#r(i,s);this.#t=new Ji(this.#e,s)}const r=Qu-this.#t.len();const o=Math.min(r,t.length-n);this.#t.update(t.subarray(n,n+o));n+=o}return this}#r(t,n){let r=t;let o=n;while((o&1)===0){r=Oc(el(this.#n.pop(),r,this.#e));o=Math.floor(o/2)}this.#n.push(r)}digest(t=tl){let n=this.#t.output();for(let r=this.#n.length-1;r>=0;r--){n=el(this.#n[r],Oc(n),this.#e)}return bg(n,t)}};function Po(e,t=tl){return new _c().update(e).digest(t)}a(Po,"blake3");function Co(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}}}a(Co,"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 hg=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 al=0;var es=1;var il=2;var sl=3;var Rc=new Map([[al,"disabled/v1"],[es,"amount-threshold/v1"],[il,"schnorr-signature/v1"],[sl,"hash-chain/v1"]]);var kg=0;var wg=1;var Tn=3;var Cr=3;var Xi=65;var Yi=32;var $c=33;var nl=129;var Eo=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 cl(e){return Po(new TextEncoder().encode(e)).slice(0,4)}a(cl,"dispatchTag");var Qn="borrowScheme";var Tr="borrowGuard";var Pr="extensionCommitment";var rl=new Uint8Array(Ge);function xt(e,t=Xt){const n=t.get(e.ownerScheme);if(n===void 0){throw new D(`owner_scheme ${An(e.ownerScheme)} is not defined by this template (known: ${Uc(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??rl),[Pr]:Uint8Array.from(e.extensionCommitment??rl)})};vt.validate(r,t);return r}a(xt,"makeKcc0020State");function rt(e,t=Xt){vt.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]}}a(rt,"kcc0020Fields");function Qi(e){return Pg(e,Qn)}a(Qi,"borrowSchemeOf");function Zi(e){return ml(e,Tr)}a(Zi,"borrowGuardOf");function Lc(e){return ml(e,Pr)}a(Lc,"extensionCommitmentOf");function dl(e){const t=new Uint8Array(Ge);t.set(it(e),0);return t}a(dl,"thresholdGuard");function xg(e){if(e.length!==Ge)throw new D(`borrow_guard must be ${Ge} bytes, got ${e.length}`);const t=(e[7]&128)!==0;let n=0n;for(let o=7;o>=0;o--){const i=o===7?e[o]&127:e[o];n=n<<8n|BigInt(i)}const r=t?-n:n;return{decoded:r,effective:r<0n?0n:r}}a(xg,"decodeThresholdGuard");function ul(e,t){if(t.length!==Ge)throw new D(`covenant id must be ${Ge} bytes, got ${t.length}`);return e.owner.semantic==="covenant-id"&&M(e.owner.identifier,t)}a(ul,"isSelfOwned");function Ua(e,t,n="token output"){if(ul(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`)}}a(Ua,"assertNotSelfOwned");var vt={id:Sn,stateLength:Ar,referenceSchemes:Xt,encode(e,t=Xt){this.validate(e,t);const n=E(ae(it(e.amount)),ae(e.owner.identifier),ae(Uint8Array.of(e.owner.schemeByte)),ae(e.extra[Qn]),ae(e.extra[Tr]),ae(e.extra[Pr]));if(n.length!==Ar){throw new D(`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=a((p,m)=>{const y=xn(e,n);if(y.payload.length!==m)throw new N(`${p} must be ${m} bytes, got ${y.payload.length}`);n=y.next;return y.payload},"field");const o=Jn(r("amount",8));const i=r("owner",Ge);const s=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(o<0n)throw new N(`negative amount ${o} in state ${h(e)}`);const u=t.get(s);if(u===void 0){throw new N(`owner_scheme ${An(s)} is not defined by this template (known: ${Uc(t)}). Refusing to guess an owner.`)}if(!Rc.has(c)){throw new N(`borrow_scheme ${An(c)} is unassigned (known: 0x00..0x03)`)}return{layoutId:Sn,amount:o,owner:{schemeByte:s,semantic:u,identifier:Uint8Array.from(i)},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 D("state must be an object");if(e.layoutId!==Sn)throw new D(`expected ${Sn}, got ${String(e.layoutId)}`);if(typeof e.amount!=="bigint")throw new D(`amount must be a bigint, got ${typeof e.amount}`);if(e.amount<0n)throw new D(`amount must be non-negative, got ${e.amount}`);if(e.amount>ht)throw new D(`amount ${e.amount} exceeds the KCC1 int range`);const n=e.owner;if(n===null||typeof n!=="object")throw new D("owner must be an object");if(!(n.identifier instanceof Uint8Array)||n.identifier.length!==Ge){throw new D(`owner must be a ${Ge}-byte Uint8Array`)}if(!Number.isInteger(n.schemeByte)||n.schemeByte<0||n.schemeByte>255){throw new D(`owner_scheme must be a single byte, got ${String(n.schemeByte)}`)}const r=t.get(n.schemeByte);if(r===void 0){throw new D(`owner_scheme ${An(n.schemeByte)} is not defined by this template (known: ${Uc(t)})`)}if(r!==n.semantic){throw new D(`owner_scheme ${An(n.schemeByte)} means '${r}' under this template, but the state claims '${String(n.semantic)}'`)}if(e.mintCapable!==null){throw new D(`${Sn} has no minter concept; mintCapable must be null, got ${String(e.mintCapable)}`)}const o=e.extra;if(o===null||typeof o!=="object")throw new D("extra must be an object");const i=o[Qn];if(!(i instanceof Uint8Array)||i.length!==1){throw new D(`extra.${Qn} must be a 1-byte Uint8Array`)}if(!Rc.has(i[0])){throw new D(`borrow_scheme ${An(i[0])} is unassigned (known: 0x00..0x03)`)}for(const c of[Tr,Pr]){const d=o[c];if(!(d instanceof Uint8Array)||d.length!==Ge){throw new D(`extra.${c} must be a ${Ge}-byte Uint8Array`)}}const s=Object.keys(o);if(s.length!==3){throw new D(`extra must hold exactly ${Qn}, ${Tr}, ${Pr}; got ${s.join(", ")}`)}},checkOwnershipTransition(e,t){fl(e,t,Tn,Cr,Xt);return e.map(n=>Co(n.state.owner))},checkSupply(e,t){if(e.length===0)throw new at("a transition must consume at least one state");for(const n of[...e,...t])this.validate(n.state);ll(e,t)}};function ll(e,t){const n=e.reduce((o,i)=>o+i.state.amount,0n);const r=t.reduce((o,i)=>o+i.state.amount,0n);if(n>ht)throw new at(`total input amount ${n} exceeds the KCC1 int range`);if(n!==r){throw new at(`supply not conserved: in=${n} out=${r} (delta ${r-n})`)}return n}a(ll,"checkConservation");function fl(e,t,n,r,o){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 s of[...e,...t])vt.validate(s.state,o);const i=Lc(e[0].state);for(const s of e){if(!M(Lc(s.state),i)){throw new Q(`input ${s.index}: extension_commitment differs from the leader's`)}}for(const s of t){if(!M(Lc(s.state),i)){throw new Q(`output ${s.index}: extension_commitment differs from the inputs'`)}}}a(fl,"checkFamilyShape");function vg(e,t){const n=a((r,o)=>{if(e.length!==r){throw new Q(`${hg.get(t.semantic)} owner-authentication bytes must be ${o} (${r} bytes), got ${e.length}`)}},"want");switch(t.semantic){case"pubkey":n(Xi,"a 65-byte signature");return{scheme:"p2pk-schnorr/v1",signature:e};case"p2pkh-schnorr":{n(Yi+Xi,"a 32-byte public key then a 65-byte signature");const r=e.subarray(0,Yi);ol(r,t.identifier);return{scheme:"p2pkh-schnorr/v1",pubkey:r,signature:e.subarray(Yi)}}case"p2pkh-ecdsa":{n($c+Xi,"a 33-byte compressed public key then a 65-byte signature");const r=e.subarray(0,$c);ol(r,t.identifier);return{scheme:"p2pkh-ecdsa/v1",pubkey:r,signature:e.subarray($c)}}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"}}}a(vg,"parseOwnerWitness");function ol(e,t){const n=Po(e);if(!M(n,t)){throw new Q(`revealed public key hashes to ${h(n)}, but the state's owner is ${h(t)}`)}}a(ol,"requireKeyHash");function Sg(e,t){switch(t){case al:throw new Q("borrow_scheme is disabled/v1: borrowing is rejected");case es: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 il:if(e.length!==Xi){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 sl:if(e.length!==nl){throw new Q(`hash-chain/v1 borrow witness must be exactly ${nl} 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`)}}a(Sg,"parseBorrowWitness");function Ag(e,t){if(e.length!==Ge||t.length!==Yi){throw new D(`hash-chain link needs a 32-byte value and a 32-byte key, got ${e.length} and ${t.length}`)}return Po(E(e,t))}a(Ag,"hashChainLink");function pl(e){const t=e.schemes??Xt;const n=e.maxTokenInputs??Tn;const r=e.maxTokenOutputs??Cr;fl(e.inputs,e.outputs,n,r,t);const o=ll(e.inputs,e.outputs);if(!(e.witness instanceof Uint8Array)||e.witness.length===0){throw new Q("leader witness must carry a path byte")}const i=e.witness[0];const s=e.witness.subarray(1);const c=e.inputs[0].state;let d;let l;if(i===kg){l="normal";d={kind:"owner",requirement:Co(c.owner),witness:vg(s,c.owner)}}else if(i===wg){l="borrowed";d=Tg(e.inputs[0],e.outputs[0],s)}else{throw new Q(`witness path byte ${An(i)} is reserved`)}const u=[];if(e.covenantId!==void 0){e.outputs.forEach((p,m)=>{if(ul(p.state,e.covenantId))u.push(m)})}return{path:l,leader:d,delegators:e.inputs.slice(1).map(p=>Co(p.state.owner)),totalAmount:o,selfOwnedOutputs:u}}a(pl,"checkTransfer");function Tg(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 o=t.state;const i=Qi(r);const s=Zi(r);const c=Sg(n,i);let d=0n;let l=s;let u;switch(c.scheme){case"amount-threshold/v1":d=xg(s).effective;break;case"schnorr-signature/v1":u=s;break;case"hash-chain/v1":{const m=Ag(c.nextBorrowGuard,c.oneTimePubkey);if(!M(m,s)){throw new Q(`revealed link hashes to ${h(m)}, not to the leader's borrow_guard ${h(s)}`)}l=c.nextBorrowGuard;u=c.oneTimePubkey;break}}const p=o.amount-r.amount;if(p<0n){throw new Q(`borrowed successor amount ${o.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(o.owner.identifier,r.owner.identifier))throw new Q("borrowed successor does not preserve owner");if(o.owner.schemeByte!==r.owner.schemeByte)throw new Q("borrowed successor does not preserve owner_scheme");if(Qi(o)!==i)throw new Q("borrowed successor does not preserve borrow_scheme");if(!M(Zi(o),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:i,schemeName:Rc.get(i),witness:c,increase:p,effectiveThreshold:d,...u===void 0?{}:{signer:u}}}a(Tg,"checkBorrowedReceive");function ts(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 o=a(d=>ie(E(...r.map(d))),"group");const i=[o(d=>it(d.amount)),o(d=>d.owner),o(d=>Uint8Array.of(d.ownerScheme)),o(d=>Uint8Array.of(d.borrowScheme)),o(d=>d.borrowGuard),o(d=>d.extensionCommitment)];const s=ie(t);const c=ie(_(Eo.transfer.tagHex));return{groupedFieldPushes:i,witnessPush:s,dispatchTagPush:c,bytes:E(...i,s,c)}}a(ts,"encodeTransferArguments");var An=a(e=>"0x"+e.toString(16).padStart(2,"0"),"hex2");var Uc=a(e=>[...e.keys()].map(An).join(", "),"knownSchemes");function Pg(e,t){const n=e.extra?.[t];if(!(n instanceof Uint8Array)||n.length!==1)throw new D(`extra.${t} must be a 1-byte Uint8Array`);return n[0]}a(Pg,"extraByte");function ml(e,t){const n=e.extra?.[t];if(!(n instanceof Uint8Array)||n.length!==Ge)throw new D(`extra.${t} must be a ${Ge}-byte Uint8Array`);return n}a(ml,"extra32");var Cg=32;var Oo=64;var gl=1024;var Eg=1<<0;var Og=1<<1;var _g=1<<2;var Ig=1<<3;var $g=1<<4;var ns=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];var Lg=[2,6,3,10,7,0,4,13,1,11,12,5,9,14,15,8];var rs=a((e,t)=>(e>>>t|e<<32-t)>>>0,"rotr");function Zn(e,t,n,r,o,i,s){e[t]=e[t]+e[n]+i>>>0;e[o]=rs(e[o]^e[t],16);e[r]=e[r]+e[o]>>>0;e[n]=rs(e[n]^e[r],12);e[t]=e[t]+e[n]+s>>>0;e[o]=rs(e[o]^e[t],8);e[r]=e[r]+e[o]>>>0;e[n]=rs(e[n]^e[r],7)}a(Zn,"g");function yl(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])}a(yl,"round");function Rg(e){const t=new Uint32Array(16);for(let n=0;n<16;n++)t[n]=e[Lg[n]];return t}a(Rg,"permute");function Kc(e,t,n,r,o){const i=new Uint32Array(16);for(let c=0;c<8;c++)i[c]=e[c];i[8]=ns[0];i[9]=ns[1];i[10]=ns[2];i[11]=ns[3];i[12]=n%4294967296>>>0;i[13]=Math.floor(n/4294967296)>>>0;i[14]=r>>>0;i[15]=o>>>0;let s=t;for(let c=0;c<6;c++){yl(i,s);s=Rg(s)}yl(i,s);for(let c=0;c<8;c++){i[c]=(i[c]^i[c+8])>>>0;i[c+8]=(i[c+8]^e[c])>>>0}return i}a(Kc,"compress");function Bc(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}a(Bc,"words");var Nc=a(e=>Kc(e.cv,e.block,e.counter,e.blockLen,e.flags).subarray(0,8),"chainingValue");function Ug(e,t){const n=new Uint8Array(t);let r=0;let o=0;while(o<t){const i=Kc(e.cv,e.block,r++,e.blockLen,e.flags|Ig);for(let s=0;s<16&&o<t;s++)for(let c=0;c<4&&o<t;c++)n[o++]=i[s]>>>8*c&255}return n}a(Ug,"rootBytes");var os=class{static{a(this,"ChunkState")}cv;chunkCounter;base;block=new Uint8Array(Oo);blockLen=0;blocksCompressed=0;constructor(t,n,r){this.cv=Uint32Array.from(t);this.chunkCounter=n;this.base=r}len(){return Oo*this.blocksCompressed+this.blockLen}startFlag(){return this.blocksCompressed===0?Eg:0}update(t){let n=0;while(n<t.length){if(this.blockLen===Oo){this.cv=Kc(this.cv,Bc(this.block),this.chunkCounter,Oo,this.base|this.startFlag()).subarray(0,8);this.blocksCompressed++;this.block.fill(0);this.blockLen=0}const r=Math.min(Oo-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:Bc(this.block),counter:this.chunkCounter,blockLen:this.blockLen,flags:this.base|this.startFlag()|Og}}};function bl(e,t,n,r){const o=new Uint32Array(16);o.set(e,0);o.set(t,8);return{cv:n,block:o,counter:0,blockLen:Oo,flags:r|_g}}a(bl,"parentOutput");function Ng(e,t,n=Cg){if(e.length!==32)throw new RangeError(`blake3Keyed: key must be 32 bytes, got ${e.length}`);const r=Bc(e).subarray(0,8);const o=$g;let i=new os(r,0,o);const s=[];const c=a((u,p)=>{let m=u;let y=p;while((y&1)===0){m=Nc(bl(s.pop(),m,r,o));y=Math.floor(y/2)}s.push(m)},"addChunk");let d=0;while(d<t.length){if(i.len()===gl){const p=i.chunkCounter+1;c(Nc(i.output()),p);i=new os(r,p,o)}const u=Math.min(gl-i.len(),t.length-d);i.update(t.subarray(d,d+u));d+=u}let l=i.output();for(let u=s.length-1;u>=0;u--)l=bl(s[u],Nc(l),r,o);return Ug(l,n)}a(Ng,"blake3Keyed");function Bg(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}a(Bg,"domainKey");function as(e,t){return Ng(Bg(e),t)}a(as,"keyedBlake3");var hl="9c0ca2acb45e92ffe6ceb4ae29188b35c82d9676cdd3ce067fd6ccc30a9c4a38";var is="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 o=0;o<t;o++){n[o]=Number(r&0xffn);r>>=8n}if(r!==0n)throw new RangeError(`le: value does not fit in ${t} bytes`);return n}a($t,"le");var Mc=a(e=>E($t(e.length,8),e),"varBytes");function kl(e){return e.length===0?_(hl):as("PayloadDigest",e)}a(kl,"payloadDigest");function wl(e){const t=[$t(e.version,2),$t(e.inputs.length,8)];for(const r of e.inputs){const o=_(r.transactionId);if(o.length!==32)throw new RangeError(`input transaction id must be 32 bytes, got ${o.length}`);t.push(o,$t(r.index,4),Mc(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),Mc(_(r.script)));if(e.version>=1){if(r.covenant){const o=_(r.covenant.covenantId);if(o.length!==32)throw new RangeError(`covenant id must be 32 bytes, got ${o.length}`);t.push(Uint8Array.of(1),$t(r.covenant.authorizingInput,2),o)}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),Mc(new Uint8Array(0)));return E(...t)}a(wl,"restPreimage");function ot(e){if(e.version<1)throw new Error("txidV1: version 0 transactions use the BLAKE2b TransactionID hash");const t=kl(_(e.payload));const n=as("TransactionRest",wl(e));return{txid:h(as("TransactionV1Id",E(t,n))),payloadDigest:h(t),restDigest:h(n)}}a(ot,"txidV1");function Na(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}}a(Na,"plainTxToJson");function ss(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 o=r["covenant"];return{value:BigInt(String(r["value"])),scriptVersion:Number(r["scriptVersion"]??0),script:String(r["script"]),covenant:o?{authorizingInput:Number(o["authorizingInput"]),covenantId:String(o["covenantId"])}:null}}),lockTime:BigInt(String(e["lockTime"]??"0")),subnetworkId:String(e["subnetworkId"]??is),gas:BigInt(String(e["gas"]??"0")),payload:String(e["payload"]??"")}}a(ss,"plainTxFromJson");var F=class extends N{static{a(this,"SigScriptError")}};var Kg=96;var xl=75;function er(e){const t=[];let n=0;while(n<e.length){const r=e[n];if(r===Fi){t.push({offset:n,dataOffset:n+1,end:n+1,payload:new Uint8Array(0)});n+=1;continue}if(r===Vi||r>=Gi&&r<=Kg){t.push({offset:n,dataOffset:n+1,end:n+1,payload:Uint8Array.of(r===Vi?129:r-Gi+1)});n+=1;continue}let o;let i;if(r<=xl){o=r;i=1}else if(r===Di){cs(e,n,2);o=e[n+1];i=2;if(o<=xl)throw new F(`offset ${n}: non-minimal push, PUSHDATA1 for ${o} bytes`)}else if(r===Hi){cs(e,n,3);o=e[n+1]|e[n+2]<<8;i=3;if(o<=255)throw new F(`offset ${n}: non-minimal push, PUSHDATA2 for ${o} bytes`)}else if(r===ji){cs(e,n,5);o=(e[n+1]|e[n+2]<<8|e[n+3]<<16|e[n+4]<<24)>>>0;i=5;if(o<=65535)throw new F(`offset ${n}: non-minimal push, PUSHDATA4 for ${o} bytes`)}else{throw new F(`offset ${n}: opcode 0x${r.toString(16).padStart(2,"0")} is not a data push`)}cs(e,n,i+o);const s=e.subarray(n+i,n+i+o);if(o===1&&(s[0]>=1&&s[0]<=16||s[0]===129)){throw new F(`offset ${n}: non-minimal push of byte 0x${s[0].toString(16)} (a small-number opcode exists)`)}t.push({offset:n,dataOffset:n+i,end:n+i+o,payload:s});n+=i+o}return t}a(er,"parseSigScriptPushes");function cs(e,t,n){if(t+n>e.length)throw new F(`offset ${t}: truncated push, need ${n} bytes, have ${e.length-t}`)}a(cs,"need");function Mg(e){const t=er(e);if(t.length===0)throw new F("empty sigscript");return t[t.length-1].payload}a(Mg,"programFromSigScript");function Ka(e){const t=er(e);if(t.length<2)throw new F(`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 F(`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 F("empty program push");return{argumentPushes:t.slice(0,-2),tag:h(n.payload),program:r.payload,programOffset:r.offset}}a(Ka,"parseSigScriptEnvelope");function Fg(e){return Ka(e).tag}a(Fg,"dispatchTagOfSigScript");var _o=8;function Io(e){if(e>ht||e<-ht)throw new F(`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)}a(Io,"encodeScriptNum");function Be(e,t=_o){if(e.length>t)throw new F(`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 F(`int argument ${h(e)} is not minimally encoded`)}let r=BigInt(n&127);for(let i=e.length-2;i>=0;i--)r=r<<8n|BigInt(e[i]);const o=(n&128)!==0?-r:r;if(o>ht||o<-ht)throw new F(`int argument out of range: ${o}`);return o}a(Be,"decodeScriptNum");var Le=a(e=>ie(Io(e)),"pushScriptNum");var us=a(e=>{if(!Number.isInteger(e)||e<0||e>255)throw new F(`byte argument out of range: ${e}`);return ie(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}}a(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 F(`KCC20Full.${t} must be 32 bytes, got ${n.length}`)}return E(ie(e.ctx),Le(e.amount),ie(e.owner),us(e.scheme),us(e.borrow),ie(e.guard),ie(e.ext))}a(Or,"encodeKcc20Full");function Ba(e){if(e.length!==Er)throw new F(`KCC20Full takes ${Er} pushes, got ${e.length}`);const[t,n,r,o,i,s,c]=e.map(d=>d.payload);return{ctx:ds(t,32,"KCC20Full.ctx"),amount:Be(n),owner:ds(r,32,"KCC20Full.owner"),scheme:vl(o,"KCC20Full.scheme"),borrow:vl(i,"KCC20Full.borrow"),guard:ds(s,32,"KCC20Full.guard"),ext:ds(c,32,"KCC20Full.ext")}}a(Ba,"decodeKcc20Full");function ds(e,t,n){if(e.length!==t)throw new F(`${n} must be ${t} bytes, got ${e.length}`);return Uint8Array.from(e)}a(ds,"bytesN");function vl(e,t){if(e.length!==1)throw new F(`${t} must be one byte, got ${e.length}`);return e[0]}a(vl,"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 Fc=Object.freeze({bindLp:["byte[]","byte[]"],addLiquidity:["int",Pn],removeLiquidity:["int",Pn]});var Ma=Object.freeze(["int","int",Pn]);var Fa=Object.freeze(["int","int","int","int"]);var Da=Object.freeze(["int","int","int","int"]);function Qt(e,t){return h(cl(`__covenant_entrypoint_auth_${e}(${t.join(",")})`))}a(Qt,"covenantDispatchTag");var Sl=a(e=>Object.fromEntries(Object.entries(e).map(([t,n])=>[t,Qt(t,n)])),"tagsOf");var Tl=Object.freeze({token:Object.freeze({transfer:Eo.transfer.tagHex,transferDelegator:Eo.transferDelegator.tagHex}),curve:Object.freeze(Sl(Yt.Curve)),pool:Object.freeze(Sl({...Yt.Pool,...Fc}))});var Cn=Qt("swapKasForTokens",Ma);var En=Qt("swapKasForTokens",Fa);var On=Qt("swapTokensForKas",Da);function Dc(e){const t=[];for(const n of["token","curve","pool"]){for(const[r,o]of Object.entries(Tl[n]))if(o===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}a(Dc,"entriesOfTag");function Dg(e){switch(e.contract){case"token":if(e.entry==="transfer")return Hg(e.nextStates,e.witness);return ie(e.witness);case"curve":switch(e.entry){case"init":return E(ie(e.tokenPrefix),ie(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(ie(e.poolPrefix),ie(e.poolSuffix))}break;case"pool":switch(e.entry){case"swapKasForTokens":if(e.reserveK!==void 0&&e.user!==void 0)throw new F("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 F("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(ie(e.tokenPrefix),ie(e.tokenSuffix));case"addLiquidity":return E(Le(e.shares),Or(e.lpUser));case"removeLiquidity":return E(Le(e.shares),Or(e.tokUser))}}throw new F("unknown invocation")}a(Dg,"encodeInvocationArguments");function Hg(e,t){const n=ts(e,t);return E(...n.groupedFieldPushes,n.witnessPush)}a(Hg,"groupedTransferPushes");function jg(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 Tl[e.contract][e.entry]}a(jg,"tagOfInvocation");function St(e,t){if(t.length===0)throw new F("empty program");return E(Dg(e),Uint8Array.of(4),_(jg(e)),ie(t))}a(St,"encodeInvocation");function ls(e,t){const n=Ka(e);const r=Dc(n.tag).filter(u=>t===void 0||u.contract===t);if(r.length===0)throw new F(`dispatch tag ${n.tag} names no entry of ${t??"the token, curve or pool"}`);if(r.length>1)throw new F(`dispatch tag ${n.tag} is ambiguous (${r.map(u=>`${u.contract}.${u.entry}`).join(", ")}); name the contract`);const{contract:o,entry:i}=r[0];const s=n.argumentPushes;const c=a(u=>{if(s.length!==u)throw new F(`${o}.${i} takes ${u} argument push(es), got ${s.length}`)},"arity");let d;try{d=Vg(o,i,s,c,n.tag)}catch(u){if(u instanceof F)throw u;throw new F(`${o}.${i}: ${u.message}`)}let l;try{l=St(d,n.program)}catch(u){throw new F(`${o}.${i}: decoded arguments do not re-encode: ${u.message}`)}if(!M(l,e))throw new F(`${o}.${i}: sigscript is not the canonical encoding of its arguments`);return{invocation:d,tag:n.tag,program:Uint8Array.from(n.program)}}a(ls,"decodeInvocation");function Vg(e,t,n,r,o){const i=a(s=>n[s].payload,"p");if(e==="token"){if(t==="transfer"){r(7);return{contract:"token",entry:"transfer",nextStates:Gg(n.slice(0,6).map(s=>s.payload)),witness:Uint8Array.from(i(6))}}r(1);return{contract:"token",entry:"transferDelegator",witness:Uint8Array.from(i(0))}}if(e==="curve"){switch(t){case"init":r(2);return{contract:"curve",entry:"init",tokenPrefix:Uint8Array.from(i(0)),tokenSuffix:Uint8Array.from(i(1))};case"buy":r(1+Er);return{contract:"curve",entry:"buy",n:Be(i(0)),user:Ba(n.slice(1))};case"sell":r(1);return{contract:"curve",entry:"sell",n:Be(i(0))};case"sweep":r(0);return{contract:"curve",entry:"sweep"};case"graduate":r(2);return{contract:"curve",entry:"graduate",poolPrefix:Uint8Array.from(i(0)),poolSuffix:Uint8Array.from(i(1))}}}switch(t){case"swapKasForTokens":if(o===En){r(4);return{contract:"pool",entry:"swapKasForTokens",kasInScaled:Be(i(0)),minTokensOut:Be(i(1)),reserveK:Be(i(2)),restK:Be(i(3))}}if(o===Cn){r(2+Er);return{contract:"pool",entry:"swapKasForTokens",kasInScaled:Be(i(0)),minTokensOut:Be(i(1)),user:Ba(n.slice(2))}}r(1+Er);return{contract:"pool",entry:"swapKasForTokens",kasInScaled:Be(i(0)),user:Ba(n.slice(1))};case"swapTokensForKas":if(o===On){r(4);return{contract:"pool",entry:"swapTokensForKas",tokensIn:Be(i(0)),minOutScaled:Be(i(1)),reserveK:Be(i(2)),mergedK:Be(i(3))}}r(2);return{contract:"pool",entry:"swapTokensForKas",tokensIn:Be(i(0)),minOutScaled:Be(i(1))};case"sweep":r(0);return{contract:"pool",entry:"sweep"};case"bindLp":r(2);return{contract:"pool",entry:"bindLp",tokenPrefix:Uint8Array.from(i(0)),tokenSuffix:Uint8Array.from(i(1))};case"addLiquidity":r(1+Er);return{contract:"pool",entry:"addLiquidity",shares:Be(i(0)),lpUser:Ba(n.slice(1))};case"removeLiquidity":r(1+Er);return{contract:"pool",entry:"removeLiquidity",shares:Be(i(0)),tokUser:Ba(n.slice(1))}}throw new F(`no decoder for ${e}.${t}`)}a(Vg,"decodeArguments");function Gg(e){const[t,n,r,o,i,s]=e;if(t.length%bt!==0)throw new F(`next_states.amount group is ${t.length} bytes, not a multiple of ${bt}`);const c=t.length/bt;if(c>Cr)throw new F(`${c} next_states exceed max_token_outputs ${Cr}`);const d=[["owner",n,32],["owner_scheme",r,1],["borrow_scheme",o,1],["borrow_guard",i,32],["extension_commitment",s,32]];for(const[u,p,m]of d)if(p.length!==c*m)throw new F(`next_states.${u} group is ${p.length} bytes, expected ${c} x ${m}`);const l=[];for(let u=0;u<c;u++){l.push(xt({amount:Jn(t.subarray(u*8,u*8+8)),owner:n.subarray(u*32,u*32+32),ownerScheme:r[u],borrowScheme:o[u],borrowGuard:i.subarray(u*32,u*32+32),extensionCommitment:s.subarray(u*32,u*32+32)}))}return l}a(Gg,"decodeGroupedStates");var Al=65;function qg(e){const{invocation:t}=ls(e,"token");if(t.contract!=="token")throw new F("not a token sigscript");const n=er(e);if(t.entry==="transfer"){if(t.witness.length!==1+Al||t.witness[0]!==0)return void 0;return n[6].dataOffset+1}return t.witness.length===Al?n[0].dataOffset:void 0}a(qg,"tokenSignatureOffset");var Wg=0;var zg=75;var Pl=76;var Cl=77;var Jg=78;var Xg=79;var Yg=80;var El=81;var Qg=96;function fs(e){const t=[];let n=0;const r=a((i,s)=>{if(i+s>e.length)throw new F(`offset ${n}: truncated push, need ${s} bytes, have ${Math.max(0,e.length-i)}`);return e.subarray(i,i+s)},"take");while(n<e.length){const i=e[n];if(i===Wg){t.push(new Uint8Array(0));n+=1}else if(i<=zg){t.push(r(n+1,i));n+=1+i}else if(i===Pl||i===Cl||i===Jg){const s=i===Pl?1:i===Cl?2:4;const c=r(n+1,s);let d=0;for(let l=s-1;l>=0;l--)d=d*256+c[l];t.push(r(n+1+s,d));n+=1+s+d}else if(i===Xg){t.push(Uint8Array.of(129));n+=1}else if(i===Yg){throw new F(`offset ${n}: OP_RESERVED fails when executed`)}else if(i>=El&&i<=Qg){t.push(Uint8Array.of(i-El+1));n+=1}else{throw new F(`offset ${n}: opcode 0x${i.toString(16).padStart(2,"0")} is not a data push (a signature script is push-only)`)}}const o=E(...t.map(i=>ie(i)));return{payloads:t,minimal:M(o,e),canonical:o}}a(fs,"consensusSigScript");var Hc="non-minimal-push";function Ol(e){if(e.length>_o)throw new F(`int argument is ${e.length} bytes, above ${_o} (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}a(Ol,"decodeScriptNumConsensus");function Zg(e){return e.length<=_o&&M(Io(Ol(e)),e)}a(Zg,"isMinimalScriptNum");function e0(e){return e.flatMap(t=>t.startsWith("{")&&t.endsWith("}")?t.slice(1,-1).split(","):[t])}a(e0,"pushTypes");var t0={...Yt.Pool,...Fc};function n0(e,t){const n=Dc(t).find(o=>o.contract===e)?.entry;if(n===void 0)return void 0;const r=e==="curve"?Yt.Curve[n]:t===Cn?Ma:t===En?Fa:t===On?Da:t0[n];if(r===void 0)return void 0;return e0(r).flatMap((o,i)=>o==="int"?[i]:[])}a(n0,"intArgumentPushes");function r0(e,t){const n={sigscript:e,nonMinimal:[]};let r;try{r=Ka(e)}catch(c){if(c instanceof F)return n;throw c}const o=n0(t,r.tag);if(o===void 0)return n;const i=r.argumentPushes.map(c=>c.payload);const s=[];for(const c of o){const d=i[c];if(d===void 0||d.length>_o||Zg(d))continue;i[c]=Io(Ol(d));s.push(c)}if(s.length===0)return n;return{sigscript:E(...i.map(c=>ie(c)),Uint8Array.of(4),_(r.tag),ie(r.program)),nonMinimal:s}}a(r0,"canonicalNumbers");var jc="non-minimal-number";function Vc(e,t){const n=fs(e);const r=t==="token"?{sigscript:n.canonical,nonMinimal:[]}:r0(n.canonical,t);return{decoded:ls(r.sigscript,t),minimalPushes:n.minimal,nonMinimalNumbers:r.nonMinimal}}a(Vc,"decodeInvocationByConsensus");var Gc=/^[0-9a-f]{64}$/;function _l(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}a(_l,"le64");function Il(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}a(Il,"sameBytes");var $l=16;var _r=[];function o0(e,t){for(let o=0;o<_r.length;o++){const i=_r[o];if(Il(i.suffix,t)&&Il(i.prefix,e)){if(o>0){_r.splice(o,1);_r.unshift(i)}return Uint8Array.from(i.hash)}}const n=new Uint8Array(8+e.length+8+t.length);n.set(_l(e.length),0);n.set(e,8);n.set(_l(t.length),8+e.length);n.set(t,16+e.length);const r=Po(n);_r.unshift({prefix:Uint8Array.from(e),suffix:Uint8Array.from(t),hash:Uint8Array.from(r)});if(_r.length>$l)_r.length=$l;return r}a(o0,"templateHashBytes");function Lt(e,t){return h(o0(e,t))}a(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))}a(Rt,"templateHashOfProgram");var _n="kcc20-46";var Ir=46;var ps=32;var Ha=new Map([[0,"pubkey"],[1,"script-hash"],[2,"covenant-id"]]);var qc=a(e=>"0x"+e.toString(16).padStart(2,"0"),"hex2");var Ll={id:_n,stateLength:Ir,referenceSchemes:Ha,encode(e,t=Ha){this.validate(e,t);if(e.mintCapable===null){throw new D(`${_n} requires an explicit isMinter; refusing to encode mintCapable=null`)}const n=E(ae(e.owner.identifier),ae(Uint8Array.of(e.owner.schemeByte)),ae(it(e.amount)),ae(Vu(e.mintCapable)));if(n.length!==Ir){throw new D(`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=xn(e,0);if(n.payload.length!==ps){throw new N(`ownerIdentifier must be ${ps} bytes, got ${n.payload.length}`)}const r=xn(e,n.next);if(r.payload.length!==1){throw new N(`identifierType must be 1 byte, got ${r.payload.length}`)}const o=xn(e,r.next);const i=Jn(o.payload);const s=xn(e,o.next);const c=Gu(s.payload);if(s.next!==e.length){throw new N(`trailing bytes: consumed ${s.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(i<0n){throw new N(`negative amount ${i} in state ${h(e)}`)}return{layoutId:_n,amount:i,owner:{schemeByte:d,semantic:l,identifier:Uint8Array.from(n.payload)},mintCapable:c,extra:Object.freeze({})}},validate(e,t=Ha){if(e===null||typeof e!=="object")throw new D("state must be an object");if(e.layoutId!==_n)throw new D(`expected ${_n}, got ${String(e.layoutId)}`);if(typeof e.amount!=="bigint"){throw new D(`amount must be a bigint, got ${typeof e.amount}`)}if(e.amount<0n)throw new D(`amount must be non-negative, got ${e.amount}`);if(e.amount>ht)throw new D(`amount ${e.amount} exceeds the KCC1 int range`);const n=e.owner;if(n===null||typeof n!=="object")throw new D("owner must be an object");if(!(n.identifier instanceof Uint8Array)||n.identifier.length!==ps){throw new D(`ownerIdentifier must be a ${ps}-byte Uint8Array`)}if(!Number.isInteger(n.schemeByte)||n.schemeByte<0||n.schemeByte>255){throw new D(`identifierType must be a single byte, got ${String(n.schemeByte)}`)}const r=t.get(n.schemeByte);if(r===void 0){throw new D(`identifierType ${qc(n.schemeByte)} is not defined by this template (known: ${[...t.keys()].map(qc).join(", ")})`)}if(r!==n.semantic){throw new D(`identifierType ${qc(n.schemeByte)} means '${r}' under this template, but the state claims '${String(n.semantic)}'`)}if(typeof e.mintCapable!=="boolean"){throw new D(`${_n} always carries isMinter; got ${String(e.mintCapable)}`)}},checkOwnershipTransition(e,t){if(e.length===0)throw new br("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 br(`non-minter leader may not create a minter successor (output index ${r.index})`)}}}return e.map(r=>Co(r.state.owner))},checkSupply(e,t){if(e.length===0)throw new at("a transition must consume at least one state");for(const i of[...e,...t])this.validate(i.state);const n=e[0].state;if(n.mintCapable===true)return;const r=e.reduce((i,s)=>i+s.state.amount,0n);const o=t.reduce((i,s)=>i+s.state.amount,0n);if(r!==o){throw new at(`supply not conserved: in=${r} out=${o} (delta ${o-r})`)}}};function J1(e){const t=e.filter(r=>r.mintCapable===true);if(t.length>0){throw new at(`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 at(`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.`)}}a(J1,"assertSupplyPermanentlyFixed");var a0=1;var i0="6b";function ms(e,t){return{templateHash:e,layoutId:_n,stateOffset:a0,stateLength:Ir,prefixHex:i0,schemes:Ha,provenance:t}}a(ms,"referenceTemplate");var Rl=Object.freeze([ms("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'),ms("55306914ff3ddbfa0f4db6d5c5a01ec26f5f13f8c8d042076ed793fe82640513","tn10 census 2026-09-04; offset 1 (6b); branches 00,01,02"),ms("0f6db65e251cb8498aa9b201276ebeb569ac2c1eef270075143cd515d71ec3f1","tn10 census 2026-09-04; offset 1 (6b); branches 00,01,02"),ms("0338146fbf175bd1650b404d141ea4b1193180bee014f46fd617c6a6e3cc309c","tn10 census 2026-09-04; offset 1 (6b); branches 00,01,02")]);var qe="9703112ee6e3555107cd168858992b77d3b74f655205b2b463b1f9ec2ec73cf7";var ek="734850b0af0aeef49f009167bf9ddd238fd8c5cdbe214234f97181ac6f5cc498";var s0=34;var c0="6b20"+qe;var gs=Object.freeze({templateHash:qe,layoutId:Sn,stateOffset:s0,stateLength:Ar,hashWindow:{start:1,length:145},prefixHex:c0,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 Ul=Object.freeze([]);var Nl=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 $o=class extends N{static{a(this,"DeclarationError")}};var d0=64;var Bl=/-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?/y;var Kl={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:" "};function u0(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}a(u0,"hasLoneSurrogate");function l0(e,t=d0){let n=0;const r=a(d=>{throw new $o(`I-JSON: ${d} at offset ${n}`)},"fail");const o=a(()=>{while(n<e.length){const d=e.charCodeAt(n);if(d!==32&&d!==9&&d!==10&&d!==13)break;n++}},"ws");const i=a(()=>{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(Kl,u)){d+=Kl[u]}else{r(`invalid escape \\${u??""}`)}}else{if(l.charCodeAt(0)<32)r("unescaped control character in string");d+=l}}if(u0(d))r("string contains a lone surrogate");return d},"str");const s=a(d=>{o();const l=e[n];if(l==="{"){if(d>t)r(`nesting deeper than ${t}`);n++;const m=Object.create(null);o();if(e[n]==="}"){n++;return m}for(;;){o();if(e[n]!=='"')r("expected a member name");const y=i();if(Object.prototype.hasOwnProperty.call(m,y))r(`duplicate member name "${y}"`);o();if(e[n]!==":")r('expected ":"');n++;m[y]=s(d+1);o();if(e[n]===","){n++;continue}if(e[n]==="}"){n++;return m}r('expected "," or "}"')}}if(l==="["){if(d>t)r(`nesting deeper than ${t}`);n++;const m=[];o();if(e[n]==="]"){n++;return m}for(;;){m.push(s(d+1));o();if(e[n]===","){n++;continue}if(e[n]==="]"){n++;return m}r('expected "," or "]"')}}if(l==='"')return i();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}Bl.lastIndex=n;const u=Bl.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=s(1);o();if(n!==e.length)r("trailing characters");return c}a(l0,"parseIJson");var jl=0;function Vl(e){if(e.length===0)return{valid:false,reason:"empty payload (no codec prefix)"};if(e[0]!==jl)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=l0(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}}a(Vl,"decodeDeclaration");function pk(e){const t=E(Uint8Array.of(jl),new TextEncoder().encode(JSON.stringify(e)));const n=Vl(t);if(!n.valid)throw new $o(`metadata does not round-trip as a KCC-23 declaration: ${n.reason}`);return t}a(pk,"encodeDeclaration");function mk(e){const t=a(d=>typeof e[d]==="string"?e[d]:void 0,"s");const n=e["decimals"];const r={};const o=t("name");const i=t("symbol");const s=t("image");const c=t("description");if(o!==void 0)r.name=o;if(i!==void 0)r.symbol=i;if(typeof n==="number"&&Number.isInteger(n)&&n>=0&&n<=255)r.decimals=n;if(s!==void 0)r.image=s;if(c!==void 0)r.description=c;return r}a(mk,"declarationFields");function f0(e,t,n){const r=t.outputs.map((m,y)=>({i:y,o:m})).filter(({o:m})=>m.covenant?.covenantId===e);if(r.length===0)return{status:"invalid",step:1,reason:"no genesis output is bound to the covenant id"};const o=new Set(r.map(({o:m})=>m.covenant.authorizingInput));if(o.size!==1)return{status:"invalid",step:1,reason:`outputs bound to the id name ${o.size} authorizing inputs`};const i=[...o][0];const s=t.inputs[i];if(s===void 0)return{status:"invalid",step:1,reason:`authorizing input ${i} does not exist`};const c=`${s.transactionId}:${s.index}`;const d=tt(s.transactionId,s.index,r.map(({i:m,o:y})=>({index:m,value:y.value,scriptVersion:y.scriptVersion,script:_(y.script)})));if(d!==e)return{status:"invalid",step:2,reason:`recomputed covenant id ${d} differs from ${e}`};const l=n(s.transactionId);if(l===void 0)return{status:"unverified",outpoint:c,reason:`preparation transaction ${s.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[s.index]===void 0)return{status:"invalid",step:3,reason:`preparation transaction has no output ${s.index}`};const u=Vl(_(l.payload));if(!u.valid)return{status:"invalid",step:3,reason:`payload is not a KCC-23 declaration: ${u.reason}`};const p=ot(l).txid;if(p!==s.transactionId)return{status:"invalid",step:4,reason:`recomputed preparation txid ${p} differs from the spent outpoint's ${s.transactionId}`};return{status:"bound",authorizingInput:i,outpoint:c,declaration:u.object,text:u.text,prepTxid:p}}a(f0,"verifyKcc23Binding");var Wc="kcc0023-launch-proof/1";var Gl=0;var Ml=4031;var Fl=34;var p0=9;var zc={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 ja(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`)}a(ja,"paramBig");function Jc(e,t){return vt.encode(xt({amount:e,owner:_(t),ownerScheme:kt,borrowScheme:Gl}))}a(Jc,"tokenGenesisState");function ql(e,t,n,r){const o=[];if(!r.minimalPushes)o.push({step:e,tx:t,input:n,kind:Hc});if(r.nonMinimalNumbers.length>0)o.push({step:e,tx:t,input:n,kind:jc,arguments:[...r.nonMinimalNumbers]});return o}a(ql,"encodingNotes");function Dl(e){if(e.length===0)return{};const t=e.find(n=>n.kind===jc);return{encoding:{minimalPushes:!e.some(n=>n.kind===Hc),nonMinimalNumbers:t?.arguments??[]}}}a(Dl,"encodingDetail");function m0(e,t){try{const n=Vc(_(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:ql(8,"tx2",t,n)}}catch(n){return n.message}}a(m0,"curveInit");function Wl(e,t){const n=[];const r=[];const o=a(()=>r.length===0?{}:{notes:r},"withNotes");const i=a((l,u={})=>{n.push({step:l,name:zc[l],ok:true,detail:u})},"pass");const s=a((l,u)=>{n.push({step:l,name:zc[l],ok:false,detail:{reason:u}});return{status:"invalid",steps:n,reason:`step ${l} (${zc[l]}): ${u}`,verifier:Wc,...o()}},"invalid");try{return c()}catch(l){return s(Math.min(n.length+1,p0),`malformed bundle: ${l.message}`)}function c(){const{tx01:l,tx2:u,T:p,C:m}=e;const y=u.outputs.map((T,I)=>({i:I,o:T})).filter(({o:T})=>T.covenant?.covenantId===p);if(y.length===0)return s(1,"no tx2 output is bound to T");const g=new Set(y.map(({o:T})=>T.covenant.authorizingInput));if(g.size!==1)return s(1,`the outputs bound to T name ${g.size} authorizing inputs`);const b=[...g][0];const w=u.inputs[b];if(w===void 0)return s(1,`authorizing input ${b} does not exist`);const x=tt(w.transactionId,w.index,y.map(({i:T,o:I})=>({index:T,value:I.value,scriptVersion:I.scriptVersion,script:_(I.script)})));if(x!==p)return s(1,`recomputed ${x} differs from T ${p}`);if(y.length!==2||y[0].i!==0||y[1].i!==1)return s(1,`expected outputs 0 and 1 bound to T, got ${y.map(T=>T.i).join(",")}`);i(1,{authorizingInput:b,outpoint:`${w.transactionId}:${w.index}`,groupOutputs:y.map(T=>T.i)});const S=_(e.tokenSuffix);if(!M(S,t.referenceSuffix))return s(2,"the token suffix differs from the reference artifact");if(e.H_T!==qe||Lt(Uint8Array.of(107),t.referenceSuffix)!==qe){return s(2,"the token template is not the reference KCC20")}let A=0n;const P=[];for(const{i:T,o:I}of y){const G=e.states.find(_a=>_a.index===T);if(G===void 0)return s(3,`no genesis state for output ${T}`);const q=BigInt(G.amount);const J=Jc(q,m);const oe=E(Uint8Array.of(107,32),_(qe),J,t.referenceSuffix);if(oe.length!==Ml)return s(2,`token program is ${oe.length} B`);if(I.scriptVersion!==0||h(se(oe))!==I.script)return s(2,`output ${T} does not commit to the token program with the stated genesis state`);const re=vt.decode(oe.subarray(Fl,Fl+112),vt.referenceSchemes);const Te=rt(re);if(h(Te.owner)!==m||Te.ownerScheme!==kt)return s(3,`output ${T}: owner is not C under covenant-id/v1`);if(Te.borrowScheme!==Gl||!M(Te.borrowGuard,Ve)||!M(Te.extensionCommitment,Ve))return s(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()})}i(2,{templateHash:qe,programBytes:Ml});const $=ja(e.params,"curveLots")*ja(e.params,"lot")+ja(e.params,"gradReserve");if(A!==$)return s(3,`genesis amounts sum to ${A}, the parameters give ${$}`);i(3,{cells:P,totalSupply:A.toString()});i(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:Wc,...o(),reason:`the preparation transaction ${w.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 s(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!==m)return s(5,`recomputed ${z} differs from C ${m}`);if(U.covenant?.covenantId!==m||U.covenant.authorizingInput!==0)return s(5,"tx01 output 1 is not bound (0, C)");if(l.outputs.some((T,I)=>I!==1&&T.covenant?.covenantId===m))return s(5,"tx01 binds C to more than output 1");if(l.version<1)return s(7,`tx01 is version ${l.version}, not 1`);const R=ot(l).txid;const W=u.inputs.findIndex(T=>T.transactionId===R&&T.index===1);if(W<0)return s(5,"tx2 does not spend tx01:1");const xe=u.outputs.map((T,I)=>({i:I,o:T})).filter(({o:T})=>T.covenant?.covenantId===m);if(xe.length!==1||xe[0].o.covenant.authorizingInput!==W)return s(5,`expected exactly one tx2 output bound (${W}, C), found ${xe.length}`);const ge=_(e.curvePrefix);const be=_(e.curveSuffix);const he=Lt(ge,be);if(he!==e.H_C)return s(5,`the curve template hashes to ${he}, the bundle states ${e.H_C}`);if(t.curveTemplate!==void 0){const T=t.curveTemplate(ge,be);if(!T.ok)return s(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 s(5,`params.${I} is ${String(e.params[I])}, the template carries ${String(G)}`)}}}const $e=E(ge,vo({tokenCovId:_(p),lotsSold:0n,feeAccrued:0n,phase:wt}),be);if(xe[0].o.scriptVersion!==0||h(se($e))!==xe[0].o.script)return s(5,"the tx2 curve output does not commit to the program with state {T, 0, 0, active}");const It=E(ge,vo({tokenCovId:Ve,lotsSold:0n,feeAccrued:0n,phase:xr}),be);if(U.scriptVersion!==0||h(se(It))!==U.script)return s(5,"tx01 output 1 does not commit to the program with state {0^32, 0, 0, uninit}");i(5,{H_C:he,curveBytes:$e.length,params:e.params});i(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(w.transactionId!==R||w.index!==0)return s(7,`the T group's authorizing input spends ${w.transactionId}:${w.index}, not tx01:0 (${R})`);const Wn=f0(p,u,T=>T===R?l:void 0);if(Wn.status!=="bound")return s(7,Wn.reason);const f=ot(l);i(7,{prepTxid:f.txid,payloadDigest:f.payloadDigest,restDigest:f.restDigest,declaration:Wn.text});const k=m0(u.inputs[W].signatureScript,W);if(typeof k==="string")return s(8,k);r.push(...k.notes);const v=k.program;if(h(se(v))!==U.script)return s(8,"the recovered program does not hash to tx01 output 1");if(!M(v,It))return s(8,"the recovered program differs from the genesis program");if(!M(k.tokenPrefix,Uint8Array.of(107))||!M(k.tokenSuffix,t.referenceSuffix))return s(8,"init was not given the reference token template");const C=So(v.subarray(ge.length,ge.length+vn));i(8,{recoveredBytes:v.length,state:{tokenCovId:h(C.tokenCovId),lotsSold:C.lotsSold.toString(),phase:C.phase},...Dl(k.notes)});const O=d();if(O!==void 0)return O;return{status:"bound",steps:n,totalSupply:A,declaration:Wn.declaration,verifier:Wc,...o()}}a(c,"run");function d(){const l=e.graduation??null;if(l===null){i(9,{applicable:false,reason:"the curve has not graduated; the check runs on the graduation transaction"});return void 0}const u=y0(l,e,t.referenceSuffix);if(!u.ok)return s(9,u.reason);r.push(...u.notes);i(9,{applicable:true,...u.detail,...Dl(u.notes)});return void 0}a(d,"graduationStep")}a(Wl,"verifyLaunchProof");var g0=/^aa20[0-9a-f]{64}87$/;function y0(e,t,n){const{T:r,C:o}=t;const i=e.P;const s=e.tx;const c=a(R=>({ok:false,reason:R}),"fail");if(!/^[0-9a-f]{64}$/.test(i))return c("the pool id P is not a 32-byte id");if(i===r||i===o)return c("the pool id P equals T or C");const d=s.outputs.map((R,W)=>({i:W,o:R})).filter(({o:R})=>R.covenant?.covenantId===i);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=s.inputs[u];if(p===void 0)return c(`the P group's authorizing input ${u} does not exist`);const m=tt(p.transactionId,p.index,d.map(({i:R,o:W})=>({index:R,value:W.value,scriptVersion:W.scriptVersion,script:_(W.script)})));if(m!==i)return c(`the P group (outputs ${d.map(R=>R.i).join(",")}) recomputes to ${m}, not P ${i}`);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 y=d[0].o;if(y.scriptVersion!==0||!g0.test(y.script))return c("output 0 (bound to P) is not a version-0 P2SH covenant cell");const g=s.outputs.map((R,W)=>({i:W,o:R})).filter(({o:R})=>R.covenant?.covenantId===r);if(g.length!==1)return c(`${g.length} outputs are bound to T; graduation re-owns exactly one reserve cell to the pool`);const b=g[0];if(s.inputs[b.o.covenant.authorizingInput]===void 0)return c(`the reserve output names a missing authorizing input ${b.o.covenant.authorizingInput}`);const w=ja(t.params,"gradReserve");const x=E(Uint8Array.of(107,32),_(qe),Jc(w,i),n);if(b.o.scriptVersion!==0||h(se(x))!==b.o.script){return c(`output ${b.i} (bound to T) does not commit to the reference token program with state {${w}, owner P, 0x04}`)}if(s.outputs.some(R=>R.covenant?.covenantId===o))return c("an output is bound to C; graduation leaves no curve continuation");const S=_(t.curvePrefix);const A=_(t.curveSuffix);const P=ja(t.params,"curveLots");let $;for(const[R,W]of s.inputs.entries()){let xe;try{xe=Vc(_(W.signatureScript),"curve")}catch{continue}const ge=xe.decoded;if(ge.invocation.contract!=="curve"||ge.invocation.entry!=="graduate")continue;const be=ge.program;if(be.length!==S.length+vn+A.length)return c(`input ${R} invokes graduate on a program of ${be.length} B, not the curve template's length`);if(!M(be.subarray(0,S.length),S)||!M(be.subarray(S.length+vn),A)){return c(`input ${R} invokes graduate on a program that is not the curve template of C`)}let he;try{he=So(be.subarray(S.length,S.length+vn))}catch(Wn){return c(`input ${R} graduates a curve whose state does not decode: ${Wn.message}`)}if(h(he.tokenCovId)!==r||he.phase!==wt)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(ge.invocation.poolPrefix,ge.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:ql(9,"graduation",R,xe)};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),Jc(w,o),n);const U=a((R,W)=>{try{const xe=fs(_(R.toLowerCase())).payloads;return xe.length>0&&M(xe[xe.length-1],W)}catch{return false}},"redeemIs");if(!s.inputs.some(R=>U(R.signatureScript,L))){return c(`no input of the graduation transaction spends C's reserve ({${w}, owner C, 0x04}); a curve with C's program but another id graduated its own reserve`)}let z;try{z=ot(s).txid}catch{z=void 0}return{ok:true,detail:{...z===void 0?{}:{txid:z},P:i,poolOutput:0,groupOutputs:[0],authorizingInput:u,outpoint:`${p.transactionId}:${p.index}`,reserveOutput:b.i,reserveAmount:w.toString(),curveInput:$.input,poolTemplateHash:$.poolTemplateHash,lotsSold:$.lotsSold.toString()},notes:$.notes}}a(y0,"checkGraduationGroup");function gk(e){return{tx01:e.tx01===null?null:Na(e.tx01),tx2:Na(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:Na(e.graduation.tx),P:e.graduation.P}}}a(gk,"launchProofToJson");var b0=/^(?:[0-9a-f]{2})*$/;var Hl=/^[0-9a-f]{64}$/;function ys(e){if(e===null||typeof e!=="object"||Array.isArray(e))throw new N("launch proof: expected an object");const t=e;const n=a(u=>{const p=t[u];if(typeof p!=="string"||!Hl.test(p))throw new N(`launch proof: ${u} must be 32-byte lowercase hex`);return p},"id");const r=a(u=>{const p=t[u];if(typeof p!=="string"||!b0.test(p))throw new N(`launch proof: ${u} must be lowercase hex`);return p},"hex");const o=a(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 ss(p)}catch(m){throw new N(`launch proof: ${u}: ${m.message}`)}},"tx");const i=t["states"];if(!Array.isArray(i))throw new N("launch proof: states must be an array");const s=t["params"];if(s===null||typeof s!=="object"||Array.isArray(s))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"||!Hl.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:ss(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:o("tx01"),tx2:o("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:i.map((u,p)=>{const m=u;if(!Number.isInteger(m["index"])||typeof m["amount"]!=="string"||!/^(0|[1-9][0-9]*)$/.test(m["amount"]))throw new N(`launch proof: states[${p}] is malformed`);return{index:m["index"],amount:m["amount"]}}),params:s,declaration:c!==null&&typeof c==="object"&&!Array.isArray(c)?c:null,graduation:l}}a(ys,"launchProofFromJson");var In=class extends Error{static{a(this,"CurveMathError")}constructor(t){super(t);this.name=new.target.name}};var X=class extends In{static{a(this,"ArgumentError")}};var Lo=class extends X{static{a(this,"SellPayoutTooSmallError")}};var V=class extends In{static{a(this,"ParameterError")}};var Ro=class extends In{static{a(this,"OverflowError")}};var ue=class extends In{static{a(this,"PoolError")}};var $r=class extends ue{static{a(this,"PoolPayoutTooSmallError")}};var st=class extends In{static{a(this,"LpError")}};var At=class extends st{static{a(this,"LpStateError")}};var Uo=class extends st{static{a(this,"LpShareCountError")}};var No=class extends st{static{a(this,"LpSharesCapError")}};var Lr=class extends st{static{a(this,"LpReserveCapError")}};var Rr=class extends st{static{a(this,"LpFloorError")}};var Ur=class extends st{static{a(this,"LpPayoutTooSmallError")}};var Bo=class extends st{static{a(this,"LpTokenLegTooSmallError")}};var $n=class extends st{static{a(this,"LpInvariantError")}};var Ko=class extends st{static{a(this,"LpInventoryError")}};var bs=(1n<<63n)-1n;var h0=-bs;function K(e,t){if(typeof e!=="bigint")throw new X(`${t} must be a bigint, got ${typeof e}`)}a(K,"assertBigint");function Xc(e,t){if(e>bs||e<h0)throw new Ro(`${t} = ${e} leaves the KCC-1 int range`);return e}a(Xc,"checked");function Pe(e,t,n){return Xc(e+t,n)}a(Pe,"add");function ct(e,t,n){return Xc(e-t,n)}a(ct,"sub");function ee(e,t,n){return Xc(e*t,n)}a(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}a(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}a(Ln,"ceilDiv");var Tt=10000n;var Va=200n;var Yc=1000000000000n;var ed=10000000000n;var k0=ed;var zl=1000000n;var Jl=8000n;var w0=800000n;var Qc=800000n;var Mo=10000000n;var Zc=100000000n;var Xl=1000000000000000n;function Yl(e){K(e,"curveLots");if(e<=0n)throw new V(`curveLots must be positive, got ${e}`);if(e<=Jl)return ed;if(e<=Qc)return zl;throw new V(`curveLots ${e} exceeds the covenant's maximum ${Qc}`)}a(Yl,"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>Yc)throw new V(`p0 ${e.p0} exceeds the cap ${Yc}`);if(e.k<0n)throw new V(`k must be non-negative, got ${e.k}`);const t=Yl(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>Va)throw new V(`feeBps ${e.feeBps} exceeds the cap ${Va}`)}a(en,"validateCurveParams");function x0(e,t,n=Zc){en(e);K(t,"cellValue");K(n,"gradFeeMin");if(t<0n)throw new X(`cellValue must be non-negative, got ${t}`);if(n!==Zc)throw new X(`gradFeeMin must be the contract set's GRAD_FEE_MIN (1 KAS), got ${n}`);const r=Pe(Pe(t,hs(e,0n,e.curveLots),"value + cost"),n,"value + cost + GRAD_FEE_MIN");return r<=Xl}a(x0,"initEscrowFits");function v0(e,t){K(t,"lot index");if(t<0n||t>=e.curveLots)throw new X(`lot index ${t} is outside [0, ${e.curveLots})`)}a(v0,"assertLotIndex");function Ql(e,t){en(e);v0(e,t);return Pe(e.p0,ee(e.k,t,"K * i"),"P0 + K * i")}a(Ql,"lotPrice");function Zl(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}`)}a(Zl,"assertRange");function hs(e,t,n){const r=ee(n,e.p0,"n * P0");const o=ee(n,t,"n * s0");const i=ee(n,n-1n,"n * (n - 1)")/2n;const s=Pe(o,i,"n * s0 + n * (n - 1) / 2");const c=ee(e.k,s,"K * (n * s0 + n * (n - 1) / 2)");return Pe(r,c,"cost")}a(hs,"costUnchecked");function td(e,t,n){en(e);Zl(e,t,n);return hs(e,t,n)}a(td,"cost");function Ga(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>Va)throw new V(`feeBps ${t} is outside [0, ${Va}]`);const n=e/Tt;const r=e%Tt;return Pe(ee(n,t,"q * feeBps"),(r*t+(Tt-1n))/Tt,"fee")}a(Ga,"fee");function Fo(e,t,n){en(e);Zl(e,t,n);if(n===0n)throw new X("a buy must take at least one lot");const r=hs(e,t,n);const o=Ga(r,e.feeBps);return{cost:r,fee:o,total:Pe(r,o,"cost + fee")}}a(Fo,"buyQuote");function qa(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=hs(e,t-n,n);const o=Ga(r,e.feeBps);const i=ct(r,o,"cost - fee");if(i<Mo){throw new Lo(`net refund ${i} is below the contract's 0.1 KAS payout minimum (PAYOUT_MIN ${Mo} sompi)`)}return{cost:r,fee:o,total:i}}a(qa,"sellQuote");function Wa(e){return td(e,0n,e.curveLots)}a(Wa,"fullRaise");function ks(e){en(e);return Ql(e,e.curveLots-1n)}a(ks,"lastLotPrice");function nd(e){return Ga(ks(e),e.feeBps)}a(nd,"finalLotFee");function rd(e,t){en(e);if(t<=0n||t>e.curveLots)throw new X(`n ${t} is outside [1, ${e.curveLots}]`);return Ga(td(e,e.curveLots-t,t),e.feeBps)}a(rd,"finalLotsFee");var Ye=100000000n;var od=1000000000000n;var ad=1200000000n;var ws={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}),...ws});var S0=tn;var xs=.0401;var A0=Object.freeze({name:"A",label:"Set A — raises 47,995 KAS",curve:Object.freeze({p0:1199381n,k:12n,feeBps:100n,curveLots:800000n}),...ws});var T0=Object.freeze({name:"B",label:"Set B — raises 243,972 KAS",curve:Object.freeze({p0:2496535n,k:70n,feeBps:100n,curveLots:800000n}),...ws});var _k=Object.freeze({name:"tiny",label:"tiny — raises 3,200 KAS (testnet)",curve:Object.freeze({p0:0n,k:1n,feeBps:100n,curveLots:800000n}),...ws});var Ik=Object.freeze([A0,T0,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>od)throw new V(`lotSize ${e.lotSize} exceeds the cap ${od}`);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>ad)throw new V(`GRAD_RESERVE ${n} exceeds the cap ${ad}`);if(t+n!==e.totalSupply){throw new V(`CURVE_SUPPLY ${t} + GRAD_RESERVE ${n} != TOTAL_SUPPLY ${e.totalSupply}`)}}a(dt,"validatePreset");function P0(e){dt(e);return e.curve.curveLots*e.lotSize}a(P0,"curveSupply");function ef(e){dt(e);return e.gradLots*e.lotSize}a(ef,"gradReserve");function nn(e){dt(e);return Wa(e.curve)*e.totalSupply/ef(e)}a(nn,"graduationMarketCapSompi");function C0(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 o=n%Ye;return(Number(r)+Number(o)/Number(Ye))*t}a(C0,"graduationMarketCapUsd");var id=800000000n;var E0=400000000n;var O0=0n;var _0=8000000n;var Bk=Object.freeze([1000n,10000n]);var Kk=1.1025;var za=.05;var I0=1;var Re=1000n;var j=10000n;var $0=Object.freeze([[j,122n],[j,134n],[j,147n],[j,161n],[j,177n],[j,195n],[j,214n],[j,235n],[j,258n],[j,284n],[j,313n],[j,344n],[j,379n],[j,417n],[j,459n],[j,506n],[j,557n],[j,613n],[j,675n],[j,744n],[j,820n],[j,904n],[j,996n],[j,1097n],[j,1209n],[j,1332n],[j,1468n],[j,1618n],[j,1783n],[j,1965n],[j,2166n],[j,2387n],[j,2631n],[j,2900n],[j,3197n],[j,3524n],[j,3885n],[j,4283n],[j,4722n],[j,5205n],[j,5738n],[j,6326n],[j,6974n],[j,7688n],[j,8475n],[j,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 sd(e){K(e,"lot");if(e<=0n||id%e!==0n||id/e%10n!==0n){throw new V(`lot ${e} does not divide the Standard curve's 800M tokens into a multiple of 10 lots`)}return id/e}a(sd,"standardCurveLots");function L0(e,t){K(t,"k");return t*sd(e)/10n}a(L0,"standardShapeP0");function Mk(e){sd(e);return{lots:O0/e,maxLots:_0/e}}a(Mk,"standardOpeningWindow");function R0(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}`}a(R0,"standardBandName");var U0=/^standard-(?:lot([1-9][0-9]*)k-)?k([1-9][0-9]*)$/;var cd=Ss(nn(tn))*xs;function Ss(e){return Number(e/Ye)+Number(e%Ye)/Number(Ye)}a(Ss,"kasOf");function N0(e){return`$${e.toPrecision(3)}`}a(N0,"priceLabel");function B0(e){const t=sd(e.lot);const n={...tn,name:R0(e),curve:Object.freeze({...tn.curve,p0:L0(e.lot,e.k),k:e.k,curveLots:t}),lotSize:e.lot,gradLots:E0/e.lot};const r=cd/Ss(nn(n));return Object.freeze({...n,label:`Standard — graduates ≈ $69k at ${N0(r)} KAS`})}a(B0,"bandPreset");var Ut=Object.freeze([...$0.map(B0),tn].sort((e,t)=>{const n=nn(e);const r=nn(t);return n<r?-1:n>r?1:0}));var Fk=Object.freeze(Ut.filter(e=>e!==tn));var tf=new Map(Ut.map(e=>[e.name,e]));var dd=new Map(Ut.map((e,t)=>[e.name,t]));var rn=Ut.map(e=>e===tn?xs:cd/Ss(nn(e)));function ud(e){return tf.get(e)}a(ud,"standardFamilyPreset");function Dk(e){return tf.has(e)}a(Dk,"isStandardFamilyName");function nf(e){return U0.test(e)}a(nf,"isStandardBandNameForm");function Hk(e){return dd.get(e)}a(Hk,"standardFamilyIndex");function rf(e){const t=dd.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}a(rf,"memberIndex");function jk(e){return rn[rf(e)]}a(jk,"standardBandReferenceKasUsd");function Ja(e){const t=Ut.length;return{max:e===0?rn[0]*(1+za):Math.sqrt(rn[e]*rn[e-1]),min:e===t-1?rn[t-1]/(1+za):Math.sqrt(rn[e]*rn[e+1])}}a(Ja,"servesAt");function Vk(e){return Ja(rf(e))}a(Vk,"standardBandServes");var vs=Object.freeze({min:Ja(Ut.length-1).min,max:Ja(0).max});var Xa=class extends V{static{a(this,"StandardBandOutOfRange")}kasUsd;constructor(t){super(`KAS/USD ${t} is outside the Standard family's range (${vs.min.toPrecision(3)} .. ${vs.max.toPrecision(3)}): no band graduates within ${za*100} % of the target`);this.kasUsd=t}};function of(e){if(typeof e!=="number"||!Number.isFinite(e)||e<=0){throw new V(`kasUsd must be a finite positive number, got ${String(e)}`)}}a(of,"assertPrice");function af(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}a(af,"nearestIndex");function Gk(e){of(e);const{index:t,dist:n}=af(e);if(n>Math.log(1+za)+1e-12)throw new Xa(e);const r=Ut[t];const o=Ss(nn(r))*e;return{preset:r,index:t,kasUsd:e,referenceKasUsd:rn[t],graduationCapSompi:nn(r),graduationCapUsd:o,deviation:o/cd-1}}a(Gk,"standardBandFor");function sf(e,t,n=I0){of(t);if(!Number.isInteger(n)||n<0)throw new V(`toleranceBands must be a non-negative integer, got ${n}`);const r=dd.get(e);const o=af(t);const i=o.dist<=Math.log(1+za)+1e-12;const s=i?Ut[o.index]:void 0;if(r===void 0){return{accepted:false,reason:"not-a-band",index:r,expected:s,distance:void 0,accepts:void 0,message:`${e} is not a Standard band`}}const c=Ut.length;const d={max:Ja(Math.max(0,r-n)).max,min:Ja(Math.min(c-1,r+n)).min};const l=i?Math.abs(r-o.index):void 0;const u=a(m=>`$${m.toPrecision(3)}`,"fmt");if(!i){return{accepted:false,reason:"price-out-of-range",index:r,expected:s,distance:l,accepts:d,message:`KAS at ${u(t)} is outside the Standard bands' range (${u(vs.min)} .. ${u(vs.max)})`}}const p=t>=d.min&&t<=d.max;return{accepted:p,reason:p?void 0:"wrong-band",index:r,expected:s,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)} (${s.name}); it is accepted only for ${u(d.min)} .. ${u(d.max)}`}}a(sf,"checkStandardBand");function K0(e){return e.hashWindow??{start:e.stateOffset,length:e.stateLength}}a(K0,"windowOf");function ld(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}`)}}a(ld,"assertWindow");var As=class{static{a(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(!Gc.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`)}ld({start:t.stateOffset,length:t.stateLength},`template ${n}`);const r=K0(t);ld(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 o=this.#e.get(t.layoutId);if(!o){throw new Error(`cannot register template ${n}: no codec for layout ${t.layoutId}`)}if(t.stateLength!==o.stateLength){throw new Error(`template ${n} declares stateLength ${t.stateLength} but codec ${o.id} uses ${o.stateLength}`)}}this.#t.set(n,t);this.#o(r);return this}quarantineTemplate(t){if(!Gc.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`)}ld(t.window,`quarantined template ${t.templateHash}`);this.#n.set(t.templateHash,t.reason);this.#o(t.window);return this}#o(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 o=this.#n.get(n);if(o){throw new wn(`${n} (quarantined: ${o})`)}throw new wn(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 o=Rt(t,r.start,r.length);const i=this.#t.get(o);if(i)return i;const s=this.#n.get(o);if(s!==void 0){throw new wn(`${o} (quarantined: ${s})`)}n.push(`${o} over window [${r.start}, ${r.start+r.length})`)}throw new wn(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 yo(r.templateHash,r.recognisedOnly)}const o=this.#i(t,r);const i=this.getCodec(r.layoutId);const s=i.decode(o,r.schemes);i.validate(s,r.schemes);return s}assertRoundTrip(t,n){const r=this.#c(t,n);const o=this.decodeProgram(t,r.templateHash);const i=this.getCodec(r.layoutId).encode(o,r.schemes);const s=this.#i(t,r);if(h(i)!==h(s)){throw new N(`round-trip mismatch for template ${r.templateHash}: on-chain ${h(s)} vs re-encoded ${h(i)}`)}return o}#c(t,n){const r=n===void 0?void 0:this.resolveTemplate(n);const o=this.identifyTemplate(t);if(r!==void 0&&r.templateHash!==o.templateHash){throw new go(r.templateHash,o.templateHash)}return o}#i(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 o=n.prefixHex;const i=h(t.subarray(0,o.length/2));if(i!==o){throw new N(`template ${n.templateHash} expects program prefix ${o}, got ${i}`)}}return t.subarray(n.stateOffset,r)}};var M0=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 on=a((e,t)=>e>>>t|e<<32-t,"rotr");function Ts(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 o=new DataView(r.buffer);o.setBigUint64(r.length-8,n,false);const i=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);const s=new Uint32Array(64);for(let l=0;l<r.length;l+=64){for(let S=0;S<16;S++)s[S]=o.getUint32(l+S*4,false);for(let S=16;S<64;S++){const A=s[S-15];const P=s[S-2];const $=on(A,7)^on(A,18)^A>>>3;const L=on(P,17)^on(P,19)^P>>>10;s[S]=s[S-16]+$+s[S-7]+L>>>0}let[u,p,m,y,g,b,w,x]=[i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]];for(let S=0;S<64;S++){const A=x+(on(g,6)^on(g,11)^on(g,25))+(g&b^~g&w)+M0[S]+s[S]>>>0;const P=(on(u,2)^on(u,13)^on(u,22))+(u&p^u&m^p&m)>>>0;x=w;w=b;b=g;g=y+A>>>0;y=m;m=p;p=u;u=A+P>>>0}i[0]=i[0]+u>>>0;i[1]=i[1]+p>>>0;i[2]=i[2]+m>>>0;i[3]=i[3]+y>>>0;i[4]=i[4]+g>>>0;i[5]=i[5]+b>>>0;i[6]=i[6]+w>>>0;i[7]=i[7]+x>>>0}const c=new Uint8Array(32);const d=new DataView(c.buffer);for(let l=0;l<8;l++)d.setUint32(l*4,i[l],false);return c}a(Ts,"sha256");function fd(e){let t="";for(const n of Ts(e))t+=n.toString(16).padStart(2,"0");return t}a(fd,"sha256Hex");var Ps=/[\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 cf(e){return e.replace(/\s+/gu," ").replace(Ps,"").replace(/ {2,}/g," ").trim()}a(cf,"displayText");var F0={"А":"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 D0=/[\uFE00-\uFE0F\u2800]|\uDB40[\uDD00-\uDDEF]|\uD834[\uDD73-\uDD7A]/g;var H0=/[\u0300-\u036F\u1AB0-\u1AFF\u1DC0-\u1DFF\u20D0-\u20FF]/g;function j0(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}a(j0,"negativeLetter");function pd(e){const t=cf(e.normalize("NFKC")).normalize("NFD").replace(H0,"").normalize("NFC").replace(D0,"").replace(/[$\s]/g,"").toUpperCase();let n="";for(const r of t)n+=F0[r]??j0(r.codePointAt(0))??r;return n}a(pd,"tickerSkeleton");function tw(e){Ps.lastIndex=0;const t=Ps.test(e);Ps.lastIndex=0;return t}a(tw,"hasHiddenCharacters");var Nt=a(e=>({word:e,inName:"exact"}),"exact");var Cs=a(e=>({word:e,inName:"word"}),"anyWord");var aw=[{id:"kas",words:[Nt("KAS"),Nt("KASPA")]},{id:"wkas",words:[Cs("WKAS"),Nt("WRAPPEDKAS"),Nt("WRAPPEDKASPA")]},{id:"usdt",words:[Cs("USDT"),Cs("TETHER"),Nt("TETHERUSD")]},{id:"usdc",words:[Cs("USDC"),Nt("USDCOIN")]},{id:"btc",words:[Nt("BTC"),Nt("BITCOIN")]},{id:"eth",words:[Nt("ETH"),Nt("ETHER"),Nt("ETHEREUM")]}];var V0=["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 G0=["SEAL","KASSEAL"];var q0={"testnet-10":"kaspatest:qp8pqkcf0w8l3mke93eu86ngyc808x54t574a8jha96nu63x8tfn2et7nk35w",mainnet:"kaspa:qrt0p8sd5g8k383mzxgqtyl7ehkdez8ds8cpxqcuwjdaayke9rjhg9pqnr3zx"};function df(e,t,n){const r=n!==void 0&&q0[e]===n.trim().toLowerCase();const o=a(c=>r&&G0.includes(c),"allowed");const i=pd(t.ticker);const s=pd(t.name);for(const[c,d]of[["ticker",i],["name",s]]){if(V0.includes(d)&&!o(d))return{word:d,field:c}}return null}a(df,"reservedNameOf");function Es(){const e=new As().registerCodec(Ll).registerCodec(vt);for(const t of Rl)e.registerTemplate(t);e.registerTemplate(gs);for(const t of Ul)e.registerTemplate(t);for(const t of Nl)e.quarantineTemplate(t);return e}a(Es,"createDefaultRegistry");var Bt=class extends Error{static{a(this,"ArtifactMissing")}path;constructor(t){super(`contract artifact ${t} is not available in this build`);this.name="ArtifactMissing";this.path=t}};var Do=class extends Error{static{a(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 jo=Object.freeze(["v1"]);function Fe(e){return e==="v1"}a(Fe,"hasOpenLiquidity");var Ya=class extends Error{static{a(this,"ContractSetNotSupported")}set;constructor(t,n){super(`contract set ${t} is not supported by ${n} yet`);this.name="ContractSetNotSupported";this.set=t}};function Qa(e,t="the transaction builder"){if(!Ju.includes(e))throw new Error(`unknown contract version ${String(e)} (${t})`);return e}a(Qa,"builderContractSet");var We="v1";var W0="contracts/curve/v1";var uf="contracts/curve/v1/artifacts";var z0="contracts/pool/v1/artifacts/pool.artifact.json";var J0="contracts/pool/v1/pool.ctor.json";var Is="codec/fixtures/argent-kcc20-reference-c8a0871.json";var lf=Object.freeze(["v1-2026-10-18-final","v1-kasseal-mainnet-tn10","v1-kasseal-mainnet","v1-kasseal-mainnet-2-tn10","v1-kasseal-mainnet-2"]);var X0="v1-kasseal-mainnet";var yd="v1-kasseal-mainnet-2";var ff="v1-kasseal-mainnet-2-tn10";var Y0=Object.freeze([X0,yd]);var pf="mainnet";function Za(e){const t=e===pf;return lf.filter(n=>Y0.includes(n)===t)}a(Za,"v1RevisionsOn");var Q0="testnet-10";function bd(e){if(e===pf)return yd;return e===Q0?ff:void 0}a(bd,"launchRevisionOf");function hd(e,t){if(e!=="v1"||!lf.includes(t))throw new Error(`unknown frozen ${e} revision ${t}`);return t}a(hd,"assertRevision");function ei(e){Qa(e,"the builder's artifact source")}a(ei,"assertVersion");function $s(e=We,t){ei(e);if(t!==void 0)return`${uf}/${hd(e,t)}`;return W0}a($s,"curvePresetDir");function mf(e,t=We,n){ei(t);if(n!==void 0)return`${$s(t,n)}/curve.${e}.artifact.json`;return`${uf}/curve.${e}.artifact.json`}a(mf,"curveArtifactPath");function gf(e,t=We,n){return`${$s(t,n)}/curve.ctor.${e}.json`}a(gf,"curveCtorPath");function yf(e=We,t){ei(e);if(t!==void 0)return`contracts/pool/v1/artifacts/${hd(e,t)}/pool.artifact.json`;return z0}a(yf,"poolArtifactPath");function bf(e=We,t){ei(e);if(t!==void 0)return`contracts/pool/v1/artifacts/${hd(e,t)}/pool.ctor.json`;return J0}a(bf,"poolCtorPath");var Z0=/^curve\.ctor\.([A-Za-z0-9_-]+)\.json$/;function ey(e){return e.flatMap(t=>{const n=Z0.exec(t);return n?[n[1]]:[]}).sort()}a(ey,"presetsOf");function hf(e,t){ei(e);return ey(t)}a(hf,"presetsOfSet");function Os(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}a(Os,"normalise");var Ho=class extends Bt{static{a(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 kd=new Map;var gd=new Map;var md=new Map;var kf=new Set;function Nw(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`);kd.set(t,n)}}a(Nw,"registerLazyArtifacts");function wf(e){return kd.has(e)&&!kf.has(e)}a(wf,"presetArtifactsPending");function ty(e){const t=kd.get(e);if(t===void 0)return Promise.resolve();let n=md.get(e);if(n===void 0){n=t().then(r=>{for(const[o,i]of Object.entries(r)){if(typeof i!=="string")throw new Error(`artifact ${o} is not text`);gd.set(Os(o),i)}kf.add(e)});n.catch(()=>md.delete(e));md.set(e,n)}return n}a(ty,"ensurePresetArtifacts");var ny=/(?:^|\/)curve\.(?:ctor\.)?([A-Za-z0-9_-]+?)(?:\.artifact|\.ctor)?\.json$/;function Bw(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(Os(n),r)}return{readText(n){const r=Os(n);const o=t.get(r)??gd.get(r);if(o!==void 0)return o;const i=ny.exec(r)?.[1];if(i!==void 0&&wf(i))throw new Ho(n,i);throw new Bt(n)},list(n){const r=`${Os(n)}/`;const o=new Set;for(const i of[...t.keys(),...gd.keys()]){if(!i.startsWith(r))continue;const s=i.slice(r.length);if(!s.includes("/"))o.add(s)}return[...o].sort()}}}a(Bw,"artifactSourceFromFiles");var _s;function Kw(e){const t=_s;_s=e;return t}a(Kw,"installArtifactSource");function ti(){if(_s===void 0)throw new Do;return _s}a(ti,"artifactSource");function Vo(e){return JSON.parse(ti().readText(e))}a(Vo,"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}}a(Rn,"plainTxFromSdk");function ry(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}a(ry,"hasLoneSurrogate");function xf(e,{maxDepth:t=64}={}){let n=0;const r=a(d=>{throw new Error(`I-JSON: ${d} at ${n}`)},"err");const o=a(()=>{while(n<e.length&&" \n\r".includes(e[n]))n++},"ws");const i=a(()=>{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(ry(d))r("string contains a lone surrogate");return d},"str");const s=a(d=>{o();const l=e[n];if(l==="{"){if(d>t)r(`nesting deeper than ${t}`);n++;const m={};const y=new Set;o();if(e[n]==="}"){n++;return m}for(;;){o();if(e[n]!=='"')r("expected member name");const g=i();if(y.has(g))r(`duplicate member name "${g}"`);y.add(g);o();if(e[n]!==":")r('expected ":"');n++;Object.defineProperty(m,g,{value:s(d+1),enumerable:true,writable:true,configurable:true});o();if(e[n]===","){n++;continue}if(e[n]==="}"){n++;return m}r('expected "," or "}"')}}if(l==="["){if(d>t)r(`nesting deeper than ${t}`);n++;const m=[];o();if(e[n]==="]"){n++;return m}for(;;){m.push(s(d+1));o();if(e[n]===","){n++;continue}if(e[n]==="]"){n++;return m}r('expected "," or "]"')}}if(l==='"')return i();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=s(1);o();if(n!==e.length)r("trailing characters");return c}a(xf,"parseIJSON");function oy(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=xf(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}}a(oy,"decodeDeclaration");function vf(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 o=oy(r);if(!o.valid)throw new Error(`metadata does not round-trip as an I-JSON declaration: ${o.reason}`);return r}a(vf,"encodeDeclaration");var ke=100000000n;var Pt=5n*ke;var ut=100n;var nr=20n*ut;var Sf=50n;var wd=ke;var Ls=1000000000000n;var ni=5e5;var xd=5e5;var vd=1e6;var Ad=Ls/BigInt(ni);var ri=4n*Ls/BigInt(ni);function Rs(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}a(Rs,"serializedSize");function Af(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 Rs(e)+t*10+n*100}a(Af,"computeMass");var Tf=a(e=>Rs(e)*4,"transientMass");function Sd(e,t){return Math.ceil((63+e+(t?32:0))/100)}a(Sd,"plurality");function Pf(e,t){const n=Ls;let r=0n;let o=0n;for(const u of t){if(u.amount<=0n)throw new Error("storage mass: output value must be positive");r+=u.plurality;o+=n*u.plurality*u.plurality/u.amount}const i=e.reduce((u,p)=>u+p.plurality,0n);const s=r===1n||e.length<=2&&(i===1n||r===2n&&i===2n);if(s){const u=e.reduce((p,m)=>p+n*m.plurality*m.plurality/m.amount,0n);return o>u?o-u:0n}const c=e.reduce((u,p)=>u+p.amount,0n);let d=c/i;if(d<1n)d=1n;const l=i*(n/d);return o>l?o-l:0n}a(Pf,"storageMass");function Un(e){const t=e.inputs.map(u=>({plurality:BigInt(Sd(u.spkLength,u.hasCovenant)),amount:u.amount}));const n=e.outputs.map(u=>({plurality:BigInt(Sd(u.spkLength,u.hasCovenant)),amount:u.value}));const r=Rs(e);const o=Af(e);const i=Tf(e);const s=Math.ceil(i/2);const c=Number(Pf(t,n));const d=Math.max(o,s,c);const l=d===c&&c>=s&&c>=o?"storage":d===s?"transient":"compute";return{bytes:r,compute:o,transient:i,normalizedTransient:s,storage:c,max:d,minFee:BigInt(d)*ut,binding:l}}a(Un,"masses");var Go=class extends Error{static{a(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 oi(e,t="feerate"){if(e>nr)throw new Go(e,t);return e<ut?ut:e}a(oi,"boundedFeerate");function ay(e){if(e>nr)return nr;return e<ut?ut:e}a(ay,"clampFeerate");function Br(e){const t=Sf*e;return t>wd?t:wd}a(Br,"feeCeiling");var Nr=class extends Error{static{a(this,"FeeAboveCeiling")}fee;ceiling;minFee;constructor(t,n,r){const o=Br(r);super(`${t}: fee ${n} sompi is above the ceiling ${o} (model minimum ${r}); refused so no surplus can become miner fee`);this.name="FeeAboveCeiling";this.fee=n;this.ceiling=o;this.minFee=r}};function Td(e){if(e.storage>ni)throw new Error(`storage mass ${e.storage} exceeds the block limit ${ni}: an output is below its floor`);if(e.compute>xd)throw new Error(`compute mass ${e.compute} exceeds the block limit ${xd}`);if(e.transient>vd)throw new Error(`transient mass ${e.transient} exceeds the block limit ${vd}`)}a(Td,"assertMinable");var ve=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 iy=Object.freeze({...ve,curveInit:14,curveBuy:16,curveSell:15,curveSweep:5,curveGraduate:17,poolSwapKasForTokens:14,poolSwapTokensForKas:13,poolSweep:3});var ai=Object.freeze({...iy,curveGraduate:27,poolSwapKasForTokens:20,poolSwapTokensForKas:19,poolSweep:9,poolBindLp:14,poolAddLiquidity:30,poolRemoveLiquidity:30});var Us=Object.freeze({...ai,curveGraduate:29,poolSwapKasForTokens:23,poolSwapTokensForKas:23,poolSweep:10,poolBindLp:15,poolAddLiquidity:31,poolRemoveLiquidity:31});var Ww=Object.freeze({vaultBuy:19,depositWithVault:1,depositMerge:1,splitterSplit:1,splitterMerge:1});function Pd(e){if(e==="v1")return ai;throw new Error(`no budget table for contract version ${String(e)}`)}a(Pd,"budgetsFor");var sy=20;var Cf=30;var cy=31;function dy(e){if(e==="v1")return Cf;throw new Error(`no budget ceiling for contract version ${String(e)}`)}a(dy,"budgetCeilingFor");function Ct(e,t){if(t===1&&e===3)return ve.tokenLeaderSignedMerge3;if(t===1&&e===2)return ve.tokenLeaderSignedMerge2;if(t===1)return ve.tokenLeaderSigned1Out;if(t===2)return ve.tokenLeaderSigned2Out;if(t===3)return ve.tokenLeaderSigned3Out;throw new Error(`no budget for a signed leader with ${t} outputs`)}a(Ct,"signedLeaderBudget");function ii(e){return Math.ceil(Math.max(0,e-9999)/1e4)}a(ii,"budgetCovering");function Kr(e){return(e-9999)%1e4===0?(e-9999)/1e4:void 0}a(Kr,"budgetFromLimit");var zw=Object.freeze({orderFill:1,orderCancel:1,orderRefund:1,potLeader:8});var Cd="2.1.0";var qo=class extends Error{static{a(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 Ns;var Bs;function uy(e){const t=typeof e.version==="function"?e.version():void 0;if(t!==Cd)throw new Error(`SDK reports version ${JSON.stringify(t)}, expected ${Cd}`);Ns=e}a(uy,"installSdk");function Yw(e){Bs=e}a(Yw,"registerSdkLoader");function ly(){return Ns!==void 0||Bs!==void 0}a(ly,"sdkAvailable");function Nn(){if(Ns===void 0){if(Bs===void 0)throw new qo;uy(Bs())}return Ns}a(Nn,"sdk");var an="testnet-10";function Mr(e,t){if(e===null||e===void 0)throw new Error(`${t} is missing`);return e}a(Mr,"required");var rr=0;var le=1000000n;var Jo=Ve;var zo=Object.freeze({bindLp:["byte[]","byte[]"],addLiquidity:["int",Pn],removeLiquidity:["int",Pn]});function Ks(e){return e.length===37&&e[0]===0&&e[1]===0&&e[2]===170&&e[3]===32&&e[36]===135}a(Ks,"isP2shSpk37");function Of(e,t,n){const r=Vo(t);const o=r.contracts[e];if(!o)throw new Error(`${t}: no contract ${e}`);const i=Uint8Array.from(o.compiled.bytecode);const{offset:s,len:c}=o.compiled.state_span;const d=i.subarray(0,s);const l=i.subarray(s+c);const u=Lt(d,l);const p=h(Uint8Array.from(o.compiled.template_hash));if(u!==p)throw new Error(`${t}: recomputed template hash ${u} != artifact ${p}`);const m={};for(const[y,g]of Object.entries(o.entries))m[y.replace("__covenant_entrypoint_auth_","")]=g.dispatch_tag.toLowerCase();return{name:e,version:n,prefix:d,suffix:l,stateOffset:s,stateLength:c,templateHash:u,tags:m,bytecode:i,artifactPath:t}}a(Of,"templateFromArtifact");function Kt(e,t){if(e.kind!=="int")throw new Error(`ctor[${t}] is ${e.kind}, expected int`);return BigInt(e.value)}a(Kt,"ctorInt");function Wo(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)}a(Wo,"ctorBytes");function Ms(e,t=ci()){const n=t.version;const r=t.revision;const o=gf(e,n,r);const i={...Of("Curve",mf(e,n,r),n),...r===void 0?{}:{revision:r}};const s=ti().readText(o);const c=JSON.parse(s);const d=19;if(c.length!==d)throw new Error(`${o}: 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:_f(c[10],10,n),creatorSpk:Wo(c[11],11,nt),tokenH:h(Wo(c[12],12,32)),tokenPrefixLen:Number(Kt(c[13],13)),tokenSuffixLen:Number(Kt(c[14],14)),poolH:h(Wo(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(!_d(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=So(i.bytecode.subarray(i.stateOffset,i.stateOffset+i.stateLength));if(!M(u.tokenCovId,Ve)||u.lotsSold!==0n||u.feeAccrued!==0n||u.phase!==xr){throw new Error(`preset ${e}: constructor state is not the uninitialised curve`)}for(const p of["init","buy","sell","sweep","graduate"])if(!i.tags[p])throw new Error(`preset ${e}: artifact lacks entry ${p}`);return{...i,version:n,name:"Curve",preset:e,params:l,ctorPath:o,ctorSha256:fd(s)}}a(Ms,"loadCurveTemplate");function fy(e,t){return Ms(t,ci(e))}a(fy,"loadCurveTemplateOf");function ci(e=We,t){const n=Qa(e);const r=py(n,yf(n,t),bf(n,t));return t===void 0?r:{...r,revision:t}}a(ci,"loadPoolTemplate");function py(e,t,n){const r=Of("Pool",t,e);const o=Vo(n);const i=9;if(o.length!==i)throw new Error(`${n}: expected ${i} constructor values, got ${o.length}`);const s=i-2;const c=h(Wo(o[s],s,32));if(c!==qe)throw new Error(`${n}: tokenTemplateHash ${c} is not the reference template`);if(r.stateLength!==Pc(e))throw new Error(`${n}: state span length ${r.stateLength}, expected ${Pc(e)}`);const d=Fe(e);const l=d?["swapKasForTokens","swapTokensForKas","sweep",...Object.keys(zo)]:["swapKasForTokens","swapTokensForKas","sweep"];for(const p of l)if(!r.tags[p])throw new Error(`pool artifact lacks entry ${p}`);if(d){const p=Ec(r.bytecode.subarray(r.stateOffset,r.stateOffset+r.stateLength));if(xo(p)!=="v3"||!M(p.lpCovId,Jo)||p.lpShares!==Xu){throw new Error(`${n}: constructor state is not an unbound 139-byte pool at the graduation share count`)}}const u=_f(o[i-1],i-1,e);if(!_d(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}}a(py,"poolTemplateFrom");function _f(e,t,n){if(n==="v1"&&e.kind==="bytes"&&e.value.length===37)return Wo(e,t,37);return Wo(e,t,nt)}a(_f,"treasuryCtorBytes");function _d(e,t){return Jt(t)||e==="v1"&&Ks(t)}a(_d,"isTreasurySpkOf");function Fs(){const e=Vo(Is);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}}a(Fs,"loadTokenTemplate");function Xo(e,t,n=$f()){const r=E(e.prefix,ae(_(e.templateHash)),vt.encode(t),e.suffix);if(r.length!==4031)throw new Error(`token program is ${r.length} B`);const o=n.identifyTemplate(r);if(o.templateHash!==e.templateHash)throw new Error(`token program identifies as ${o.templateHash}`);return r}a(Xo,"tokenProgram");function Yo(e,t){const n=E(e.prefix,vo(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}a(Yo,"curveProgram");function di(e,t){if(xo(t)!==wo(e.version))throw new Error(`a ${xo(t)} pool state does not fit the ${e.version} pool template`);const n=E(e.prefix,Cc(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}a(di,"poolProgram");function Ue(e,t,n=Ve){return xt({amount:e,owner:_(t),ownerScheme:kt,borrowScheme:rr,extensionCommitment:n})}a(Ue,"covenantOwnedToken");function Id(e,t,n=Ve){if(t.length!==32)throw new Error("a script owner is the 32-byte hash of the script");return xt({amount:e,owner:t,ownerScheme:3,borrowScheme:rr,extensionCommitment:n})}a(Id,"scriptOwnedToken");function Qo(e){return se(e).subarray(2,34)}a(Qo,"scriptHashOf");function Bn(e,t,{borrowScheme:n=rr,borrowGuard:r,extensionCommitment:o=Ve}={}){if(t.length!==32)throw new Error("user token owner must be a 32-byte x-only public key");return xt({amount:e,owner:t,ownerScheme:Wi,borrowScheme:n,...r?{borrowGuard:r}:{},extensionCommitment:o})}a(Bn,"userToken");var my=Object.freeze(["v1-2026-10-18-final","v1-kasseal-mainnet-tn10","v1-kasseal-mainnet","v1-kasseal-mainnet-2-tn10","v1-kasseal-mainnet-2"]);function If(e){return e.version==="v1"&&(e.revision===void 0||my.includes(e.revision))}a(If,"lpBoundToPool");function ui(e,t){return If(e)?_(t):new Uint8Array(32)}a(ui,"lpExtensionOf");function Mt(e,t){return e.owner.schemeByte===kt&&h(e.owner.identifier)===t}a(Mt,"isCovenantOwnedBy");var Ef;function $f(){Ef??=Es();return Ef}a($f,"defaultRegistry");function Ed(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`}}a(Ed,"templateDescriptor");var si=class{static{a(this,"CellDecoder")}registry;curve;pool;token;constructor(t,n,r=Fs()){this.curve=t;this.pool=n;this.token=r;this.registry=Es().registerTemplate(Ed(t)).registerTemplate(Ed(n))}decode(t){const n=this.registry.identifyTemplate(t);if(n.templateHash===gs.templateHash){const o=this.registry.assertRoundTrip(t,n.templateHash);return{kind:"token",state:o,templateHash:n.templateHash,stateHex:h(vt.encode(o))}}const r=t.subarray(n.stateOffset,n.stateOffset+n.stateLength);if(n.templateHash===this.curve.templateHash)return{kind:"curve",state:So(r),templateHash:n.templateHash,stateHex:h(r)};if(n.templateHash===this.pool.templateHash)return{kind:"pool",state:Ec(r),templateHash:n.templateHash,stateHex:h(r)};throw new Error(`program identifies as unknown template ${n.templateHash}`)}spk(t){return se(t)}};var sn=class extends Error{static{a(this,"StateJsonError")}field;constructor(t,n,r){super(`${t} state JSON: ${n} ${r}`);this.name="StateJsonError";this.field=n}};function $d(e,t){if(typeof e!=="object"||e===null||Array.isArray(e))throw new sn(t,"(root)","is not an object");return e}a($d,"jsonRecord");function Fr(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")}a(Fr,"jsonBig");function Od(e,t,n){const r=e[t];const o=typeof r==="number"?r:typeof r==="string"&&/^[0-9]+$/.test(r)?Number(r):NaN;if(!Number.isInteger(o)||o<0||o>255)throw new sn(n,t,r===void 0?"is missing":"is not a byte");return o}a(Od,"jsonByte");function Dr(e,t,n,r){const o=e[t];if(typeof o!=="string"||!/^([0-9a-f]{2})*$/.test(o))throw new sn(n,t,o===void 0?"is missing":"is not lowercase hex");if(r!==void 0&&o.length!==r*2)throw new sn(n,t,`is not ${r} bytes`);return _(o)}a(Dr,"jsonHex");function Zo(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)}}a(Zo,"tokenStateToJson");function ea(e){const t="token";const n=$d(e,t);return xt({amount:Fr(n,"amount",t),owner:Dr(n,"owner",t),ownerScheme:Od(n,"ownerScheme",t),borrowScheme:Od(n,"borrowScheme",t),borrowGuard:Dr(n,"borrowGuard",t),extensionCommitment:Dr(n,"extensionCommitment",t)})}a(ea,"tokenStateFromJson");function Ds(e){return{tokenCovId:h(e.tokenCovId),lotsSold:e.lotsSold.toString(),feeAccrued:e.feeAccrued.toString(),phase:e.phase}}a(Ds,"curveStateToJson");function Ld(e){const t="curve";const n=$d(e,t);return{tokenCovId:Dr(n,"tokenCovId",t,32),lotsSold:Fr(n,"lotsSold",t),feeAccrued:Fr(n,"feeAccrued",t),phase:Od(n,"phase",t)}}a(Ld,"curveStateFromJson");function Hs(e){const t={tokenCovId:h(e.tokenCovId),kasScaled:e.kasScaled.toString(),tokenReserve:e.tokenReserve.toString(),lpShares:e.lpShares.toString()};return{...t,lpCovId:h(Mr(e.lpCovId,"pool state: lpCovId of a 139-byte state")),feeAccruedScaled:e.feeAccruedScaled.toString(),creatorSpk:h(Mr(e.creatorSpk,"pool state: creatorSpk of a 139-byte state"))}}a(Hs,"poolStateToJson");function Rd(e){const t="pool";const n=$d(e,t);const r={tokenCovId:Dr(n,"tokenCovId",t,32),kasScaled:Fr(n,"kasScaled",t),tokenReserve:Fr(n,"tokenReserve",t),lpShares:Fr(n,"lpShares",t),feeAccruedScaled:Fr(n,"feeAccruedScaled",t)};return{...r,lpCovId:Dr(n,"lpCovId",t,32),creatorSpk:Dr(n,"creatorSpk",t,nt)}}a(Rd,"poolStateFromJson");function Lf(e){if(e.name!=="Pool"||!Fe(e.version))return Yt[e.name];if(Kn(e))return{...Yt.Pool,...zo,swapKasForTokens:Fa,swapTokensForKas:Da};const t=e.version==="v1"&&e.tags["swapKasForTokens"]===Cn;return{...Yt.Pool,...zo,...t?{swapKasForTokens:Ma}:{}}}a(Lf,"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}a(Kn,"isComposablePool");function gy(e){const t=Lf(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 o=Qt(n,r);if(e.tags[n]!==o)throw new Error(`${e.name}.${n}: artifact tag ${e.tags[n]} != derived ${o}`)}}a(gy,"assertEntryTags");var Ce=65;var ta=new Uint8Array(Ce);var li=0;var yy=Io;var cn=ie;var Rf=Le;var by=us;var Ud=a(e=>E(Uint8Array.of(4),_(e)),"tagPush");var Uf=Or;function fi(e,t,n){const r=ts(t,n);const o=E(r.bytes,cn(e));let i;if(n.length===1+Ce&&n[0]===li){const s=r.groupedFieldPushes.reduce((c,d)=>c+d.length,0);i=s+1+1;if(h(o.subarray(i-2,i))!=="4200")throw new Error("leader witness slot not where expected")}return{bytes:o,signatureOffset:i}}a(fi,"tokenLeaderSigScript");function Nd(e,t){return fi(e,t,E(Uint8Array.of(li),ta))}a(Nd,"tokenLeaderSignedSigScript");function Bd(e,t){return fi(e,t,Uint8Array.of(li))}a(Bd,"tokenLeaderCovenantSigScript");function Kd(e,t){const n=E(cn(t),Ud(Eo.transferDelegator.tagHex),cn(e));return{bytes:n,signatureOffset:t.length===Ce?1:void 0}}a(Kd,"tokenDelegatorSigScript");function Md(e){return Kd(e,new Uint8Array(0))}a(Md,"tokenDelegatorCovenantSigScript");function Fd(e){return Kd(e,ta)}a(Fd,"tokenDelegatorSignedSigScript");function Nf(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 Ft(e,"init",St({contract:"curve",entry:"init",tokenPrefix:n,tokenSuffix:r},t))}a(Nf,"curveInitSigScript");function Dd(e,t,n,r){if(n<=0n)throw new Error("buy: n must be positive");return Ft(e,"buy",St({contract:"curve",entry:"buy",n,user:r},t))}a(Dd,"curveBuySigScript");function Hd(e,t,n){if(n<=0n)throw new Error("sell: n must be positive");return Ft(e,"sell",St({contract:"curve",entry:"sell",n},t))}a(Hd,"curveSellSigScript");function jd(e,t){return Ft(e,"sweep",St({contract:"curve",entry:"sweep"},t))}a(jd,"curveSweepSigScript");function Bf(e,t,n){return Ft(e,"graduate",St({contract:"curve",entry:"graduate",poolPrefix:n.prefix,poolSuffix:n.suffix},t))}a(Bf,"curveGraduateSigScript");function Vd(e,t,n,r,o,i=pi){if(n<=0n)throw new Error("swapKasForTokens: kasInScaled must be positive");if(e.tags["swapKasForTokens"]===En){if(o===void 0)throw new Error("swapKasForTokens: this pool takes an on-chain minTokensOut");return Ft(e,"swapKasForTokens",St({contract:"pool",entry:"swapKasForTokens",kasInScaled:n,minTokensOut:o,...i},t))}const s=e.tags["swapKasForTokens"]===Cn;if(s&&o===void 0)throw new Error("swapKasForTokens: this pool takes an on-chain minTokensOut");const c=s?{contract:"pool",entry:"swapKasForTokens",kasInScaled:n,minTokensOut:o,user:r}:{contract:"pool",entry:"swapKasForTokens",kasInScaled:n,user:r};return Ft(e,"swapKasForTokens",St(c,t))}a(Vd,"poolSwapKasForTokensSigScript");function Gd(e,t,n,r,o=Kf){if(n<=0n)throw new Error("swapTokensForKas: tokensIn must be positive");if(r<0n)throw new Error("swapTokensForKas: minOutScaled must be non-negative");const i=e.tags["swapTokensForKas"]===On;return Ft(e,"swapTokensForKas",St({contract:"pool",entry:"swapTokensForKas",tokensIn:n,minOutScaled:r,...i?o:{}},t))}a(Gd,"poolSwapTokensForKasSigScript");var pi=Object.freeze({reserveK:0n,restK:0n});var Kf=Object.freeze({reserveK:1n,mergedK:0n});function qd(e,t){return Ft(e,"sweep",St({contract:"pool",entry:"sweep"},t))}a(qd,"poolSweepSigScript");function Wd(e,t,n){if(!Fe(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",zo["bindLp"]);const o=E(cn(n.prefix),cn(n.suffix),Ud(r),cn(t));return Ft(e,"bindLp",o)}a(Wd,"poolBindLpSigScript");function zd(e,t,n,r){return Mf(e,t,"addLiquidity",n,r)}a(zd,"poolAddLiquiditySigScript");function Jd(e,t,n,r){return Mf(e,t,"removeLiquidity",n,r)}a(Jd,"poolRemoveLiquiditySigScript");function Mf(e,t,n,r,o){if(!Fe(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 i=Qt(n,zo[n]);return Ft(e,n,E(Rf(r),Uf(o),Ud(i),cn(t)))}a(Mf,"poolLiquiditySigScript");function Ft(e,t,n){const r=er(n);const o=h(r[r.length-2].payload);if(e.tags[t]!==o)throw new Error(`${e.name}.${t}: artifact tag ${e.tags[t]} != encoded tag ${o}`);return n}a(Ft,"withTemplateTag");function hy(e){return er(e).map(t=>t.payload)}a(hy,"parsePushes");function mi(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}a(mi,"spliceSignature");function na(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)}a(na,"signatureFromP2pkSigScript");var gi=E(Uint8Array.of(65),ta);var B=a(e=>`${e.txid}:${e.index}`,"outpointKey");var Ff=0xffffffffn;var Dt=class extends Error{static{a(this,"ResidualBelowMinimum")}residual;minimum;constructor(t,n,r,o){super(`${t}: residual output "${n}" would be ${r} sompi, below its minimum ${o}`);this.name="ResidualBelowMinimum";this.residual=r;this.minimum=o}};var jf=10000000n;function Vf(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}}a(Vf,"shapeOf");function ky(e){const t=Xd(e);const n=e.inputs.reduce((c,d)=>c+d.amount,0n);const r=e.outputs.reduce((c,d)=>c+d.value,0n);let o=0n;let i=0n;let s;for(let c=0;c<10;c++){let d=n-r-o;if(e.residual===void 0){if(d<0n)throw new Error(`${e.name}: inputs ${n} do not cover outputs ${r} + fee ${o}`);i=0n}else if(e.residual.dropBelow!==void 0&&d<e.residual.dropBelow){i=0n;d=0n}else{if(d<e.residual.minimum)throw new Dt(e.name,e.residual.label,d,e.residual.minimum);i=d}s=Un(Vf(e,i));const l=BigInt(s.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}`);o=u;break}if(i===0n){o=n-r;if(o<l)throw new Error(`${e.name}: residual dropped but the remaining ${o} sompi is below the minimum fee ${l}`);break}if(l===o)break;o=l}if(!s)throw new Error("unreachable");Td(s);if(o>Br(s.minFee))throw new Nr(e.name,o,s.minFee);for(const c of e.outputs)Df(e.name,c.label,c.value,c.binding!==void 0||c.cell!==void 0);if(i>0n&&e.residual)Df(e.name,e.residual.label,i,e.residual.binding!==void 0||e.residual.cell!==void 0);return{fee:o,residualValue:i,masses:s}}a(ky,"estimate");function Xd(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 oi(t,e.name)}a(Xd,"feerateOf");function Df(e,t,n,r){const o=r?ri:Ad;if(n<o)throw new Error(`${e}: output "${t}" of ${n} sompi is below the ${r?"covenant":"P2PK"} output floor ${o} (unminable)`)}a(Df,"assertOutputFloor");function Gf(e){const t=Nn();const{fee:n,residualValue:r,masses:o}=ky(e);const i=e.inputs.map(g=>({previousOutpoint:{transactionId:g.outpoint.txid,index:g.outpoint.index},signatureScript:h(g.sigscript),sequence:xy(e.name,g),sigOpCount:0,computeBudget:g.budget,utxo:{outpoint:{transactionId:g.outpoint.txid,index:g.outpoint.index},amount:g.amount,scriptPublicKey:new t.ScriptPublicKey(0,h(g.spk)),blockDaaScore:g.daaScore,isCoinbase:false}}));const s=e.outputs.map((g,b)=>({index:b,label:g.label,value:g.value,spk:g.spk,binding:g.binding,cell:g.cell}));if(e.residual&&r>0n){s.push({index:s.length,label:e.residual.label,value:r,spk:e.residual.spk,binding:e.residual.binding,cell:e.residual.cell})}const c=s.map(g=>new t.TransactionOutput(g.value,new t.ScriptPublicKey(0,h(g.spk))));const d=new t.Transaction({version:1,inputs:i,outputs:c,lockTime:wy(e),subnetworkId:is,gas:0n,payload:h(e.payload)});if(e.genesisGroups.length>0)d.populateGenesisCovenants(e.genesisGroups.map(g=>new t.GenesisCovenantGroup(g.authorizingInput,[...g.outputs])));const l=d.outputs;s.forEach((g,b)=>{if(g.binding)l[b].covenant=new t.CovenantBinding(g.binding.authorizingInput,new t.Hash(g.binding.covenantId))});d.outputs=l;d.finalize();const u=e.genesisGroups.map(g=>{const b=e.inputs[g.authorizingInput];if(!b)throw new Error(`${e.name}: genesis group names input ${g.authorizingInput}, which does not exist`);const w=tt(b.outpoint.txid,b.outpoint.index,g.outputs.map(x=>({index:x,value:s[x].value,scriptVersion:0,script:s[x].spk})));for(const x of g.outputs){const S=d.outputs[x]?.covenant;if(!S||S.covenantId.toString()!==w||S.authorizingInput!==g.authorizingInput){throw new Error(`${e.name}: genesis output ${x} bound to ${S?.covenantId.toString()} (auth ${S?.authorizingInput}), expected ${w} (auth ${g.authorizingInput})`)}}return{group:g,covenantId:w,outpoint:b.outpoint}});const p=s.map(g=>{const b=d.outputs[g.index].covenant;const w=b?{authorizingInput:b.authorizingInput,covenantId:b.covenantId.toString()}:void 0;const x=g.cell&&g.cell.covenantId===void 0&&w?{...g.cell,covenantId:w.covenantId}:g.cell;return{...g,binding:w,cell:x}});const m=ot(Rn(d)).txid;if(m!==d.id)throw new Error(`${e.name}: KIP-24 txid ${m} != SDK txid ${d.id}`);const y=e.inputs.flatMap((g,b)=>g.signature?[{index:b,slot:g.signature}]:[]);return{plan:e,tx:d,txid:d.id,fee:n,masses:o,outputs:p,residualValue:r,inputsToSign:y,genesis:u,budgets:e.inputs.map(g=>g.budget)}}a(Gf,"assemble");var Hf=499999999999n;function wy(e){const t=e.lockTime??0n;if(typeof t!=="bigint"||t<0n||t>Hf)throw new Error(`${e.name}: lock time ${String(t)} is not a DAA score in 0..${Hf}`);return t}a(wy,"lockTimeOf");function xy(e,t){const n=t.sequence??0n;if(typeof n!=="bigint"||n<0n||n>Ff)throw new Error(`${e}: input "${t.label}" sequence ${String(n)} is outside 0..${Ff}`);return n}a(xy,"sequenceOf");function vy(e,t,n){const r=e.inputsToSign.find(c=>c.index===t);if(!r)throw new Error(`input ${t} has no signature slot`);const o=e.tx.inputs;const i=o[t].signatureScript??"";const s=mi(yi(i),r.slot.offset,n);o[t].signatureScript=h(s);e.tx.inputs=o}a(vy,"applySignature");function Px(e,t){const n=Nn();const r=[];for(const{index:o,slot:i}of e.inputsToSign){const s=t(i,o);if(!s)continue;vy(e,o,na(n.createInputSignature(e.tx,o,s,n.SighashType.All)));r.push(o)}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}a(Px,"signWithKeys");function Cx(e){const t=e.tx.inputs;return e.inputsToSign.every(({index:n,slot:r})=>{const o=yi(t[n].signatureScript??"");return o.subarray(r.offset,r.offset+Ce).some(i=>i!==0)})}a(Cx,"isFullySigned");function qf(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 o=e.budgets.map((s,c)=>c===t?n:s);const i=Un(Vf({...e.plan,inputs:e.plan.inputs.map((s,c)=>({...s,budget:o[c]}))},e.residualValue));return{...e,budgets:o,masses:i}}a(qf,"patchBudget");function Ex(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]}))}}a(Ex,"withBudgets");function Ox(e){return Rn(e.tx)}a(Ox,"plainTx");function Z(e){return yi(Nn().payToAddressScript(e).script)}a(Z,"p2pkScript");function _x(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}a(_x,"versionedSpk");function Wf(e){if(e.length<2)throw new Error("versioned spk too short");return{version:e[0]<<8|e[1],script:e.subarray(2)}}a(Wf,"scriptOfVersionedSpk");function yi(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}a(yi,"hexToBytes");function js(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()}a(js,"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}}}a(zf,"fundingInput");var lt=1000000n;var Jf=30n;var Sy=20n;var Xf=10n;var Qd=5n;var Zd=1000000n;var Gs=1000n;var dn=1000000000n;var Hr=9000000000000n;var Yd=7000000000n;var Et=1200000000n;var ra=10n;function Ay(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}a(Ay,"toKasScaled");function eu(e){K(e,"kasScaled");if(e<0n)throw new ue(`kasScaled must be non-negative, got ${e}`);return ee(e,lt,"kasScaled * 1e6")}a(eu,"fromKasScaled");function Ht(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>Hr){throw new ue(`kasScaled + feeAccruedScaled ${e.kasScaled+e.feeAccruedScaled} exceeds KAS_VALUE_MAX ${Hr}`)}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}`);Vs(e)}a(Ht,"validatePool");function jr(e){Ht(e);return Pe(ee(Pe(e.kasScaled,e.feeAccruedScaled,"kas + accrued"),lt,"(kas + accrued) * 1e6"),e.dust,"value + dust")}a(jr,"poolCellValue");function Vs(e){return e.kasScaled*e.tokenReserve}a(Vs,"invariant");function bi(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};Ht(n);return n}a(bi,"openPool");function hi(e,t=Gs){Ht(e);K(t,"sweepMinScaled");if(e.feeAccruedScaled<t)throw new ue(`accrual ${e.feeAccruedScaled} is below the sweep threshold ${t}`);const n=Pe(eu(e.feeAccruedScaled),e.dust,"accrued * 1e6 + dust");return{pool:{...e,feeAccruedScaled:0n,dust:0n},payout:n}}a(hi,"sweepPool");function tu(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)}`)}a(tu,"poolSweepSplit");function Yf(e,t="floor"){const n=Zt(ee(e,Tt-Jf,"gross * (10000 - 30)"),Tt);const r=ee(e,Xf,"gross * 10");const o=Zt(t==="nearest"?r+Tt/2n:r,Tt);const i=e-n;return{net:n,fee:{total:i,reserve:i-o,platform:o}}}a(Yf,"haircut");function Qf(e,t,n){const r=n==="capped"?ee(e.kasScaled,e.tokenReserve,"kasScaled * tokenReserve"):Vs(e);const o=n==="capped"?ee(t.kasScaled,t.tokenReserve,"kasScaled' * tokenReserve'"):Vs(t);if(o<r)throw new ue(`invariant violated: ${o} < ${r}`)}a(Qf,"assertNonDecreasing");function ki(e,t,n="uncapped",r="floor"){Ht(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>Yd)throw new ue(`KAS leg ${t} (scaled) exceeds KAS_IN_MAX ${Yd}`);const{net:o,fee:i}=Yf(t,r);const s=Pe(e.kasScaled,o,"kas + net");const c=Zt(ee(e.tokenReserve,o,"tok * net"),s);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"),i.platform,"kas + in - platform"),tokenReserve:ct(e.tokenReserve,c,"tok - out"),feeAccruedScaled:Pe(e.feeAccruedScaled,i.platform,"accrued + platform"),dust:e.dust};Ht(d);Qf(e,d,n);return{pool:d,tokenOut:c,fee:i}}a(ki,"swapKasForTokens");function Vr(e,t,n="uncapped",r="floor"){Ht(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 o=Pe(e.tokenReserve,t,"tok + in");const i=n==="capped"?Zt(ee(e.kasScaled,t,"kas * in"),o):e.kasScaled*t/o;const{net:s,fee:c}=Yf(i,r);if(s<=0n)throw new $r(`${t} tokens release no scaled KAS at this depth`);if(s<ra){throw new $r(`net payout ${s} scaled is below the pool's 0.1 KAS minimum (PAYOUT_MIN ${ra})`)}const d={kasScaled:ct(ct(e.kasScaled,s,"kas - net"),c.platform,"kas - net - platform"),tokenReserve:o,feeAccruedScaled:Pe(e.feeAccruedScaled,c.platform,"accrued + platform"),dust:e.dust};Ht(d);Qf(e,d,n);return{pool:d,kasOutScaled:s,fee:c}}a(Vr,"swapTokensForKas");function Ty(e,t){Ht(e);K(t,"lotSize");if(t<=0n)throw new X(`lotSize must be positive, got ${t}`);const n=eu(e.kasScaled);const r=n*t;if(r>bs*e.tokenReserve)throw new ue("spot price is not representable");return r/e.tokenReserve}a(Ty,"spotPricePerLot");var Zf=Ye/10n;var ep=10000000n;var nu=Ye;var qs=Object.freeze({v2:50n});function Vx(e){dt(e);const t=Wa(e.curve);const n=ks(e.curve);const r=ee(e.gradLots,e.lotSize,"GRAD_RESERVE");const o=ee(n,e.gradLots,"last * GRAD_LOTS");if(o===0n)throw new V("the last lot is free (p0 = k = 0): no graduation premium is defined");const i=(t-o)*Tt/o;return{raise:t,lastLotPrice:n,reserveTokens:r,openPricePerLot:{numerator:t,denominator:e.gradLots},openPricePerLotFloor:t/e.gradLots,premiumBps:i,finalLotFee:nd(e.curve)}}a(Vx,"graduationEconomics");function tp(e){dt(e);const t=Py(e);if(t<Zf){throw new V(`final-tranche fee ${t} sompi (the final ${ep} tokens) is below the ${Zf} sompi (0.1 KAS) minimum`)}}a(tp,"checkFactoryParams");function Py(e){dt(e);const t=ep/e.lotSize;return rd(e.curve,t<1n?1n:t>e.curve.curveLots?e.curve.curveLots:t)}a(Py,"finalTrancheFee");function np(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 o=ee(n,t,"q * pct")+r*t/100n;return{treasury:o,creator:e-o}}a(np,"feeSplit");function rp(e,t){const n=qs[t];if(n===void 0)throw new V(`unknown fee model version ${String(t)}`);return np(e,n)}a(rp,"curveFeeSplit");function Gx(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(qs[t]===void 0)throw new V(`unknown fee model version ${String(t)}`);return{curveBps:n/100n,poolBps:Qd}}a(Gx,"creatorEarnings");function op(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}a(op,"canSweep");function ap(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>=nu){return{...np(n,e.treasurySharePct),pooled:0n,escrow:r}}return{treasury:0n,creator:0n,pooled:n,escrow:t}}a(ap,"graduationPayout");var Qe=Zd;var oa=1000000000n;var ru=oa-Qe;var un=ra;var Cy=100n;var Ey=20n;var ip=5n*Ye;var sp=5n*Ye/2n;function aa(e,t,n,r){return r==="capped"?ee(e,t,n):e*t}a(aa,"prod");function cp(e,t){return t==="capped"?dn:Hr-e}a(cp,"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>oa)throw new At(`lpShares ${e.lpShares} exceeds SHARES_MAX ${oa}`);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>Hr){throw new At(`kasScaled + feeAccruedScaled = ${e.kasScaled+e.feeAccruedScaled} exceeds KAS_VALUE_MAX ${Hr}`)}if(e.tokenReserve>Et)throw new At(`tokenReserve ${e.tokenReserve} exceeds TOKEN_RESERVE_MAX ${Et}`);Ht(e)}a(Ee,"validateLpPool");function Qx(e,t,n="capped"){const r={...bi(e,t),lpShares:Qe};Ee(r,n);return r}a(Qx,"openLpPool");function Oy(e,t="capped"){Ee(e,t);return e.lpShares-Qe}a(Oy,"lpIssued");function wi(e,t="capped"){return ru-Oy(e,t)}a(wi,"lpInventory");function Zx(e,t,n="capped"){K(t,"inventoryAmount");const r=wi(e,n);if(t!==r){throw new Ko(`L inventory ${t} != LP_SUPPLY - issued = ${r} (lpShares ${e.lpShares})`)}}a(Zx,"checkLpInventory");function dp(e,t,n){const r=aa(t.kasScaled,e.lpShares,"kas' * S",n);const o=aa(e.kasScaled,t.lpShares,"kas * S'",n);if(r<o)throw new $n(`KAS value per share would decrease: ${r} < ${o}`);const i=ee(t.tokenReserve,e.lpShares,"tok' * S");const s=ee(e.tokenReserve,t.lpShares,"tok * S'");if(i<s)throw new $n(`token value per share would decrease: ${i} < ${s}`)}a(dp,"requireValuePerShareNonDecreasing");function up(e){K(e,"shares");if(e<1n)throw new Uo(`shares must be at least 1, got ${e}`)}a(up,"assertShares");function lp(e,t,n="capped"){Ee(t,n);up(e);const r=Pe(t.lpShares,e,"S + shares");if(r>oa)throw new No(`S + shares = ${r} exceeds SHARES_MAX ${oa}`);const o=Ln(aa(e,t.kasScaled,"shares * kasScaled",n),t.lpShares);const i=Ln(ee(e,t.tokenReserve,"shares * tokenReserve"),t.lpShares);if(n==="uncapped"&&o<=un){throw new Ur(`KAS leg ${o} (scaled) is not above PAYOUT_MIN ${un} (the v1 minimum deposit)`)}const s=Pe(t.kasScaled,o,"kas + dKas");const c=cp(t.feeAccruedScaled,n);if(s>c)throw new Lr(`kasScaled would be ${s}, above ${n==="capped"?"KAS_SCALED_MAX":"KAS_VALUE_MAX - accrual"} ${c}`);const d=Pe(t.tokenReserve,i,"tok + dTok");if(d>Et)throw new Lr(`tokenReserve would be ${d}, above TOKEN_RESERVE_MAX ${Et}`);const l={kasScaled:s,tokenReserve:d,lpShares:r,feeAccruedScaled:t.feeAccruedScaled,dust:t.dust};dp(t,l,n);Ee(l,n);return{dKasScaled:o,dTok:i,pool:l}}a(lp,"lpDeposit");function fp(e,t,n="capped"){Ee(t,n);up(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 o=Zt(aa(e,t.kasScaled,"shares * kasScaled",n),t.lpShares);if(o<un){throw new Ur(`KAS leg ${o} (scaled) is below PAYOUT_MIN ${un} (0.1 KAS)`)}const i=Zt(ee(e,t.tokenReserve,"shares * tokenReserve"),t.lpShares);if(i<1n)throw new Bo(`${e} shares release no whole token at this depth`);const s=ct(t.kasScaled,o,"kas - dKas");if(s<=0n)throw new $n(`KAS reserve would be ${s}`);const c=ct(t.tokenReserve,i,"tok - dTok");if(c<=0n)throw new $n(`token reserve would be ${c}`);const d={kasScaled:s,tokenReserve:c,lpShares:ct(t.lpShares,e,"S - shares"),feeAccruedScaled:t.feeAccruedScaled,dust:t.dust};dp(t,d,n);Ee(d,n);return{dKasScaled:o,dTok:i,pool:d}}a(fp,"lpWithdraw");function ev(e,t,n="capped",r="floor"){Ee(e,n);const o=ki(e,t,n,r);const i={...o.pool,lpShares:e.lpShares};Ee(i,n);return{...o,pool:i}}a(ev,"lpSwapKasForTokens");function tv(e,t,n="capped",r="floor"){Ee(e,n);const o=Vr(e,t,n,r);const i={...o.pool,lpShares:e.lpShares};Ee(i,n);return{...o,pool:i}}a(tv,"lpSwapTokensForKas");function nv(e,t=Gs,n="capped"){Ee(e,n);const r=hi(e,t);return{...r,pool:{...r.pool,lpShares:e.lpShares}}}a(nv,"lpSweepPool");function ou(e,...t){let n=e;for(const r of t)if(r<n)n=r;return n}a(ou,"min");function Ws(e,t="capped"){Ee(e,t);const n=e.lpShares;const r=oa-n;const o=(cp(e.feeAccruedScaled,t)-e.kasScaled)*n/e.kasScaled;const i=(Et-e.tokenReserve)*n/e.tokenReserve;return ou(r,o,i)}a(Ws,"maxDepositShares");function rv(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 ou(r,Ws(t,n))}a(rv,"sharesForKas");function ov(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 ou(r,Ws(t,n))}a(ov,"sharesForTokens");function av(e,t="capped"){Ee(e,t);const n=Ln(un*e.lpShares,e.kasScaled);const r=Ln(e.lpShares,e.tokenReserve);const o=n>r?n:r;return o<1n?1n:o}a(av,"minWithdrawableShares");var _y=2900000000000n;function au(e,t="capped"){Ee(e,t);const n=e.lpShares*e.lpShares;const r=e.kasScaled*e.tokenReserve;const o=Ln(un*Et*n,r*Qe);const i=Ln((t==="capped"?dn:_y)*n,r*Qe);const s=o>i?o:i;return s<1n?1n:s}a(au,"permanentlyWithdrawableShares");function Iy(e,t="capped"){Ee(e,t);const n=Ln(Ey*e.kasScaled,e.lpShares);const r=Ln(au(e,t)*e.kasScaled,e.lpShares);let o=Cy;if(n>o)o=n;if(r>o)o=r;return o}a(Iy,"minDepositKasScaled");function pp(e,t="capped"){const n=Iy(e,t);const r=(n-1n)*e.lpShares/e.kasScaled+1n;const o=au(e,t);return r>o?r:o}a(pp,"minDepositShares");function iv(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 o=e-t;return o>0n&&o<au(n,r)}a(iv,"withdrawalLeavesSmallPosition");function sv(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 o=Zt(aa(e,t.kasScaled,"shares * kasScaled",n),t.lpShares);const i=Zt(ee(e,t.tokenReserve,"shares * tokenReserve"),t.lpShares);return{kasScaled:o,tok:i,withdrawable:e>=1n&&o>=un&&i>=1n}}a(sv,"positionValue");function cv(e,t="capped"){Ee(e,t);return aa(e.kasScaled,e.tokenReserve,"kasScaled * tokenReserve",t)}a(cv,"lpInvariant");function dv(e,t,n,r){for(const[o,i]of[["kRef",e],["sRef",t],["kNow",n],["sNow",r]]){K(i,o);if(i<=0n)throw new X(`${o} must be positive, got ${i}`)}return Math.sqrt(Number(n)/Number(e))*(Number(t)/Number(r))-1}a(dv,"shareValueGrowth");function zs(e,t){const n=rp(t,vr(e));return{kind:"treasury",total:t,treasury:n.treasury,creator:n.creator}}a(zs,"curvePayoutSplit");function Js(e,t){const n=tu(t,vr(e));return{kind:"treasury",total:t,treasury:n.treasury,creator:n.creator}}a(Js,"poolPayoutSplit");function iu(e){return e.treasury}a(iu,"kassealShare");function mp(e,t,n,r){vr(e);const o=ap(t,n,r);return r>=nu?{escrow:o.escrow,pooled:0n,split:{kind:"treasury",total:r,treasury:o.treasury,creator:o.creator}}:{escrow:o.escrow,pooled:o.pooled,split:void 0}}a(mp,"graduationPayoutOf");var Gr=2n**256n-2n**32n-977n;var gp=0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n;var $y=0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n;var Ly=0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n;var fe=a((e,t=Gr)=>(e%t+t)%t,"mod");function hp(e,t,n=Gr){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}a(hp,"pow");var Ry=a(e=>hp(e,Gr-2n),"inv");var su=[0n,1n,0n];function kp([e,t,n]){if(n===0n||t===0n)return su;const r=fe(4n*e*t*t);const o=fe(3n*e*e);const i=fe(o*o-2n*r);return[i,fe(o*(r-i)-8n*t**4n),fe(2n*t*n)]}a(kp,"dbl");function wp(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 o=fe(e[0]*r);const i=fe(t[0]*n);const s=fe(e[1]*t[2]*r);const c=fe(t[1]*e[2]*n);if(o===i)return s===c?kp(e):su;const d=fe(i-o);const l=fe(c-s);const u=fe(d*d);const p=fe(d*u);const m=fe(l*l-p-2n*o*u);return[m,fe(l*(o*u-m)-s*p),fe(d*e[2]*t[2])]}a(wp,"add");function yp(e,t){let n=su;let r=e;while(t>0n){if(t&1n)n=wp(n,r);r=kp(r);t>>=1n}return n}a(yp,"mul");function Uy([e,t,n]){if(n===0n)return void 0;const r=Ry(n);return[fe(e*r*r),fe(t*r*r*r)]}a(Uy,"affine");var Xs=a(e=>BigInt(`0x${h(e)||"0"}`),"big");var bp=a((...e)=>Ts(E(...e)),"sha");function Ny(e,...t){const n=bp(new TextEncoder().encode(e));return bp(n,n,...t)}a(Ny,"taggedHash");function xp(e,t,n){if(e.length!==32||t.length!==32||n.length!==64)return false;const r=Xs(e);if(r>=Gr)return false;const o=fe(r**3n+7n);let i=hp(o,(Gr+1n)/4n);if(fe(i*i)!==o)return false;if(i&1n)i=Gr-i;const s=Xs(n.subarray(0,32));const c=Xs(n.subarray(32));if(s>=Gr||c>=gp)return false;const d=fe(Xs(Ny("BIP0340/challenge",n.subarray(0,32),e,t)),gp);const l=Uy(wp(yp([$y,Ly,1n],c),yp([r,fe(-i),1n],d)));return l!==void 0&&(l[1]&1n)===0n&&l[0]===s}a(xp,"schnorrVerify");var ca=1;var By=2;var Ky=4;var My=128;var Fy=[1,2,4,129,130,132];var Dy=new TextEncoder().encode("TransactionSigningHash");var ia=new Uint8Array(32);var Hy="00".repeat(20);var jt=class extends Error{static{a(this,"SighashError")}constructor(t){super(t);this.name="SighashError"}};var qr=a(e=>ho(e,{outLen:32,key:Dy}),"hash");function ec(e,t,n){let r=BigInt(e);if(r<0n||r>=1n<<BigInt(8*t))throw new jt(`${n} ${String(e)} does not fit in ${t} bytes`);const o=new Uint8Array(t);for(let i=0;i<t;i++){o[i]=Number(r&0xffn);r>>=8n}return o}a(ec,"uint");var Ys=a((e,t)=>ec(e,1,t),"u8");var Qs=a((e,t)=>ec(e,2,t),"u16");var vp=a((e,t)=>ec(e,4,t),"u32");var Wr=a((e,t)=>ec(e,8,t),"u64");var cu=a(e=>E(Wr(e.length,"length"),e),"varBytes");function sa(e,t,n){if(!/^([0-9a-f]{2})*$/i.test(e))throw new jt(`${n} is not hex`);const r=_(e);if(t!==void 0&&r.length!==t)throw new jt(`${n} must be ${t} bytes, got ${r.length}`);return r}a(sa,"hex");function Zs(e){const t=sa(e,void 0,"scriptPublicKey");if(t.length<2)throw new jt("scriptPublicKey shorter than its version");return{version:t[0]|t[1]<<8,script:t.subarray(2)}}a(Zs,"splitScriptPublicKey");var du=a(e=>(e&My)!==0,"anyoneCanPay");var Sp=a(e=>(e&127)===By,"isNone");var Ap=a(e=>(e&127)===Ky,"isSingle");function uu(e,t,n=ca){if(!Fy.includes(n))throw new jt(`invalid sighash type 0x${n.toString(16)}`);const r=Number(e.version);const{inputs:o,outputs:i}=e;const s=o[t];if(!Number.isInteger(t)||s===void 0)throw new jt(`no input ${t} of ${o.length}`);if(!s.utxo)throw new jt(`input ${t} has no UTXO entry`);const c=du(n)?ia:qr(E(...o.map((x,S)=>E(sa(x.transactionId,32,`input ${S} transactionId`),vp(x.index,`input ${S} index`)))));const d=Ap(n)||du(n)||Sp(n)?ia:qr(E(...o.map((x,S)=>Wr(x.sequence,`input ${S} sequence`))));const l=du(n)?ia:qr(E(...o.map((x,S)=>Ys(x.sigOpCount??0,`input ${S} sigOpCount`))));const u=a((x,S)=>{const A=Zs(x.scriptPublicKey);const P=[Wr(x.value,`output ${S} value`),Qs(A.version,`output ${S} spk version`),cu(A.script)];if(r>=1){P.push(Ys(x.covenant?1:0,"hasCovenant"));if(x.covenant)P.push(Qs(x.covenant.authorizingInput,`output ${S} authorizingInput`),sa(x.covenant.covenantId,32,`output ${S} covenantId`))}return E(...P)},"hashOutput");let p;if(Sp(n))p=ia;else if(Ap(n))p=t>=i.length?ia:qr(u(i[t],t));else p=qr(E(...i.map(u)));const m=sa(e.subnetworkId,20,"subnetworkId");const y=sa(e.payload??"",void 0,"payload");const g=e.subnetworkId.toLowerCase()===Hy&&y.length===0?ia:qr(cu(y));const b=Zs(s.utxo.scriptPublicKey);const w=[Qs(r,"version"),c,d];if(r<1)w.push(l);w.push(sa(s.transactionId,32,`input ${t} transactionId`),vp(s.index,`input ${t} index`),Qs(b.version,"spk version"),cu(b.script),Wr(s.utxo.amount,"amount"),Wr(s.sequence,"sequence"));if(r<1)w.push(Ys(s.sigOpCount??0,"sigOpCount"));w.push(p,Wr(e.lockTime,"lockTime"),m,Wr(e.gas,"gas"),g,Ys(n,"hashType"));return h(qr(E(...w)))}a(uu,"sighash");function Tp(e,t,n=ca){return uu(JSON.parse(e),t,n)}a(Tp,"sighashOfTxJson");var Pp=1;var te=class extends Error{static{a(this,"FinalizeError")}constructor(t){super(t);this.name="FinalizeError"}};function Ep(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,o)=>{const i=t[o];if(i===void 0)return;if(!r.utxo)throw new te(`input ${o} has no UTXO entry to carry its covenant id`);r.utxo.covenantId=i});return JSON.stringify(n)}a(Ep,"safeJsonWithCovenantIds");function Op(e,t){const n=ot(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:o,slot:i})=>{if(i.kind==="p2pk")return{index:o,kind:"p2pk",sighashType:1};return{index:o,kind:i.kind==="token-leader"?"p2sh-leader":"p2sh-delegator",sighashType:1,signatureOffset:i.offset}});for(const o of t.produces){if(!Number.isInteger(o.index)||o.index<0||o.index>=e.outputs.length)throw new te(`${e.plan.name}: produces names output ${o.index} of ${e.outputs.length}`)}return{txJson:Ep(e.tx,e.plan.inputs.map(o=>o.covenantId)),txid:e.txid,masses:e.masses,feeSompi:e.fee,feerate:t.feerate,inputsToSign:r,budgets:[...e.budgets],consumes:e.plan.inputs.map(o=>({txid:o.outpoint.txid,index:o.outpoint.index})),produces:t.produces,optimistic:t.optimistic}}a(Op,"toBuiltTx");function tc(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:Cp(n.utxo.scriptPublicKey),hasCovenant:typeof n.utxo.covenantId==="string"&&n.utxo.covenantId.length>0}}),outputs:t.outputs.map(n=>({value:BigInt(n.value),spkLength:Cp(n.scriptPublicKey),hasCovenant:n.covenant!==null&&n.covenant!==void 0})),payloadLength:(t.payload??"").length/2}}a(tc,"shapeOfSafeJson");function Cp(e){if(e.length<4||e.length%2!==0)throw new te(`malformed scriptPublicKey ${e.slice(0,16)}`);return e.length/2-2}a(Cp,"spkScriptLength");function jy(e,t,n,r){if(t.length===66&&t[0]===65)return na(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`)}a(jy,"p2shSignature");function Vy(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}a(Vy,"p2pkKeyOf");function _p(e,t,n={}){const r=Nn();const o=r.Transaction.deserializeFromSafeJSON(e.txJson);let i;try{i=r.Transaction.deserializeFromSafeJSON(t)}catch(x){throw new te(`signed transaction does not parse: ${x.message}`)}const s=ot(Rn(i)).txid;if(s!==e.txid)throw new te(`signed transaction has txid ${s}, built ${e.txid}: the wallet changed outpoints, outputs, bindings or payload`);const c=o.inputs;const d=i.inputs;if(d.length!==c.length||d.length!==e.budgets.length)throw new te("input count changed");const l=new Map(e.inputsToSign.map(x=>[x.index,x]));for(const x of e.inputsToSign)if(x.index<0||x.index>=c.length)throw new te(`inputsToSign names input ${x.index} of ${c.length}`);const u=c.map((x,S)=>{const A=_(x.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]!==Pp)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=jy(A,P,L,S);if(U[64]!==Pp)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=mi(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(x=>x.utxo?.scriptPublicKey);const m=n.signer===void 0?void 0:_(n.signer);for(const x of e.inputsToSign){const S=m??(x.kind==="p2pk"?Vy(p[x.index]):void 0);if(S===void 0)continue;const A=x.kind==="p2pk"?1:x.signatureOffset;const P=u[x.index].subarray(A,A+64);if(!xp(S,_(Tp(e.txJson,x.index)),P)){throw new te(`input ${x.index}: the wallet returned an invalid signature`)}}c.forEach((x,S)=>{x.signatureScript=h(u[S]);x.computeBudget=e.budgets[S]});o.inputs=c;o.finalize();const y=ot(Rn(o)).txid;if(y!==o.id||y!==e.txid)throw new te(`after finalize: txidV1 ${y}, SDK ${o.id}, built ${e.txid}`);const g=JSON.parse(e.txJson).inputs.map(x=>typeof x.utxo?.covenantId==="string"?x.utxo.covenantId:void 0);const b=Ep(o,g);const w=Un(tc(b));if(w.max!==e.masses.max||w.bytes!==e.masses.bytes||w.compute!==e.masses.compute||w.storage!==e.masses.storage){throw new te(`final masses ${JSON.stringify({...w,minFee:String(w.minFee)})} differ from the built masses`)}return{...e,txJson:b,masses:w}}a(_p,"finalizeSigned");async function nc(e,t,n={}){return _p(e,t,n)}a(nc,"finalize");function Ip(e){const t=tc(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,o)=>({...r,computeBudget:e.budgets[o]}))});return{masses:n,feeSompi:n.minFee}}a(Ip,"estimateBuilt");function Hv(e){return e.flatMap((t,n)=>t===void 0?[]:[{index:n,role:t}])}a(Hv,"rolesByIndex");function jv(e,t){const n=Nn();const r=n.Transaction.deserializeFromSafeJSON(e.txJson);const o=r.inputs;for(const i of e.inputsToSign){if(i.kind!=="p2pk")throw new te(`input ${i.index} is a ${i.kind} slot: a service key signs P2PK funding inputs only`);const s=na(n.createInputSignature(r,i.index,t,n.SighashType.All));o[i.index].signatureScript=h(Uint8Array.of(65,...s))}r.inputs=o;return _p(e,r.serializeToSafeJSON())}a(jv,"signBuiltWithKey");function $p(e){const t=tc(e);const n=t.inputs.reduce((o,i)=>o+i.amount,0n);const r=t.outputs.reduce((o,i)=>o+i.value,0n);return{fee:n-r,totalIn:n,totalOut:r,masses:Un(t),budgets:t.inputs.map(o=>o.computeBudget)}}a($p,"feeFromBytes");function Lp(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}a(Lp,"feeOutsideModel");var Gy=100000000n;var qy=10n*Gy;var Rp=1000000n;var Wy=`000020${"22".repeat(32)}ac`;function zy(e,t,n){const r=Qa(t,"the claim planner");const o=e==="curve"?zs(r,n):Js(r,n);return{treasury:o.treasury,creator:o.creator}}a(zy,"claimSplit");function Jy(e){if(e.creatorSpk===void 0)return"no-creator";if(e.creatorSpk===Wy)return"placeholder";if(e.venue==="curve"&&e.soldOut===true)return"sold-out";const t=e.venue==="pool"?e.accruedSompi/Rp*Rp:e.accruedSompi;if(t<qy)return"below-minimum";return null}a(Jy,"claimRefusal");function tS(e){const t=[];const n=[];for(const r of e){const o=Jy(r);if(o!==null){n.push({cell:r,reason:o});continue}const i=zy(r.venue,r.contractSet,r.accruedSompi);t.push({cell:r,payoutSompi:r.accruedSompi,treasurySompi:i.treasury,creatorSompi:i.creator})}return{plans:t,skipped:n,totalCreatorSompi:t.reduce((r,o)=>r+o.creatorSompi,0n)}}a(tS,"planClaims");var Oe=class extends Error{static{a(this,"ClaimMismatch")}constructor(t){super(`the built sweep does not match the claim: ${t}`);this.name="ClaimMismatch"}};function Xy(e,t,n){let r;try{r=JSON.parse(t.txJson).outputs??[]}catch{throw new Oe("its JSON does not parse")}let o;try{o=$p(t.txJson)}catch(b){throw new Oe(`its inputs or outputs do not parse (${b.message})`)}if(o.fee!==t.feeSompi)throw new Oe(`it pays a fee of ${o.fee} sompi, the build said ${t.feeSompi}`);const i=Lp(o,n.feerate);if(i!==void 0)throw new Oe(i);const s=`0000${h(Z(n.funder))}`;const c=a((b,w,x,S)=>{const A=t.produces.filter(L=>L.role===b);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(x!==void 0&&$.scriptPublicKey!==x)throw new Oe(`output ${P} pays ${$.scriptPublicKey}, the ${S} is ${x}`);if(BigInt($.value)!==w)throw new Oe(`output ${P} pays ${String($.value)} sompi, the plan ${w}`)},"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((b,w)=>({o:b,k:w})).filter(({o:b})=>b.covenant!==null&&b.covenant!==void 0);const l=e.cell.covenantId.toLowerCase();for(const{o:b,k:w}of d){const x=String(b.covenant.covenantId??"").toLowerCase();if(x!==l)throw new Oe(`output ${w} is bound to covenant ${x}, 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=a(b=>t.produces.find(w=>w.role===b)?.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 m=new Map(t.produces.map(b=>[b.index,b.role]));let y=0;let g=0n;for(const[b,w]of r.entries()){if(w.value===void 0||w.scriptPublicKey===void 0)throw new Oe(`output ${b} is malformed`);if(w.covenant!==null&&w.covenant!==void 0)continue;const x=m.get(b);if(x==="change"){if(w.scriptPublicKey!==s)throw new Oe(`the change output ${b} does not pay the funder`);y++;continue}if(x!=="treasury"&&x!=="creator")throw new Oe(`output ${b} is neither a payee nor the change: an output pays neither a payee nor the funder`);g+=BigInt(w.value)}if(y>1)throw new Oe(`${y} change outputs pay the funder`);if(g!==e.payoutSompi)throw new Oe(`the payouts total ${g} sompi, the plan ${e.payoutSompi}: an output pays neither a payee nor the funder`)}a(Xy,"checkClaimTx");async function nS(e,t,n){const r=[];for(const o of t){const i=await e({covenantId:o.cell.covenantId,venue:o.cell.venue,funder:n});Xy(o,i,{funder:n});r.push({plan:o,tx:i})}return{claims:r,totalFeeSompi:r.reduce((o,i)=>o+i.tx.feeSompi,0n),totalCreatorSompi:r.reduce((o,i)=>o+i.plan.creatorSompi,0n)}}a(nS,"buildClaims");var ze=class extends Error{static{a(this,"OptimisticConflict")}constructor(t){super(t);this.name="OptimisticConflict"}};function Yy(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}a(Yy,"predictedHeadOf");function Qy(e){return[...e.curve?[e.curve.fromOutpoint]:[],...e.pool?[e.pool.fromOutpoint]:[],...e.cells.consumed,...(e.terminated??[]).map(t=>t.outpoint)]}a(Qy,"consumedByDelta");var Up=class{static{a(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 o=new Set(r.map(B));if(o.size!==r.length)throw new ze(`${t.txid} consumes an outpoint twice`);for(const d of Qy(t.optimistic)){if(!o.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(!o.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=>o.has(B(u)));if(l)throw new ze(`${t.txid} spends ${B(l)}, already spent by our ${d.txid}`)}const i=[...new Set(r.filter(d=>this.#e.has(d.txid)).map(d=>d.txid))];const s=Yy(t.optimistic);const c={txid:t.txid,status:"pending",consumes:r,...s?{predictedHead:s}:{},submittedAt:n,dependsOn:i,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,o]of this.#e)if(o.dependsOn.includes(t))this.#e.set(r,{...o,dependsOn:o.dependsOn.filter(i=>i!==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 i of this.#e.values())if(i.dependsOn.some(s=>r.has(s)))r.add(i.txid);const o=[t,...[...this.#e.keys()].filter(i=>i!==t&&r.has(i))];for(const i of o)this.#e.delete(i);return o}replace(t,n,r){const o=this.#n(t);if(o.status!=="pending")throw new ze(`${t} is not pending`);const i=o.consumes.map(B).sort();const s=n.consumes.map(B).sort();if(i.length!==s.length||i.some((d,l)=>d!==s[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,o);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.#o("curve",t,n)}poolHead(t,n){return this.#o("pool",t,n)}tokenCells(t){const n=this.#r();const r=t.filter(i=>!n.has(B(i.outpoint)));const o=new Set(r.map(i=>B(i.outpoint)));for(const i of this.#e.values()){for(const s of i.delta.cells.produced){const c=B(s.outpoint);if(!n.has(c)&&!o.has(c)){r.push({outpoint:s.outpoint,state:s.state,amount:s.amount});o.add(c)}}}return r}fundingView(t,n,r=0n){const o=this.reserved();const i=t.filter(c=>!o.has(B(c.outpoint)));const s=new Set(i.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(o.has(l)||s.has(l))continue;i.push({outpoint:d.outpoint,amount:d.amount,spk:n.spk,daaScore:r,address:n.address});s.add(l)}return i}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 o=[];for(const i of[...this.#e.values()]){if(i.txid===t||i.status!=="pending"||!this.#e.has(i.txid))continue;if(i.consumes.some(s=>r.has(B(s))))o.push(...this.rollback(i.txid))}return o}#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}#o(t,n,r){let o=r;const i=[];if(o===void 0){for(const s of this.#e.values()){const c=s.delta.genesis?.find(d=>d.kind===t&&d.covenantId===n);if(c){o={outpoint:c.outpoint,state:c.state,amount:c.amount};i.push(s.txid);break}}if(o===void 0)return void 0}for(let s=0;s<=this.#e.size;s++){const c=B(o.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(m=>m.kind===t&&m.covenantId===n&&B(m.outpoint)===c))return void 0}if(d===void 0)return{...o,via:i};i.push(d.row.txid);o=d.cell}throw new ze(`${t} ${n}: the predicted chain loops`)}};var De=class extends Error{static{a(this,"TokenRecipientRefused")}outputIndex;constructor(t,n){super(`token recipients refused${t===void 0?"":` at output ${t}`}: ${n}`);this.name="TokenRecipientRefused";this.outputIndex=t}};var xi=a(e=>e.toLowerCase(),"lower");function lS(e,t,n){const r=new Set(t.covenantOwners.map(xi));const o=typeof t.userXOnly==="string"?_(t.userXOnly):t.userXOnly;if(o.length!==32)throw new De(void 0,"the user key is not a 32-byte x-only key");for(const{index:i,owner:s}of Np(e,t.tokenIds,n)){if(s.schemeByte===Wi){if(!M(s.identifier,o))throw new De(i,`tokens go to key ${h(s.identifier)}, not the connected key`)}else if(s.schemeByte===kt){if(!r.has(h(s.identifier)))throw new De(i,`tokens go to covenant ${h(s.identifier)}, which this transaction does not name`)}else{throw new De(i,`owner scheme 0x${s.schemeByte.toString(16).padStart(2,"0")} is neither the connected key nor a named covenant`)}}}a(lS,"checkTokenRecipients");function fS(e,t,n,r){const o=new Set(n.map(i=>`${i.scheme}:${xi(i.identifier)}`));for(const{index:i,owner:s}of Np(e,t,r)){const c=`${s.schemeByte}:${h(s.identifier)}`;if(!o.has(c)){throw new De(i,`tokens go to owner ${h(s.identifier)} under scheme 0x${s.schemeByte.toString(16).padStart(2,"0")}, which this transaction does not name`)}}}a(fS,"checkTokenOwners");function Np(e,t,n){const r=new Set(t.map(xi));let o;try{const c=JSON.parse(e.txJson);if(!Array.isArray(c.outputs))throw new Error("no outputs");o=c.outputs}catch{throw new De(void 0,"the transaction does not parse")}const i=new Map;for(const c of e.optimistic.cells.produced){if(c.outpoint.txid!==e.txid)throw new De(c.outpoint.index,"a produced cell names another transaction");if(i.has(c.outpoint.index))throw new De(c.outpoint.index,"two cells claim the same output");i.set(c.outpoint.index,c)}o.forEach((c,d)=>{const l=typeof c.covenant?.covenantId==="string"&&r.has(xi(c.covenant.covenantId));if(l&&!i.has(d))throw new De(d,"a token output that no produced cell explains")});const s=[];for(const[c,d]of i){const l=o[c];if(l===void 0)throw new De(c,"a produced cell claims an output the transaction does not have");const u=l.covenant?.covenantId;if(typeof u!=="string"||!r.has(xi(u)))throw new De(c,"a produced cell claims an output that is not bound to the token");let p;try{p=Xo(n,d.state)}catch(y){throw new De(c,`the claimed state does not encode: ${y instanceof Error?y.message:String(y)}`)}const m=typeof l.scriptPublicKey==="string"&&/^0000([0-9a-f]{2})+$/i.test(l.scriptPublicKey)?_(l.scriptPublicKey.slice(4)):null;if(m===null||!M(m,se(p)))throw new De(c,"the output script is not the claimed token state");s.push({index:c,owner:d.state.owner})}return s}a(Np,"claimedTokenOutputs");var zr=class extends Error{static{a(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 Zy="00".repeat(32);function rc(e,t,n){if(e.covenantId!==t||!Mt(e.state,n))return false;try{return Qi(e.state)===rr&&h(Zi(e.state))===Zy}catch{return false}}a(rc,"isCovenantVaultCell");function Bp(e){const t=new Set;const n=[];for(const r of e){const o=B(r.outpoint);if(t.has(o))continue;t.add(o);n.push(r)}return n}a(Bp,"distinct");function Kp(e,t,n,r,o=false){const i=Bp(e).filter(d=>rc(d,t,n));const s=i.find(d=>d.state.amount===r.supply);if(s===void 0)throw new zr("supply",r.supply,i.length);const c=i.find(d=>d!==s&&d.state.amount===r.reserve);if(c===void 0&&o)throw new zr("reserve",r.reserve,i.length);return{supply:s,reserve:c}}a(Kp,"selectCurveCells");function Mp(e,t,n,r){const o=Bp(e).filter(s=>rc(s,t,n));const i=o.find(s=>s.state.amount===r);if(i===void 0)throw new zr("pool-reserve",r,o.length);return i}a(Mp,"selectPoolReserve");var Je=ke/10n;var Fp=ri;var da=2010000n;var or=class extends Error{static{a(this,"FloorViolation")}rule;outputIndex;constructor(t,n,r){super(r);this.name="FloorViolation";this.rule=t;this.outputIndex=n}};function eb(e,t){for(const n of t){const r=`${e}: output ${n.index} "${n.label}"`;if(n.covenantId===void 0){if(n.value<da)throw new or("p2pk-output",n.index,`${r} of ${n.value} sompi is below the P2PK floor ${da}`);continue}if(n.value<Fp)throw new or("covenant-output",n.index,`${r} of ${n.value} sompi is below the covenant output floor ${Fp} (unminable)`);if(n.token===void 0)continue;try{Ua(n.token.state,_(n.covenantId),r)}catch(o){if(o instanceof Q)throw new or("self-owned",n.index,o.message);throw o}if(n.token.ownerScheme!==kt&&n.value<Je){throw new or("user-cell",n.index,`${r} is a user cell of ${n.value} sompi, below the ${Je} sompi minimum`)}}}a(eb,"assertOutputFloors");function Dp(e){eb(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}}))}a(Dp,"assertFloors");var Jr=class extends Error{static{a(this,"InsufficientFundsError")}needed;available;fragmented;total;constructor(t,n,r=false,o){super(r?`insufficient funds in at most the allowed inputs: need ${t} sompi, ${n} available in the largest UTXOs (${o} 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=o}};var tb=5000000n;var nb=ke;var rb=3;var ob=8;var ab=60;var ib=130000n;var Si=class extends Error{static{a(this,"PinnedFundingGone")}outpoints;constructor(t){super(`pinned funding no longer available: ${t.join(", ")}`);this.name="PinnedFundingGone";this.outpoints=t}};var sb=a((e,t)=>e.amount<t.amount?1:e.amount>t.amount?-1:0,"byAmountDesc");var vi=a(e=>e.reduce((t,n)=>t+n.amount,0n),"sum");function ar(e,t,n={}){if(t<0n)throw new Error("needed must be non-negative");const r=n.feeAllowance??tb;const o=n.maxInputs??rb;if(!Number.isInteger(o)||o<1)throw new Error("maxInputs must be a positive integer");const i=n.preferredChange??nb;const s=n.minChange??jf;const c=n.reserved??new Set;const d=t+r;const l=Math.max(o,n.escalateTo??ob);const u=Math.max(l,n.escalateMax??ab);const p=[...new Set([o,l,u])];const m=a(A=>d+BigInt(Math.max(0,A-o))*ib,"need");const y=new Set;const g=e.filter(A=>{const P=B(A.outpoint);if(c.has(P)||y.has(P))return false;y.add(P);return A.amount>0n}).sort(sb);const b=n.required??new Set;if(b.size>0){const A=g.filter(L=>b.has(B(L.outpoint)));const P=[...b].filter(L=>!A.some(U=>B(U.outpoint)===L));if(P.length>0)throw new Si(P);if(A.length>u)throw new Error(`${A.length} required funding inputs exceed ${u}`);const $=g.filter(L=>!b.has(B(L.outpoint)));for(const L of p.filter(U=>U>=A.length)){for(const U of[i,s,0n]){const z=[...A];for(const R of[void 0,...$]){if(R!==void 0){if(z.length>=L)break;z.push(R)}if(vi(z)>=m(z.length)+U)return z}}}throw new Jr(d,vi([...A,...$].slice(0,u)))}const w=g.filter(A=>A.amount>=d+i);if(w.length>0)return[w[w.length-1]];for(const A of p){for(const P of[i,s,0n]){const $=[];for(const L of g){if($.length>=A)break;$.push(L);if(vi($)>=m($.length)+P)return $}}}const x=vi(g);const S=vi(g.slice(0,u));throw x>=d?new Jr(d,S,true,x):new Jr(d,S)}a(ar,"selectFunding");function CS(e){return new Set(e.map(B))}a(CS,"reserve");function Hp(e,t,n,r){return{outpoint:e,amount:t,spk:n,daaScore:0n,address:r}}a(Hp,"predictedFunding");function ir(e,t=an,n=We,r){const o=ci(n,r);const i=Ms(e,o);return{curve:i,pool:o,token:Fs(),networkId:t}}a(ir,"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}a(Ne,"contextSet");function Ze(e){const t=Ne(e);return t==="v1"&&Kn(e.pool)?Us:Pd(t)}a(Ze,"budgetsOf");function _e(e){Ne(e);return"uncapped"}a(_e,"poolLimitsOf");function ua(e){return jp(e.pool)}a(ua,"poolRoundingOf");var cb=Object.freeze(["v1-2026-10-18-final","v1-kasseal-mainnet-tn10","v1-kasseal-mainnet","v1-kasseal-mainnet-2-tn10","v1-kasseal-mainnet-2"]);function jp(e){return e.version==="v1"&&(e.revision===void 0||cb.includes(e.revision))?"nearest":"floor"}a(jp,"poolTemplateRounding");function la(e){const t=Ne(e);if(t==="v1")return Kn(e.pool)?Us:ai;throw new Error(`a ${t} context has no bindLp / addLiquidity / removeLiquidity budgets`)}a(la,"budgetsV3Of");function fa(e,t,n,r,o){return{label:t,outpoint:e.outpoint,amount:e.value,spk:se(e.program),daaScore:e.daaScore,covenantId:e.covenantId,budget:n,sigscript:r,signature:o,cellKind:e.kind}}a(fa,"cellInput");function ln(e,t,n,r){const o=Bd(e.program,t);return fa(e,n,r,o.bytes,void 0)}a(ln,"tokenLeaderCovenantInput");function Ot(e,t,n,r){const o=Nd(e.program,t);return fa(e,n,r,o.bytes,Vp(o,"token-leader",e))}a(Ot,"tokenLeaderSignedInput");function fn(e,t,n=ve.tokenDelegatorCovenant){return fa(e,t,n,Md(e.program).bytes,void 0)}a(fn,"tokenDelegatorCovenantInput");function Ai(e,t,n=ve.tokenDelegatorSigned){const r=Fd(e.program);return fa(e,t,n,r.bytes,Vp(r,"token-delegator",e))}a(Ai,"tokenDelegatorSignedInput");function Vp(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}}a(Vp,"slotOf");function Vt(e,t,n,r){return fa(e,t,n,r,void 0)}a(Vt,"curveInput");function Gt(e,t,n,r){return fa(e,t,n,r,void 0)}a(Gt,"poolInput");function ce(e,t="funding (P2PK)"){return zf(e,t,ve.p2pk,gi)}a(ce,"kasInput");function ne(e,t,n,r,o,i){if(o!==void 0)Ua(n,_(o),t);if(n.owner.schemeByte===kt&&o!==void 0&&h(n.owner.identifier)===o)throw new Error(`${t}: self-owned token output`);const s=Xo(e.token,n);const c={predicted:{kind:"token",state:n},program:s,covenantId:o};return{label:t,value:r,spk:se(s),binding:o!==void 0&&i!==void 0?{authorizingInput:i,covenantId:o}:void 0,cell:c}}a(ne,"tokenOutput");function pn(e,t,n,r,o,i){const s=Yo(e.curve,n);const c={predicted:{kind:"curve",state:n},program:s,covenantId:o};return{label:t,value:r,spk:se(s),binding:o!==void 0&&i!==void 0?{authorizingInput:i,covenantId:o}:void 0,cell:c}}a(pn,"curveOutput");function ft(e,t,n,r,o,i){const s=di(e.pool,n);const c={predicted:{kind:"pool",state:n},program:s,covenantId:o};return{label:t,value:r,spk:se(s),binding:o!==void 0&&i!==void 0?{authorizingInput:i,covenantId:o}:void 0,cell:c}}a(ft,"poolOutput");function Mn(e,t,n){return{label:e,value:t,spk:n,binding:void 0,cell:void 0}}a(Mn,"plainOutput");function Ie(e,t="change",n=10000000n){return{label:t,spk:e,binding:void 0,cell:void 0,minimum:0n,dropBelow:n}}a(Ie,"changeTo");function Xr(e,t="payout",n=10000000n){return{label:t,spk:e,binding:void 0,cell:void 0,minimum:n,dropBelow:void 0}}a(Xr,"payoutTo");function lu(e,t,n,r,o,i){Ua(n,_(r),t);const s=Xo(e.token,n);return{label:t,spk:se(s),binding:{authorizingInput:o,covenantId:r},cell:{predicted:{kind:"token",state:n},program:s,covenantId:r},minimum:i,dropBelow:void 0}}a(lu,"tokenResidual");var Yr=class extends Error{static{a(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 Fn=class extends Error{static{a(this,"ShapeNotSupported")}constructor(t){super(t);this.name="ShapeNotSupported"}};var Qr=class extends Error{static{a(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 Dn=class extends Error{static{a(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 Zr=class extends Error{static{a(this,"UnknownCurveTemplate")}constructor(t="curve program matches no known curve template"){super(t);this.name="UnknownCurveTemplate"}};var eo=class extends Error{static{a(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 sr=class extends Error{static{a(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 to=class extends Error{static{a(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 no=class extends Error{static{a(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{a(this,"NetBoundExceeded")}kind;actual;bound;feeSompi;constructor(t,n,r,o,i){super(n==="all-in"?`${t}: ${r} sompi would leave the wallet (network fee ${i}), above the ${o} shown as the most to pay`:`${t}: ${r} sompi would reach the wallet net (network fee ${i}), below the ${o} shown as the least to receive`);this.name="NetBoundExceeded";this.kind=n;this.actual=r;this.bound=o;this.feeSompi=i}};var ro=class extends Error{static{a(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 oo=class extends Error{static{a(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 mn=2010000n;var t2=ke/10n;function dr(e,t,n=false){if(n)return;if(t!=="bound")throw new Yr(e,t)}a(dr,"requireProofBound");function pt(e,t,n){const r=h(t);if(n!==void 0&&r!==n.toLowerCase())throw new Qr(e,n.toLowerCase(),r);return r}a(pt,"requireLineage");var io=a(e=>(e??[]).reduce((t,n)=>t+n.amount,0n),"fundingSum");function pa(e,t,n,r){if(r!==void 0&&t>r)throw new cr(e,"all-in",t,r,n)}a(pa,"assertAllIn");function ma(e,t,n,r){if(r!==void 0&&t<r)throw new cr(e,"net-out",t,r,n)}a(ma,"assertNetOut");function Se(e){return Op(e.built,{feerate:Xd(e.built.plan),produces:e.roles.map((t,n)=>({index:n,role:t})),optimistic:e.optimistic})}a(Se,"toBuilt");function pe(e){return e.feerate===void 0?{feeMargin:e.feeMargin??0n}:{feeMargin:e.feeMargin??0n,feerate:e.feerate}}a(pe,"feeFields");function me(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 o=Gf(e);Dp(o);const i=[...t];if(o.outputs.length>e.outputs.length){if(n===void 0)throw new Error(`${e.name}: residual output without a role`);i.push(n)}return{built:o,roles:i,optimistic:ub(o,i,r)}}a(me,"finish");var db=new Set(["change","payout"]);function ub(e,t,n={}){const r=a(P=>({txid:e.txid,index:P}),"at");const o=[];const i=[];const s=[];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")o.push($);else if(P.covenantId===void 0)i.push($);else if(P.cellKind==="token")o.push($);else if(P.cellKind==="curve")s.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=a(()=>Mr(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(db.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??[])i.push(r(P));if(s.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 m=[];const y=[];let g;let b;const[w,x,S,A]=[s[0],l[0],c[0],u[0]];if(w&&x){if(w.covenantId!==x.covenantId)throw new Error(`${e.plan.name}: curve continuation of another lineage`);g={covenantId:w.covenantId,fromOutpoint:w.outpoint,toOutpoint:x.outpoint,state:x.state,amount:x.amount}}else if(x)m.push({kind:"curve",covenantId:x.covenantId,outpoint:x.outpoint,state:x.state,amount:x.amount});else if(w)y.push({kind:"curve",covenantId:w.covenantId,outpoint:w.outpoint});if(S&&A){if(S.covenantId!==A.covenantId)throw new Error(`${e.plan.name}: pool continuation of another lineage`);b={poolId:S.covenantId,fromOutpoint:S.outpoint,toOutpoint:A.outpoint,state:A.state,amount:A.amount}}else if(A)m.push({kind:"pool",covenantId:A.covenantId,outpoint:A.outpoint,state:A.state,amount:A.amount});else if(S)y.push({kind:"pool",covenantId:S.covenantId,outpoint:S.outpoint});return{...g?{curve:g}:{},...b?{pool:b}:{},cells:{consumed:o,produced:d},funding:p?{reserved:i,change:p}:{reserved:i},...m.length>0?{genesis:m}:{},...y.length>0?{terminated:y}:{}}}a(ub,"deltaOf");function ur(e,t){if(t.state.phase!==wt)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)}a(ur,"requireActiveCurve");function oc(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 o=(e.curve.params.curveLots-t.state.lotsSold)*e.curve.params.lot;if(n.state.amount!==o)throw new Error(`supply cell holds ${n.state.amount}, expected ${o} (is this the reserve cell?)`);return r}a(oc,"requireSupplyCell");function ga(e,t){const n=e.curve.params.tokenCellKas;for(const{cell:r,name:o}of t){if(r.value<n)throw new eo(`${o} cell ${r.outpoint.txid}:${r.outpoint.index}`,r.value,n)}return BigInt(t.length)*n}a(ga,"curveOwnedCellValue");function gn(e,t){const n=Ne(e);const r=xo(t.state);if(r!==wo(n))throw new Error(`a ${r} pool cell in a ${n} context`);const{stateOffset:o,stateLength:i,templateHash:s}=e.pool;if(t.program.length!==e.pool.bytecode.length||Rt(t.program,o,i)!==s){throw new Error(`the pool cell's program is not this context's ${n} pool template`)}if(Fe(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}a(gn,"requirePoolOfContext");function ya(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(o=>o!==0))throw new Error("pool token cell has a borrow scheme or guard set; it is not the pool reserve");return n}a(ya,"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`)}a(lr,"requireUserCell");function Ke(e,t,n,r,o){const i=pl({inputs:t.map((s,c)=>({state:s.state,index:c,kasValue:s.value})),outputs:n.map((s,c)=>o?.[c]===void 0?{state:s,index:c}:{state:s,index:c,kasValue:o[c]}),witness:r,covenantId:_(e)});if(i.selfOwnedOutputs.length>0)throw new Error(`token output ${i.selfOwnedOutputs[0]} would be self-owned (anyone-can-spend)`)}a(Ke,"checkTokenFamily");function fu(e,t,n){if(e===void 0)throw new Error(`the template names no ${t} script`);if(n==="p2pk"?!Jt(e):!Ks(e))throw new Error(`the ${t} script is not a version-0 ${n==="p2pk"?"P2PK":"P2SH"} script`);return Wf(e).script}a(fu,"payeeScript");function Gp(e){return e!==void 0&&e.length===37?"p2sh":"p2pk"}a(Gp,"treasuryForm");function Ti(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,fu(t.treasurySpk,"treasury",Gp(t.treasurySpk)))],roles:["treasury"]}}return{outputs:[Mn(n.treasury,e.treasury,fu(t.treasurySpk,"treasury",Gp(t.treasurySpk))),Mn(n.creator,e.creator,fu(t.creatorSpk,"creator","p2pk"))],roles:["treasury","creator"]}}a(Ti,"payoutOutputs");var Hn=Uint8Array.of(0);var qt=(()=>{const e=new Uint8Array(66);e[0]=0;return e})();var ao=class extends Error{static{a(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 lb=a(e=>e.length===35&&e[0]===170&&e[1]===32&&e[34]===135,"isP2shScript");function He(e,t,n){const r=new Set(t.map(o=>o.toLowerCase()));for(const o of e.inputs){const i=`${o.outpoint.txid}:${o.outpoint.index}`;if(o.cellKind===void 0){if(o.covenantId!==void 0)throw new ao(e.name,i,`is a funding input bound to covenant ${o.covenantId}`);const s=n!==void 0&&n.outpoint.txid===o.outpoint.txid&&n.outpoint.index===o.outpoint.index&&h(n.spk)===h(o.spk);if(lb(o.spk)&&!s)throw new ao(e.name,i,"is a funding input paying a P2SH script");continue}if(o.covenantId===void 0||!r.has(o.covenantId.toLowerCase()))throw new ao(e.name,i,`carries lineage ${String(o.covenantId)}, not one of the transaction's own`)}}a(He,"requireOwnLineages");function fb(e,t){const n=rt(e);return xt({amount:t,owner:n.owner,ownerScheme:n.ownerScheme,borrowScheme:rr,borrowGuard:Ve,extensionCommitment:n.extensionCommitment})}a(fb,"carvedState");function pu(e,t){return xt({...rt(e),amount:t})}a(pu,"withAmount");var ac=250000000n;function Pi(e){const t=e/2n;const n=t<ac?ac:t;const r=e-n<ac?ac:e-n;const o=n+r-e;return{carveValue:n,restValue:r,topUp:o>0n?o:0n}}a(Pi,"splitValues");function ic(e){const{ctx:t,cell:n,carve:r,funding:o}=e;const i=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(o.length===0)throw new Error("split needs a funding input for the fee");const s=Pi(n.value);const c=e.carveValue??s.carveValue;const d=e.restValue??(e.carveValue===void 0?s.restValue:n.value-c);const l=pu(n.state,n.state.amount-r);const u=fb(n.state,r);Ke(i,[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)),...o.map(m=>ce(m,"owner KAS (fee)"))],outputs:[ne(t,"rest (owner kept)",l,d,i,0),ne(t,"carved cell",u,c,i,0)],residual:Ie(Z(e.changeAddress)),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};return{...me(p,["token-user","token-user"],"change"),restNext:l,carvedNext:u}}a(ic,"buildSplit");function mu(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 o=n[0].covenantId;const i=h(r.xOnlyPubkey);const s=new Set;for(const g of n){if(g.covenantId!==o)throw new Error("cells are of different lineages");if(g.state.owner.schemeByte!==0||h(g.state.owner.identifier)!==i)throw new Error("every cell must be p2pk-owned by the same key");const b=`${g.outpoint.txid}:${g.outpoint.index}`;if(s.has(b))throw new Error(`cell ${b} appears twice`);s.add(b)}const c=n.reduce((g,b)=>g+b.state.amount,0n);const d=pu(n[0].state,c);Ke(o,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((g,b)=>Ai(g,`KCC20 delegator ${b+1} (sig)`)),...l.map(g=>ce(g,"owner KAS (fee)"))];const p=`consolidate ${n.length}->1`;const m=l.length===0?{name:p,inputs:u,outputs:[],residual:lu(t,"consolidated cell",d,o,0,Je),genesisGroups:[],payload:new Uint8Array(0),...pe(e)}:{name:p,inputs:u,outputs:[ne(t,"consolidated cell",d,n.reduce((g,b)=>g+b.value,0n),o,0)],residual:Ie(Z(r.address)),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};const y=l.length===0?me(m,[],"token-user"):me(m,["token-user"],"change");return{...y,next:d}}a(mu,"buildConsolidate");var pr=class extends Error{static{a(this,"InsufficientTokensError")}needed;available;constructor(t,n){super(`insufficient tokens: need ${t}, ${n} available`);this.name="InsufficientTokensError";this.needed=t;this.available=n}};var Ci=a((e,t)=>e.amount<t.amount?1:e.amount>t.amount?-1:0,"byAmountDesc");var sc=a(e=>`step${e}:merged`,"mergedId");var cc=a(e=>`step${e}:rest`,"restId");var fr=a(e=>`step${e}:carved`,"carvedId");function qp(e,t,n=Tn){const r=[...e].sort(Ci);for(let o=2;o<=Math.min(n,r.length);o++){const i=[];const s=a((c,d)=>{if(i.length===o)return d===0n;for(let l=c;l<r.length;l++){const u=r[l];if(u.amount>d)continue;i.push(u);if(s(l+1,d-u.amount))return true;i.pop()}return false},"rec");if(s(0,t))return i}return void 0}a(qp,"exactSubset");function yu(e,t,n=Tn,r=0){return Wp([...e].sort(Ci),t,n,r)}a(yu,"planMerges");function Wp(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 o=[...e];const i=[];for(;;){const s=o[0];if(t!==void 0&&s.amount>=t)return{steps:i,largest:s};if(o.length===1){if(t!==void 0)throw new pr(t,s.amount);return{steps:i,largest:s}}const c=[s];let d=s.amount;for(let p=1;p<o.length&&c.length<n;p++){if(t!==void 0&&d>=t)break;c.push(o[p]);d+=o[p].amount}const l=r+i.length;const u={id:sc(l),amount:d};i.push({kind:"merge",inputs:c.map(p=>p.id),output:u.id,amount:d});o.splice(0,c.length);o.unshift(u)}}a(Wp,"planMergesFrom");function bu(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 o=e.reduce((p,m)=>p+m.amount,0n);if(o<t)throw new pr(t,o);const i=e.find(p=>p.amount===t);if(i)return{target:t,kind:"exact",steps:[],result:i.id};const s=e.filter(p=>p.amount>t).sort(Ci);if(s.length>0){const p=s[s.length-1];return{target:t,kind:"split",steps:[{kind:"split",input:p.id,carve:t,rest:cc(0),carved:fr(0)}],result:fr(0)}}const c=qp(e,t,n);if(c)return{target:t,kind:"merge",steps:[{kind:"merge",inputs:c.map(p=>p.id),output:sc(0),amount:t}],result:sc(0)};const{steps:d,largest:l}=yu(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:cc(u),carved:fr(u)}],result:fr(u)}}a(bu,"planExactCell");function pb(e,t,n,r=Tn){if(n.size===0)return bu(e,t,r);if(t<=0n)throw new Error("target must be positive");const o=e.reduce((m,y)=>m+y.amount,0n);if(o<t)throw new pr(t,o);const i=e.filter(m=>n.has(m.id)).sort(Ci);if(i.length===0)throw new Error("none of the cells the plan must spend is listed");const s=i.find(m=>m.amount===t);if(s)return{target:t,kind:"exact",steps:[],result:s.id};const c=i.filter(m=>m.amount>t);if(c.length>0){const m=c[c.length-1];return{target:t,kind:"split",steps:[{kind:"split",input:m.id,carve:t,rest:cc(0),carved:fr(0)}],result:fr(0)}}const d=i[0];const{steps:l,largest:u}=Wp([d,...e.filter(m=>m.id!==d.id).sort(Ci)],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:cc(p),carved:fr(p)}],result:fr(p)}}a(pb,"planExactCellSpending");function E2(e,t){const n=new Map(e.map(o=>[o.id,o.amount]));const r=a(o=>{const i=n.get(o);if(i===void 0)throw new Error(`plan spends ${o}, which is not live`);n.delete(o);return i},"take");for(const o of t){if(o.kind==="merge"){const i=o.inputs.reduce((s,c)=>s+r(c),0n);if(i!==o.amount)throw new Error(`merge ${o.output}: inputs hold ${i}, step says ${o.amount}`);n.set(o.output,i)}else{const i=r(o.input);if(o.carve<=0n||o.carve>=i)throw new Error(`split of ${o.input}: carve ${o.carve} of ${i}`);n.set(o.rest,i-o.carve);n.set(o.carved,o.carve)}}return n}a(E2,"applyPlan");var zp=a(e=>e.map(t=>({id:B(t.outpoint),amount:t.state.amount})),"planCellsOf");function gu(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}}a(gu,"producedCell");function Jp(e,t){const{ctx:n,owner:r}=e;const o=new Map(e.cells.map(p=>[B(p.outpoint),p]));let i=[...e.funding];const s=Z(r.address);const c=a(p=>{const m=o.get(p);if(!m)throw new Error(`plan step needs cell ${p}, which is not available`);o.delete(p);return m},"take");const d=a((p,m)=>{const y=new Set(m.map(b=>B(b.outpoint)));i=i.filter(b=>!y.has(B(b.outpoint)));const g=p.optimistic.funding.change;if(g)i.push({outpoint:g.outpoint,amount:g.amount,spk:s,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 m=p.inputs.map(c);let y;try{y=mu({ctx:n,cells:m,owner:r,...l})}catch(g){if(!(g instanceof Dt))throw g;const b=ar(i,0n,e.fundingOptions);y=mu({ctx:n,cells:m,owner:r,funding:b,...l});d(y,b)}u.push(y);o.set(p.output,gu(y,0))}else{const m=c(p.input);const y=ar(i,Pi(m.value).topUp,e.fundingOptions);const g=ic({ctx:n,cell:m,carve:p.carve,changeAddress:r.address,funding:y,...l});d(g,y);u.push(g);o.set(p.rest,gu(g,0));o.set(p.carved,gu(g,1))}}return{transactions:u,cells:o}}a(Jp,"buildSteps");function Ei(e){const t=new Set((e.mustSpend??[]).map(B));const n=pb(zp(e.cells),e.target,t);const{transactions:r,cells:o}=Jp(e,n.steps);const i=o.get(n.result);if(!i||i.state.amount!==e.target)throw new Error(`chain did not produce a cell of ${e.target}`);return{plan:n,transactions:r,totalFee:r.reduce((s,c)=>s+c.built.fee,0n),cell:i}}a(Ei,"buildExactCellChain");function Xp(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=qp(t,r);n=d?[{kind:"merge",inputs:d.map(l=>l.id),output:sc(0),amount:r}]:yu(t,r).steps}else{n=yu(t,void 0).steps}const{transactions:o,cells:i}=Jp(e,n);const s=n[n.length-1];if(s.kind!=="merge")throw new Error("unreachable: a merge chain ends with a merge");return{plan:{steps:n},transactions:o,totalFee:o.reduce((c,d)=>c+d.built.fee,0n),cell:Mr(i.get(s.output),`the merged cell ${s.output}`)}}a(Xp,"buildMergeChain");function bn(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}}a(bn,"poolMathState");var yn=class extends Error{static{a(this,"UnsafeScript")}constructor(t){super(t);this.name="UnsafeScript"}};function D2(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))}a(D2,"keyLockedRedeem");function Yp(e){return e.length===34&&e[0]===32&&e[33]===172?e.subarray(1,33):void 0}a(Yp,"keyOfLockedRedeem");var mb=a((e,t)=>t.length>0&&e.length>=t.length&&h(e.subarray(e.length-t.length))===h(t),"endsWith");function Qp(e,t){if(e.length===0)throw new yn("an empty script can be satisfied by anyone");if(Yp(e)!==void 0)return;if(t.allowAnyScript!==true)throw new yn("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(mb(e,r))throw new yn("the script is a pool or token program: tokens delivered to it would be locked for good")}}a(Qp,"assertSafeRedeem");function Zp(e){const{ctx:t,pool:n,poolToken:r,buyer:o,kasInScaled:i,funding:s}=e;gn(t,n);pt(`pool ${n.covenantId}`,n.state.tokenCovId,e.tokenId);const c=ya(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<=0n)throw new Error("kasInScaled must be positive");if(s.length===0)throw new Error("swap needs at least one funding input");const l=ki(bn(n),i,_e(t),ua(t));if(l.tokenOut<=0n)throw new Error(`a leg of ${i} 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 m=Ue(l.pool.tokenReserve,n.covenantId);const y=e.deliverToScript;if(y!==void 0&&!Kn(t.pool))throw new Error("swap-and-deposit needs a composable pool (Kasseal-mainnet-2)");if(y!==void 0){Qp(y.redeem,{...y.allowAnyScript===void 0?{}:{allowAnyScript:y.allowAnyScript},programs:[n.program,r.program]});if(y.scriptFunding<da)throw new Error(`script funding ${y.scriptFunding} is below the ${da} sompi output minimum`)}const g=y===void 0?Bn(l.tokenOut,o.xOnlyPubkey):Id(l.tokenOut,Qo(y.redeem));Ke(c,[r],[m,g],Hn);const b=jr(l.pool);if(b!==n.value+i*le)throw new Error("pool value arithmetic mismatch");const w={name:`swapKasForTokens(${i})`,inputs:[Gt(n,`POOL swapKasForTokens(${i}, ${u}, ${Kn(t.pool)?`${pi.reserveK}, ${pi.restK}`:"user"})`,Ze(t).poolSwapKasForTokens,Vd(t.pool,n.program,i,tr(g,t.token.templateHash),u)),ln(r,[m,g],"KCC20 pool cell (T leader, witness 00)",ve.tokenLeaderCovenant2Out),...s.map(A=>ce(A,"buyer KAS"))],outputs:[ft(t,"POOL'",p,b,n.covenantId,0),ne(t,"rest (owner P)",m,r.value,c,1),ne(t,y===void 0?"user cell":"deposit cell (owned by the script)",g,d,c,1),...y===void 0?[]:[Mn("script funding (P2SH)",y.scriptFunding,se(y.redeem))]],residual:Ie(Z(o.address),"change (buyer)"),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};He(w,[n.covenantId,c]);const x=me(w,y===void 0?["pool","token-rest","token-user"]:["pool","token-rest","token-user","deposit"],"change");const S=i*le+d+(y?.scriptFunding??0n)+x.built.fee;pa(w.name,S,x.built.fee,e.maxAllIn);return{...x,poolNext:p,tokensOut:l.tokenOut,restNext:m,userNext:g,allIn:S}}a(Zp,"buildSwapKasForTokens");function hu(e){const{ctx:t,pool:n,poolToken:r,userCell:o,seller:i}=e;gn(t,n);pt(`pool ${n.covenantId}`,n.state.tokenCovId,e.tokenId);const s=ya(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(o,s,n.covenantId);else{if(o.covenantId!==s)throw new Error("user cell is not of lineage T");if(o.state.owner.schemeByte!==3||h(o.state.owner.identifier)!==h(Qo(d.redeem)))throw new Error("the cell is not owned by the authority script");Qp(d.redeem,{...d.allowAnyScript===void 0?{}:{allowAnyScript:d.allowAnyScript},programs:[n.program,r.program]});const U=Yp(d.redeem);if(U!==void 0&&h(U)!==d.signerXOnly.toLowerCase())throw new yn("the authority script is locked to another key than the signer")}for(const U of c)lr(U,s,n.covenantId);const l=c.reduce((U,z)=>U+z.state.amount,o.state.amount);const u=Vr(bn(n),l,_e(t),ua(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 m={...n.state,kasScaled:u.pool.kasScaled,tokenReserve:u.pool.tokenReserve,feeAccruedScaled:u.pool.feeAccruedScaled};const y=Ue(u.pool.tokenReserve,n.covenantId);const g=2+c.length+1;const b=d===void 0?qt:Uint8Array.of(li,g);Ke(s,[o,...c,r],[y],b);const w=jr(u.pool);if(w!==n.value-u.kasOutScaled*le)throw new Error("pool value arithmetic mismatch");const x=d===void 0?Ot(o,[y],"KCC20 user cell (T leader, 00 || sig)",Ct(2+c.length,1)):(()=>{const U=fi(o.program,[y],b);return{label:"KCC20 script-owned cell (T leader, 00 || authority input)",outpoint:o.outpoint,amount:o.value,spk:se(o.program),daaScore:o.daaScore,covenantId:o.covenantId,budget:ve.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:se(d.redeem),daaScore:d.utxo.daaScore,covenantId:void 0,budget:ve.p2pk,sigscript:E(Uint8Array.of(65),ta,cn(d.redeem)),signature:{kind:"token-delegator",offset:1,signer:d.signerXOnly,sighashType:1}}];const P={name:`swapTokensForKas(${l})`,inputs:[x,...c.map(U=>Ai(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,Gd(t.pool,n.program,l,p,S)),...A,...(e.funding??[]).map(U=>ce(U,"seller KAS (top-up)"))],outputs:[ne(t,"merged (owner P)",y,r.value,s,0),ft(t,"POOL'",m,w,n.covenantId,2+c.length)],residual:Xr(Z(i.address),"payout (seller)",mn),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};He(P,[n.covenantId,s],d===void 0?void 0:{outpoint:d.utxo.outpoint,spk:se(d.redeem)});const $=me(P,["token-rest","pool"],"payout");const L=$.built.residualValue-io(e.funding);ma(P.name,L,$.built.fee,e.minNetOut);return{...$,poolNext:m,kasOutScaled:u.kasOutScaled,mergedNext:y,payout:$.built.residualValue,netOut:L}}a(hu,"buildSwapTokensForKas");var gb=0;var yb=1;var t8=2;var em=3;var n8=4;var r8=0;var o8=1;var a8=2;var i8=3;var bb=0;var s8=1;var tm=2;var hb=3;var c8=4;var d8=0;var u8=1;var l8=2;var kb=3;var ku=4;var _i=ip;var nm=sp;function wu(e){return{...bn(e),lpShares:e.state.lpShares}}a(wu,"lpPoolMathState");function Ii(e){if(e.state.lpCovId===void 0)throw new Error(`pool ${e.covenantId} has the 108-byte state: swap-only, no liquidity entries`);if(!La(e.state))throw new Error(`pool ${e.covenantId} is unbound (lpCovId 0^32): swap-only until bindLp`);return h(e.state.lpCovId)}a(Ii,"requireBoundPool");function $i(e,t,n="capped"){const r=Ii(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 o=wi(wu(e),n);if(t.state.amount!==o)throw new Error(`L inventory holds ${t.state.amount}, the state implies ${o} (LP_SUPPLY - issued); the pool is not spendable through add/remove`);return r}a($i,"requirePoolInventory");function Li(e,t,n="capped"){Ii(e);const r=wu(e);if(t<1n)throw new Error(`shares must be at least 1, got ${t}`);const o=Ws(r,n);if(t>o)throw new Error(`${t} shares exceed the ${o} this pool can still issue (SHARES_MAX or a reserve cap)`);const i=pp(r,n);if(t<i)throw new Error(`deposit of ${t} shares is below the minimum of ${i} (at least max(1 KAS, 20 shares' worth of KAS), and enough shares to stay withdrawable whatever the price does later)`);return lp(t,r,n)}a(Li,"depositQuote");function Ri(e,t,n,r,o="capped"){Ii(e);if(t<1n)throw new Error(`shares must be at least 1, got ${t}`);const i=fp(t,wu(e),o);if(i.dKasScaled<un)throw new Error(`KAS leg ${i.dKasScaled} scaled is below the pool's PAYOUT_MIN ${un}`);if(n!==void 0&&i.dKasScaled<n)throw new Error(`KAS leg ${i.dKasScaled} scaled is below minKasOut ${n}`);if(r!==void 0&&i.dTok<r)throw new Error(`token leg ${i.dTok} is below minTokOut ${r}`);return i}a(Ri,"withdrawalQuote");var so=a(e=>rt(e.state).extensionCommitment,"extOf");function rm(e,t,n){const r=h(ui(e.pool,t.covenantId));const o=h(so(n));if(o!==r)throw new Error(`L inventory extension commitment ${o} is not the ${r===t.covenantId?"pool's id":"0^32 of this build"} (${r})`)}a(rm,"requireLpCommitment");function jn(e){const t=e<0n;const n=t?-e:e;const r=n/ke;const o=(n%ke).toString().padStart(8,"0").replace(/0+$/,"");return`${t?"-":""}${r}${o.length>0?`.${o}`:""}`}a(jn,"kasString");function dc(e){const{ctx:t,pool:n,inventory:r,reserve:o,userCell:i,funding:s,shares:c}=e;if(!Fe(gn(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=$i(n,r,_e(t));rm(t,n,r);const l=ya(n,o);const u=n.covenantId;lr(i,l,u);if(s.length===0)throw new Error("addLiquidity needs at least one KAS input (the KAS leg and the fee)");const p=e.lpCellValue??_i;if(p<nm)throw new Error(`LP cell value ${p} is below the ${nm} sompi minimum`);const m=Li(n,c,_e(t));if(i.state.amount!==m.dTok)throw new Error(`user cell holds ${i.state.amount} tokens, a deposit of ${c} shares takes exactly ${m.dTok}; split or merge first`);const y=so(o);if(h(so(i))!==h(y))throw new Error("user cell's extension commitment differs from the pool reserve's");const g={...n.state,kasScaled:m.pool.kasScaled,tokenReserve:m.pool.tokenReserve,lpShares:m.pool.lpShares};const b=Ue(m.pool.tokenReserve,u,y);const w=so(r);const x=Ue(r.state.amount-c,u,w);const S=Bn(c,i.state.owner.identifier,{extensionCommitment:w});Ke(l,[i,o],[b],qt);Ke(d,[r],[x,S],Hn);const A=jr(m.pool);if(A!==n.value+m.dKasScaled*le)throw new Error("pool value arithmetic mismatch");const P=la(t);const $={name:`addLiquidity(${c})`,inputs:[Gt(n,`POOL addLiquidity(${c}, lpUser)`,P.poolAddLiquidity,zd(t.pool,n.program,c,tr(S,t.token.templateHash))),Ot(i,[b],"KCC20 user cell of T (T leader, 00 || sig)",Ct(2,1)),fn(o,"KCC20 pool reserve (T delegator, empty witness)"),ln(r,[x,S],"KCC20 L inventory (L leader, witness 00)",ve.tokenLeaderCovenant2Out),...s.map(R=>ce(R,"KAS (depositor: KAS leg, LP cell funding, fee)"))],outputs:[ft(t,"POOL' {+dKas, +dTok, +shares}",g,A,u,gb),ne(t,"mergedT (owner P)",b,o.value,l,yb),ne(t,"restL inventory (owner P)",x,r.value,d,em),ne(t,"lpUser (LP cell)",S,p,d,em)],residual:Ie(Z(e.changeAddress),"change (depositor)"),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};He($,[u,l,d]);const L=me($,["pool","token-rest","token-reserve","token-user"],"change");const U=io(s)-L.built.residualValue;pa($.name,U,L.built.fee,e.maxAllIn);const z=`Deposit ${c} shares: ${jn(m.dKasScaled*le)} KAS + ${m.dTok} tokens into the pool (shares ${n.state.lpShares} -> ${m.pool.lpShares}); your ${jn(i.value)} KAS token cell becomes a ${jn(p)} KAS LP cell; network fee ${jn(L.built.fee)} KAS.`;return{...L,shares:c,dKasScaled:m.dKasScaled,dTok:m.dTok,L:d,poolNext:g,mergedTokenNext:b,restLpNext:x,lpUserNext:S,lpCellValue:p,budgets:L.built.budgets,fee:L.built.fee,summary:z,allIn:U}}a(dc,"buildAddLiquidity");var wb=ke/2n;function Ui(e){const t=e-wb;const n=t>Pt?Pt:t;return n<Je?Je:n}a(Ui,"defaultTokenCellValue");var xb=ke/2n;function uc(e,t,n){return e-t+n*le<xb}a(uc,"withdrawalNeedsTopUp");function ba(e){const{ctx:t,pool:n,inventory:r,reserve:o,userLpCell:i,shares:s}=e;if(!Fe(gn(t,n)))throw new Error("removeLiquidity exists in the v1 pool only");pt(`pool ${n.covenantId}`,n.state.tokenCovId,e.tokenId);const c=$i(n,r,_e(t));rm(t,n,r);const d=ya(n,o);const l=n.covenantId;if(i.covenantId!==c)throw new Error(`LP cell lineage ${i.covenantId} is not the pool's L ${c}`);lr(i,c,l);const u=e.tokCellValue??Ui(i.value);if(u<Je)throw new Error(`token cell value ${u} is below the ${Je} sompi minimum`);const p=Ri(n,s,e.minKasOut,e.minTokOut,_e(t));if(i.state.amount!==s)throw new Error(`LP cell holds ${i.state.amount} shares, removeLiquidity(${s}) absorbs exactly ${s}; split or merge first`);const m=so(r);if(h(so(i))!==h(m))throw new Error("LP cell's extension commitment differs from the inventory's");const y=i.state.owner;if(y.schemeByte!==0)throw new Error(`LP cell owner scheme ${y.schemeByte} is not p2pk-schnorr/v1; the builder withdraws key-owned positions only`);const g=Z(e.changeAddress);if(h(g)!==`20${h(y.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 b={...n.state,kasScaled:p.pool.kasScaled,tokenReserve:p.pool.tokenReserve,lpShares:p.pool.lpShares};const w=Ue(r.state.amount+s,l,m);const x=so(o);const S=Ue(p.pool.tokenReserve,l,x);const A=Bn(p.dTok,i.state.owner.identifier,{extensionCommitment:x});Ke(c,[i,r],[w],qt);Ke(d,[o],[S,A],Hn);const P=jr(p.pool);if(P!==n.value-p.dKasScaled*le)throw new Error("pool value arithmetic mismatch");const $=la(t);const L={name:`removeLiquidity(${s})`,inputs:[Ot(i,[w],"KCC20 user cell of L (L leader, 00 || sig)",Ct(2,1)),fn(r,"KCC20 L inventory (L delegator, empty witness)"),ln(o,[S,A],"KCC20 pool reserve (T leader, witness 00)",ve.tokenLeaderCovenant2Out),Gt(n,`POOL removeLiquidity(${s}, tokUser)`,$.poolRemoveLiquidity,Jd(t.pool,n.program,s,tr(A,t.token.templateHash))),...(e.funding??[]).map(xe=>ce(xe,"KAS (withdrawer top-up)"))],outputs:[ne(t,"mergedL inventory (owner P)",w,r.value,c,bb),ne(t,"restT (owner P)",S,o.value,d,tm),ne(t,"tokUser (token cell)",A,u,d,tm),ft(t,"POOL' {-dKas, -dTok, -shares}",b,P,l,hb)],residual:Xr(g,"payout (withdrawer)",p.dKasScaled*le>mn?p.dKasScaled*le:mn),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};He(L,[l,d,c]);if(L.outputs.length!==ku||ku!==kb+1)throw new Error(`removeLiquidity payout must be output ${ku}, right after the pool`);const U=me(L,["token-reserve","token-rest","token-user","pool"],"payout");const z=U.built.residualValue;const R=z-io(e.funding);ma(L.name,R,U.built.fee,e.minNetOut);const W=`Withdraw ${s} shares: ${jn(p.dKasScaled*le)} KAS + ${p.dTok} tokens out of the pool (shares ${n.state.lpShares} -> ${p.pool.lpShares}); your ${jn(i.value)} KAS LP cell becomes a ${jn(u)} KAS token cell and a ${jn(z)} KAS payout; network fee ${jn(U.built.fee)} KAS.`;return{...U,shares:s,dKasScaled:p.dKasScaled,dTok:p.dTok,L:c,poolNext:b,mergedLpNext:w,restTokenNext:S,tokenUserNext:A,tokCellValue:u,payout:z,netOut:R,budgets:U.built.budgets,fee:U.built.fee,summary:W}}a(ba,"buildRemoveLiquidity");var vb=.01;var Sb=100n;function xu(e,t){for(const[o,i]of[["quoted",e],["live",t]]){if(i.kasScaled<=0n||i.tokenReserve<=0n)throw new Error(`${o} 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}}a(xu,"ratioTerms");function f8(e,t){const{num:n,den:r}=xu(e,t);return(n*10000n+r-1n)/r}a(f8,"ratioDriftBps");function Ab(e,t){const{num:n,den:r}=xu(e,t);return Number(n*1000000000n/r)/1e9}a(Ab,"ratioDrift");function Tb(e,t){const{num:n,den:r}=xu(e,t);return n*10000n<Sb*r}a(Tb,"canRebuildAutomatically");var Oi=class extends Error{static{a(this,"RatioDriftError")}drift;quoted;live;constructor(t,n){const r=Ab(t,n);super(`reserve ratio moved ${(r*100).toFixed(3)} % since the quote (limit ${vb*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 om(e,t){if(!Tb(e,t))throw new Oi(e,t)}a(om,"assertRebuildAllowed");var lc=1e3;var am=10000n;var _t=class extends Error{static{a(this,"SlippageOutOfRange")}value;constructor(t,n){super(`slippage: ${String(t)} ${n}`);this.name="SlippageOutOfRange";this.value=t}};function vu(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>lc)throw new _t(e,`bps is above the ${lc} bps maximum`)}a(vu,"assertSlippageBps");function im(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");vu(n);return n}a(im,"slippageBpsOfPercent");function sm(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")}a(sm,"assertAmount");function Pb(e,t){sm(e);vu(t);return e+e*BigInt(t)/am}a(Pb,"maxWithSlippage");function Cb(e,t){sm(e);vu(t);return e-e*BigInt(t)/am}a(Cb,"minWithSlippage");function g8(e,t){return Pb(e,im(t))}a(g8,"maxWithSlippagePct");function y8(e,t){return Cb(e,im(t))}a(y8,"minWithSlippagePct");function Eb(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?Ob(t,u):void 0;return{kind:"budget",used:d,limit:l,inputIndex:p,message:n}}const o=/fees which is under the required amount of (\d+) for ([a-z ]*mass)/.exec(n);if(o)return{kind:"fee-too-low",required:BigInt(o[1]),bucket:o[2].trim(),message:n};const i=/output \(([0-9a-f]{64}), (\d+)\) already spent by transaction ([0-9a-f]{64}) in the mempool/.exec(n);if(i)return{kind:"lost-race",outpoint:{txid:i[1],index:Number(i[2])},winnerTxid:i[3],message:n};const s=/already spent by transaction ([0-9a-f]{64}) in the mempool/.exec(n);if(s)return{kind:"lost-race",outpoint:void 0,winnerTxid:s[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}}a(Eb,"classifyRejection");function Ob(e,t){const n=e.map((r,o)=>r===t?o:-1).filter(r=>r>=0);return n.length>0?n[0]:void 0}a(Ob,"indexOfBudget");var ha=class extends Error{static{a(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 _b(e){return String(e?.message??e)}a(_b,"errorMessage");async function v8(e,t,{maxBudgetPatches:n=6}={}){const r=[];let o=t;for(let i=0;;i++){try{const s=await e.submitTransaction({transaction:o.tx,allowOrphan:false});r.push({budgets:o.budgets,fee:o.fee,ok:true});if(s.transactionId!==o.txid)throw new Error(`node echoed txid ${s.transactionId}, expected ${o.txid}`);return{txid:o.txid,attempts:r,budgets:o.budgets,masses:o.masses}}catch(s){if(s instanceof Error&&s.message.startsWith("node echoed txid"))throw s;const c=Eb(_b(s),o.budgets);r.push({budgets:o.budgets,fee:o.fee,ok:false,rejection:c});if(c.kind==="budget"&&c.inputIndex!==void 0&&i<n){const d=Math.max(o.budgets[c.inputIndex]+1,ii(c.used));o=qf(o,c.inputIndex,d);if(o.masses.minFee>o.fee){throw new ha(o.txid,{...c,message:`${c.message} (budget ${d} makes compute the binding bucket; rebuild with the new budget)`})}continue}throw new ha(o.txid,c)}}}a(v8,"submit");async function Ib(e,t,n=5){for(let r=0;r<n;r++){try{const o=await e.getMempoolEntry({transactionId:t,includeOrphanPool:false,filterTransactionPool:false});const i=o.mempoolEntry.transaction;return{fee:o.mempoolEntry.fee,storageMass:i.storageMass??i.mass,computeMass:i.verboseData?.computeMass}}catch{await cm(50)}}return void 0}a(Ib,"mempoolEntry");async function S8(e,t){const n=await e.getUtxosByAddresses([t]);return n.entries.filter(r=>!r.isCoinbase).map(r=>$b(r,t))}a(S8,"utxosOf");function $b(e,t){const n=e.entry.covenantId?.toString();return{outpoint:{txid:e.outpoint.transactionId,index:e.outpoint.index},amount:e.amount,spk:yi(e.scriptPublicKey.script),daaScore:e.blockDaaScore,address:t,covenantId:n===void 0||/^0+$/.test(n)?void 0:n}}a($b,"utxoOf");async function A8(e,t,n,{timeoutMs:r=6e4,pollMs:o=200}={}){const i=t.outputs.filter(u=>u.cell!==void 0||u.binding!==void 0);const s=i.length>0?i:[t.outputs[t.outputs.length-1]];const c=Date.now()+r;const d=new Map;const l=await Ib(e,t.txid);while(Date.now()<c){for(const u of s){if(d.has(u.index))continue;const p=js(u.spk,n);const m=await e.getUtxosByAddresses([p]);const y=m.entries.find(g=>g.outpoint.transactionId===t.txid&&g.outpoint.index===u.index);if(y){d.set(u.index,{outputIndex:u.index,address:p,amount:y.amount,covenantId:y.entry.covenantId?.toString(),spk:y.scriptPublicKey.script,daaScore:y.blockDaaScore})}}if(d.size===s.length){const u=[...d.values()].sort((p,m)=>p.outputIndex-m.outputIndex);return{txid:t.txid,daaScore:u[0].daaScore,cells:u,mempool:l}}await cm(o)}throw new Error(`${t.plan.name} ${t.txid}: not in the UTXO index after ${r} ms (${d.size}/${s.length} outputs seen)`)}a(A8,"waitForAcceptance");function T8(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}`)}a(T8,"assertAcceptedCell");var cm=a(e=>new Promise(t=>setTimeout(t,e)),"sleep");var Su=.001;var ye=class extends Error{static{a(this,"ReplacementRefused")}constructor(t){super(t);this.name="ReplacementRefused"}};var Lb=new Set(["submitted","already-in-mempool","fee-too-low"]);var Rb=new Set(["change","payout"]);function um(e){if(!Number.isFinite(e)||e<0||e>1)throw new ye(`bump ${e} out of range`);return BigInt(Math.round(e*1e6))}a(um,"bumpPpm");function Ub(e,t=Su){if(e<=0n)throw new ye("original fee must be positive");const n=um(t);const r=(e*(1000000n+n)+999999n)/1000000n;return r>e?r:e+1n}a(Ub,"replacementMinFee");function Nb(e,t,n){if(t.kind==="lost-race")throw new ye("a lost race is never replaced: rebuild at the new head instead");if(!Lb.has(t.kind))throw new ye(`state ${t.kind} is not replaceable`);if("txid"in t&&t.txid!==e.txid)throw new ye(`state is about ${t.txid}, not ${e.txid}`);if(!n.some(r=>r.txid===e.txid))throw new ye(`${e.txid} is not one of our pending transactions`)}a(Nb,"assertReplaceable");function dm(e){return JSON.parse(e.txJson).outputs}a(dm,"outputsOf");function Bb(e,t,n,r=Su){if(t.txid===e.txid)throw new ye("the replacement has the same txid");const o=e.consumes.map(B).sort();const i=t.consumes.map(B).sort();if(o.length!==i.length||o.some((g,b)=>g!==i[b]))throw new ye("the replacement must spend exactly the same outpoints");const s=new Set(i);for(const g of n){if(g.txid===e.txid)continue;const b=g.consumes.find(w=>s.has(B(w)));if(b)throw new ye(`the replacement would also conflict with our pending ${g.txid} on ${B(b)}`)}const c=dm(e);const d=dm(t);if(c.length!==d.length)throw new ye("the replacement changes the output count");const l=new Map(e.produces.map(g=>[g.index,g.role]));const u=new Map(t.produces.map(g=>[g.index,g.role]));c.forEach((g,b)=>{const w=d[b];if(l.get(b)!==u.get(b))throw new ye(`output ${b} changes its role`);const x=(g.covenant??null)===null?(w.covenant??null)===null:w.covenant!==null&&w.covenant!==void 0&&g.covenant.authorizingInput===w.covenant.authorizingInput&&g.covenant.covenantId===w.covenant.covenantId;if(g.scriptPublicKey!==w.scriptPublicKey||!x)throw new ye(`output ${b} changes its script or binding`);const S=l.get(b);if(S!==void 0&&Rb.has(S)){if(BigInt(w.value)>BigInt(g.value))throw new ye(`output ${b} (${S}) grows in the replacement`)}else if(BigInt(w.value)!==BigInt(g.value)){throw new ye(`output ${b} changes its value; only the change or payout may pay for the bump`)}});const p=BigInt(e.masses.max);const m=BigInt(t.masses.max);if(p<=0n||m<=0n)throw new ye("masses must be positive");const y=um(r);if(!(t.feeSompi*p>e.feeSompi*m))throw new ye("the replacement feerate is not strictly greater");if(t.feeSompi*p*1000000n<e.feeSompi*m*(1000000n+y))throw new ye(`the replacement feerate is below the +${Number(y)/1e4} % bump`)}a(Bb,"assertReplacement");async function O8(e,t){const n=t.bump??Su;Nb(e,t.state,t.pending);const r=await t.rebuild(Ub(e.feeSompi,n));Bb(e,r,t.pending,n);const o=await t.sign(r);if(o.txid!==r.txid)throw new ye("signing changed the replacement txid");const i=await t.submitReplacement(o);if(i.transactionId!==o.txid)throw new ye(`node echoed ${i.transactionId}, submitted ${o.txid}`);if(i.replacedTxid!==e.txid)throw new ye(`the node replaced ${i.replacedTxid}, not our ${e.txid}`);return{state:{kind:"replaced",oldTxid:e.txid,newTxid:o.txid},built:o}}a(O8,"replace");var lm=Object.freeze({budgetMs:15e3,backoffMinMs:120,backoffMaxMs:200,silenceMs:3e3});var et=class extends Error{static{a(this,"RetryPolicyError")}constructor(t){super(t);this.name="RetryPolicyError"}};var Au=class{static{a(this,"RetryPolicy")}config;#e;#t;#n;#r;#o;#c=0;#i=0;#s=0;#d=0;#a;constructor(t,n=Math.random,r=lm){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.#a===void 0?0:Math.max(0,this.#e.now()-this.#a);return this.startedAt+this.config.budgetMs+this.#d+t}pause(){if(this.#a===void 0)this.#a=this.#e.now()}resume(){if(this.#a===void 0)return;this.#d+=Math.max(0,this.#e.now()-this.#a);this.#a=void 0}get pausedMs(){return this.#d+(this.#a===void 0?0:Math.max(0,this.#e.now()-this.#a))}get rereads(){return this.#s}get pending(){return this.#r}onState(t){const n=this.#e.now();this.#o=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.#i>=1||t.inputIndex<0||r===void 0)return this.#u("builder-bug",t);if(n>=this.deadline)return this.#u("busy",t);this.#i++;return this.#f({kind:"patch-budget",inputIndex:t.inputIndex,budget:Math.max(r+1,ii(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 o=this.#t();if(!(o>=0&&o<1))throw new et(`random source returned ${o}`);return this.#l(this.#e.now()+this.config.backoffMinMs+Math.floor(o*r),this.#o)}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.#o)}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.#o);if(n.kind==="await-acceptance"&&t>=n.until)return t>=this.deadline?this.#u("busy",this.#o):this.#f({kind:"check-status",txid:n.txid});return n}onStatus(t){const n=this.#e.now();const r=this.#o;const o=this.#r?.kind==="check-status"||this.#r?.kind==="await-acceptance"?this.#r.txid:void 0;if(o===void 0||r===void 0)throw new et("no transaction in flight");if(t==="accepted")return this.#f({kind:"done",txid:o});if(t==="in-mempool")return this.#p(o,n,r);return this.#l(n,{kind:"lost-race",txid:o,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.#s++;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 R8(e){if(!Number.isInteger(e.slippageBps)||e.slippageBps<0||e.slippageBps>lc)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)}a(R8,"withinSlippage");async function U8(e,t=lm){const n=new Au(e.clock,e.random??Math.random,t);n.start();let r=0;let o=0;let i={};let s;let c;const d=a(g=>e.onState?.(g,c??s),"report");const l=a(g=>({outcome:g,built:c??s,submissions:r,rebuilds:o,elapsedMs:e.clock.now()-n.startedAt}),"finish");const u=a(async g=>{n.pause();try{return await g()}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 i={...i,minFeeSompi:p.minFeeSompi};if(s!==void 0)o++;s=await e.build(i);d({kind:"built"});if(o>0&&e.approve!==void 0&&!await u(()=>e.approve(s,o))){const g={kind:"failed",reason:"price moved beyond the accepted slippage"};d(g);return l({kind:"give-up",reason:"failed",state:g})}c=await u(()=>e.sign(s));d({kind:"signed"});p=await y(c);break}case"patch-budget":{const g=e.patchBudget(c,p.inputIndex,p.budget);if(g===void 0){i={...i,budget:{inputIndex:p.inputIndex,budget:p.budget}};if(s!==void 0)o++;s=await e.build(i);d({kind:"built"});c=await u(()=>e.sign(s));d({kind:"signed"});p=await y(c);break}c=g;d({kind:"signed"});p=await y(c);break}case"await-winner":{const g=await e.waitForAcceptance(p.winnerTxid,p.until);p=g!==void 0?n.onWinnerAccepted(p.winnerTxid):await m(p.until);break}case"await-acceptance":{const g=await e.waitForAcceptance(p.txid,p.until);if(g!==void 0){const b={kind:"accepted",txid:p.txid,acceptingBlueScore:g};d(b);p=n.onState(b)}else{p=await m(p.until)}break}case"check-status":p=n.onStatus(await e.status(p.txid));break}}async function m(g){await e.sleepUntil(g);return n.onTimer()}a(m,"timer");async function y(g){r++;const b=await e.submit(g);d(b);return n.onState(b)}a(y,"submitOnce")}a(U8,"runSubmission");var ka="([0-9a-f]{64})";var Kb=new RegExp(`^(?:RPC Server \\(remote error\\) -> )?Rejected transaction ${ka}: (.*)$`,"s");var Mb=new RegExp(`^output \\(${ka}, (\\d+)\\) already spent by transaction ${ka} in the mempool$`);var Fb=new RegExp(`^transaction ${ka} is an orphan where orphan is disallowed$`);var Db=new RegExp(`^transaction ${ka} is already in the mempool$`);var Hb=/^failed to verify the signature script: script units exceeded the amount committed in the input: used=(\d+), limit=(\d+)$/;var jb=new RegExp(`^(?:transaction ${ka} 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 Vb=/^failed to verify the signature script: (?:script ran, but verification failed|false stack entry at end of script execution)$/;var Gb={compute:"compute","normalized transient":"transient",storage:"storage"};function qb(e){if(typeof e==="string")return e;const t=e?.message;return typeof t==="string"?t:String(e)}a(qb,"rejectionMessage");function fm(e,t={}){const n=qb(e).trim();const r=Kb.exec(n);if(!r)return{kind:"failed",reason:n};const o=r[1];const i=r[2];if(t.txid!==void 0&&t.txid.toLowerCase()!==o)return{kind:"failed",reason:`rejection names ${o}, submitted ${t.txid}: ${n}`};const s=o;const c=Mb.exec(i);if(c)return{kind:"lost-race",txid:s,winnerTxid:c[3],cause:"mempool-spent"};const d=Fb.exec(i);if(d&&d[1]===s)return{kind:"lost-race",txid:s,cause:"orphan"};const l=Db.exec(i);if(l&&l[1]===s)return{kind:"already-in-mempool",txid:s};const u=Hb.exec(i);if(u){const m=Number(u[1]);const y=Number(u[2]);const g=Kr(y);const b=g===void 0||t.budgets===void 0?-1:t.budgets.indexOf(g);return{kind:"budget-too-low",txid:s,inputIndex:b,used:m,limit:y}}const p=jb.exec(i);if(p&&(p[1]===void 0||p[1]===s))return{kind:"fee-too-low",txid:s,requiredSompi:BigInt(p[3]),bucket:Gb[p[4]]};if(Vb.test(i))return{kind:"script-failed",txid:s};return{kind:"failed",reason:n}}a(fm,"classifyNodeRejection");var Wb=10;var hn=class extends Error{static{a(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 zb=new Set(["script-failed","replaced","failed"]);var Jb=new Set(["submitted","already-in-mempool"]);var Xb=new Set(["lost-race","fee-too-low","budget-too-low"]);function Yb(e){return zb.has(e.kind)}a(Yb,"isTerminal");function Qb(e){if(e.kind==="replaced")return e.newTxid;return"txid"in e?e.txid:void 0}a(Qb,"txidOf");function mr(e,t,n){const r=Qb(e);if(r!==void 0&&r!==n)throw new hn(e,t,`event names ${n}, state is about ${r}`)}a(mr,"sameTx");function Zb(e,t){if(t.kind==="failed"){if(Yb(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":mr(e,t,t.txid);return{kind:"accepted",txid:t.txid,acceptingBlueScore:t.acceptingBlueScore};case"rejected":{const n=fm(t.error,t.budgets===void 0?{txid:e.txid}:{txid:e.txid,budgets:t.budgets});return n}case"conflict":mr(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":mr(e,t,t.txid);return{kind:"lost-race",txid:t.txid,cause:"orphan"};case"replaced":mr(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"){mr(e,t,t.txid);return{kind:"accepted",txid:t.txid,acceptingBlueScore:t.acceptingBlueScore}}if(t.kind==="depth"){mr(e,t,t.txid);return t.depth>=Wb?{kind:"confirmed",txid:t.txid,depth:t.depth}:e}break;case"confirmed":if(t.kind==="depth"){mr(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"){mr(e,t,t.oldTxid);return{kind:"replaced",oldTxid:t.oldTxid,newTxid:t.newTxid}}break;default:break}throw new hn(e,t)}a(Zb,"nextState");var pm=class{static{a(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 Jb.has(this.#e.kind)}get retryable(){return Xb.has(this.#e.kind)}dispatch(t){const n=Zb(this.#e,t);if(n!==this.#e){this.#e=n;this.#t.push(n)}return n}};var wa="mainnet";var fc=class extends Error{static{a(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 mm(e){if(e.networkId!==wa)return;const t=e.curve;const n=ud(t.preset);if(n===void 0)throw new fc(t.preset,e.networkId,"only the Standard family (standard and its price bands) may be launched on mainnet");const r=t.params;const o=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(!o)throw new fc(t.preset,e.networkId,`its constants are not the ${n.name} preset's`)}a(mm,"assertPresetAllowedOnNetwork");var gm=15*6e4;var eh=6e4;var Tu=class extends Error{static{a(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 Pu=class extends Error{static{a(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 ${gm/6e4} minutes old`);this.name="KasPriceStale";this.asOfMs=t;this.nowMs=n}};var Ni=class extends Error{static{a(this,"StandardBandMismatch")}preset;kasUsd;expected;constructor(t,n,r,o){super(`preset ${t} is not the Standard band for KAS/USD ${n}${r===void 0?"":` (that is ${r})`}: ${o}`);this.name="StandardBandMismatch";this.preset=t;this.kasUsd=n;this.expected=r}};function ym(e,t,n){const r=e.curve.preset;if(ud(r)===void 0){if(nf(r))throw new Ni(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===wa)throw new Tu(r);return}const{usd:o,asOfMs:i}=t;if(typeof o!=="number"||!Number.isFinite(o)||o<=0)throw new Ni(r,o,void 0,"the price is not a positive number");if(typeof i!=="number"||!Number.isFinite(i)||n-i>gm||i-n>eh){throw new Pu(i,n)}const s=sf(r,o,0);if(!s.accepted)throw new Ni(r,o,s.expected?.name,s.message)}a(ym,"assertBandForPrice");function bm(e){throw new Bt(`contracts/vault/v1/artifacts/${e}/manifest.json`)}a(bm,"splitterOfArtifacts");var hm="qpzry9x8gf2tvdw0s3jn54khce6mua7l";var th=[0x98f2bc8e61n,0x79b76d99e2n,0xf33e5fb3c4n,0xae2eabe2a8n,0x1e4f43e470n];var gc=0;var nh=1;var rh=8;var pc={0:32,1:33,8:32};var Ae=class extends Error{static{a(this,"AddressError")}constructor(t){super(t);this.name="AddressError"}};function oh(e){let t=1n;for(const n of e){const r=t>>35n;t=(t&0x07ffffffffn)<<5n^BigInt(n);for(let o=0;o<5;o++)if(r>>BigInt(o)&1n)t^=th[o]}return t^1n}a(oh,"polymod");function km(e,t){return oh([...[...t].map(n=>n.charCodeAt(0)&31),0,...e,0,0,0,0,0,0,0,0])}a(km,"checksum");function mc(e,t,n,r){let o=0;let i=0;const s=[];const c=(1<<n)-1;for(const d of e){o=o<<t|d;i+=t;while(i>=n){i-=n;s.push(o>>i&c)}o&=(1<<i)-1}if(r){if(i>0)s.push(o<<n-i&c)}else if(i>=t||(o<<n-i&c)!==0){throw new Ae("address payload has non-zero padding")}return s}a(mc,"convertBits");function Cu(e,t,n){if(!/^[a-z0-9]+$/.test(e))throw new Ae(`invalid address prefix ${JSON.stringify(e)}`);if(n.length!==pc[t])throw new Ae(`version ${t} payload must be ${pc[t]} bytes, got ${n.length}`);const r=mc([t,...n],8,5,true);const o=km(r,e);const i=[];for(let c=4;c>=0;c--)i.push(Number(o>>BigInt(8*c)&0xffn));const s=mc(i,8,5,true);return`${e}:${[...r,...s].map(c=>hm[c]).join("")}`}a(Cu,"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 o=[...r].map(m=>{const y=hm.indexOf(m);if(y<0)throw new Ae(`invalid address character ${JSON.stringify(m)}`);return y});const i=o.slice(0,-8);const s=o.slice(-8);const c=mc(s,5,8,false);let d=0n;for(const m of c)d=d<<8n|BigInt(m);if(d!==km(i,n))throw new Ae("address checksum mismatch");const l=mc(i,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!==pc[u])throw new Ae(`version ${u} payload must be ${pc[u]} bytes, got ${p.length}`);return{prefix:n,version:u,payload:p}}a(Wt,"decodeAddress");function mt(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)}`)}a(mt,"addressPrefixOf");function xa(e){const t=Wt(e);if(t.version!==gc)throw new Ae(`${e} is not a Schnorr P2PK address (version ${t.version})`);return t.payload}a(xa,"xOnlyKeyOfAddress");function wm(e,t){if(e.length===34&&e[0]===32&&e[33]===172)return Cu(t,gc,e.subarray(1,33));if(e.length===35&&e[0]===33&&e[34]===171)return Cu(t,nh,e.subarray(1,34));if(e.length===35&&e[0]===170&&e[1]===32&&e[34]===135)return Cu(t,rh,e.subarray(2,34));return void 0}a(wm,"addressOfScript");var Eu="kaspa:qrt0p8sd5g8k383mzxgqtyl7ehkdez8ds8cpxqcuwjdaayke9rjhg9pqnr3zx";var ah="mainnet";var co=class extends Error{static{a(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 vm(e,t){const n=Wt(e);if(n.prefix!==t)throw new Error(`${e} is not a ${t} address`);if(n.version!==gc)throw new Error(`${e} is not a Schnorr P2PK address`);return Uint8Array.from([0,0,32,...n.payload,172])}a(vm,"p2pkTreasurySpkOfAddress");function Sm(){return h(vm(Eu,"kaspa"))}a(Sm,"mainnetCompanySpk");function Am(){const e=Sm();let t;try{t=bm(ah)}catch(n){if(n instanceof Bt)return[e];throw n}if(h(t.companySpk)!==e){throw new co(wa,h(t.spk),`the mainnet Splitter pays company script ${h(t.companySpk)}, not ${e} (${Eu})`)}return[e,h(t.spk)]}a(Am,"mainnetTreasurySpks");var xm;function yc(e){if(e!==wa)return void 0;xm??=Am();return xm}a(yc,"allowedTreasurySpks");function Ou(e,t=yc(e.networkId)){if(t===void 0)return void 0;const n=e.curve.params.treasurySpk;const r=e.pool.treasurySpk;const o=`${e.curve.version}:${e.curve.preset}${e.pool.revision===void 0?"":`@${e.pool.revision}`}`;if(n===void 0||r===void 0)return`${o}: the curve or its pool names no treasury`;if(h(n)!==h(r))return`${o}: the curve's treasury ${h(n)} is not its pool's ${h(r)}`;if(!t.includes(h(n)))return`${o}: its treasury is not one of ${t.join(", ")}`;return void 0}a(Ou,"treasuryProblemOf");function Bi(e,t){return Ou(e,t??yc(e.networkId))===void 0}a(Bi,"isTreasuryAllowedOnNetwork");function va(e,t){const n=Ou(e,t??yc(e.networkId));if(n!==void 0){const r=e.curve.params.treasurySpk;throw new co(e.networkId,r===void 0?void 0:h(r),n)}}a(va,"assertTreasuryAllowedOnNetwork");var Vn=class extends Error{static{a(this,"MessageSignatureError")}wallet;constructor(t,n){super(`${t} signMessage: ${n}`);this.name="MessageSignatureError";this.wallet=t}};var Sa=class extends Error{static{a(this,"MessageSigningUnsupported")}wallet;constructor(t,n){super(`${t} cannot sign messages here: ${n}`);this.name="MessageSigningUnsupported";this.wallet=t}};function bc(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}a(bc,"kaspaMessageSignature");var Y=class extends Error{static{a(this,"SignRequestError")}constructor(t){super(t);this.name="SignRequestError"}};function ih(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}a(ih,"signatureSlotsOf");function sh(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=ih(e)}catch(o){throw new Y(`input ${n}: sigscript is not push-only: ${o.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(o=>o!==0))throw new Y(`input ${n}: signature slot at ${t} is not empty`)}a(sh,"assertEmptySignatureSlot");function Aa(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 o=mt(n);const i=new Set;const s=[];const c=JSON.parse(e);for(const u of[...t].sort((p,m)=>p.index-m.index)){const p=u.index;const m=c.inputs[p];if(!Number.isInteger(p)||m===void 0)throw new Y(`input ${p} does not exist (${c.inputs.length} inputs)`);if(i.has(p))throw new Y(`input ${p} listed twice`);i.add(p);if(u.sighashType!==ca)throw new Y(`input ${p}: sighash type ${String(u.sighashType)} is not SIGHASH_ALL (1)`);if(!m.utxo)throw new Y(`input ${p} has no UTXO entry`);if(m.utxo.isCoinbase===true)throw new Y(`input ${p} spends a coinbase output`);const y=_(m.signatureScript??"");if(u.kind==="p2pk"){if(y.length!==0&&!M(y,gi))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 m.utxo.covenantId!=="string"||!/^[0-9a-f]{64}$/.test(m.utxo.covenantId))throw new Y(`input ${p}: covenant input without utxo.covenantId`);sh(y,u.signatureOffset,p);s.push({inputIndex:p,scriptHex:"",prebuiltSignatureScript:h(y),signatureOffsets:[u.signatureOffset],expectedSighash:""})}m.signatureScript=""}for(const[u,p]of c.inputs.entries()){if(p.utxo&&(p.utxo.address===null||p.utxo.address===void 0)){const m=wm(Zs(p.utxo.scriptPublicKey).script,o);if(m===void 0)throw new Y(`input ${u}: UTXO script has no address form`);p.utxo.address=m}}const d=JSON.stringify(c);const l=c;return{txJson:d,txid:r.id,signInputs:[...i].sort((u,p)=>u-p).map(u=>({index:u,sighashType:ca})),prebuilt:s.map(u=>({...u,expectedSighash:uu(l,u.inputIndex,ca)}))}}a(Aa,"prepareSignRequest");function Tm(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 }")}a(Tm,"signedTxJsonOf");function Ta(e,t){let n;try{n=JSON.parse(t)}catch(i){throw new Y(`signed transaction does not parse: ${i.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 o=new Set(e.signInputs.map(i=>i.index));r.inputs.forEach((i,s)=>{const c=n.inputs[s];if(c.transactionId!==i.transactionId||Number(c.index)!==Number(i.index))throw new Y(`signed input ${s} spends another outpoint`);if(!o.has(s)&&(c.signatureScript??"")!==(i.signatureScript??""))throw new Y(`the wallet changed the sigscript of input ${s}, which it was not asked to sign`);if(o.has(s)&&(c.signatureScript??"")==="")throw new Y(`the wallet did not sign input ${s}`)})}a(Ta,"assertAnswerMatchesRequest");var uo=class extends Error{static{a(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{a(this,"WalletUnavailable")}constructor(t){super(`wallet "${t}" is not available in this browser`);this.name="WalletUnavailable"}};var Me=class extends Error{static{a(this,"WalletNotConnected")}constructor(){super("wallet is not connected");this.name="WalletNotConnected"}};var qn=class extends Error{static{a(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 we=class extends Error{static{a(this,"WalletAccountMismatch")}constructor(t){super(t);this.name="WalletAccountMismatch"}};var ch=["accountsChanged","networkChanged"];function dh(){const e=globalThis.kaspire;return e!==null&&typeof e==="object"&&typeof e.request==="function"?e:void 0}a(dh,"defaultProvider");var _u=class{static{a(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:dh;this.network=t.network??"testnet-10";this.signing=t.signing??"b1";mt(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.#s(t,"requestAccounts");if(!Array.isArray(n)||n.length===0||typeof n[0]!=="string")throw new uo("requestAccounts",void 0,"no account returned");return this.#o(t,n[0])}async restore(){const t=this.#e();if(t===void 0)return null;const n=await this.#s(t,"getAccounts");if(!Array.isArray(n)||n.length===0||typeof n[0]!=="string")return null;return this.#o(t,n[0],false)}async switchNetwork(){const t=this.#c();await this.#s(t,"switchNetwork",{network:this.network})}async#o(t,n,r=true){this.#d(t);await this.#i(t);let o;try{o=Wt(n)}catch(s){throw new we(`wallet account ${n} is not a valid address: ${s.message}`)}if(o.prefix!==mt(this.network))throw new we(`wallet account ${n} is not a ${this.network} address`);let i;try{i=h(xa(n))}catch(s){throw new we(`wallet account ${n}: ${s.message}`)}if(r){const s=await this.#s(t,"getPublicKey");if(typeof s!=="string"||!/^[0-9a-fA-F]{64}$/.test(s))throw new we(`getPublicKey returned ${JSON.stringify(s)}, expected a 32-byte x-only key`);if(s.toLowerCase()!==i)throw new we(`getPublicKey ${s} is not the key of ${n}`)}this.#t={address:n,publicKey:i,network:this.network};return this.#t}async disconnect(){this.#a();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 o=this.#c();await this.#i(o);if(this.#t!==r)throw new Me;const i=Aa(t,n,{networkId:this.network});const s=this.signing==="b2"&&i.prebuilt.length>0?{sender:r.address,psktTransactionJson:i.txJson,submitTransaction:false,signInputs:i.signInputs,scripts:i.prebuilt}:{sender:r.address,txJsonString:i.txJson,options:{signInputs:i.signInputs}};const c=await this.#s(o,"signPskt",s);const d=Tm(c);Ta(i,d);return{request:i,signed:d}}async signMessage(t){const n=this.#t;if(n===null)throw new Me;const r=this.#c();await this.#i(r);if(this.#t!==n)throw new Me;const o=await this.#s(r,"signMessage",{message:t,address:n.address});if(o===null||typeof o!=="object")throw new Vn("kaspire","expected { publicKey, signedMessage }");const i=o;if(i.address!==void 0&&i.address!==n.address)throw new we(`signMessage answered for ${String(i.address)}, not ${n.address}`);if(i.publicKey!==void 0&&(typeof i.publicKey!=="string"||i.publicKey.toLowerCase()!==n.publicKey)){throw new we(`signMessage signed with ${String(i.publicKey)}, not the key of ${n.address}`)}return bc("kaspire",i.signedMessage??i.signature)}#c(){const t=this.#e();if(t===void 0)throw new Gn(this.id);return t}async#i(t){const n=await this.#s(t,"getNetwork");if(n!==this.network){this.#t=null;throw new qn(this.network,n)}}async#s(t,n,r){try{return await t.request(r===void 0?{method:n}:{method:n,params:r})}catch(o){const i=o;throw new uo(n,typeof i?.code==="number"?i.code:void 0,typeof i?.message==="string"?i.message:String(o))}}#d(t){if(this.#n?.provider===t)return;this.#a();if(typeof t.on!=="function")return;const n=new Map;for(const r of ch){const o=a((...i)=>this.#p(r==="accountsChanged"?{kind:"accounts-changed",payload:i[0]}:{kind:"network-changed",payload:i[0]}),"listener");t.on(r,o);n.set(r,o)}this.#n={provider:t,listeners:n}}#a(){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 k3(e={}){return new _u(e)}a(k3,"createKaspireAdapter");async function w3(e,t){const n=e.getAccount?.()?.publicKey;const r=await e.signPskt(t.txJson,t.inputsToSign);return nc(t,r,n===void 0?{}:{signer:n})}a(w3,"signBuilt");var kn=class extends Error{static{a(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 hc={kaspa_mainnet:"mainnet",kaspa_testnet_10:"testnet-10",kaspa_testnet_11:"testnet-11",kaspa_testnet_12:"testnet-12",kaspa_devnet:"devnet"};function uh(e){if(typeof e!=="string")return void 0;return hc[e]??(Object.values(hc).includes(e)?e:void 0)}a(uh,"networkOfKasWare");function Pm(e){const t=Object.keys(hc).find(n=>hc[n]===e);if(t===void 0)throw new Ae(`KasWare has no network for ${JSON.stringify(e)}`);return t}a(Pm,"kasWareNetworkOf");function $u(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}a($u,"xOnlyOfReportedKey");function lh(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")}a(lh,"kasWareSignedJsonOf");function fh(e){try{const t=JSON.parse(e);return(t.inputs??[]).map((n,r)=>{const o=n.signatureScript??"";return{input:r,bytes:o.length/2,head:o.slice(0,2),tail:o.slice(-2)}})}catch{return"unparseable"}}a(fh,"sigScriptSummary");var ph=["accountsChanged","networkChanged"];function mh(){const e=globalThis.kasware;return e!==null&&typeof e==="object"&&typeof e.requestAccounts==="function"?e:void 0}a(mh,"defaultProvider");var Iu=class{static{a(this,"KasWareAdapter")}id="kasware";label="KasWare";network;#e;#t;#n=null;#r;#o=new Set;constructor(t={}){const n=t.provider;this.#e=typeof n==="function"?n:n!==void 0?()=>n:mh;this.network=t.network??"testnet-10";this.#t=t.log===void 0?(...r)=>console.info(...r):t.log;mt(this.network);Pm(this.network)}isAvailable(){return this.#e()!==void 0}getAccount(){return this.#n}onChange(t){this.#o.add(t);return()=>this.#o.delete(t)}async connect(){const t=this.#i();const n=await this.#d("requestAccounts",()=>t.requestAccounts());if(!Array.isArray(n)||n.length===0||typeof n[0]!=="string")throw new kn("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.#i();if(typeof t.switchNetwork!=="function")throw new kn("switchNetwork",4200,"this KasWare has no switchNetwork");await this.#d("switchNetwork",()=>t.switchNetwork(Pm(this.network)))}async#c(t,n){this.#a(t);await this.#s(t);let r;try{r=Wt(n)}catch(c){throw new we(`wallet account ${n} is not a valid address: ${c.message}`)}if(r.prefix!==mt(this.network))throw new we(`wallet account ${n} is not a ${this.network} address`);let o;try{o=h(xa(n))}catch(c){throw new we(`wallet account ${n}: ${c.message}`)}const i=await this.#d("getPublicKey",()=>t.getPublicKey());this.#t?.("[kasware] getPublicKey ->",i);const s=$u(i);if(s===void 0)throw new we(`getPublicKey returned ${JSON.stringify(i)}, expected a 33-byte compressed or 32-byte x-only key`);if(s!==o)throw new we(`getPublicKey ${String(i)} is not the key of ${n}`);this.#n={address:n,publicKey:o,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 o=this.#i();await this.#s(o);if(this.#n!==r)throw new Me;const i=Aa(t,n,{networkId:this.network});const s={txJsonString:i.txJson,options:{signInputs:i.signInputs}};this.#t?.("[kasware] signPskt request",{txid:i.txid,inputsToSign:n.map(l=>({index:l.index,kind:l.kind,signatureOffset:l.signatureOffset})),options:s.options});this.#t?.("[kasware] signPskt txJsonString",i.txJson);let c;try{c=await this.#d("signPskt",()=>o.signPskt(s))}catch(l){this.#t?.("[kasware] signPskt error",l instanceof kn?{code:l.code,message:l.message}:l);throw l}this.#t?.("[kasware] signPskt raw response",typeof c==="string"?c:JSON.stringify(c));const d=lh(c);this.#t?.("[kasware] signPskt signature scripts",fh(d));Ta(i,d);return{request:i,signed:d}}async signMessage(t){const n=this.#n;if(n===null)throw new Me;const r=this.#i();if(typeof r.signMessage!=="function")throw new Sa("KasWare","this version has no signMessage");await this.#s(r);if(this.#n!==n)throw new Me;this.#t?.("[kasware] signMessage request",{message:t});let o;try{o=await this.#d("signMessage",()=>r.signMessage(t,{type:"schnorr"}))}catch(i){this.#t?.("[kasware] signMessage error",i instanceof kn?{code:i.code,message:i.message}:i);throw i}this.#t?.("[kasware] signMessage raw response",o);return bc("kasware",o)}#i(){const t=this.#e();if(t===void 0)throw new Gn(this.id);return t}async#s(t){const n=await this.#d("getNetwork",()=>t.getNetwork());const r=uh(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 o=r;throw new kn(t,typeof o?.code==="number"?o.code:void 0,typeof o?.message==="string"?o.message:String(r))}}#a(t){if(this.#r?.provider===t)return;this.#p();if(typeof t.on!=="function")return;const n=new Map;for(const r of ph){const o=a((...i)=>{this.#t?.(`[kasware] ${r}`,i[0]);this.#l(r==="accountsChanged"?{kind:"accounts-changed",payload:i[0]}:{kind:"network-changed",payload:i[0]})},"listener");t.on(r,o);n.set(r,o)}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.#o]){try{n(t)}catch{}}}};function E3(e={}){return new Iu(e)}a(E3,"createKasWareAdapter");var gh=["mainnet","testnet-10"];var Cm=4200;var gt=class extends Error{static{a(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===Cm}};function yh(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")}a(yh,"kastleSignedJsonOf");function bh(e){if(typeof e==="string"){const t=e.toLowerCase().replace(/^0x/,"");if(/^[0-9a-f]{128}$/.test(t))return t}throw new gt("signMessage",void 0,`expected a 64-byte hex signature, got ${JSON.stringify(e)}`)}a(bh,"kastleMessageSignatureOf");function hh(e){try{const t=JSON.parse(e);return(t.inputs??[]).map((n,r)=>{const o=n.signatureScript??"";return{input:r,bytes:o.length/2,head:o.slice(0,2),tail:o.slice(-2)}})}catch{return"unparseable"}}a(hh,"sigScriptSummary");var kh=["accountsChanged","networkChanged"];function wh(){const e=globalThis.kastle;return e!==null&&typeof e==="object"&&typeof e.signTx==="function"?e:void 0}a(wh,"defaultProvider");var Lu=class{static{a(this,"KastleAdapter")}id="kastle";label="Kastle";network;#e;#t;#n=null;#r;#o=new Set;constructor(t={}){const n=t.provider;this.#e=typeof n==="function"?n:n!==void 0?()=>n:wh;this.network=t.network??"testnet-10";this.#t=t.log===void 0?(...r)=>console.info(...r):t.log;mt(this.network);if(!gh.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.#o.add(t);return()=>this.#o.delete(t)}async connect(){const t=this.#i();const n=await this.#a("connect",()=>t.connect());if(n!==true)throw new gt("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.#s(t);const n=await this.#a("getAccount",()=>t.getAccount());this.#t?.("[kastle] getAccount ->",n);const r=n??{};if(typeof r.address!=="string")throw new gt("getAccount",void 0,"no account returned");const o=r.address;let i;try{i=Wt(o)}catch(d){throw new we(`wallet account ${o} is not a valid address: ${d.message}`)}if(i.prefix!==mt(this.network))throw new we(`wallet account ${o} is not a ${this.network} address`);let s;try{s=h(xa(o))}catch(d){throw new we(`wallet account ${o}: ${d.message}`)}const c=$u(r.publicKey);if(c===void 0)throw new we(`getAccount returned the key ${JSON.stringify(r.publicKey)}, expected a 33-byte compressed or 32-byte x-only key`);if(c!==s)throw new we(`getAccount key ${String(r.publicKey)} is not the key of ${o}`);this.#n={address:o,publicKey:s,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 o=this.#i();await this.#s(o);if(this.#n!==r)throw new Me;const i=Aa(t,n,{networkId:this.network});const s=i.signInputs.map(l=>({inputIndex:l.index,signType:"All"}));this.#t?.("[kastle] signTx request",{networkId:this.network,txid:i.txid,inputsToSign:n.map(l=>({index:l.index,kind:l.kind,signatureOffset:l.signatureOffset})),scripts:s});this.#t?.("[kastle] signTx txJson",i.txJson);let c;try{c=await this.#a("signTx",()=>o.signTx(this.network,i.txJson,s))}catch(l){this.#t?.("[kastle] signTx error",l instanceof gt?{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=yh(c);this.#t?.("[kastle] signTx signature scripts",hh(d));Ta(i,d);return{request:i,signed:d}}async signMessage(t){const n=this.#n;if(n===null)throw new Me;const r=this.#i();if(typeof r.signMessage!=="function")throw new gt("signMessage",Cm,"this Kastle version has no signMessage");await this.#s(r);if(this.#n!==n)throw new Me;this.#t?.("[kastle] signMessage request",t);let o;try{o=await this.#a("signMessage",()=>r.signMessage(t))}catch(i){this.#t?.("[kastle] signMessage error",i instanceof gt?{code:i.code,message:i.message}:i);throw i}this.#t?.("[kastle] signMessage raw response",o);return bh(o)}#i(){const t=this.#e();if(t===void 0)throw new Gn(this.id);return t}async#s(t){const n=await this.#a("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#a(t,n){try{return await n()}catch(r){if(typeof r==="string")throw new gt(t,r==="User denied"?4001:void 0,r);const o=r;const i=typeof o?.message==="string"?o.message:String(r);const s=typeof o?.code==="number"?o.code:i==="User denied"?4001:void 0;throw new gt(t,s,i)}}#p(t){if(this.#r?.provider===t)return;this.#l();if(typeof t.on!=="function")return;const n=new Map;for(const r of kh){const o=a((...i)=>{this.#t?.(`[kastle] ${r}`,i[0]);this.#u(r==="accountsChanged"?{kind:"accounts-changed",payload:i[0]}:{kind:"network-changed",payload:i[0]})},"listener");t.on(r,o);n.set(r,o)}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.#o]){try{n(t)}catch{}}}};function N3(e={}){return new Lu(e)}a(N3,"createKastleAdapter");var xh=36;function kc(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]!==xh)continue;for(let o=0;o<t.length;o++)if(e[r+1+o]!==t[o])continue e;n.push(r+1);r+=t.length}return n}a(kc,"creatorSlots");function Ru(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=kc(n.suffix,n.params.creatorSpk);if(r.length===0)throw new Error(`preset ${n.preset}: no creator slot in the compiled suffix`);const o=Uint8Array.from(n.suffix);for(const c of r)o.set(t,c);const i=n.bytecode.subarray(n.stateOffset,n.stateOffset+n.stateLength);const s={...n,suffix:o,bytecode:E(n.prefix,i,o),templateHash:Lt(n.prefix,o),params:{...n.params,creatorSpk:Uint8Array.from(t)}};return{...e,curve:s}}a(Ru,"instantiateCurve");function Em(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 o=kc(r.suffix,r.params.creatorSpk)[0];if(o===void 0)continue;const i=e.subarray(r.stateOffset+r.stateLength);const s=i.subarray(o,o+nt);if(!Jt(s))continue;const c=Ru(n,s);if(M(c.curve.suffix,i))return c}return null}a(Em,"contextForCurveProgram");var Om=a((e,t)=>e.state.amount<t.state.amount?1:e.state.amount>t.state.amount?-1:0,"byAmountDesc");function _m(e,t,n={}){const r=n.reserved??new Set;return e.filter(o=>(t===void 0||o.covenantId===t)&&o.state.owner.schemeByte===0&&o.state.amount>0n&&!r.has(B(o.outpoint)))}a(_m,"spendableCells");function G3(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 o=e.find(c=>c.state.amount===t);if(o)return{kind:"exact",cell:o};const i=e.filter(c=>c.state.amount>t).sort(Om);if(i.length>0)return{kind:"needs-split",cell:i[i.length-1],available:r};const s=[...e].sort(Om);for(let c=2;c<=Math.min(n,s.length);c++){const d=vh(s,c,t);if(d)return{kind:"needs-consolidation",cells:d}}return{kind:"needs-plan",available:r}}a(G3,"selectTokenCells");function vh(e,t,n){const r=[];const o=a((i,s)=>{if(r.length===t)return s===0n;for(let c=i;c<e.length;c++){const d=e[c];if(d.state.amount>s)continue;r.push(d);if(o(c+1,s-d.state.amount))return true;r.pop()}return false},"rec");return o(0,n)?r:void 0}a(vh,"subsetOfSize");function Im(e,t,n){const r=new Set;for(const s of t)for(const c of s.built.plan.inputs)if(c.covenantId===void 0)r.add(B(c.outpoint));const o=e.filter(s=>!r.has(B(s.outpoint)));const i=Z(n.address);for(const s of t){const c=s.optimistic.funding.change;if(c)o.push({outpoint:c.outpoint,amount:c.amount,spk:i,daaScore:0n,address:n.address})}return o}a(Im,"remainingFunding");var $m=a(e=>({...e.feeMargin===void 0?{}:{feeMargin:e.feeMargin},...e.feerate===void 0?{}:{feerate:e.feerate}}),"feeOf");function Lm(e){const{ctx:t,pool:n,inventory:r,reserve:o,owner:i,shares:s}=e;$i(n,r,_e(t));const c=Li(n,s,_e(t));const d=$m(e);const l=Ei({ctx:t,cells:e.cells,owner:i,funding:e.funding,target:c.dTok,...e.fundingOptions===void 0?{}:{fundingOptions:e.fundingOptions},...d});const u=Im(e.funding,l.transactions,i);const p=e.lpCellValue??_i;const m=p>l.cell.value?p-l.cell.value:0n;const y=ar(u,c.dKasScaled*le+m,e.fundingOptions);const g=dc({ctx:t,pool:n,inventory:r,reserve:o,userCell:l.cell,funding:y,changeAddress:i.address,shares:s,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 b=[...l.transactions,g];return{plan:l.plan,transactions:b,totalFee:b.reduce((w,x)=>w+x.built.fee,0n),final:g}}a(Lm,"buildDepositChain");function Rm(e){const{ctx:t,pool:n,inventory:r,reserve:o,owner:i,shares:s}=e;const c=$i(n,r,_e(t));const d=Ri(n,s,e.minKasOut,e.minTokOut,_e(t));for(const b of e.lpCells)if(b.covenantId!==c)throw new Error(`cell ${B(b.outpoint)} is not of the pool's L ${c}`);const l=$m(e);const u=Ei({ctx:t,cells:e.lpCells,owner:i,funding:e.funding,target:s,...e.fundingOptions===void 0?{}:{fundingOptions:e.fundingOptions},...l});const p=e.tokCellValue??Ui(u.cell.value);const m={ctx:t,pool:n,inventory:r,reserve:o,userLpCell:u.cell,changeAddress:i.address,shares:s,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 y;if(!uc(u.cell.value,p,d.dKasScaled)){try{y=ba(m)}catch(b){if(!(b instanceof Dt))throw b}}if(y===void 0){const b=Im(e.funding,u.transactions,i);y=ba({...m,funding:ar(b,0n,e.fundingOptions)})}const g=[...u.transactions,y];return{plan:u.plan,transactions:g,totalFee:g.reduce((b,w)=>b+w.built.fee,0n),final:y}}a(Rm,"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:qs[vr(e.version)],sweepMinSompi:10n*ke,tokenCellSompi:t.tokenCellKas}}a(Xe,"launchPresetOf");var Uu=class extends Error{static{a(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 Nu=5n*ke;var Bu=5n*ke;function Um(e){const{ctx:t,creatorAddress:n,metadata:r,funding:o}=e;const i=e.prepValue??Nu;const s=e.curveValue??Bu;const c=pe(e);const d=t.curve;Ne(t);mm(t);va(t);ym(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{tp(Xe(d))}if(o.length===0)throw new Error("buildCreate: no funding");for(const be of["name","symbol"]){const he=r[be];if(typeof he!=="string"||he.trim()==="")throw new Error(`buildCreate: the declaration needs a non-empty ${be==="symbol"?"ticker (`symbol`)":"name (`name`)"}`)}const u=df(t.networkId,{name:r.name,ticker:r.symbol},n);if(u!==null)throw new Uu(u.word,u.field);const p=Z(n);const m=vf(r);const y={tokenCovId:Ve,lotsSold:0n,feeAccrued:0n,phase:xr};const g=Yo(d,y);if(h(g)!==h(d.bytecode))throw new Error("curve genesis program differs from the compiled artifact");const b={name:"tx01 prep + curve genesis",inputs:o.map((be,he)=>ce(be,he===0?"creator KAS (prep + genesis funding)":`creator KAS ${he}`)),outputs:[Mn("prep outpoint P2PK(creator)",i,p),pn(t,"CURVE genesis {phase 0}",y,s,void 0,void 0)],residual:Ie(p,"change (creator)"),genesisGroups:[{authorizingInput:0,outputs:[1]}],payload:m,...c};const w=me(b,["prep","curve"],"change",{reserveOutputs:[0]});const x=w.built;const S=x.genesis[0].covenantId;if(x.residualValue===0n&&e.funding2===void 0)throw new Error("tx01 has no change output to fund tx2; pass funding2");const A=x.outputs.findIndex(be=>be.label==="change (creator)");const P=e.funding2??[{outpoint:{txid:x.txid,index:A},amount:x.residualValue,spk:p,daaScore:0n,address:n}];const $=Sh({ctx:t,creatorAddress:n,prepTxid:x.txid,C:S,prepValue:i,curveValue:s,funding2:P,...c});const{T:L,initCurveState:U,supplyState:z,reserveState:R}=$;const W=$.shaped;const xe=W.built;const ge=Ah(t,S,L,m,[z,R]);return{tx01:x,tx2:xe,prepAndCurveGenesis:w,tokenGenesisInit:W,registration:ge,C:S,T:L,payload:m,genesisCurveState:y,initCurveState:U,factoryGateSkipped:l}}a(Um,"buildCreate");function Sh(e){const{ctx:t,creatorAddress:n,prepTxid:r,C:o,prepValue:i,curveValue:s,funding2:c}=e;const d=t.curve;const l=d.params;const u=Z(n);const p={tokenCovId:Ve,lotsSold:0n,feeAccrued:0n,phase:xr};const m=Yo(d,p);const y=l.curveLots*l.lot;const g=Ue(y,o);const b=Ue(l.gradReserve,o);const w=ne(t,"KCC20 supply cell {CURVE_SUPPLY, owner C}",g,l.tokenCellKas,void 0,void 0);const x=ne(t,"KCC20 reserve cell {GRAD_RESERVE, owner C}",b,l.tokenCellKas,void 0,void 0);const S={txid:r,index:0};const A=tt(S.txid,S.index,[{index:0,value:w.value,scriptVersion:0,script:w.spk},{index:1,value:x.value,scriptVersion:0,script:x.spk}]);if(A===o)throw new Error("token lineage id collides with the curve id");const P={tokenCovId:_(A),lotsSold:0n,feeAccrued:0n,phase:wt};const $={outpoint:S,amount:i,spk:u,daaScore:0n,address:n};const L={kind:"curve",outpoint:{txid:r,index:1},value:s,covenantId:o,program:m,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,Nf(d,m,t.token.prefix,t.token.suffix)),...c.map((R,W)=>ce(R,W===0?"creator KAS (cell funding + fee)":`creator KAS ${W}`))],outputs:[{...w,cell:w.cell?{...w.cell,covenantId:A}:void 0},{...x,cell:x.cell?{...x.cell,covenantId:A}:void 0},pn(t,"CURVE' {T, 0, 0, active}",P,s,o,1)],residual:Ie(u,"change (creator)"),genesisGroups:[{authorizingInput:0,outputs:[0,1]}],payload:new Uint8Array(0),...pe(e)};const z=me(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:g,reserveState:b}}a(Sh,"buildTokenGenesisInit");function Ah(e,t,n,r,o){const i=e.curve;const s=i.params;return{expectedCurveId:t,curveTemplate:{prefix:h(i.prefix),suffix:h(i.suffix)},params:{preset:i.preset,templateHash:i.templateHash,p0:s.p0.toString(),k:s.k.toString(),lot:s.lot.toString(),curveLots:s.curveLots.toString(),gradReserve:s.gradReserve.toString(),feeBps:s.feeBps.toString(),tokenCellKas:s.tokenCellKas.toString(),openWindowLots:s.openWindowLots.toString(),openWindowMaxLots:s.openWindowMaxLots.toString(),tokenH:s.tokenH,poolH:s.poolH},...s.treasurySpk===void 0?{}:{treasurySpk:h(s.treasurySpk)},contractSet:i.version,creatorSpk:h(s.creatorSpk),declaration:h(r),expectedTokenId:n,genesisStates:o.map(Zo)}}a(Ah,"registrationOf");function Ku(e,t,n,r){const o=e.curve.params;if(n<=0n)throw new Error("n must be positive");if(t.state.lotsSold+n>o.curveLots)throw new Error(`only ${o.curveLots-t.state.lotsSold} lots remain`);if(t.state.lotsSold<o.openWindowLots&&n>o.openWindowMaxLots)throw new Error(`opening window: at most ${o.openWindowMaxLots} lots per buy while lotsSold < ${o.openWindowLots}`);const i=Fo(Xe(e.curve).curve,t.state.lotsSold,n);if(r!==void 0&&i.total>r)throw new Error(`quote ${i.total} exceeds maxKasIn ${r}`);return i}a(Ku,"buyPrecheck");function Nm(e){const{ctx:t,curve:n,supply:r,buyer:o,n:i,funding:s}=e;dr(`buy(${i})`,e.proofVerdict);if(e.borrowInto!==void 0){throw new Fn("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=oc(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(s.length===0)throw new Error("buy needs at least one funding input");const l=Ku(t,n,i,e.maxKasIn);const u=ga(t,[{cell:r,name:"supply"}]);const p=i*t.curve.params.lot;const m=Ue(r.state.amount-p,n.covenantId);const y=e.borrowThreshold===void 0?Bn(p,o.xOnlyPubkey):Bn(p,o.xOnlyPubkey,{borrowScheme:es,borrowGuard:dl(e.borrowThreshold)});Ke(c,[r],[m,y],Hn);const g={tokenCovId:n.state.tokenCovId,lotsSold:n.state.lotsSold+i,feeAccrued:n.state.feeAccrued+l.fee,phase:wt};const b={name:`buy(${i})`,inputs:[Vt(n,`CURVE buy(${i}, user)`,Ze(t).curveBuy,Dd(t.curve,n.program,i,tr(y,t.token.templateHash))),ln(r,[m,y],"KCC20 supply cell (T leader, witness 00)",ve.tokenLeaderCovenant2Out),...s.map(S=>ce(S,"buyer KAS"))],outputs:[pn(t,"CURVE'",g,n.value+l.total,n.covenantId,0),ne(t,"rest (owner C)",m,u,c,1),ne(t,"user cell",y,d,c,1)],residual:Ie(Z(o.address),"change (buyer)"),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};He(b,[n.covenantId,c]);const w=me(b,["curve","token-rest","token-user"],"change");const x=l.total+d+w.built.fee;pa(b.name,x,w.built.fee,e.maxAllIn);return{...w,quote:l,curveNext:g,restNext:m,userNext:y,allIn:x}}a(Nm,"buildBuy");function wc(e){return{treasury:e.treasury,creator:e.creator,split:e}}a(wc,"sharesOf");function Bm(e){const{ctx:t,curve:n,funding:r}=e;ur(t,n);const o=Ne(t);const i=Xe(t.curve);if(!op(i,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 s=zs(o,n.state.feeAccrued);const c=i.treasurySharePct;const d=Ti(s,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,jd(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(iu(s)+s.creator!==n.state.feeAccrued)throw new Error("sweep shares do not add up to the accrual");He(u,[n.covenantId]);return{...me(u,["curve",...d.roles],"change"),curveNext:l,...wc(s)}}a(Bm,"buildSweep");function Km(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 o=Ne(t);gn(t,n);const i=hi(bn(n));const s=Js(o,i.payout);const c={...n.state,feeAccruedScaled:0n};const d=false;if(n.state.creatorSpk===void 0)throw new Error(`a ${o} pool state without a creator`);const l={treasurySpk:t.pool.treasurySpk,creatorSpk:n.state.creatorSpk??new Uint8Array(0)};const u=Ti(s,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,qd(t.pool,n.program)),...r.map(y=>ce(y,"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(iu(s)+s.creator!==i.payout)throw new Error("pool sweep shares do not add up to the payout");const m=["pool",...u.roles];He(p,[n.covenantId]);return{...me(p,m,"change"),poolNext:c,payout:i.payout,...wc(s)}}a(Km,"buildPoolSweep");var Mm=3;function xc(e){const{ctx:t,curve:n,reserve:r,supplyEmpty:o,funding:i}=e;const s=t.curve.params;const c=ur(t,n);if(n.state.lotsSold!==s.curveLots)throw new Error(`graduate needs lotsSold == ${s.curveLots}, have ${n.state.lotsSold}`);for(const[R,W]of[["reserve",r],["supply",o]]){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!==s.gradReserve)throw new Error(`reserve cell holds ${r.state.amount}, expected ${s.gradReserve}`);if(o.state.amount!==0n)throw new Error(`supply cell holds ${o.state.amount} tokens, expected 0`);const d=ga(t,[{cell:r,name:"reserve"},{cell:o,name:"supply"}]);const l=e.keepSupplyDeposit===true?d-s.tokenCellKas:d;if(i.length===0)throw new Error("graduate needs a KAS input as the pool genesis authorizing input");const u=Ne(t);const p=mp(u,Xe(t.curve),n.value,n.state.feeAccrued);const m=p.escrow;const y=bi(m,s.gradReserve);const g={tokenCovId:n.state.tokenCovId,kasScaled:y.kasScaled,tokenReserve:s.gradReserve,lpShares:Qe,lpCovId:Uint8Array.from(Jo),feeAccruedScaled:0n,creatorSpk:Uint8Array.from(s.creatorSpk)};const b=ft(t,"POOL genesis",g,m,void 0,void 0);const w=tt(i[0].outpoint.txid,i[0].outpoint.index,[{index:0,value:m,scriptVersion:0,script:b.spk}]);if(w===n.covenantId||w===c)throw new Error("pool id collides with C or T");const x=Ue(s.gradReserve,w);Ke(c,[r,o],[x],Hn);const S=Xe(t.curve).treasurySharePct;const A=p.split===void 0?{outputs:[],roles:[]}:Ti(p.split,s,{treasury:`treasury (${S} %)`,creator:`creator (${100n-S} %)`});const P={name:"graduate",inputs:[Vt(n,"CURVE graduate(poolPrefix, poolSuffix)",Ze(t).curveGraduate,Bf(t.curve,n.program,t.pool)),ln(r,[x],"KCC20 reserve cell (T leader, witness 00)",ve.tokenLeaderCovenant1Out),fn(o,"KCC20 empty supply cell (T delegator, empty witness)"),...i.map((R,W)=>ce(R,W===0?"KAS (P genesis authorizing input, fee)":"KAS"))],outputs:[{...b,cell:b.cell?{...b.cell,covenantId:w}:void 0},ne(t,"reserve' (owner P)",x,l,c,1),...A.outputs],residual:Ie(Z(e.changeAddress)),genesisGroups:[{authorizingInput:Mm,outputs:[0]}],payload:new Uint8Array(0),...pe(e)};if(P.inputs.length-i.length!==Mm)throw new Error("unexpected input layout");const $=["pool","token-reserve",...A.roles];He(P,[n.covenantId,c]);const L=me(P,$,"change");if(L.built.genesis[0].covenantId!==w)throw new Error(`pool genesis id ${L.built.genesis[0].covenantId} != client-side P ${w}`);const U=2+A.outputs.length;if(L.built.outputs.length>U+1||L.built.outputs.some((R,W)=>W>0&&R.binding?.covenantId===w))throw new Error("graduate: output layout is not the pinned one");const z=p.split===void 0?void 0:wc(p.split);return{...L,P:w,poolNext:g,reserveNext:x,escrow:m,dust:y.dust,pooled:p.pooled,treasury:z?.treasury??0n,creator:z?.creator??0n}}a(xc,"buildGraduate");var lo=10n*ke;var Mu=0;var Fu=1;var Du=3;var Th=1;function vc(e){const{ctx:t,pool:n,funding:r}=e;if(!Fe(gn(t,n)))throw new Error("bindLp exists in the v1 pool only");if(La(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 o=e.inventoryValue??lo;if(o<lo)throw new Error(`inventory cell value ${o} is below TOKEN_CELL_KAS (${lo} sompi)`);const i=n.covenantId;const s=h(n.state.tokenCovId);const c=Ue(ru,i,ui(t.pool,i));const d=ne(t,"L inventory (genesis, owner P)",c,o,void 0,void 0);const l=r[0];const u=tt(l.outpoint.txid,l.outpoint.index,[{index:Fu,value:o,scriptVersion:0,script:d.spk}]);if(u===h(Jo)||u===i||u===s)throw new Error("L collides with 0^32, P or T");const p={...n.state,lpCovId:_(u)};const m=ft(t,"POOL' {lpCovId L}",p,n.value,i,Mu);const y={name:"bindLp",inputs:[Gt(n,"POOL bindLp(tokenPrefix, tokenSuffix)",la(t).poolBindLp,Wd(t.pool,n.program,t.token)),...r.map((b,w)=>ce(b,w===0?"KAS (L genesis authorizing input, inventory funding, fee)":"KAS"))],outputs:[m,{...d,cell:d.cell?{...d.cell,covenantId:u}:void 0}],residual:Ie(Z(e.changeAddress)),genesisGroups:[{authorizingInput:Th,outputs:[Fu]}],payload:new Uint8Array(0),...pe(e)};He(y,[i]);const g=me(y,["pool","token-reserve"],"change");if(g.built.genesis[0].covenantId!==u)throw new Error(`L genesis id ${g.built.genesis[0].covenantId} != client-side L ${u}`);if(g.built.outputs.length>Du)throw new Error(`bindLp has ${g.built.outputs.length} outputs, the covenant allows ${Du}`);if(g.built.outputs[Mu].value!==n.value)throw new Error("pool value must be unchanged by the bind");return{...g,L:u,poolNext:p,inventoryNext:c,budgets:g.built.budgets,fee:g.built.fee}}a(vc,"buildBindLp");function Fm(e){const{ctx:t,changeAddress:n}=e;const r=xc(e);const o=r.built;const i={kind:"pool",outpoint:{txid:o.txid,index:0},value:o.outputs[0].value,covenantId:r.P,program:di(t.pool,r.poolNext),state:r.poolNext,daaScore:0n};if(!Fe(Ne(t)))return{graduate:r,pool:i};const s=Z(n);const c=o.outputs.length-1;if(o.residualValue<=0n||h(o.outputs[c].spk)!==h(s)){throw new Error("graduate pays no change to fund the bind: fund it with at least the inventory value plus both fees")}const d=Hp({txid:o.txid,index:c},o.outputs[c].value,s,n);const l=vc({ctx:t,pool:i,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:i}}a(Fm,"buildGraduateAndBind");function Hu(e,t,n,r){if(n<=0n||n>t.state.lotsSold)throw new Error(`cannot sell ${n} lots with ${t.state.lotsSold} sold`);const o=qa(Xe(e.curve).curve,t.state.lotsSold,n);if(r!==void 0&&o.total<r)throw new Error(`quote ${o.total} is below minKasOut ${r}`);return o}a(Hu,"sellPrecheck");function Dm(e){const{ctx:t,curve:n,supply:r,userCell:o,seller:i,n:s}=e;const c=t.curve.params;dr(`sell(${s})`,e.proofVerdict,e.allowUnboundExit===true);ur(t,n);pt(`curve ${n.covenantId}`,n.state.tokenCovId,e.tokenId);const d=oc(t,n,r);lr(o,d,n.covenantId);if(e.expectedTokens!==void 0&&s*c.lot!==e.expectedTokens)throw new Dn(`sell(${s})`,e.expectedTokens,s*c.lot);const l=Hu(t,n,s,e.minKasOut);if(o.state.amount!==s*c.lot)throw new Error(`user cell holds ${o.state.amount} tokens, sell(${s}) needs exactly ${s*c.lot}; consolidate or split first`);const u=ga(t,[{cell:r,name:"supply"}]);const p=Ue(r.state.amount+s*c.lot,n.covenantId);Ke(d,[o,r],[p],qt);const m={tokenCovId:n.state.tokenCovId,lotsSold:n.state.lotsSold-s,feeAccrued:n.state.feeAccrued+l.fee,phase:wt};const y={name:`sell(${s})`,inputs:[Ot(o,[p],"KCC20 user cell (T leader, 00 || sig)",Ct(2,1)),fn(r,"KCC20 supply cell (T delegator, empty witness)"),Vt(n,`CURVE sell(${s})`,Ze(t).curveSell,Hd(t.curve,n.program,s)),...(e.funding??[]).map(w=>ce(w,"seller KAS (top-up)"))],outputs:[ne(t,"merged (owner C)",p,u,d,0),pn(t,"CURVE'",m,n.value-l.cost+l.fee,n.covenantId,2)],residual:Xr(Z(i.address),"payout (seller)",mn),genesisGroups:[],payload:new Uint8Array(0),...pe(e)};He(y,[n.covenantId,d]);const g=me(y,["token-rest","curve"],"payout");const b=g.built.residualValue-io(e.funding);ma(y.name,b,g.built.fee,e.minNetOut);return{...g,quote:l,curveNext:m,mergedNext:p,payout:g.built.residualValue,netOut:b}}a(Dm,"buildSell");var Ph=100000000n;var Hm=ke/20n;var Ch=ke/10n;function Pa(e=We,t){try{return hf(e,ti().list($s(e,t)))}catch(n){if(t!==void 0)return[];throw n}}a(Pa,"committedPresets");function jm(e){const{sources:t}=e;const n=e.networkId;const r=new Map;for(const f of e.contexts??[]){va(f);r.set(f.curve.templateHash,f)}let o=false;const i=e.presets;const s=a((f,k,v)=>{const C=ir(f,n,k,v);va(C);return C},"contextOf");const c=a((f,k,v)=>{const C=ir(f,n,k,v);return Bi(C)?C:void 0},"baseOf");const d=bd(n??an);const l=a((f,k)=>f.pool.revision===k,"isOfRevision");const u=[];const p=a(()=>{if(o)return;for(const f of jo){const k=f===We&&i!==void 0?i:Pa(f);for(const v of k){const C=c(v,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 Za(n??an)){for(const k of Pa("v1",f)){const v=c(k,"v1",f);if(v===void 0)continue;u.push(v);if(!r.has(v.curve.templateHash))r.set(v.curve.templateHash,v)}}o=true},"loadPresets");const m=a((f,k=We,v=d)=>{p();if(v!==void 0&&v!==d&&!Za(n??an).includes(v)){throw new Error(`revision ${v} is not a ${n??an} build`)}for(const O of r.values())if(O.curve.preset===f&&Ne(O)===k&&l(O,v))return O;const C=s(f,k,v);r.set(C.curve.templateHash,C);return C},"contextFor");const y=a(f=>{p();for(const k of r.values())if(Ne(k)===f&&l(k,d))return k;return void 0},"anyContextOrUndefined");const g=a((f=We)=>{const k=y(f);if(k===void 0)throw new Error(`no ${f} curve context available`);return k},"anyContext");const b=new Map;const w=a(f=>{let k=b.get(f);if(!k){k=new si(f.curve,f.pool,f.token);b.set(f,k)}return k},"decoderOf");const x=a(f=>{p();for(const v of r.values()){try{if(w(v).decode(f).kind==="curve")return v}catch{}}const k=Em(f,u);if(k!==null){r.set(k.curve.templateHash,k);return k}throw new Zr},"contextOfCurveProgram");const S=a(f=>{for(const k of jo){const v=y(k);if(v===void 0)continue;const{stateOffset:C,stateLength:O,templateHash:T}=v.pool;if(f.length>=C+O&&Rt(f,C,O)===T)return v}for(const k of r.values()){if(l(k,d))continue;const{stateOffset:v,stateLength:C,templateHash:O}=k.pool;if(f.length>=v+C&&Rt(f,v,C)===O)return k}throw new Error("pool program matches no known pool template")},"contextOfPoolProgram");const A=a(async()=>{const f=oi(await t.feerate(),"GET /fees");return e.feeMargin===void 0?{feerate:f}:{feerate:f,feeMargin:e.feeMargin}},"feeOptions");const P=a((f={})=>({...e.fundingOptions,...f}),"fundingOpts");function $(f,k){const v=`cell ${k.outpoint.txid}:${k.outpoint.index}`;if(!/^[0-9a-f]{64}$/.test(k.covenantId))throw new Error(`${v}: malformed covenant id`);if(k.amount<=0n)throw new Error(`${v}: non-positive value`);const C=w(f).decode(k.redeemScript);if(C.templateHash!==k.templateHash)throw new Error(`${v}: source template hash ${k.templateHash} != recomputed ${C.templateHash}`);const O={outpoint:{txid:k.outpoint.txid,index:k.outpoint.index},value:k.amount,covenantId:k.covenantId,program:k.redeemScript,daaScore:0n};const T=a((I,G)=>{if(JSON.stringify(I)!==JSON.stringify(G))throw new Error(`${v}: source state differs from the state decoded from its program`)},"differs");switch(C.kind){case"token":T(Zo(k.state),Zo(C.state));return{kind:"token",...O,state:C.state};case"curve":T(Ds(k.state),Ds(C.state));return{kind:"curve",...O,state:C.state};case"pool":T(Hs(k.state),Hs(C.state));return{kind:"pool",...O,state:C.state}}}a($,"verifiedCell");const L=a((f,k)=>{const v=$(f,k);if(v.kind!=="token")throw new Error(`cell ${k.outpoint.txid}:${k.outpoint.index}: program is a ${v.kind} cell, expected a token cell`);return v},"tokenCellOf");const U=a((f,k)=>{const v=$(f,k);if(v.kind!=="curve")throw new Error(`cell ${k.outpoint.txid}:${k.outpoint.index}: program is a ${v.kind} cell, expected a curve cell`);return v},"curveCellOf");const z=a((f,k)=>{const v=$(f,k);if(v.kind!=="pool")throw new Error(`cell ${k.outpoint.txid}:${k.outpoint.index}: program is a ${v.kind} cell, expected a pool cell`);return v},"poolCellOf");const R=a((f,k)=>{if(k!==void 0&&k.toLowerCase()!==f.toLowerCase())throw new to(f,k)},"requireCurveOfProof");const W=a(async(f,k)=>{const v=await t.curveHead(f);if(v.covenantId!==f)throw new Error(`curve head of ${v.covenantId}, asked for ${f}`);const C=x(v.redeemScript);const O=U(C,v);pt(`curve ${f}`,O.state.tokenCovId,k);return{ctx:C,curve:O}},"curveOf");async function xe(f,k,v=false){const C=h(k.state.tokenCovId);const O=k.covenantId;const[T,I]=await Promise.all([t.tokenCells(C,O).catch(()=>[]),t.covenantCells(O).then(oe=>[oe.supply,oe.reserve],()=>[])]);const G=[];for(const oe of[...I,...T]){try{G.push(L(f,oe))}catch{}}const q=f.curve.params;const J={supply:(q.curveLots-k.state.lotsSold)*q.lot,reserve:q.gradReserve};return Kp(G,C,O,J,v)}a(xe,"curveCellsOf");const ge=a(async(f,k,v)=>{if(v.length!==32)throw new Error("owner must be a 32-byte x-only public key");const C=h(v);const O=(await t.tokenCells(k,C)).map(T=>L(f,T));for(const T of O){if(T.covenantId!==k)throw new Error(`token cell ${T.outpoint.txid}:${T.outpoint.index} is not of lineage ${k}`);if(h(T.state.owner.identifier)!==C)throw new Error(`token cell ${T.outpoint.txid}:${T.outpoint.index} is not owned by ${C}`)}return _m(O,k)},"userCellsOf");const be=a(async(f,k,v)=>{if(v!==void 0&&v.toLowerCase()!==f.toLowerCase())throw new no(f,v);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);bn(T);const I=pt(`pool ${f}`,T.state.tokenCovId,k);const G=Mp((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=a(async(f,k,v,C)=>{const{ctx:O,pool:T,poolToken:I,T:G}=await be(f,v,C);const q=Ii(T);if(k!==void 0)om(k,T.state);const J=wi({...bn(T),lpShares:T.state.lpShares},_e(O));const oe=(await t.tokenCells(q,f)).map(re=>L(O,re)).find(re=>rc(re,q,f)&&re.state.amount===J);if(oe===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:oe,T:G,L:q}},"boundPoolOf");const $e=a(async(f,k,v={})=>ar(await t.funding(f),k,P(v)),"fundingFor");const It=a((f,k)=>{const v=bu(f.map(I=>({id:B(I.outpoint),amount:I.state.amount})),k);const C=new Map(f.map(I=>[B(I.outpoint),I]));const O=v.steps[0];if(v.steps.length===1&&O?.kind==="split")return new oo(C.get(O.input).outpoint,O.carve);const T=v.steps.flatMap(I=>I.kind==="merge"?I.inputs:[]).flatMap(I=>C.has(I)?[C.get(I).outpoint]:[]);return new ro(T,v.steps.length)},"needsOf");const Wn={async buildCreate(f){const k=m(f.preset,f.contractSet??We,f.revision??d);const v=await A();const C=f.prepValue??Nu;const O=f.curveValue??Bu;const T=await $e(f.creator,C+O+2n*k.curve.params.tokenCellKas,{feeAllowance:Ch});const I=Um({ctx:k,creatorAddress:f.creator,metadata:f.metadata,funding:T,prepValue:C,curveValue:O,...v,...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 Fn("borrowed receive into an existing cell: the deployed curve buy requires OpCovInputCount(T) == 1 and a user output of exactly n * lot")}const{ctx:k,curve:v}=await W(f.covenantId,f.tokenId);const{supply:C}=await xe(k,v);const O=Ku(k,v,f.lots,f.maxKasIn);const T=f.userCellValue??Pt;const I=await A();const G=await $e(f.buyer,O.total+T);return Se(Nm({ctx:k,curve:v,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 k=f.allowUnboundExit===true;dr(`sell(${f.lots})`,f.proofVerdict,k);R(f.covenantId,f.expectedCurveId);const{ctx:v,curve:C}=await W(f.covenantId,f.tokenId);const O=f.lots*v.curve.params.lot;if(f.expectedTokens!==void 0&&O!==f.expectedTokens)throw new Dn(`sell(${f.lots})`,f.expectedTokens,O);const{supply:T}=await xe(v,C);const I=Hu(v,C,f.lots,f.minKasOut);const G=h(C.state.tokenCovId);const q=await ge(v,G,f.sellerXOnlyPubkey);const J=q.find(_a=>_a.state.amount===O);if(!J)throw It(q,O);const oe=await A();const re=J.value+I.total<mn+Hm;const Te=re?await $e(f.seller,0n):[];return Se(Dm({ctx:v,curve:C,supply:T,userCell:J,seller:{address:f.seller},n:f.lots,proofVerdict:f.proofVerdict,allowUnboundExit:k,funding:Te,...oe,...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:k,pool:v,poolToken:C,T:O}=await be(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 og=await $e(f.trader,f.amountIn*le+zn+(f.deliverToScript?.scriptFunding??0n));return Se(Zp({ctx:k,pool:v,poolToken:C,buyer:{xOnlyPubkey:f.traderXOnlyPubkey,address:f.trader},kasInScaled:f.amountIn,funding:og,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 ge(k,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 oe=f.amountIn+(q?.state.amount??0n);const re=Vr(bn(v),oe,_e(k),ua(k));const Te=J.value+(q?.value??0n)+re.kasOutScaled*le<mn+Hm;const _a=Te?await $e(f.trader,0n):[];return Se(hu({ctx:k,pool:v,poolToken:C,userCell:J,seller:{address:f.trader},funding:_a,...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:k,pool:v,poolToken:C,T:O}=await be(f.poolId,f.tokenId,f.expectedPoolId);const T=h(Qo(f.redeem));const I=(await t.tokenCells(O,`script:${T}`)).map(re=>L(k,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=js(se(f.redeem),n??an);if(q!==f.scriptAddress)throw new yn(`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 oe=await A();return Se(hu({ctx:k,pool:v,poolToken:C,userCell:G,seller:{address:f.payout},funding:[],...oe,tokenId:O,scriptAuthority:{redeem:f.redeem,utxo:J,signerXOnly:h(f.signerXOnly),...f.allowAnyScript===void 0?{}:{allowAnyScript:f.allowAnyScript}}}))},async buildConsolidate(f){const k=g();const v=await ge(k,f.covenantId,f.ownerXOnlyPubkey);const C=await A();const O=await t.funding(f.owner);const T=Xp({ctx:k,cells:v,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 k=g();const v=await ge(k,f.covenantId,f.ownerXOnlyPubkey);const C=v.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,Pi(C.value).topUp);return Se(ic({ctx:k,cell:C,carve:f.carve,changeAddress:f.owner,funding:T,...O}))},async buildGraduate(f){const{ctx:k,curve:v}=await W(f.covenantId);const{supply:C,reserve:O}=await xe(k,v,true);const T=await A();const I=await $e(f.funder,0n);const G=f.keepSupplyDeposit===true;return Se(xc({ctx:k,curve:v,reserve:O,supplyEmpty:C,funding:I,changeAddress:f.funder,keepSupplyDeposit:G,...T}))},async buildGraduateAndBind(f){const{ctx:k,curve:v}=await W(f.covenantId);const{supply:C,reserve:O}=await xe(k,v,true);const T=await A();const I=f.keepSupplyDeposit===true;const G=Fe(Ne(k))?lo+Ph:0n;const q=I?k.curve.params.tokenCellKas:0n;const J=G>q?G-q:0n;const oe=await $e(f.funder,J);const re=Fm({ctx:k,curve:v,reserve:O,supplyEmpty:C,funding:oe,changeAddress:f.funder,keepSupplyDeposit:I,...T});return{graduate:Se(re.graduate),...re.bind===void 0?{}:{bind:Se(re.bind)}}},async buildBindLp(f){const{ctx:k,pool:v}=await be(f.poolId);const C=await A();const O=await $e(f.funder,lo);return Se(vc({ctx:k,pool:v,funding:O,changeAddress:f.funder,...C}))},async buildAddLiquidity(f){if(f.lpSafe!==true)throw new sr(f.lpSafeReason);const{ctx:k,pool:v,reserve:C,inventory:O,T}=await he(f.poolId,f.quoted,f.tokenId,f.expectedPoolId);const I=Li(v,f.shares,_e(k));const G=await ge(k,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 oe=f.lpCellValue??_i;const re=await $e(f.depositor,I.dKasScaled*le+(oe>q.value?oe-q.value:0n));return Se(dc({ctx:k,pool:v,inventory:O,reserve:C,userCell:q,funding:re,changeAddress:f.depositor,shares:f.shares,lpSafe:true,lpCellValue:oe,...J,...f.tokenId===void 0?{}:{tokenId:f.tokenId},...f.maxAllIn===void 0?{}:{maxAllIn:f.maxAllIn}}))},async buildRemoveLiquidity(f){const{ctx:k,pool:v,reserve:C,inventory:O,L:T}=await he(f.poolId,f.quoted,f.tokenId,f.expectedPoolId);const I=Ri(v,f.shares,f.minKasOut,f.minTokOut,_e(k));const G=await ge(k,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 oe=f.tokCellValue??Ui(q.value);const re={ctx:k,pool:v,inventory:O,reserve:C,userLpCell:q,changeAddress:f.withdrawer,shares:f.shares,tokCellValue:oe,...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(!uc(q.value,oe,I.dKasScaled)){try{return Se(ba({...re,funding:[]}))}catch(Te){if(!(Te instanceof Dt))throw Te}}return Se(ba({...re,funding:await $e(f.withdrawer,0n)}))},async planDeposit(f){if(f.lpSafe!==true)throw new sr(f.lpSafeReason);const{ctx:k,pool:v,reserve:C,inventory:O,T}=await he(f.poolId,f.quoted,f.tokenId,f.expectedPoolId);const I=await ge(k,T,f.depositorXOnlyPubkey);const G=await A();const q=await t.funding(f.depositor);const J=Lm({ctx:k,pool:v,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:k,pool:v,reserve:C,inventory:O,L:T}=await he(f.poolId,f.quoted,f.tokenId,f.expectedPoolId);const I=await ge(k,T,f.withdrawerXOnlyPubkey);const G=await A();const q=await t.funding(f.withdrawer);const J=Rm({ctx:k,pool:v,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 k=await A();if(f.venue==="curve"){const{ctx:T,curve:I}=await W(f.covenantId);const G=await $e(f.funder,0n);return Se(Bm({ctx:T,curve:I,funding:G,changeAddress:f.funder,...k}))}const{ctx:v,pool:C}=await be(f.covenantId);const O=await $e(f.funder,0n);return Se(Km({ctx:v,pool:C,funding:O,changeAddress:f.funder,...k}))},async curveParams(f){const{ctx:k}=await W(f.covenantId,f.tokenId);return k.curve.params},async buildExactCell(f){const k=g();const v=await ge(k,f.covenantId,f.ownerXOnlyPubkey);const C=await A();const O=await t.funding(f.owner);const T=Ei({ctx:k,cells:v,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:nc,estimate:Ip};return Wn}a(jm,"createTxBuilder");var Eh=Object.freeze(["mainnet","testnet-10"]);var fo=Object.freeze({mainnet:"v1-kasseal-mainnet-2","testnet-10":"v1-kasseal-mainnet-2-tn10"});var Oh=Object.freeze([fo.mainnet,fo["testnet-10"]]);var _h=Object.freeze({mainnet:"https://app.kasseal.com/v1","testnet-10":"https://testnet.kasseal.com/v1"});var po=class extends Error{static{a(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 mo=class extends Error{static{a(this,"UnsupportedBuild")}build;networkId;constructor(t,n){super(`contract build ${JSON.stringify(t)} is not the ${n} build (${fo[n]??"none"})`);this.name="UnsupportedBuild";this.build=t;this.networkId=n}};function Vm(e){return e==="mainnet"||e==="testnet-10"}a(Vm,"isKassealNetwork");function zt(e){if(!Vm(e))throw new po(String(e))}a(zt,"assertNetwork");function Gm(e){zt(e);return fo[e]}a(Gm,"buildOf");function Ih(e,t,n="v1",r=Gm(t)){zt(t);if(r!==fo[t])throw new mo(r,t);return ir(e,t,n,r)}a(Ih,"createContext");var $h=Object.freeze(["buildBuy","buildSell","buildSwap","buildScriptSell","buildConsolidate","buildSplit","buildSweep","buildBindLp","buildAddLiquidity","buildRemoveLiquidity","planDeposit","planWithdrawal","buildExactCell","curveParams","finalize","estimate"]);function Lh(e){zt(e.networkId);for(const i of e.contexts??[]){if(i.networkId!==e.networkId)throw new po(i.networkId);if(i.pool.revision!==fo[e.networkId])throw new mo(String(i.pool.revision),e.networkId)}const{presets:t,...n}=e;const r=jm({...n,networkId:e.networkId});const o={};for(const i of $h){const s=r[i];if(typeof s!=="function")throw new Error(`builder method ${i} is missing`);o[i]=s.bind(r)}return Object.freeze(o)}a(Lh,"createTxBuilder");var Ea=class extends Error{static{a(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 gr=class extends Error{static{a(this,"HeadMoving")}constructor(){super("the curve or pool head is changing hands; read again");this.name="HeadMoving"}};var Rh=a(e=>new Promise(t=>setTimeout(t,e)),"sleep");var qm=a(e=>`${e.txid}:${e.index}`,"keyOf");var Ca=a((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 Uh(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=mt(e.network);const r=e.attempts??5;const o=e.fetch??((...m)=>fetch(...m));const i=e.useTip??true;const s=e.ownKey.toLowerCase();let c;let d;let l=[];async function u(m){for(let y=0;;y++){const g=await o(`${t}${m}`,{headers:{accept:"application/json"}});if(g.ok)return await g.json();const b=await g.json().catch(()=>null);if((g.status===429||g.status===503)&&y+1<r){const w=typeof b?.retryAfterMs==="number"&&b.retryAfterMs>=0?Math.min(b.retryAfterMs,3e4):1e3;await Rh(w+Math.floor(Math.random()*250));continue}throw new Ea(m,g.status,b)}}a(u,"get");const p=a(m=>{if(m.startsWith("script:"))return m;return m.toLowerCase()===s?`pk:${m}`:`covenant:${m}`},"ownerParam");return{lastFunding:a(()=>l,"lastFunding"),async funding(m){if(Wt(m).prefix!==n)throw new Ae(`${m} is not a ${e.network} address`);const y=await u(`/address/${encodeURIComponent(m)}/utxos`);l=y.utxos.filter(g=>!g.isCoinbase&&g.scriptPublicKey.version===0).map(g=>({outpoint:{txid:g.outpoint.txid,index:g.outpoint.index},amount:BigInt(g.amount),spk:_(g.scriptPublicKey.script),daaScore:BigInt(g.blockDaaScore),address:m}));return l},async tokenCells(m,y){const g=p(y);const b=(await u(`/tokens/${m}/cells?owner=${encodeURIComponent(g)}`)).cells.map(w=>Ca(w,ea(w.state)));if(c!==void 0&&g===`covenant:${c.poolId}`&&c.cell.covenantId===m){const w=Ca(c.cell,ea(c.cell.state),false);return[w,...b.filter(x=>qm(x.outpoint)!==qm(w.outpoint))]}return b},async covenantCells(){const m=await u(`/tokens/${e.tokenId}/covenant-cells`);const y=d??m.supply;if(y===void 0||m.reserve===void 0)throw new gr;return{supply:Ca(y,ea(y.state)),reserve:Ca(m.reserve,ea(m.reserve.state))}},async curveHead(){const m=await u(`/tokens/${e.tokenId}/curve-head`);if(m.headSpent===true)throw new gr;const y=i?m.tip:void 0;d=y?.supply;const g=y?.curve??m;return Ca(g,Ld(g.state),y===void 0?m.confirmed:false)},async poolCell(m){const y=await u(`/pools/${m}/cell`);if(y.headSpent===true)throw new gr;const g=i?y.tip:void 0;c=g===void 0?void 0:{poolId:m,cell:g.reserve};const b=g?.pool??y;return Ca(b,Rd(b.state),g===void 0?y.confirmed:false)},async feerate(){return BigInt((await u("/fees")).feerateSompiPerGram)}}}a(Uh,"createApiSources");var Wm={"format":1,"builds":{"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-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/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"}};var zm={"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 Oa=Wm;var Nh=zm;var yr=class extends Error{static{a(this,"ArtifactIntegrityError")}path;expected;actual;constructor(t,n,r,o){super(`contract artifact ${t}: ${n}`);this.name="ArtifactIntegrityError";this.path=t;this.expected=r;this.actual=o}};var Ki=class extends Error{static{a(this,"SdkIntegrityError")}file;constructor(t,n){super(`Kaspa SDK ${t}: ${n}`);this.name="SdkIntegrityError";this.file=t}};function Bh(e){const t=Oa.files[e];if(t===void 0)throw new yr(e,"not listed in the package manifest");return t}a(Bh,"expectedArtifactDigest");function fT(e,t){const n=Bh(e);if(t!==n)throw new yr(e,`sha256 ${t} does not match the pinned ${n}`,n,t)}a(fT,"assertArtifactDigest");function Kh(e){if(Oa.builds[e]===void 0)throw new yr(e,"is not a bundled build");const t=a(n=>n.includes(`/artifacts/${e}/`),"inBuild");return Object.keys(Oa.files).filter(n=>t(n)||n===Oa.tokenReference.path).sort()}a(Kh,"artifactPathsOfBuild");function pT(e){const t=`${e.replace(/\/+$/,"")}/`;const n=new Set;for(const r of Object.keys(Oa.files)){if(!r.startsWith(t))continue;const o=r.slice(t.length);if(!o.includes("/"))n.add(o)}return[...n].sort()}a(pT,"listFromManifest");var Jm=[[po,"UNSUPPORTED_NETWORK"],[mo,"UNSUPPORTED_BUILD"],[yr,"ARTIFACT_INTEGRITY"],[Ki,"SDK_INTEGRITY"],[Bt,"ARTIFACT_MISSING"],[Ho,"ARTIFACT_NOT_LOADED"],[Do,"ARTIFACT_SOURCE_NOT_INSTALLED"],[Ya,"CONTRACT_SET_NOT_SUPPORTED"],[qo,"SDK_NOT_INSTALLED"],[yt,"LAYOUT"],[wn,"UNKNOWN_TEMPLATE"],[go,"TEMPLATE_MISMATCH"],[yo,"TEMPLATE_NOT_DECODABLE"],[N,"DECODE"],[D,"VALIDATION"],[at,"SUPPLY"],[br,"OWNERSHIP"],[Q,"TRANSFER"],[de,"STATE_CODEC"],[$o,"DECLARATION"],[F,"SIGSCRIPT"],[In,"CURVE_MATH"],[X,"ARGUMENT"],[Lo,"SELL_PAYOUT_TOO_SMALL"],[V,"PARAMETER"],[Ro,"OVERFLOW"],[ue,"POOL"],[$r,"POOL_PAYOUT_TOO_SMALL"],[st,"LP"],[At,"LP_STATE"],[Uo,"LP_SHARE_COUNT"],[No,"LP_SHARES_CAP"],[Lr,"LP_RESERVE_CAP"],[Rr,"LP_FLOOR"],[Ur,"LP_PAYOUT_TOO_SMALL"],[Bo,"LP_TOKEN_LEG_TOO_SMALL"],[$n,"LP_INVARIANT"],[Ko,"LP_INVENTORY"],[Xa,"STANDARD_BAND_OUT_OF_RANGE"],[Yr,"PROOF_NOT_BOUND"],[Fn,"SHAPE_NOT_SUPPORTED"],[Qr,"LINEAGE_MISMATCH"],[Dn,"TOKEN_AMOUNT_MISMATCH"],[Zr,"UNKNOWN_CURVE_TEMPLATE"],[eo,"COVENANT_CELL_VALUE"],[sr,"LP_UNSAFE"],[to,"CURVE_NOT_OF_PROOF"],[no,"POOL_NOT_OF_PROOF"],[cr,"NET_BOUND_EXCEEDED"],[ro,"NEEDS_CONSOLIDATION"],[oo,"NEEDS_SPLIT"],[Dt,"RESIDUAL_BELOW_MINIMUM"],[or,"FLOOR_VIOLATION"],[Jr,"INSUFFICIENT_FUNDS"],[Si,"PINNED_FUNDING_GONE"],[pr,"INSUFFICIENT_TOKENS"],[zr,"COVENANT_CELL_NOT_FOUND"],[ao,"FOREIGN_COVENANT_INPUT"],[Oi,"RATIO_DRIFT"],[yn,"UNSAFE_SCRIPT"],[_t,"SLIPPAGE_OUT_OF_RANGE"],[Nr,"FEE_ABOVE_CEILING"],[Go,"FEERATE_OUT_OF_RANGE"],[co,"TREASURY_NOT_ALLOWED_ON_NETWORK"],[sn,"STATE_JSON"],[De,"TOKEN_RECIPIENT_REFUSED"],[Oe,"CLAIM_MISMATCH"],[te,"FINALIZE"],[ha,"REJECTED"],[ye,"REPLACEMENT_REFUSED"],[et,"RETRY_POLICY"],[hn,"INVALID_TRANSITION"],[ze,"OPTIMISTIC_CONFLICT"],[Ae,"ADDRESS"],[jt,"SIGHASH"],[Y,"SIGN_REQUEST"],[Vn,"MESSAGE_SIGNATURE"],[Sa,"MESSAGE_SIGNING_UNSUPPORTED"],[Gn,"WALLET_UNAVAILABLE"],[Me,"WALLET_NOT_CONNECTED"],[qn,"WALLET_NETWORK_MISMATCH"],[we,"WALLET_ACCOUNT_MISMATCH"],[uo,"KASPIRE"],[gt,"KASTLE"],[kn,"KASWARE"],[Ia,"NOT_SUPPORTED"],[Ea,"API_ERROR"],[gr,"HEAD_MOVING"]];var Mh=[uo,gt,kn];var Fh=Object.freeze(Jm.map(([,e])=>e));function Dh(){const e=new Set;for(const[t,n]of Jm){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(!Mh.includes(t))Object.defineProperty(r,"code",{value:n,enumerable:false,configurable:false,writable:false})}}a(Dh,"install");Dh();function Xm(e){if(!(e instanceof Error))return void 0;const t=e.errorCode;return typeof t==="string"?t:void 0}a(Xm,"errorCode");function Hh(e,t){const n=Xm(e);return n!==void 0&&(t===void 0||n===t)}a(Hh,"isKassealError");function Ym(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}a(Ym,"curveParamsForProof");function Qm(e,t,n){for(const r of n){const o=r.curve;if(!M(e,o.prefix)||t.length!==o.suffix.length)continue;const i=kc(o.suffix,o.params.creatorSpk)[0];if(i===void 0)continue;const s=t.subarray(i,i+nt);if(!Jt(s))continue;const c=Ru(r,s);if(M(c.curve.suffix,t))return c}return null}a(Qm,"contextForCurveTemplate");function Zm(e){const t=[];for(const n of jo){for(const r of Pa(n))t.push(ir(r,e,n))}for(const n of Za(e??an)){for(const r of Pa("v1",n))t.push(ir(r,e,"v1",n))}return t.filter(n=>Bi(n))}a(Zm,"committedCurveBases");function ju(e,t){return(n,r)=>{const o=Qm(n,r,e);if(o===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:Ym(o.curve.params)}}}a(ju,"curveTemplateTrust");var jh=146;function eg(){const e=Vo(Is);const t=_(e.contracts.KCC20.bytecode_hex).subarray(jh);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}a(eg,"referenceTokenSuffix");function tg(e){zt(e);return Zm(e).filter(t=>t.networkId===e)}a(tg,"curveBasesOf");function Vh(e,t,n=tg(t)){zt(t);let r;try{r=ys(e)}catch(s){return{status:"malformed",reason:s instanceof Error?s.message:String(s)}}let o;const i=Wl(r,{referenceSuffix:eg(),curveTemplate:ju(n,s=>{o=s})});return i.status==="bound"&&o!==void 0?{...i,status:"unverified",reason:o}:i}a(Vh,"verifyLaunchProofJson");var ng=Object.freeze({mainnet:"https://api.kaspa.org","testnet-10":"https://api-tn10.kaspa.org"});function rg(e,t,n){const r=a(s=>typeof s==="string","str");const o=a(s=>(typeof s==="number"||typeof s==="string"&&/^\d+$/.test(s))&&Number.isSafeInteger(Number(s)),"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(s=>!o(s.index)||!r(s.previous_outpoint_hash)||!o(s.previous_outpoint_index)||!r(s.signature_script)))return"unavailable";const i=[...n.inputs].sort((s,c)=>Number(s.index)-Number(c.index));if(i.length!==e.inputs.length)return"mismatch";for(const[s,c]of e.inputs.entries()){const d=i[s];if(Number(d.index)!==s)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"}a(rg,"compareGraduationWithChain");async function Gh(e,t,n={}){zt(t);let r;let o;try{const l=ys(e).graduation;if(l===null||l===void 0)return"none";r=l.tx;o=ot(r).txid}catch{return"mismatch"}const i=(n.baseUrl??ng[t]).replace(/\/+$/,"");const s=n.fetch??((...l)=>fetch(...l));const c=new AbortController;const d=setTimeout(()=>c.abort(),n.timeoutMs??8e3);try{const l=await s(`${i}/transactions/${o}?inputs=true&outputs=false&resolve_previous_outpoints=no`,{signal:c.signal});if(l.status===404)return"not-found";if(!l.ok)return"unavailable";return rg(r,o,await l.json())}catch{return"unavailable"}finally{clearTimeout(d)}}a(Gh,"graduationOnChain");function qh(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}a(qh,"maxBuyLots");function Wh(e,t,n){if(n<=0n)return 0n;const r=qh(e,t);if(r<=0n)return 0n;const o=Xe(e).curve;const i=a(d=>Fo(o,t,d).total<=n,"fits");if(!i(1n))return 0n;let s=1n;let c=r;while(s<c){const d=(s+c+1n)/2n;if(i(d))s=d;else c=d-1n}return s}a(Wh,"lotsForKas");function _6(e,t,n){const r=Wh(e,t,n);const o=r===0n?0n:Fo(Xe(e).curve,t,r).total;return{lots:r,tokens:r*e.params.lot,total:o,leftover:n-o}}a(_6,"buyForKas");function I6(e,t){if(t<0n)throw new Error("tokens must be non-negative");return t/e.params.lot}a(I6,"lotsForTokens");function $6(e,t){if(t<=0n)return void 0;const n=Xe(e).curve;const r=a(s=>{try{return qa(n,t,s).total}catch{return-1n}},"net");if(r(t)<Mo)return void 0;let o=1n;let i=t;while(o<i){const s=(o+i)/2n;if(r(s)>=Mo)i=s;else o=s+1n}return o}a($6,"minSellLots");function L6(e){return e<=0n?0n:e/lt}a(L6,"poolLegForKas");export{Ia as a,yt as b,wn as c,go as d,yo as e,N as f,D as g,at as h,br as i,Q as j,E as k,h as l,_ as m,M as n,ho as o,se as p,cg as q,tt as r,de as s,Ju as t,wo as u,i1 as v,vn as w,s1 as x,wr as y,nt as z,Ve as A,Wi as B,kt as C,xr as D,wt as E,Xu as F,Pc as G,c1 as H,xo as I,La as J,vr as K,Jt as L,vo as M,So as N,Cc as O,Ec as P,_c as Q,Po as R,Co as S,Sn as T,Ar as U,Xt as V,hg as W,al as X,es as Y,il as Z,sl as _,Rc as $,kg as aa,wg as ba,Tn as ca,Cr as da,Xi as ea,Yi as fa,$c as ga,nl as ha,Eo as ia,cl as ja,Qn as ka,Tr as la,Pr as ma,xt as na,rt as oa,Qi as pa,Zi as qa,Lc as ra,dl as sa,xg as ta,ul as ua,Ua as va,vt as wa,vg as xa,Sg as ya,Ag as za,pl as Aa,ts as Ba,Ng as Ca,Bg as Da,as as Ea,hl as Fa,is as Ga,kl as Ha,wl as Ia,ot as Ja,Na as Ka,ss as La,F as Ma,er as Na,Mg as Oa,Ka as Pa,Fg as Qa,_o as Ra,Io as Sa,Be as Ta,Le as Ua,us as Va,Pn as Wa,tr as Xa,Or as Ya,Yt as Za,Fc as _a,Ma as $a,Fa as ab,Da as bb,Qt as cb,Tl as db,Cn as eb,En as fb,On as gb,Dc as hb,Dg as ib,jg as jb,St as kb,ls as lb,Al as mb,qg as nb,fs as ob,Hc as pb,Ol as qb,Zg as rb,n0 as sb,r0 as tb,jc as ub,Vc as vb,Gc as wb,o0 as xb,Lt as yb,Rt as zb,_n as Ab,Ir as Bb,Ha as Cb,Ll as Db,J1 as Eb,Rl as Fb,qe as Gb,ek as Hb,s0 as Ib,c0 as Jb,gs as Kb,Ul as Lb,Nl as Mb,$o as Nb,d0 as Ob,l0 as Pb,jl as Qb,Vl as Rb,pk as Sb,mk as Tb,f0 as Ub,Wc as Vb,p0 as Wb,Wl as Xb,y0 as Yb,gk as Zb,ys as _b,In as $b,X as ac,Lo as bc,V as cc,Ro as dc,ue as ec,$r as fc,st as gc,At as hc,Uo as ic,No as jc,Lr as kc,Rr as lc,Ur as mc,Bo as nc,$n as oc,Ko as pc,Tt as qc,Va as rc,Yc as sc,ed as tc,k0 as uc,zl as vc,Jl as wc,w0 as xc,Qc as yc,Mo as zc,Zc as Ac,Xl as Bc,Yl as Cc,en as Dc,x0 as Ec,Ql as Fc,td as Gc,Ga as Hc,Fo as Ic,qa as Jc,Wa as Kc,ks as Lc,nd as Mc,rd as Nc,od as Oc,ad as Pc,tn as Qc,S0 as Rc,xs as Sc,dt as Tc,P0 as Uc,ef as Vc,nn as Wc,C0 as Xc,id as Yc,E0 as Zc,O0 as _c,_0 as $c,Bk as ad,Kk as bd,za as cd,I0 as dd,$0 as ed,sd as fd,L0 as gd,Mk as hd,R0 as id,cd as jd,Ut as kd,Fk as ld,ud as md,Dk as nd,nf as od,Hk as pd,jk as qd,Vk as rd,vs as sd,Xa as td,Gk as ud,sf as vd,As as wd,Ts as xd,fd as yd,cf as zd,pd as Ad,tw as Bd,Es as Cd,Bt as Dd,Do as Ed,jo as Fd,Fe as Gd,Ya as Hd,We as Id,yd as Jd,ff as Kd,bd as Ld,Ho as Md,Nw as Nd,wf as Od,ty as Pd,Bw as Qd,Kw as Rd,Rn as Sd,xf as Td,ke as Ud,Pt as Vd,ut as Wd,nr as Xd,Sf as Yd,wd as Zd,Ls as _d,ni as $d,xd as ae,vd as be,Ad as ce,ri as de,Rs as ee,Af as fe,Tf as ge,Sd as he,Pf as ie,Un as je,Go as ke,oi as le,ay as me,Br as ne,Nr as oe,Td as pe,ve as qe,ai as re,Us as se,Pd as te,sy as ue,Cf as ve,cy as we,dy as xe,Ct as ye,ii as ze,Kr as Ae,Cd as Be,qo as Ce,uy as De,Yw as Ee,ly as Fe,Nn as Ge,rr as He,le as Ie,Jo as Je,Ks as Ke,Ms as Le,fy as Me,ci as Ne,_d as Oe,Fs as Pe,Xo as Qe,Yo as Re,di as Se,Ue as Te,Id as Ue,Qo as Ve,Bn as We,If as Xe,ui as Ye,Mt as Ze,$f as _e,Ed as $e,si as af,sn as bf,Zo as cf,ea as df,Ds as ef,Ld as ff,Hs as gf,Rd as hf,Lf as if,Kn as jf,gy as kf,Ce as lf,ta as mf,yy as nf,cn as of,Rf as pf,by as qf,Uf as rf,fi as sf,Nd as tf,Bd as uf,Kd as vf,Md as wf,Fd as xf,Dd as yf,Hd as zf,jd as Af,Vd as Bf,Gd as Cf,pi as Df,Kf as Ef,qd as Ff,Wd as Gf,zd as Hf,Jd as If,hy as Jf,mi as Kf,na as Lf,gi as Mf,B as Nf,Ff as Of,Dt as Pf,jf as Qf,Vf as Rf,ky as Sf,Xd as Tf,Gf as Uf,Hf as Vf,wy as Wf,xy as Xf,vy as Yf,Px as Zf,Cx as _f,qf as $f,Ex as ag,Ox as bg,Z as cg,_x as dg,Wf as eg,yi as fg,js as gg,zf as hg,lt as ig,Jf as jg,Sy as kg,Xf as lg,Qd as mg,Zd as ng,Gs as og,dn as pg,Hr as qg,Yd as rg,Et as sg,ra as tg,Ay as ug,eu as vg,Ht as wg,jr as xg,Vs as yg,bi as zg,hi as Ag,tu as Bg,ki as Cg,Vr as Dg,Ty as Eg,Zf as Fg,ep as Gg,nu as Hg,qs as Ig,Vx as Jg,tp as Kg,Py as Lg,np as Mg,rp as Ng,Gx as Og,op as Pg,ap as Qg,Qe as Rg,oa as Sg,ru as Tg,un as Ug,Cy as Vg,Ey as Wg,ip as Xg,sp as Yg,Ee as Zg,Qx as _g,Oy as $g,wi as ah,Zx as bh,lp as ch,fp as dh,ev as eh,tv as fh,nv as gh,Ws as hh,rv as ih,ov as jh,av as kh,_y as lh,au as mh,Iy as nh,pp as oh,iv as ph,sv as qh,cv as rh,dv as sh,zs as th,Js as uh,iu as vh,mp as wh,ca as xh,By as yh,Ky as zh,My as Ah,Fy as Bh,jt as Ch,Zs as Dh,uu as Eh,Tp as Fh,te as Gh,Ep as Hh,Op as Ih,tc as Jh,_p as Kh,nc as Lh,Ip as Mh,Hv as Nh,jv as Oh,$p as Ph,Lp as Qh,qy as Rh,Wy as Sh,zy as Th,Jy as Uh,tS as Vh,Oe as Wh,Xy as Xh,nS as Yh,ze as Zh,Up as _h,De as $h,lS as ai,fS as bi,zr as ci,rc as di,Kp as ei,Mp as fi,Je as gi,Fp as hi,da as ii,or as ji,eb as ki,Dp as li,Jr as mi,tb as ni,nb as oi,rb as pi,ob as qi,ab as ri,ib as si,Si as ti,ar as ui,CS as vi,Hp as wi,Ne as xi,Ze as yi,_e as zi,ua as Ai,jp as Bi,la as Ci,ln as Di,Ot as Ei,fn as Fi,Ai as Gi,Vt as Hi,Gt as Ii,ce as Ji,ne as Ki,pn as Li,ft as Mi,Mn as Ni,Ie as Oi,Xr as Pi,lu as Qi,Yr as Ri,Fn as Si,Qr as Ti,Dn as Ui,Zr as Vi,eo as Wi,sr as Xi,to as Yi,no as Zi,cr as _i,ro as $i,oo as aj,mn as bj,t2 as cj,dr as dj,pt as ej,io as fj,pa as gj,ma as hj,Se as ij,pe as jj,me as kj,ub as lj,ur as mj,oc as nj,ga as oj,gn as pj,ya as qj,lr as rj,Ke as sj,Ti as tj,Hn as uj,qt as vj,ao as wj,He as xj,fb as yj,pu as zj,ac as Aj,Pi as Bj,ic as Cj,mu as Dj,pr as Ej,sc as Fj,cc as Gj,fr as Hj,qp as Ij,yu as Jj,bu as Kj,pb as Lj,E2 as Mj,gu as Nj,Jp as Oj,Ei as Pj,Xp as Qj,bn as Rj,yn as Sj,D2 as Tj,Yp as Uj,Qp as Vj,Zp as Wj,hu as Xj,gb as Yj,yb as Zj,t8 as _j,em as $j,n8 as ak,r8 as bk,o8 as ck,a8 as dk,i8 as ek,bb as fk,s8 as gk,tm as hk,hb as ik,c8 as jk,d8 as kk,u8 as lk,l8 as mk,kb as nk,ku as ok,_i as pk,nm as qk,wu as rk,Ii as sk,$i as tk,Li as uk,Ri as vk,rm as wk,jn as xk,dc as yk,wb as zk,Ui as Ak,xb as Bk,uc as Ck,ba as Dk,vb as Ek,Sb as Fk,f8 as Gk,Ab as Hk,Tb as Ik,Oi as Jk,om as Kk,lc as Lk,_t as Mk,vu as Nk,im as Ok,Pb as Pk,Cb as Qk,g8 as Rk,y8 as Sk,Eb as Tk,ha as Uk,_b as Vk,v8 as Wk,Ib as Xk,S8 as Yk,A8 as Zk,T8 as _k,cm as $k,Su as al,ye as bl,Ub as cl,Nb as dl,Bb as el,O8 as fl,lm as gl,et as hl,Au as il,R8 as jl,U8 as kl,qb as ll,fm as ml,Wb as nl,hn as ol,Yb as pl,Qb as ql,Zb as rl,pm as sl,wa as tl,gc as ul,nh as vl,rh as wl,Ae as xl,Cu as yl,Wt as zl,mt as Al,xa as Bl,wm as Cl,Eu as Dl,co as El,vm as Fl,Sm as Gl,Am as Hl,yc as Il,Ou as Jl,Bi as Kl,va as Ll,Vn as Ml,Sa as Nl,bc as Ol,Y as Pl,ih as Ql,sh as Rl,Aa as Sl,Tm as Tl,Ta as Ul,uo as Vl,Gn as Wl,Me as Xl,qn as Yl,we as Zl,_u as _l,k3 as $l,w3 as am,kn as bm,hc as cm,uh as dm,Pm as em,$u as fm,lh as gm,Iu as hm,E3 as im,gh as jm,Cm as km,gt as lm,yh as mm,bh as nm,Lu as om,N3 as pm,kc as qm,Ru as rm,Em as sm,_m as tm,G3 as um,vh as vm,Im as wm,Lm as xm,Rm as ym,Xe as zm,Ku as Am,Nm as Bm,wc as Cm,Bm as Dm,Km as Em,lo as Fm,Mu as Gm,Fu as Hm,Du as Im,vc as Jm,Hu as Km,Dm as Lm,Pa as Mm,Eh as Nm,fo as Om,Oh as Pm,_h as Qm,po as Rm,mo as Sm,Vm as Tm,zt as Um,Gm as Vm,Ih as Wm,Lh as Xm,Ea as Ym,gr as Zm,Uh as _m,Oa as $m,Nh as an,yr as bn,Ki as cn,fT as dn,Kh as en,pT as fn,Fh as gn,Xm as hn,Hh as in,Ym as jn,Qm as kn,ju as ln,eg as mn,tg as nn,Vh as on,ng as pn,rg as qn,Gh as rn,qh as sn,Wh as tn,_6 as un,I6 as vn,$6 as wn,L6 as xn};
|