@reyaxyz/community-sdk 0.46.7 → 0.47.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.
@@ -70,28 +70,52 @@ var SbtModule = /** @class */ (function (_super) {
70
70
  }
71
71
  // WRITE
72
72
  SbtModule.prototype.mint = function (params) {
73
+ var _a, _b;
73
74
  return __awaiter(this, void 0, void 0, function () {
74
- var _a, signature, signatureDeadline, sbtRoot, mintUri, result, _b, _c, response;
75
- var _d;
76
- return __generator(this, function (_e) {
77
- switch (_e.label) {
78
- case 0: return [4 /*yield*/, (0, signMintTx_1.signMint)(params)];
75
+ var owner, userRoot, userRootUri, e_1, network, reyaChainId, _c, signature, signatureDeadline, sbtRoot, mintUri, result, _d, _e, response;
76
+ var _f;
77
+ return __generator(this, function (_g) {
78
+ switch (_g.label) {
79
+ case 0: return [4 /*yield*/, params.signer.getAddress()];
79
80
  case 1:
80
- _a = _e.sent(), signature = _a.signature, signatureDeadline = _a.deadline, sbtRoot = _a.sbtRoot;
81
+ owner = _g.sent();
82
+ userRoot = '';
83
+ _g.label = 2;
84
+ case 2:
85
+ _g.trys.push([2, 4, , 6]);
86
+ userRootUri = "/api/sbt/root/owner/".concat(owner, "/tokenCount/0");
87
+ return [4 /*yield*/, this.get(userRootUri)];
88
+ case 3:
89
+ userRoot = _g.sent();
90
+ return [3 /*break*/, 6];
91
+ case 4:
92
+ e_1 = _g.sent();
93
+ return [4 /*yield*/, ((_a = params.signer.provider) === null || _a === void 0 ? void 0 : _a.getNetwork())];
94
+ case 5:
95
+ network = _g.sent();
96
+ if (!network) {
97
+ throw new Error('Mint failed. Network not found to get root.');
98
+ }
99
+ reyaChainId = Number(network.chainId);
100
+ userRoot = (_b = common_1.SBT_ROOT[reyaChainId]) !== null && _b !== void 0 ? _b : '';
101
+ return [3 /*break*/, 6];
102
+ case 6: return [4 /*yield*/, (0, signMintTx_1.signMint)(params, userRoot)];
103
+ case 7:
104
+ _c = _g.sent(), signature = _c.signature, signatureDeadline = _c.deadline, sbtRoot = _c.sbtRoot;
81
105
  mintUri = "/api/sbt/mint";
82
- _b = this.put;
83
- _c = [mintUri,
106
+ _d = this.put;
107
+ _e = [mintUri,
84
108
  {}];
85
- _d = {};
109
+ _f = {};
86
110
  return [4 /*yield*/, params.signer.getAddress()];
87
- case 2: return [4 /*yield*/, _b.apply(this, _c.concat([(_d.owner = _e.sent(),
88
- _d.merkleRoot = sbtRoot,
89
- _d.tokenRootCounter = 0,
90
- _d.signature = signature,
91
- _d.signatureDeadline = signatureDeadline,
92
- _d)]))];
93
- case 3:
94
- result = _e.sent();
111
+ case 8: return [4 /*yield*/, _d.apply(this, _e.concat([(_f.owner = _g.sent(),
112
+ _f.merkleRoot = sbtRoot,
113
+ _f.tokenRootCounter = 0,
114
+ _f.signature = signature,
115
+ _f.signatureDeadline = signatureDeadline,
116
+ _f)]))];
117
+ case 9:
118
+ result = _g.sent();
95
119
  response = { transactionHash: result.txHash };
96
120
  return [2 /*return*/, response];
97
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["modules/sbt/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA6C;AAQ7C,oDAAiD;AACjD,0CAAmD;AAEnD;IAAuC,6BAAU;IAG/C,mBAAY,MAAc,EAAE,cAAuB;QACjD,YAAA,MAAK,YAAC,MAAM,CAAC,SAAC;QAHhB,oBAAc,GAAY,KAAK,CAAC;QAI9B,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;;IACvC,CAAC;IAED,QAAQ;IAEF,wBAAI,GAAJ,UAAK,MAAqB;;;;;;4BAK1B,qBAAM,IAAA,qBAAQ,EAAC,MAAM,CAAC,EAAA;;wBAJpB,KAIF,SAAsB,EAHb,SAAS,eAAA,EACV,iBAAiB,cAAA,EAClB,OAAO,aAAA;wBAGZ,OAAO,GAAG,eAAe,CAAC;wBACX,KAAA,IAAI,CAAC,GAAG,CAAA;8BAC3B,OAAO;4BACP,EAAE;;wBAEO,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;4BAJ5B,qBAAM,SAAA,IAAI,cAIrB,QAAK,GAAE,SAAgC;gCACvC,aAAU,GAAE,OAAO;gCACnB,mBAAgB,GAAE,CAAC;gCACnB,YAAS,GAAE,SAAS;gCACpB,oBAAiB,GAAE,iBAAiB;sCAEvC,EAAA;;wBAVK,MAAM,GAAG,SAUd;wBAEK,QAAQ,GAAkB,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;wBACnE,sBAAO,QAAQ,EAAC;;;;KACjB;IAED,OAAO;IAED,sCAAkB,GAAlB,UAAmB,MAA0B;;;;gBAC3C,GAAG,GAAG,qCAA8B,MAAM,CAAC,YAAY,kBAAe,CAAC;gBAC7E,sBAAO,IAAI,CAAC,GAAG,CAAqB,GAAG,CAAC,EAAC;;;KAC1C;IAGK,+BAAW,GAAX;;;;gBACE,GAAG,GAAG,eAAe,CAAC;gBAC5B,sBAAO,IAAI,CAAC,GAAG,CAAoB,GAAG,CAAC,EAAC;;;KACzC;IAnCK;QADL,IAAA,eAAM,EAAC,gBAAgB,CAAC;yCAuBxB;IAIK;QADL,IAAA,eAAM,EAAC,8BAA8B,CAAC;uDAItC;IAGK;QADL,IAAA,eAAM,EAAC,uBAAuB,CAAC;gDAI/B;IACH,gBAAC;CAAA,AA9CD,CAAuC,mBAAU,GA8ChD;kBA9CoB,SAAS","sourcesContent":["import { RestClient } from '@reyaxyz/common';\nimport {\n SbtMintResult,\n SbtMintParams,\n GetSbtMintedParams,\n GetSbtMintedResult,\n GetSbtsInfoResult,\n} from './types';\nimport { signMint } from './services/signMintTx';\nimport { Logger, Loggable } from '@reyaxyz/common';\n\nexport default class SbtModule extends RestClient implements Loggable {\n loggingEnabled: boolean = false;\n\n constructor(apiUrl: string, loggingEnabled: boolean) {\n super(apiUrl);\n this.loggingEnabled = loggingEnabled;\n }\n\n // WRITE\n @Logger('SbtModule.mint')\n async mint(params: SbtMintParams) {\n const {\n signature: signature,\n deadline: signatureDeadline,\n sbtRoot: sbtRoot,\n } = await signMint(params);\n\n const mintUri = `/api/sbt/mint`;\n const result = await this.put<{ txHash: string }>(\n mintUri,\n {},\n {\n owner: await params.signer.getAddress(),\n merkleRoot: sbtRoot,\n tokenRootCounter: 0, // hardcoded value for this batch\n signature: signature,\n signatureDeadline: signatureDeadline,\n },\n );\n\n const response: SbtMintResult = { transactionHash: result.txHash };\n return response;\n }\n\n // READ\n @Logger('SbtModule.getSbtMintedStatus')\n async getSbtMintedStatus(params: GetSbtMintedParams) {\n const uri = `/api/sbt/mint-status/owner/${params.ownerAddress}/tokenCount/0`;\n return this.get<GetSbtMintedResult>(uri);\n }\n\n @Logger('SbtModule.getSbtsInfo')\n async getSbtsInfo() {\n const uri = `/api/sbt/info`;\n return this.get<GetSbtsInfoResult>(uri);\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["modules/sbt/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAoE;AAQpE,oDAAiD;AACjD,0CAAmD;AAEnD;IAAuC,6BAAU;IAG/C,mBAAY,MAAc,EAAE,cAAuB;QACjD,YAAA,MAAK,YAAC,MAAM,CAAC,SAAC;QAHhB,oBAAc,GAAY,KAAK,CAAC;QAI9B,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;;IACvC,CAAC;IAED,QAAQ;IAEF,wBAAI,GAAJ,UAAK,MAAqB;;;;;;;4BAChB,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;wBAAxC,KAAK,GAAG,SAAgC;wBAE1C,QAAQ,GAAG,EAAE,CAAC;;;;wBAEV,WAAW,GAAG,8BAAuB,KAAK,kBAAe,CAAC;wBACrD,qBAAM,IAAI,CAAC,GAAG,CAAS,WAAW,CAAC,EAAA;;wBAA9C,QAAQ,GAAG,SAAmC,CAAC;;;;wBAE/B,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;wBAApD,OAAO,GAAG,SAA0C;wBAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;wBACjE,CAAC;wBACK,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAgB,CAAC;wBAC3D,QAAQ,GAAG,MAAA,iBAAQ,CAAC,WAAW,CAAC,mCAAI,EAAE,CAAC;;4BAOrC,qBAAM,IAAA,qBAAQ,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAA;;wBAJ9B,KAIF,SAAgC,EAHvB,SAAS,eAAA,EACV,iBAAiB,cAAA,EAClB,OAAO,aAAA;wBAGZ,OAAO,GAAG,eAAe,CAAC;wBACX,KAAA,IAAI,CAAC,GAAG,CAAA;8BAC3B,OAAO;4BACP,EAAE;;wBAEO,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;4BAJ5B,qBAAM,SAAA,IAAI,cAIrB,QAAK,GAAE,SAAgC;gCACvC,aAAU,GAAE,OAAO;gCACnB,mBAAgB,GAAE,CAAC;gCACnB,YAAS,GAAE,SAAS;gCACpB,oBAAiB,GAAE,iBAAiB;sCAEvC,EAAA;;wBAVK,MAAM,GAAG,SAUd;wBAEK,QAAQ,GAAkB,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;wBACnE,sBAAO,QAAQ,EAAC;;;;KACjB;IAED,OAAO;IAED,sCAAkB,GAAlB,UAAmB,MAA0B;;;;gBAC3C,GAAG,GAAG,qCAA8B,MAAM,CAAC,YAAY,kBAAe,CAAC;gBAC7E,sBAAO,IAAI,CAAC,GAAG,CAAqB,GAAG,CAAC,EAAC;;;KAC1C;IAGK,+BAAW,GAAX;;;;gBACE,GAAG,GAAG,eAAe,CAAC;gBAC5B,sBAAO,IAAI,CAAC,GAAG,CAAoB,GAAG,CAAC,EAAC;;;KACzC;IAlDK;QADL,IAAA,eAAM,EAAC,gBAAgB,CAAC;yCAsCxB;IAIK;QADL,IAAA,eAAM,EAAC,8BAA8B,CAAC;uDAItC;IAGK;QADL,IAAA,eAAM,EAAC,uBAAuB,CAAC;gDAI/B;IACH,gBAAC;CAAA,AA7DD,CAAuC,mBAAU,GA6DhD;kBA7DoB,SAAS","sourcesContent":["import { RestClient, ReyaChainId, SBT_ROOT } from '@reyaxyz/common';\nimport {\n SbtMintResult,\n SbtMintParams,\n GetSbtMintedParams,\n GetSbtMintedResult,\n GetSbtsInfoResult,\n} from './types';\nimport { signMint } from './services/signMintTx';\nimport { Logger, Loggable } from '@reyaxyz/common';\n\nexport default class SbtModule extends RestClient implements Loggable {\n loggingEnabled: boolean = false;\n\n constructor(apiUrl: string, loggingEnabled: boolean) {\n super(apiUrl);\n this.loggingEnabled = loggingEnabled;\n }\n\n // WRITE\n @Logger('SbtModule.mint')\n async mint(params: SbtMintParams) {\n const owner = await params.signer.getAddress();\n\n let userRoot = '';\n try {\n const userRootUri = `/api/sbt/root/owner/${owner}/tokenCount/0`;\n userRoot = await this.get<string>(userRootUri);\n } catch (e) {\n const network = await params.signer.provider?.getNetwork();\n if (!network) {\n throw new Error('Mint failed. Network not found to get root.');\n }\n const reyaChainId = Number(network.chainId) as ReyaChainId;\n userRoot = SBT_ROOT[reyaChainId] ?? '';\n }\n\n const {\n signature: signature,\n deadline: signatureDeadline,\n sbtRoot: sbtRoot,\n } = await signMint(params, userRoot);\n\n const mintUri = `/api/sbt/mint`;\n const result = await this.put<{ txHash: string }>(\n mintUri,\n {},\n {\n owner: await params.signer.getAddress(),\n merkleRoot: sbtRoot,\n tokenRootCounter: 0, // hardcoded value for this batch\n signature: signature,\n signatureDeadline: signatureDeadline,\n },\n );\n\n const response: SbtMintResult = { transactionHash: result.txHash };\n return response;\n }\n\n // READ\n @Logger('SbtModule.getSbtMintedStatus')\n async getSbtMintedStatus(params: GetSbtMintedParams) {\n const uri = `/api/sbt/mint-status/owner/${params.ownerAddress}/tokenCount/0`;\n return this.get<GetSbtMintedResult>(uri);\n }\n\n @Logger('SbtModule.getSbtsInfo')\n async getSbtsInfo() {\n const uri = `/api/sbt/info`;\n return this.get<GetSbtsInfoResult>(uri);\n }\n}\n"]}
@@ -38,8 +38,8 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.signMint = void 0;
40
40
  var common_1 = require("@reyaxyz/common");
41
- var signMint = function (params) { return __awaiter(void 0, void 0, void 0, function () {
42
- var network, reyaChainId, user, deadline, contractAddress, tokenRootCounter, sbtRoot, signature;
41
+ var signMint = function (params, sbtRoot) { return __awaiter(void 0, void 0, void 0, function () {
42
+ var network, reyaChainId, user, deadline, contractAddress, tokenRootCounter, signature;
43
43
  var _a;
44
44
  return __generator(this, function (_b) {
45
45
  switch (_b.label) {
@@ -59,7 +59,6 @@ var signMint = function (params) { return __awaiter(void 0, void 0, void 0, func
59
59
  deadline = Math.floor(Date.now() / 1000) + common_1.ONE_DAY_IN_SECONDS * 7;
60
60
  contractAddress = (0, common_1.getAddress)(reyaChainId, common_1.ContractType.REYA_SBTS);
61
61
  tokenRootCounter = 0;
62
- sbtRoot = (0, common_1.getSbtRoot)(reyaChainId);
63
62
  return [4 /*yield*/, (0, common_1.signSbtMint)(params.signer, reyaChainId, contractAddress, user, tokenRootCounter, sbtRoot, deadline)];
64
63
  case 3:
65
64
  signature = _b.sent();
@@ -1 +1 @@
1
- {"version":3,"file":"signMintTx.js","sourceRoot":"/","sources":["modules/sbt/services/signMintTx.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAOyB;AAElB,IAAM,QAAQ,GAAG,UACtB,MAAqB;;;;;oBAEL,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACrD,CAAC;gBACK,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAW,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC1C,CAAC;gBAEY,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;gBAAvC,IAAI,GAAG,SAAgC;gBACvC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,2BAAkB,GAAG,CAAC,CAAC;gBAElE,eAAe,GAAG,IAAA,mBAAU,EAAC,WAAW,EAAE,qBAAY,CAAC,SAAS,CAAC,CAAC;gBAElE,gBAAgB,GAAG,CAAC,CAAC;gBACrB,OAAO,GAAG,IAAA,mBAAU,EAAC,WAAW,CAAC,CAAC;gBACtB,qBAAM,IAAA,oBAAW,EACjC,MAAM,CAAC,MAAM,EACb,WAAW,EACX,eAAe,EACf,IAAI,EACJ,gBAAgB,EAChB,OAAO,EACP,QAAQ,CACT,EAAA;;gBARK,SAAS,GAAG,SAQjB;gBAED,sBAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAC;;;KACvE,CAAC;AA9BW,QAAA,QAAQ,YA8BnB","sourcesContent":["import { SbtMintParams, SignedSbtMintTx } from '../types';\nimport {\n ReyaChainId,\n signSbtMint,\n ONE_DAY_IN_SECONDS,\n getAddress,\n ContractType,\n getSbtRoot,\n} from '@reyaxyz/common';\n\nexport const signMint = async (\n params: SbtMintParams,\n): Promise<SignedSbtMintTx> => {\n const network = await params.signer.provider?.getNetwork();\n if (!network) {\n throw new Error('Mint failed. Network not found.');\n }\n const reyaChainId = Number(network.chainId);\n if (!Object.values(ReyaChainId).includes(reyaChainId)) {\n throw new Error('Not on Reya Network.');\n }\n\n const user = await params.signer.getAddress();\n const deadline = Math.floor(Date.now() / 1000) + ONE_DAY_IN_SECONDS * 7;\n\n const contractAddress = getAddress(reyaChainId, ContractType.REYA_SBTS);\n\n const tokenRootCounter = 0; // hardcoaded for this batch\n const sbtRoot = getSbtRoot(reyaChainId);\n const signature = await signSbtMint(\n params.signer,\n reyaChainId,\n contractAddress,\n user,\n tokenRootCounter,\n sbtRoot,\n deadline,\n );\n\n return { signature: signature, deadline: deadline, sbtRoot: sbtRoot };\n};\n"]}
1
+ {"version":3,"file":"signMintTx.js","sourceRoot":"/","sources":["modules/sbt/services/signMintTx.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAMyB;AAElB,IAAM,QAAQ,GAAG,UACtB,MAAqB,EACrB,OAAe;;;;;oBAEC,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACrD,CAAC;gBACK,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAW,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC1C,CAAC;gBAEY,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;gBAAvC,IAAI,GAAG,SAAgC;gBACvC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,2BAAkB,GAAG,CAAC,CAAC;gBAElE,eAAe,GAAG,IAAA,mBAAU,EAAC,WAAW,EAAE,qBAAY,CAAC,SAAS,CAAC,CAAC;gBAElE,gBAAgB,GAAG,CAAC,CAAC;gBACT,qBAAM,IAAA,oBAAW,EACjC,MAAM,CAAC,MAAM,EACb,WAAW,EACX,eAAe,EACf,IAAI,EACJ,gBAAgB,EAChB,OAAO,EACP,QAAQ,CACT,EAAA;;gBARK,SAAS,GAAG,SAQjB;gBAED,sBAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAC;;;KACvE,CAAC;AA9BW,QAAA,QAAQ,YA8BnB","sourcesContent":["import { SbtMintParams, SignedSbtMintTx } from '../types';\nimport {\n ReyaChainId,\n signSbtMint,\n ONE_DAY_IN_SECONDS,\n getAddress,\n ContractType,\n} from '@reyaxyz/common';\n\nexport const signMint = async (\n params: SbtMintParams,\n sbtRoot: string,\n): Promise<SignedSbtMintTx> => {\n const network = await params.signer.provider?.getNetwork();\n if (!network) {\n throw new Error('Mint failed. Network not found.');\n }\n const reyaChainId = Number(network.chainId);\n if (!Object.values(ReyaChainId).includes(reyaChainId)) {\n throw new Error('Not on Reya Network.');\n }\n\n const user = await params.signer.getAddress();\n const deadline = Math.floor(Date.now() / 1000) + ONE_DAY_IN_SECONDS * 7;\n\n const contractAddress = getAddress(reyaChainId, ContractType.REYA_SBTS);\n\n const tokenRootCounter = 0; // hardcoded for this batch\n const signature = await signSbtMint(\n params.signer,\n reyaChainId,\n contractAddress,\n user,\n tokenRootCounter,\n sbtRoot,\n deadline,\n );\n\n return { signature: signature, deadline: deadline, sbtRoot: sbtRoot };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["modules/sbt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAElB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAU,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,UAAW,YAAW,QAAQ;IACnE,cAAc,EAAE,OAAO,CAAS;gBAEpB,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO;IAO7C,IAAI,CAAC,MAAM,EAAE,aAAa;IA0B1B,kBAAkB,CAAC,MAAM,EAAE,kBAAkB;IAM7C,WAAW;CAIlB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["modules/sbt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAElB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAU,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,UAAW,YAAW,QAAQ;IACnE,cAAc,EAAE,OAAO,CAAS;gBAEpB,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO;IAO7C,IAAI,CAAC,MAAM,EAAE,aAAa;IAyC1B,kBAAkB,CAAC,MAAM,EAAE,kBAAkB;IAM7C,WAAW;CAIlB"}
@@ -1,3 +1,3 @@
1
1
  import { SbtMintParams, SignedSbtMintTx } from '../types';
2
- export declare const signMint: (params: SbtMintParams) => Promise<SignedSbtMintTx>;
2
+ export declare const signMint: (params: SbtMintParams, sbtRoot: string) => Promise<SignedSbtMintTx>;
3
3
  //# sourceMappingURL=signMintTx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signMintTx.d.ts","sourceRoot":"/","sources":["modules/sbt/services/signMintTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAU1D,eAAO,MAAM,QAAQ,WACX,aAAa,KACpB,QAAQ,eAAe,CA4BzB,CAAC"}
1
+ {"version":3,"file":"signMintTx.d.ts","sourceRoot":"/","sources":["modules/sbt/services/signMintTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAS1D,eAAO,MAAM,QAAQ,WACX,aAAa,WACZ,MAAM,KACd,QAAQ,eAAe,CA2BzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reyaxyz/community-sdk",
3
- "version": "0.46.7",
3
+ "version": "0.47.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -11,8 +11,8 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@gelatonetwork/relay-sdk": "^5.5.0",
14
- "@reyaxyz/common": "0.258.4",
15
- "@reyaxyz/sdk": "0.127.33",
14
+ "@reyaxyz/common": "0.260.0",
15
+ "@reyaxyz/sdk": "0.127.35",
16
16
  "ethers": "6.9.0"
17
17
  },
18
18
  "main": "dist/index.js",
@@ -39,5 +39,5 @@
39
39
  "generate:coverage-badges": "npx istanbul-badges-readme --silent"
40
40
  },
41
41
  "packageManager": "pnpm@8.3.1",
42
- "gitHead": "b8fb11e567c5d65a55b8061a907373410ad5b6d6"
42
+ "gitHead": "ae08cbb9d37ec11403c56a699824aeb4e12febb5"
43
43
  }
@@ -1,4 +1,4 @@
1
- import { RestClient } from '@reyaxyz/common';
1
+ import { RestClient, ReyaChainId, SBT_ROOT } from '@reyaxyz/common';
2
2
  import {
3
3
  SbtMintResult,
4
4
  SbtMintParams,
@@ -20,11 +20,26 @@ export default class SbtModule extends RestClient implements Loggable {
20
20
  // WRITE
21
21
  @Logger('SbtModule.mint')
22
22
  async mint(params: SbtMintParams) {
23
+ const owner = await params.signer.getAddress();
24
+
25
+ let userRoot = '';
26
+ try {
27
+ const userRootUri = `/api/sbt/root/owner/${owner}/tokenCount/0`;
28
+ userRoot = await this.get<string>(userRootUri);
29
+ } catch (e) {
30
+ const network = await params.signer.provider?.getNetwork();
31
+ if (!network) {
32
+ throw new Error('Mint failed. Network not found to get root.');
33
+ }
34
+ const reyaChainId = Number(network.chainId) as ReyaChainId;
35
+ userRoot = SBT_ROOT[reyaChainId] ?? '';
36
+ }
37
+
23
38
  const {
24
39
  signature: signature,
25
40
  deadline: signatureDeadline,
26
41
  sbtRoot: sbtRoot,
27
- } = await signMint(params);
42
+ } = await signMint(params, userRoot);
28
43
 
29
44
  const mintUri = `/api/sbt/mint`;
30
45
  const result = await this.put<{ txHash: string }>(
@@ -5,11 +5,11 @@ import {
5
5
  ONE_DAY_IN_SECONDS,
6
6
  getAddress,
7
7
  ContractType,
8
- getSbtRoot,
9
8
  } from '@reyaxyz/common';
10
9
 
11
10
  export const signMint = async (
12
11
  params: SbtMintParams,
12
+ sbtRoot: string,
13
13
  ): Promise<SignedSbtMintTx> => {
14
14
  const network = await params.signer.provider?.getNetwork();
15
15
  if (!network) {
@@ -25,8 +25,7 @@ export const signMint = async (
25
25
 
26
26
  const contractAddress = getAddress(reyaChainId, ContractType.REYA_SBTS);
27
27
 
28
- const tokenRootCounter = 0; // hardcoaded for this batch
29
- const sbtRoot = getSbtRoot(reyaChainId);
28
+ const tokenRootCounter = 0; // hardcoded for this batch
30
29
  const signature = await signSbtMint(
31
30
  params.signer,
32
31
  reyaChainId,