@metaplex-foundation/kinobi 0.6.0 → 0.7.0-alpha.1

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 (82) hide show
  1. package/dist/cjs/nodes/InstructionNode.js +53 -15
  2. package/dist/cjs/nodes/InstructionNode.js.map +1 -1
  3. package/dist/cjs/renderers/js/GetJavaScriptRenderMapVisitor.js +84 -36
  4. package/dist/cjs/renderers/js/GetJavaScriptRenderMapVisitor.js.map +1 -1
  5. package/dist/cjs/renderers/js/GetJavaScriptTypeManifestVisitor.js +59 -70
  6. package/dist/cjs/renderers/js/GetJavaScriptTypeManifestVisitor.js.map +1 -1
  7. package/dist/cjs/renderers/js/GetJavaScriptValidatorBagVisitor.js +2 -0
  8. package/dist/cjs/renderers/js/GetJavaScriptValidatorBagVisitor.js.map +1 -1
  9. package/dist/cjs/renderers/js/JavaScriptImportMap.js +3 -0
  10. package/dist/cjs/renderers/js/JavaScriptImportMap.js.map +1 -1
  11. package/dist/cjs/renderers/js/templates/instructionsPage.njk +11 -24
  12. package/dist/cjs/renderers/js/templates/instructionsPageAccountMetas.njk +8 -51
  13. package/dist/cjs/renderers/js/templates/instructionsPageArgs.njk +34 -5
  14. package/dist/cjs/renderers/js/templates/instructionsPageResolvedInputs.njk +63 -0
  15. package/dist/cjs/visitors/BaseNodeOrNullVisitor.js +6 -1
  16. package/dist/cjs/visitors/BaseNodeOrNullVisitor.js.map +1 -1
  17. package/dist/cjs/visitors/BaseNodeVisitor.js +6 -1
  18. package/dist/cjs/visitors/BaseNodeVisitor.js.map +1 -1
  19. package/dist/cjs/visitors/BaseVoidVisitor.js +2 -0
  20. package/dist/cjs/visitors/BaseVoidVisitor.js.map +1 -1
  21. package/dist/cjs/visitors/aggregators/GetDefaultValidatorBagVisitor.js +32 -2
  22. package/dist/cjs/visitors/aggregators/GetDefaultValidatorBagVisitor.js.map +1 -1
  23. package/dist/cjs/visitors/aggregators/GetNodeInlineStringVisitor.js +4 -2
  24. package/dist/cjs/visitors/aggregators/GetNodeInlineStringVisitor.js.map +1 -1
  25. package/dist/cjs/visitors/aggregators/GetNodeTreeStringVisitor.js +6 -0
  26. package/dist/cjs/visitors/aggregators/GetNodeTreeStringVisitor.js.map +1 -1
  27. package/dist/cjs/visitors/aggregators/GetResolvedInstructionInputsVisitor.js +201 -0
  28. package/dist/cjs/visitors/aggregators/GetResolvedInstructionInputsVisitor.js.map +1 -0
  29. package/dist/cjs/visitors/aggregators/index.js +1 -1
  30. package/dist/cjs/visitors/aggregators/index.js.map +1 -1
  31. package/dist/cjs/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.js +1 -1
  32. package/dist/cjs/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.js.map +1 -1
  33. package/dist/cjs/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.js +2 -2
  34. package/dist/cjs/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.js.map +1 -1
  35. package/dist/cjs/visitors/transformers/FlattenInstructionArgsStructVisitor.js +1 -1
  36. package/dist/cjs/visitors/transformers/FlattenInstructionArgsStructVisitor.js.map +1 -1
  37. package/dist/cjs/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.js +1 -1
  38. package/dist/cjs/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.js.map +1 -1
  39. package/dist/cjs/visitors/transformers/SetInstructionDiscriminatorsVisitor.js +1 -1
  40. package/dist/cjs/visitors/transformers/SetInstructionDiscriminatorsVisitor.js.map +1 -1
  41. package/dist/cjs/visitors/transformers/UpdateInstructionsVisitor.js +11 -6
  42. package/dist/cjs/visitors/transformers/UpdateInstructionsVisitor.js.map +1 -1
  43. package/dist/cjs/visitors/transformers/UseCustomInstructionSerializerVisitor.js +1 -1
  44. package/dist/cjs/visitors/transformers/UseCustomInstructionSerializerVisitor.js.map +1 -1
  45. package/dist/types/idl/IdlInstruction.d.ts +0 -1
  46. package/dist/types/nodes/InstructionNode.d.ts +53 -14
  47. package/dist/types/renderers/js/GetJavaScriptRenderMapVisitor.d.ts +10 -4
  48. package/dist/types/renderers/js/GetJavaScriptTypeManifestVisitor.d.ts +7 -6
  49. package/dist/types/renderers/js/JavaScriptImportMap.d.ts +2 -0
  50. package/dist/types/visitors/aggregators/GetResolvedInstructionInputsVisitor.d.ts +41 -0
  51. package/dist/types/visitors/aggregators/index.d.ts +1 -1
  52. package/dist/types/visitors/transformers/UpdateInstructionsVisitor.d.ts +7 -2
  53. package/package.json +1 -1
  54. package/src/idl/IdlInstruction.ts +0 -1
  55. package/src/nodes/InstructionNode.ts +99 -21
  56. package/src/renderers/js/GetJavaScriptRenderMapVisitor.ts +114 -47
  57. package/src/renderers/js/GetJavaScriptTypeManifestVisitor.ts +91 -77
  58. package/src/renderers/js/GetJavaScriptValidatorBagVisitor.ts +2 -0
  59. package/src/renderers/js/JavaScriptImportMap.ts +9 -0
  60. package/src/renderers/js/templates/instructionsPage.njk +11 -24
  61. package/src/renderers/js/templates/instructionsPageAccountMetas.njk +8 -51
  62. package/src/renderers/js/templates/instructionsPageArgs.njk +34 -5
  63. package/src/renderers/js/templates/instructionsPageResolvedInputs.njk +63 -0
  64. package/src/visitors/BaseNodeOrNullVisitor.ts +5 -0
  65. package/src/visitors/BaseNodeVisitor.ts +5 -0
  66. package/src/visitors/BaseVoidVisitor.ts +1 -0
  67. package/src/visitors/aggregators/GetDefaultValidatorBagVisitor.ts +48 -2
  68. package/src/visitors/aggregators/GetNodeInlineStringVisitor.ts +3 -2
  69. package/src/visitors/aggregators/GetNodeTreeStringVisitor.ts +6 -0
  70. package/src/visitors/aggregators/GetResolvedInstructionInputsVisitor.ts +275 -0
  71. package/src/visitors/aggregators/index.ts +1 -1
  72. package/src/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.ts +1 -0
  73. package/src/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.ts +2 -0
  74. package/src/visitors/transformers/FlattenInstructionArgsStructVisitor.ts +1 -0
  75. package/src/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.ts +1 -0
  76. package/src/visitors/transformers/SetInstructionDiscriminatorsVisitor.ts +1 -0
  77. package/src/visitors/transformers/UpdateInstructionsVisitor.ts +23 -15
  78. package/src/visitors/transformers/UseCustomInstructionSerializerVisitor.ts +1 -0
  79. package/dist/cjs/visitors/aggregators/GetResolvedInstructionAccountsVisitor.js +0 -123
  80. package/dist/cjs/visitors/aggregators/GetResolvedInstructionAccountsVisitor.js.map +0 -1
  81. package/dist/types/visitors/aggregators/GetResolvedInstructionAccountsVisitor.d.ts +0 -18
  82. package/src/visitors/aggregators/GetResolvedInstructionAccountsVisitor.ts +0 -155
@@ -8,7 +8,7 @@ const TypeStructFieldNode_1 = require("./TypeStructFieldNode");
8
8
  const ValueNode_1 = require("./ValueNode");
9
9
  const TypeDefinedLinkNode_1 = require("./TypeDefinedLinkNode");
10
10
  class InstructionNode {
11
- constructor(metadata, accounts, args, subInstructions) {
11
+ constructor(metadata, accounts, args, extraArgs, subInstructions) {
12
12
  this.nodeClass = 'InstructionNode';
13
13
  const bytes = metadata.bytesCreatedOnChain;
14
14
  this.metadata = {
@@ -17,6 +17,19 @@ class InstructionNode {
17
17
  bytesCreatedOnChain: bytes && 'name' in bytes
18
18
  ? { ...bytes, name: (0, utils_1.mainCase)(bytes.name) }
19
19
  : bytes,
20
+ argDefaults: Object.fromEntries(Object.entries(metadata.argDefaults).map(([key, value]) => {
21
+ const newValue = { ...value };
22
+ if ('name' in newValue) {
23
+ newValue.name = (0, utils_1.mainCase)(newValue.name);
24
+ }
25
+ if (newValue.kind === 'resolver') {
26
+ newValue.dependsOn = newValue.dependsOn.map((dep) => ({
27
+ ...dep,
28
+ name: (0, utils_1.mainCase)(dep.name),
29
+ }));
30
+ }
31
+ return [(0, utils_1.mainCase)(key), newValue];
32
+ })),
20
33
  };
21
34
  this.accounts = accounts.map((account) => {
22
35
  const { defaultsTo } = account;
@@ -35,9 +48,17 @@ class InstructionNode {
35
48
  : { ...seed, name: (0, utils_1.mainCase)(seed.name) },
36
49
  ]));
37
50
  }
51
+ else if ((defaultsTo === null || defaultsTo === void 0 ? void 0 : defaultsTo.kind) === 'resolver') {
52
+ defaultsTo.name = (0, utils_1.mainCase)(defaultsTo.name);
53
+ defaultsTo.dependsOn = defaultsTo.dependsOn.map((dep) => ({
54
+ ...dep,
55
+ name: (0, utils_1.mainCase)(dep.name),
56
+ }));
57
+ }
38
58
  return { ...account, name: (0, utils_1.mainCase)(account.name), defaultsTo };
39
59
  });
40
60
  this.args = args;
61
+ this.extraArgs = extraArgs;
41
62
  this.subInstructions = subInstructions;
42
63
  }
43
64
  static fromIdl(idl) {
@@ -51,9 +72,10 @@ class InstructionNode {
51
72
  docs: (_c = idl.docs) !== null && _c !== void 0 ? _c : [],
52
73
  internal: false,
53
74
  bytesCreatedOnChain: null,
75
+ argDefaults: {},
54
76
  };
55
77
  const accounts = ((_d = idl.accounts) !== null && _d !== void 0 ? _d : []).map((account) => {
56
- var _a, _b, _c, _d, _e, _f, _g;
78
+ var _a, _b, _c, _d, _e, _f;
57
79
  const isOptional = (_b = (_a = account.optional) !== null && _a !== void 0 ? _a : account.isOptional) !== null && _b !== void 0 ? _b : false;
58
80
  return {
59
81
  name: (0, utils_1.camelCase)((_c = account.name) !== null && _c !== void 0 ? _c : ''),
@@ -66,7 +88,6 @@ class InstructionNode {
66
88
  defaultsTo: isOptional && useProgramIdForOptionalAccounts
67
89
  ? { kind: 'programId' }
68
90
  : null,
69
- pdaBumpArg: (_g = account.pdaBumpArg) !== null && _g !== void 0 ? _g : null,
70
91
  };
71
92
  });
72
93
  let args = TypeStructNode_1.TypeStructNode.fromIdl({
@@ -88,7 +109,7 @@ class InstructionNode {
88
109
  ...args.fields,
89
110
  ]);
90
111
  }
91
- return new InstructionNode(metadata, accounts, args, []);
112
+ return new InstructionNode(metadata, accounts, args, null, []);
92
113
  }
93
114
  accept(visitor) {
94
115
  return visitor.visitInstruction(this);
@@ -105,18 +126,15 @@ class InstructionNode {
105
126
  get docs() {
106
127
  return this.metadata.docs;
107
128
  }
108
- get isLinked() {
129
+ get hasLinkedArgs() {
109
130
  return (0, TypeDefinedLinkNode_1.isTypeDefinedLinkNode)(this.args);
110
131
  }
132
+ get hasLinkedExtraArgs() {
133
+ return (0, TypeDefinedLinkNode_1.isTypeDefinedLinkNode)(this.extraArgs);
134
+ }
111
135
  get hasAccounts() {
112
136
  return this.accounts.length > 0;
113
137
  }
114
- get pdaAccounts() {
115
- return this.accounts.filter((account) => account.pdaBumpArg !== null);
116
- }
117
- get hasPdaAccounts() {
118
- return this.pdaAccounts.length > 0;
119
- }
120
138
  get hasData() {
121
139
  if ((0, TypeDefinedLinkNode_1.isTypeDefinedLinkNode)(this.args))
122
140
  return true;
@@ -128,11 +146,31 @@ class InstructionNode {
128
146
  const nonOmittedFields = this.args.fields.filter((field) => { var _a; return ((_a = field.metadata.defaultsTo) === null || _a === void 0 ? void 0 : _a.strategy) !== 'omitted'; });
129
147
  return nonOmittedFields.length > 0;
130
148
  }
131
- get hasRequiredArgs() {
132
- if ((0, TypeDefinedLinkNode_1.isTypeDefinedLinkNode)(this.args))
149
+ get hasExtraArgs() {
150
+ var _a, _b;
151
+ if ((0, TypeDefinedLinkNode_1.isTypeDefinedLinkNode)(this.extraArgs))
133
152
  return true;
134
- const requiredFields = this.args.fields.filter((field) => field.metadata.defaultsTo === null);
135
- return requiredFields.length > 0;
153
+ const nonOmittedFields = (_b = (_a = this.extraArgs) === null || _a === void 0 ? void 0 : _a.fields.filter((field) => { var _a; return ((_a = field.metadata.defaultsTo) === null || _a === void 0 ? void 0 : _a.strategy) !== 'omitted'; })) !== null && _b !== void 0 ? _b : [];
154
+ return nonOmittedFields.length > 0;
155
+ }
156
+ get hasAnyArgs() {
157
+ return this.hasArgs || this.hasExtraArgs;
158
+ }
159
+ get hasArgDefaults() {
160
+ return Object.keys(this.metadata.argDefaults).length > 0;
161
+ }
162
+ get hasArgResolvers() {
163
+ return Object.values(this.metadata.argDefaults).some(({ kind }) => kind === 'resolver');
164
+ }
165
+ get hasAccountResolvers() {
166
+ return this.accounts.some(({ defaultsTo }) => (defaultsTo === null || defaultsTo === void 0 ? void 0 : defaultsTo.kind) === 'resolver');
167
+ }
168
+ get hasByteResolver() {
169
+ var _a;
170
+ return ((_a = this.metadata.bytesCreatedOnChain) === null || _a === void 0 ? void 0 : _a.kind) === 'resolver';
171
+ }
172
+ get hasResolvers() {
173
+ return (this.hasArgResolvers || this.hasAccountResolvers || this.hasByteResolver);
136
174
  }
137
175
  }
138
176
  exports.InstructionNode = InstructionNode;
@@ -1 +1 @@
1
- {"version":3,"file":"InstructionNode.js","sourceRoot":"","sources":["../../../src/nodes/InstructionNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstructionNode.js","sourceRoot":"","sources":["../../../src/nodes/InstructionNode.ts"],"names":[],"mappings":";;;AAAA,oCAA+C;AAI/C,yCAAmD;AACnD,qDAAkD;AAClD,+DAA4D;AAC5D,2CAAiD;AACjD,+DAG+B;AA2E/B,MAAa,eAAe;IAa1B,YACE,QAAiC,EACjC,QAAkC,EAClC,IAA6B,EAC7B,SAAuC,EACvC,eAAkC;QAjB3B,cAAS,GAAG,iBAA0B,CAAC;QAmB9C,MAAM,KAAK,GAAG,QAAQ,CAAC,mBAAmB,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,QAAQ;YACX,IAAI,EAAE,IAAA,gBAAQ,EAAC,QAAQ,CAAC,IAAI,CAAC;YAC7B,mBAAmB,EACjB,KAAK,IAAI,MAAM,IAAI,KAAK;gBACtB,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC1C,CAAC,CAAC,KAAK;YACX,WAAW,EAAE,MAAM,CAAC,WAAW,CAC7B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACxD,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;gBAC9B,IAAI,MAAM,IAAI,QAAQ,EAAE;oBACtB,QAAQ,CAAC,IAAI,GAAG,IAAA,gBAAQ,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBACzC;gBACD,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE;oBAChC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACpD,GAAG,GAAG;wBACN,IAAI,EAAE,IAAA,gBAAQ,EAAC,GAAG,CAAC,IAAI,CAAC;qBACzB,CAAC,CAAC,CAAC;iBACL;gBACD,OAAO,CAAC,IAAA,gBAAQ,EAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;YACnC,CAAC,CAAC,CACH;SACF,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACvC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAK,SAAS,EAAE;gBAClC,UAAU,CAAC,IAAI,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAC7C;iBAAM,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAK,SAAS,EAAE;gBACzC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAC7D;iBAAM,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAK,KAAK,EAAE;gBACrC,UAAU,CAAC,UAAU,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACxD,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CACnC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;oBACpD,IAAA,gBAAQ,EAAC,GAAG,CAAC;oBACb,IAAI,CAAC,IAAI,KAAK,OAAO;wBACnB,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAC3C,CAAC,CACH,CAAC;aACH;iBAAM,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAK,UAAU,EAAE;gBAC1C,UAAU,CAAC,IAAI,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC5C,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACxD,GAAG,GAAG;oBACN,IAAI,EAAE,IAAA,gBAAQ,EAAC,GAAG,CAAC,IAAI,CAAC;iBACzB,CAAC,CAAC,CAAC;aACL;YACD,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAA4B;;QACzC,MAAM,OAAO,GAAG,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC;QAChC,MAAM,+BAA+B,GACnC,MAAA,GAAG,CAAC,uBAAuB,mCAAI,KAAK,CAAC;QACvC,MAAM,QAAQ,GAA4B;YACxC,IAAI;YACJ,OAAO;YACP,IAAI,EAAE,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE;YACpB,QAAQ,EAAE,KAAK;YACf,mBAAmB,EAAE,IAAI;YACzB,WAAW,EAAE,EAAE;SAChB,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,MAAA,GAAG,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,GAAG,CACvC,CAAC,OAAO,EAA0B,EAAE;;YAClC,MAAM,UAAU,GAAG,MAAA,MAAA,OAAO,CAAC,QAAQ,mCAAI,OAAO,CAAC,UAAU,mCAAI,KAAK,CAAC;YACnE,OAAO;gBACL,IAAI,EAAE,IAAA,iBAAS,EAAC,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,CAAC;gBACnC,UAAU,EAAE,MAAA,OAAO,CAAC,KAAK,mCAAI,KAAK;gBAClC,QAAQ,EAAE,OAAO,CAAC,gBAAgB;oBAChC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,MAAA,OAAO,CAAC,QAAQ,mCAAI,KAAK;gBAC7B,UAAU;gBACV,WAAW,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE;gBAC/B,UAAU,EACR,UAAU,IAAI,+BAA+B;oBAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;oBACvB,CAAC,CAAC,IAAI;aACX,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,IAAI,IAAI,GAAG,+BAAc,CAAC,OAAO,CAAC;YAChC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE;YAC1C,MAAM,EAAE,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE;SACvB,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,YAAY,EAAE;YACpB,MAAM,kBAAkB,GAAG,IAAI,yCAAmB,CAChD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,EAAE;gBACR,UAAU,EAAE;oBACV,QAAQ,EAAE,SAAS;oBACnB,KAAK,EAAE,IAAA,mBAAO,EAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;iBACvC;aACF,EACD,IAAA,gCAAqB,EAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAC7C,CAAC;YACF,IAAI,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,IAAI,EAAE;gBACnC,kBAAkB;gBAClB,GAAG,IAAI,CAAC,MAAM;aACf,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAI,OAAmB;QAC3B,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;YACtD,cAAc;YACd,GAAG,cAAc,CAAC,qBAAqB,EAAE;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAA,2CAAqB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAA,2CAAqB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,OAAO;QACT,IAAI,IAAA,2CAAqB,EAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,OAAO;QACT,IAAI,IAAA,2CAAqB,EAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAC9C,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,UAAU,0CAAE,QAAQ,MAAK,SAAS,CAAA,EAAA,CAC7D,CAAC;QACF,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,YAAY;;QACd,IAAI,IAAA,2CAAqB,EAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QACvD,MAAM,gBAAgB,GACpB,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,CAAC,MAAM,CAC3B,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,UAAU,0CAAE,QAAQ,MAAK,SAAS,CAAA,EAAA,CAC7D,mCAAI,EAAE,CAAC;QACV,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAClD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAClC,CAAC;IACJ,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACvB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAK,UAAU,CACpD,CAAC;IACJ,CAAC;IAED,IAAI,eAAe;;QACjB,OAAO,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,mBAAmB,0CAAE,IAAI,MAAK,UAAU,CAAC;IAChE,CAAC;IAED,IAAI,YAAY;QACd,OAAO,CACL,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,eAAe,CACzE,CAAC;IACJ,CAAC;CACF;AAxND,0CAwNC;AAED,SAAgB,iBAAiB,CAAC,IAAiB;IACjD,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,iBAAiB,CAAC;AACxD,CAAC;AAFD,8CAEC;AAED,SAAgB,qBAAqB,CACnC,IAAiB;;IAEjB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CACb,iCAAiC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,mCAAI,MAAM,GAAG,CAC9D,CAAC;KACH;AACH,CAAC;AARD,sDAQC"}
@@ -68,8 +68,8 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
68
68
  },
69
69
  typeManifestVisitor: (_b = options.typeManifestVisitor) !== null && _b !== void 0 ? _b : new GetJavaScriptTypeManifestVisitor_1.GetJavaScriptTypeManifestVisitor(),
70
70
  };
71
- this.resolvedInstructionAccountVisitor =
72
- new visitors_1.GetResolvedInstructionAccountsVisitor();
71
+ this.resolvedInstructionInputVisitor =
72
+ new visitors_1.GetResolvedInstructionInputsVisitor();
73
73
  }
74
74
  visitRoot(root) {
75
75
  const programsToExport = root.programs.filter((p) => !p.metadata.internal);
@@ -157,8 +157,11 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
157
157
  var _a, _b;
158
158
  const isLinked = nodes.isTypeDefinedLinkNode(account.type);
159
159
  const typeManifest = account.accept(this.typeManifestVisitor);
160
- const imports = new JavaScriptImportMap_1.JavaScriptImportMap()
161
- .mergeWith(typeManifest.imports)
160
+ const imports = new JavaScriptImportMap_1.JavaScriptImportMap().mergeWith(typeManifest.strictImports, typeManifest.serializerImports);
161
+ if (!isLinked) {
162
+ imports.mergeWith(typeManifest.looseImports);
163
+ }
164
+ imports
162
165
  .add('core', [
163
166
  'Account',
164
167
  'assertAccountExists',
@@ -206,10 +209,8 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
206
209
  }
207
210
  // GPA Fields.
208
211
  const gpaFields = account.metadata.gpaFields.map((gpaField) => {
209
- this.typeManifestVisitor.setImportStrategy('looseOnly');
210
212
  const gpaFieldManifest = gpaField.type.accept(this.typeManifestVisitor);
211
- this.typeManifestVisitor.setImportStrategy('all');
212
- imports.mergeWith(gpaFieldManifest.imports);
213
+ imports.mergeWith(gpaFieldManifest.looseImports, gpaFieldManifest.serializerImports);
213
214
  return { ...gpaField, manifest: gpaFieldManifest };
214
215
  });
215
216
  let resolvedGpaFields = null;
@@ -233,10 +234,8 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
233
234
  const seeds = account.metadata.seeds.map((seed) => {
234
235
  if (seed.kind !== 'variable')
235
236
  return seed;
236
- this.typeManifestVisitor.setImportStrategy('looseOnly');
237
237
  const seedManifest = seed.type.accept(this.typeManifestVisitor);
238
- this.typeManifestVisitor.setImportStrategy('all');
239
- imports.mergeWith(seedManifest.imports);
238
+ imports.mergeWith(seedManifest.looseImports, seedManifest.serializerImports);
240
239
  return { ...seed, typeManifest: seedManifest };
241
240
  });
242
241
  if (seeds.length > 0) {
@@ -262,26 +261,37 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
262
261
  'TransactionBuilder',
263
262
  'transactionBuilder',
264
263
  ]);
265
- // Accounts.
266
- const accounts = instruction
267
- .accept(this.resolvedInstructionAccountVisitor)
268
- .map((account) => {
264
+ // Resolved inputs.
265
+ const resolvedInputs = instruction
266
+ .accept(this.resolvedInstructionInputVisitor)
267
+ .map((input) => {
269
268
  var _a;
270
- const hasDefaultValue = !!account.defaultsTo;
271
- if (((_a = account.defaultsTo) === null || _a === void 0 ? void 0 : _a.kind) === 'pda') {
272
- const { seeds } = account.defaultsTo;
269
+ if (input.kind === 'account' && ((_a = input.defaultsTo) === null || _a === void 0 ? void 0 : _a.kind) === 'pda') {
270
+ const { seeds } = input.defaultsTo;
273
271
  Object.keys(seeds).forEach((seed) => {
274
272
  const seedValue = seeds[seed];
275
273
  if (seedValue.kind !== 'value')
276
274
  return;
277
- const seedManifest = (0, RenderJavaScriptValueNode_1.renderJavaScriptValueNode)(seedValue.value);
278
- seedValue.render = seedManifest.render;
279
- imports.mergeWith(seedManifest.imports);
275
+ const valueManifest = (0, RenderJavaScriptValueNode_1.renderJavaScriptValueNode)(seedValue.value);
276
+ seedValue.render = valueManifest.render;
277
+ imports.mergeWith(valueManifest.imports);
280
278
  });
281
279
  }
280
+ if (input.kind === 'arg' && input.defaultsTo.kind === 'value') {
281
+ const { defaultsTo } = input;
282
+ const valueManifest = (0, RenderJavaScriptValueNode_1.renderJavaScriptValueNode)(defaultsTo.value);
283
+ defaultsTo.render = valueManifest.render;
284
+ imports.mergeWith(valueManifest.imports);
285
+ }
286
+ return input;
287
+ });
288
+ // Accounts.
289
+ const accounts = instruction.accounts.map((account) => {
290
+ const hasDefaultValue = !!account.defaultsTo;
291
+ const resolvedAccount = resolvedInputs.find((input) => input.kind === 'account' && input.name === account.name);
282
292
  return {
283
- ...account,
284
- type: this.getInstructionAccountType(account),
293
+ ...resolvedAccount,
294
+ type: this.getInstructionAccountType(resolvedAccount),
285
295
  optionalSign: hasDefaultValue || account.isOptional ? '?' : '',
286
296
  hasDefaultValue,
287
297
  };
@@ -292,15 +302,37 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
292
302
  .add('core', 'checkForIsWritableOverride')
293
303
  .addAlias('core', 'checkForIsWritableOverride', 'isWritable');
294
304
  }
295
- // Arguments.
296
- const typeManifest = instruction.accept(this.typeManifestVisitor);
297
- imports.mergeWith(typeManifest.imports);
305
+ // Args.
306
+ const argManifest = instruction.accept(this.typeManifestVisitor);
307
+ imports.mergeWith(argManifest.looseImports, argManifest.serializerImports);
308
+ if (!nodes.isTypeDefinedLinkNode(instruction.args)) {
309
+ imports.mergeWith(argManifest.strictImports);
310
+ }
298
311
  if (!nodes.isTypeDefinedLinkNode(instruction.args) && instruction.hasData) {
299
312
  imports.add('core', ['Serializer']);
300
313
  }
314
+ // Extra args.
315
+ let extraArgManifest = null;
316
+ if (instruction.extraArgs) {
317
+ this.typeManifestVisitor.setDefinedName({
318
+ strict: `${(0, utils_1.pascalCase)(instruction.name)}InstructionExtra`,
319
+ loose: `${(0, utils_1.pascalCase)(instruction.name)}InstructionExtraArgs`,
320
+ });
321
+ extraArgManifest = instruction.extraArgs.accept(this.typeManifestVisitor);
322
+ imports.mergeWith(extraArgManifest.looseImports);
323
+ this.typeManifestVisitor.setDefinedName(null);
324
+ }
325
+ // Arg defaults.
326
+ const argDefaultKeys = Object.keys(instruction.metadata.argDefaults);
327
+ const argDefaults = Object.values(instruction.metadata.argDefaults);
328
+ argDefaults.forEach((argDefault) => {
329
+ if (argDefault.kind === 'resolver') {
330
+ imports.add(argDefault.dependency, (0, utils_1.camelCase)(argDefault.name));
331
+ }
332
+ });
301
333
  // Bytes created on chain.
302
334
  const bytes = instruction.metadata.bytesCreatedOnChain;
303
- if (bytes && bytes.includeHeader) {
335
+ if (bytes && 'includeHeader' in bytes && bytes.includeHeader) {
304
336
  imports.add('core', 'ACCOUNT_HEADER_SIZE');
305
337
  }
306
338
  if ((bytes === null || bytes === void 0 ? void 0 : bytes.kind) === 'account') {
@@ -310,6 +342,9 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
310
342
  : bytes.dependency;
311
343
  imports.add(dependency, `get${accountName}Size`);
312
344
  }
345
+ else if ((bytes === null || bytes === void 0 ? void 0 : bytes.kind) === 'resolver') {
346
+ imports.add(bytes.dependency, (0, utils_1.camelCase)(bytes.name));
347
+ }
313
348
  // Remove imports from the same module.
314
349
  imports.remove('generatedTypes', [
315
350
  `${instruction.name}InstructionAccounts`,
@@ -318,7 +353,8 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
318
353
  ]);
319
354
  // canMergeAccountsAndArgs
320
355
  let canMergeAccountsAndArgs = false;
321
- if (!nodes.isTypeDefinedLinkNode(instruction.args)) {
356
+ if (!nodes.isTypeDefinedLinkNode(instruction.args) &&
357
+ !nodes.isTypeDefinedLinkNode(instruction.extraArgs)) {
322
358
  const accountsAndArgsConflicts = this.getMergeConflictsForInstructionAccountsAndArgs(instruction);
323
359
  if (accountsAndArgsConflicts.length > 0) {
324
360
  (0, logs_1.logWarn)(`Accounts and args of instruction [${instruction.name}] have the following ` +
@@ -328,22 +364,26 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
328
364
  }
329
365
  canMergeAccountsAndArgs = accountsAndArgsConflicts.length === 0;
330
366
  }
367
+ const hasAccountDefaultKinds = (kinds) => accounts.some((a) => a.defaultsTo && kinds.includes(a.defaultsTo.kind));
331
368
  return new RenderMap_1.RenderMap().add(`instructions/${(0, utils_1.camelCase)(instruction.name)}.ts`, this.render('instructionsPage.njk', {
332
369
  instruction,
333
370
  imports: imports.toString(this.options.dependencyMap),
334
371
  program: this.program,
372
+ resolvedInputs,
335
373
  accounts,
336
- needsEddsa: accounts.some((a) => { var _a; return ((_a = a.defaultsTo) === null || _a === void 0 ? void 0 : _a.kind) === 'pda'; }),
337
- needsIdentity: accounts.some((a) => { var _a; return ((_a = a.defaultsTo) === null || _a === void 0 ? void 0 : _a.kind) === 'identity'; }),
338
- needsPayer: accounts.some((a) => { var _a; return ((_a = a.defaultsTo) === null || _a === void 0 ? void 0 : _a.kind) === 'payer'; }),
339
- typeManifest,
374
+ needsEddsa: hasAccountDefaultKinds(['pda', 'resolver']),
375
+ needsIdentity: hasAccountDefaultKinds(['identity', 'resolver']),
376
+ needsPayer: hasAccountDefaultKinds(['payer', 'resolver']),
377
+ argDefaultKeys,
378
+ argManifest,
379
+ extraArgManifest,
340
380
  canMergeAccountsAndArgs,
341
381
  }));
342
382
  }
343
383
  visitDefinedType(definedType) {
344
384
  const typeManifest = definedType.accept(this.typeManifestVisitor);
345
385
  const imports = new JavaScriptImportMap_1.JavaScriptImportMap()
346
- .mergeWith(typeManifest.imports)
386
+ .mergeWithManifest(typeManifest)
347
387
  .add('core', ['Context', 'Serializer'])
348
388
  .remove('generatedTypes', [definedType.name]);
349
389
  return new RenderMap_1.RenderMap().add(`types/${(0, utils_1.camelCase)(definedType.name)}.ts`, this.render('definedTypesPage.njk', {
@@ -359,7 +399,7 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
359
399
  return this.options.typeManifestVisitor;
360
400
  }
361
401
  getInstructionAccountType(account) {
362
- if (account.pdaBumpArg)
402
+ if (account.isPda && account.isSigner === false)
363
403
  return 'Pda';
364
404
  if (account.isSigner === 'either')
365
405
  return 'PublicKey | Signer';
@@ -368,14 +408,14 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
368
408
  getInstructionAccountImports(accounts) {
369
409
  const imports = new JavaScriptImportMap_1.JavaScriptImportMap();
370
410
  accounts.forEach((account) => {
371
- var _a, _b;
372
- if (account.pdaBumpArg) {
411
+ var _a, _b, _c;
412
+ if (account.isPda && account.isSigner === false) {
373
413
  imports.add('core', 'Pda');
374
414
  }
375
415
  if (((_a = account.defaultsTo) === null || _a === void 0 ? void 0 : _a.kind) === 'publicKey') {
376
416
  imports.add('core', 'publicKey');
377
417
  }
378
- if (((_b = account.defaultsTo) === null || _b === void 0 ? void 0 : _b.kind) === 'pda') {
418
+ else if (((_b = account.defaultsTo) === null || _b === void 0 ? void 0 : _b.kind) === 'pda') {
379
419
  const pdaAccount = (0, utils_1.pascalCase)(account.defaultsTo.pdaAccount);
380
420
  const dependency = account.defaultsTo.dependency === 'generated'
381
421
  ? 'generatedAccounts'
@@ -387,6 +427,9 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
387
427
  }
388
428
  });
389
429
  }
430
+ else if (((_c = account.defaultsTo) === null || _c === void 0 ? void 0 : _c.kind) === 'resolver') {
431
+ imports.add(account.defaultsTo.dependency, (0, utils_1.camelCase)(account.defaultsTo.name));
432
+ }
390
433
  if (account.resolvedIsSigner === 'either') {
391
434
  imports.add('core', ['PublicKey', 'publicKey', 'Signer', 'isSigner']);
392
435
  }
@@ -401,9 +444,14 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
401
444
  }
402
445
  getMergeConflictsForInstructionAccountsAndArgs(instruction) {
403
446
  nodes.assertTypeStructNode(instruction.args);
447
+ let extraArgsFields = [];
448
+ if (nodes.isTypeStructNode(instruction.extraArgs)) {
449
+ extraArgsFields = instruction.extraArgs.fields;
450
+ }
404
451
  const allNames = [
405
452
  ...instruction.accounts.map((account) => account.name),
406
453
  ...instruction.args.fields.map((field) => field.name),
454
+ ...extraArgsFields.map((field) => field.name),
407
455
  ];
408
456
  const duplicates = allNames.filter((e, i, a) => a.indexOf(e) !== i);
409
457
  return [...new Set(duplicates)];
@@ -1 +1 @@
1
- {"version":3,"file":"GetJavaScriptRenderMapVisitor.js","sourceRoot":"","sources":["../../../../src/renderers/js/GetJavaScriptRenderMapVisitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GetJavaScriptRenderMapVisitor.js","sourceRoot":"","sources":["../../../../src/renderers/js/GetJavaScriptRenderMapVisitor.ts"],"names":[],"mappings":"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"}