@kaspacom/kcc20-tx-builder 0.8.0-fee.3 → 0.8.0-fee.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/RELEASING.md +13 -2
  3. package/artifacts/KCC20FeePolicyV1.manifest.json +4 -4
  4. package/artifacts/KCC20WrapperFeeArgentV1.placeholder.json +1816 -360
  5. package/artifacts/KCC20WrapperFeeV1.placeholder.json +1818 -362
  6. package/dist/artifacts.d.ts +5 -5
  7. package/dist/artifacts.js +5 -5
  8. package/dist/cjs/artifacts.d.ts +5 -5
  9. package/dist/cjs/artifacts.js +5 -5
  10. package/dist/cjs/engine.js +2782 -1
  11. package/dist/cjs/engine.js.map +1 -1
  12. package/dist/cjs/escrow-market-artifacts.d.ts +90 -0
  13. package/dist/cjs/escrow-market-artifacts.js +128 -0
  14. package/dist/cjs/escrow-market-artifacts.js.map +1 -0
  15. package/dist/cjs/escrow-market-setup.d.ts +429 -0
  16. package/dist/cjs/escrow-market-setup.js +140 -0
  17. package/dist/cjs/escrow-market-setup.js.map +1 -0
  18. package/dist/cjs/index.d.ts +2 -0
  19. package/dist/cjs/index.js +2 -0
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/operations.d.ts +1 -1
  22. package/dist/cjs/operations.js +12 -0
  23. package/dist/cjs/operations.js.map +1 -1
  24. package/dist/cjs/sale-common.d.ts +1 -1
  25. package/dist/engine.d.ts.map +1 -1
  26. package/dist/engine.js +2782 -1
  27. package/dist/engine.js.map +1 -1
  28. package/dist/escrow-market-artifacts.d.ts +91 -0
  29. package/dist/escrow-market-artifacts.d.ts.map +1 -0
  30. package/dist/escrow-market-artifacts.js +124 -0
  31. package/dist/escrow-market-artifacts.js.map +1 -0
  32. package/dist/escrow-market-setup.d.ts +430 -0
  33. package/dist/escrow-market-setup.d.ts.map +1 -0
  34. package/dist/escrow-market-setup.js +133 -0
  35. package/dist/escrow-market-setup.js.map +1 -0
  36. package/dist/index.d.ts +2 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +2 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/operations.d.ts +1 -1
  41. package/dist/operations.d.ts.map +1 -1
  42. package/dist/operations.js +12 -0
  43. package/dist/operations.js.map +1 -1
  44. package/dist/sale-common.d.ts +1 -1
  45. package/docs/COMPATIBILITY.json +1 -1
  46. package/docs/escrow-fees.md +3 -1
  47. package/package.json +3 -3
  48. package/src/artifacts.ts +5 -5
  49. package/src/engine.ts +3165 -165
  50. package/src/escrow-market-artifacts.ts +129 -0
  51. package/src/escrow-market-setup.ts +182 -0
  52. package/src/index.ts +2 -0
  53. package/src/operations.ts +12 -0
@@ -0,0 +1,133 @@
1
+ import { encodeKcc20EscrowPolicy, kcc20EscrowPolicyId } from "./escrow-policy.js";
2
+ import { buildKcc20FeeMarketRoleScript, verifyKcc20FeeMarketArtifacts, } from "./escrow-market-artifacts.js";
3
+ const ZERO = "00".repeat(32);
4
+ const MAX = (1n << 63n) - 1n;
5
+ function hex32(value, label, allowZero = false) {
6
+ if (typeof value !== "string" || !/^[0-9a-f]{64}$/i.test(value) ||
7
+ (!allowZero && value.toLowerCase() === ZERO)) {
8
+ throw new Error(`${label} must be a ${allowZero ? "valid" : "nonzero"} 32-byte hex value`);
9
+ }
10
+ return value.toLowerCase();
11
+ }
12
+ /** Produce the only genesis role: an unbound wrapper with no orderbook root. */
13
+ export function prepareKcc20FeeMarketGenesis(input) {
14
+ const tokenId = hex32(input.tokenId, "token ID");
15
+ const feeTicketId = hex32(input.feeTicketId, "FeeTicket ID", true);
16
+ if (typeof input.priceScale !== "bigint" || input.priceScale <= 0n || input.priceScale > MAX) {
17
+ throw new Error("market price scale is outside the contract range");
18
+ }
19
+ if (input.wrapperProfile !== "native" && input.wrapperProfile !== "argent") {
20
+ throw new Error("unsupported fee-market wrapper profile");
21
+ }
22
+ if (input.wrapperProfile === "argent" && input.policy.creatorFeeBps !== 0) {
23
+ throw new Error("Argent token profile cannot authorize creator fees");
24
+ }
25
+ verifyKcc20FeeMarketArtifacts(input);
26
+ const feePolicy = Array.from(encodeKcc20EscrowPolicy(input.policy), byte => byte.toString(16).padStart(2, "0")).join("");
27
+ const policyId = kcc20EscrowPolicyId({ tokenId, feeTicketId, priceScale: input.priceScale, policy: input.policy });
28
+ const state = {
29
+ canonicalTokenId: tokenId, enabled: false, priceScale: input.priceScale.toString(),
30
+ feeTicketId, feePolicy, authenticatedMarketId: ZERO,
31
+ };
32
+ const role = input.wrapperProfile === "native" ? "wrapper" : "argentWrapper";
33
+ const wrapper = buildKcc20FeeMarketRoleScript({ artifact: input.artifacts[role], role, state });
34
+ return { tokenId, feeTicketId, policyId, state, wrapper };
35
+ }
36
+ /** Render both bound outputs after the accepted genesis has fixed market ID. */
37
+ export function prepareKcc20FeeMarketBinding(input) {
38
+ const genesis = prepareKcc20FeeMarketGenesis(input);
39
+ const marketId = hex32(input.marketId, "market ID");
40
+ const rootOwner = hex32(input.rootOwner, "root owner");
41
+ const rootPayoutScriptHash = hex32(input.rootPayoutScriptHash, "root payout script hash");
42
+ if (!Number.isInteger(input.rootOwnerScheme) || input.rootOwnerScheme < 0 || input.rootOwnerScheme > 4) {
43
+ throw new Error("unsupported root owner scheme");
44
+ }
45
+ const role = input.wrapperProfile === "native" ? "wrapper" : "argentWrapper";
46
+ const wrapperState = { ...genesis.state, enabled: true, authenticatedMarketId: marketId };
47
+ const wrapper = buildKcc20FeeMarketRoleScript({ artifact: input.artifacts[role], role, state: wrapperState });
48
+ const rootState = {
49
+ canonicalTokenId: genesis.tokenId, owner: rootOwner, owner_scheme: input.rootOwnerScheme,
50
+ amount: "0", mode: "1", unitPrice: "0", feeTicketId: genesis.feeTicketId,
51
+ priceScale: input.priceScale.toString(), feePolicy: genesis.state.feePolicy,
52
+ payout_script_hash: rootPayoutScriptHash, wrapper_spk_hash: wrapper.scriptHash,
53
+ };
54
+ const root = buildKcc20FeeMarketRoleScript({ artifact: input.artifacts.root, role: "root", state: rootState });
55
+ return { genesis, marketId, wrapperState, wrapper, rootState, root };
56
+ }
57
+ /** Render a wrapped holder against the exact enabled wrapper for this market. */
58
+ export function prepareKcc20FeeMarketWrappedHolder(input) {
59
+ const genesis = prepareKcc20FeeMarketGenesis(input);
60
+ const marketId = hex32(input.marketId, "market ID");
61
+ const recipientOwner = hex32(input.recipientOwner, "wrapped recipient");
62
+ const payoutScriptHash = hex32(input.recipientPayoutScriptHash, "wrapped payout script hash");
63
+ if (!Number.isInteger(input.recipientOwnerScheme) ||
64
+ input.recipientOwnerScheme < 0 || input.recipientOwnerScheme > 4) {
65
+ throw new Error("unsupported wrapped recipient scheme");
66
+ }
67
+ if (typeof input.tokenAmount !== "bigint" || input.tokenAmount <= 0n || input.tokenAmount > MAX) {
68
+ throw new Error("wrapped token amount is outside the contract range");
69
+ }
70
+ const wrapperRole = input.wrapperProfile === "native" ? "wrapper" : "argentWrapper";
71
+ const wrapperState = { ...genesis.state, enabled: true, authenticatedMarketId: marketId };
72
+ const wrapper = buildKcc20FeeMarketRoleScript({
73
+ artifact: input.artifacts[wrapperRole], role: wrapperRole, state: wrapperState,
74
+ });
75
+ const holderState = {
76
+ canonicalTokenId: genesis.tokenId,
77
+ owner: recipientOwner,
78
+ owner_scheme: input.recipientOwnerScheme,
79
+ amount: input.tokenAmount.toString(),
80
+ mode: "0",
81
+ unitPrice: "0",
82
+ feeTicketId: genesis.feeTicketId,
83
+ priceScale: input.priceScale.toString(),
84
+ feePolicy: genesis.state.feePolicy,
85
+ payout_script_hash: payoutScriptHash,
86
+ wrapper_spk_hash: wrapper.scriptHash,
87
+ };
88
+ const holder = buildKcc20FeeMarketRoleScript({
89
+ artifact: input.artifacts.holder, role: "holder", state: holderState,
90
+ });
91
+ return { marketId, wrapperState, wrapper, holderState, holder };
92
+ }
93
+ /** Render an ask and any holder continuation against a pinned market policy. */
94
+ export function prepareKcc20FeeMarketAsk(input) {
95
+ if (input.askAmount <= 0n || input.askAmount > input.holderAmount ||
96
+ input.askUnitPrice <= 0n || input.askUnitPrice > MAX) {
97
+ throw new Error("fee-market ask amount or price is invalid");
98
+ }
99
+ const holder = prepareKcc20FeeMarketWrappedHolder({ ...input,
100
+ recipientOwner: input.owner, recipientOwnerScheme: input.ownerScheme,
101
+ recipientPayoutScriptHash: input.payoutScriptHash,
102
+ tokenAmount: input.holderAmount,
103
+ });
104
+ const askState = { ...holder.holderState, amount: input.askAmount.toString(),
105
+ mode: "2", unitPrice: input.askUnitPrice.toString() };
106
+ const ask = buildKcc20FeeMarketRoleScript({ artifact: input.artifacts.ask,
107
+ role: "ask", state: askState });
108
+ const remaining = input.holderAmount - input.askAmount;
109
+ const change = remaining > 0n ? prepareKcc20FeeMarketWrappedHolder({ ...input,
110
+ recipientOwner: input.owner, recipientOwnerScheme: input.ownerScheme,
111
+ recipientPayoutScriptHash: input.payoutScriptHash, tokenAmount: remaining,
112
+ }) : null;
113
+ return { holder, askState, ask, remaining, change };
114
+ }
115
+ /** Render a bid while preserving the single market root unchanged. */
116
+ export function prepareKcc20FeeMarketBid(input) {
117
+ if (input.bidAmount <= 0n || input.bidAmount > MAX ||
118
+ input.bidUnitPrice <= 0n || input.bidUnitPrice > MAX ||
119
+ !Number.isInteger(input.buyerScheme) || input.buyerScheme < 0 ||
120
+ input.buyerScheme > 4) {
121
+ throw new Error("fee-market bid amount, price or buyer scheme is invalid");
122
+ }
123
+ const binding = prepareKcc20FeeMarketBinding(input);
124
+ const bidState = { ...binding.rootState,
125
+ owner: hex32(input.buyer, "bid buyer"), owner_scheme: input.buyerScheme,
126
+ amount: input.bidAmount.toString(), mode: "3",
127
+ unitPrice: input.bidUnitPrice.toString(),
128
+ payout_script_hash: hex32(input.buyerPayoutScriptHash, "bid payout hash") };
129
+ const bid = buildKcc20FeeMarketRoleScript({ artifact: input.artifacts.bid,
130
+ role: "bid", state: bidState });
131
+ return { binding, bidState, bid };
132
+ }
133
+ //# sourceMappingURL=escrow-market-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escrow-market-setup.js","sourceRoot":"","sources":["../src/escrow-market-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAA0B,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,GAE9B,MAAM,8BAA8B,CAAC;AAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7B,MAAM,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;AAE7B,SAAS,KAAK,CAAC,KAAc,EAAE,KAAa,EAAE,SAAS,GAAG,KAAK;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3D,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,cAAc,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;AAC7B,CAAC;AAWD,gFAAgF;AAChF,MAAM,UAAU,4BAA4B,CAAC,KAAiC;IAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACnE,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,IAAI,EAAE,IAAI,KAAK,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;QAC7F,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,EAChE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACnH,MAAM,KAAK,GAAG;QACZ,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;QAClF,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE,IAAI;KACpD,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;IAC7E,MAAM,OAAO,GAAG,6BAA6B,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAChG,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5D,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,4BAA4B,CAAC,KAK5C;IACC,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACvD,MAAM,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,oBAAoB,EAAE,yBAAyB,CAAC,CAAC;IAC1F,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;IAC7E,MAAM,YAAY,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC;IAC1F,MAAM,OAAO,GAAG,6BAA6B,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IAC9G,MAAM,SAAS,GAAG;QAChB,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,eAAe;QACxF,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;QACxE,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;QAC3E,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,OAAO,CAAC,UAAU;KAC/E,CAAC;IACF,MAAM,IAAI,GAAG,6BAA6B,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/G,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,kCAAkC,CAAC,KAMlD;IACC,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,CAAC;IAC9F,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,oBAAoB,CAAC;QAC7C,KAAK,CAAC,oBAAoB,GAAG,CAAC,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,IAAI,KAAK,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC;QAChG,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;IACpF,MAAM,YAAY,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC;IAC1F,MAAM,OAAO,GAAG,6BAA6B,CAAC;QAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY;KAC/E,CAAC,CAAC;IACH,MAAM,WAAW,GAAG;QAClB,gBAAgB,EAAE,OAAO,CAAC,OAAO;QACjC,KAAK,EAAE,cAAc;QACrB,YAAY,EAAE,KAAK,CAAC,oBAAoB;QACxC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE;QACpC,IAAI,EAAE,GAAG;QACT,SAAS,EAAE,GAAG;QACd,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;QACvC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;QAClC,kBAAkB,EAAE,gBAAgB;QACpC,gBAAgB,EAAE,OAAO,CAAC,UAAU;KACrC,CAAC;IACF,MAAM,MAAM,GAAG,6BAA6B,CAAC;QAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW;KACrE,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AAClE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,wBAAwB,CAAC,KAQxC;IACC,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,IAAI,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,YAAY;QAC7D,KAAK,CAAC,YAAY,IAAI,EAAE,IAAI,KAAK,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,MAAM,GAAG,kCAAkC,CAAC,EAAE,GAAG,KAAK;QAC1D,cAAc,EAAE,KAAK,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,CAAC,WAAW;QACpE,yBAAyB,EAAE,KAAK,CAAC,gBAAgB;QACjD,WAAW,EAAE,KAAK,CAAC,YAAY;KAChC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE;QAC1E,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;IACxD,MAAM,GAAG,GAAG,6BAA6B,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG;QACvE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;IACvD,MAAM,MAAM,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,kCAAkC,CAAC,EAAE,GAAG,KAAK;QAC3E,cAAc,EAAE,KAAK,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,CAAC,WAAW;QACpE,yBAAyB,EAAE,KAAK,CAAC,gBAAgB,EAAE,WAAW,EAAE,SAAS;KAC1E,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACV,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AACtD,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,wBAAwB,CAAC,KAUxC;IACC,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,IAAI,KAAK,CAAC,SAAS,GAAG,GAAG;QAC9C,KAAK,CAAC,YAAY,IAAI,EAAE,IAAI,KAAK,CAAC,YAAY,GAAG,GAAG;QACpD,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC;QAC7D,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS;QACrC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW;QACvE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG;QAC7C,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;QACxC,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,EAAE,CAAC;IAC9E,MAAM,GAAG,GAAG,6BAA6B,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG;QACvE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AACpC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -20,6 +20,8 @@ export * from "./token-operation.js";
20
20
  export * from "./trade-fee.js";
21
21
  export * from "./escrow-fee.js";
22
22
  export * from "./escrow-policy.js";
23
+ export * from "./escrow-market-artifacts.js";
24
+ export * from "./escrow-market-setup.js";
23
25
  export * from "./escrow-group.js";
24
26
  export * from "./escrow-receipt.js";
25
27
  export * from "./escrow-claim-plan.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,uCAAuC,CAAC;AAC9E,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,uCAAuC,CAAC;AAC9E,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -20,6 +20,8 @@ export * from "./token-operation.js";
20
20
  export * from "./trade-fee.js";
21
21
  export * from "./escrow-fee.js";
22
22
  export * from "./escrow-policy.js";
23
+ export * from "./escrow-market-artifacts.js";
24
+ export * from "./escrow-market-setup.js";
23
25
  export * from "./escrow-group.js";
24
26
  export * from "./escrow-receipt.js";
25
27
  export * from "./escrow-claim-plan.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,uCAAuC,CAAC;AAC9E,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,uCAAuC,CAAC;AAC9E,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare const KCC20_BUILDER_KEYS: readonly ["kcc20.deploy-token", "kcc20.mint", "kcc20.set-public-mint-active", "kcc20.transfer", "kcc20.consolidate-holders", "kcc20.reveal-token", "kcc20wrapper.deploy-market", "kcc20wrapper.wrap", "kcc20wrapper.unwrap", "kcc20orderbook.create-bid", "kcc20orderbook.create-ask", "kcc20orderbook.fill-ask", "kcc20orderbook.fill-bid", "kcc20orderbook.sweep-asks", "kcc20orderbook.sweep-bids", "kcc20orderbook.consolidate-holders", "kcc20orderbook.cancel-ask", "kcc20orderbook.cancel-bid", "fee-ticket.deploy-root", "fee-ticket.update-denomination", "fee-ticket.create-from-utility-burn", "fee-ticket.burn", "fee-ticket.transfer", "kcc20fee.create-account", "kcc20fee.bind-account", "kcc20-snapshot.deploy-bootstrap", "kcc20-snapshot.deploy-controller", "kcc20-snapshot.start", "kcc20-snapshot.claim"];
1
+ export declare const KCC20_BUILDER_KEYS: readonly ["kcc20.deploy-token", "kcc20.mint", "kcc20.set-public-mint-active", "kcc20.transfer", "kcc20.consolidate-holders", "kcc20.reveal-token", "kcc20wrapper.deploy-market", "kcc20wrapper.wrap", "kcc20wrapper.unwrap", "kcc20orderbook.create-bid", "kcc20orderbook.create-ask", "kcc20orderbook.fill-ask", "kcc20orderbook.fill-bid", "kcc20orderbook.sweep-asks", "kcc20orderbook.sweep-bids", "kcc20orderbook.consolidate-holders", "kcc20orderbook.cancel-ask", "kcc20orderbook.cancel-bid", "fee-ticket.deploy-root", "fee-ticket.update-denomination", "fee-ticket.create-from-utility-burn", "fee-ticket.burn", "fee-ticket.transfer", "kcc20fee.create-account", "kcc20fee.bind-account", "kcc20fee.deploy-market-genesis", "kcc20fee.bind-market", "kcc20fee.wrap", "kcc20fee.unwrap", "kcc20fee.create-ask", "kcc20fee.cancel-ask", "kcc20fee.create-bid", "kcc20fee.cancel-bid", "kcc20fee.buy-ask", "kcc20fee.buy-two-asks", "kcc20fee.claim", "kcc20fee.rotate-account", "kcc20-snapshot.deploy-bootstrap", "kcc20-snapshot.deploy-controller", "kcc20-snapshot.start", "kcc20-snapshot.claim"];
2
2
  export type Kcc20BuilderKey = (typeof KCC20_BUILDER_KEYS)[number];
3
3
  export declare function isKcc20BuilderKey(value: string): value is Kcc20BuilderKey;
4
4
  export declare const BACKEND_ONLY_BUILDER_KEYS: readonly ["kcc20orderbook.matcher-settle-crossed"];
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,gyBA8BrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,eAAe,CAEzE;AAED,eAAO,MAAM,yBAAyB,oDAE5B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,qBAAqB,CAKhC"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,ojCA0CrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,eAAe,CAEzE;AAED,eAAO,MAAM,yBAAyB,oDAE5B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,qBAAqB,CAKhC"}
@@ -24,6 +24,18 @@ export const KCC20_BUILDER_KEYS = [
24
24
  "fee-ticket.transfer",
25
25
  "kcc20fee.create-account",
26
26
  "kcc20fee.bind-account",
27
+ "kcc20fee.deploy-market-genesis",
28
+ "kcc20fee.bind-market",
29
+ "kcc20fee.wrap",
30
+ "kcc20fee.unwrap",
31
+ "kcc20fee.create-ask",
32
+ "kcc20fee.cancel-ask",
33
+ "kcc20fee.create-bid",
34
+ "kcc20fee.cancel-bid",
35
+ "kcc20fee.buy-ask",
36
+ "kcc20fee.buy-two-asks",
37
+ "kcc20fee.claim",
38
+ "kcc20fee.rotate-account",
27
39
  "kcc20-snapshot.deploy-bootstrap",
28
40
  "kcc20-snapshot.deploy-controller",
29
41
  "kcc20-snapshot.start",
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,YAAY;IACZ,8BAA8B;IAC9B,gBAAgB;IAChB,2BAA2B;IAC3B,oBAAoB;IACpB,4BAA4B;IAC5B,mBAAmB;IACnB,qBAAqB;IACrB,2BAA2B;IAC3B,2BAA2B;IAC3B,yBAAyB;IACzB,yBAAyB;IACzB,2BAA2B;IAC3B,2BAA2B;IAC3B,oCAAoC;IACpC,2BAA2B;IAC3B,2BAA2B;IAC3B,wBAAwB;IACxB,gCAAgC;IAChC,qCAAqC;IACrC,iBAAiB;IACjB,qBAAqB;IACrB,yBAAyB;IACzB,uBAAuB;IACvB,iCAAiC;IACjC,kCAAkC;IAClC,sBAAsB;IACtB,sBAAsB;CACd,CAAC;AAIX,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAQ,kBAAwC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,uCAAuC;CAC/B,CAAC;AAIX,MAAM,UAAU,uBAAuB,CACrC,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,yBAA+C,CAAC,QAAQ,CAAC,KAAK,CAAC,CACjE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,YAAY;IACZ,8BAA8B;IAC9B,gBAAgB;IAChB,2BAA2B;IAC3B,oBAAoB;IACpB,4BAA4B;IAC5B,mBAAmB;IACnB,qBAAqB;IACrB,2BAA2B;IAC3B,2BAA2B;IAC3B,yBAAyB;IACzB,yBAAyB;IACzB,2BAA2B;IAC3B,2BAA2B;IAC3B,oCAAoC;IACpC,2BAA2B;IAC3B,2BAA2B;IAC3B,wBAAwB;IACxB,gCAAgC;IAChC,qCAAqC;IACrC,iBAAiB;IACjB,qBAAqB;IACrB,yBAAyB;IACzB,uBAAuB;IACvB,gCAAgC;IAChC,sBAAsB;IACtB,eAAe;IACf,iBAAiB;IACjB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,kBAAkB;IAClB,uBAAuB;IACvB,gBAAgB;IAChB,yBAAyB;IACzB,iCAAiC;IACjC,kCAAkC;IAClC,sBAAsB;IACtB,sBAAsB;CACd,CAAC;AAIX,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAQ,kBAAwC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,uCAAuC;CAC/B,CAAC;AAIX,MAAM,UAAU,uBAAuB,CACrC,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,yBAA+C,CAAC,QAAQ,CAAC,KAAK,CAAC,CACjE,CAAC;AACJ,CAAC"}
@@ -36,7 +36,7 @@ export declare function readKaspaFomoRoundState(script: any): {
36
36
  ticketCount: bigint;
37
37
  };
38
38
  export declare function buildKcc20WrapperScriptForState(baseScript: any, state: any): Uint8Array<ArrayBuffer>;
39
- export declare function orderbookModeName(mode: any): "ask" | "bid" | "unknown" | "holder" | "root";
39
+ export declare function orderbookModeName(mode: any): "root" | "holder" | "ask" | "bid" | "unknown";
40
40
  export declare function stateToReceiptFields(state: any): {
41
41
  owner: string;
42
42
  ownerScheme: number;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema": "kcc20-example-compatibility/v1",
3
- "packageVersion": "0.8.0-fee.3",
3
+ "packageVersion": "0.8.0-fee.5",
4
4
  "contractsRepository": "https://github.com/KASPACOM/kaspa-covenants",
5
5
  "contractsCommit": "5deb1769e69142595576ef7c573af9f433a48a3c",
6
6
  "compiler": {
@@ -10,7 +10,8 @@ disabled, and this change does not publish a package.
10
10
  genesis output and a separate wallet change output. The caller supplies the
11
11
  native token ID and account principal in sompi. The connected wallet's Schnorr
12
12
  public key controls the account. The builder pins the escrow artifact, checks
13
- the key, computes the account covenant ID, and checks the signed transaction's
13
+ that this key matches the funding wallet's Schnorr address, computes the account
14
+ covenant ID, and checks the signed transaction's
14
15
  fee and mass before returning the PSKT. The wallet signs the funding input.
15
16
 
16
17
  The creation result includes `metadata.accountGenesisHint`. Save it with the
@@ -24,6 +25,7 @@ lineage, outpoint and principal against the pinned artifact. The wallet signs
24
25
  the account input and a separate funding input. The bound output keeps the
25
26
  same account ID and exact principal. Binding is a one-time operation; later
26
27
  authority changes use the contract's rotation path.
28
+ The account outpoint cannot also serve as the funding input.
27
29
 
28
30
  These operations prepare wallet-signable transactions. They do not broadcast
29
31
  or establish funded TN10 execution. Account creation and binding are only the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaspacom/kcc20-tx-builder",
3
- "version": "0.8.0-fee.3",
3
+ "version": "0.8.0-fee.5",
4
4
  "description": "Runtime-independent KCC20 covenant transaction and PSKT construction primitives.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "KaspaCom",
@@ -88,8 +88,8 @@
88
88
  "scripts": {
89
89
  "build": "tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.mjs",
90
90
  "typecheck": "tsc -p tsconfig.json --noEmit",
91
- "test:escrow-fee": "npm run build && node --test test/escrow-fee.mjs test/escrow-policy.mjs test/escrow-group.mjs test/escrow-receipt.mjs test/escrow-claim-plan.mjs test/escrow-account-setup.mjs test/escrow-account-bind-pskt.mjs",
92
- "test": "npm run typecheck && npm run build && node test/smoke.mjs && node test/cjs-smoke.cjs && node test/snapshot-plan.mjs && node test/token-profiles.mjs && node test/profile-transfer.mjs && node --test test/mint-availability-limit.mjs test/consolidation-profile.mjs test/consolidation-transaction.mjs test/escrow-fee.mjs test/escrow-policy.mjs test/escrow-group.mjs test/escrow-receipt.mjs test/escrow-claim-plan.mjs test/escrow-account-setup.mjs test/escrow-account-bind-pskt.mjs && node test/pinned-funding.mjs",
91
+ "test:escrow-fee": "npm run build && node --test test/escrow-fee.mjs test/escrow-policy.mjs test/escrow-market-artifacts.mjs test/escrow-market-bind-pskt.mjs test/escrow-market-wrap-pskt.mjs test/escrow-market-sell-pskt.mjs test/escrow-group.mjs test/escrow-receipt.mjs test/escrow-claim-plan.mjs test/escrow-account-setup.mjs test/escrow-account-bind-pskt.mjs",
92
+ "test": "npm run typecheck && npm run build && node test/smoke.mjs && node test/cjs-smoke.cjs && node test/snapshot-plan.mjs && node test/token-profiles.mjs && node test/profile-transfer.mjs && node --test test/mint-availability-limit.mjs test/consolidation-profile.mjs test/consolidation-transaction.mjs test/escrow-fee.mjs test/escrow-policy.mjs test/escrow-market-artifacts.mjs test/escrow-market-bind-pskt.mjs test/escrow-market-wrap-pskt.mjs test/escrow-market-sell-pskt.mjs test/escrow-group.mjs test/escrow-receipt.mjs test/escrow-claim-plan.mjs test/escrow-account-setup.mjs test/escrow-account-bind-pskt.mjs && node test/pinned-funding.mjs",
93
93
  "prepack": "npm test",
94
94
  "test:examples": "npm run verify:compatibility && node scripts/test-examples.mjs --browser",
95
95
  "verify:compatibility": "node scripts/verify-compatibility.mjs",
package/src/artifacts.ts CHANGED
@@ -34,9 +34,9 @@ export const KCC20_ARTIFACT_SCRIPT_SHA256 = Object.freeze({
34
34
  "KCC20OrderbookFeeBidV1.placeholder.json":
35
35
  "9289b3b5fcd46f30af4f236c65f76f369bd856311319474d20e06c5ba919ea8f",
36
36
  "KCC20WrapperFeeV1.placeholder.json":
37
- "970562614f538fc6374a778b4ff2435309ffd234f67efc507d57f8d098ace093",
37
+ "53338a33d4e57964ff76ffe2c95e25786995f7c1f96f9375b57bcac3c124d3ba",
38
38
  "KCC20WrapperFeeArgentV1.placeholder.json":
39
- "069a592e3b5bab0ee1e34a694859d73ed5a665fafb9ffacadd54046e09c978cd",
39
+ "b7ebdf13e66a10407c36e56a24f9f91a0db27602508eb2a297da613d1c43cdbd",
40
40
  });
41
41
 
42
42
  /** Raw file pins cover the ABI and dispatch tags as well as the script bytes. */
@@ -47,12 +47,12 @@ export const KCC20_FEE_V1_ARTIFACT_SHA256 = Object.freeze({
47
47
  "KCC20OrderbookFeeHolderV1.placeholder.json": "1124365e746ebe108fe8e5a9a7d13ea351bba0768011fd3228567d35de0847d1",
48
48
  "KCC20OrderbookFeeAskV1.placeholder.json": "e2f04e79a64acf330ae45ad55bab61f92039c76d1c59e4d9b39d41b1c3296553",
49
49
  "KCC20OrderbookFeeBidV1.placeholder.json": "4a6150291bb9e459a4ca61609854af7063c5f7314e0f5c2438a7f462627d33d4",
50
- "KCC20WrapperFeeV1.placeholder.json": "ef8c1518209577f2c106a65ce267e95b129d62ec2220c72e49427ad92d84ad25",
51
- "KCC20WrapperFeeArgentV1.placeholder.json": "2a03ffa43c9951ac4d17b9ad6698c4c3528d292e2841db195f8a7385855ea578",
50
+ "KCC20WrapperFeeV1.placeholder.json": "345cbefc8f870b2daa408e2608c4fcf50d27d9f5ebb505439ee22092715f0007",
51
+ "KCC20WrapperFeeArgentV1.placeholder.json": "d14cdd05f9522b393e9b5e674a4645cf6b51f8831a5bb370882eb0e9a2f8d4b0",
52
52
  });
53
53
 
54
54
  export const KCC20_FEE_V1_POLICY_MANIFEST_SHA256 =
55
- "7a96c07521fee2eab1e032b7dc9ca4d220eaca9feb287e1f25da45b7c0a943d2";
55
+ "b2c41a428d0ef68cbcb37606ef569e8ec57d2aa3add9e0f78daccc3eba9ed80a";
56
56
 
57
57
  /**
58
58
  * Canonical raw artifact pins and structural metadata for signerless snapshot