@ensdomains/ensjs 3.0.0 → 3.1.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.
Files changed (110) hide show
  1. package/dist/cjs/clients/decorators/public.js.map +1 -1
  2. package/dist/cjs/contracts/consts.js +3 -3
  3. package/dist/cjs/contracts/universalResolver.js +92 -59
  4. package/dist/cjs/contracts/universalResolver.js.map +1 -1
  5. package/dist/cjs/errors/version.js +1 -1
  6. package/dist/cjs/functions/public/_getAbi.js +52 -45
  7. package/dist/cjs/functions/public/_getAbi.js.map +1 -1
  8. package/dist/cjs/functions/public/_getAddr.js +30 -23
  9. package/dist/cjs/functions/public/_getAddr.js.map +1 -1
  10. package/dist/cjs/functions/public/_getContentHash.js +14 -7
  11. package/dist/cjs/functions/public/_getContentHash.js.map +1 -1
  12. package/dist/cjs/functions/public/_getText.js +15 -8
  13. package/dist/cjs/functions/public/_getText.js.map +1 -1
  14. package/dist/cjs/functions/public/getAbiRecord.js +13 -5
  15. package/dist/cjs/functions/public/getAbiRecord.js.map +1 -1
  16. package/dist/cjs/functions/public/getAddressRecord.js +13 -5
  17. package/dist/cjs/functions/public/getAddressRecord.js.map +1 -1
  18. package/dist/cjs/functions/public/getContentHashRecord.js +13 -5
  19. package/dist/cjs/functions/public/getContentHashRecord.js.map +1 -1
  20. package/dist/cjs/functions/public/getName.js +53 -35
  21. package/dist/cjs/functions/public/getName.js.map +1 -1
  22. package/dist/cjs/functions/public/getRecords.js +164 -161
  23. package/dist/cjs/functions/public/getRecords.js.map +1 -1
  24. package/dist/cjs/functions/public/getTextRecord.js +13 -5
  25. package/dist/cjs/functions/public/getTextRecord.js.map +1 -1
  26. package/dist/cjs/functions/public/universalWrapper.js +45 -37
  27. package/dist/cjs/functions/public/universalWrapper.js.map +1 -1
  28. package/dist/cjs/utils/checkSafeUniversalResolverData.js +35 -0
  29. package/dist/cjs/utils/checkSafeUniversalResolverData.js.map +1 -0
  30. package/dist/esm/clients/decorators/public.js.map +1 -1
  31. package/dist/esm/contracts/consts.js +3 -3
  32. package/dist/esm/contracts/universalResolver.js +92 -59
  33. package/dist/esm/contracts/universalResolver.js.map +1 -1
  34. package/dist/esm/errors/version.js +1 -1
  35. package/dist/esm/functions/public/_getAbi.js +56 -49
  36. package/dist/esm/functions/public/_getAbi.js.map +1 -1
  37. package/dist/esm/functions/public/_getAddr.js +30 -23
  38. package/dist/esm/functions/public/_getAddr.js.map +1 -1
  39. package/dist/esm/functions/public/_getContentHash.js +14 -7
  40. package/dist/esm/functions/public/_getContentHash.js.map +1 -1
  41. package/dist/esm/functions/public/_getText.js +15 -8
  42. package/dist/esm/functions/public/_getText.js.map +1 -1
  43. package/dist/esm/functions/public/getAbiRecord.js +13 -5
  44. package/dist/esm/functions/public/getAbiRecord.js.map +1 -1
  45. package/dist/esm/functions/public/getAddressRecord.js +13 -5
  46. package/dist/esm/functions/public/getAddressRecord.js.map +1 -1
  47. package/dist/esm/functions/public/getContentHashRecord.js +13 -5
  48. package/dist/esm/functions/public/getContentHashRecord.js.map +1 -1
  49. package/dist/esm/functions/public/getName.js +54 -36
  50. package/dist/esm/functions/public/getName.js.map +1 -1
  51. package/dist/esm/functions/public/getRecords.js +168 -165
  52. package/dist/esm/functions/public/getRecords.js.map +1 -1
  53. package/dist/esm/functions/public/getTextRecord.js +13 -5
  54. package/dist/esm/functions/public/getTextRecord.js.map +1 -1
  55. package/dist/esm/functions/public/universalWrapper.js +46 -38
  56. package/dist/esm/functions/public/universalWrapper.js.map +1 -1
  57. package/dist/esm/utils/checkSafeUniversalResolverData.js +39 -0
  58. package/dist/esm/utils/checkSafeUniversalResolverData.js.map +1 -0
  59. package/dist/types/clients/decorators/public.d.ts +6 -6
  60. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  61. package/dist/types/clients/public.d.ts +34 -8
  62. package/dist/types/clients/public.d.ts.map +1 -1
  63. package/dist/types/contracts/consts.d.ts +3 -3
  64. package/dist/types/contracts/universalResolver.d.ts +73 -0
  65. package/dist/types/contracts/universalResolver.d.ts.map +1 -1
  66. package/dist/types/errors/version.d.ts +1 -1
  67. package/dist/types/functions/public/_getAbi.d.ts +3 -1
  68. package/dist/types/functions/public/_getAbi.d.ts.map +1 -1
  69. package/dist/types/functions/public/_getAddr.d.ts +3 -1
  70. package/dist/types/functions/public/_getAddr.d.ts.map +1 -1
  71. package/dist/types/functions/public/_getContentHash.d.ts +3 -1
  72. package/dist/types/functions/public/_getContentHash.d.ts.map +1 -1
  73. package/dist/types/functions/public/_getText.d.ts +3 -1
  74. package/dist/types/functions/public/_getText.d.ts.map +1 -1
  75. package/dist/types/functions/public/getAbiRecord.d.ts +8 -5
  76. package/dist/types/functions/public/getAbiRecord.d.ts.map +1 -1
  77. package/dist/types/functions/public/getAddressRecord.d.ts +8 -5
  78. package/dist/types/functions/public/getAddressRecord.d.ts.map +1 -1
  79. package/dist/types/functions/public/getContentHashRecord.d.ts +7 -4
  80. package/dist/types/functions/public/getContentHashRecord.d.ts.map +1 -1
  81. package/dist/types/functions/public/getName.d.ts +9 -3
  82. package/dist/types/functions/public/getName.d.ts.map +1 -1
  83. package/dist/types/functions/public/getRecords.d.ts +53 -26
  84. package/dist/types/functions/public/getRecords.d.ts.map +1 -1
  85. package/dist/types/functions/public/getTextRecord.d.ts +7 -4
  86. package/dist/types/functions/public/getTextRecord.d.ts.map +1 -1
  87. package/dist/types/functions/public/universalWrapper.d.ts +4 -2
  88. package/dist/types/functions/public/universalWrapper.d.ts.map +1 -1
  89. package/dist/types/types.d.ts +2 -2
  90. package/dist/types/types.d.ts.map +1 -1
  91. package/dist/types/utils/checkSafeUniversalResolverData.d.ts +14 -0
  92. package/dist/types/utils/checkSafeUniversalResolverData.d.ts.map +1 -0
  93. package/package.json +4 -4
  94. package/src/clients/decorators/public.ts +31 -4
  95. package/src/contracts/consts.ts +3 -3
  96. package/src/contracts/universalResolver.ts +95 -59
  97. package/src/errors/version.ts +1 -1
  98. package/src/functions/public/_getAbi.ts +61 -53
  99. package/src/functions/public/_getAddr.ts +31 -24
  100. package/src/functions/public/_getContentHash.ts +15 -7
  101. package/src/functions/public/_getText.ts +16 -8
  102. package/src/functions/public/getAbiRecord.ts +21 -8
  103. package/src/functions/public/getAddressRecord.ts +25 -9
  104. package/src/functions/public/getContentHashRecord.ts +19 -7
  105. package/src/functions/public/getName.ts +58 -40
  106. package/src/functions/public/getRecords.ts +336 -235
  107. package/src/functions/public/getTextRecord.ts +19 -6
  108. package/src/functions/public/universalWrapper.ts +49 -43
  109. package/src/types.ts +4 -3
  110. package/src/utils/checkSafeUniversalResolverData.ts +62 -0
@@ -14,15 +14,22 @@ const encode = (_client, { name }) => {
14
14
  }),
15
15
  };
16
16
  };
17
- const decode = async (_client, data) => {
17
+ const decode = async (_client, data, { strict }) => {
18
18
  if (data === '0x')
19
19
  return null;
20
- const response = decodeFunctionResult({
21
- abi: publicResolverContenthashSnippet,
22
- functionName: 'contenthash',
23
- data,
24
- });
25
- return decodeContentHash(response);
20
+ try {
21
+ const response = decodeFunctionResult({
22
+ abi: publicResolverContenthashSnippet,
23
+ functionName: 'contenthash',
24
+ data,
25
+ });
26
+ return decodeContentHash(response);
27
+ }
28
+ catch (error) {
29
+ if (strict)
30
+ throw error;
31
+ return null;
32
+ }
26
33
  };
27
34
  const _getContentHash = generateFunction({ encode, decode });
28
35
  export default _getContentHash;
@@ -1 +1 @@
1
- {"version":3,"file":"_getContentHash.js","sourceRoot":"","sources":["../../../../src/functions/public/_getContentHash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAY,MAAM,MAAM,CAAA;AAEzE,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAA;AAEpF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EACL,iBAAiB,GAElB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAUnD,MAAM,MAAM,GAAG,CACb,OAAsB,EACtB,EAAE,IAAI,EAAoC,EAChB,EAAE;IAC5B,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,gCAAgC;YACrC,YAAY,EAAE,aAAa;YAC3B,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACvB,CAAC;KACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,OAAsB,EACtB,IAAS,EACkC,EAAE;IAC7C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAE9B,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACpC,GAAG,EAAE,gCAAgC;QACrC,YAAY,EAAE,aAAa;QAC3B,IAAI;KACL,CAAC,CAAA;IAEF,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AACpC,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAE5D,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"_getContentHash.js","sourceRoot":"","sources":["../../../../src/functions/public/_getContentHash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAY,MAAM,MAAM,CAAA;AAEzE,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAA;AAEpF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EACL,iBAAiB,GAElB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAYnD,MAAM,MAAM,GAAG,CACb,OAAsB,EACtB,EAAE,IAAI,EAAoD,EAChC,EAAE;IAC5B,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,gCAAgC;YACrC,YAAY,EAAE,aAAa;YAC3B,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACvB,CAAC;KACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,OAAsB,EACtB,IAAS,EACT,EAAE,MAAM,EAAoD,EACjB,EAAE;IAC7C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAE9B,IAAI;QACF,MAAM,QAAQ,GAAG,oBAAoB,CAAC;YACpC,GAAG,EAAE,gCAAgC;YACrC,YAAY,EAAE,aAAa;YAC3B,IAAI;SACL,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAA;KACnC;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,MAAM;YAAE,MAAM,KAAK,CAAA;QACvB,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAE5D,eAAe,eAAe,CAAA"}
@@ -13,17 +13,24 @@ const encode = (_client, { name, key }) => {
13
13
  }),
14
14
  };
15
15
  };
16
- const decode = async (_client, data) => {
16
+ const decode = async (_client, data, { strict }) => {
17
17
  if (data === '0x')
18
18
  return null;
19
- const response = decodeFunctionResult({
20
- abi: publicResolverTextSnippet,
21
- functionName: 'text',
22
- data,
23
- });
24
- if (!response)
19
+ try {
20
+ const response = decodeFunctionResult({
21
+ abi: publicResolverTextSnippet,
22
+ functionName: 'text',
23
+ data,
24
+ });
25
+ if (!response)
26
+ return null;
27
+ return response;
28
+ }
29
+ catch (error) {
30
+ if (strict)
31
+ throw error;
25
32
  return null;
26
- return response;
33
+ }
27
34
  };
28
35
  const _getText = generateFunction({ encode, decode });
29
36
  export default _getText;
@@ -1 +1 @@
1
- {"version":3,"file":"_getText.js","sourceRoot":"","sources":["../../../../src/functions/public/_getText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAY,MAAM,MAAM,CAAA;AAEzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAWnD,MAAM,MAAM,GAAG,CACb,OAAsB,EACtB,EAAE,IAAI,EAAE,GAAG,EAA6B,EACd,EAAE;IAC5B,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,yBAAyB;YAC9B,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;SAC5B,CAAC;KACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,OAAsB,EACtB,IAAS,EAC2B,EAAE;IACtC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAE9B,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACpC,GAAG,EAAE,yBAAyB;QAC9B,YAAY,EAAE,MAAM;QACpB,IAAI;KACL,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAErD,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"_getText.js","sourceRoot":"","sources":["../../../../src/functions/public/_getText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAY,MAAM,MAAM,CAAA;AAEzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAanD,MAAM,MAAM,GAAG,CACb,OAAsB,EACtB,EAAE,IAAI,EAAE,GAAG,EAA6C,EAC9B,EAAE;IAC5B,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,yBAAyB;YAC9B,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;SAC5B,CAAC;KACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,OAAsB,EACtB,IAAS,EACT,EAAE,MAAM,EAA6C,EACjB,EAAE;IACtC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAE9B,IAAI;QACF,MAAM,QAAQ,GAAG,oBAAoB,CAAC;YACpC,GAAG,EAAE,yBAAyB;YAC9B,YAAY,EAAE,MAAM;YACpB,IAAI;SACL,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAE1B,OAAO,QAAQ,CAAA;KAChB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,MAAM;YAAE,MAAM,KAAK,CAAA;QACvB,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAErD,eAAe,QAAQ,CAAA"}
@@ -1,13 +1,21 @@
1
1
  import { generateFunction, } from '../../utils/generateFunction.js';
2
2
  import _getAbi, {} from './_getAbi.js';
3
3
  import universalWrapper from './universalWrapper.js';
4
- const encode = (client, { name }) => {
4
+ const encode = (client, { name, gatewayUrls }) => {
5
5
  const prData = _getAbi.encode(client, { name });
6
- return universalWrapper.encode(client, { name, data: prData.data });
6
+ return universalWrapper.encode(client, {
7
+ name,
8
+ data: prData.data,
9
+ gatewayUrls,
10
+ });
7
11
  };
8
- const decode = async (client, data, passthrough) => {
9
- const urData = await universalWrapper.decode(client, data, passthrough);
10
- return _getAbi.decode(client, urData.data);
12
+ const decode = async (client, data, passthrough, { strict }) => {
13
+ const urData = await universalWrapper.decode(client, data, passthrough, {
14
+ strict,
15
+ });
16
+ if (!urData)
17
+ return null;
18
+ return _getAbi.decode(client, urData.data, { strict });
11
19
  };
12
20
  /**
13
21
  * Gets the ABI record for a name
@@ -1 +1 @@
1
- {"version":3,"file":"getAbiRecord.js","sourceRoot":"","sources":["../../../../src/functions/public/getAbiRecord.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,OAAO,EAAE,EAGf,MAAM,cAAc,CAAA;AACrB,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AAMpD,MAAM,MAAM,GAAG,CACb,MAAqB,EACrB,EAAE,IAAI,EAA0B,EACN,EAAE;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,OAAO,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,MAAqB,EACrB,IAAS,EACT,WAA+B,EACE,EAAE;IACnC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;IACvE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;AAC5C,CAAC,CAAA;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,YAAY,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAI/B,CAAA;AAEzB,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"getAbiRecord.js","sourceRoot":"","sources":["../../../../src/functions/public/getAbiRecord.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,OAAO,EAAE,EAGf,MAAM,cAAc,CAAA;AACrB,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AAWpD,MAAM,MAAM,GAAG,CACb,MAAqB,EACrB,EAAE,IAAI,EAAE,WAAW,EAA0C,EACnC,EAAE;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,OAAO,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE;QACrC,IAAI;QACJ,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW;KACZ,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,MAAqB,EACrB,IAAqB,EACrB,WAA+B,EAC/B,EAAE,MAAM,EAA0C,EACjB,EAAE;IACnC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;QACtE,MAAM;KACP,CAAC,CAAA;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;AACxD,CAAC,CAAA;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,YAAY,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAI/B,CAAA;AAEzB,eAAe,YAAY,CAAA"}
@@ -1,13 +1,21 @@
1
1
  import { generateFunction, } from '../../utils/generateFunction.js';
2
2
  import _getAddr, {} from './_getAddr.js';
3
3
  import universalWrapper from './universalWrapper.js';
4
- const encode = (client, { name, coin }) => {
4
+ const encode = (client, { name, coin, gatewayUrls, }) => {
5
5
  const prData = _getAddr.encode(client, { name, coin });
6
- return universalWrapper.encode(client, { name, data: prData.data });
6
+ return universalWrapper.encode(client, {
7
+ name,
8
+ data: prData.data,
9
+ gatewayUrls,
10
+ });
7
11
  };
8
- const decode = async (client, data, passthrough, args) => {
9
- const urData = await universalWrapper.decode(client, data, passthrough);
10
- return _getAddr.decode(client, urData.data, args);
12
+ const decode = async (client, data, passthrough, { coin, strict }) => {
13
+ const urData = await universalWrapper.decode(client, data, passthrough, {
14
+ strict,
15
+ });
16
+ if (!urData)
17
+ return null;
18
+ return _getAddr.decode(client, urData.data, { coin, strict });
11
19
  };
12
20
  /**
13
21
  * Gets an address record for a name and specified coin
@@ -1 +1 @@
1
- {"version":3,"file":"getAddressRecord.js","sourceRoot":"","sources":["../../../../src/functions/public/getAddressRecord.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,QAAQ,EAAE,EAGhB,MAAM,eAAe,CAAA;AACtB,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AAMpD,MAAM,MAAM,GAAG,CACb,MAAqB,EACrB,EAAE,IAAI,EAAE,IAAI,EAA8B,EAChB,EAAE;IAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,OAAO,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,MAAqB,EACrB,IAAS,EACT,WAA+B,EAC/B,IAAgC,EACK,EAAE;IACvC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;IACvE,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACnD,CAAC,CAAA;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAInC,CAAA;AAEzB,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"getAddressRecord.js","sourceRoot":"","sources":["../../../../src/functions/public/getAddressRecord.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,QAAQ,EAAE,EAGhB,MAAM,eAAe,CAAA;AACtB,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AAWpD,MAAM,MAAM,GAAG,CACb,MAAqB,EACrB,EACE,IAAI,EACJ,IAAI,EACJ,WAAW,GACiD,EACpC,EAAE;IAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,OAAO,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE;QACrC,IAAI;QACJ,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW;KACZ,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,MAAqB,EACrB,IAAqB,EACrB,WAA+B,EAC/B,EAAE,IAAI,EAAE,MAAM,EAAuD,EAChC,EAAE;IACvC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;QACtE,MAAM;KACP,CAAC,CAAA;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;AAC/D,CAAC,CAAA;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAInC,CAAA;AAEzB,eAAe,gBAAgB,CAAA"}
@@ -1,13 +1,21 @@
1
1
  import { generateFunction, } from '../../utils/generateFunction.js';
2
2
  import _getContentHash, {} from './_getContentHash.js';
3
3
  import universalWrapper from './universalWrapper.js';
4
- const encode = (client, { name }) => {
4
+ const encode = (client, { name, gatewayUrls }) => {
5
5
  const prData = _getContentHash.encode(client, { name });
6
- return universalWrapper.encode(client, { name, data: prData.data });
6
+ return universalWrapper.encode(client, {
7
+ name,
8
+ data: prData.data,
9
+ gatewayUrls,
10
+ });
7
11
  };
8
- const decode = async (client, data, passthrough) => {
9
- const urData = await universalWrapper.decode(client, data, passthrough);
10
- return _getContentHash.decode(client, urData.data);
12
+ const decode = async (client, data, passthrough, { strict }) => {
13
+ const urData = await universalWrapper.decode(client, data, passthrough, {
14
+ strict,
15
+ });
16
+ if (!urData)
17
+ return null;
18
+ return _getContentHash.decode(client, urData.data, { strict });
11
19
  };
12
20
  /**
13
21
  * Gets the content hash record for a name
@@ -1 +1 @@
1
- {"version":3,"file":"getContentHashRecord.js","sourceRoot":"","sources":["../../../../src/functions/public/getContentHashRecord.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,eAAe,EAAE,EAGvB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AAQpD,MAAM,MAAM,GAAG,CACb,MAAqB,EACrB,EAAE,IAAI,EAAkC,EACL,EAAE;IACrC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,OAAO,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,MAAqB,EACrB,IAAqB,EACrB,WAA+B,EACU,EAAE;IAC3C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;IACvE,OAAO,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;AACpD,CAAC,CAAA;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAIvC,CAAA;AAEzB,eAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"getContentHashRecord.js","sourceRoot":"","sources":["../../../../src/functions/public/getContentHashRecord.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,eAAe,EAAE,EAGvB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AAYpD,MAAM,MAAM,GAAG,CACb,MAAqB,EACrB,EAAE,IAAI,EAAE,WAAW,EAAkD,EAClC,EAAE;IACrC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,OAAO,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE;QACrC,IAAI;QACJ,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW;KACZ,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,MAAqB,EACrB,IAAqB,EACrB,WAA+B,EAC/B,EAAE,MAAM,EAAkD,EACjB,EAAE;IAC3C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;QACtE,MAAM;KACP,CAAC,CAAA;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,OAAO,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;AAChE,CAAC,CAAA;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAIvC,CAAA;AAEzB,eAAe,oBAAoB,CAAA"}
@@ -1,10 +1,10 @@
1
- import { BaseError, decodeErrorResult, decodeFunctionResult, encodeFunctionData, getContractError, toHex, } from 'viem';
1
+ import { BaseError, decodeFunctionResult, encodeFunctionData, toHex, } from 'viem';
2
2
  import { getChainContractAddress } from '../../contracts/getChainContractAddress.js';
3
3
  import { universalResolverReverseSnippet } from '../../contracts/universalResolver.js';
4
+ import { checkSafeUniversalResolverData } from '../../utils/checkSafeUniversalResolverData.js';
4
5
  import { generateFunction, } from '../../utils/generateFunction.js';
5
- import { getRevertErrorData } from '../../utils/getRevertErrorData.js';
6
6
  import { packetToBytes } from '../../utils/hexEncodedName.js';
7
- const encode = (client, { address }) => {
7
+ const encode = (client, { address, gatewayUrls }) => {
8
8
  const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`;
9
9
  const to = getChainContractAddress({
10
10
  client,
@@ -13,46 +13,64 @@ const encode = (client, { address }) => {
13
13
  const args = [toHex(packetToBytes(reverseNode))];
14
14
  return {
15
15
  to,
16
- data: encodeFunctionData({
17
- abi: universalResolverReverseSnippet,
18
- functionName: 'reverse',
19
- args,
20
- }),
21
- passthrough: { address, args },
16
+ ...(gatewayUrls?.length
17
+ ? {
18
+ data: encodeFunctionData({
19
+ abi: universalResolverReverseSnippet,
20
+ functionName: 'reverse',
21
+ args: [...args, gatewayUrls],
22
+ }),
23
+ passthrough: {
24
+ args: [...args, gatewayUrls],
25
+ address: to,
26
+ },
27
+ }
28
+ : {
29
+ data: encodeFunctionData({
30
+ abi: universalResolverReverseSnippet,
31
+ functionName: 'reverse',
32
+ args,
33
+ }),
34
+ passthrough: {
35
+ args,
36
+ address: to,
37
+ },
38
+ }),
22
39
  };
23
40
  };
24
- const decode = async (_client, data, passthrough, { address }) => {
25
- if (typeof data === 'object') {
26
- const errorData = getRevertErrorData(data);
27
- if (errorData) {
28
- const decodedError = decodeErrorResult({
29
- abi: universalResolverReverseSnippet,
30
- data: errorData,
31
- });
32
- if (decodedError.errorName === 'ResolverNotFound' ||
33
- decodedError.errorName === 'ResolverWildcardNotSupported')
34
- return null;
35
- }
36
- throw getContractError(data, {
41
+ const decode = async (_client, data, passthrough, { address, allowMismatch, strict }) => {
42
+ const isSafe = checkSafeUniversalResolverData(data, {
43
+ strict,
44
+ abi: universalResolverReverseSnippet,
45
+ args: passthrough.args,
46
+ functionName: 'reverse',
47
+ address: passthrough.address,
48
+ });
49
+ if (!isSafe)
50
+ return null;
51
+ try {
52
+ const result = decodeFunctionResult({
37
53
  abi: universalResolverReverseSnippet,
38
54
  functionName: 'reverse',
39
- args: passthrough.args,
40
- address: passthrough.address,
55
+ data,
41
56
  });
57
+ if (!result[0])
58
+ return null;
59
+ const match = result[1].toLowerCase() === address.toLowerCase();
60
+ if (!match && !allowMismatch)
61
+ return null;
62
+ return {
63
+ name: result[0],
64
+ match: result[1].toLowerCase() === address.toLowerCase(),
65
+ reverseResolverAddress: result[2],
66
+ resolverAddress: result[3],
67
+ };
42
68
  }
43
- const result = decodeFunctionResult({
44
- abi: universalResolverReverseSnippet,
45
- functionName: 'reverse',
46
- data,
47
- });
48
- if (!result[0])
69
+ catch (error) {
70
+ if (strict)
71
+ throw error;
49
72
  return null;
50
- return {
51
- name: result[0],
52
- match: result[1].toLowerCase() === address.toLowerCase(),
53
- reverseResolverAddress: result[2],
54
- resolverAddress: result[3],
55
- };
73
+ }
56
74
  };
57
75
  /**
58
76
  * Gets the primary name for an address
@@ -1 +1 @@
1
- {"version":3,"file":"getName.js","sourceRoot":"","sources":["../../../../src/functions/public/getName.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,GAGN,MAAM,MAAM,CAAA;AAEb,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAA;AACpF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AAKtF,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAkB7D,MAAM,MAAM,GAAG,CACb,MAAqB,EACrB,EAAE,OAAO,EAAqB,EACK,EAAE;IACrC,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAA;IACxE,MAAM,EAAE,GAAG,uBAAuB,CAAC;QACjC,MAAM;QACN,QAAQ,EAAE,sBAAsB;KACjC,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAU,CAAA;IACzD,OAAO;QACL,EAAE;QACF,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,+BAA+B;YACpC,YAAY,EAAE,SAAS;YACvB,IAAI;SACL,CAAC;QACF,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KAC/B,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,OAAsB,EACtB,IAAqB,EACrB,WAA+B,EAC/B,EAAE,OAAO,EAAqB,EACK,EAAE;IACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,SAAS,EAAE;YACb,MAAM,YAAY,GAAG,iBAAiB,CAAC;gBACrC,GAAG,EAAE,+BAA+B;gBACpC,IAAI,EAAE,SAAS;aAChB,CAAC,CAAA;YACF,IACE,YAAY,CAAC,SAAS,KAAK,kBAAkB;gBAC7C,YAAY,CAAC,SAAS,KAAK,8BAA8B;gBAEzD,OAAO,IAAI,CAAA;SACd;QACD,MAAM,gBAAgB,CAAC,IAAI,EAAE;YAC3B,GAAG,EAAE,+BAA+B;YACpC,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,OAAO,EAAE,WAAW,CAAC,OAAO;SAC7B,CAAc,CAAA;KAChB;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC;QAClC,GAAG,EAAE,+BAA+B;QACpC,YAAY,EAAE,SAAS;QACvB,IAAI;KACL,CAAC,CAAA;IACF,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3B,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACf,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE;QACxD,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;KAC3B,CAAA;AACH,CAAC,CAAA;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAI1B,CAAA;AAEzB,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"getName.js","sourceRoot":"","sources":["../../../../src/functions/public/getName.ts"],"names":[],"mappings":"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"}