@sudobility/indexer_client 0.0.20

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 (114) hide show
  1. package/README.md +576 -0
  2. package/dist/business/index.d.ts +2 -0
  3. package/dist/business/index.d.ts.map +1 -0
  4. package/dist/business/index.js +2 -0
  5. package/dist/business/index.js.map +1 -0
  6. package/dist/business/indexer-service.d.ts +27 -0
  7. package/dist/business/indexer-service.d.ts.map +1 -0
  8. package/dist/business/indexer-service.js +74 -0
  9. package/dist/business/indexer-service.js.map +1 -0
  10. package/dist/hooks/index.d.ts +17 -0
  11. package/dist/hooks/index.d.ts.map +1 -0
  12. package/dist/hooks/index.js +17 -0
  13. package/dist/hooks/index.js.map +1 -0
  14. package/dist/hooks/mocks.d.ts +15 -0
  15. package/dist/hooks/mocks.d.ts.map +1 -0
  16. package/dist/hooks/mocks.js +163 -0
  17. package/dist/hooks/mocks.js.map +1 -0
  18. package/dist/hooks/useIndexerCreateNonce.d.ts +11 -0
  19. package/dist/hooks/useIndexerCreateNonce.d.ts.map +1 -0
  20. package/dist/hooks/useIndexerCreateNonce.js +34 -0
  21. package/dist/hooks/useIndexerCreateNonce.js.map +1 -0
  22. package/dist/hooks/useIndexerGetDelegatedFrom.d.ts +5 -0
  23. package/dist/hooks/useIndexerGetDelegatedFrom.d.ts.map +1 -0
  24. package/dist/hooks/useIndexerGetDelegatedFrom.js +15 -0
  25. package/dist/hooks/useIndexerGetDelegatedFrom.js.map +1 -0
  26. package/dist/hooks/useIndexerGetDelegatedTo.d.ts +5 -0
  27. package/dist/hooks/useIndexerGetDelegatedTo.d.ts.map +1 -0
  28. package/dist/hooks/useIndexerGetDelegatedTo.js +15 -0
  29. package/dist/hooks/useIndexerGetDelegatedTo.js.map +1 -0
  30. package/dist/hooks/useIndexerGetEntitlement.d.ts +5 -0
  31. package/dist/hooks/useIndexerGetEntitlement.d.ts.map +1 -0
  32. package/dist/hooks/useIndexerGetEntitlement.js +15 -0
  33. package/dist/hooks/useIndexerGetEntitlement.js.map +1 -0
  34. package/dist/hooks/useIndexerGetNonce.d.ts +5 -0
  35. package/dist/hooks/useIndexerGetNonce.d.ts.map +1 -0
  36. package/dist/hooks/useIndexerGetNonce.js +15 -0
  37. package/dist/hooks/useIndexerGetNonce.js.map +1 -0
  38. package/dist/hooks/useIndexerGetPointsBalance.d.ts +5 -0
  39. package/dist/hooks/useIndexerGetPointsBalance.d.ts.map +1 -0
  40. package/dist/hooks/useIndexerGetPointsBalance.js +15 -0
  41. package/dist/hooks/useIndexerGetPointsBalance.js.map +1 -0
  42. package/dist/hooks/useIndexerGetSigningMessage.d.ts +10 -0
  43. package/dist/hooks/useIndexerGetSigningMessage.d.ts.map +1 -0
  44. package/dist/hooks/useIndexerGetSigningMessage.js +39 -0
  45. package/dist/hooks/useIndexerGetSigningMessage.js.map +1 -0
  46. package/dist/hooks/useIndexerGetWalletAccounts.d.ts +5 -0
  47. package/dist/hooks/useIndexerGetWalletAccounts.d.ts.map +1 -0
  48. package/dist/hooks/useIndexerGetWalletAccounts.js +21 -0
  49. package/dist/hooks/useIndexerGetWalletAccounts.js.map +1 -0
  50. package/dist/hooks/useIndexerMail.d.ts +21 -0
  51. package/dist/hooks/useIndexerMail.d.ts.map +1 -0
  52. package/dist/hooks/useIndexerMail.js +257 -0
  53. package/dist/hooks/useIndexerMail.js.map +1 -0
  54. package/dist/hooks/useIndexerNameService.d.ts +6 -0
  55. package/dist/hooks/useIndexerNameService.d.ts.map +1 -0
  56. package/dist/hooks/useIndexerNameService.js +30 -0
  57. package/dist/hooks/useIndexerNameService.js.map +1 -0
  58. package/dist/hooks/useIndexerPoints.d.ts +12 -0
  59. package/dist/hooks/useIndexerPoints.d.ts.map +1 -0
  60. package/dist/hooks/useIndexerPoints.js +79 -0
  61. package/dist/hooks/useIndexerPoints.js.map +1 -0
  62. package/dist/hooks/useIndexerReferralCode.d.ts +12 -0
  63. package/dist/hooks/useIndexerReferralCode.d.ts.map +1 -0
  64. package/dist/hooks/useIndexerReferralCode.js +42 -0
  65. package/dist/hooks/useIndexerReferralCode.js.map +1 -0
  66. package/dist/hooks/useIndexerReferralConsumption.d.ts +9 -0
  67. package/dist/hooks/useIndexerReferralConsumption.d.ts.map +1 -0
  68. package/dist/hooks/useIndexerReferralConsumption.js +56 -0
  69. package/dist/hooks/useIndexerReferralConsumption.js.map +1 -0
  70. package/dist/hooks/useIndexerReferralStats.d.ts +11 -0
  71. package/dist/hooks/useIndexerReferralStats.d.ts.map +1 -0
  72. package/dist/hooks/useIndexerReferralStats.js +42 -0
  73. package/dist/hooks/useIndexerReferralStats.js.map +1 -0
  74. package/dist/hooks/useIndexerValidateUsername.d.ts +10 -0
  75. package/dist/hooks/useIndexerValidateUsername.d.ts.map +1 -0
  76. package/dist/hooks/useIndexerValidateUsername.js +34 -0
  77. package/dist/hooks/useIndexerValidateUsername.js.map +1 -0
  78. package/dist/index.d.ts +7 -0
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/index.js +5 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/network/IndexerClient.d.ts +78 -0
  83. package/dist/network/IndexerClient.d.ts.map +1 -0
  84. package/dist/network/IndexerClient.js +257 -0
  85. package/dist/network/IndexerClient.js.map +1 -0
  86. package/dist/network/index.d.ts +3 -0
  87. package/dist/network/index.d.ts.map +1 -0
  88. package/dist/network/index.js +2 -0
  89. package/dist/network/index.js.map +1 -0
  90. package/dist/types.d.ts +6 -0
  91. package/dist/types.d.ts.map +1 -0
  92. package/dist/types.js +2 -0
  93. package/dist/types.js.map +1 -0
  94. package/dist/utils/index.d.ts +5 -0
  95. package/dist/utils/index.d.ts.map +1 -0
  96. package/dist/utils/index.js +5 -0
  97. package/dist/utils/index.js.map +1 -0
  98. package/dist/utils/indexer-admin.d.ts +106 -0
  99. package/dist/utils/indexer-admin.d.ts.map +1 -0
  100. package/dist/utils/indexer-admin.js +112 -0
  101. package/dist/utils/indexer-admin.js.map +1 -0
  102. package/dist/utils/indexer-factory.d.ts +13 -0
  103. package/dist/utils/indexer-factory.d.ts.map +1 -0
  104. package/dist/utils/indexer-factory.js +24 -0
  105. package/dist/utils/indexer-factory.js.map +1 -0
  106. package/dist/utils/indexer-graphql.d.ts +152 -0
  107. package/dist/utils/indexer-graphql.d.ts.map +1 -0
  108. package/dist/utils/indexer-graphql.js +210 -0
  109. package/dist/utils/indexer-graphql.js.map +1 -0
  110. package/dist/utils/indexer-webhooks.d.ts +60 -0
  111. package/dist/utils/indexer-webhooks.d.ts.map +1 -0
  112. package/dist/utils/indexer-webhooks.js +68 -0
  113. package/dist/utils/indexer-webhooks.js.map +1 -0
  114. package/package.json +78 -0
@@ -0,0 +1,68 @@
1
+ const getIndexerBaseUrl = (config) => {
2
+ return config.indexerBackendUrl;
3
+ };
4
+ export class IndexerWebhookHelper {
5
+ constructor(config) {
6
+ this.config = config;
7
+ this.client = config.networkClient;
8
+ }
9
+ async processEmailSent(emailData) {
10
+ const response = await this.client.post(`${getIndexerBaseUrl(this.config)}/webhook/email-sent`, emailData);
11
+ if (!response.ok) {
12
+ throw new Error(response.data?.error ||
13
+ `HTTP error! status: ${response.status}`);
14
+ }
15
+ return response.data;
16
+ }
17
+ async processRecipientLogin(loginData) {
18
+ const response = await this.client.post(`${getIndexerBaseUrl(this.config)}/webhook/recipient-login`, loginData);
19
+ if (!response.ok) {
20
+ throw new Error(response.data?.error ||
21
+ `HTTP error! status: ${response.status}`);
22
+ }
23
+ return response.data;
24
+ }
25
+ async registerReferral(referralData) {
26
+ const response = await this.client.post(`${getIndexerBaseUrl(this.config)}/points/register-referral`, referralData);
27
+ if (!response.ok) {
28
+ throw new Error(response.data?.error ||
29
+ `HTTP error! status: ${response.status}`);
30
+ }
31
+ return response.data;
32
+ }
33
+ async processRefereeLogin(walletAddress, signature, message) {
34
+ const response = await this.client.post(`${getIndexerBaseUrl(this.config)}/points/referee-login`, {
35
+ walletAddress,
36
+ signature,
37
+ message,
38
+ });
39
+ if (!response.ok) {
40
+ throw new Error(response.data?.error ||
41
+ `HTTP error! status: ${response.status}`);
42
+ }
43
+ return response.data;
44
+ }
45
+ async processLogin(loginData) {
46
+ const response = await this.client.post(`${getIndexerBaseUrl(this.config)}/webhook/login`, loginData);
47
+ if (!response.ok) {
48
+ throw new Error(response.data?.error ||
49
+ `HTTP error! status: ${response.status}`);
50
+ }
51
+ return response.data.data;
52
+ }
53
+ async processSolanaWebhook(transactions) {
54
+ const response = await this.client.post(`${getIndexerBaseUrl(this.config)}/solana/webhook`, transactions);
55
+ if (!response.ok) {
56
+ throw new Error(response.data?.error ||
57
+ `HTTP error! status: ${response.status}`);
58
+ }
59
+ return response.data;
60
+ }
61
+ }
62
+ export const createIndexerWebhookHelper = (indexerBackendUrl, networkClient) => {
63
+ return new IndexerWebhookHelper({
64
+ indexerBackendUrl,
65
+ networkClient,
66
+ });
67
+ };
68
+ //# sourceMappingURL=indexer-webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer-webhooks.js","sourceRoot":"","sources":["../../src/utils/indexer-webhooks.ts"],"names":[],"mappings":"AA0DA,MAAM,iBAAiB,GAAG,CAAC,MAA4B,EAAU,EAAE;IACjE,OAAO,MAAM,CAAC,iBAAiB,CAAC;AAClC,CAAC,CAAC;AAMF,MAAM,OAAO,oBAAoB;IAI/B,YAAY,MAA4B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IACrC,CAAC;IAKD,KAAK,CAAC,gBAAgB,CACpB,SAA2B;QAE3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EACtD,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACZ,QAAQ,CAAC,IAAY,EAAE,KAAK;gBAC3B,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,IAAuB,CAAC;IAC1C,CAAC;IAMD,KAAK,CAAC,qBAAqB,CACzB,SAAgC;QAEhC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAC3D,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACZ,QAAQ,CAAC,IAAY,EAAE,KAAK;gBAC3B,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,IAAuB,CAAC;IAC1C,CAAC;IAMD,KAAK,CAAC,gBAAgB,CACpB,YAAyC;QAEzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAC5D,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACZ,QAAQ,CAAC,IAAY,EAAE,KAAK;gBAC3B,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,IAAuB,CAAC;IAC1C,CAAC;IAMD,KAAK,CAAC,mBAAmB,CACvB,aAAqB,EACrB,SAAiB,EACjB,OAAgB;QAEhB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EACxD;YACE,aAAa;YACb,SAAS;YACT,OAAO;SACR,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACZ,QAAQ,CAAC,IAAY,EAAE,KAAK;gBAC3B,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,IAAuB,CAAC;IAC1C,CAAC;IAMD,KAAK,CAAC,YAAY,CAChB,SAA4B;QAE5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EACjD,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACZ,QAAQ,CAAC,IAAY,EAAE,KAAK;gBAC3B,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,OAAQ,QAAQ,CAAC,IAAY,CAAC,IAAI,CAAC;IACrC,CAAC;IAMD,KAAK,CAAC,oBAAoB,CAAC,YAAuB;QAKhD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAClD,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACZ,QAAQ,CAAC,IAAY,EAAE,KAAK;gBAC3B,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,IAIf,CAAC;IACJ,CAAC;CACF;AAKD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,iBAAyB,EACzB,aAA4B,EACN,EAAE;IACxB,OAAO,IAAI,oBAAoB,CAAC;QAC9B,iBAAiB;QACjB,aAAa;KACd,CAAC,CAAC;AACL,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,78 @@
1
+ {
2
+ "name": "@sudobility/indexer_client",
3
+ "version": "0.0.20",
4
+ "description": "React and React Native compatible client library for 0xMail indexer API with TypeScript support",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "publishConfig": {
9
+ "access": "restricted"
10
+ },
11
+ "files": [
12
+ "dist/**/*"
13
+ ],
14
+ "scripts": {
15
+ "build": "tsc -p tsconfig.build.json",
16
+ "build:watch": "tsc --watch",
17
+ "clean": "rm -rf dist",
18
+ "prepublishOnly": "npm run clean && npm run build",
19
+ "test": "vitest",
20
+ "test:run": "vitest run",
21
+ "test:coverage": "vitest run --coverage",
22
+ "test:watch": "vitest --watch",
23
+ "test:integration": "vitest run --config vitest.integration.config.ts",
24
+ "test:integration:watch": "vitest --config vitest.integration.config.ts",
25
+ "lint": "eslint src --ext .ts,.tsx",
26
+ "lint:fix": "eslint src --ext .ts,.tsx --fix",
27
+ "format": "prettier --write src/**/*.ts",
28
+ "format:check": "prettier --check src/**/*.ts",
29
+ "typecheck": "tsc --noEmit",
30
+ "typecheck:watch": "tsc --noEmit --watch",
31
+ "check-all": "npm run lint && npm run typecheck && npm run test:run"
32
+ },
33
+ "keywords": [
34
+ "indexer",
35
+ "client",
36
+ "react",
37
+ "react-native",
38
+ "typescript",
39
+ "0xmail"
40
+ ],
41
+ "author": "John Huang",
42
+ "license": "MIT",
43
+ "peerDependencies": {
44
+ "react": "^19.2.0",
45
+ "@sudobility/di": "^1.4.5",
46
+ "@sudobility/types": "^1.8.20",
47
+ "@tanstack/react-query": "^5.90.2",
48
+ "axios": "^1.12.2"
49
+ },
50
+ "dependencies": {},
51
+ "devDependencies": {
52
+ "@sudobility/di": "^1.4.5",
53
+ "@sudobility/types": "^1.8.20",
54
+ "@tanstack/react-query": "^5.90.2",
55
+ "axios": "^1.12.2",
56
+ "@testing-library/react": "^16.3.0",
57
+ "@types/node": "^24.7.0",
58
+ "@types/react": "^19.2.2",
59
+ "@typescript-eslint/eslint-plugin": "^8.46.0",
60
+ "@typescript-eslint/parser": "^8.46.0",
61
+ "@vitest/coverage-v8": "^3.2.4",
62
+ "dotenv": "^17.2.3",
63
+ "eslint": "^9.37.0",
64
+ "eslint-config-prettier": "^10.1.8",
65
+ "eslint-plugin-prettier": "^5.5.4",
66
+ "eslint-plugin-react": "^7.37.5",
67
+ "eslint-plugin-react-hooks": "^6.1.1",
68
+ "happy-dom": "^19.0.2",
69
+ "prettier": "^3.6.2",
70
+ "typescript": "^5.9.3",
71
+ "vite": "^7.1.9",
72
+ "vitest": "^3.2.4"
73
+ },
74
+ "repository": {
75
+ "type": "git",
76
+ "url": "https://github.com/johnqh/mail_box_indexer_client.git"
77
+ }
78
+ }