@bonfida/spl-name-service 0.1.25 → 0.1.26

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.
@@ -38,7 +38,7 @@ export declare function updateNameRegistryData(connection: Connection, name: str
38
38
  * @param nameParent The parent name of this name, if it exists
39
39
  * @returns
40
40
  */
41
- export declare function transferNameOwnership(connection: Connection, name: string, newOwner: PublicKey, nameClass?: PublicKey, nameParent?: PublicKey, parentOwner?: PublicKey): Promise<TransactionInstruction>;
41
+ export declare function transferNameOwnership(connection: Connection, name: string, newOwner: PublicKey, nameClass?: PublicKey, nameParent?: PublicKey): Promise<TransactionInstruction>;
42
42
  /**
43
43
  * Delete the name account and transfer the rent to the target.
44
44
  *
package/dist/bindings.js CHANGED
@@ -31,7 +31,7 @@ async function createNameRegistry(connection, name, space, payerKey, nameOwner,
31
31
  : await connection.getMinimumBalanceForRentExemption(space);
32
32
  let nameParentOwner;
33
33
  if (parentName) {
34
- const parentAccount = await utils_2.getNameOwner(connection, parentName);
34
+ const { registry: parentAccount } = await utils_2.getNameOwner(connection, parentName);
35
35
  nameParentOwner = parentAccount.owner;
36
36
  }
37
37
  const createNameInstr = instructions_1.createInstruction(exports.NAME_PROGRAM_ID, web3_js_1.SystemProgram.programId, nameAccountKey, nameOwner, payerKey, hashed_name,
@@ -61,7 +61,7 @@ async function updateNameRegistryData(connection, name, offset, input_data, name
61
61
  }
62
62
  else {
63
63
  signer = (await state_1.NameRegistryState.retrieve(connection, nameAccountKey))
64
- .owner;
64
+ .registry.owner;
65
65
  }
66
66
  const updateInstr = instructions_1.updateInstruction(exports.NAME_PROGRAM_ID, nameAccountKey,
67
67
  //@ts-ignore
@@ -80,7 +80,7 @@ exports.updateNameRegistryData = updateNameRegistryData;
80
80
  * @param nameParent The parent name of this name, if it exists
81
81
  * @returns
82
82
  */
83
- async function transferNameOwnership(connection, name, newOwner, nameClass, nameParent, parentOwner) {
83
+ async function transferNameOwnership(connection, name, newOwner, nameClass, nameParent) {
84
84
  const hashed_name = await utils_2.getHashedName(name);
85
85
  const nameAccountKey = await utils_2.getNameAccountKey(hashed_name, nameClass, nameParent);
86
86
  let curentNameOwner;
@@ -88,9 +88,9 @@ async function transferNameOwnership(connection, name, newOwner, nameClass, name
88
88
  curentNameOwner = nameClass;
89
89
  }
90
90
  else {
91
- curentNameOwner = (await state_1.NameRegistryState.retrieve(connection, nameAccountKey)).owner;
91
+ curentNameOwner = (await state_1.NameRegistryState.retrieve(connection, nameAccountKey)).registry.owner;
92
92
  }
93
- const transferInstr = instructions_1.transferInstruction(exports.NAME_PROGRAM_ID, nameAccountKey, newOwner, !!parentOwner ? parentOwner : curentNameOwner, nameClass, !!parentOwner ? nameParent : undefined);
93
+ const transferInstr = instructions_1.transferInstruction(exports.NAME_PROGRAM_ID, nameAccountKey, newOwner, curentNameOwner, nameClass);
94
94
  return transferInstr;
95
95
  }
96
96
  exports.transferNameOwnership = transferNameOwnership;
@@ -113,7 +113,7 @@ async function deleteNameRegistry(connection, name, refundTargetKey, nameClass,
113
113
  }
114
114
  else {
115
115
  nameOwner = (await state_1.NameRegistryState.retrieve(connection, nameAccountKey))
116
- .owner;
116
+ .registry.owner;
117
117
  }
118
118
  const changeAuthoritiesInstr = instructions_1.deleteInstruction(exports.NAME_PROGRAM_ID, nameAccountKey, refundTargetKey, nameOwner);
119
119
  return changeAuthoritiesInstr;
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../src/bindings.ts"],"names":[],"mappings":";;;AAAA,6CAKyB;AAEzB,iDAKwB;AACxB,mCAA4C;AAC5C,mCAAoC;AACpC,mCAKiB;AAEjB,4DAA4D;AAE/C,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,6CAA6C,CAC9C,CAAC;AACW,QAAA,WAAW,GAAG,kBAAkB,CAAC;AAE9C,4DAA4D;AAC5D;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,kBAAkB,CACtC,UAAsB,EACtB,IAAY,EACZ,KAAa,EACb,QAAmB,EACnB,SAAoB,EACpB,QAAiB,EACjB,SAAqB,EACrB,UAAsB;IAEtB,MAAM,WAAW,GAAG,MAAM,qBAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,MAAM,yBAAiB,CAC5C,WAAW,EACX,SAAS,EACT,UAAU,CACX,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ;QACtB,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,MAAM,UAAU,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC;IAE9D,IAAI,eAAsC,CAAC;IAC3C,IAAI,UAAU,EAAE;QACd,MAAM,aAAa,GAAG,MAAM,oBAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACjE,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC;KACvC;IAED,MAAM,eAAe,GAAG,gCAAiB,CACvC,uBAAe,EACf,uBAAa,CAAC,SAAS,EACvB,cAAc,EACd,SAAS,EACT,QAAQ,EACR,WAAW;IACX,YAAY;IACZ,IAAI,iBAAS,CAAC,OAAO,CAAC;IACtB,YAAY;IACZ,IAAI,iBAAS,CAAC,KAAK,CAAC,EACpB,SAAS,EACT,UAAU,EACV,eAAe,CAChB,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC;AA5CD,gDA4CC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,sBAAsB,CAC1C,UAAsB,EACtB,IAAY,EACZ,MAAc,EACd,UAAkB,EAClB,SAAqB,EACrB,UAAsB;IAEtB,MAAM,WAAW,GAAG,MAAM,qBAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,MAAM,yBAAiB,CAC5C,WAAW,EACX,SAAS,EACT,UAAU,CACX,CAAC;IAEF,IAAI,MAAiB,CAAC;IACtB,IAAI,SAAS,EAAE;QACb,MAAM,GAAG,SAAS,CAAC;KACpB;SAAM;QACL,MAAM,GAAG,CAAC,MAAM,yBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;aACpE,KAAK,CAAC;KACV;IAED,MAAM,WAAW,GAAG,gCAAiB,CACnC,uBAAe,EACf,cAAc;IACd,YAAY;IACZ,IAAI,iBAAS,CAAC,MAAM,CAAC,EACrB,UAAU,EACV,MAAM,CACP,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAjCD,wDAiCC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,qBAAqB,CACzC,UAAsB,EACtB,IAAY,EACZ,QAAmB,EACnB,SAAqB,EACrB,UAAsB,EACtB,WAAuB;IAEvB,MAAM,WAAW,GAAG,MAAM,qBAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,MAAM,yBAAiB,CAC5C,WAAW,EACX,SAAS,EACT,UAAU,CACX,CAAC;IAEF,IAAI,eAA0B,CAAC;IAC/B,IAAI,SAAS,EAAE;QACb,eAAe,GAAG,SAAS,CAAC;KAC7B;SAAM;QACL,eAAe,GAAG,CAChB,MAAM,yBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,CAC7D,CAAC,KAAK,CAAC;KACT;IAED,MAAM,aAAa,GAAG,kCAAmB,CACvC,uBAAe,EACf,cAAc,EACd,QAAQ,EACR,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAC7C,SAAS,EACT,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CACvC,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC;AAlCD,sDAkCC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,kBAAkB,CACtC,UAAsB,EACtB,IAAY,EACZ,eAA0B,EAC1B,SAAqB,EACrB,UAAsB;IAEtB,MAAM,WAAW,GAAG,MAAM,qBAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,MAAM,yBAAiB,CAC5C,WAAW,EACX,SAAS,EACT,UAAU,CACX,CAAC;IAEF,IAAI,SAAoB,CAAC;IACzB,IAAI,SAAS,EAAE;QACb,SAAS,GAAG,SAAS,CAAC;KACvB;SAAM;QACL,SAAS,GAAG,CAAC,MAAM,yBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;aACvE,KAAK,CAAC;KACV;IAED,MAAM,sBAAsB,GAAG,gCAAiB,CAC9C,uBAAe,EACf,cAAc,EACd,eAAe,EACf,SAAS,CACV,CAAC;IAEF,OAAO,sBAAsB,CAAC;AAChC,CAAC;AA9BD,gDA8BC"}
1
+ {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../src/bindings.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,3 +5,4 @@ export * from "./twitter_bindings";
5
5
  export * from "./tokens";
6
6
  export * from "./utils";
7
7
  export * from "./instructions";
8
+ export * from "./nft";
package/dist/index.js CHANGED
@@ -17,4 +17,5 @@ __exportStar(require("./twitter_bindings"), exports);
17
17
  __exportStar(require("./tokens"), exports);
18
18
  __exportStar(require("./utils"), exports);
19
19
  __exportStar(require("./instructions"), exports);
20
+ __exportStar(require("./nft"), exports);
20
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAwB;AACxB,6CAA2B;AAC3B,0CAAwB;AACxB,qDAAmC;AACnC,2CAAyB;AACzB,0CAAwB;AACxB,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAwB;AACxB,6CAA2B;AAC3B,0CAAwB;AACxB,qDAAmC;AACnC,2CAAyB;AACzB,0CAAwB;AACxB,iDAA+B;AAC/B,wCAAsB"}
@@ -3,5 +3,5 @@ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
3
3
  import { Numberu32, Numberu64 } from "./utils";
4
4
  export declare function createInstruction(nameProgramId: PublicKey, systemProgramId: PublicKey, nameKey: PublicKey, nameOwnerKey: PublicKey, payerKey: PublicKey, hashed_name: Buffer, lamports: Numberu64, space: Numberu32, nameClassKey?: PublicKey, nameParent?: PublicKey, nameParentOwner?: PublicKey): TransactionInstruction;
5
5
  export declare function updateInstruction(nameProgramId: PublicKey, nameAccountKey: PublicKey, offset: Numberu32, input_data: Buffer, nameUpdateSigner: PublicKey): TransactionInstruction;
6
- export declare function transferInstruction(nameProgramId: PublicKey, nameAccountKey: PublicKey, newOwnerKey: PublicKey, currentNameOwnerKey: PublicKey, nameClassKey?: PublicKey, nameParent?: PublicKey): TransactionInstruction;
6
+ export declare function transferInstruction(nameProgramId: PublicKey, nameAccountKey: PublicKey, newOwnerKey: PublicKey, currentNameOwnerKey: PublicKey, nameClassKey?: PublicKey): TransactionInstruction;
7
7
  export declare function deleteInstruction(nameProgramId: PublicKey, nameAccountKey: PublicKey, refundTargetKey: PublicKey, nameOwnerKey: PublicKey): TransactionInstruction;
@@ -105,7 +105,7 @@ function updateInstruction(nameProgramId, nameAccountKey, offset, input_data, na
105
105
  });
106
106
  }
107
107
  exports.updateInstruction = updateInstruction;
108
- function transferInstruction(nameProgramId, nameAccountKey, newOwnerKey, currentNameOwnerKey, nameClassKey, nameParent) {
108
+ function transferInstruction(nameProgramId, nameAccountKey, newOwnerKey, currentNameOwnerKey, nameClassKey) {
109
109
  const buffers = [Buffer.from(Int8Array.from([2])), newOwnerKey.toBuffer()];
110
110
  const data = Buffer.concat(buffers);
111
111
  const keys = [
@@ -127,18 +127,6 @@ function transferInstruction(nameProgramId, nameAccountKey, newOwnerKey, current
127
127
  isWritable: false,
128
128
  });
129
129
  }
130
- if (nameParent) {
131
- keys.push({
132
- pubkey: web3_js_1.PublicKey.default,
133
- isSigner: false,
134
- isWritable: false,
135
- });
136
- keys.push({
137
- pubkey: nameParent,
138
- isSigner: false,
139
- isWritable: false,
140
- });
141
- }
142
130
  return new web3_js_1.TransactionInstruction({
143
131
  keys,
144
132
  programId: nameProgramId,
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":";;;AAAA,6CAAoE;AAEpE,mCAA+C;AAE/C,SAAgB,iBAAiB,CAC/B,aAAwB,EACxB,eAA0B,EAC1B,OAAkB,EAClB,YAAuB,EACvB,QAAmB,EACnB,WAAmB,EACnB,QAAmB,EACnB,KAAgB,EAChB,YAAwB,EACxB,UAAsB,EACtB,eAA2B;IAE3B,MAAM,OAAO,GAAG;QACd,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,YAAY;QACZ,IAAI,iBAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;QAC5C,WAAW;QACX,QAAQ,CAAC,QAAQ,EAAE;QACnB,KAAK,CAAC,QAAQ,EAAE;KACjB,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEpC,MAAM,IAAI,GAAG;QACX;YACE,MAAM,EAAE,eAAe;YACvB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;SACjB;QACD;YACE,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;SACjB;QACD;YACE,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB;KACF,CAAC;IAEF,IAAI,YAAY,EAAE;QAChB,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;KACJ;SAAM;QACL,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,IAAI,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvC,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;KACJ;IACD,IAAI,UAAU,EAAE;QACd,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;KACJ;SAAM;QACL,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,IAAI,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvC,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;KACJ;IACD,IAAI,eAAe,EAAE;QACnB,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,eAAe;YACvB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;KACJ;IAED,OAAO,IAAI,gCAAsB,CAAC;QAChC,IAAI;QACJ,SAAS,EAAE,aAAa;QACxB,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAtFD,8CAsFC;AAED,SAAgB,iBAAiB,CAC/B,aAAwB,EACxB,cAAyB,EACzB,MAAiB,EACjB,UAAkB,EAClB,gBAA2B;IAE3B,MAAM,OAAO,GAAG;QACd,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,EAAE;QACjB,YAAY;QACZ,IAAI,iBAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;QAC3C,UAAU;KACX,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG;QACX;YACE,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;SACjB;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;SAClB;KACF,CAAC;IAEF,OAAO,IAAI,gCAAsB,CAAC;QAChC,IAAI;QACJ,SAAS,EAAE,aAAa;QACxB,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAlCD,8CAkCC;AAED,SAAgB,mBAAmB,CACjC,aAAwB,EACxB,cAAyB,EACzB,WAAsB,EACtB,mBAA8B,EAC9B,YAAwB;IAExB,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEpC,MAAM,IAAI,GAAG;QACX;YACE,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;SACjB;QACD;YACE,MAAM,EAAE,mBAAmB;YAC3B,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;SAClB;KACF,CAAC;IAEF,IAAI,YAAY,EAAE;QAChB,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;KACJ;IAED,OAAO,IAAI,gCAAsB,CAAC;QAChC,IAAI;QACJ,SAAS,EAAE,aAAa;QACxB,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AArCD,kDAqCC;AAED,SAAgB,iBAAiB,CAC/B,aAAwB,EACxB,cAAyB,EACzB,eAA0B,EAC1B,YAAuB;IAEvB,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG;QACX;YACE,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;SACjB;QACD;YACE,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;SAClB;QACD;YACE,MAAM,EAAE,eAAe;YACvB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;SACjB;KACF,CAAC;IAEF,OAAO,IAAI,gCAAsB,CAAC;QAChC,IAAI;QACJ,SAAS,EAAE,aAAa;QACxB,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAhCD,8CAgCC"}
package/dist/nft.d.ts ADDED
@@ -0,0 +1,25 @@
1
+ /// <reference types="node" />
2
+ import { PublicKey, Connection } from "@solana/web3.js";
3
+ /**
4
+ * Mainnet program ID
5
+ */
6
+ export declare const NAME_TOKENIZER_ID: PublicKey;
7
+ /**
8
+ * PDA prefix
9
+ */
10
+ export declare const MINT_PREFIX: Buffer;
11
+ /**
12
+ * This function can be used to retrieve the owner of a tokenized domain name
13
+ *
14
+ * @param connection The solana connection object to the RPC node
15
+ * @param nameAccount The key of the domain name
16
+ * @returns
17
+ */
18
+ export declare const retrieveNftOwner: (connection: Connection, nameAccount: PublicKey) => Promise<PublicKey | undefined>;
19
+ /**
20
+ * This function can be used to retrieve all the tokenized domains name
21
+ *
22
+ * @param connection The solana connection object to the RPC node
23
+ * @returns
24
+ */
25
+ export declare const retrieveNfts: (connection: Connection) => Promise<PublicKey[]>;
package/dist/nft.js ADDED
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.retrieveNfts = exports.retrieveNftOwner = exports.MINT_PREFIX = exports.NAME_TOKENIZER_ID = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const spl_token_1 = require("@solana/spl-token");
6
+ /**
7
+ * Mainnet program ID
8
+ */
9
+ exports.NAME_TOKENIZER_ID = new web3_js_1.PublicKey("nftD3vbNkNqfj2Sd3HZwbpw4BxxKWr4AjGb9X38JeZk");
10
+ /**
11
+ * PDA prefix
12
+ */
13
+ exports.MINT_PREFIX = Buffer.from("tokenized_name");
14
+ /**
15
+ * This function can be used to retrieve the owner of a tokenized domain name
16
+ *
17
+ * @param connection The solana connection object to the RPC node
18
+ * @param nameAccount The key of the domain name
19
+ * @returns
20
+ */
21
+ const retrieveNftOwner = async (connection, nameAccount) => {
22
+ var _a;
23
+ try {
24
+ const [mint] = await web3_js_1.PublicKey.findProgramAddress([exports.MINT_PREFIX, nameAccount.toBuffer()], exports.NAME_TOKENIZER_ID);
25
+ const mintInfo = await spl_token_1.getMint(connection, mint);
26
+ if (mintInfo.supply.toString() === "0") {
27
+ return undefined;
28
+ }
29
+ const { value } = await connection.getTokenLargestAccounts(mint);
30
+ const holder = (_a = value.find((e) => e.amount === "1")) === null || _a === void 0 ? void 0 : _a.address;
31
+ if (!holder) {
32
+ return undefined;
33
+ }
34
+ const info = await connection.getAccountInfo(holder);
35
+ if (!info || !info.data) {
36
+ return undefined;
37
+ }
38
+ return new web3_js_1.PublicKey(info.data.slice(32, 64));
39
+ }
40
+ catch (err) {
41
+ console.log(err);
42
+ return undefined;
43
+ }
44
+ };
45
+ exports.retrieveNftOwner = retrieveNftOwner;
46
+ /**
47
+ * This function can be used to retrieve all the tokenized domains name
48
+ *
49
+ * @param connection The solana connection object to the RPC node
50
+ * @returns
51
+ */
52
+ const retrieveNfts = async (connection) => {
53
+ const filters = [
54
+ {
55
+ memcmp: {
56
+ offset: 0,
57
+ bytes: "3",
58
+ },
59
+ },
60
+ ];
61
+ const result = await connection.getProgramAccounts(exports.NAME_TOKENIZER_ID, {
62
+ filters,
63
+ });
64
+ const offset = 1 + 1 + 32 + 32;
65
+ return result.map((e) => new web3_js_1.PublicKey(e.account.data.slice(offset, offset + 32)));
66
+ };
67
+ exports.retrieveNfts = retrieveNfts;
68
+ //# sourceMappingURL=nft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nft.js","sourceRoot":"","sources":["../src/nft.ts"],"names":[],"mappings":";;;AAAA,6CAAwD;AACxD,iDAA4C;AAE5C;;GAEG;AACU,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAC5C,6CAA6C,CAC9C,CAAC;AAEF;;GAEG;AACU,QAAA,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAEzD;;;;;;GAMG;AACI,MAAM,gBAAgB,GAAG,KAAK,EACnC,UAAsB,EACtB,WAAsB,EACtB,EAAE;;IACF,IAAI;QACF,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAS,CAAC,kBAAkB,CAC/C,CAAC,mBAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,EACrC,yBAAiB,CAClB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,mBAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;YACtC,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,0CAAE,OAAO,CAAC;QAC5D,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACvB,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,IAAI,mBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;KAC/C;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AAhCW,QAAA,gBAAgB,oBAgC3B;AAEF;;;;;GAKG;AACI,MAAM,YAAY,GAAG,KAAK,EAAE,UAAsB,EAAE,EAAE;IAC3D,MAAM,OAAO,GAAG;QACd;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,GAAG;aACX;SACF;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,yBAAiB,EAAE;QACpE,OAAO;KACR,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IAC/B,OAAO,MAAM,CAAC,GAAG,CACf,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAChE,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,YAAY,gBAiBvB"}
package/dist/state.d.ts CHANGED
@@ -13,7 +13,10 @@ export declare class NameRegistryState {
13
13
  owner: Uint8Array;
14
14
  class: Uint8Array;
15
15
  });
16
- static retrieve(connection: Connection, nameAccountKey: PublicKey): Promise<NameRegistryState>;
16
+ static retrieve(connection: Connection, nameAccountKey: PublicKey): Promise<{
17
+ registry: NameRegistryState;
18
+ nftOwner: PublicKey | undefined;
19
+ }>;
17
20
  static _retrieveBatch(connection: Connection, nameAccountKeys: PublicKey[]): Promise<(NameRegistryState | undefined)[]>;
18
21
  static retrieveBatch(connection: Connection, nameAccountKeys: PublicKey[]): Promise<(NameRegistryState | undefined)[]>;
19
22
  }
package/dist/state.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Mint = exports.TokenData = exports.NameRegistryState = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  const borsh_1 = require("borsh");
6
+ const nft_1 = require("./nft");
6
7
  class NameRegistryState {
7
8
  constructor(obj) {
8
9
  this.parentName = new web3_js_1.PublicKey(obj.parentName);
@@ -11,13 +12,14 @@ class NameRegistryState {
11
12
  }
12
13
  static async retrieve(connection, nameAccountKey) {
13
14
  var _a;
14
- let nameAccount = await connection.getAccountInfo(nameAccountKey, "processed");
15
+ const nameAccount = await connection.getAccountInfo(nameAccountKey);
15
16
  if (!nameAccount) {
16
17
  throw new Error("Invalid name account provided");
17
18
  }
18
19
  let res = borsh_1.deserializeUnchecked(this.schema, NameRegistryState, nameAccount.data);
19
20
  res.data = (_a = nameAccount.data) === null || _a === void 0 ? void 0 : _a.slice(this.HEADER_LEN);
20
- return res;
21
+ const nftOwner = await nft_1.retrieveNftOwner(connection, nameAccountKey);
22
+ return { registry: res, nftOwner };
21
23
  }
22
24
  static async _retrieveBatch(connection, nameAccountKeys) {
23
25
  const nameAccounts = await connection.getMultipleAccountsInfo(nameAccountKeys);
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/dist/tokens.js CHANGED
@@ -7,7 +7,7 @@ const state_1 = require("./state");
7
7
  exports.TOKEN_TLD = new web3_js_1.PublicKey("6NSu2tci4apRKQtt257bAVcvqYjB3zV2H1dWo56vgpa6");
8
8
  const getTokenInfoFromMint = async (connection, mint) => {
9
9
  const nameKey = await utils_1.getNameAccountKey(await utils_1.getHashedName(mint.toBase58()), undefined, exports.TOKEN_TLD);
10
- const registry = await state_1.NameRegistryState.retrieve(connection, nameKey);
10
+ const { registry } = await state_1.NameRegistryState.retrieve(connection, nameKey);
11
11
  if (!registry.data) {
12
12
  throw new Error("Invalid account data");
13
13
  }
@@ -16,7 +16,7 @@ const getTokenInfoFromMint = async (connection, mint) => {
16
16
  exports.getTokenInfoFromMint = getTokenInfoFromMint;
17
17
  const getTokenInfoFromName = async (connection, name) => {
18
18
  const reverseNameKey = await utils_1.getNameAccountKey(await utils_1.getHashedName(name), undefined, exports.TOKEN_TLD);
19
- const reverseRegistry = await state_1.NameRegistryState.retrieve(connection, reverseNameKey);
19
+ const { registry: reverseRegistry } = await state_1.NameRegistryState.retrieve(connection, reverseNameKey);
20
20
  if (!reverseRegistry.data) {
21
21
  throw new Error("Invalid account data");
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAA,6CAAwD;AACxD,mCAA2D;AAC3D,mCAA6D;AAEhD,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC;AAEK,MAAM,oBAAoB,GAAG,KAAK,EACvC,UAAsB,EACtB,IAAe,EACf,EAAE;IACF,MAAM,OAAO,GAAG,MAAM,yBAAiB,CACrC,MAAM,qBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EACpC,SAAS,EACT,iBAAS,CACV,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,yBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACvE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IACD,OAAO,iBAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B;AAEK,MAAM,oBAAoB,GAAG,KAAK,EACvC,UAAsB,EACtB,IAAY,EACZ,EAAE;IACF,MAAM,cAAc,GAAG,MAAM,yBAAiB,CAC5C,MAAM,qBAAa,CAAC,IAAI,CAAC,EACzB,SAAS,EACT,iBAAS,CACV,CAAC;IACF,MAAM,eAAe,GAAG,MAAM,yBAAiB,CAAC,QAAQ,CACtD,UAAU,EACV,cAAc,CACf,CAAC;IACF,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IACD,MAAM,IAAI,GAAG,IAAI,mBAAS,CAAC,YAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACxE,OAAO,MAAM,4BAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC,CAAC;AAlBW,QAAA,oBAAoB,wBAkB/B"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAA,6CAAwD;AACxD,mCAA2D;AAC3D,mCAA6D;AAEhD,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC;AAEK,MAAM,oBAAoB,GAAG,KAAK,EACvC,UAAsB,EACtB,IAAe,EACf,EAAE;IACF,MAAM,OAAO,GAAG,MAAM,yBAAiB,CACrC,MAAM,qBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EACpC,SAAS,EACT,iBAAS,CACV,CAAC;IACF,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,yBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IACD,OAAO,iBAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B;AAEK,MAAM,oBAAoB,GAAG,KAAK,EACvC,UAAsB,EACtB,IAAY,EACZ,EAAE;IACF,MAAM,cAAc,GAAG,MAAM,yBAAiB,CAC5C,MAAM,qBAAa,CAAC,IAAI,CAAC,EACzB,SAAS,EACT,iBAAS,CACV,CAAC;IACF,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,yBAAiB,CAAC,QAAQ,CACpE,UAAU,EACV,cAAc,CACf,CAAC;IACF,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IACD,MAAM,IAAI,GAAG,IAAI,mBAAS,CAAC,YAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACxE,OAAO,MAAM,4BAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC,CAAC;AAlBW,QAAA,oBAAoB,wBAkB/B"}
@@ -92,7 +92,7 @@ exports.getTwitterRegistryKey = getTwitterRegistryKey;
92
92
  async function getTwitterRegistry(connection, twitter_handle) {
93
93
  const hashedTwitterHandle = await utils_1.getHashedName(twitter_handle);
94
94
  const twitterHandleRegistryKey = await utils_1.getNameAccountKey(hashedTwitterHandle, undefined, exports.TWITTER_ROOT_PARENT_REGISTRY_KEY);
95
- const registry = state_1.NameRegistryState.retrieve(connection, twitterHandleRegistryKey);
95
+ const { registry } = await state_1.NameRegistryState.retrieve(connection, twitterHandleRegistryKey);
96
96
  return registry;
97
97
  }
98
98
  exports.getTwitterRegistry = getTwitterRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"twitter_bindings.js","sourceRoot":"","sources":["../src/twitter_bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"twitter_bindings.js","sourceRoot":"","sources":["../src/twitter_bindings.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -26,7 +26,10 @@ export declare class Numberu64 extends BN {
26
26
  export declare const signAndSendTransactionInstructions: (connection: Connection, signers: Array<Keypair>, feePayer: Keypair, txInstructions: Array<TransactionInstruction>) => Promise<string>;
27
27
  export declare function getHashedName(name: string): Promise<Buffer>;
28
28
  export declare function getNameAccountKey(hashed_name: Buffer, nameClass?: PublicKey, nameParent?: PublicKey): Promise<PublicKey>;
29
- export declare function getNameOwner(connection: Connection, nameAccountKey: PublicKey): Promise<NameRegistryState>;
29
+ export declare function getNameOwner(connection: Connection, nameAccountKey: PublicKey): Promise<{
30
+ registry: NameRegistryState;
31
+ nftOwner: PublicKey | undefined;
32
+ }>;
30
33
  export declare function getFilteredProgramAccounts(connection: Connection, programId: PublicKey, filters: any): Promise<{
31
34
  publicKey: PublicKey;
32
35
  accountInfo: AccountInfo<Buffer>;
package/dist/utils.js CHANGED
@@ -126,19 +126,19 @@ async function getFilteredProgramAccounts(connection, programId, filters) {
126
126
  }
127
127
  exports.getFilteredProgramAccounts = getFilteredProgramAccounts;
128
128
  async function performReverseLookup(connection, nameAccount) {
129
- let hashedReverseLookup = await getHashedName(nameAccount.toBase58());
130
- let reverseLookupAccount = await getNameAccountKey(hashedReverseLookup, exports.REVERSE_LOOKUP_CLASS);
131
- let name = await state_1.NameRegistryState.retrieve(connection, reverseLookupAccount);
132
- if (!name.data) {
129
+ const hashedReverseLookup = await getHashedName(nameAccount.toBase58());
130
+ const reverseLookupAccount = await getNameAccountKey(hashedReverseLookup, exports.REVERSE_LOOKUP_CLASS);
131
+ const { registry } = await state_1.NameRegistryState.retrieve(connection, reverseLookupAccount);
132
+ if (!registry.data) {
133
133
  throw "Could not retrieve name data";
134
134
  }
135
- let nameLength = new bn_js_1.default(name.data.slice(0, 4), "le").toNumber();
136
- return name.data.slice(4, 4 + nameLength).toString();
135
+ const nameLength = new bn_js_1.default(registry.data.slice(0, 4), "le").toNumber();
136
+ return registry.data.slice(4, 4 + nameLength).toString();
137
137
  }
138
138
  exports.performReverseLookup = performReverseLookup;
139
139
  async function getDNSRecordAddress(nameAccount, type) {
140
- let hashedName = await getHashedName("\0".concat(type));
141
- let recordAccount = await getNameAccountKey(hashedName, undefined, nameAccount);
140
+ const hashedName = await getHashedName("\0".concat(type));
141
+ const recordAccount = await getNameAccountKey(hashedName, undefined, nameAccount);
142
142
  return recordAccount;
143
143
  }
144
144
  exports.getDNSRecordAddress = getDNSRecordAddress;
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonfida/spl-name-service",
3
- "version": "0.1.25",
3
+ "version": "0.1.26",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,7 +10,7 @@
10
10
  "types": "dist/index.d.ts",
11
11
  "scripts": {
12
12
  "dev": "tsc && node --trace-warnings dist/test.js",
13
- "build": "tsc",
13
+ "build": "rm -rf dist && tsc",
14
14
  "prepublish": "tsc",
15
15
  "lint": "yarn pretty && eslint .",
16
16
  "lint:fix": "yarn pretty:fix && eslint . --fix",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@project-serum/sol-wallet-adapter": "^0.1.5",
38
- "@solana/spl-token": "0.1.3",
38
+ "@solana/spl-token": "0.2.0",
39
39
  "@solana/web3.js": "^1.29.2",
40
40
  "bip32": "^2.0.6",
41
41
  "bn.js": "^5.1.3",
package/src/bindings.ts CHANGED
@@ -64,7 +64,10 @@ export async function createNameRegistry(
64
64
 
65
65
  let nameParentOwner: PublicKey | undefined;
66
66
  if (parentName) {
67
- const parentAccount = await getNameOwner(connection, parentName);
67
+ const { registry: parentAccount } = await getNameOwner(
68
+ connection,
69
+ parentName
70
+ );
68
71
  nameParentOwner = parentAccount.owner;
69
72
  }
70
73
 
@@ -117,7 +120,7 @@ export async function updateNameRegistryData(
117
120
  signer = nameClass;
118
121
  } else {
119
122
  signer = (await NameRegistryState.retrieve(connection, nameAccountKey))
120
- .owner;
123
+ .registry.owner;
121
124
  }
122
125
 
123
126
  const updateInstr = updateInstruction(
@@ -148,8 +151,7 @@ export async function transferNameOwnership(
148
151
  name: string,
149
152
  newOwner: PublicKey,
150
153
  nameClass?: PublicKey,
151
- nameParent?: PublicKey,
152
- parentOwner?: PublicKey
154
+ nameParent?: PublicKey
153
155
  ): Promise<TransactionInstruction> {
154
156
  const hashed_name = await getHashedName(name);
155
157
  const nameAccountKey = await getNameAccountKey(
@@ -164,16 +166,15 @@ export async function transferNameOwnership(
164
166
  } else {
165
167
  curentNameOwner = (
166
168
  await NameRegistryState.retrieve(connection, nameAccountKey)
167
- ).owner;
169
+ ).registry.owner;
168
170
  }
169
171
 
170
172
  const transferInstr = transferInstruction(
171
173
  NAME_PROGRAM_ID,
172
174
  nameAccountKey,
173
175
  newOwner,
174
- !!parentOwner ? parentOwner : curentNameOwner,
175
- nameClass,
176
- !!parentOwner ? nameParent : undefined
176
+ curentNameOwner,
177
+ nameClass
177
178
  );
178
179
 
179
180
  return transferInstr;
@@ -208,7 +209,7 @@ export async function deleteNameRegistry(
208
209
  nameOwner = nameClass;
209
210
  } else {
210
211
  nameOwner = (await NameRegistryState.retrieve(connection, nameAccountKey))
211
- .owner;
212
+ .registry.owner;
212
213
  }
213
214
 
214
215
  const changeAuthoritiesInstr = deleteInstruction(
package/src/index.ts CHANGED
@@ -5,3 +5,4 @@ export * from "./twitter_bindings";
5
5
  export * from "./tokens";
6
6
  export * from "./utils";
7
7
  export * from "./instructions";
8
+ export * from "./nft";
@@ -131,8 +131,7 @@ export function transferInstruction(
131
131
  nameAccountKey: PublicKey,
132
132
  newOwnerKey: PublicKey,
133
133
  currentNameOwnerKey: PublicKey,
134
- nameClassKey?: PublicKey,
135
- nameParent?: PublicKey
134
+ nameClassKey?: PublicKey
136
135
  ): TransactionInstruction {
137
136
  const buffers = [Buffer.from(Int8Array.from([2])), newOwnerKey.toBuffer()];
138
137
 
@@ -159,19 +158,6 @@ export function transferInstruction(
159
158
  });
160
159
  }
161
160
 
162
- if (nameParent) {
163
- keys.push({
164
- pubkey: PublicKey.default,
165
- isSigner: false,
166
- isWritable: false,
167
- });
168
- keys.push({
169
- pubkey: nameParent,
170
- isSigner: false,
171
- isWritable: false,
172
- });
173
- }
174
-
175
161
  return new TransactionInstruction({
176
162
  keys,
177
163
  programId: nameProgramId,
package/src/nft.ts ADDED
@@ -0,0 +1,80 @@
1
+ import { PublicKey, Connection } from "@solana/web3.js";
2
+ import { getMint } from "@solana/spl-token";
3
+
4
+ /**
5
+ * Mainnet program ID
6
+ */
7
+ export const NAME_TOKENIZER_ID = new PublicKey(
8
+ "nftD3vbNkNqfj2Sd3HZwbpw4BxxKWr4AjGb9X38JeZk"
9
+ );
10
+
11
+ /**
12
+ * PDA prefix
13
+ */
14
+ export const MINT_PREFIX = Buffer.from("tokenized_name");
15
+
16
+ /**
17
+ * This function can be used to retrieve the owner of a tokenized domain name
18
+ *
19
+ * @param connection The solana connection object to the RPC node
20
+ * @param nameAccount The key of the domain name
21
+ * @returns
22
+ */
23
+ export const retrieveNftOwner = async (
24
+ connection: Connection,
25
+ nameAccount: PublicKey
26
+ ) => {
27
+ try {
28
+ const [mint] = await PublicKey.findProgramAddress(
29
+ [MINT_PREFIX, nameAccount.toBuffer()],
30
+ NAME_TOKENIZER_ID
31
+ );
32
+
33
+ const mintInfo = await getMint(connection, mint);
34
+ if (mintInfo.supply.toString() === "0") {
35
+ return undefined;
36
+ }
37
+
38
+ const { value } = await connection.getTokenLargestAccounts(mint);
39
+
40
+ const holder = value.find((e) => e.amount === "1")?.address;
41
+ if (!holder) {
42
+ return undefined;
43
+ }
44
+
45
+ const info = await connection.getAccountInfo(holder);
46
+ if (!info || !info.data) {
47
+ return undefined;
48
+ }
49
+
50
+ return new PublicKey(info.data.slice(32, 64));
51
+ } catch (err) {
52
+ console.log(err);
53
+ return undefined;
54
+ }
55
+ };
56
+
57
+ /**
58
+ * This function can be used to retrieve all the tokenized domains name
59
+ *
60
+ * @param connection The solana connection object to the RPC node
61
+ * @returns
62
+ */
63
+ export const retrieveNfts = async (connection: Connection) => {
64
+ const filters = [
65
+ {
66
+ memcmp: {
67
+ offset: 0,
68
+ bytes: "3",
69
+ },
70
+ },
71
+ ];
72
+
73
+ const result = await connection.getProgramAccounts(NAME_TOKENIZER_ID, {
74
+ filters,
75
+ });
76
+ const offset = 1 + 1 + 32 + 32;
77
+ return result.map(
78
+ (e) => new PublicKey(e.account.data.slice(offset, offset + 32))
79
+ );
80
+ };
package/src/state.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Connection, PublicKey } from "@solana/web3.js";
2
2
  import { deserializeUnchecked, Schema, serialize } from "borsh";
3
+ import { retrieveNftOwner } from "./nft";
3
4
 
4
5
  export class NameRegistryState {
5
6
  static HEADER_LEN = 96;
@@ -34,11 +35,8 @@ export class NameRegistryState {
34
35
  public static async retrieve(
35
36
  connection: Connection,
36
37
  nameAccountKey: PublicKey
37
- ): Promise<NameRegistryState> {
38
- let nameAccount = await connection.getAccountInfo(
39
- nameAccountKey,
40
- "processed"
41
- );
38
+ ) {
39
+ const nameAccount = await connection.getAccountInfo(nameAccountKey);
42
40
  if (!nameAccount) {
43
41
  throw new Error("Invalid name account provided");
44
42
  }
@@ -51,7 +49,9 @@ export class NameRegistryState {
51
49
 
52
50
  res.data = nameAccount.data?.slice(this.HEADER_LEN);
53
51
 
54
- return res;
52
+ const nftOwner = await retrieveNftOwner(connection, nameAccountKey);
53
+
54
+ return { registry: res, nftOwner };
55
55
  }
56
56
 
57
57
  static async _retrieveBatch(
package/src/tokens.ts CHANGED
@@ -15,7 +15,7 @@ export const getTokenInfoFromMint = async (
15
15
  undefined,
16
16
  TOKEN_TLD
17
17
  );
18
- const registry = await NameRegistryState.retrieve(connection, nameKey);
18
+ const { registry } = await NameRegistryState.retrieve(connection, nameKey);
19
19
  if (!registry.data) {
20
20
  throw new Error("Invalid account data");
21
21
  }
@@ -31,7 +31,7 @@ export const getTokenInfoFromName = async (
31
31
  undefined,
32
32
  TOKEN_TLD
33
33
  );
34
- const reverseRegistry = await NameRegistryState.retrieve(
34
+ const { registry: reverseRegistry } = await NameRegistryState.retrieve(
35
35
  connection,
36
36
  reverseNameKey
37
37
  );
@@ -238,7 +238,7 @@ export async function getTwitterRegistry(
238
238
  undefined,
239
239
  TWITTER_ROOT_PARENT_REGISTRY_KEY
240
240
  );
241
- const registry = NameRegistryState.retrieve(
241
+ const { registry } = await NameRegistryState.retrieve(
242
242
  connection,
243
243
  twitterHandleRegistryKey
244
244
  );
package/src/utils.ts CHANGED
@@ -128,7 +128,7 @@ export async function getNameAccountKey(
128
128
  export async function getNameOwner(
129
129
  connection: Connection,
130
130
  nameAccountKey: PublicKey
131
- ): Promise<NameRegistryState> {
131
+ ) {
132
132
  const nameAccount = await connection.getAccountInfo(nameAccountKey);
133
133
  if (!nameAccount) {
134
134
  throw new Error("Unable to find the given account.");
@@ -164,26 +164,29 @@ export async function performReverseLookup(
164
164
  connection: Connection,
165
165
  nameAccount: PublicKey
166
166
  ): Promise<string> {
167
- let hashedReverseLookup = await getHashedName(nameAccount.toBase58());
168
- let reverseLookupAccount = await getNameAccountKey(
167
+ const hashedReverseLookup = await getHashedName(nameAccount.toBase58());
168
+ const reverseLookupAccount = await getNameAccountKey(
169
169
  hashedReverseLookup,
170
170
  REVERSE_LOOKUP_CLASS
171
171
  );
172
172
 
173
- let name = await NameRegistryState.retrieve(connection, reverseLookupAccount);
174
- if (!name.data) {
173
+ const { registry } = await NameRegistryState.retrieve(
174
+ connection,
175
+ reverseLookupAccount
176
+ );
177
+ if (!registry.data) {
175
178
  throw "Could not retrieve name data";
176
179
  }
177
- let nameLength = new BN(name.data.slice(0, 4), "le").toNumber();
178
- return name.data.slice(4, 4 + nameLength).toString();
180
+ const nameLength = new BN(registry.data.slice(0, 4), "le").toNumber();
181
+ return registry.data.slice(4, 4 + nameLength).toString();
179
182
  }
180
183
 
181
184
  export async function getDNSRecordAddress(
182
185
  nameAccount: PublicKey,
183
186
  type: string
184
187
  ) {
185
- let hashedName = await getHashedName("\0".concat(type));
186
- let recordAccount = await getNameAccountKey(
188
+ const hashedName = await getHashedName("\0".concat(type));
189
+ const recordAccount = await getNameAccountKey(
187
190
  hashedName,
188
191
  undefined,
189
192
  nameAccount
package/dist/twitter.d.ts DELETED
@@ -1,15 +0,0 @@
1
- /// <reference types="node" />
2
- import { Connection, PublicKey, TransactionInstruction } from '@solana/web3.js';
3
- import { NameRegistryState } from './state';
4
- export declare const TWITTER_VERIFICATION_AUTHORITY: PublicKey;
5
- export declare const TWITTER_ROOT_PARENT_REGISTRY_KEY: PublicKey;
6
- export declare function createVerifiedTwitterRegistry(connection: Connection, twitterHandle: string, verifiedPubkey: PublicKey, space: number, // The space that the user will have to write data into the verified registry
7
- payerKey: PublicKey): Promise<TransactionInstruction[]>;
8
- export declare function changeTwitterRegistryData(twitterHandle: string, verifiedPubkey: PublicKey, offset: number, // The offset at which to write the input data into the NameRegistryData
9
- input_data: Buffer): Promise<TransactionInstruction[]>;
10
- export declare function changeVerifiedPubkey(connection: Connection, twitterHandle: string, currentVerifiedPubkey: PublicKey, newVerifiedPubkey: PublicKey, payerKey: PublicKey): Promise<TransactionInstruction[]>;
11
- export declare function deleteTwitterRegistry(twitterHandle: string, verifiedPubkey: PublicKey): Promise<TransactionInstruction[]>;
12
- export declare function getTwitterHandle(connection: Connection, verifiedPubkey: PublicKey): Promise<string>;
13
- export declare function getTwitterRegistryKey(twitter_handle: string): Promise<PublicKey>;
14
- export declare function getTwitterRegistry(connection: Connection, twitter_handle: string): Promise<NameRegistryState>;
15
- export declare function getTwitterRegistryData(connection: Connection, verifiedPubkey: PublicKey): Promise<Buffer>;
package/dist/twitter.js DELETED
@@ -1,147 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTwitterRegistryData = exports.getTwitterRegistry = exports.getTwitterRegistryKey = exports.getTwitterHandle = exports.deleteTwitterRegistry = exports.changeVerifiedPubkey = exports.changeTwitterRegistryData = exports.createVerifiedTwitterRegistry = exports.TWITTER_ROOT_PARENT_REGISTRY_KEY = exports.TWITTER_VERIFICATION_AUTHORITY = void 0;
4
- const web3_js_1 = require("@solana/web3.js");
5
- const bindings_1 = require("./bindings");
6
- const instructions_1 = require("./instructions");
7
- const state_1 = require("./state");
8
- const utils_1 = require("./utils");
9
- exports.TWITTER_VERIFICATION_AUTHORITY = new web3_js_1.PublicKey('867BLob5b52i81SNaV9Awm5ejkZV6VGSv9SxLcwukDDJ');
10
- // The address of the name registry that will be a parent to all twitter handle registries,
11
- // it should be owned by the TWITTER_VERIFICATION_AUTHORITY and it's name is irrelevant
12
- exports.TWITTER_ROOT_PARENT_REGISTRY_KEY = new web3_js_1.PublicKey('AFrGkxNmVLBn3mKhvfJJABvm8RJkTtRhHDoaF97pQZaA');
13
- // Signed by the authority and the payer
14
- async function createVerifiedTwitterRegistry(connection, twitterHandle, verifiedPubkey, space, // The space that the user will have to write data into the verified registry
15
- payerKey) {
16
- const hashedTwitterHandle = await utils_1.getHashedName(twitterHandle);
17
- const twitterHandleRegistryKey = await utils_1.getNameAccountKey(hashedTwitterHandle, undefined, exports.TWITTER_ROOT_PARENT_REGISTRY_KEY);
18
- const hashedVerifiedPubkey = await utils_1.getHashedName(verifiedPubkey.toString().concat(twitterHandle));
19
- const reverseRegistryKey = await utils_1.getNameAccountKey(hashedVerifiedPubkey, exports.TWITTER_VERIFICATION_AUTHORITY, undefined);
20
- space += 96; // Accounting for the Registry State Header
21
- const instructions = [
22
- // Create user facing registry
23
- instructions_1.createInstruction(bindings_1.NAME_PROGRAM_ID, web3_js_1.SystemProgram.programId, twitterHandleRegistryKey, verifiedPubkey, payerKey, hashedTwitterHandle, new utils_1.Numberu64(await connection.getMinimumBalanceForRentExemption(space)), new utils_1.Numberu32(space), undefined, exports.TWITTER_ROOT_PARENT_REGISTRY_KEY, exports.TWITTER_VERIFICATION_AUTHORITY // Twitter authority acts as owner of the parent for all user-facing registries
24
- ),
25
- // Create reverse lookup registry
26
- instructions_1.createInstruction(bindings_1.NAME_PROGRAM_ID, web3_js_1.SystemProgram.programId, reverseRegistryKey, verifiedPubkey, payerKey, hashedVerifiedPubkey, new utils_1.Numberu64(await connection.getMinimumBalanceForRentExemption(96 + 18)), new utils_1.Numberu32(96 + 18), // maximum length of a twitter handle
27
- exports.TWITTER_VERIFICATION_AUTHORITY, // Twitter authority acts as class for all reverse-lookup registries
28
- undefined, undefined),
29
- // Write the twitter handle into the reverse lookup registry
30
- instructions_1.updateInstruction(bindings_1.NAME_PROGRAM_ID, reverseRegistryKey, new utils_1.Numberu32(0), Buffer.from(twitterHandle), exports.TWITTER_VERIFICATION_AUTHORITY),
31
- ];
32
- return instructions;
33
- }
34
- exports.createVerifiedTwitterRegistry = createVerifiedTwitterRegistry;
35
- // Overwrite the data that is written in the user facing registry
36
- // Signed by the verified pubkey
37
- async function changeTwitterRegistryData(twitterHandle, verifiedPubkey, offset, // The offset at which to write the input data into the NameRegistryData
38
- input_data) {
39
- const hashedTwitterHandle = await utils_1.getHashedName(twitterHandle);
40
- const twitterHandleRegistryKey = await utils_1.getNameAccountKey(hashedTwitterHandle, undefined, exports.TWITTER_ROOT_PARENT_REGISTRY_KEY);
41
- const instructions = [
42
- instructions_1.updateInstruction(bindings_1.NAME_PROGRAM_ID, twitterHandleRegistryKey, new utils_1.Numberu32(offset), input_data, verifiedPubkey),
43
- ];
44
- return instructions;
45
- }
46
- exports.changeTwitterRegistryData = changeTwitterRegistryData;
47
- // Change the verified pubkey for a given twitter handle
48
- // Signed by the Authority, the verified pubkey and the payer
49
- async function changeVerifiedPubkey(connection, twitterHandle, currentVerifiedPubkey, newVerifiedPubkey, payerKey) {
50
- const hashedTwitterHandle = await utils_1.getHashedName(twitterHandle);
51
- const twitterHandleRegistryKey = await utils_1.getNameAccountKey(hashedTwitterHandle, undefined, exports.TWITTER_ROOT_PARENT_REGISTRY_KEY);
52
- const currentHashedVerifiedPubkey = await utils_1.getHashedName(currentVerifiedPubkey.toString().concat(twitterHandle));
53
- const currentReverseRegistryKey = await utils_1.getNameAccountKey(currentHashedVerifiedPubkey, exports.TWITTER_VERIFICATION_AUTHORITY, undefined);
54
- const newHashedVerifiedPubkey = await utils_1.getHashedName(newVerifiedPubkey.toString().concat(twitterHandle));
55
- const newReverseRegistryKey = await utils_1.getNameAccountKey(newHashedVerifiedPubkey, exports.TWITTER_VERIFICATION_AUTHORITY, undefined);
56
- const instructions = [
57
- // Transfer the user-facing registry ownership
58
- instructions_1.transferInstruction(bindings_1.NAME_PROGRAM_ID, twitterHandleRegistryKey, newVerifiedPubkey, currentVerifiedPubkey, undefined),
59
- // Delete the current reverse registry
60
- instructions_1.deleteInstruction(bindings_1.NAME_PROGRAM_ID, currentReverseRegistryKey, payerKey, currentVerifiedPubkey),
61
- // Create the new reverse lookup registry
62
- instructions_1.createInstruction(bindings_1.NAME_PROGRAM_ID, web3_js_1.SystemProgram.programId, newReverseRegistryKey, exports.TWITTER_VERIFICATION_AUTHORITY, payerKey, newHashedVerifiedPubkey, new utils_1.Numberu64(await connection.getMinimumBalanceForRentExemption(18)), new utils_1.Numberu32(18), // maximum length of a twitter handle
63
- exports.TWITTER_VERIFICATION_AUTHORITY, // Twitter authority acts as class for all reverse-lookup registries
64
- undefined, undefined),
65
- // Write the twitter handle into the new reverse lookup registry
66
- instructions_1.updateInstruction(bindings_1.NAME_PROGRAM_ID, newReverseRegistryKey, new utils_1.Numberu32(0), Buffer.from(twitterHandle), exports.TWITTER_VERIFICATION_AUTHORITY),
67
- ];
68
- return instructions;
69
- }
70
- exports.changeVerifiedPubkey = changeVerifiedPubkey;
71
- // Delete the verified registry for a given twitter handle
72
- // Signed by the verified pubkey
73
- async function deleteTwitterRegistry(twitterHandle, verifiedPubkey) {
74
- const hashedTwitterHandle = await utils_1.getHashedName(twitterHandle);
75
- const twitterHandleRegistryKey = await utils_1.getNameAccountKey(hashedTwitterHandle, undefined, exports.TWITTER_ROOT_PARENT_REGISTRY_KEY);
76
- const hashedVerifiedPubkey = await utils_1.getHashedName(verifiedPubkey.toString().concat(twitterHandle));
77
- const reverseRegistryKey = await utils_1.getNameAccountKey(hashedVerifiedPubkey, exports.TWITTER_VERIFICATION_AUTHORITY, undefined);
78
- const instructions = [
79
- // Delete the user facing registry
80
- instructions_1.deleteInstruction(bindings_1.NAME_PROGRAM_ID, twitterHandleRegistryKey, verifiedPubkey, verifiedPubkey),
81
- // Delete the reverse registry
82
- instructions_1.deleteInstruction(bindings_1.NAME_PROGRAM_ID, reverseRegistryKey, verifiedPubkey, verifiedPubkey),
83
- ];
84
- return instructions;
85
- }
86
- exports.deleteTwitterRegistry = deleteTwitterRegistry;
87
- async function getTwitterHandle(connection, verifiedPubkey) {
88
- const filters = [
89
- {
90
- memcmp: {
91
- offset: 32,
92
- bytes: verifiedPubkey.toBase58(),
93
- },
94
- },
95
- {
96
- memcmp: {
97
- offset: bindings_1.VERIFICATION_AUTHORITY_OFFSET,
98
- bytes: exports.TWITTER_VERIFICATION_AUTHORITY.toBase58(),
99
- },
100
- },
101
- ];
102
- const filteredAccounts = await utils_1.getFilteredProgramAccounts(connection, bindings_1.NAME_PROGRAM_ID, filters);
103
- for (const f of filteredAccounts) {
104
- if (f.accountInfo.data.length == 114) {
105
- return f.accountInfo.data.slice(96, 114).toString();
106
- }
107
- }
108
- throw 'Could not find the twitter handle';
109
- }
110
- exports.getTwitterHandle = getTwitterHandle;
111
- // Returns the key of the user-facing registry
112
- async function getTwitterRegistryKey(twitter_handle) {
113
- const hashedTwitterHandle = await utils_1.getHashedName(twitter_handle);
114
- return await utils_1.getNameAccountKey(hashedTwitterHandle, undefined, exports.TWITTER_ROOT_PARENT_REGISTRY_KEY);
115
- }
116
- exports.getTwitterRegistryKey = getTwitterRegistryKey;
117
- async function getTwitterRegistry(connection, twitter_handle) {
118
- const hashedTwitterHandle = await utils_1.getHashedName(twitter_handle);
119
- const twitterHandleRegistryKey = await utils_1.getNameAccountKey(hashedTwitterHandle, undefined, exports.TWITTER_ROOT_PARENT_REGISTRY_KEY);
120
- const registry = state_1.NameRegistryState.retrieve(connection, twitterHandleRegistryKey);
121
- return registry;
122
- }
123
- exports.getTwitterRegistry = getTwitterRegistry;
124
- async function getTwitterRegistryData(connection, verifiedPubkey) {
125
- // Does not give you the name, but is faster than getTwitterHandle + getTwitterRegistry to get the data
126
- const filters = [
127
- {
128
- memcmp: {
129
- offset: 0,
130
- bytes: exports.TWITTER_ROOT_PARENT_REGISTRY_KEY.toBytes(),
131
- },
132
- },
133
- {
134
- memcmp: {
135
- offset: 32,
136
- bytes: verifiedPubkey.toBytes(),
137
- },
138
- },
139
- ];
140
- const filteredAccounts = await utils_1.getFilteredProgramAccounts(connection, bindings_1.NAME_PROGRAM_ID, filters);
141
- if (filteredAccounts.length > 1) {
142
- throw 'Found more than one twitter handle';
143
- }
144
- return filteredAccounts[0].accountInfo.data;
145
- }
146
- exports.getTwitterRegistryData = getTwitterRegistryData;
147
- //# sourceMappingURL=twitter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"twitter.js","sourceRoot":"","sources":["../src/twitter.ts"],"names":[],"mappings":"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"}