@beclab/olaresid 0.1.13 → 0.2.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 (181) hide show
  1. package/CLI-TREE.md +107 -0
  2. package/CLI.md +122 -1340
  3. package/README.md +30 -12
  4. package/SDK-TREE.md +151 -0
  5. package/TAG.md +95 -41
  6. package/config.json +6 -4
  7. package/dist/abi/TerminusDIDQueryABI.d.ts +397 -0
  8. package/dist/abi/TerminusDIDQueryABI.d.ts.map +1 -0
  9. package/dist/abi/TerminusDIDQueryABI.js +519 -0
  10. package/dist/abi/TerminusDIDQueryABI.js.map +1 -0
  11. package/dist/business/index.d.ts.map +1 -1
  12. package/dist/business/index.js +9 -23
  13. package/dist/business/index.js.map +1 -1
  14. package/dist/business/tag-context.d.ts +1 -0
  15. package/dist/business/tag-context.d.ts.map +1 -1
  16. package/dist/business/tag-context.js +13 -7
  17. package/dist/business/tag-context.js.map +1 -1
  18. package/dist/cli.js +177 -76
  19. package/dist/cli.js.map +1 -1
  20. package/dist/config/index.d.ts +16 -4
  21. package/dist/config/index.d.ts.map +1 -1
  22. package/dist/config/index.js +28 -14
  23. package/dist/config/index.js.map +1 -1
  24. package/dist/domain/core.d.ts +65 -0
  25. package/dist/domain/core.d.ts.map +1 -0
  26. package/dist/domain/core.js +317 -0
  27. package/dist/domain/core.js.map +1 -0
  28. package/dist/domain/index.d.ts +104 -57
  29. package/dist/domain/index.d.ts.map +1 -1
  30. package/dist/domain/index.js +188 -428
  31. package/dist/domain/index.js.map +1 -1
  32. package/dist/domain/types.d.ts +56 -0
  33. package/dist/domain/types.d.ts.map +1 -0
  34. package/dist/domain/types.js +3 -0
  35. package/dist/domain/types.js.map +1 -0
  36. package/dist/index.d.ts +80 -23
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +152 -143
  39. package/dist/index.js.map +1 -1
  40. package/dist/utils/crypto-utils.d.ts +110 -0
  41. package/dist/utils/crypto-utils.d.ts.map +1 -1
  42. package/dist/utils/crypto-utils.js +127 -8
  43. package/dist/utils/crypto-utils.js.map +1 -1
  44. package/dist/utils/error-parser.d.ts.map +1 -1
  45. package/dist/utils/error-parser.js +2 -1
  46. package/dist/utils/error-parser.js.map +1 -1
  47. package/dist/utils/event-parser.d.ts +161 -0
  48. package/dist/utils/event-parser.d.ts.map +1 -0
  49. package/dist/utils/event-parser.js +140 -0
  50. package/dist/utils/event-parser.js.map +1 -0
  51. package/dist/utils/tag-type-builder.d.ts +43 -0
  52. package/dist/utils/tag-type-builder.d.ts.map +1 -1
  53. package/dist/utils/tag-type-builder.js +122 -0
  54. package/dist/utils/tag-type-builder.js.map +1 -1
  55. package/dist/utils/tag-type-parser.d.ts +70 -0
  56. package/dist/utils/tag-type-parser.d.ts.map +1 -0
  57. package/dist/utils/tag-type-parser.js +190 -0
  58. package/dist/utils/tag-type-parser.js.map +1 -0
  59. package/examples/create-with-rpc-demo.ts +142 -0
  60. package/examples/fetch-all-flat-demo.ts +159 -0
  61. package/examples/fetch-by-indices-demo.ts +235 -0
  62. package/examples/fetch-domain-demo.ts +137 -0
  63. package/examples/fetch-domains-demo.ts +221 -0
  64. package/examples/frontend-demo/index.html +2 -2
  65. package/examples/frontend-demo/package-lock.json +4 -1
  66. package/examples/index.ts +3 -5
  67. package/jest.config.js +25 -0
  68. package/package.json +6 -2
  69. package/src/abi/TerminusDIDQueryABI.ts +516 -0
  70. package/src/business/index.ts +9 -33
  71. package/src/business/tag-context.ts +35 -7
  72. package/src/cli.ts +253 -90
  73. package/src/config/index.ts +34 -19
  74. package/src/domain/core.ts +382 -0
  75. package/src/domain/index.ts +271 -641
  76. package/src/domain/types.ts +59 -0
  77. package/src/index.ts +221 -207
  78. package/src/utils/crypto-utils.ts +205 -2
  79. package/src/utils/error-parser.ts +2 -1
  80. package/src/utils/event-parser.ts +353 -0
  81. package/src/utils/tag-type-builder.ts +138 -0
  82. package/src/utils/tag-type-parser.ts +246 -0
  83. package/tests/unit/crypto-utils.test.ts +338 -0
  84. package/tests/unit/ed25519-jwk.test.ts +201 -0
  85. package/tests/unit/event-parser.test.ts +690 -0
  86. package/tests/unit/generate-mnemonic.test.ts +268 -0
  87. package/tests/unit/olares-id-format.test.ts +321 -0
  88. package/tests/unit/tag-type-parser.test.ts +802 -0
  89. package/tests/unit/tag-types.test.ts +821 -0
  90. package/tsconfig.json +3 -2
  91. package/dist/abi/ABITypeABI.d.ts +0 -88
  92. package/dist/abi/ABITypeABI.d.ts.map +0 -1
  93. package/dist/abi/ABITypeABI.js +0 -382
  94. package/dist/abi/ABITypeABI.js.map +0 -1
  95. package/dist/abi/RegistryABI.d.ts +0 -77
  96. package/dist/abi/RegistryABI.d.ts.map +0 -1
  97. package/dist/abi/RegistryABI.js +0 -462
  98. package/dist/abi/RegistryABI.js.map +0 -1
  99. package/dist/tag/address.d.ts +0 -11
  100. package/dist/tag/address.d.ts.map +0 -1
  101. package/dist/tag/address.js +0 -44
  102. package/dist/tag/address.js.map +0 -1
  103. package/dist/tag/array.d.ts +0 -14
  104. package/dist/tag/array.d.ts.map +0 -1
  105. package/dist/tag/array.js +0 -72
  106. package/dist/tag/array.js.map +0 -1
  107. package/dist/tag/bool.d.ts +0 -11
  108. package/dist/tag/bool.d.ts.map +0 -1
  109. package/dist/tag/bool.js +0 -43
  110. package/dist/tag/bool.js.map +0 -1
  111. package/dist/tag/bytes.d.ts +0 -11
  112. package/dist/tag/bytes.d.ts.map +0 -1
  113. package/dist/tag/bytes.js +0 -37
  114. package/dist/tag/bytes.js.map +0 -1
  115. package/dist/tag/flarray.d.ts +0 -15
  116. package/dist/tag/flarray.d.ts.map +0 -1
  117. package/dist/tag/flarray.js +0 -81
  118. package/dist/tag/flarray.js.map +0 -1
  119. package/dist/tag/flbytes.d.ts +0 -11
  120. package/dist/tag/flbytes.d.ts.map +0 -1
  121. package/dist/tag/flbytes.js +0 -47
  122. package/dist/tag/flbytes.js.map +0 -1
  123. package/dist/tag/index.d.ts +0 -32
  124. package/dist/tag/index.d.ts.map +0 -1
  125. package/dist/tag/index.js +0 -121
  126. package/dist/tag/index.js.map +0 -1
  127. package/dist/tag/int.d.ts +0 -12
  128. package/dist/tag/int.d.ts.map +0 -1
  129. package/dist/tag/int.js +0 -49
  130. package/dist/tag/int.js.map +0 -1
  131. package/dist/tag/string.d.ts +0 -11
  132. package/dist/tag/string.d.ts.map +0 -1
  133. package/dist/tag/string.js +0 -37
  134. package/dist/tag/string.js.map +0 -1
  135. package/dist/tag/tag.d.ts +0 -67
  136. package/dist/tag/tag.d.ts.map +0 -1
  137. package/dist/tag/tag.js +0 -157
  138. package/dist/tag/tag.js.map +0 -1
  139. package/dist/tag/tuple.d.ts +0 -17
  140. package/dist/tag/tuple.d.ts.map +0 -1
  141. package/dist/tag/tuple.js +0 -162
  142. package/dist/tag/tuple.js.map +0 -1
  143. package/dist/tag/uint.d.ts +0 -12
  144. package/dist/tag/uint.d.ts.map +0 -1
  145. package/dist/tag/uint.js +0 -49
  146. package/dist/tag/uint.js.map +0 -1
  147. package/dist/test/did.d.ts +0 -2
  148. package/dist/test/did.d.ts.map +0 -1
  149. package/dist/test/did.js +0 -177
  150. package/dist/test/did.js.map +0 -1
  151. package/dist/utils/tag-abi-codec.d.ts +0 -69
  152. package/dist/utils/tag-abi-codec.d.ts.map +0 -1
  153. package/dist/utils/tag-abi-codec.js +0 -144
  154. package/dist/utils/tag-abi-codec.js.map +0 -1
  155. package/examples/crypto-utilities.ts +0 -140
  156. package/examples/ed25519-jwk.ts +0 -73
  157. package/examples/generate-mnemonic.ts +0 -149
  158. package/examples/legacy.ts +0 -33
  159. package/examples/olares-id-format.ts +0 -197
  160. package/examples/tag-builder.ts +0 -235
  161. package/examples/tag-nested-tuple.ts +0 -190
  162. package/examples/tag-simple.ts +0 -149
  163. package/examples/tag-tagger.ts +0 -217
  164. package/examples/test-nested-tuple-conversion.ts +0 -143
  165. package/examples/test-type-bytes-parser.ts +0 -70
  166. package/src/abi/ABITypeABI.ts +0 -379
  167. package/src/abi/RegistryABI.ts +0 -459
  168. package/src/tag/address.ts +0 -48
  169. package/src/tag/array.ts +0 -80
  170. package/src/tag/bool.ts +0 -43
  171. package/src/tag/bytes.ts +0 -38
  172. package/src/tag/flarray.ts +0 -99
  173. package/src/tag/flbytes.ts +0 -48
  174. package/src/tag/index.ts +0 -170
  175. package/src/tag/int.ts +0 -51
  176. package/src/tag/string.ts +0 -38
  177. package/src/tag/tag.ts +0 -229
  178. package/src/tag/tuple.ts +0 -193
  179. package/src/tag/uint.ts +0 -51
  180. package/src/test/did.ts +0 -346
  181. package/src/utils/tag-abi-codec.ts +0 -158
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAgC;AAChC,yDAAkC;AAClC,oCAAiC;AAEjC,MAAM,SAAS,GAAG,CAAC,IAAS,EAAE,EAAE;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,aAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,GAAG,IAAI,IAAI,CAAC;IACb,CAAC;IACD,aAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,aAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEnB,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,IAAS,EAAE,EAAE;IAC5B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC;QACzB,CAAC;QACD,GAAG,IAAI,OAAO,CAAC;IAChB,CAAC;IACD,aAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF,IAAiB,aAAa,CA8mB7B;AA9mBD,WAAiB,aAAa;IA4B7B,MAAa,MAAM;QAUlB,YACC,EAAU,EACV,IAAY,EACZ,GAAW,EACX,IAAY,EACZ,cAAuB,EACvB,KAAa,EACb,UAAoB,EACpB,IAAW;YAEX,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;KACD;IA7BY,oBAAM,SA6BlB,CAAA;IAEY,sBAAQ,GAAG,CAAC,OAAe,EAAE,QAAyB,EAAE,EAAE,CACtE,IAAI,OAAO,CAAS,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,IAAI,IAAI,GAAoB,SAAS,CAAC;QACtC,IAAI,KAAK,GAAuB,SAAS,CAAC;QAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OACC,OAAO,IAAI,SAAS;YACpB,IAAI,IAAI,SAAS;YACjB,KAAK,IAAI,SAAS,EACjB,CAAC;YACF,IAAI,CAAC;gBACJ,IAAI,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC3C,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;gBAClC,CAAC;YACF,CAAC;QACF,CAAC;QACD,4BAA4B;QAC5B,MAAM,MAAM,GAAG;YACd,EAAE,EAAE,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAC3B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;YACf,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;YACf,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC;YACzB,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;SACE,CAAC;QAEZ,MAAM,IAAI,GAAG,MAAM,cAAA,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QAEnB,MAAM,cAAA,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEzC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAES,wBAAU,GAAG,CAAC,IAAY,EAAE,QAAyB,EAAE,EAAE,CACrE,IAAI,OAAO,CAAqB,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACzD,IAAI,OAAO,GAAuB,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjE,aAAK,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,MAAM,cAAA,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC,CAAC,CAAC;IAES,yBAAW,GAAG,CAAC,KAAa,EAAE,QAAyB,EAAE,EAAE,CACvE,IAAI,OAAO,CAAS,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,IAAI,OAAO,GAAuB,SAAS,CAAC;QAE5C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,OAAO,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACJ,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;gBAClC,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,CAAC,MAAM,cAAA,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAES,uBAAS,GAAG,CAAC,UAAoB,EAAY,EAAE;QAC3D,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,MAAM,OAAO,GAAG,cAAA,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC;IAEW,2BAAa,GAAG,CAAC,MAAc,EAAE,UAAoB,EAAE,EAAE;QACrE,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,IACC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAC/D,CAAC;gBACF,MAAM,UAAU,GAAG,cAAA,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAEnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACF,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IAEW,0BAAY,GAAG,CAC3B,IAAY,EACZ,UAAoB,EACC,EAAE;QACvB,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC;YACf,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC,CAAC;IAEW,iCAAmB,GAAG,CAClC,KAAa,EACb,UAAoB,EACT,EAAE;QACb,IAAI,GAAG,GAAa,EAAE,CAAC;QAEvB,GAAG,CAAC,IAAI,CACP,GAAG,UAAU,CAAC,MAAM,CACnB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAC/D,CACD,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC5B,IAAI,MAAM,GAAG,cAAA,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IAEW,+BAAiB,GAAG,CAChC,GAAW,EACX,UAAoB,EACT,EAAE;QACb,IAAI,GAAG,GAAa,EAAE,CAAC;QAEvB,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC5B,IAAI,MAAM,GAAG,cAAA,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IAEW,6BAAe,GAAG,CAC9B,MAAc,EACd,QAAyB,EACxB,EAAE,CACH,IAAI,OAAO,CAAQ,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,yCAAyC;QAEzC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QACnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,aAAK,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE/B,IAAI,GAAG,GAAU,EAAE,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC5B,aAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,KAAK,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACpD,aAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,IAAI,IAAI,GAAG,MAAM,QAAQ,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5D,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAEzB,GAAG,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,IAAI;oBACV,EAAE,EAAE,MAAM,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI;oBACV,aAAa,EAAE,SAAS;oBACxB,WAAW,EAAE,SAAS;iBACf,CAAC,CAAC;YACX,CAAC;YACD,aAAK,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAES,+BAAiB,GAAG,CAAC,GAAQ,EAAE,QAAyB,EAAE,EAAE,CACxE,IAAI,OAAO,CAAmB,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACvD,aAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5D,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACpE,qCAAqC;QACrC,0BAA0B;QAE1B,MAAM,OAAO,GAAG,eAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAChD,2BAA2B;QAC3B,uBAAuB;QAEvB,IACE,OAAgC;aAC/B,gBAAgB,EAAE;aAClB,QAAQ,CAAC,OAAO,CAAC,EAClB,CAAC;YACF,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,MAAM,QAAQ,CAAC,UAAU,CACnD,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAAI,CACR,CAAC;YACF,IAAI,UAAU,GAAU,EAAE,CAAC;YAC3B,KAAK,IAAI,IAAI,IAAI,eAAe,EAAE,CAAC;gBAClC,IAAI,QAAQ,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBAC5D,0CAA0C;gBAC1C,wCAAwC;gBACxC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CACxC,qBAAqB,EACrB,MAAM,CAAC,QAAQ,CAAC,EAChB,MAAM,CAAC,QAAQ,CAAC,CAChB,CAAC;gBACF,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC1B,8BAA8B;oBAC9B,IAAI,IAAI,IAAK,KAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACtC,UAAU,CAAC,IAAI,CAAE,KAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5C,CAAC;gBACF,CAAC;YACF,CAAC;YACD,oCAAoC;YACpC,0BAA0B;YAEzB,OAA+B,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAES,2BAAa,GAAG,CAAC,GAAQ,EAAE,QAAyB,EAAE,EAAE,CACpE,IAAI,OAAO,CAAM,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,IAAI,CAAC;YACJ,aAAK,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAExD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,aAAa,CAC9C,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAAI,CACR,CAAC;YACF,qCAAqC;YACrC,0BAA0B;YAE1B,MAAM,OAAO,GAAG,eAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAChD,2BAA2B;YAC3B,uBAAuB;YAEvB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CACxC,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,IAAI,EACR,EAAE,CACF,CAAC;YACF,gCAAgC;YAChC,uBAAuB;YACvB,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;YAE1B,IAAI,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,aAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzB,aAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjB,IACE,OAAgC;iBAC/B,gBAAgB,EAAE;iBAClB,QAAQ,CAAC,OAAO,CAAC,EAClB,CAAC;gBACF,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,MAAM,QAAQ,CAAC,UAAU,CACnD,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAAI,CACR,CAAC;gBACF,IAAI,UAAU,GAAU,EAAE,CAAC;gBAC3B,KAAK,IAAI,IAAI,IAAI,eAAe,EAAE,CAAC;oBAClC,IAAI,QAAQ,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CACpD,IAAI,CACJ,CAAC;oBACF,0CAA0C;oBAC1C,wCAAwC;oBACxC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CACxC,qBAAqB,EACrB,MAAM,CAAC,QAAQ,CAAC,EAChB,MAAM,CAAC,QAAQ,CAAC,CAChB,CAAC;oBACF,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC1B,8BAA8B;wBAC9B,IAAI,IAAI,IAAK,KAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;4BACtC,UAAU,CAAC,IAAI,CAAE,KAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC5C,CAAC;oBACF,CAAC;gBACF,CAAC;gBACD,oCAAoC;gBACpC,0BAA0B;gBAEzB,OAA+B,CAAC,aAAa,CAC7C,UAAU,EACV,CAAC,CACD,CAAC;gBAEF,IAAI,GAAI,OAAgC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAE5D,kBAAkB;gBAClB,6CAA6C;gBAC7C,sCAAsC;YACvC,CAAC;YACD,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YACD,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC;YAC5B,aAAK,CAAC,IAAI,CACT,yCAAyC,GAAG,CAAC,IAAI,EAAE,CACnD,CAAC;YACF,aAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,aAAK,CAAC,KAAK,CACV,oCAAoC,GAAG,CAAC,IAAI,MAC3C,GAAG,CAAC,IACL,OAAO,GAAG,CAAC,EAAE,MACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACtD,EAAE,CACF,CAAC;YAEF,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;YACzB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;YAEvB,OAAO,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;IACF,CAAC,CAAC,CAAC;IAES,8BAAgB,GAAG,CAC/B,MAAc,EACd,QAAyB,EACxB,EAAE,CACH,IAAI,OAAO,CAAQ,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,cAAA,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAES,uBAAS,GAAG,KAAK,EAC7B,MAA0B,EAC1B,OAAe,EACf,KAA2B,EAC3B,QAAa,EACb,cAA4C,EAC3C,EAAE;QACH,aAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;QAC9D,aAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QAEjD,MAAM,QAAQ,CAAC,SAAS,CACvB,MAAM,EAAE,IAAI,EACZ,OAAO,EACP,MAAM,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EACtC,MAAM,KAAK,CAAC,aAAa,EAAE,CAC3B,CAAC;IACH,CAAC,CAAC;IAEW,6BAAe,GAAG,CAAC,MAAc,EAAE,EAAE;QACjD,IAAI,GAAG,GAAa,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,GAAG,cAAA,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAE/B,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IAEW,8CAAgC,GAAG,CAC/C,MAAc,EACd,QAAyB,EACxB,EAAE,CACH,IAAI,OAAO,CAA8B,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAClE,IAAI,EAAE,GAAuB,SAAS,CAAC;QACvC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC;YACJ,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAW,CAAC;YAC3D,KAAK,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CACtD,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,EAAE,CACF,IAAI,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAChD,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EACnB,EAAE,CACF,EAAE,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,aAAK,CAAC,IAAI,CACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACtD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAoB,SAAS,CAAC;QACxC,IAAI,CAAC;YACJ,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAW,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,aAAK,CAAC,IAAI,CACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACtD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC;YACJ,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;gBAC3C,yBAAyB;gBACzB,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAC9B,GAAG,MAAM;qBACP,KAAK,CAAC,SAAS,CAAC;qBAChB,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACxC,CAAC;gBACF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;gBAEtD,uBAAuB;gBACvB,sBAAsB;gBACtB,MAAM,GAAG;0BACY,MAAM;qDACqB,CAAC;YAClD,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,aAAK,CAAC,KAAK,CACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACtD,CAAC;QACH,CAAC;QAED,IAAI,oBAAoB,GAAU,EAAE,CAAC;QACrC,IAAI,CAAC;YACJ,oBAAoB;gBACnB,MAAM,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,aAAK,CAAC,KAAK,CACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACtD,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,oCAAoC;QAEpC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC;YACJ,SAAS,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,aAAK,CAAC,IAAI,CACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACtD,CAAC;QACH,CAAC;QACD,uCAAuC;QAEvC,MAAM,WAAW,GAAG;YACnB,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,MAAM;YACd,cAAc,EAAE,oBAAoB;YACpC,SAAS,EAAE,SAAS;SACpB,CAAC;QACF,aAAK,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAEzC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAES,sBAAQ,GAAG,CACvB,MAAc,EACd,KAAa,EACb,QAAyB,EACxB,EAAE,CACH,IAAI,OAAO,CAAS,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,aAAK,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE9B,MAAM,EAAE,GACP,2LAA2L,CAAC;QAC7L,MAAM,EAAE,GACP,mLAAmL,CAAC;QACrL,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAC5B,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACnC,MAAM,OAAO,GAAG,KAAK,IAAI,CACxB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC/B,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAC/C,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC/B,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAE5C,aAAK,CAAC,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,aAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,aAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAExB,MAAM,QAAQ;iBACZ,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;iBACnC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC3B,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChB,aAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAElB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC3B,CAAC;IACF,CAAC,CAAC,CAAC;IAES,gCAAkB,GAAG,CACjC,MAAc,EACd,YAAoB,EACpB,QAAyB,EACxB,EAAE,CACH,IAAI,OAAO,CAAS,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAErC,MAAM,SAAS,GAAG,YAAY;aAC5B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;aACnB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;aACnB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEtB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAE1C,aAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,aAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,aAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,aAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEzB,MAAM,QAAQ;aACZ,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;aACxC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC3B,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAChB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAES,sBAAQ,GAAG,CAAC,GAAQ,EAAE,IAAS,EAAE,QAAyB,EAAE,EAAE,CAC1E,IAAI,OAAO,CAAS,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,QAAQ;aACZ,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;aACxC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,aAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC3B,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAChB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAES,uBAAS,GAAG,CACxB,GAAQ,EACR,MAAc,EACd,QAAyB,EACxB,EAAE,CACH,IAAI,OAAO,CAAS,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,QAAQ;aACZ,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;aACrC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,aAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC3B,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAChB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,EA9mBgB,aAAa,6BAAb,aAAa,QA8mB7B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Tag data structure
3
+ */
4
+ export interface Tag {
5
+ from: string;
6
+ name: string;
7
+ abiType: string;
8
+ value: string;
9
+ fieldNamesHash: string[];
10
+ valueFormatted?: string | null;
11
+ }
12
+ /**
13
+ * Flattened domain data structure
14
+ */
15
+ export interface FlatDomainData {
16
+ id: string;
17
+ name: string;
18
+ did: string;
19
+ note: string;
20
+ allowSubdomain: boolean;
21
+ owner: string;
22
+ parentId?: string;
23
+ level: number;
24
+ tags: Tag[];
25
+ }
26
+ /**
27
+ * Raw domain data returned by contract
28
+ */
29
+ export interface RawDomainData {
30
+ tokenId: bigint;
31
+ domain: string;
32
+ did: string;
33
+ notes: string;
34
+ allowSubdomain: boolean;
35
+ owner: string;
36
+ tags: RawTagData[];
37
+ }
38
+ /**
39
+ * Raw Tag data returned by contract
40
+ */
41
+ export interface RawTagData {
42
+ from: string;
43
+ name: string;
44
+ abiType: string;
45
+ value: string;
46
+ fieldNamesHash: string[];
47
+ }
48
+ /**
49
+ * fetchAll options
50
+ */
51
+ export interface FetchAllOptions {
52
+ queryContractAddress?: string;
53
+ batchSize?: number;
54
+ onProgress?: (current: number, total: number) => void;
55
+ }
56
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -1,23 +1,16 @@
1
- import { PackageDomain } from './domain/index';
2
- import DIDTag from './tag/index';
3
1
  import { ethers } from 'ethers';
4
2
  import { DomainContext, TransactionResult } from './business';
5
- import { TagTypeBuilder } from './utils/tag-type-builder';
6
- import { TagAbiCodec } from './utils/tag-abi-codec';
7
3
  export type { DomainInfo, DomainMetaInfo, TagInfo, TransactionResult, RSAPublicKeyData, DIDKeyData } from './business';
8
4
  export { UserType, DomainContext, TagContext, createRsaKeyPair, pemToDer, derToPem, ipv4ToBytes4, bytes4ToIpv4, generateMnemonic, getEthereumAddressFromMnemonic, getEthereumAddressFromPrivateKey, getEVMPrivateKeyFromMnemonic, getDIDFromMnemonic, generateDIDKeyData, deriveDIDFromMnemonic, getEd25519JwkFromMnemonic } from './business';
9
- type Domain = PackageDomain.Domain;
10
- type StoreDomain = PackageDomain.DomainData;
11
- export declare class DIDConsole implements DIDTag.ABITypeProviderHolder {
5
+ export declare class DIDConsole {
12
6
  rpcNode: string;
13
7
  contractDid: string;
14
8
  contractRootResolver: string;
15
9
  contractAbiType: string;
16
10
  contractRootResolver2?: string;
17
11
  supportSvcUrl?: string;
12
+ queryContractAddress?: string;
18
13
  signer?: ethers.Signer;
19
- allDomainCache: Domain[];
20
- treesCache: Domain[];
21
14
  private _contractDID?;
22
15
  private _signerContractDID?;
23
16
  private _contractRootResolver?;
@@ -25,7 +18,7 @@ export declare class DIDConsole implements DIDTag.ABITypeProviderHolder {
25
18
  private _contractRootResolver2?;
26
19
  private _signerContractRootResolver2?;
27
20
  private _provider?;
28
- constructor(rpcNode: string, contractDid: string, contractRootResolver: string, contractAbiType: string, contractRootResolver2?: string, supportSvcUrl?: string);
21
+ constructor(rpcNode: string, contractDid: string, contractRootResolver: string, contractAbiType: string, contractRootResolver2?: string, supportSvcUrl?: string, queryContractAddress?: string);
29
22
  getProvider: () => ethers.JsonRpcProvider;
30
23
  setSigner: (signerOrPrivateKeyOrMnemonic: ethers.Signer | string) => Promise<void>;
31
24
  getSigner: () => ethers.Signer;
@@ -39,14 +32,54 @@ export declare class DIDConsole implements DIDTag.ABITypeProviderHolder {
39
32
  getContractRootResolver2: () => ethers.Contract;
40
33
  getSignerContractRootResolver2: () => ethers.Contract;
41
34
  getSignerContractRootResolverByProvider: (provider: ethers.JsonRpcApiProvider) => Promise<ethers.Contract>;
42
- fetchAll: () => Promise<PackageDomain.Domain[]>;
43
- fetchDomain: (name: string) => Promise<PackageDomain.Domain | undefined>;
44
- updateDomain: (name: string) => Promise<PackageDomain.Domain>;
45
- updateDomainById: (id: string) => Promise<PackageDomain.Domain>;
46
- formatData: (doamin: Domain) => Promise<PackageDomain.DomainData>;
47
- formatDatas: (doamins: Domain[]) => Promise<PackageDomain.DomainData[]>;
48
- loadData: (data: StoreDomain) => Promise<PackageDomain.Domain>;
49
- loadDatas: (datas: StoreDomain[]) => Promise<PackageDomain.Domain[]>;
35
+ /**
36
+ * Fetch a single domain by name or tokenId
37
+ * Uses the query contract configured for this network
38
+ *
39
+ * @param nameOrTokenId - Domain name or tokenId
40
+ * @returns Domain data or null if not found
41
+ *
42
+ * @example
43
+ * const domain = await console.fetchDomain("alice.olares.com");
44
+ */
45
+ fetchDomain(nameOrTokenId: string | bigint): Promise<import("./domain/types").FlatDomainData | null>;
46
+ /**
47
+ * Fetch multiple domains with pagination
48
+ *
49
+ * @param offset - Starting index
50
+ * @param limit - Number of domains to fetch
51
+ * @returns Array of domains in the specified range
52
+ *
53
+ * @example
54
+ * const domains = await console.fetchDomains(0, 10);
55
+ */
56
+ fetchDomains(offset: number, limit: number): Promise<import("./domain/types").FlatDomainData[]>;
57
+ /**
58
+ * Fetch all domains with flat structure
59
+ *
60
+ * @param options - Additional options (batchSize, onProgress)
61
+ * @returns Array of all domains
62
+ *
63
+ * @example
64
+ * const domains = await console.fetchAllFlat({
65
+ * batchSize: 100,
66
+ * onProgress: (current, total) => console.log(`${current}/${total}`)
67
+ * });
68
+ */
69
+ fetchAllFlat(options?: {
70
+ batchSize?: number;
71
+ onProgress?: (current: number, total: number) => void;
72
+ }): Promise<import("./domain/types").FlatDomainData[]>;
73
+ /**
74
+ * Fetch multiple domains by their indices
75
+ *
76
+ * @param indices - Array of domain indices (e.g., [5, 6, 9, 10])
77
+ * @returns Array of domains corresponding to the specified indices
78
+ *
79
+ * @example
80
+ * const domains = await console.fetchDomainsByIndices([5, 6, 9, 10]);
81
+ */
82
+ fetchDomainsByIndices(indices: number[]): Promise<import("./domain/types").FlatDomainData[]>;
50
83
  /**
51
84
  * Uses a chain-style operation design pattern, returning the operation context for the specified domain
52
85
  * For example: await console.domain('developer.olares.com').setRSAPublicKey(rsaKey);
@@ -88,12 +121,25 @@ export declare class DIDConsole implements DIDTag.ABITypeProviderHolder {
88
121
  acceptOwnership(): Promise<TransactionResult>;
89
122
  }
90
123
  declare namespace OlaresID {
91
- const createConsole: (rpcNode: string, contractDid: string, contractRootResolver: string, contractAbiType: string, contractRootResolver2?: string, supportSvcUrl?: string) => DIDConsole;
124
+ const createConsole: (rpcNode: string, contractDid: string, contractRootResolver: string, contractAbiType: string, contractRootResolver2?: string, supportSvcUrl?: string, queryContractAddress?: string) => DIDConsole;
92
125
  const createMainnet: () => DIDConsole;
93
126
  const createTestnet: () => DIDConsole;
94
- export import Domain = PackageDomain;
95
- export import Tag = DIDTag;
96
- type StoreDomain = PackageDomain.DomainData;
127
+ /**
128
+ * Create a DIDConsole instance with custom RPC endpoint
129
+ * Contract addresses are loaded from configuration based on network type
130
+ *
131
+ * @param rpc - Custom RPC endpoint URL
132
+ * @param network - Network type: 'mainnet' or 'sepolia' (default: 'mainnet')
133
+ * @returns DIDConsole instance
134
+ *
135
+ * @example
136
+ * // Create mainnet instance with custom RPC
137
+ * const console = OlaresID.createWithRpc('https://my-optimism-rpc.com');
138
+ *
139
+ * // Create sepolia instance with custom RPC
140
+ * const console = OlaresID.createWithRpc('https://my-sepolia-rpc.com', 'sepolia');
141
+ */
142
+ const createWithRpc: (rpc: string, network?: "mainnet" | "sepolia") => DIDConsole;
97
143
  const ABI_DID: {
98
144
  abi: ({
99
145
  inputs: never[];
@@ -250,7 +296,18 @@ declare namespace OlaresID {
250
296
  };
251
297
  }
252
298
  export { debug } from './debug';
253
- export { TagTypeBuilder, TagAbiCodec };
299
+ export { TagTypeBuilder } from './utils/tag-type-builder';
300
+ export { TagTypeParser } from './utils/tag-type-parser';
254
301
  export { normalizeToDomain, normalizeToOlaresId } from './utils/olares-id';
302
+ export { parseEvents } from './utils/event-parser';
303
+ export type { EthLog, AnyParsedEvent, ParsedEvent, TerminusDIDEventName, TerminusDIDEventArgsMap, TransferArgs, ApprovalArgs, ApprovalForAllArgs, InitializedArgs, NewTagTypeArgs, OffchainStringArrayArgs, OwnershipTransferStartedArgs, OwnershipTransferredArgs, TagAddedArgs, TagElemPoppedArgs, TagElemPushedArgs, TagElemUpdatedArgs, TagRemovedArgs, TransferByParentOwnerArgs, TransferBySuperAdminArgs, UpgradedArgs } from './utils/event-parser';
304
+ export { isTransferEvent, isMintEvent, isTagAddedEvent, isTagRemovedEvent, isTagElemUpdatedEvent, isTagElemPushedEvent, isTagElemPoppedEvent, isNewTagTypeEvent } from './utils/event-parser';
305
+ export { QueryContractHelper } from './domain/core';
306
+ export { fetchDomain, fetchDomains, fetchDomainsByIndices, fetchAllFlat, FetchDomainOptions, FetchDomainsOptions, FetchDomainsByIndicesOptions } from './domain/index';
307
+ export type { Tag, FlatDomainData, RawDomainData, RawTagData, FetchAllOptions } from './domain/types';
308
+ export { getContractConfig } from './config';
309
+ export type { ContractConfig } from './config';
310
+ export type { PublicJwk, PrivateJwk, VerificationMethod, DIDDocument, Service } from './utils/crypto-utils';
311
+ export { LDKeyType, getPublicJWKFromX, getPublicJWKFromDID, getPrivateJWKFromD, getIDFromEd25519Pubkey, getPrivateJWKFromEd25519, getFullyQualifiedVerificationMethodID, resolveDID } from './utils/crypto-utils';
255
312
  export default OlaresID;
256
313
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -36,24 +36,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.normalizeToOlaresId = exports.normalizeToDomain = exports.TagAbiCodec = exports.TagTypeBuilder = exports.debug = exports.DIDConsole = exports.getEd25519JwkFromMnemonic = exports.deriveDIDFromMnemonic = exports.generateDIDKeyData = exports.getDIDFromMnemonic = exports.getEVMPrivateKeyFromMnemonic = exports.getEthereumAddressFromPrivateKey = exports.getEthereumAddressFromMnemonic = exports.generateMnemonic = exports.bytes4ToIpv4 = exports.ipv4ToBytes4 = exports.derToPem = exports.pemToDer = exports.createRsaKeyPair = exports.TagContext = exports.DomainContext = exports.UserType = void 0;
40
- const index_1 = require("./domain/index");
41
- const index_2 = __importDefault(require("./tag/index"));
39
+ exports.resolveDID = exports.getFullyQualifiedVerificationMethodID = exports.getPrivateJWKFromEd25519 = exports.getIDFromEd25519Pubkey = exports.getPrivateJWKFromD = exports.getPublicJWKFromDID = exports.getPublicJWKFromX = exports.LDKeyType = exports.getContractConfig = exports.fetchAllFlat = exports.fetchDomainsByIndices = exports.fetchDomains = exports.fetchDomain = exports.QueryContractHelper = exports.isNewTagTypeEvent = exports.isTagElemPoppedEvent = exports.isTagElemPushedEvent = exports.isTagElemUpdatedEvent = exports.isTagRemovedEvent = exports.isTagAddedEvent = exports.isMintEvent = exports.isTransferEvent = exports.parseEvents = exports.normalizeToOlaresId = exports.normalizeToDomain = exports.TagTypeParser = exports.TagTypeBuilder = exports.debug = exports.DIDConsole = exports.getEd25519JwkFromMnemonic = exports.deriveDIDFromMnemonic = exports.generateDIDKeyData = exports.getDIDFromMnemonic = exports.getEVMPrivateKeyFromMnemonic = exports.getEthereumAddressFromPrivateKey = exports.getEthereumAddressFromMnemonic = exports.generateMnemonic = exports.bytes4ToIpv4 = exports.ipv4ToBytes4 = exports.derToPem = exports.pemToDer = exports.createRsaKeyPair = exports.TagContext = exports.DomainContext = exports.UserType = void 0;
42
40
  const ethers_1 = require("ethers");
43
41
  const TerminusDIDABI_1 = __importDefault(require("./abi/TerminusDIDABI"));
44
42
  const RootResolverABI_1 = __importDefault(require("./abi/RootResolverABI"));
45
43
  const RootResolver2ABI_1 = __importDefault(require("./abi/RootResolver2ABI"));
46
- const debug_1 = require("./debug");
47
44
  const error_parser_1 = require("./utils/error-parser");
48
- const olares_id_1 = require("./utils/olares-id");
49
45
  const business_1 = require("./business");
50
- // Import Tag utilities
51
- const tag_type_builder_1 = require("./utils/tag-type-builder");
52
- Object.defineProperty(exports, "TagTypeBuilder", { enumerable: true, get: function () { return tag_type_builder_1.TagTypeBuilder; } });
53
- const tag_abi_codec_1 = require("./utils/tag-abi-codec");
54
- Object.defineProperty(exports, "TagAbiCodec", { enumerable: true, get: function () { return tag_abi_codec_1.TagAbiCodec; } });
55
46
  // Import config utilities
56
47
  const config_1 = require("./config");
48
+ // Import domain functions
49
+ const index_1 = require("./domain/index");
57
50
  var business_2 = require("./business");
58
51
  Object.defineProperty(exports, "UserType", { enumerable: true, get: function () { return business_2.UserType; } });
59
52
  Object.defineProperty(exports, "DomainContext", { enumerable: true, get: function () { return business_2.DomainContext; } });
@@ -72,9 +65,7 @@ Object.defineProperty(exports, "generateDIDKeyData", { enumerable: true, get: fu
72
65
  Object.defineProperty(exports, "deriveDIDFromMnemonic", { enumerable: true, get: function () { return business_2.deriveDIDFromMnemonic; } });
73
66
  Object.defineProperty(exports, "getEd25519JwkFromMnemonic", { enumerable: true, get: function () { return business_2.getEd25519JwkFromMnemonic; } });
74
67
  class DIDConsole {
75
- constructor(rpcNode, contractDid, contractRootResolver, contractAbiType, contractRootResolver2, supportSvcUrl) {
76
- this.allDomainCache = [];
77
- this.treesCache = [];
68
+ constructor(rpcNode, contractDid, contractRootResolver, contractAbiType, contractRootResolver2, supportSvcUrl, queryContractAddress) {
78
69
  this.getProvider = () => {
79
70
  if (!this._provider) {
80
71
  this._provider = new ethers_1.ethers.JsonRpcProvider(this.rpcNode);
@@ -168,129 +159,89 @@ class DIDConsole {
168
159
  return this._signerContractRootResolver2;
169
160
  };
170
161
  this.getSignerContractRootResolverByProvider = async (provider) => new ethers_1.ethers.Contract(this.contractRootResolver, RootResolverABI_1.default.abi, await provider.getSigner());
171
- this.fetchAll = () => new Promise(async (resolve, reject) => {
172
- debug_1.debug.group('fetchAll');
173
- const contract = await this.getContractDID();
174
- const size = await contract.totalSupply();
175
- debug_1.debug.info('fetchAll--->domain size', size);
176
- let arr = [];
177
- for (let index = 0; index < size; index++) {
178
- const domain = await index_1.PackageDomain.syncByIndex(index, contract);
179
- debug_1.debug.debug('fetchAll--->synced domain', domain);
180
- debug_1.debug.info(`fetchAll--->${((index / parseInt(size)) * 100).toFixed(0)}%`);
181
- arr.push(domain);
182
- }
183
- this.allDomainCache = arr;
184
- this.treesCache = index_1.PackageDomain.buildTree(this.allDomainCache);
185
- debug_1.debug.groupEnd();
186
- resolve(this.treesCache);
187
- });
188
- this.fetchDomain = (name) => new Promise(async (resolve, reject) => {
189
- // Support Olares ID format (user@domain.com)
190
- const normalizedName = (0, olares_id_1.normalizeToDomain)(name);
191
- debug_1.debug.group('fetchDomain');
192
- const hasCache = this.allDomainCache.length > 0;
193
- debug_1.debug.info('fetchDomain--->hasCache', hasCache);
194
- if (hasCache) {
195
- const domain = index_1.PackageDomain.findASubtree(normalizedName, this.allDomainCache);
196
- debug_1.debug.groupEnd();
197
- resolve(domain);
198
- }
199
- else {
200
- const domain = await index_1.PackageDomain.syncByName(normalizedName, await this.getContractDID());
201
- debug_1.debug.groupEnd();
202
- resolve(domain);
203
- }
204
- });
205
- this.updateDomain = (name) => new Promise(async (resolve, reject) => {
206
- // Support Olares ID format (user@domain.com)
207
- const normalizedName = (0, olares_id_1.normalizeToDomain)(name);
208
- const domain = await index_1.PackageDomain.syncByName(normalizedName, await this.getContractDID());
209
- if (domain == undefined) {
210
- reject('not found domain');
211
- return;
212
- }
213
- const [oldDomain] = this.allDomainCache.filter((d) => d.name == domain.name);
214
- if (oldDomain != undefined) {
215
- for (const tagNew of domain.tags) {
216
- for (const tagOld of oldDomain.tags) {
217
- if (tagNew.name == tagOld.name) {
218
- if (tagNew.valueFormated == undefined &&
219
- tagOld.valueFormated != undefined) {
220
- tagNew.valueFormated = tagOld.valueFormated;
221
- }
222
- if (tagNew.valueSource == undefined &&
223
- tagOld.valueSource != undefined) {
224
- tagNew.valueSource = tagOld.valueSource;
225
- }
226
- if (tagNew.definition == undefined &&
227
- tagOld.definition != undefined) {
228
- tagNew.definition = tagOld.definition;
229
- }
230
- }
231
- }
232
- }
233
- }
234
- this.allDomainCache = this.allDomainCache.filter((d) => d.name != domain.name);
235
- this.allDomainCache.push(domain);
236
- this.treesCache = index_1.PackageDomain.buildTree(this.allDomainCache);
237
- resolve(domain);
238
- });
239
- this.updateDomainById = (id) => new Promise(async (resolve, reject) => {
240
- const domain = await index_1.PackageDomain.syncById(id, await this.getContractDID());
241
- if (domain == undefined) {
242
- reject('not found domain');
243
- return;
244
- }
245
- const [oldDomain] = this.allDomainCache.filter((d) => d.name == domain.name);
246
- for (const tagNew of domain.tags) {
247
- for (const tagOld of oldDomain.tags) {
248
- if (tagNew.name == tagOld.name) {
249
- if (tagNew.valueFormated == undefined &&
250
- tagOld.valueFormated != undefined) {
251
- tagNew.valueFormated = tagOld.valueFormated;
252
- }
253
- if (tagNew.valueSource == undefined &&
254
- tagOld.valueSource != undefined) {
255
- tagNew.valueSource = tagOld.valueSource;
256
- }
257
- if (tagNew.definition == undefined &&
258
- tagOld.definition != undefined) {
259
- tagNew.definition = tagOld.definition;
260
- }
261
- }
262
- }
263
- }
264
- this.allDomainCache = this.allDomainCache.filter((d) => d.name != domain.name);
265
- this.allDomainCache.push(domain);
266
- this.treesCache = index_1.PackageDomain.buildTree(this.allDomainCache);
267
- resolve(domain);
268
- });
269
- this.formatData = (doamin) => new Promise((resolve, reject) => {
270
- resolve(doamin);
271
- });
272
- this.formatDatas = (doamins) => new Promise((resolve, reject) => {
273
- resolve(doamins);
274
- });
275
- this.loadData = (data) => new Promise((resolve, reject) => {
276
- resolve(data);
277
- });
278
- this.loadDatas = (datas) => new Promise((resolve, reject) => {
279
- this.treesCache = datas;
280
- let arr = [];
281
- arr.push(...this.treesCache);
282
- for (const StoreDomain of this.treesCache) {
283
- arr.push(...index_1.PackageDomain.getAllSubdoamin(StoreDomain));
284
- }
285
- this.allDomainCache = arr;
286
- resolve(datas);
287
- });
288
162
  this.rpcNode = rpcNode;
289
163
  this.contractDid = contractDid;
290
164
  this.contractRootResolver = contractRootResolver;
291
165
  this.contractAbiType = contractAbiType;
292
166
  this.contractRootResolver2 = contractRootResolver2;
293
167
  this.supportSvcUrl = supportSvcUrl;
168
+ this.queryContractAddress = queryContractAddress;
169
+ }
170
+ /**
171
+ * Fetch a single domain by name or tokenId
172
+ * Uses the query contract configured for this network
173
+ *
174
+ * @param nameOrTokenId - Domain name or tokenId
175
+ * @returns Domain data or null if not found
176
+ *
177
+ * @example
178
+ * const domain = await console.fetchDomain("alice.olares.com");
179
+ */
180
+ async fetchDomain(nameOrTokenId) {
181
+ if (!this.queryContractAddress) {
182
+ throw new Error('Query contract address not configured for this network');
183
+ }
184
+ return (0, index_1.fetchDomain)(this, nameOrTokenId, {
185
+ queryContractAddress: this.queryContractAddress
186
+ });
187
+ }
188
+ /**
189
+ * Fetch multiple domains with pagination
190
+ *
191
+ * @param offset - Starting index
192
+ * @param limit - Number of domains to fetch
193
+ * @returns Array of domains in the specified range
194
+ *
195
+ * @example
196
+ * const domains = await console.fetchDomains(0, 10);
197
+ */
198
+ async fetchDomains(offset, limit) {
199
+ if (!this.queryContractAddress) {
200
+ throw new Error('Query contract address not configured for this network');
201
+ }
202
+ return (0, index_1.fetchDomains)(this, {
203
+ offset,
204
+ limit,
205
+ queryContractAddress: this.queryContractAddress
206
+ });
207
+ }
208
+ /**
209
+ * Fetch all domains with flat structure
210
+ *
211
+ * @param options - Additional options (batchSize, onProgress)
212
+ * @returns Array of all domains
213
+ *
214
+ * @example
215
+ * const domains = await console.fetchAllFlat({
216
+ * batchSize: 100,
217
+ * onProgress: (current, total) => console.log(`${current}/${total}`)
218
+ * });
219
+ */
220
+ async fetchAllFlat(options = {}) {
221
+ if (!this.queryContractAddress) {
222
+ throw new Error('Query contract address not configured for this network');
223
+ }
224
+ return (0, index_1.fetchAllFlat)(this, {
225
+ queryContractAddress: this.queryContractAddress,
226
+ ...options
227
+ });
228
+ }
229
+ /**
230
+ * Fetch multiple domains by their indices
231
+ *
232
+ * @param indices - Array of domain indices (e.g., [5, 6, 9, 10])
233
+ * @returns Array of domains corresponding to the specified indices
234
+ *
235
+ * @example
236
+ * const domains = await console.fetchDomainsByIndices([5, 6, 9, 10]);
237
+ */
238
+ async fetchDomainsByIndices(indices) {
239
+ if (!this.queryContractAddress) {
240
+ throw new Error('Query contract address not configured for this network');
241
+ }
242
+ return (0, index_1.fetchDomainsByIndices)(this, indices, {
243
+ queryContractAddress: this.queryContractAddress
244
+ });
294
245
  }
295
246
  /**
296
247
  * Uses a chain-style operation design pattern, returning the operation context for the specified domain
@@ -439,33 +390,91 @@ class DIDConsole {
439
390
  exports.DIDConsole = DIDConsole;
440
391
  var OlaresID;
441
392
  (function (OlaresID) {
442
- OlaresID.createConsole = (rpcNode, contractDid, contractRootResolver, contractAbiType, contractRootResolver2, supportSvcUrl) => {
443
- return new DIDConsole(rpcNode, contractDid, contractRootResolver, contractAbiType, contractRootResolver2, supportSvcUrl);
393
+ OlaresID.createConsole = (rpcNode, contractDid, contractRootResolver, contractAbiType, contractRootResolver2, supportSvcUrl, queryContractAddress) => {
394
+ return new DIDConsole(rpcNode, contractDid, contractRootResolver, contractAbiType, contractRootResolver2, supportSvcUrl, queryContractAddress);
444
395
  };
445
396
  OlaresID.createMainnet = () => {
446
397
  const config = (0, config_1.getNetworkConfig)('mainnet');
447
398
  if (!config) {
448
- throw new Error('Mainnet configuration not found in config.json');
399
+ throw new Error('Mainnet configuration not found');
449
400
  }
450
- return OlaresID.createConsole(config.rpc, config.contractDid, config.contractRootResolver, config.contractAbiType, config.contractRootResolver2, config.supportSvcUrl);
401
+ return OlaresID.createConsole(config.rpc, config.contractDid, config.contractRootResolver, config.contractAbiType, config.contractRootResolver2, config.supportSvcUrl, config.queryContract);
451
402
  };
452
403
  OlaresID.createTestnet = () => {
453
404
  const config = (0, config_1.getNetworkConfig)('sepolia');
454
405
  if (!config) {
455
- throw new Error('Sepolia configuration not found in config.json');
406
+ throw new Error('Sepolia configuration not found');
456
407
  }
457
- return OlaresID.createConsole(config.rpc, config.contractDid, config.contractRootResolver, config.contractAbiType, config.contractRootResolver2, config.supportSvcUrl);
408
+ return OlaresID.createConsole(config.rpc, config.contractDid, config.contractRootResolver, config.contractAbiType, config.contractRootResolver2, config.supportSvcUrl, config.queryContract);
409
+ };
410
+ /**
411
+ * Create a DIDConsole instance with custom RPC endpoint
412
+ * Contract addresses are loaded from configuration based on network type
413
+ *
414
+ * @param rpc - Custom RPC endpoint URL
415
+ * @param network - Network type: 'mainnet' or 'sepolia' (default: 'mainnet')
416
+ * @returns DIDConsole instance
417
+ *
418
+ * @example
419
+ * // Create mainnet instance with custom RPC
420
+ * const console = OlaresID.createWithRpc('https://my-optimism-rpc.com');
421
+ *
422
+ * // Create sepolia instance with custom RPC
423
+ * const console = OlaresID.createWithRpc('https://my-sepolia-rpc.com', 'sepolia');
424
+ */
425
+ OlaresID.createWithRpc = (rpc, network = 'mainnet') => {
426
+ const config = (0, config_1.getNetworkConfig)(network);
427
+ if (!config) {
428
+ throw new Error(`${network} configuration not found`);
429
+ }
430
+ return OlaresID.createConsole(rpc, // Use custom RPC
431
+ config.contractDid, config.contractRootResolver, config.contractAbiType, config.contractRootResolver2, config.supportSvcUrl, config.queryContract);
458
432
  };
459
- OlaresID.Domain = index_1.PackageDomain;
460
- OlaresID.Tag = index_2.default;
461
433
  OlaresID.ABI_DID = TerminusDIDABI_1.default;
462
434
  OlaresID.ABI_ROOT_RESOLVER = RootResolverABI_1.default;
463
435
  })(OlaresID || (OlaresID = {}));
464
- var debug_2 = require("./debug");
465
- Object.defineProperty(exports, "debug", { enumerable: true, get: function () { return debug_2.debug; } });
436
+ var debug_1 = require("./debug");
437
+ Object.defineProperty(exports, "debug", { enumerable: true, get: function () { return debug_1.debug; } });
438
+ // Export Tag utilities
439
+ var tag_type_builder_1 = require("./utils/tag-type-builder");
440
+ Object.defineProperty(exports, "TagTypeBuilder", { enumerable: true, get: function () { return tag_type_builder_1.TagTypeBuilder; } });
441
+ var tag_type_parser_1 = require("./utils/tag-type-parser");
442
+ Object.defineProperty(exports, "TagTypeParser", { enumerable: true, get: function () { return tag_type_parser_1.TagTypeParser; } });
466
443
  // Export Olares ID utilities
467
- var olares_id_2 = require("./utils/olares-id");
468
- Object.defineProperty(exports, "normalizeToDomain", { enumerable: true, get: function () { return olares_id_2.normalizeToDomain; } });
469
- Object.defineProperty(exports, "normalizeToOlaresId", { enumerable: true, get: function () { return olares_id_2.normalizeToOlaresId; } });
444
+ var olares_id_1 = require("./utils/olares-id");
445
+ Object.defineProperty(exports, "normalizeToDomain", { enumerable: true, get: function () { return olares_id_1.normalizeToDomain; } });
446
+ Object.defineProperty(exports, "normalizeToOlaresId", { enumerable: true, get: function () { return olares_id_1.normalizeToOlaresId; } });
447
+ // Export event parser
448
+ var event_parser_1 = require("./utils/event-parser");
449
+ Object.defineProperty(exports, "parseEvents", { enumerable: true, get: function () { return event_parser_1.parseEvents; } });
450
+ var event_parser_2 = require("./utils/event-parser");
451
+ Object.defineProperty(exports, "isTransferEvent", { enumerable: true, get: function () { return event_parser_2.isTransferEvent; } });
452
+ Object.defineProperty(exports, "isMintEvent", { enumerable: true, get: function () { return event_parser_2.isMintEvent; } });
453
+ Object.defineProperty(exports, "isTagAddedEvent", { enumerable: true, get: function () { return event_parser_2.isTagAddedEvent; } });
454
+ Object.defineProperty(exports, "isTagRemovedEvent", { enumerable: true, get: function () { return event_parser_2.isTagRemovedEvent; } });
455
+ Object.defineProperty(exports, "isTagElemUpdatedEvent", { enumerable: true, get: function () { return event_parser_2.isTagElemUpdatedEvent; } });
456
+ Object.defineProperty(exports, "isTagElemPushedEvent", { enumerable: true, get: function () { return event_parser_2.isTagElemPushedEvent; } });
457
+ Object.defineProperty(exports, "isTagElemPoppedEvent", { enumerable: true, get: function () { return event_parser_2.isTagElemPoppedEvent; } });
458
+ Object.defineProperty(exports, "isNewTagTypeEvent", { enumerable: true, get: function () { return event_parser_2.isNewTagTypeEvent; } });
459
+ // Export new domain fetching functions and utilities
460
+ var core_1 = require("./domain/core");
461
+ Object.defineProperty(exports, "QueryContractHelper", { enumerable: true, get: function () { return core_1.QueryContractHelper; } });
462
+ var index_2 = require("./domain/index");
463
+ Object.defineProperty(exports, "fetchDomain", { enumerable: true, get: function () { return index_2.fetchDomain; } });
464
+ Object.defineProperty(exports, "fetchDomains", { enumerable: true, get: function () { return index_2.fetchDomains; } });
465
+ Object.defineProperty(exports, "fetchDomainsByIndices", { enumerable: true, get: function () { return index_2.fetchDomainsByIndices; } });
466
+ Object.defineProperty(exports, "fetchAllFlat", { enumerable: true, get: function () { return index_2.fetchAllFlat; } });
467
+ // Export config utilities
468
+ var config_2 = require("./config");
469
+ Object.defineProperty(exports, "getContractConfig", { enumerable: true, get: function () { return config_2.getContractConfig; } });
470
+ var crypto_utils_1 = require("./utils/crypto-utils");
471
+ Object.defineProperty(exports, "LDKeyType", { enumerable: true, get: function () { return crypto_utils_1.LDKeyType; } });
472
+ Object.defineProperty(exports, "getPublicJWKFromX", { enumerable: true, get: function () { return crypto_utils_1.getPublicJWKFromX; } });
473
+ Object.defineProperty(exports, "getPublicJWKFromDID", { enumerable: true, get: function () { return crypto_utils_1.getPublicJWKFromDID; } });
474
+ Object.defineProperty(exports, "getPrivateJWKFromD", { enumerable: true, get: function () { return crypto_utils_1.getPrivateJWKFromD; } });
475
+ Object.defineProperty(exports, "getIDFromEd25519Pubkey", { enumerable: true, get: function () { return crypto_utils_1.getIDFromEd25519Pubkey; } });
476
+ Object.defineProperty(exports, "getPrivateJWKFromEd25519", { enumerable: true, get: function () { return crypto_utils_1.getPrivateJWKFromEd25519; } });
477
+ Object.defineProperty(exports, "getFullyQualifiedVerificationMethodID", { enumerable: true, get: function () { return crypto_utils_1.getFullyQualifiedVerificationMethodID; } });
478
+ Object.defineProperty(exports, "resolveDID", { enumerable: true, get: function () { return crypto_utils_1.resolveDID; } });
470
479
  exports.default = OlaresID;
471
480
  //# sourceMappingURL=index.js.map