@typemove/sui 1.2.4 → 1.2.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 (131) hide show
  1. package/dist/cjs/builtin/0x1.d.ts +496 -0
  2. package/dist/cjs/builtin/0x1.d.ts.map +1 -0
  3. package/dist/cjs/builtin/0x1.js +2038 -0
  4. package/dist/cjs/builtin/0x1.js.map +1 -0
  5. package/dist/cjs/builtin/0x2.d.ts +2933 -0
  6. package/dist/cjs/builtin/0x2.d.ts.map +1 -0
  7. package/dist/cjs/builtin/0x2.js +9511 -0
  8. package/dist/cjs/builtin/0x2.js.map +1 -0
  9. package/dist/cjs/builtin/0x3.d.ts +1208 -0
  10. package/dist/cjs/builtin/0x3.d.ts.map +1 -0
  11. package/dist/cjs/builtin/0x3.js +2455 -0
  12. package/dist/cjs/builtin/0x3.js.map +1 -0
  13. package/dist/cjs/builtin/index.d.ts +4 -0
  14. package/dist/cjs/builtin/index.d.ts.map +1 -0
  15. package/dist/cjs/builtin/index.js +11 -0
  16. package/dist/cjs/builtin/index.js.map +1 -0
  17. package/dist/cjs/codegen/codegen.d.ts +19 -0
  18. package/dist/cjs/codegen/codegen.d.ts.map +1 -0
  19. package/dist/cjs/codegen/codegen.js +178 -0
  20. package/dist/cjs/codegen/codegen.js.map +1 -0
  21. package/dist/cjs/codegen/index.d.ts +2 -0
  22. package/dist/cjs/codegen/index.d.ts.map +1 -0
  23. package/dist/cjs/codegen/index.js +5 -0
  24. package/dist/cjs/codegen/index.js.map +1 -0
  25. package/dist/cjs/index.d.ts +4 -0
  26. package/dist/cjs/index.d.ts.map +1 -0
  27. package/dist/cjs/index.js +11 -0
  28. package/dist/cjs/index.js.map +1 -0
  29. package/dist/cjs/models.d.ts +18 -0
  30. package/dist/cjs/models.d.ts.map +1 -0
  31. package/dist/cjs/models.js +5 -0
  32. package/dist/cjs/models.js.map +1 -0
  33. package/dist/cjs/move-coder.d.ts +25 -0
  34. package/dist/cjs/move-coder.d.ts.map +1 -0
  35. package/dist/cjs/move-coder.js +229 -0
  36. package/dist/cjs/move-coder.js.map +1 -0
  37. package/dist/cjs/move-coder.test.d.ts +2 -0
  38. package/dist/cjs/move-coder.test.d.ts.map +1 -0
  39. package/dist/cjs/move-coder.test.js.map +1 -0
  40. package/dist/cjs/sui-chain-adapter.d.ts +15 -0
  41. package/dist/cjs/sui-chain-adapter.d.ts.map +1 -0
  42. package/dist/cjs/sui-chain-adapter.js +95 -0
  43. package/dist/cjs/sui-chain-adapter.js.map +1 -0
  44. package/dist/cjs/to-internal.d.ts +4 -0
  45. package/dist/cjs/to-internal.d.ts.map +1 -0
  46. package/dist/cjs/to-internal.js +85 -0
  47. package/dist/cjs/to-internal.js.map +1 -0
  48. package/dist/cjs/transaction.d.ts +6 -0
  49. package/dist/cjs/transaction.d.ts.map +1 -0
  50. package/dist/cjs/transaction.js +35 -0
  51. package/dist/cjs/transaction.js.map +1 -0
  52. package/dist/esm/builtin/0x1.d.ts +496 -0
  53. package/dist/esm/builtin/0x1.d.ts.map +1 -0
  54. package/dist/esm/builtin/0x1.js +2034 -0
  55. package/dist/esm/builtin/0x1.js.map +1 -0
  56. package/dist/esm/builtin/0x2.d.ts +2933 -0
  57. package/dist/esm/builtin/0x2.d.ts.map +1 -0
  58. package/dist/esm/builtin/0x2.js +9506 -0
  59. package/dist/esm/builtin/0x2.js.map +1 -0
  60. package/dist/esm/builtin/0x3.d.ts +1208 -0
  61. package/dist/esm/builtin/0x3.d.ts.map +1 -0
  62. package/dist/esm/builtin/0x3.js +2450 -0
  63. package/dist/esm/builtin/0x3.js.map +1 -0
  64. package/dist/esm/builtin/index.d.ts +4 -0
  65. package/dist/esm/builtin/index.d.ts.map +1 -0
  66. package/dist/esm/builtin/index.js +7 -0
  67. package/dist/esm/builtin/index.js.map +1 -0
  68. package/dist/esm/codegen/codegen.d.ts +19 -0
  69. package/dist/esm/codegen/codegen.d.ts.map +1 -0
  70. package/dist/esm/codegen/codegen.js +172 -0
  71. package/dist/esm/codegen/codegen.js.map +1 -0
  72. package/dist/esm/codegen/index.d.ts +2 -0
  73. package/dist/esm/codegen/index.d.ts.map +1 -0
  74. package/dist/esm/codegen/index.js +2 -0
  75. package/dist/esm/codegen/index.js.map +1 -0
  76. package/dist/esm/codegen/run.d.ts +2 -0
  77. package/dist/esm/codegen/run.d.ts.map +1 -0
  78. package/dist/esm/codegen/run.js.map +1 -0
  79. package/dist/esm/index.d.ts +4 -0
  80. package/dist/esm/index.d.ts.map +1 -0
  81. package/dist/esm/index.js +4 -0
  82. package/dist/esm/index.js.map +1 -0
  83. package/dist/esm/models.d.ts +18 -0
  84. package/dist/esm/models.d.ts.map +1 -0
  85. package/dist/esm/models.js +2 -0
  86. package/dist/esm/models.js.map +1 -0
  87. package/dist/esm/move-coder.d.ts +25 -0
  88. package/dist/esm/move-coder.d.ts.map +1 -0
  89. package/dist/esm/move-coder.js +223 -0
  90. package/dist/esm/move-coder.js.map +1 -0
  91. package/dist/esm/move-coder.test.d.ts +2 -0
  92. package/dist/esm/move-coder.test.d.ts.map +1 -0
  93. package/dist/esm/move-coder.test.js.map +1 -0
  94. package/dist/esm/sui-chain-adapter.d.ts +15 -0
  95. package/dist/esm/sui-chain-adapter.d.ts.map +1 -0
  96. package/dist/esm/sui-chain-adapter.js +91 -0
  97. package/dist/esm/sui-chain-adapter.js.map +1 -0
  98. package/dist/esm/to-internal.d.ts +4 -0
  99. package/dist/esm/to-internal.d.ts.map +1 -0
  100. package/dist/esm/to-internal.js +81 -0
  101. package/dist/esm/to-internal.js.map +1 -0
  102. package/dist/esm/transaction.d.ts +6 -0
  103. package/dist/esm/transaction.d.ts.map +1 -0
  104. package/dist/esm/transaction.js +28 -0
  105. package/dist/esm/transaction.js.map +1 -0
  106. package/package.json +2 -2
  107. package/src/abis/0x1.json +2063 -0
  108. package/src/abis/0x2.json +13410 -0
  109. package/src/abis/0x3.json +8645 -0
  110. package/src/builtin/0x1.ts +3000 -0
  111. package/src/builtin/0x2.ts +14596 -0
  112. package/src/builtin/0x3.ts +4188 -0
  113. package/src/builtin/index.ts +6 -0
  114. package/src/codegen/codegen.ts +211 -0
  115. package/src/codegen/index.ts +1 -0
  116. package/src/codegen/run.ts +20 -0
  117. package/src/index.ts +4 -0
  118. package/src/models.ts +21 -0
  119. package/src/move-coder.ts +276 -0
  120. package/src/sui-chain-adapter.ts +121 -0
  121. package/src/tests/abis/testnet/0x1e2b124f746a339b3cf99b9f969393a96594519aafb1d06517aacfeeae20e7a5.json +265 -0
  122. package/src/tests/abis/testnet/0x6c4a21e3e7e6b6d51c4604021633e1d97e24e37a696f8c082cd48f37503e602a.json +2429 -0
  123. package/src/tests/abis/testnet/0xdee9.json +5523 -0
  124. package/src/tests/abis/testnet/0xebaa2ad3eacc230f309cd933958cc52684df0a41ae7ac214d186b80f830867d2.json +10060 -0
  125. package/src/tests/types/testnet/0x1e2b124f746a339b3cf99b9f969393a96594519aafb1d06517aacfeeae20e7a5.ts +303 -0
  126. package/src/tests/types/testnet/0x6c4a21e3e7e6b6d51c4604021633e1d97e24e37a696f8c082cd48f37503e602a.ts +2697 -0
  127. package/src/tests/types/testnet/0xdee9.ts +3099 -0
  128. package/src/tests/types/testnet/0xebaa2ad3eacc230f309cd933958cc52684df0a41ae7ac214d186b80f830867d2.ts +10215 -0
  129. package/src/tests/types/testnet/index.ts +7 -0
  130. package/src/to-internal.ts +109 -0
  131. package/src/transaction.ts +31 -0
@@ -0,0 +1,223 @@
1
+ import { AbstractMoveCoder, ANY_TYPE, parseMoveType, SPLITTER, TypeDescriptor } from '@typemove/move';
2
+ import { SuiClient } from '@mysten/sui.js/client';
3
+ import { toInternalModule } from './to-internal.js';
4
+ import { SuiChainAdapter } from './sui-chain-adapter.js';
5
+ import { BCS, getSuiMoveConfig } from '@mysten/bcs';
6
+ import { normalizeSuiObjectId, normalizeSuiAddress } from '@mysten/sui.js/utils';
7
+ export class MoveCoder extends AbstractMoveCoder {
8
+ bcs = new BCS(getSuiMoveConfig());
9
+ constructor(client) {
10
+ super(new SuiChainAdapter(client));
11
+ }
12
+ load(module) {
13
+ let m = this.moduleMapping.get(module.address + '::' + module.name);
14
+ if (m) {
15
+ return m;
16
+ }
17
+ m = toInternalModule(module);
18
+ this.loadInternal(m);
19
+ return m;
20
+ }
21
+ async decode(data, type) {
22
+ switch (type.qname) {
23
+ case '0x1::ascii::Char':
24
+ if (data !== undefined && typeof data !== 'string') {
25
+ // bcs
26
+ const byte = (await super.decode(data, type)).byte;
27
+ return String.fromCharCode(byte);
28
+ }
29
+ case '0x1::ascii::String':
30
+ if (data !== undefined && typeof data !== 'string') {
31
+ // bcs verified
32
+ const bytes = (await super.decode(data, type)).bytes;
33
+ return new TextDecoder().decode(new Uint8Array(bytes));
34
+ }
35
+ case '0x2::object::ID':
36
+ if (data !== undefined && typeof data !== 'string') {
37
+ // bcs verified
38
+ const bytes = (await super.decode(data, type)).bytes;
39
+ return normalizeSuiObjectId(bytes);
40
+ }
41
+ case '0x2::url::Url':
42
+ if (data !== undefined && typeof data !== 'string') {
43
+ // bcs
44
+ return (await super.decode(data, type)).url;
45
+ }
46
+ case '0x2::coin::Coin':
47
+ if (data !== undefined && typeof data !== 'string') {
48
+ // bcs
49
+ const bytes = (await super.decode(data, type)).id.id.bytes;
50
+ return new TextDecoder().decode(new Uint8Array(bytes));
51
+ }
52
+ return data;
53
+ case '0x2::balance::Balance':
54
+ if (data.value) {
55
+ // bcs verfied
56
+ const balance = await super.decode(data, type);
57
+ return balance.value;
58
+ }
59
+ return BigInt(data);
60
+ case '0x1::option::Option':
61
+ if (data === null) {
62
+ return data;
63
+ }
64
+ if (data.vec) {
65
+ // bcs verifed
66
+ let vec = await super.decode(data, type);
67
+ vec = vec.vec;
68
+ if (vec.length === 0) {
69
+ return null;
70
+ }
71
+ return vec[0];
72
+ }
73
+ return this.decode(data, type.typeArgs[0]);
74
+ case 'Address':
75
+ const str = data;
76
+ return normalizeSuiAddress(str);
77
+ case '0x1::string::String':
78
+ if (typeof data !== 'string') {
79
+ // bcs
80
+ return new TextDecoder().decode(new Uint8Array(data.bytes));
81
+ }
82
+ default:
83
+ return super.decode(data, type);
84
+ }
85
+ }
86
+ decodeEvent(event) {
87
+ return this.decodedStruct(event);
88
+ }
89
+ filterAndDecodeEvents(type, resources) {
90
+ if (typeof type === 'string') {
91
+ type = parseMoveType(type);
92
+ }
93
+ return this.filterAndDecodeStruct(type, resources);
94
+ }
95
+ async getDynamicFields(objects, keyType = ANY_TYPE, valueType = ANY_TYPE) {
96
+ // const type = dynamic_field.Field.TYPE
97
+ // Not using the code above to avoid cycle initialize failed
98
+ const type = new TypeDescriptor('0x2::dynamic_field::Field');
99
+ type.typeArgs = [keyType, valueType];
100
+ const res = await this.filterAndDecodeObjects(type, objects);
101
+ return res.map((o) => o.data_decoded);
102
+ }
103
+ filterAndDecodeObjects(type, objects) {
104
+ return this.filterAndDecodeStruct(type, objects);
105
+ }
106
+ async decodeFunctionPayload(payload, inputs) {
107
+ const functionType = [payload.package, payload.module, payload.function].join(SPLITTER);
108
+ const func = await this.getMoveFunction(functionType);
109
+ const params = this.adapter.getMeaningfulFunctionParams(func.params);
110
+ const args = [];
111
+ for (const value of payload.arguments || []) {
112
+ const argValue = value;
113
+ if ('Input' in argValue) {
114
+ const idx = argValue.Input;
115
+ const arg = inputs[idx];
116
+ if (arg.type === 'pure') {
117
+ args.push(arg.value);
118
+ }
119
+ else if (arg.type === 'object') {
120
+ // object is not there
121
+ args.push(undefined);
122
+ }
123
+ else {
124
+ console.error('unexpected function arg value');
125
+ args.push(undefined);
126
+ }
127
+ // args.push(arg) // TODO check why ts not work using arg.push(arg)
128
+ }
129
+ else {
130
+ args.push(undefined);
131
+ }
132
+ }
133
+ const argumentsTyped = await this.decodeArray(args, params, false);
134
+ return {
135
+ ...payload,
136
+ arguments_decoded: argumentsTyped
137
+ };
138
+ }
139
+ async _registerBCSType(qname) {
140
+ if (this.bcs.hasType(qname)) {
141
+ return;
142
+ }
143
+ const moveStruct = await this.getMoveStruct(qname);
144
+ const structDef = {};
145
+ for (const field of moveStruct.fields) {
146
+ structDef[field.name] = field.type.getNormalizedSignature();
147
+ }
148
+ let typeName = qname;
149
+ const generics = moveStruct.typeParams.map((p, idx) => 'T' + idx).join(', ');
150
+ if (generics) {
151
+ typeName = typeName + '<' + generics + '>';
152
+ }
153
+ this.bcs.registerStructType(typeName, structDef);
154
+ for (const field of moveStruct.fields) {
155
+ await this.registerBCSTypes(field.type);
156
+ }
157
+ }
158
+ bcsRegistered = new Set();
159
+ async registerBCSTypes(type) {
160
+ const sig = type.getNormalizedSignature();
161
+ if (this.bcsRegistered.has(sig)) {
162
+ return;
163
+ }
164
+ this.bcsRegistered.add(sig);
165
+ await this._registerBCSType('0x1::string::String');
166
+ for (const typeArg of type.dependedTypes()) {
167
+ await this._registerBCSType(typeArg);
168
+ }
169
+ }
170
+ async decodeBCS(type, data, encoding) {
171
+ await this.registerBCSTypes(type);
172
+ return this.bcs.de(type.getNormalizedSignature(), data, encoding);
173
+ }
174
+ async decodeDevInspectResult(insepctRes) {
175
+ const returnValues = [];
176
+ if (insepctRes.results != null) {
177
+ for (const r of insepctRes.results) {
178
+ if (r.returnValues) {
179
+ const type = parseMoveType(r.returnValues[0][1]);
180
+ const value = r.returnValues[0][0];
181
+ const bcsDecoded = await this.decodeBCS(type, new Uint8Array(value));
182
+ const decoded = await this.decodedType(bcsDecoded, type);
183
+ returnValues.push(decoded);
184
+ }
185
+ else {
186
+ returnValues.push(null);
187
+ }
188
+ }
189
+ }
190
+ return { ...insepctRes, results_decoded: returnValues };
191
+ }
192
+ }
193
+ const DEFAULT_ENDPOINT = 'https://fullnode.mainnet.sui.io/';
194
+ const CODER_MAP = new Map();
195
+ const CHAIN_ID_CODER_MAP = new Map();
196
+ export function defaultMoveCoder(endpoint = DEFAULT_ENDPOINT) {
197
+ let coder = CODER_MAP.get(endpoint);
198
+ if (!coder) {
199
+ coder = new MoveCoder(new SuiClient({ url: DEFAULT_ENDPOINT }));
200
+ CODER_MAP.set(endpoint, coder);
201
+ }
202
+ return coder;
203
+ }
204
+ const PROVIDER_CODER_MAP = new Map();
205
+ let DEFAULT_CHAIN_ID;
206
+ export async function getMoveCoder(client) {
207
+ let coder = PROVIDER_CODER_MAP.get(client);
208
+ if (!coder) {
209
+ coder = new MoveCoder(client);
210
+ // TODO how to dedup
211
+ const id = await client.getChainIdentifier();
212
+ const defaultCoder = defaultMoveCoder();
213
+ if (!DEFAULT_CHAIN_ID) {
214
+ DEFAULT_CHAIN_ID = await defaultCoder.adapter.getChainId();
215
+ }
216
+ if (id === DEFAULT_CHAIN_ID) {
217
+ coder = defaultCoder;
218
+ }
219
+ PROVIDER_CODER_MAP.set(client, coder);
220
+ }
221
+ return coder;
222
+ }
223
+ //# sourceMappingURL=move-coder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-coder.js","sourceRoot":"","sources":["../../src/move-coder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,QAAQ,EAER,aAAa,EACb,QAAQ,EACR,cAAc,EAEf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAOL,SAAS,EACV,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAwB,MAAM,aAAa,CAAA;AAKzE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAEhF,MAAM,OAAO,SAAU,SAAQ,iBAI9B;IACC,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAA;IAEjC,YAAY,MAAiB;QAC3B,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,CAAC,MAA+B;QAClC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QACnE,IAAI,CAAC,EAAE;YACL,OAAO,CAAC,CAAA;SACT;QACD,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAC5B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACpB,OAAO,CAAC,CAAA;IACV,CAAC;IAES,KAAK,CAAC,MAAM,CAAC,IAAS,EAAE,IAAoB;QACpD,QAAQ,IAAI,CAAC,KAAK,EAAE;YAClB,KAAK,kBAAkB;gBACrB,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAClD,MAAM;oBACN,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAc,CAAA;oBAC5D,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;iBACjC;YACH,KAAK,oBAAoB;gBACvB,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAClD,eAAe;oBACf,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAiB,CAAA;oBAChE,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;iBACvD;YACH,KAAK,iBAAiB;gBACpB,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAClD,eAAe;oBACf,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAe,CAAA;oBAC9D,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAA;iBACnC;YACH,KAAK,eAAe;gBAClB,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAClD,MAAM;oBACN,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;iBAC5C;YACH,KAAK,iBAAiB;gBACpB,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAClD,MAAM;oBACN,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAiB,CAAA;oBACtE,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;iBACvD;gBACD,OAAO,IAAI,CAAA;YACb,KAAK,uBAAuB;gBAC1B,IAAI,IAAI,CAAC,KAAK,EAAE;oBACd,cAAc;oBACd,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;oBAC9C,OAAO,OAAO,CAAC,KAAK,CAAA;iBACrB;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;YACrB,KAAK,qBAAqB;gBACxB,IAAI,IAAI,KAAK,IAAI,EAAE;oBACjB,OAAO,IAAI,CAAA;iBACZ;gBACD,IAAI,IAAI,CAAC,GAAG,EAAE;oBACZ,cAAc;oBACd,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;oBACxC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;oBACb,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;wBACpB,OAAO,IAAI,CAAA;qBACZ;oBACD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;iBACd;gBACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YAC5C,KAAK,SAAS;gBACZ,MAAM,GAAG,GAAG,IAAc,CAAA;gBAC1B,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAA;YACjC,KAAK,qBAAqB;gBACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,MAAM;oBACN,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;iBAC5D;YACH;gBACE,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;SAClC;IACH,CAAC;IAED,WAAW,CAAI,KAAe;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IACD,qBAAqB,CAAI,IAAgC,EAAE,SAAqB;QAC9E,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;SAC3B;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,OAAwB,EACxB,UAA8B,QAAQ,EACtC,YAAgC,QAAQ;QAExC,wCAAwC;QACxC,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,cAAc,CAA8B,2BAA2B,CAAC,CAAA;QACzF,IAAI,CAAC,QAAQ,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5D,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IACvC,CAAC;IAED,sBAAsB,CACpB,IAAuB,EACvB,OAAwB;QAExB,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAA+B,EAAE,MAAoB;QAC/E,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpE,MAAM,IAAI,GAAG,EAAE,CAAA;QACf,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,KAAY,CAAA;YAC7B,IAAI,OAAO,IAAK,QAAgB,EAAE;gBAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAA;gBAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;gBACvB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;oBACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;iBACrB;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAChC,sBAAsB;oBACtB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;iBACrB;qBAAM;oBACL,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;oBAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;iBACrB;gBACD,mEAAmE;aACpE;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;aACrB;SACF;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QAClE,OAAO;YACL,GAAG,OAAO;YACV,iBAAiB,EAAE,cAAc;SACL,CAAA;IAChC,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,KAAa;QAC1C,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC3B,OAAM;SACP;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAClD,MAAM,SAAS,GAAyB,EAAE,CAAA;QAE1C,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE;YACrC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAA;SAC5D;QACD,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5E,IAAI,QAAQ,EAAE;YACZ,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAA;SAC3C;QAED,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAEhD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE;YACrC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;SACxC;IACH,CAAC;IAEO,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;IAEzC,KAAK,CAAC,gBAAgB,CAAC,IAAoB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAA;QACzC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC/B,OAAM;SACP;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE3B,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAA;QAElD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YAC1C,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;SACrC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAoB,EAAE,IAAyB,EAAE,QAAmB;QAClF,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACnE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAkB,UAA6B;QACzE,MAAM,YAAY,GAAG,EAAE,CAAA;QACvB,IAAI,UAAU,CAAC,OAAO,IAAI,IAAI,EAAE;YAC9B,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE;gBAClC,IAAI,CAAC,CAAC,YAAY,EAAE;oBAClB,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAChD,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAClC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;oBACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;oBACxD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;iBAC3B;qBAAM;oBACL,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iBACxB;aACF;SACF;QACD,OAAO,EAAE,GAAG,UAAU,EAAE,eAAe,EAAE,YAAmB,EAAE,CAAA;IAChE,CAAC;CACF;AAED,MAAM,gBAAgB,GAAG,kCAAkC,CAAA;AAC3D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAA;AAC9C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAqB,CAAA;AAEvD,MAAM,UAAU,gBAAgB,CAAC,WAAmB,gBAAgB;IAClE,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACnC,IAAI,CAAC,KAAK,EAAE;QACV,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAA;QAC/D,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;KAC/B;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAwB,CAAA;AAE1D,IAAI,gBAAoC,CAAA;AAExC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAiB;IAClD,IAAI,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1C,IAAI,CAAC,KAAK,EAAE;QACV,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;QAC7B,oBAAoB;QACpB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAA;QAC5C,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,EAAE;YACrB,gBAAgB,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;SAC3D;QACD,IAAI,EAAE,KAAK,gBAAgB,EAAE;YAC3B,KAAK,GAAG,YAAY,CAAA;SACrB;QAED,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;KACtC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=move-coder.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-coder.test.d.ts","sourceRoot":"","sources":["../../src/move-coder.test.ts"],"names":[],"mappings":""}