Jelajahi Sumber

Add BurnArgs example from mpl-token-metadata to Anchor e2e test

Callum 4 bulan lalu
induk
melakukan
b41dc5a283

+ 9 - 0
packages/renderers-js/e2e/anchor/idl.json

@@ -366,6 +366,15 @@
     }
   ],
   "types": [
+    {
+      "name": "BurnArgs",
+      "type": {
+        "kind": "enum",
+        "variants": [
+          { "name": "V1", "fields": [{ "name": "amount", "type": "u64" }] }
+        ]
+      }
+    },
     {
       "name": "CpiRule",
       "docs": [

+ 66 - 0
packages/renderers-js/e2e/anchor/src/generated/types/burnArgs.ts

@@ -0,0 +1,66 @@
+/**
+ * This code was AUTOGENERATED using the codama library.
+ * Please DO NOT EDIT THIS FILE, instead use visitors
+ * to add features, then rerun codama to update it.
+ *
+ * @see https://github.com/codama-idl/codama
+ */
+
+import {
+  combineCodec,
+  getDiscriminatedUnionDecoder,
+  getDiscriminatedUnionEncoder,
+  getStructDecoder,
+  getStructEncoder,
+  getU64Decoder,
+  getU64Encoder,
+  type FixedSizeCodec,
+  type FixedSizeDecoder,
+  type FixedSizeEncoder,
+  type GetDiscriminatedUnionVariant,
+  type GetDiscriminatedUnionVariantContent,
+} from '@solana/kit';
+
+export type BurnArgs = { __kind: 'V1'; amount: bigint };
+
+export type BurnArgsArgs = { __kind: 'V1'; amount: number | bigint };
+
+export function getBurnArgsEncoder(): FixedSizeEncoder<BurnArgsArgs> {
+  return getDiscriminatedUnionEncoder([
+    ['V1', getStructEncoder([['amount', getU64Encoder()]])],
+  ]) as FixedSizeEncoder<BurnArgsArgs>;
+}
+
+export function getBurnArgsDecoder(): FixedSizeDecoder<BurnArgs> {
+  return getDiscriminatedUnionDecoder([
+    ['V1', getStructDecoder([['amount', getU64Decoder()]])],
+  ]) as FixedSizeDecoder<BurnArgs>;
+}
+
+export function getBurnArgsCodec(): FixedSizeCodec<BurnArgsArgs, BurnArgs> {
+  return combineCodec(
+    getBurnArgsEncoder(),
+    getBurnArgsDecoder()
+  ) as FixedSizeCodec<BurnArgsArgs, BurnArgs>;
+}
+
+// Data Enum Helpers.
+export function burnArgs(
+  kind: 'V1',
+  data: GetDiscriminatedUnionVariantContent<BurnArgsArgs, '__kind', 'V1'>
+): GetDiscriminatedUnionVariant<BurnArgsArgs, '__kind', 'V1'>;
+export function burnArgs<K extends BurnArgsArgs['__kind'], Data>(
+  kind: K,
+  data?: Data
+) {
+  return Array.isArray(data)
+    ? { __kind: kind, fields: data }
+    : { __kind: kind, ...(data ?? {}) };
+}
+
+export function isBurnArgs<K extends BurnArgs['__kind']>(
+  kind: K,
+  value: BurnArgs
+): value is BurnArgs & { __kind: K } {
+  return value.__kind === kind;
+}

+ 1 - 0
packages/renderers-js/e2e/anchor/src/generated/types/index.ts

@@ -6,6 +6,7 @@
  * @see https://github.com/codama-idl/codama
  */
 
+export * from './burnArgs';
 export * from './cpiRule';
 export * from './metadataAdditionalFieldRestriction';
 export * from './metadataAdditionalFieldRule';