@kontor/kontor-sdk 1.0.0-alpha.20 → 1.0.0-alpha.22

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 (142) hide show
  1. package/dist/cjs/exports/index.js +5 -1
  2. package/dist/cjs/exports/index.js.map +1 -1
  3. package/dist/cjs/sdk/actions/kontor/public/call-view.js +0 -1
  4. package/dist/cjs/sdk/actions/kontor/public/call-view.js.map +1 -1
  5. package/dist/cjs/sdk/actions/kontor/public/view-contract.js +5 -3
  6. package/dist/cjs/sdk/actions/kontor/public/view-contract.js.map +1 -1
  7. package/dist/cjs/sdk/actions/kontor/wallet/sign-reveal.js +2 -6
  8. package/dist/cjs/sdk/actions/kontor/wallet/sign-reveal.js.map +1 -1
  9. package/dist/cjs/sdk/contracts/wits.js +0 -1
  10. package/dist/cjs/sdk/contracts/wits.js.map +1 -1
  11. package/dist/cjs/sdk/utils/wit/codecs/u64.js +56 -0
  12. package/dist/cjs/sdk/utils/wit/codecs/u64.js.map +1 -0
  13. package/dist/cjs/sdk/utils/wit/decode-wit-parameter.js +3 -0
  14. package/dist/cjs/sdk/utils/wit/decode-wit-parameter.js.map +1 -1
  15. package/dist/cjs/sdk/utils/wit/encode-wit-parameters.js +10 -0
  16. package/dist/cjs/sdk/utils/wit/encode-wit-parameters.js.map +1 -1
  17. package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
  18. package/dist/cjs/wit/wit-parser/core/utils.js +1 -0
  19. package/dist/cjs/wit/wit-parser/core/utils.js.map +1 -1
  20. package/dist/esm/exports/index.js +2 -0
  21. package/dist/esm/exports/index.js.map +1 -1
  22. package/dist/esm/sdk/actions/kontor/public/call-view.js +0 -3
  23. package/dist/esm/sdk/actions/kontor/public/call-view.js.map +1 -1
  24. package/dist/esm/sdk/actions/kontor/public/view-contract.js +7 -3
  25. package/dist/esm/sdk/actions/kontor/public/view-contract.js.map +1 -1
  26. package/dist/esm/sdk/actions/kontor/wallet/sign-reveal.js +2 -31
  27. package/dist/esm/sdk/actions/kontor/wallet/sign-reveal.js.map +1 -1
  28. package/dist/esm/sdk/contracts/wits.js +1 -1
  29. package/dist/esm/sdk/contracts/wits.js.map +1 -1
  30. package/dist/esm/sdk/utils/wit/decode-wit-parameter.js +3 -0
  31. package/dist/esm/sdk/utils/wit/decode-wit-parameter.js.map +1 -1
  32. package/dist/esm/sdk/utils/wit/encode-wit-parameters.js +11 -0
  33. package/dist/esm/sdk/utils/wit/encode-wit-parameters.js.map +1 -1
  34. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  35. package/dist/esm/wit/wit-parser/core/utils.js +1 -0
  36. package/dist/esm/wit/wit-parser/core/utils.js.map +1 -1
  37. package/dist/types/exports/index.d.ts +2 -0
  38. package/dist/types/exports/index.d.ts.map +1 -1
  39. package/dist/types/sdk/actions/kontor/public/call-view.d.ts +2 -11
  40. package/dist/types/sdk/actions/kontor/public/call-view.d.ts.map +1 -1
  41. package/dist/types/sdk/actions/kontor/public/view-contract.d.ts.map +1 -1
  42. package/dist/types/sdk/actions/kontor/wallet/sign-reveal.d.ts.map +1 -1
  43. package/dist/types/sdk/contracts/wits.d.ts +1 -1
  44. package/dist/types/sdk/contracts/wits.d.ts.map +1 -1
  45. package/dist/types/sdk/utils/wit/codecs/u64.d.ts +23 -0
  46. package/dist/types/sdk/utils/wit/codecs/u64.d.ts.map +1 -0
  47. package/dist/types/sdk/utils/wit/decode-wit-parameter.d.ts +1 -1
  48. package/dist/types/sdk/utils/wit/decode-wit-parameter.d.ts.map +1 -1
  49. package/dist/types/sdk/utils/wit/encode-wit-parameters.d.ts.map +1 -1
  50. package/dist/types/wit/wit-parser/core/types/utils.d.ts +4 -0
  51. package/dist/types/wit/wit-parser/core/types/utils.d.ts.map +1 -1
  52. package/dist/types/wit/wit-parser/core/utils.d.ts.map +1 -1
  53. package/package.json +1 -1
  54. package/src/exports/index.test.ts +2 -0
  55. package/src/exports/index.ts +9 -0
  56. package/src/sdk/actions/kontor/public/call-view.ts +0 -4
  57. package/src/wit/wit-parser/parse-wit.test.ts +6 -0
  58. package/dist/src/exports/index.test.js +0 -27
  59. package/dist/src/exports/index.test.js.map +0 -1
  60. package/dist/src/sdk/accounts/private-key-to-account.js +0 -42
  61. package/dist/src/sdk/accounts/private-key-to-account.js.map +0 -1
  62. package/dist/src/sdk/actions/get-contract.js +0 -50
  63. package/dist/src/sdk/actions/get-contract.js.map +0 -1
  64. package/dist/src/sdk/actions/get-contract.test-d.js +0 -43
  65. package/dist/src/sdk/actions/get-contract.test-d.js.map +0 -1
  66. package/dist/src/sdk/actions/kontor/public/call-view.js +0 -21
  67. package/dist/src/sdk/actions/kontor/public/call-view.js.map +0 -1
  68. package/dist/src/sdk/actions/kontor/public/inspect.js +0 -20
  69. package/dist/src/sdk/actions/kontor/public/inspect.js.map +0 -1
  70. package/dist/src/sdk/actions/kontor/public/proc-contract.test.js +0 -47
  71. package/dist/src/sdk/actions/kontor/public/proc-contract.test.js.map +0 -1
  72. package/dist/src/sdk/actions/kontor/public/view-contract.js +0 -47
  73. package/dist/src/sdk/actions/kontor/public/view-contract.js.map +0 -1
  74. package/dist/src/sdk/actions/kontor/public/view-contract.test-d.js +0 -29
  75. package/dist/src/sdk/actions/kontor/public/view-contract.test-d.js.map +0 -1
  76. package/dist/src/sdk/actions/kontor/wallet/sign-reveal.js +0 -59
  77. package/dist/src/sdk/actions/kontor/wallet/sign-reveal.js.map +0 -1
  78. package/dist/src/sdk/actions/wallet/get-addresses.js +0 -20
  79. package/dist/src/sdk/actions/wallet/get-addresses.js.map +0 -1
  80. package/dist/src/sdk/actions/wallet/sign-psbt.js +0 -28
  81. package/dist/src/sdk/actions/wallet/sign-psbt.js.map +0 -1
  82. package/dist/src/sdk/clients/base/create-http-client.js +0 -41
  83. package/dist/src/sdk/clients/base/create-http-client.js.map +0 -1
  84. package/dist/src/sdk/clients/base/create-rpc-client.js +0 -41
  85. package/dist/src/sdk/clients/base/create-rpc-client.js.map +0 -1
  86. package/dist/src/sdk/clients/base/create-rpc-client.test.js +0 -151
  87. package/dist/src/sdk/clients/base/create-rpc-client.test.js.map +0 -1
  88. package/dist/src/sdk/clients/create-public-client.js +0 -13
  89. package/dist/src/sdk/clients/create-public-client.js.map +0 -1
  90. package/dist/src/sdk/clients/create-public-client.test.js +0 -121
  91. package/dist/src/sdk/clients/create-public-client.test.js.map +0 -1
  92. package/dist/src/sdk/clients/create-wallet-client.js +0 -14
  93. package/dist/src/sdk/clients/create-wallet-client.js.map +0 -1
  94. package/dist/src/sdk/clients/kontor/create-public-client.js +0 -14
  95. package/dist/src/sdk/clients/kontor/create-public-client.js.map +0 -1
  96. package/dist/src/sdk/clients/kontor/create-public-client.test.js +0 -45
  97. package/dist/src/sdk/clients/kontor/create-public-client.test.js.map +0 -1
  98. package/dist/src/sdk/clients/transports/create-rpc-transport.js +0 -36
  99. package/dist/src/sdk/clients/transports/create-rpc-transport.js.map +0 -1
  100. package/dist/src/sdk/contracts/wits.js +0 -26
  101. package/dist/src/sdk/contracts/wits.js.map +0 -1
  102. package/dist/src/sdk/types/chain.js +0 -2
  103. package/dist/src/sdk/types/chain.js.map +0 -1
  104. package/dist/src/sdk/types/contract.js +0 -2
  105. package/dist/src/sdk/types/contract.js.map +0 -1
  106. package/dist/src/sdk/types/contract.test-d.js +0 -34
  107. package/dist/src/sdk/types/contract.test-d.js.map +0 -1
  108. package/dist/src/sdk/types/http-schema.js +0 -73
  109. package/dist/src/sdk/types/http-schema.js.map +0 -1
  110. package/dist/src/sdk/types/rpc-schema.js +0 -2
  111. package/dist/src/sdk/types/rpc-schema.js.map +0 -1
  112. package/dist/src/sdk/utils/chain/defineChain.js +0 -9
  113. package/dist/src/sdk/utils/chain/defineChain.js.map +0 -1
  114. package/dist/src/sdk/utils/wit/decode-wit-parameter.js +0 -289
  115. package/dist/src/sdk/utils/wit/decode-wit-parameter.js.map +0 -1
  116. package/dist/src/sdk/utils/wit/encode-function-data.test-d.js +0 -24
  117. package/dist/src/sdk/utils/wit/encode-function-data.test-d.js.map +0 -1
  118. package/dist/src/sdk/utils/wit/encode-function-data.test.js +0 -91
  119. package/dist/src/sdk/utils/wit/encode-function-data.test.js.map +0 -1
  120. package/dist/src/sdk/utils/wit/encode-wit-parameters.js +0 -261
  121. package/dist/src/sdk/utils/wit/encode-wit-parameters.js.map +0 -1
  122. package/dist/src/sdk/utils/wit/get-wit-item.test.js +0 -167
  123. package/dist/src/sdk/utils/wit/get-wit-item.test.js.map +0 -1
  124. package/dist/src/wit/wit-parser/core/records.test.js +0 -63
  125. package/dist/src/wit/wit-parser/core/records.test.js.map +0 -1
  126. package/dist/src/wit/wit-parser/core/types/records.test-d.js +0 -19
  127. package/dist/src/wit/wit-parser/core/types/records.test-d.js.map +0 -1
  128. package/dist/src/wit/wit-parser/core/types/utils.js +0 -2
  129. package/dist/src/wit/wit-parser/core/types/utils.js.map +0 -1
  130. package/dist/src/wit/wit-parser/core/types/utils.test-d.js +0 -159
  131. package/dist/src/wit/wit-parser/core/types/utils.test-d.js.map +0 -1
  132. package/dist/src/wit/wit-parser/core/utils.js +0 -213
  133. package/dist/src/wit/wit-parser/core/utils.js.map +0 -1
  134. package/dist/src/wit/wit-parser/core/utils.test.js +0 -316
  135. package/dist/src/wit/wit-parser/core/utils.test.js.map +0 -1
  136. package/dist/src/wit/wit-parser/parse-wit-parameter.test.js +0 -93
  137. package/dist/src/wit/wit-parser/parse-wit-parameter.test.js.map +0 -1
  138. package/dist/src/wit/wit-parser/parse-wit.test.js +0 -80
  139. package/dist/src/wit/wit-parser/parse-wit.test.js.map +0 -1
  140. package/dist/tsconfig.tsbuildinfo +0 -1
  141. /package/dist/{src → esm}/sdk/utils/wit/codecs/u64.js +0 -0
  142. /package/dist/{src → esm}/sdk/utils/wit/codecs/u64.js.map +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"encode-function-data.test-d.js","sourceRoot":"","sources":["../../../../../src/sdk/utils/wit/encode-function-data.test-d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAEL,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAEhE,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC9C,MAAM,SAAS,GAAG;QAChB,2CAA2C;QAE3C,wFAAwF;KAChF,CAAC;IAEX,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEnC,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAItD,YAAY,EAAqB,CAAC,aAAa,EAA0B,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;IACxB,IAAI,CAAC;QACH,yCAAyC;QACzC,kBAAkB,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAId,YAAY,EAAqB,CAAC,GAAG,CAAC,aAAa,EAAa,CAAC;IAEjE,YAAY,EAAqB,CAAC,aAAa,EAY5C,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -1,91 +0,0 @@
1
- import { expect, test } from "vitest";
2
- import { encodeFunctionData } from "./encode-function-data.js";
3
- import { parseWit } from "../../../wit/wit-parser/parse-wit.js";
4
- export const nativeToken = parseWit([
5
- "record balance { acc: string, amt: decimal }",
6
- "record transfer { src: string, dst: string, amt: decimal }",
7
- "record burn { src: string, amt: decimal }",
8
- "record mint { dst: string, amt: decimal }",
9
- "export issuance: func(ctx: borrow<core-context>, amt: decimal) -> result<mint, error>;",
10
- "export hold: func(ctx: borrow<core-context>, amt: decimal) -> result<transfer, error>;",
11
- "export release: func(ctx: borrow<core-context>, burn-amt: decimal) -> result<burn, error>;",
12
- "export init: func(ctx: borrow<proc-context>);",
13
- "export mint: func(ctx: borrow<proc-context>, amt: decimal) -> result<mint, error>;",
14
- "export burn: func(ctx: borrow<proc-context>, amt: decimal) -> result<burn, error>;",
15
- "export transfer: func(ctx: borrow<proc-context>, dst: string, amt: decimal) -> result<transfer, error>;",
16
- "export balance: func(ctx: borrow<view-context>, acc: string) -> option<decimal>;",
17
- "export balances: func(ctx: borrow<view-context>) -> list<balance>;",
18
- "export total-supply: func(ctx: borrow<view-context>) -> decimal;",
19
- "export attach: func(ctx: borrow<proc-context>, vout: u64, amt: decimal) -> result<transfer, error>;",
20
- "export detach: func(ctx: borrow<proc-context>) -> result<transfer, error>;",
21
- ]);
22
- //TODO: change functionName to func
23
- test("issuance", () => {
24
- expect(encodeFunctionData({
25
- wit: nativeToken,
26
- functionName: "issuance",
27
- args: [[7n, 18]],
28
- })).toEqual("issuance({r0: 7, r1: 0, r2: 0, r3: 0, sign: plus})");
29
- });
30
- test("hold", () => {
31
- expect(encodeFunctionData({
32
- wit: nativeToken,
33
- functionName: "hold",
34
- args: [[7n, 18]],
35
- })).toEqual("hold({r0: 7, r1: 0, r2: 0, r3: 0, sign: plus})");
36
- });
37
- test("release", () => {
38
- expect(encodeFunctionData({
39
- wit: nativeToken,
40
- functionName: "release",
41
- args: [[7n, 18]],
42
- })).toEqual("release({r0: 7, r1: 0, r2: 0, r3: 0, sign: plus})");
43
- });
44
- test("mint", () => {
45
- expect(encodeFunctionData({
46
- wit: nativeToken,
47
- functionName: "mint",
48
- args: [[7n, 18]],
49
- })).toEqual("mint({r0: 7, r1: 0, r2: 0, r3: 0, sign: plus})");
50
- });
51
- test("burn", () => {
52
- expect(encodeFunctionData({
53
- wit: nativeToken,
54
- functionName: "burn",
55
- args: [[7n, 18]],
56
- })).toEqual("burn({r0: 7, r1: 0, r2: 0, r3: 0, sign: plus})");
57
- });
58
- test("transfer", () => {
59
- expect(encodeFunctionData({
60
- wit: nativeToken,
61
- functionName: "transfer",
62
- args: ["bc1deadbeef", [7n, 18]],
63
- })).toEqual(`transfer("bc1deadbeef", {r0: 7, r1: 0, r2: 0, r3: 0, sign: plus})`);
64
- });
65
- test("balance", () => {
66
- expect(encodeFunctionData({
67
- wit: nativeToken,
68
- functionName: "balance",
69
- args: ["bc1deadbeef"],
70
- })).toEqual(`balance("bc1deadbeef")`);
71
- });
72
- test("balances", () => {
73
- expect(encodeFunctionData({
74
- wit: nativeToken,
75
- functionName: "balances",
76
- })).toEqual(`balances()`);
77
- });
78
- test("totalSupply", () => {
79
- expect(encodeFunctionData({
80
- wit: nativeToken,
81
- functionName: "total-supply",
82
- })).toEqual(`total-supply()`);
83
- });
84
- test("attach", () => {
85
- expect(encodeFunctionData({
86
- wit: nativeToken,
87
- functionName: "attach",
88
- args: [7n, [7n, 18]],
89
- })).toEqual("attach(7, {r0: 7, r1: 0, r2: 0, r3: 0, sign: plus})");
90
- });
91
- //# sourceMappingURL=encode-function-data.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encode-function-data.test.js","sourceRoot":"","sources":["../../../../../src/sdk/utils/wit/encode-function-data.test.ts"],"names":[],"mappings":"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"}
@@ -1,261 +0,0 @@
1
- import { InvalidWitEncodingTypeError, WitEncodingLengthMismatchError, } from "../../errors/wit.js";
2
- import { U64Codec } from "./codecs/u64.js";
3
- import { DecimalCodec } from "./codecs/decimal.js";
4
- import { IntegerCodec } from "./codecs/integer.js";
5
- import { ListCodecFactory } from "./codecs/list.js";
6
- import { OptionCodecFactory } from "./codecs/option.js";
7
- import { StringCodec } from "./codecs/string.js";
8
- export function encodeWitParameters(params, values) {
9
- if (params.length !== values.length)
10
- throw new WitEncodingLengthMismatchError({
11
- expectedLength: params.length,
12
- givenLength: values.length,
13
- });
14
- const preparedParams = prepareParams({
15
- params: params,
16
- values: values,
17
- });
18
- const encoded = encodeParams(preparedParams);
19
- return encoded;
20
- }
21
- function prepareParams({ params, values, }) {
22
- const preparedParams = [];
23
- for (let i = 0; i < params.length; i++) {
24
- preparedParams.push(prepareParam({ param: params[i], value: values[i] }));
25
- }
26
- return preparedParams;
27
- }
28
- function prepareParam({ param, value, }) {
29
- // TODO: this is a little smelly
30
- const isOption = getOptionComponent(param.type);
31
- if (isOption) {
32
- const type = param.type;
33
- switch (type) {
34
- case "option<bool>":
35
- // No BoolCodec yet – fail loudly for now.
36
- // TODO: change to list speci,fic error
37
- throw new InvalidWitEncodingTypeError(param.type, {
38
- docsPath: "tk",
39
- });
40
- case "option<string>": {
41
- return {
42
- encoded: OptionCodecFactory.create(StringCodec)
43
- .fromJs(value)
44
- .toWave(),
45
- };
46
- }
47
- case "option<integer>": {
48
- return {
49
- encoded: OptionCodecFactory.create(IntegerCodec)
50
- .fromJs(value)
51
- .toWave(),
52
- };
53
- }
54
- case "option<decimal>": {
55
- return {
56
- encoded: OptionCodecFactory.create(DecimalCodec)
57
- .fromJs(value)
58
- .toWave(),
59
- };
60
- }
61
- // signed ints
62
- case "option<s8>":
63
- case "option<s16>":
64
- case "option<s32>":
65
- case "option<s64>":
66
- // TODO: wire up once you have a signed-int codec
67
- throw new InvalidWitEncodingTypeError(param.type, {
68
- docsPath: "tk",
69
- });
70
- // unsigned ints
71
- case "option<u8>":
72
- case "option<u16>":
73
- case "option<u32>":
74
- case "option<u64>":
75
- // TODO: wire up once you have an unsigned-int codec
76
- throw new InvalidWitEncodingTypeError(param.type, {
77
- docsPath: "tk",
78
- });
79
- // tuples
80
- case "option<tuple>":
81
- // TODO: OptionCodecFactory.create(TupleCodec) once it exists
82
- throw new InvalidWitEncodingTypeError(param.type, {
83
- docsPath: "tk",
84
- });
85
- default: {
86
- // exhaustiveness guard – if WitOption ever gains a new member,
87
- // this will start failing at compile time until you add a case.
88
- // @ts-ignore
89
- const _exhaustive = type;
90
- throw new InvalidWitEncodingTypeError(param.type, {
91
- docsPath: "tk",
92
- });
93
- }
94
- }
95
- }
96
- const isList = getListComponents(param.type);
97
- if (isList) {
98
- const type = param.type;
99
- switch (type) {
100
- case "list<bool>":
101
- // No BoolCodec yet – fail loudly for now.
102
- // TODO: change to list speci,fic error
103
- throw new InvalidWitEncodingTypeError(param.type, {
104
- docsPath: "tk",
105
- });
106
- case "list<string>": {
107
- return {
108
- encoded: ListCodecFactory.create(StringCodec)
109
- .fromJs(value)
110
- .toWave(),
111
- };
112
- }
113
- case "list<integer>": {
114
- return {
115
- encoded: ListCodecFactory.create(IntegerCodec)
116
- .fromJs(value)
117
- .toWave(),
118
- };
119
- }
120
- case "list<decimal>": {
121
- return {
122
- encoded: ListCodecFactory.create(DecimalCodec)
123
- .fromJs(value)
124
- .toWave(),
125
- };
126
- }
127
- // signed ints
128
- case "list<s8>":
129
- case "list<s16>":
130
- case "list<s32>":
131
- case "list<s64>":
132
- // TODO: wire up once you have a signed-int codec
133
- throw new InvalidWitEncodingTypeError(param.type, {
134
- docsPath: "tk",
135
- });
136
- // unsigned ints
137
- case "list<u8>":
138
- case "list<u16>":
139
- case "list<u32>":
140
- case "list<u64>":
141
- // TODO: wire up once you have an unsigned-int codec
142
- throw new InvalidWitEncodingTypeError(param.type, {
143
- docsPath: "tk",
144
- });
145
- // tuples
146
- case "list<tuple>":
147
- // TODO: ListCodecFactory.create(TupleCodec) once it exists
148
- throw new InvalidWitEncodingTypeError(param.type, {
149
- docsPath: "tk",
150
- });
151
- default: {
152
- // exhaustiveness guard – if WitList ever gains a new member,
153
- // this will start failing at compile time until you add a case.
154
- // @ts-ignore
155
- const _exhaustive = type;
156
- throw new InvalidWitEncodingTypeError(param.type, {
157
- docsPath: "tk",
158
- });
159
- }
160
- }
161
- }
162
- // if (arrayComponents) {
163
- // const [length, type] = arrayComponents;
164
- // return encodeArray(value, { length, param: { ...param, type } });
165
- // }
166
- // if (param.type === "tuple") {
167
- // return encodeTuple(value as unknown as Tuple, {
168
- // param: param as TupleAbiParameter,
169
- // });
170
- // }
171
- // if (param.type === "address") {
172
- // return encodeAddress(value as unknown as Hex);
173
- // }
174
- // if (param.type === "bool") {
175
- // return encodeBool(value as unknown as boolean);
176
- // }
177
- // if (param.type.startsWith("uint") || param.type.startsWith("int")) {
178
- // const signed = param.type.startsWith("int");
179
- // const [, , size = "256"] = integerRegex.exec(param.type) ?? [];
180
- // return encodeNumber(value as unknown as number, {
181
- // signed,
182
- // size: Number(size),
183
- // });
184
- // }
185
- // if (param.type.startsWith("bytes")) {
186
- // return encodeBytes(value as unknown as Hex, { param });
187
- // }
188
- //
189
- console.log(param);
190
- if (param.type === "u64") {
191
- return encodeU64(value);
192
- }
193
- if (param.type === "integer") {
194
- return encodeInteger(value);
195
- }
196
- if (param.type === "decimal") {
197
- return encodeDecimal(value);
198
- }
199
- if (param.type === "string") {
200
- return encodeString(value);
201
- }
202
- throw new InvalidWitEncodingTypeError(param.type, {
203
- docsPath: "tk",
204
- });
205
- }
206
- export function getListComponents(type) {
207
- // TODO: add error when nothing inside
208
- // Matches things like:
209
- // - "list<integer>"
210
- // - "list<result<string, integer>>"
211
- // - "list< list<decimal> >"
212
- const matches = type.match(/^list<(.*)>$/);
213
- return matches ? matches[1]?.trim() : undefined;
214
- }
215
- export function getOptionComponent(type) {
216
- // Matches:
217
- // - "option<integer>"
218
- // - "option<list<decimal>>"
219
- // - "option< result<string, error> >"
220
- const matches = type.match(/^option<(.*)>$/);
221
- return matches ? matches[1]?.trim() : undefined;
222
- }
223
- export class InvalidResultTypeError extends Error {
224
- constructor(type) {
225
- super(`Invalid result type "${type}". The error channel must be "error".`);
226
- }
227
- }
228
- export function getResultComponentsStrict(type) {
229
- const matches = type.match(/^result<(.*?),(.*?)>$/);
230
- if (!matches)
231
- return undefined;
232
- const okType = matches[1].trim();
233
- const errType = matches[2].trim();
234
- if (errType !== "error")
235
- throw new InvalidResultTypeError(errType);
236
- return [okType, "error"];
237
- }
238
- function encodeU64(value) {
239
- return {
240
- encoded: U64Codec.fromJs(value).toWave(),
241
- };
242
- }
243
- function encodeInteger(value) {
244
- return {
245
- encoded: IntegerCodec.fromJs(value).toWave(),
246
- };
247
- }
248
- function encodeDecimal(value) {
249
- return {
250
- encoded: DecimalCodec.fromJs(value).toWave(),
251
- };
252
- }
253
- function encodeString(value) {
254
- return {
255
- encoded: StringCodec.fromJs(value).toWave(),
256
- };
257
- }
258
- function encodeParams(preparedParams) {
259
- return preparedParams.map((p) => p.encoded).join(", ");
260
- }
261
- //# sourceMappingURL=encode-wit-parameters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encode-wit-parameters.js","sourceRoot":"","sources":["../../../../../src/sdk/utils/wit/encode-wit-parameters.ts"],"names":[],"mappings":"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"}
@@ -1,167 +0,0 @@
1
- import { describe, expect, test } from "vitest";
2
- import { getWitItem } from "./get-wit-item.js";
3
- import { parseWit } from "../../../wit/wit-parser/parse-wit.js";
4
- export const nativeToken = parseWit([
5
- "record balance { key: string, value: decimal }",
6
- "export mint: func(ctx: borrow<proc-context>, n: decimal) -> result<_, error>;",
7
- "export burn: func(ctx: borrow<proc-context>, n: decimal) -> result<_, error>;",
8
- "export transfer: func(ctx: borrow<proc-context>, to: string, n: decimal) -> result<_, error>;",
9
- "export balance: func(ctx: borrow<view-context>, acc: string) -> option<decimal>;",
10
- "export balances: func(ctx: borrow<view-context>) -> list<balance>;",
11
- "export total-supply: func(ctx: borrow<view-context>) -> decimal;",
12
- ]);
13
- describe("getWitItem", () => {
14
- test("returns undefined for missing item", () => {
15
- const item = getWitItem({
16
- wit: nativeToken,
17
- // @ts-expect-error - "does-not-exist" is not a valid WitItemName
18
- name: "does-not-exist",
19
- });
20
- expect(item).toBeUndefined();
21
- });
22
- test("selects mint function by name", () => {
23
- const item = getWitItem({
24
- wit: nativeToken,
25
- name: "mint",
26
- });
27
- expect(item).toStrictEqual({
28
- name: "mint",
29
- type: "function",
30
- context: "proc",
31
- inputs: [
32
- {
33
- internalType: "decimal",
34
- type: "decimal",
35
- name: "n",
36
- },
37
- ],
38
- outputs: [
39
- {
40
- internalType: "result<_, error>",
41
- type: "result<_, error>",
42
- },
43
- ],
44
- });
45
- });
46
- test("selects burn function by name", () => {
47
- const item = getWitItem({
48
- wit: nativeToken,
49
- name: "burn",
50
- });
51
- expect(item).toStrictEqual({
52
- name: "burn",
53
- type: "function",
54
- context: "proc",
55
- inputs: [
56
- {
57
- internalType: "decimal",
58
- type: "decimal",
59
- name: "n",
60
- },
61
- ],
62
- outputs: [
63
- {
64
- internalType: "result<_, error>",
65
- type: "result<_, error>",
66
- },
67
- ],
68
- });
69
- });
70
- test("selects transfer function by name", () => {
71
- const item = getWitItem({
72
- wit: nativeToken,
73
- name: "transfer",
74
- });
75
- expect(item).toStrictEqual({
76
- name: "transfer",
77
- type: "function",
78
- context: "proc",
79
- inputs: [
80
- {
81
- internalType: "string",
82
- type: "string",
83
- name: "to",
84
- },
85
- {
86
- internalType: "decimal",
87
- type: "decimal",
88
- name: "n",
89
- },
90
- ],
91
- outputs: [
92
- {
93
- internalType: "result<_, error>",
94
- type: "result<_, error>",
95
- },
96
- ],
97
- });
98
- });
99
- test("selects balance function by name", () => {
100
- const item = getWitItem({
101
- wit: nativeToken,
102
- name: "balance",
103
- });
104
- expect(item).toStrictEqual({
105
- name: "balance",
106
- type: "function",
107
- context: "view",
108
- inputs: [
109
- {
110
- internalType: "string",
111
- type: "string",
112
- name: "acc",
113
- },
114
- ],
115
- outputs: [
116
- {
117
- internalType: "option<decimal>",
118
- type: "option<decimal>",
119
- },
120
- ],
121
- });
122
- });
123
- test("selects balances function by name", () => {
124
- const item = getWitItem({
125
- wit: nativeToken,
126
- name: "balances",
127
- });
128
- expect(item).toStrictEqual({
129
- name: "balances",
130
- type: "function",
131
- context: "view",
132
- inputs: [],
133
- outputs: [
134
- {
135
- type: "list<tuple>",
136
- internalType: "list<balance>",
137
- components: [
138
- {
139
- internalType: "string",
140
- name: "key",
141
- type: "string",
142
- },
143
- {
144
- internalType: "decimal",
145
- name: "value",
146
- type: "decimal",
147
- },
148
- ],
149
- },
150
- ],
151
- });
152
- });
153
- test("selects total-supply function by name (kebab case)", () => {
154
- const item = getWitItem({
155
- wit: nativeToken,
156
- name: "total-supply",
157
- });
158
- expect(item).toBeDefined();
159
- expect(item.name).toBe("total-supply");
160
- const inputs = item.inputs ?? [];
161
- expect(inputs.map((p) => p.name)).toEqual([]);
162
- expect(inputs.map((p) => p.type)).toEqual([]);
163
- // Optional: assert output type
164
- // expect((item as any).outputs?.[0]?.type).toBe("decimal");
165
- });
166
- });
167
- //# sourceMappingURL=get-wit-item.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-wit-item.test.js","sourceRoot":"","sources":["../../../../../src/sdk/utils/wit/get-wit-item.test.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- import { expect, test } from "vitest";
2
- import { parseRecords } from "./records.js";
3
- test("parse records", () => {
4
- expect(parseRecords([
5
- "record contract-address { name: string, height: s64, tx-index: s64 }",
6
- "record token-pair { a: contract-address, b: contract-address }",
7
- ])).toEqual({
8
- "contract-address": [
9
- { name: "name", type: "string", internalType: "string" },
10
- { name: "height", type: "s64", internalType: "s64" },
11
- { name: "tx-index", type: "s64", internalType: "s64" },
12
- ],
13
- "token-pair": [
14
- {
15
- type: "tuple",
16
- name: "a",
17
- internalType: "contract-address",
18
- components: [
19
- { name: "name", type: "string", internalType: "string" },
20
- { name: "height", type: "s64", internalType: "s64" },
21
- { name: "tx-index", type: "s64", internalType: "s64" },
22
- ],
23
- },
24
- {
25
- type: "tuple",
26
- name: "b",
27
- internalType: "contract-address",
28
- components: [
29
- { name: "name", type: "string", internalType: "string" },
30
- { name: "height", type: "s64", internalType: "s64" },
31
- { name: "tx-index", type: "s64", internalType: "s64" },
32
- ],
33
- },
34
- ],
35
- });
36
- });
37
- test("generic", () => {
38
- expect(parseRecords(["record generic { values: list<string> }"])).toEqual({
39
- generic: [
40
- { name: "values", type: "list<string>", internalType: "list<string>" },
41
- ],
42
- });
43
- });
44
- test("generic", () => {
45
- expect(parseRecords([
46
- "record contract-address { name: string, height: s64, tx-index: s64 }",
47
- "record generic { values: list<contract-address> }",
48
- ])).toEqual({
49
- "contract-address": [
50
- { name: "name", type: "string", internalType: "string" },
51
- { name: "height", type: "s64", internalType: "s64" },
52
- { name: "tx-index", type: "s64", internalType: "s64" },
53
- ],
54
- generic: [
55
- {
56
- name: "values",
57
- type: "list<contract-address>",
58
- internalType: "list<contract-address>",
59
- },
60
- ],
61
- });
62
- });
63
- //# sourceMappingURL=records.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"records.test.js","sourceRoot":"","sources":["../../../../../src/wit/wit-parser/core/records.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;IACzB,MAAM,CACJ,YAAY,CAAC;QACX,uEAAuE;QACvE,iEAAiE;KAClE,CAAC,CACH,CAAC,OAAO,CAAC;QACR,kBAAkB,EAAE;YAClB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YACxD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;YACpD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;SACvD;QACD,YAAY,EAAE;YACZ;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,GAAG;gBACT,YAAY,EAAE,kBAAkB;gBAChC,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;oBACxD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;oBACpD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;iBACvD;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,GAAG;gBACT,YAAY,EAAE,kBAAkB;gBAChC,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;oBACxD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;oBACpD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;iBACvD;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;IACnB,MAAM,CAAC,YAAY,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACzE,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE;SACvE;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;IACnB,MAAM,CACJ,YAAY,CAAC;QACX,uEAAuE;QACvE,oDAAoD;KACrD,CAAC,CACH,CAAC,OAAO,CAAC;QACR,kBAAkB,EAAE;YAClB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YACxD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;YACpD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;SACvD;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,wBAAwB;gBAC9B,YAAY,EAAE,wBAAwB;aACvC;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,19 +0,0 @@
1
- import { expectTypeOf, test } from "vitest";
2
- test("ParseRecords", () => {
3
- expectTypeOf().toEqualTypeOf();
4
- expectTypeOf().toEqualTypeOf();
5
- expectTypeOf().toEqualTypeOf();
6
- });
7
- test("ParseRecord", () => {
8
- expectTypeOf().toEqualTypeOf();
9
- expectTypeOf().toEqualTypeOf();
10
- expectTypeOf().toEqualTypeOf();
11
- });
12
- test("ParseRecordProperties", () => {
13
- expectTypeOf().toEqualTypeOf();
14
- expectTypeOf().toEqualTypeOf();
15
- expectTypeOf().toEqualTypeOf();
16
- expectTypeOf().toEqualTypeOf();
17
- expectTypeOf().toEqualTypeOf();
18
- });
19
- //# sourceMappingURL=records.test-d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"records.test-d.js","sourceRoot":"","sources":["../../../../../../src/wit/wit-parser/core/types/records.test-d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAkB5C,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;IACxB,YAAY,EAOT,CAAC,aAAa,EAgEb,CAAC;IACL,YAAY,EAOT,CAAC,aAAa,EAyBb,CAAC;IACL,YAAY,EAET,CAAC,aAAa,EAYb,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE;IACvB,YAAY,EAET,CAAC,aAAa,EAmBb,CAAC;IAEL,YAAY,EAET,CAAC,aAAa,EAcb,CAAC;IAEL,YAAY,EAKT,CAAC,aAAa,EA2Cb,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACjC,YAAY,EAET,CAAC,aAAa,EAkBd,CAAC;IAEJ,YAAY,EAET,CAAC,aAAa,EAad,CAAC;IAEJ,YAAY,EAET,CAAC,aAAa,EAuBd,CAAC;IAEJ,YAAY,EAET,CAAC,aAAa,EAOd,CAAC;IAEJ,YAAY,EAET,CAAC,aAAa,EAYd,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/wit/wit-parser/core/types/utils.ts"],"names":[],"mappings":""}