{"version":3,"file":"burnDomainInstruction.cjs","sources":["../../../src/instructions/burnDomainInstruction.ts"],"sourcesContent":["import { AccountMeta, AccountRole, Address, Instruction } from \"@solana/kit\";\r\nimport { serialize } from \"borsh\";\r\n\r\n/** Builder for burning an SNS domain NFT and registry account. */\r\nexport class BurnDomainInstruction {\r\n  /** Instruction discriminator. */\r\n  tag: number;\r\n\r\n  static schema = {\r\n    struct: {\r\n      tag: \"u8\",\r\n    },\r\n  };\r\n\r\n  constructor() {\r\n    this.tag = 16;\r\n  }\r\n\r\n  serialize(): Uint8Array {\r\n    return serialize(BurnDomainInstruction.schema, this);\r\n  }\r\n\r\n  getInstruction(\r\n    programAddress: Address,\r\n    nameServiceId: Address,\r\n    systemProgram: Address,\r\n    domainAddress: Address,\r\n    reverse: Address,\r\n    resellingState: Address,\r\n    state: Address,\r\n    centralState: Address,\r\n    owner: Address,\r\n    target: Address\r\n  ): Instruction {\r\n    const data = this.serialize();\r\n\r\n    const accounts: AccountMeta[] = [\r\n      {\r\n        address: nameServiceId,\r\n        role: AccountRole.READONLY,\r\n      },\r\n      {\r\n        address: systemProgram,\r\n        role: AccountRole.READONLY,\r\n      },\r\n      {\r\n        address: domainAddress,\r\n        role: AccountRole.WRITABLE,\r\n      },\r\n      {\r\n        address: reverse,\r\n        role: AccountRole.WRITABLE,\r\n      },\r\n      {\r\n        address: resellingState,\r\n        role: AccountRole.WRITABLE,\r\n      },\r\n      {\r\n        address: state,\r\n        role: AccountRole.WRITABLE,\r\n      },\r\n      {\r\n        address: centralState,\r\n        role: AccountRole.READONLY,\r\n      },\r\n      {\r\n        address: owner,\r\n        role: AccountRole.READONLY_SIGNER,\r\n      },\r\n      {\r\n        address: target,\r\n        role: AccountRole.WRITABLE,\r\n      },\r\n    ];\r\n\r\n    return {\r\n      programAddress,\r\n      accounts,\r\n      data,\r\n    };\r\n  }\r\n}\r\n"],"names":["serialize","AccountRole"],"mappings":";;;;;;;AAGA;MACa,qBAAqB,CAAA;;AAEhC,IAAA,GAAG;IAEH,OAAO,MAAM,GAAG;AACd,QAAA,MAAM,EAAE;AACN,YAAA,GAAG,EAAE,IAAI;AACV,SAAA;KACF;AAED,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,GAAG,GAAG,EAAE;;IAGf,SAAS,GAAA;QACP,OAAOA,eAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;;AAGtD,IAAA,cAAc,CACZ,cAAuB,EACvB,aAAsB,EACtB,aAAsB,EACtB,aAAsB,EACtB,OAAgB,EAChB,cAAuB,EACvB,KAAc,EACd,YAAqB,EACrB,KAAc,EACd,MAAe,EAAA;AAEf,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE;AAE7B,QAAA,MAAM,QAAQ,GAAkB;AAC9B,YAAA;AACE,gBAAA,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAEC,eAAW,CAAC,QAAQ;AAC3B,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAEA,eAAW,CAAC,QAAQ;AAC3B,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAEA,eAAW,CAAC,QAAQ;AAC3B,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAEA,eAAW,CAAC,QAAQ;AAC3B,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,cAAc;gBACvB,IAAI,EAAEA,eAAW,CAAC,QAAQ;AAC3B,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,KAAK;gBACd,IAAI,EAAEA,eAAW,CAAC,QAAQ;AAC3B,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAEA,eAAW,CAAC,QAAQ;AAC3B,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,KAAK;gBACd,IAAI,EAAEA,eAAW,CAAC,eAAe;AAClC,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,MAAM;gBACf,IAAI,EAAEA,eAAW,CAAC,QAAQ;AAC3B,aAAA;SACF;QAED,OAAO;YACL,cAAc;YACd,QAAQ;YACR,IAAI;SACL;;;;;;"}