wasm-ast-types 0.11.3 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/main/client/test/ts-client.issue-71.test.js +103 -0
  2. package/main/context/context.js +2 -1
  3. package/main/utils/types.js +20 -7
  4. package/module/client/test/ts-client.issue-71.test.js +21 -0
  5. package/module/context/context.js +2 -1
  6. package/module/utils/types.js +20 -7
  7. package/package.json +5 -3
  8. package/src/client/client.ts +665 -0
  9. package/src/client/index.ts +1 -0
  10. package/src/client/test/__snapshots__/ts-client.account-nfts.spec.ts.snap +497 -0
  11. package/src/client/test/__snapshots__/ts-client.arrays-ref.spec.ts.snap +452 -0
  12. package/src/client/test/__snapshots__/ts-client.arrays.spec.ts.snap +101 -0
  13. package/src/client/test/__snapshots__/ts-client.cw-named-groups.test.ts.snap +141 -0
  14. package/src/client/test/__snapshots__/ts-client.cw-proposal-single.test.ts.snap +341 -0
  15. package/src/client/test/__snapshots__/ts-client.empty-enums.spec.ts.snap +20 -0
  16. package/src/client/test/__snapshots__/ts-client.issue-71.test.ts.snap +432 -0
  17. package/src/client/test/__snapshots__/ts-client.issues.test.ts.snap +984 -0
  18. package/src/client/test/__snapshots__/ts-client.sg721.spec.ts.snap +350 -0
  19. package/src/client/test/__snapshots__/ts-client.spec.ts.snap +723 -0
  20. package/src/client/test/__snapshots__/ts-client.vectis.spec.ts.snap +337 -0
  21. package/src/client/test/ts-client.account-nfts.spec.ts +55 -0
  22. package/src/client/test/ts-client.arrays-ref.spec.ts +48 -0
  23. package/src/client/test/ts-client.arrays.spec.ts +58 -0
  24. package/src/client/test/ts-client.cw-named-groups.test.ts +48 -0
  25. package/src/client/test/ts-client.cw-proposal-single.test.ts +50 -0
  26. package/src/client/test/ts-client.empty-enums.spec.ts +28 -0
  27. package/src/client/test/ts-client.issue-71.test.ts +51 -0
  28. package/src/client/test/ts-client.issues.test.ts +52 -0
  29. package/src/client/test/ts-client.sg721.spec.ts +46 -0
  30. package/src/client/test/ts-client.spec.ts +166 -0
  31. package/src/client/test/ts-client.vectis.spec.ts +97 -0
  32. package/src/context/context.ts +134 -0
  33. package/src/context/imports.ts +126 -0
  34. package/src/context/index.ts +2 -0
  35. package/src/index.ts +7 -0
  36. package/src/message-composer/__snapshots__/message-composer.spec.ts.snap +271 -0
  37. package/src/message-composer/index.ts +1 -0
  38. package/src/message-composer/message-composer.spec.ts +25 -0
  39. package/src/message-composer/message-composer.ts +305 -0
  40. package/src/react-query/__snapshots__/react-query.spec.ts.snap +913 -0
  41. package/src/react-query/index.ts +1 -0
  42. package/src/react-query/react-query.spec.ts +75 -0
  43. package/src/react-query/react-query.ts +913 -0
  44. package/src/recoil/__snapshots__/recoil.spec.ts.snap +203 -0
  45. package/src/recoil/index.ts +1 -0
  46. package/src/recoil/recoil.spec.ts +38 -0
  47. package/src/recoil/recoil.ts +307 -0
  48. package/src/types.ts +44 -0
  49. package/src/utils/__snapshots__/babel.spec.ts.snap +75 -0
  50. package/src/utils/babel.spec.ts +511 -0
  51. package/src/utils/babel.ts +315 -0
  52. package/src/utils/index.ts +2 -0
  53. package/src/utils/types.ts +459 -0
  54. package/types/client/client.d.ts +1 -1
  55. package/types/context/context.d.ts +1 -0
@@ -0,0 +1,203 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`client 1`] = `
4
+ "export const queryClient = selectorFamily<SG721QueryClient, QueryClientParams>({
5
+ key: \\"sG721QueryClient\\",
6
+ get: ({
7
+ contractAddress
8
+ }) => ({
9
+ get
10
+ }) => {
11
+ const client = get(cosmWasmClient);
12
+ return new SG721QueryClient(client, contractAddress);
13
+ }
14
+ });"
15
+ `;
16
+
17
+ exports[`selector 1`] = `
18
+ "export const governanceModulesSelector = selectorFamily<GovernanceModulesResponse, QueryClientParams & {
19
+ params: Parameters<SG721QueryClient[\\"governanceModules\\"]>;
20
+ }>({
21
+ key: \\"sG721GovernanceModules\\",
22
+ get: ({
23
+ params,
24
+ ...queryClientParams
25
+ }) => async ({
26
+ get
27
+ }) => {
28
+ const client = get(queryClient(queryClientParams));
29
+ return await client.governanceModules(...params);
30
+ }
31
+ });"
32
+ `;
33
+
34
+ exports[`selectors 1`] = `
35
+ "export const ownerOfSelector = selectorFamily<OwnerOfResponse, QueryClientParams & {
36
+ params: Parameters<SG721QueryClient[\\"ownerOf\\"]>;
37
+ }>({
38
+ key: \\"sG721OwnerOf\\",
39
+ get: ({
40
+ params,
41
+ ...queryClientParams
42
+ }) => async ({
43
+ get
44
+ }) => {
45
+ const client = get(queryClient(queryClientParams));
46
+ return await client.ownerOf(...params);
47
+ }
48
+ });
49
+ export const approvalSelector = selectorFamily<ApprovalResponse, QueryClientParams & {
50
+ params: Parameters<SG721QueryClient[\\"approval\\"]>;
51
+ }>({
52
+ key: \\"sG721Approval\\",
53
+ get: ({
54
+ params,
55
+ ...queryClientParams
56
+ }) => async ({
57
+ get
58
+ }) => {
59
+ const client = get(queryClient(queryClientParams));
60
+ return await client.approval(...params);
61
+ }
62
+ });
63
+ export const approvalsSelector = selectorFamily<ApprovalsResponse, QueryClientParams & {
64
+ params: Parameters<SG721QueryClient[\\"approvals\\"]>;
65
+ }>({
66
+ key: \\"sG721Approvals\\",
67
+ get: ({
68
+ params,
69
+ ...queryClientParams
70
+ }) => async ({
71
+ get
72
+ }) => {
73
+ const client = get(queryClient(queryClientParams));
74
+ return await client.approvals(...params);
75
+ }
76
+ });
77
+ export const allOperatorsSelector = selectorFamily<AllOperatorsResponse, QueryClientParams & {
78
+ params: Parameters<SG721QueryClient[\\"allOperators\\"]>;
79
+ }>({
80
+ key: \\"sG721AllOperators\\",
81
+ get: ({
82
+ params,
83
+ ...queryClientParams
84
+ }) => async ({
85
+ get
86
+ }) => {
87
+ const client = get(queryClient(queryClientParams));
88
+ return await client.allOperators(...params);
89
+ }
90
+ });
91
+ export const numTokensSelector = selectorFamily<NumTokensResponse, QueryClientParams & {
92
+ params: Parameters<SG721QueryClient[\\"numTokens\\"]>;
93
+ }>({
94
+ key: \\"sG721NumTokens\\",
95
+ get: ({
96
+ params,
97
+ ...queryClientParams
98
+ }) => async ({
99
+ get
100
+ }) => {
101
+ const client = get(queryClient(queryClientParams));
102
+ return await client.numTokens(...params);
103
+ }
104
+ });
105
+ export const contractInfoSelector = selectorFamily<ContractInfoResponse, QueryClientParams & {
106
+ params: Parameters<SG721QueryClient[\\"contractInfo\\"]>;
107
+ }>({
108
+ key: \\"sG721ContractInfo\\",
109
+ get: ({
110
+ params,
111
+ ...queryClientParams
112
+ }) => async ({
113
+ get
114
+ }) => {
115
+ const client = get(queryClient(queryClientParams));
116
+ return await client.contractInfo(...params);
117
+ }
118
+ });
119
+ export const nftInfoSelector = selectorFamily<NftInfoResponse, QueryClientParams & {
120
+ params: Parameters<SG721QueryClient[\\"nftInfo\\"]>;
121
+ }>({
122
+ key: \\"sG721NftInfo\\",
123
+ get: ({
124
+ params,
125
+ ...queryClientParams
126
+ }) => async ({
127
+ get
128
+ }) => {
129
+ const client = get(queryClient(queryClientParams));
130
+ return await client.nftInfo(...params);
131
+ }
132
+ });
133
+ export const allNftInfoSelector = selectorFamily<AllNftInfoResponse, QueryClientParams & {
134
+ params: Parameters<SG721QueryClient[\\"allNftInfo\\"]>;
135
+ }>({
136
+ key: \\"sG721AllNftInfo\\",
137
+ get: ({
138
+ params,
139
+ ...queryClientParams
140
+ }) => async ({
141
+ get
142
+ }) => {
143
+ const client = get(queryClient(queryClientParams));
144
+ return await client.allNftInfo(...params);
145
+ }
146
+ });
147
+ export const tokensSelector = selectorFamily<TokensResponse, QueryClientParams & {
148
+ params: Parameters<SG721QueryClient[\\"tokens\\"]>;
149
+ }>({
150
+ key: \\"sG721Tokens\\",
151
+ get: ({
152
+ params,
153
+ ...queryClientParams
154
+ }) => async ({
155
+ get
156
+ }) => {
157
+ const client = get(queryClient(queryClientParams));
158
+ return await client.tokens(...params);
159
+ }
160
+ });
161
+ export const allTokensSelector = selectorFamily<AllTokensResponse, QueryClientParams & {
162
+ params: Parameters<SG721QueryClient[\\"allTokens\\"]>;
163
+ }>({
164
+ key: \\"sG721AllTokens\\",
165
+ get: ({
166
+ params,
167
+ ...queryClientParams
168
+ }) => async ({
169
+ get
170
+ }) => {
171
+ const client = get(queryClient(queryClientParams));
172
+ return await client.allTokens(...params);
173
+ }
174
+ });
175
+ export const minterSelector = selectorFamily<MinterResponse, QueryClientParams & {
176
+ params: Parameters<SG721QueryClient[\\"minter\\"]>;
177
+ }>({
178
+ key: \\"sG721Minter\\",
179
+ get: ({
180
+ params,
181
+ ...queryClientParams
182
+ }) => async ({
183
+ get
184
+ }) => {
185
+ const client = get(queryClient(queryClientParams));
186
+ return await client.minter(...params);
187
+ }
188
+ });
189
+ export const collectionInfoSelector = selectorFamily<CollectionInfoResponse, QueryClientParams & {
190
+ params: Parameters<SG721QueryClient[\\"collectionInfo\\"]>;
191
+ }>({
192
+ key: \\"sG721CollectionInfo\\",
193
+ get: ({
194
+ params,
195
+ ...queryClientParams
196
+ }) => async ({
197
+ get
198
+ }) => {
199
+ const client = get(queryClient(queryClientParams));
200
+ return await client.collectionInfo(...params);
201
+ }
202
+ });"
203
+ `;
@@ -0,0 +1 @@
1
+ export * from './recoil';
@@ -0,0 +1,38 @@
1
+ import * as t from '@babel/types';
2
+ import query_msg from '../../../../__fixtures__/basic/query_msg.json';
3
+ import {
4
+ createRecoilSelector,
5
+ createRecoilSelectors,
6
+ createRecoilQueryClient,
7
+ } from './recoil';
8
+ import { RenderContext } from '../context';
9
+ import { expectCode, makeContext } from '../../test-utils';
10
+
11
+ const ctx = makeContext(query_msg);
12
+
13
+ it('selector', () => {
14
+ expectCode(createRecoilSelector(
15
+ ctx,
16
+ 'SG721',
17
+ 'SG721QueryClient',
18
+ 'governanceModules',
19
+ 'GovernanceModulesResponse'
20
+ ))
21
+ });
22
+
23
+ it('selectors', () => {
24
+ expectCode(t.program(createRecoilSelectors(
25
+ ctx,
26
+ 'SG721',
27
+ 'SG721QueryClient',
28
+ query_msg
29
+ )))
30
+ });
31
+
32
+ it('client', () => {
33
+ expectCode(createRecoilQueryClient(
34
+ ctx,
35
+ 'SG721',
36
+ 'SG721QueryClient'
37
+ ))
38
+ });
@@ -0,0 +1,307 @@
1
+ import * as t from '@babel/types';
2
+ import { camel, pascal } from 'case';
3
+ import {
4
+ callExpression,
5
+ getMessageProperties,
6
+ getResponseType
7
+ } from '../utils';
8
+ import { QueryMsg } from '../types';
9
+ import { RenderContext } from '../context';
10
+
11
+ export const createRecoilSelector = (
12
+ context: RenderContext,
13
+ keyPrefix: string,
14
+ QueryClient: string,
15
+ methodName: string,
16
+ responseType: string
17
+ ) => {
18
+
19
+ context.addUtil('selectorFamily');
20
+
21
+ const selectorName = camel(`${methodName}Selector`);
22
+ const getterKey = camel(`${keyPrefix}${pascal(methodName)}`);
23
+
24
+ return t.exportNamedDeclaration(
25
+ t.variableDeclaration(
26
+ 'const',
27
+ [t.variableDeclarator(
28
+ t.identifier(selectorName),
29
+ callExpression(
30
+ t.identifier('selectorFamily'),
31
+ [
32
+ t.objectExpression(
33
+ [
34
+ t.objectProperty(
35
+ t.identifier('key'),
36
+ t.stringLiteral(getterKey)
37
+ ),
38
+ t.objectProperty(
39
+ t.identifier('get'),
40
+ t.arrowFunctionExpression(
41
+ [
42
+ t.objectPattern(
43
+ [
44
+ t.objectProperty(
45
+ t.identifier('params'),
46
+ t.identifier('params'),
47
+ false,
48
+ true
49
+ ),
50
+ t.restElement(
51
+ t.identifier('queryClientParams')
52
+ )
53
+ ]
54
+ )
55
+ ],
56
+ t.arrowFunctionExpression(
57
+ [
58
+ t.objectPattern(
59
+ [
60
+ t.objectProperty(
61
+ t.identifier('get'),
62
+ t.identifier('get'),
63
+ false,
64
+ true
65
+ )
66
+ ]
67
+ )
68
+ ],
69
+ t.blockStatement(
70
+ [
71
+ t.variableDeclaration('const',
72
+ [
73
+ t.variableDeclarator(
74
+ t.identifier('client'),
75
+ t.callExpression(
76
+ t.identifier('get'),
77
+ [
78
+ t.callExpression(
79
+ t.identifier('queryClient'),
80
+ [
81
+ t.identifier('queryClientParams')
82
+ ]
83
+ )
84
+ ]
85
+ )
86
+ )
87
+ ]),
88
+ t.returnStatement(
89
+ t.awaitExpression(
90
+ t.callExpression(
91
+ t.memberExpression(
92
+ t.identifier('client'),
93
+ t.identifier(methodName)
94
+ ),
95
+ [
96
+ t.spreadElement(
97
+ t.identifier('params')
98
+ )
99
+ ]
100
+ )
101
+ )
102
+ )
103
+ ]
104
+ ),
105
+ true
106
+ )
107
+ )
108
+ )
109
+ ]
110
+ )
111
+ ],
112
+ t.tsTypeParameterInstantiation(
113
+ [
114
+ t.tsTypeReference(
115
+ t.identifier(responseType)
116
+ ),
117
+ t.tsIntersectionType(
118
+ [
119
+ t.tsTypeReference(
120
+ t.identifier('QueryClientParams')
121
+ ),
122
+ t.tsTypeLiteral(
123
+ [
124
+ t.tsPropertySignature(
125
+ t.identifier('params'),
126
+ t.tsTypeAnnotation(
127
+ t.tsTypeReference(
128
+ t.identifier('Parameters'),
129
+ t.tsTypeParameterInstantiation(
130
+ [
131
+ t.tsIndexedAccessType(
132
+ t.tsTypeReference(
133
+ t.identifier(QueryClient)
134
+ ),
135
+ t.tsLiteralType(
136
+ t.stringLiteral(methodName)
137
+ )
138
+ )
139
+ ]
140
+ )
141
+ )
142
+ )
143
+ )
144
+ ]
145
+ )
146
+ ]
147
+ )
148
+ ]
149
+ )
150
+ )
151
+ )]
152
+ )
153
+ )
154
+
155
+ };
156
+
157
+ export const createRecoilSelectors = (
158
+ context: RenderContext,
159
+ keyPrefix: string,
160
+ QueryClient: string,
161
+ queryMsg: QueryMsg
162
+ ) => {
163
+ return getMessageProperties(queryMsg)
164
+ .map(schema => {
165
+
166
+ const underscoreName = Object.keys(schema.properties)[0];
167
+ const methodName = camel(underscoreName);
168
+ const responseType = getResponseType(context, underscoreName);
169
+
170
+ return createRecoilSelector(
171
+ context,
172
+ keyPrefix,
173
+ QueryClient,
174
+ methodName,
175
+ responseType
176
+ );
177
+
178
+ });
179
+ };
180
+
181
+ export const createRecoilQueryClientType = () => ({
182
+ "type": "TSTypeAliasDeclaration",
183
+ "id": {
184
+ "type": "Identifier",
185
+ "name": "QueryClientParams"
186
+ },
187
+ "typeAnnotation": {
188
+ "type": "TSTypeLiteral",
189
+ "members": [
190
+ {
191
+ "type": "TSPropertySignature",
192
+ "key": {
193
+ "type": "Identifier",
194
+ "name": "contractAddress"
195
+ },
196
+ "computed": false,
197
+ "typeAnnotation": {
198
+ "type": "TSTypeAnnotation",
199
+ "typeAnnotation": {
200
+ "type": "TSStringKeyword"
201
+ }
202
+ }
203
+ }
204
+ ]
205
+ }
206
+ });
207
+
208
+ export const createRecoilQueryClient = (
209
+ context: RenderContext,
210
+ keyPrefix: string,
211
+ QueryClient: string
212
+ ) => {
213
+
214
+ context.addUtil('selectorFamily');
215
+
216
+ const getterKey = camel(`${keyPrefix}${'QueryClient'}`);
217
+
218
+ return t.exportNamedDeclaration(
219
+ t.variableDeclaration(
220
+ 'const',
221
+ [t.variableDeclarator(
222
+ t.identifier('queryClient'),
223
+ callExpression(
224
+ t.identifier('selectorFamily'),
225
+ [
226
+ t.objectExpression(
227
+ [
228
+ t.objectProperty(
229
+ t.identifier('key'),
230
+ t.stringLiteral(getterKey)
231
+ ),
232
+ t.objectProperty(
233
+ t.identifier('get'),
234
+ t.arrowFunctionExpression(
235
+ [
236
+ t.objectPattern(
237
+ [
238
+ t.objectProperty(
239
+ t.identifier('contractAddress'),
240
+ t.identifier('contractAddress'),
241
+ false,
242
+ true
243
+ )
244
+ ]
245
+ )
246
+ ],
247
+ t.arrowFunctionExpression(
248
+ [
249
+ t.objectPattern(
250
+ [
251
+ t.objectProperty(
252
+ t.identifier('get'),
253
+ t.identifier('get'),
254
+ false,
255
+ true
256
+ )
257
+ ]
258
+ )
259
+ ],
260
+ t.blockStatement(
261
+ [
262
+ t.variableDeclaration('const',
263
+ [
264
+ t.variableDeclarator(
265
+ t.identifier('client'),
266
+ t.callExpression(
267
+ t.identifier('get'),
268
+ [
269
+ t.identifier('cosmWasmClient')
270
+ ]
271
+ )
272
+ )
273
+ ]),
274
+ t.returnStatement(
275
+ t.newExpression(
276
+ t.identifier(QueryClient),
277
+ [
278
+ t.identifier('client'),
279
+ t.identifier('contractAddress')
280
+ ]
281
+ )
282
+ )
283
+ ]
284
+ ),
285
+ false
286
+ )
287
+ )
288
+ )
289
+ ]
290
+ )
291
+ ],
292
+ t.tsTypeParameterInstantiation(
293
+ [
294
+ t.tsTypeReference(
295
+ t.identifier(QueryClient)
296
+ ),
297
+ t.tsTypeReference(
298
+ t.identifier('QueryClientParams')
299
+ )
300
+ ]
301
+ )
302
+ )
303
+ )]
304
+ )
305
+ )
306
+
307
+ };
package/src/types.ts ADDED
@@ -0,0 +1,44 @@
1
+ export declare type fieldType = 'Long' | 'Coin' | 'Duration' | 'Height' | string;
2
+ export interface Field {
3
+ name: string;
4
+ type: fieldType;
5
+ node: any;
6
+ };
7
+ export interface Interface {
8
+ name: string;
9
+ fields: Field[]
10
+ };
11
+
12
+ export interface QueryMsg {
13
+ $schema: string;
14
+ title: "QueryMsg";
15
+ oneOf?: any;
16
+ allOf?: any;
17
+ anyOf?: any;
18
+ }
19
+
20
+ export interface ExecuteMsg {
21
+ $schema: string;
22
+ title: "ExecuteMsg" | "ExecuteMsg_for_Empty";
23
+ oneOf?: any;
24
+ allOf?: any;
25
+ anyOf?: any;
26
+ }
27
+
28
+ export interface JSONSchema {
29
+ $ref?: string;
30
+ $schema?: string;
31
+ additionalProperties?: boolean;
32
+ allOf?: JSONSchema[];
33
+ anyOf?: JSONSchema[];
34
+ definitions?: Record<string, JSONSchema>;
35
+ description?: string;
36
+ oneOf?: JSONSchema[];
37
+ properties?: Record<string, JSONSchema>;
38
+ patternProperties?: Record<string, JSONSchema>;
39
+ items?: JSONSchema | JSONSchema[];
40
+ additionalItems?: JSONSchema;
41
+ required?: string[];
42
+ title?: string;
43
+ type?: string;
44
+ }
@@ -0,0 +1,75 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`interfaces 1`] = `
4
+ "export interface SG721ReadOnlyInstance {
5
+ contractAddress: string;
6
+ tokens: (owner: string, startAfter?: string, limit?: string) => Promise<TokensResponse>;
7
+ }
8
+ export interface SG721Instance extends SG721ReadOnlyInstance {
9
+ contractAddress: string;
10
+ mint: (sender: string, anotherProp: string, prop3: string) => Promise<ExecuteResult>;
11
+ }"
12
+ `;
13
+
14
+ exports[`mutation classes 1`] = `
15
+ "export class SG721Client extends SG721QueryClient implements SG721ReadOnlyInstance {
16
+ client: SigningCosmWasmClient;
17
+ contractAddress: string;
18
+
19
+ constructor(client: SigningCosmWasmClient, contractAddress: string) {
20
+ super(client, contractAddress);
21
+ this.client = client;
22
+ this.contractAddress = contractAddress;
23
+ this.approval = this.approval.bind(this);
24
+ this.otherProp = this.otherProp.bind(this);
25
+ this.hello = this.hello.bind(this);
26
+ this.mintme = this.mintme.bind(this);
27
+ }
28
+
29
+ mint = async (sender: string, tokenId: string, owner: string, token_uri: string): Promise<ExecuteResult> => {
30
+ return await this.client.execute(sender, this.contractAddress, {
31
+ mint: {
32
+ token_id: tokenId,
33
+ owner: owner,
34
+ token_uri: token_uri,
35
+ expression: {}
36
+ }
37
+ }, \\"auto\\");
38
+ };
39
+ }"
40
+ `;
41
+
42
+ exports[`object parms 1`] = `
43
+ "ownerOf = ({
44
+ includeExpired,
45
+ tokenId
46
+ }: {
47
+ includeExpired: boolean;
48
+ tokenId: string;
49
+ }): Promise<OwnerOfResponse> => {};"
50
+ `;
51
+
52
+ exports[`readonly classes 1`] = `
53
+ "export class SG721QueryClient implements SG721ReadOnlyInstance {
54
+ client: CosmWasmClient;
55
+ contractAddress: string;
56
+
57
+ constructor(client: CosmWasmClient, contractAddress: string) {
58
+ this.client = client;
59
+ this.contractAddress = contractAddress;
60
+ this.approval = this.approval.bind(this);
61
+ this.otherProp = this.otherProp.bind(this);
62
+ this.hello = this.hello.bind(this);
63
+ this.mintme = this.mintme.bind(this);
64
+ }
65
+
66
+ approval = async (owner: string, spender: string): Promise<ApprovalResponse> => {
67
+ return this.client.queryContractSmart(this.contractAddress, {
68
+ owner,
69
+ spender
70
+ });
71
+ };
72
+ }"
73
+ `;
74
+
75
+ exports[`top import 1`] = `"import { CosmWasmClient, ExecuteResult, SigningCosmWasmClient } from \\"@cosmjs/cosmwasm-stargate\\";"`;