@kontor/kontor-sdk 1.0.0-alpha.23 → 1.0.0-alpha.26

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 (30) hide show
  1. package/dist/cjs/sdk/contracts/wits.js +1 -3
  2. package/dist/cjs/sdk/contracts/wits.js.map +1 -1
  3. package/dist/cjs/sdk/utils/wit/decode-wit-parameter.js +2 -2
  4. package/dist/cjs/sdk/utils/wit/decode-wit-parameter.js.map +1 -1
  5. package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
  6. package/dist/esm/exports/index.js +1 -0
  7. package/dist/esm/exports/index.js.map +1 -1
  8. package/dist/esm/sdk/contracts/wits.js +1 -4
  9. package/dist/esm/sdk/contracts/wits.js.map +1 -1
  10. package/dist/esm/sdk/utils/wit/decode-wit-parameter.js +2 -2
  11. package/dist/esm/sdk/utils/wit/decode-wit-parameter.js.map +1 -1
  12. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  13. package/dist/types/exports/index.d.ts +1 -0
  14. package/dist/types/exports/index.d.ts.map +1 -1
  15. package/dist/types/sdk/contracts/wits.d.ts +1 -1
  16. package/dist/types/sdk/contracts/wits.d.ts.map +1 -1
  17. package/dist/types/wit/wit-parser/core/types/utils.d.ts +2 -0
  18. package/dist/types/wit/wit-parser/core/types/utils.d.ts.map +1 -1
  19. package/package.json +1 -1
  20. package/src/exports/index.ts +2 -0
  21. package/src/sdk/contracts/wits.ts +1 -5
  22. package/src/sdk/types/contract.test-d.ts +21 -95
  23. package/src/sdk/utils/wit/decode-wit-parameter.ts +2 -2
  24. package/src/sdk/utils/wit/encode-function-data.test-d.ts +4 -6
  25. package/src/sdk/utils/wit/encode-function-data.test.ts +3 -47
  26. package/src/wit/wit-parser/core/types/records.test-d.ts +3 -0
  27. package/src/wit/wit-parser/core/types/utils.test-d.ts +7 -3
  28. package/src/wit/wit-parser/core/types/utils.ts +6 -2
  29. package/src/wit/wit-parser/parse-wit.test.ts +426 -146
  30. package/test/src/wits.ts +0 -4
@@ -20,4 +20,5 @@ export { buildComposeQuery, type BuildComposeQueryParameters, type BuildComposeQ
20
20
  export { inspect, type InspectParameters, type InspectReturnType, } from "../sdk/actions/kontor/public/inspect.js";
21
21
  export type { ContractFunctionName, ContractFunctionArgs, ContractFunctionReturnType, WitItemName, } from "../sdk/types/contract.js";
22
22
  export { decodeFunctionResult } from "../sdk/utils/wit/decode-function-result.js";
23
+ export { type ExtractWitFunction } from "../wit/utils.js";
23
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,KAAK,QAAQ,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EACL,UAAU,EACV,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,MAAM,GACP,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,IAAI,GACL,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,kBAAkB,IAAI,wBAAwB,GAC/C,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,kBAAkB,IAAI,wBAAwB,GAC/C,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,2BAA2B,EAChC,kBAAkB,IAAI,qBAAqB,GAC5C,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,2BAA2B,EAChC,kBAAkB,IAAI,qBAAqB,GAC5C,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EACL,YAAY,EACZ,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,YAAY,EACZ,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,QAAQ,EACR,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EACL,WAAW,EACX,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EACL,qBAAqB,EACrB,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,GACrC,MAAM,yDAAyD,CAAC;AAEjE,OAAO,EACL,iBAAiB,EACjB,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,GACjC,MAAM,qDAAqD,CAAC;AAE7D,OAAO,EACL,OAAO,EACP,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,yCAAyC,CAAC;AAEjD,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,KAAK,QAAQ,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EACL,UAAU,EACV,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,MAAM,GACP,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,IAAI,GACL,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,kBAAkB,IAAI,wBAAwB,GAC/C,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,kBAAkB,IAAI,wBAAwB,GAC/C,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,2BAA2B,EAChC,kBAAkB,IAAI,qBAAqB,GAC5C,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,2BAA2B,EAChC,kBAAkB,IAAI,qBAAqB,GAC5C,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EACL,YAAY,EACZ,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,YAAY,EACZ,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,QAAQ,EACR,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EACL,WAAW,EACX,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EACL,qBAAqB,EACrB,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,GACrC,MAAM,yDAAyD,CAAC;AAEjE,OAAO,EACL,iBAAiB,EACjB,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,GACjC,MAAM,qDAAqD,CAAC;AAE7D,OAAO,EACL,OAAO,EACP,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,yCAAyC,CAAC;AAEjD,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAElF,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -5,7 +5,7 @@ type ContractExport<signatures extends readonly string[]> = {
5
5
  wit: ParseWit<signatures>;
6
6
  address: ResolvedRegister["contractAddress"];
7
7
  };
8
- declare const nativeTokenRaw: readonly ["record balance { acc: string, amt: decimal }", "record transfer { src: string, dst: string, amt: decimal }", "record burn { src: string, amt: decimal }", "record mint { dst: string, amt: decimal }", "export issuance: func(ctx: borrow<core-context>, amt: decimal) -> result<mint, error>;", "export hold: func(ctx: borrow<core-context>, amt: decimal) -> result<transfer, error>;", "export release: func(ctx: borrow<core-context>, burn-amt: decimal) -> result<burn, error>;", "export init: func(ctx: borrow<proc-context>);", "export mint: func(ctx: borrow<proc-context>, amt: decimal) -> result<mint, error>;", "export burn: func(ctx: borrow<proc-context>, amt: decimal) -> result<burn, error>;", "export transfer: func(ctx: borrow<proc-context>, dst: string, amt: decimal) -> result<transfer, error>;", "export balance: func(ctx: borrow<view-context>, acc: string) -> option<decimal>;", "export balances: func(ctx: borrow<view-context>) -> list<balance>;", "export total-supply: func(ctx: borrow<view-context>) -> decimal;", "export detach: func(ctx: borrow<proc-context>) -> result<transfer, error>;"];
8
+ declare const nativeTokenRaw: readonly ["record balance { acc: string, amt: decimal }", "record transfer { src: string, dst: string, amt: decimal }", "record burn { src: string, amt: decimal }", "record mint { dst: string, amt: decimal }", "export init: func(ctx: borrow<proc-context>);", "export mint: func(ctx: borrow<proc-context>, amt: decimal) -> result<mint, error>;", "export burn: func(ctx: borrow<proc-context>, amt: decimal) -> result<burn, error>;", "export transfer: func(ctx: borrow<proc-context>, dst: string, amt: decimal) -> result<transfer, error>;", "export balance: func(ctx: borrow<view-context>, acc: string) -> option<decimal>;", "export balances: func(ctx: borrow<view-context>) -> list<balance>;", "export total-supply: func(ctx: borrow<view-context>) -> decimal;", "export attach: func(ctx: borrow<proc-context>, vout: u64, amt: decimal) -> result<transfer, error>;", "export detach: func(ctx: borrow<proc-context>) -> result<transfer, error>;"];
9
9
  export declare const nativeToken: ContractExport<typeof nativeTokenRaw>;
10
10
  export {};
11
11
  //# sourceMappingURL=wits.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wits.d.ts","sourceRoot":"","sources":["../../../../src/sdk/contracts/wits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE5E,KAAK,cAAc,CAAC,UAAU,SAAS,SAAS,MAAM,EAAE,IAAI;IAC1D,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;CAC9C,CAAC;AAEF,QAAA,MAAM,cAAc,ylCAkBV,CAAC;AAIX,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,OAAO,cAAc,CAI7D,CAAC"}
1
+ {"version":3,"file":"wits.d.ts","sourceRoot":"","sources":["../../../../src/sdk/contracts/wits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE5E,KAAK,cAAc,CAAC,UAAU,SAAS,SAAS,MAAM,EAAE,IAAI;IAC1D,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;CAC9C,CAAC;AAEF,QAAA,MAAM,cAAc,86BAcV,CAAC;AAIX,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,OAAO,cAAc,CAI7D,CAAC"}
@@ -48,10 +48,12 @@ type MapGenericType<T extends string, Opts extends ParseOptions> = T extends `li
48
48
  type: string;
49
49
  } ? Readonlyify<{
50
50
  type: `list<${M["type"]}>`;
51
+ internalType: T;
51
52
  } & GetComponents<M>> : never : T extends `option<${infer U}>` ? MapGenericType<Trim<U>, Opts> extends infer M extends {
52
53
  type: string;
53
54
  } ? Readonlyify<{
54
55
  type: `option<${M["type"]}>`;
56
+ internalType: T;
55
57
  } & GetComponents<M>> : never : T extends `result<${infer Inner}>` ? SplitResultInner<Trim<Inner>> extends [
56
58
  infer LRaw extends string,
57
59
  infer RRaw extends string
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/wit/wit-parser/core/types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;CAClC,CAAC;AACF,KAAK,mBAAmB,GAAG,EAAE,CAAC;AAE9B,KAAK,WAAW,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AACxD,KAAK,UAAU,CAAC,IAAI,IAAI,IAAI,SAAS;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACrE,IAAI,GACJ,KAAK,CAAC;AAEV,KAAK,SAAS,CAAC,IAAI,IAAI,IAAI,SAAS;IAAE,OAAO,EAAE,MAAM,CAAC,SAAS,YAAY,CAAA;CAAE,GACzE,CAAC,GACD,KAAK,CAAC;AACV,KAAK,QAAQ,CAAC,OAAO,IAAI,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GACpB,EAAE,CAAC;AACP,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;CAAE,GAC1B,EAAE,CAAC;AAEP,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,SAAS,YAAY,IAChE,UAAU,CAAC,IAAI,CAAC,SAAS,IAAI,GACzB,CAAC,SAAS,MAAM,SAAS,CAAC,IAAI,CAAC,GAC7B,WAAW,CAAC;IACV,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,YAAY,EAAE,CAAC,CAAC;CACjB,CAAC,GACF,WAAW,CAAC;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,CAAC,CAAA;CAAE,CAAC,GAC3C,WAAW,CAAC;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAEhD,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC,EAAE,GACxE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAClB,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,GAC/B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAClB,KAAK,CAAC;AACZ,KAAK,qBAAqB,CACxB,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3B,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,IAC3B,EAAE,SAAS;IAAE,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AAEjE,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,SAAS,YAAY,IAE7D,CAAC,SAAS,QAAQ,MAAM,CAAC,GAAG,GACxB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,MAAM,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GACpE,WAAW,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA;CAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAC9D,KAAK,GACP,CAAC,SAAS,UAAU,MAAM,CAAC,GAAG,GAC5B,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,MAAM,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GACpE,WAAW,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA;CAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAChE,KAAK,GAEP,CAAC,SAAS,UAAU,MAAM,KAAK,GAAG,GAChC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS;IACpC,MAAM,IAAI,SAAS,MAAM;IACzB,MAAM,IAAI,SAAS,MAAM;CAC1B,GACC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,MAAM,OAAO,SAAS;IAC7D,IAAI,EAAE,MAAM,CAAC;CACd,GACC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,MAAM,OAAO,SAAS;IAC7D,IAAI,EAAE,MAAM,CAAC;CACd,GACC,WAAW,CACT;IACE,IAAI,EAAE,UAAU,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;IACvD,YAAY,EAAE,CAAC,CAAC;CACjB,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAC5C,GACD,KAAK,GACP,KAAK,GACP,KAAK,GAEP,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAErC,MAAM,MAAM,iBAAiB,CAC3B,SAAS,SAAS,MAAM,EACxB,OAAO,SAAS,YAAY,GAAG,mBAAmB,IAChD,CACF,SAAS,SAAS,GAAG,MAAM,IAAI,KAAK,MAAM,KAAK,EAAE,GAC7C;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;CAAE,CACvC,SAAS,MAAM,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,GACpE,KAAK,CAAC;AAEV,MAAM,MAAM,kBAAkB,CAC5B,UAAU,SAAS,SAAS,MAAM,EAAE,EACpC,OAAO,SAAS,YAAY,GAAG,mBAAmB,IAChD,UAAU,SAAS,CAAC,EAAE,CAAC,GACvB,SAAS,EAAE,GACX,SAAS;IACP,GAAG;SACA,GAAG,IAAI,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;KACvE;CACF,CAAC;AAGN,MAAM,MAAM,kCAAkC,CAAC,SAAS,SAAS,MAAM,IACrE,SAAS,SAAS,GAAG,MAAM,IAAI,MAAM,MAAM,EAAE,GACzC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAC9C,SAAS,SAAS,UAAU,MAAM,sBAAsB,MAAM,OAAO,aAAa,MAAM,UAAU,GAAG,GACnG;IACE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB,GACD,SAAS,SAAS,UAAU,MAAM,sBAAsB,MAAM,OAAO,YAAY,GAC/E;IACE,MAAM,EAAE,EAAE,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB,GACD,KAAK,CAAC;AAEhB,MAAM,MAAM,eAAe,CACzB,SAAS,SAAS,MAAM,EACxB,MAAM,SAAS,OAAO,EAAE,GAAG,EAAE,EAC7B,OAAO,SAAS,MAAM,GAAG,EAAE,EAC3B,KAAK,SAAS,SAAS,MAAM,EAAE,GAAG,EAAE,IAGpC,SAAS,SAAS,EAAE,GAChB,OAAO,SAAS,EAAE,GAChB,CAAC,GAAG,MAAM,CAAC,GACX,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GACvB,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAC1B,MAAM,CAAC,mBAAmB,OAAO,6BAA6B,CAAC,GACnE,SAAS,SAAS,GAAG,MAAM,IAAI,GAAG,MAAM,IAAI,EAAE,GAC5C,IAAI,SAAS,GAAG,GAEd,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GACvB,eAAe,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,GACrD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,KAAK,CAAC,GAC3D,IAAI,SAAS,GAAG,GAEd,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GACjE,IAAI,SAAS,GAAG,GAEd,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GACvB,MAAM,CAAC,mBAAmB,OAAO,GAAG,IAAI,6BAA6B,CAAC,GACtE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,GAEhE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,KAAK,CAAC,GAC/D,EAAE,CAAC;AAEX,KAAK,GAAG,CAAC,IAAI,SAAS,SAAS,MAAM,EAAE,IAAI,IAAI,SAAS,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,CAAC,GACxE,IAAI,GACJ,EAAE,CAAC;AA0BP,MAAM,MAAM,cAAc,CACxB,SAAS,SAAS,MAAM,EACxB,OAAO,SAAS,YAAY,GAAG,OAAO,GAAG,OAAO,IAEhD,mBAAmB,CAAC,SAAS,CAAC,SAAS,IAAI,GACvC,SAAS,SAAS,iBAAiB,CAAC,MAAM,IAAI,EAAE,MAAM,IAAI,CAAC,GACzD;IACE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,kCAAkC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3E,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CACjC,eAAe,CACb,kCAAkC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CACxD,EACD;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CACrB,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,IAAI,SAAS,GAAG,MAAM,OAAO,MAAM,OAAO,GAAG,GAC3D,kBAAkB,CAChB,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAC9B;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CACrB,GACD,SAAS,EAAE,CAAC;CACjB,GACD,KAAK,GACP,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/wit/wit-parser/core/types/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontor/kontor-sdk",
3
- "version": "1.0.0-alpha.23",
3
+ "version": "1.0.0-alpha.26",
4
4
  "author": "Unspendable Labs <dev@unspendablelabs.com>",
5
5
  "description": "The official SDK to the Kontor Bitcoin metaprotocol",
6
6
  "repository": {
@@ -113,3 +113,5 @@ export type {
113
113
  } from "../sdk/types/contract.js";
114
114
 
115
115
  export { decodeFunctionResult } from "../sdk/utils/wit/decode-function-result.js";
116
+
117
+ export { type ExtractWitFunction } from "../wit/utils.js";
@@ -12,10 +12,6 @@ const nativeTokenRaw = [
12
12
  "record transfer { src: string, dst: string, amt: decimal }",
13
13
  "record burn { src: string, amt: decimal }",
14
14
  "record mint { dst: string, amt: decimal }",
15
-
16
- "export issuance: func(ctx: borrow<core-context>, amt: decimal) -> result<mint, error>;",
17
- "export hold: func(ctx: borrow<core-context>, amt: decimal) -> result<transfer, error>;",
18
- "export release: func(ctx: borrow<core-context>, burn-amt: decimal) -> result<burn, error>;",
19
15
  "export init: func(ctx: borrow<proc-context>);",
20
16
  "export mint: func(ctx: borrow<proc-context>, amt: decimal) -> result<mint, error>;",
21
17
  "export burn: func(ctx: borrow<proc-context>, amt: decimal) -> result<burn, error>;",
@@ -23,7 +19,7 @@ const nativeTokenRaw = [
23
19
  "export balance: func(ctx: borrow<view-context>, acc: string) -> option<decimal>;",
24
20
  "export balances: func(ctx: borrow<view-context>) -> list<balance>;",
25
21
  "export total-supply: func(ctx: borrow<view-context>) -> decimal;",
26
- // "export attach: func(ctx: borrow<proc-context>, vout: u64, amt: decimal) -> result<transfer, error>;",
22
+ "export attach: func(ctx: borrow<proc-context>, vout: u64, amt: decimal) -> result<transfer, error>;",
27
23
  "export detach: func(ctx: borrow<proc-context>) -> result<transfer, error>;",
28
24
  ] as const;
29
25
 
@@ -11,46 +11,26 @@ const nativeToken = nativeToken_.wit;
11
11
  test("ContractFunctionName", () => {
12
12
  type All = ContractFunctionName<typeof nativeToken>;
13
13
  expectTypeOf<All>().toEqualTypeOf<
14
- | "issuance"
15
- | "hold"
16
- | "release"
17
- // | "init" // init is not valid
18
14
  | "mint"
19
15
  | "burn"
20
16
  | "transfer"
21
17
  | "balance"
22
18
  | "balances"
23
19
  | "total-supply"
24
- // | "attach"
20
+ | "attach"
25
21
  | "detach"
26
22
  >;
27
23
 
28
- type Core = ContractFunctionName<typeof nativeToken, "core">;
29
- expectTypeOf<Core>().toEqualTypeOf<"issuance" | "hold" | "release">;
30
-
31
24
  type View = ContractFunctionName<typeof nativeToken, "view">;
32
25
  expectTypeOf<View>().toEqualTypeOf<"balance" | "balances" | "total-supply">;
33
26
 
34
27
  type Proc = ContractFunctionName<typeof nativeToken, "proc">;
35
28
  expectTypeOf<Proc>().toEqualTypeOf<
36
- | "mint"
37
- | "burn"
38
- | "transfer"
39
- //| "attach"
40
- | "detach"
29
+ "mint" | "burn" | "transfer" | "attach" | "detach"
41
30
  >;
42
31
  });
43
32
 
44
33
  test("ContractFunctionArgs", () => {
45
- type Issuance = ContractFunctionArgs<typeof nativeToken, "core", "issuance">;
46
- expectTypeOf<Issuance>().toEqualTypeOf<readonly [[bigint, number]]>;
47
-
48
- type Hold = ContractFunctionArgs<typeof nativeToken, "core", "hold">;
49
- expectTypeOf<Hold>().toEqualTypeOf<readonly [[bigint, number]]>;
50
-
51
- type Release = ContractFunctionArgs<typeof nativeToken, "core", "release">;
52
- expectTypeOf<Release>().toEqualTypeOf<readonly [[bigint, number]]>;
53
-
54
34
  type Mint = ContractFunctionArgs<typeof nativeToken, "proc", "mint">;
55
35
  expectTypeOf<Mint>().toEqualTypeOf<readonly [[bigint, number]]>;
56
36
 
@@ -81,60 +61,6 @@ test("ContractFunctionArgs", () => {
81
61
  });
82
62
 
83
63
  test("ContractFunctionReturnType", () => {
84
- type Issuance = ContractFunctionReturnType<
85
- typeof nativeToken,
86
- "core",
87
- "issuance"
88
- >;
89
- expectTypeOf<Issuance>().toEqualTypeOf<
90
- | {
91
- ok: false;
92
- error: string;
93
- }
94
- | {
95
- ok: true;
96
- value: {
97
- dst: string;
98
- amt: [bigint, number];
99
- };
100
- }
101
- >;
102
-
103
- type Hold = ContractFunctionReturnType<typeof nativeToken, "core", "hold">;
104
- expectTypeOf<Hold>().toEqualTypeOf<
105
- | {
106
- ok: false;
107
- error: string;
108
- }
109
- | {
110
- ok: true;
111
- value: {
112
- src: string;
113
- dst: string;
114
- amt: [bigint, number];
115
- };
116
- }
117
- >;
118
-
119
- type Release = ContractFunctionReturnType<
120
- typeof nativeToken,
121
- "core",
122
- "release"
123
- >;
124
- expectTypeOf<Release>().toEqualTypeOf<
125
- | {
126
- ok: false;
127
- error: string;
128
- }
129
- | {
130
- ok: true;
131
- value: {
132
- src: string;
133
- amt: [bigint, number];
134
- };
135
- }
136
- >;
137
-
138
64
  type Mint = ContractFunctionReturnType<typeof nativeToken, "proc", "mint">;
139
65
  expectTypeOf<Mint>().toEqualTypeOf<
140
66
  | {
@@ -214,25 +140,25 @@ test("ContractFunctionReturnType", () => {
214
140
  >;
215
141
  expectTypeOf<TotalSupply>().toEqualTypeOf<[bigint, number]>;
216
142
 
217
- // type Attach = ContractFunctionReturnType<
218
- // typeof nativeToken,
219
- // "proc",
220
- // "attach"
221
- // >;
222
- // expectTypeOf<Attach>().toEqualTypeOf<
223
- // | {
224
- // ok: false;
225
- // error: string;
226
- // }
227
- // | {
228
- // ok: true;
229
- // value: {
230
- // src: string;
231
- // dst: string;
232
- // amt: [bigint, number];
233
- // };
234
- // }
235
- // >;
143
+ type Attach = ContractFunctionReturnType<
144
+ typeof nativeToken,
145
+ "proc",
146
+ "attach"
147
+ >;
148
+ expectTypeOf<Attach>().toEqualTypeOf<
149
+ | {
150
+ ok: false;
151
+ error: string;
152
+ }
153
+ | {
154
+ ok: true;
155
+ value: {
156
+ src: string;
157
+ dst: string;
158
+ amt: [bigint, number];
159
+ };
160
+ }
161
+ >;
236
162
 
237
163
  type Detach = ContractFunctionReturnType<
238
164
  typeof nativeToken,
@@ -87,6 +87,8 @@ function decoderForParam(p: WitParameter) {
87
87
  return listOfDecimalDecoder;
88
88
  case "list<tuple>":
89
89
  return listOfTupleDecoder(p);
90
+ case "u64":
91
+ return u64Decoder;
90
92
 
91
93
  case "error":
92
94
  case "contract-address":
@@ -98,8 +100,6 @@ function decoderForParam(p: WitParameter) {
98
100
  case "u8":
99
101
  case "u16":
100
102
  case "u32":
101
- case "u64":
102
- return u64Decoder;
103
103
  case "integer":
104
104
  case "option<string>":
105
105
  case "option<bool>":
@@ -34,18 +34,16 @@ test("native token", () => {
34
34
  type P = EncodeFunctionDataParameters<typeof nativeToken.wit>;
35
35
 
36
36
  expectTypeOf<P["functionName"]>().not.toEqualTypeOf<undefined>();
37
-
38
37
  expectTypeOf<P["functionName"]>().toEqualTypeOf<
39
- | "mint"
40
- | "issuance"
41
38
  | "balance"
42
39
  | "transfer"
43
40
  | "burn"
44
- | "hold"
45
- | "release"
41
+ | "mint"
46
42
  | "balances"
47
43
  | "total-supply"
44
+ | "attach"
48
45
  | "detach"
49
- // | "attach" // TODO: need to handle attach parsing
50
46
  >();
47
+
48
+ // TODO: fill out tests
51
49
  });
@@ -2,55 +2,11 @@ import { expect, test } from "vitest";
2
2
  import { encodeFunctionData } from "./encode-function-data.js";
3
3
  import { parseWit } from "../../../wit/wit-parser/parse-wit.js";
4
4
 
5
- export const nativeToken = parseWit([
6
- "record balance { acc: string, amt: decimal }",
7
- "record transfer { src: string, dst: string, amt: decimal }",
8
- "record burn { src: string, amt: decimal }",
9
- "record mint { dst: string, amt: decimal }",
10
- "export issuance: func(ctx: borrow<core-context>, amt: decimal) -> result<mint, error>;",
11
- "export hold: func(ctx: borrow<core-context>, amt: decimal) -> result<transfer, error>;",
12
- "export release: func(ctx: borrow<core-context>, burn-amt: decimal) -> result<burn, error>;",
13
- "export init: func(ctx: borrow<proc-context>);",
14
- "export mint: func(ctx: borrow<proc-context>, amt: decimal) -> result<mint, error>;",
15
- "export burn: func(ctx: borrow<proc-context>, amt: decimal) -> result<burn, error>;",
16
- "export transfer: func(ctx: borrow<proc-context>, dst: string, amt: decimal) -> result<transfer, error>;",
17
- "export balance: func(ctx: borrow<view-context>, acc: string) -> option<decimal>;",
18
- "export balances: func(ctx: borrow<view-context>) -> list<balance>;",
19
- "export total-supply: func(ctx: borrow<view-context>) -> decimal;",
20
- "export attach: func(ctx: borrow<proc-context>, vout: u64, amt: decimal) -> result<transfer, error>;",
21
- "export detach: func(ctx: borrow<proc-context>) -> result<transfer, error>;",
22
- ]);
5
+ import { nativeToken as nativeToken_ } from "../../../sdk/contracts/wits.js";
23
6
 
24
- //TODO: change functionName to func
25
- test("issuance", () => {
26
- expect(
27
- encodeFunctionData({
28
- wit: nativeToken,
29
- functionName: "issuance",
30
- args: [[7n, 18]],
31
- }),
32
- ).toEqual("issuance({r0: 7, r1: 0, r2: 0, r3: 0, sign: plus})");
33
- });
7
+ export const nativeToken = parseWit(nativeToken_.raw);
34
8
 
35
- test("hold", () => {
36
- expect(
37
- encodeFunctionData({
38
- wit: nativeToken,
39
- functionName: "hold",
40
- args: [[7n, 18]],
41
- }),
42
- ).toEqual("hold({r0: 7, r1: 0, r2: 0, r3: 0, sign: plus})");
43
- });
44
-
45
- test("release", () => {
46
- expect(
47
- encodeFunctionData({
48
- wit: nativeToken,
49
- functionName: "release",
50
- args: [[7n, 18]],
51
- }),
52
- ).toEqual("release({r0: 7, r1: 0, r2: 0, r3: 0, sign: plus})");
53
- });
9
+ //TODO: change functionName to func
54
10
 
55
11
  test("mint", () => {
56
12
  expect(
@@ -119,6 +119,7 @@ test("ParseRecords", () => {
119
119
  {
120
120
  readonly name: "values";
121
121
  readonly type: "list<contract-address>";
122
+ readonly internalType: "list<contract-address>";
122
123
  },
123
124
  ];
124
125
  }>();
@@ -306,6 +307,7 @@ test("ParseRecordProperties", () => {
306
307
  {
307
308
  readonly name: "values";
308
309
  readonly type: "list<string>";
310
+ readonly internalType: "list<string>";
309
311
  },
310
312
  ]
311
313
  >();
@@ -317,6 +319,7 @@ test("ParseRecordProperties", () => {
317
319
  {
318
320
  readonly name: "values";
319
321
  readonly type: "list<tuple>";
322
+ readonly internalType: "list<contract-address>";
320
323
  readonly components: readonly [
321
324
  { readonly name: "name"; readonly type: "string" },
322
325
  { readonly name: "height"; readonly type: "s64" },
@@ -81,11 +81,13 @@ test("ParseWitParameter", () => {
81
81
  assertType<ParseWitParameter<"option-string: option<string>">>({
82
82
  name: "option-string",
83
83
  type: "option<string>",
84
+ internalType: "option<string>",
84
85
  });
85
86
 
86
87
  assertType<ParseWitParameter<"option-list-string: option<list<string>>">>({
87
88
  name: "option-list-string",
88
89
  type: "option<list<string>>",
90
+ internalType: "option<list<string>>",
89
91
  });
90
92
 
91
93
  assertType<
@@ -93,6 +95,7 @@ test("ParseWitParameter", () => {
93
95
  >({
94
96
  name: "option-list-result-string-contract-address",
95
97
  type: "option<list<result<string, contract-address>>>",
98
+ internalType: "option<list<result<string, contract-address>>>",
96
99
  });
97
100
 
98
101
  assertType<ParseWitParameter<"contract-address">>({
@@ -163,7 +166,7 @@ test("Parse Signature", () => {
163
166
  type: "contract-address",
164
167
  internalType: "contract-address",
165
168
  },
166
- { name: "n", type: "list<u64>" },
169
+ { name: "n", type: "list<u64>", internalType: "list<u64>" },
167
170
  ],
168
171
  outputs: [
169
172
  {
@@ -184,7 +187,7 @@ test("Parse Signature", () => {
184
187
  type: "contract-address",
185
188
  internalType: "contract-address",
186
189
  },
187
- { name: "n", type: "list<u64>" },
190
+ { name: "n", type: "list<u64>", internalType: "list<u64>" },
188
191
  ],
189
192
  outputs: [
190
193
  {
@@ -205,7 +208,7 @@ test("Parse Signature", () => {
205
208
  type: "contract-address",
206
209
  internalType: "contract-address",
207
210
  },
208
- { name: "n", type: "list<u64>" },
211
+ { name: "n", type: "list<u64>", internalType: "list<u64>" },
209
212
  ],
210
213
  outputs: [
211
214
  {
@@ -227,6 +230,7 @@ test("Parse Signature", () => {
227
230
  outputs: [
228
231
  {
229
232
  type: "list<tuple>",
233
+ internalType: "list<dog>",
230
234
  components: [
231
235
  { type: "string", name: "name" },
232
236
  { type: "string", name: "breed" },
@@ -48,11 +48,15 @@ type MapGenericType<T extends string, Opts extends ParseOptions> =
48
48
  // list<...>
49
49
  T extends `list<${infer U}>`
50
50
  ? MapGenericType<Trim<U>, Opts> extends infer M extends { type: string }
51
- ? Readonlyify<{ type: `list<${M["type"]}>` } & GetComponents<M>>
51
+ ? Readonlyify<
52
+ { type: `list<${M["type"]}>`; internalType: T } & GetComponents<M>
53
+ >
52
54
  : never
53
55
  : T extends `option<${infer U}>`
54
56
  ? MapGenericType<Trim<U>, Opts> extends infer M extends { type: string }
55
- ? Readonlyify<{ type: `option<${M["type"]}>` } & GetComponents<M>>
57
+ ? Readonlyify<
58
+ { type: `option<${M["type"]}>`; internalType: T } & GetComponents<M>
59
+ >
56
60
  : never
57
61
  : // result<L, R>
58
62
  T extends `result<${infer Inner}>`