@graphprotocol/grc-20 0.31.0 → 0.32.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 (363) hide show
  1. package/README.md +4 -0
  2. package/dist/constants.d.ts +7 -0
  3. package/dist/constants.d.ts.map +1 -0
  4. package/dist/constants.js +8 -0
  5. package/dist/constants.js.map +1 -0
  6. package/dist/convert-ids.d.ts +2 -0
  7. package/dist/convert-ids.d.ts.map +1 -0
  8. package/dist/convert-ids.js +42 -0
  9. package/dist/convert-ids.js.map +1 -0
  10. package/dist/examples/ranks/create-ordinal-rank.js +4 -4
  11. package/dist/examples/ranks/create-ordinal-rank.js.map +1 -1
  12. package/dist/examples/ranks/create-weighted-rank.js +4 -4
  13. package/dist/examples/ranks/create-weighted-rank.js.map +1 -1
  14. package/dist/proto.d.ts +4 -8
  15. package/dist/proto.d.ts.map +1 -1
  16. package/dist/proto.js +4 -8
  17. package/dist/proto.js.map +1 -1
  18. package/dist/protov2.d.ts +11 -0
  19. package/dist/protov2.d.ts.map +1 -0
  20. package/dist/protov2.js +11 -0
  21. package/dist/protov2.js.map +1 -0
  22. package/dist/scripts/setup-rank-types.d.ts +2 -2
  23. package/dist/scripts/setup-rank-types.d.ts.map +1 -1
  24. package/dist/scripts/setup-rank-types.js.map +1 -1
  25. package/dist/src/codec/convert.d.ts +18 -0
  26. package/dist/src/codec/convert.d.ts.map +1 -0
  27. package/dist/src/codec/convert.js +188 -0
  28. package/dist/src/codec/convert.js.map +1 -0
  29. package/dist/src/core/account.d.ts +2 -2
  30. package/dist/src/core/account.d.ts.map +1 -1
  31. package/dist/src/core/account.js +2 -0
  32. package/dist/src/core/account.js.map +1 -1
  33. package/dist/src/core/account.test.js +69 -22
  34. package/dist/src/core/account.test.js.map +1 -1
  35. package/dist/src/core/blocks/data.d.ts +3 -3
  36. package/dist/src/core/blocks/data.d.ts.map +1 -1
  37. package/dist/src/core/blocks/data.js +2 -1
  38. package/dist/src/core/blocks/data.js.map +1 -1
  39. package/dist/src/core/blocks/data.test.js +74 -36
  40. package/dist/src/core/blocks/data.test.js.map +1 -1
  41. package/dist/src/core/blocks/image.d.ts +15 -0
  42. package/dist/src/core/blocks/image.d.ts.map +1 -0
  43. package/dist/src/core/blocks/image.js +15 -0
  44. package/dist/src/core/blocks/image.js.map +1 -0
  45. package/dist/src/core/blocks/text.d.ts +3 -3
  46. package/dist/src/core/blocks/text.d.ts.map +1 -1
  47. package/dist/src/core/blocks/text.js +2 -1
  48. package/dist/src/core/blocks/text.js.map +1 -1
  49. package/dist/src/core/blocks/text.test.js +79 -15
  50. package/dist/src/core/blocks/text.test.js.map +1 -1
  51. package/dist/src/core/idsv2/content.d.ts +59 -0
  52. package/dist/src/core/idsv2/content.d.ts.map +1 -0
  53. package/dist/src/core/idsv2/content.js +59 -0
  54. package/dist/src/core/idsv2/content.js.map +1 -0
  55. package/dist/src/core/idsv2/network.d.ts +5 -0
  56. package/dist/src/core/idsv2/network.d.ts.map +1 -0
  57. package/dist/src/core/idsv2/network.js +5 -0
  58. package/dist/src/core/idsv2/network.js.map +1 -0
  59. package/dist/src/core/idsv2/system.d.ts +222 -0
  60. package/dist/src/core/idsv2/system.d.ts.map +1 -0
  61. package/dist/src/core/idsv2/system.js +230 -0
  62. package/dist/src/core/idsv2/system.js.map +1 -0
  63. package/dist/src/core/image.d.ts +40 -0
  64. package/dist/src/core/image.d.ts.map +1 -0
  65. package/dist/src/core/image.js +76 -0
  66. package/dist/src/core/image.js.map +1 -0
  67. package/dist/src/core/image.test.d.ts +2 -0
  68. package/dist/src/core/image.test.d.ts.map +1 -0
  69. package/dist/src/core/image.test.js +52 -0
  70. package/dist/src/core/image.test.js.map +1 -0
  71. package/dist/src/core/relation.d.ts +88 -0
  72. package/dist/src/core/relation.d.ts.map +1 -0
  73. package/dist/src/core/relation.js +89 -0
  74. package/dist/src/core/relation.js.map +1 -0
  75. package/dist/src/core/relation.test.d.ts +2 -0
  76. package/dist/src/core/relation.test.d.ts.map +1 -0
  77. package/dist/src/core/relation.test.js +45 -0
  78. package/dist/src/core/relation.test.js.map +1 -0
  79. package/dist/src/core/triple.d.ts +50 -0
  80. package/dist/src/core/triple.d.ts.map +1 -0
  81. package/dist/src/core/triple.js +56 -0
  82. package/dist/src/core/triple.js.map +1 -0
  83. package/dist/src/core/triple.test.d.ts +2 -0
  84. package/dist/src/core/triple.test.d.ts.map +1 -0
  85. package/dist/src/core/triple.test.js +37 -0
  86. package/dist/src/core/triple.test.js.map +1 -0
  87. package/dist/src/encoding.d.ts +2 -1
  88. package/dist/src/encoding.d.ts.map +1 -1
  89. package/dist/src/encoding.js +2 -2
  90. package/dist/src/encoding.js.map +1 -1
  91. package/dist/src/encoding.test.d.ts +2 -0
  92. package/dist/src/encoding.test.d.ts.map +1 -0
  93. package/dist/src/encoding.test.js +644 -0
  94. package/dist/src/encoding.test.js.map +1 -0
  95. package/dist/src/encodings/get-register-space-calldata.d.ts +32 -0
  96. package/dist/src/encodings/get-register-space-calldata.d.ts.map +1 -0
  97. package/dist/src/encodings/get-register-space-calldata.js +39 -0
  98. package/dist/src/encodings/get-register-space-calldata.js.map +1 -0
  99. package/dist/src/encodings/get-register-space-calldata.test.d.ts +2 -0
  100. package/dist/src/encodings/get-register-space-calldata.test.d.ts.map +1 -0
  101. package/dist/src/encodings/get-register-space-calldata.test.js +15 -0
  102. package/dist/src/encodings/get-register-space-calldata.test.js.map +1 -0
  103. package/dist/src/full-flow-test.test.js +125 -37
  104. package/dist/src/full-flow-test.test.js.map +1 -1
  105. package/dist/src/graph/constants.d.ts +4 -0
  106. package/dist/src/graph/constants.d.ts.map +1 -1
  107. package/dist/src/graph/constants.js +14 -0
  108. package/dist/src/graph/constants.js.map +1 -1
  109. package/dist/src/graph/create-entity.d.ts +0 -1
  110. package/dist/src/graph/create-entity.d.ts.map +1 -1
  111. package/dist/src/graph/create-entity.js +155 -111
  112. package/dist/src/graph/create-entity.js.map +1 -1
  113. package/dist/src/graph/create-entity.test.js +339 -206
  114. package/dist/src/graph/create-entity.test.js.map +1 -1
  115. package/dist/src/graph/create-image.d.ts.map +1 -1
  116. package/dist/src/graph/create-image.js +15 -14
  117. package/dist/src/graph/create-image.js.map +1 -1
  118. package/dist/src/graph/create-image.test.js +109 -50
  119. package/dist/src/graph/create-image.test.js.map +1 -1
  120. package/dist/src/graph/create-property.d.ts.map +1 -1
  121. package/dist/src/graph/create-property.js +10 -19
  122. package/dist/src/graph/create-property.js.map +1 -1
  123. package/dist/src/graph/create-property.test.js +129 -19
  124. package/dist/src/graph/create-property.test.js.map +1 -1
  125. package/dist/src/graph/create-relation.d.ts +1 -3
  126. package/dist/src/graph/create-relation.d.ts.map +1 -1
  127. package/dist/src/graph/create-relation.js +21 -37
  128. package/dist/src/graph/create-relation.js.map +1 -1
  129. package/dist/src/graph/create-relation.test.js +186 -200
  130. package/dist/src/graph/create-relation.test.js.map +1 -1
  131. package/dist/src/graph/create-space.d.ts +4 -3
  132. package/dist/src/graph/create-space.d.ts.map +1 -1
  133. package/dist/src/graph/create-space.js +2 -2
  134. package/dist/src/graph/create-space.js.map +1 -1
  135. package/dist/src/graph/create-type.d.ts.map +1 -1
  136. package/dist/src/graph/create-type.js +16 -21
  137. package/dist/src/graph/create-type.js.map +1 -1
  138. package/dist/src/graph/create-type.test.js +76 -67
  139. package/dist/src/graph/create-type.test.js.map +1 -1
  140. package/dist/src/graph/delete-entity.d.ts +14 -0
  141. package/dist/src/graph/delete-entity.d.ts.map +1 -0
  142. package/dist/src/graph/delete-entity.js +21 -0
  143. package/dist/src/graph/delete-entity.js.map +1 -0
  144. package/dist/src/graph/delete-entity.test.d.ts +2 -0
  145. package/dist/src/graph/delete-entity.test.d.ts.map +1 -0
  146. package/dist/src/graph/delete-entity.test.js +23 -0
  147. package/dist/src/graph/delete-entity.test.js.map +1 -0
  148. package/dist/src/graph/delete-relation.d.ts.map +1 -1
  149. package/dist/src/graph/delete-relation.js +3 -6
  150. package/dist/src/graph/delete-relation.js.map +1 -1
  151. package/dist/src/graph/delete-relation.test.js +6 -8
  152. package/dist/src/graph/delete-relation.test.js.map +1 -1
  153. package/dist/src/graph/graph.test.d.ts +2 -0
  154. package/dist/src/graph/graph.test.d.ts.map +1 -0
  155. package/dist/src/graph/graph.test.js +46 -0
  156. package/dist/src/graph/graph.test.js.map +1 -0
  157. package/dist/src/graph/helpers/create-default-properties.d.ts +5 -0
  158. package/dist/src/graph/helpers/create-default-properties.d.ts.map +1 -0
  159. package/dist/src/graph/helpers/create-default-properties.js +44 -0
  160. package/dist/src/graph/helpers/create-default-properties.js.map +1 -0
  161. package/dist/src/graph/helpers/create-properties.d.ts +8 -0
  162. package/dist/src/graph/helpers/create-properties.d.ts.map +1 -0
  163. package/dist/src/graph/helpers/create-properties.js +53 -0
  164. package/dist/src/graph/helpers/create-properties.js.map +1 -0
  165. package/dist/src/graph/index.d.ts +1 -4
  166. package/dist/src/graph/index.d.ts.map +1 -1
  167. package/dist/src/graph/index.js +1 -4
  168. package/dist/src/graph/index.js.map +1 -1
  169. package/dist/src/graph/update-entity.d.ts.map +1 -1
  170. package/dist/src/graph/update-entity.js +109 -57
  171. package/dist/src/graph/update-entity.js.map +1 -1
  172. package/dist/src/graph/update-entity.test.js +167 -40
  173. package/dist/src/graph/update-entity.test.js.map +1 -1
  174. package/dist/src/graph/update-relation.d.ts +1 -2
  175. package/dist/src/graph/update-relation.d.ts.map +1 -1
  176. package/dist/src/graph/update-relation.js +12 -16
  177. package/dist/src/graph/update-relation.js.map +1 -1
  178. package/dist/src/graph/update-relation.test.js +75 -109
  179. package/dist/src/graph/update-relation.test.js.map +1 -1
  180. package/dist/src/graphv2/constants.d.ts +2 -0
  181. package/dist/src/graphv2/constants.d.ts.map +1 -0
  182. package/dist/src/graphv2/constants.js +2 -0
  183. package/dist/src/graphv2/constants.js.map +1 -0
  184. package/dist/src/graphv2/create-entity.d.ts +52 -0
  185. package/dist/src/graphv2/create-entity.d.ts.map +1 -0
  186. package/dist/src/graphv2/create-entity.js +140 -0
  187. package/dist/src/graphv2/create-entity.js.map +1 -0
  188. package/dist/src/graphv2/create-entity.test.d.ts +2 -0
  189. package/dist/src/graphv2/create-entity.test.d.ts.map +1 -0
  190. package/dist/src/graphv2/create-entity.test.js +158 -0
  191. package/dist/src/graphv2/create-entity.test.js.map +1 -0
  192. package/dist/src/graphv2/create-image.d.ts +28 -0
  193. package/dist/src/graphv2/create-image.d.ts.map +1 -0
  194. package/dist/src/graphv2/create-image.js +71 -0
  195. package/dist/src/graphv2/create-image.js.map +1 -0
  196. package/dist/src/graphv2/create-image.test.d.ts +2 -0
  197. package/dist/src/graphv2/create-image.test.d.ts.map +1 -0
  198. package/dist/src/graphv2/create-image.test.js +142 -0
  199. package/dist/src/graphv2/create-image.test.js.map +1 -0
  200. package/dist/src/graphv2/create-property.d.ts +22 -0
  201. package/dist/src/graphv2/create-property.d.ts.map +1 -0
  202. package/dist/src/graphv2/create-property.js +129 -0
  203. package/dist/src/graphv2/create-property.js.map +1 -0
  204. package/dist/src/graphv2/create-property.test.d.ts +2 -0
  205. package/dist/src/graphv2/create-property.test.d.ts.map +1 -0
  206. package/dist/src/graphv2/create-property.test.js +82 -0
  207. package/dist/src/graphv2/create-property.test.js.map +1 -0
  208. package/dist/src/graphv2/create-relation.d.ts +33 -0
  209. package/dist/src/graphv2/create-relation.d.ts.map +1 -0
  210. package/dist/src/graphv2/create-relation.js +66 -0
  211. package/dist/src/graphv2/create-relation.js.map +1 -0
  212. package/dist/src/graphv2/create-relation.test.d.ts +2 -0
  213. package/dist/src/graphv2/create-relation.test.d.ts.map +1 -0
  214. package/dist/src/graphv2/create-relation.test.js +208 -0
  215. package/dist/src/graphv2/create-relation.test.js.map +1 -0
  216. package/dist/src/graphv2/create-space.d.ts +13 -0
  217. package/dist/src/graphv2/create-space.d.ts.map +1 -0
  218. package/dist/src/graphv2/create-space.js +21 -0
  219. package/dist/src/graphv2/create-space.js.map +1 -0
  220. package/dist/src/graphv2/create-type.d.ts +22 -0
  221. package/dist/src/graphv2/create-type.d.ts.map +1 -0
  222. package/dist/src/graphv2/create-type.js +64 -0
  223. package/dist/src/graphv2/create-type.js.map +1 -0
  224. package/dist/src/graphv2/create-type.test.d.ts +2 -0
  225. package/dist/src/graphv2/create-type.test.d.ts.map +1 -0
  226. package/dist/src/graphv2/create-type.test.js +109 -0
  227. package/dist/src/graphv2/create-type.test.js.map +1 -0
  228. package/dist/src/graphv2/delete-entity.d.ts +14 -0
  229. package/dist/src/graphv2/delete-entity.d.ts.map +1 -0
  230. package/dist/src/graphv2/delete-entity.js +21 -0
  231. package/dist/src/graphv2/delete-entity.js.map +1 -0
  232. package/dist/src/graphv2/delete-entity.test.d.ts +2 -0
  233. package/dist/src/graphv2/delete-entity.test.d.ts.map +1 -0
  234. package/dist/src/graphv2/delete-entity.test.js +24 -0
  235. package/dist/src/graphv2/delete-entity.test.js.map +1 -0
  236. package/dist/src/graphv2/delete-relation.d.ts +14 -0
  237. package/dist/src/graphv2/delete-relation.d.ts.map +1 -0
  238. package/dist/src/graphv2/delete-relation.js +21 -0
  239. package/dist/src/graphv2/delete-relation.js.map +1 -0
  240. package/dist/src/graphv2/delete-relation.test.d.ts +2 -0
  241. package/dist/src/graphv2/delete-relation.test.d.ts.map +1 -0
  242. package/dist/src/graphv2/delete-relation.test.js +24 -0
  243. package/dist/src/graphv2/delete-relation.test.js.map +1 -0
  244. package/dist/src/graphv2/index.d.ts +12 -0
  245. package/dist/src/graphv2/index.d.ts.map +1 -0
  246. package/dist/src/graphv2/index.js +12 -0
  247. package/dist/src/graphv2/index.js.map +1 -0
  248. package/dist/src/graphv2/remove-entity-properties.d.ts +25 -0
  249. package/dist/src/graphv2/remove-entity-properties.d.ts.map +1 -0
  250. package/dist/src/graphv2/remove-entity-properties.js +24 -0
  251. package/dist/src/graphv2/remove-entity-properties.js.map +1 -0
  252. package/dist/src/graphv2/unset-entity-values.d.ts +21 -0
  253. package/dist/src/graphv2/unset-entity-values.d.ts.map +1 -0
  254. package/dist/src/graphv2/unset-entity-values.js +26 -0
  255. package/dist/src/graphv2/unset-entity-values.js.map +1 -0
  256. package/dist/src/graphv2/unset-entity-values.test.d.ts +2 -0
  257. package/dist/src/graphv2/unset-entity-values.test.d.ts.map +1 -0
  258. package/dist/src/graphv2/unset-entity-values.test.js +40 -0
  259. package/dist/src/graphv2/unset-entity-values.test.js.map +1 -0
  260. package/dist/src/graphv2/unset-relation-fields.d.ts +25 -0
  261. package/dist/src/graphv2/unset-relation-fields.d.ts.map +1 -0
  262. package/dist/src/graphv2/unset-relation-fields.js +34 -0
  263. package/dist/src/graphv2/unset-relation-fields.js.map +1 -0
  264. package/dist/src/graphv2/unset-relation-fields.test.d.ts +2 -0
  265. package/dist/src/graphv2/unset-relation-fields.test.d.ts.map +1 -0
  266. package/dist/src/graphv2/unset-relation-fields.test.js +64 -0
  267. package/dist/src/graphv2/unset-relation-fields.test.js.map +1 -0
  268. package/dist/src/graphv2/update-entity.d.ts +28 -0
  269. package/dist/src/graphv2/update-entity.d.ts.map +1 -0
  270. package/dist/src/graphv2/update-entity.js +73 -0
  271. package/dist/src/graphv2/update-entity.js.map +1 -0
  272. package/dist/src/graphv2/update-entity.test.d.ts +2 -0
  273. package/dist/src/graphv2/update-entity.test.d.ts.map +1 -0
  274. package/dist/src/graphv2/update-entity.test.js +116 -0
  275. package/dist/src/graphv2/update-entity.test.js.map +1 -0
  276. package/dist/src/graphv2/update-relation.d.ts +21 -0
  277. package/dist/src/graphv2/update-relation.d.ts.map +1 -0
  278. package/dist/src/graphv2/update-relation.js +37 -0
  279. package/dist/src/graphv2/update-relation.js.map +1 -0
  280. package/dist/src/id-utils.d.ts +6 -0
  281. package/dist/src/id-utils.d.ts.map +1 -1
  282. package/dist/src/id-utils.js +13 -0
  283. package/dist/src/id-utils.js.map +1 -1
  284. package/dist/src/idv2.d.ts +27 -0
  285. package/dist/src/idv2.d.ts.map +1 -0
  286. package/dist/src/idv2.js +88 -0
  287. package/dist/src/idv2.js.map +1 -0
  288. package/dist/src/idv2.test.d.ts +2 -0
  289. package/dist/src/idv2.test.d.ts.map +1 -0
  290. package/dist/src/idv2.test.js +26 -0
  291. package/dist/src/idv2.test.js.map +1 -0
  292. package/dist/src/image.d.ts +8 -0
  293. package/dist/src/image.d.ts.map +1 -0
  294. package/dist/src/image.js +8 -0
  295. package/dist/src/image.js.map +1 -0
  296. package/dist/src/ipfs.d.ts +7 -6
  297. package/dist/src/ipfs.d.ts.map +1 -1
  298. package/dist/src/ipfs.js +31 -11
  299. package/dist/src/ipfs.js.map +1 -1
  300. package/dist/src/ipfs.test.js +130 -17
  301. package/dist/src/ipfs.test.js.map +1 -1
  302. package/dist/src/ipfsv2.d.ts +96 -0
  303. package/dist/src/ipfsv2.d.ts.map +1 -0
  304. package/dist/src/ipfsv2.js +163 -0
  305. package/dist/src/ipfsv2.js.map +1 -0
  306. package/dist/src/ipfsv2.test.d.ts +2 -0
  307. package/dist/src/ipfsv2.test.d.ts.map +1 -0
  308. package/dist/src/ipfsv2.test.js +22 -0
  309. package/dist/src/ipfsv2.test.js.map +1 -0
  310. package/dist/src/proto/editv2.d.ts +11 -0
  311. package/dist/src/proto/editv2.d.ts.map +1 -0
  312. package/dist/src/proto/editv2.js +81 -0
  313. package/dist/src/proto/editv2.js.map +1 -0
  314. package/dist/src/proto/editv2.test.d.ts +2 -0
  315. package/dist/src/proto/editv2.test.d.ts.map +1 -0
  316. package/dist/src/proto/editv2.test.js +211 -0
  317. package/dist/src/proto/editv2.test.js.map +1 -0
  318. package/dist/src/proto/gen/src/proto/ipfsv2_pb.d.ts +410 -0
  319. package/dist/src/proto/gen/src/proto/ipfsv2_pb.d.ts.map +1 -0
  320. package/dist/src/proto/gen/src/proto/ipfsv2_pb.js +536 -0
  321. package/dist/src/proto/gen/src/proto/ipfsv2_pb.js.map +1 -0
  322. package/dist/src/proto/index.d.ts +7 -1
  323. package/dist/src/proto/index.d.ts.map +1 -1
  324. package/dist/src/proto/index.js +6 -1
  325. package/dist/src/proto/index.js.map +1 -1
  326. package/dist/src/ranks/create-rank.d.ts.map +1 -1
  327. package/dist/src/ranks/create-rank.js +54 -47
  328. package/dist/src/ranks/create-rank.js.map +1 -1
  329. package/dist/src/ranks/create-rank.test.js +181 -94
  330. package/dist/src/ranks/create-rank.test.js.map +1 -1
  331. package/dist/src/relation.d.ts +7 -0
  332. package/dist/src/relation.d.ts.map +1 -0
  333. package/dist/src/relation.js +7 -0
  334. package/dist/src/relation.js.map +1 -0
  335. package/dist/src/smart-wallet-2.test-invalid.d.ts +2 -0
  336. package/dist/src/smart-wallet-2.test-invalid.d.ts.map +1 -0
  337. package/dist/src/smart-wallet-2.test-invalid.js +49 -0
  338. package/dist/src/smart-wallet-2.test-invalid.js.map +1 -0
  339. package/dist/src/smart-wallet-2.test.d.ts +2 -0
  340. package/dist/src/smart-wallet-2.test.d.ts.map +1 -0
  341. package/dist/src/smart-wallet-2.test.js +49 -0
  342. package/dist/src/smart-wallet-2.test.js.map +1 -0
  343. package/dist/src/system-ids-v2.d.ts +7 -0
  344. package/dist/src/system-ids-v2.d.ts.map +1 -0
  345. package/dist/src/system-ids-v2.js +7 -0
  346. package/dist/src/system-ids-v2.js.map +1 -0
  347. package/dist/src/triple.d.ts +7 -0
  348. package/dist/src/triple.d.ts.map +1 -0
  349. package/dist/src/triple.js +7 -0
  350. package/dist/src/triple.js.map +1 -0
  351. package/dist/src/types-backup.d.ts +134 -0
  352. package/dist/src/types-backup.d.ts.map +1 -0
  353. package/dist/src/types-backup.js +13 -0
  354. package/dist/src/types-backup.js.map +1 -0
  355. package/dist/src/types.d.ts +52 -89
  356. package/dist/src/types.d.ts.map +1 -1
  357. package/dist/src/types.js.map +1 -1
  358. package/dist/src/typesv2.d.ts +173 -0
  359. package/dist/src/typesv2.d.ts.map +1 -0
  360. package/dist/src/typesv2.js +8 -0
  361. package/dist/src/typesv2.js.map +1 -0
  362. package/dist/tsconfig.tsbuildinfo +1 -0
  363. package/package.json +2 -5
@@ -2,9 +2,13 @@ import { describe, expect, it } from 'vitest';
2
2
  import { CLAIM_TYPE, NEWS_STORY_TYPE } from '../core/ids/content.js';
3
3
  import { COVER_PROPERTY, DESCRIPTION_PROPERTY, NAME_PROPERTY, TYPES_PROPERTY } from '../core/ids/system.js';
4
4
  import { Id } from '../id.js';
5
+ import { toGrcId } from '../id-utils.js';
5
6
  import { createRelation } from './create-relation.js';
6
7
  const isCreateRelationOp = (op) => {
7
- return op.type === 'CREATE_RELATION';
8
+ return op.type === 'createRelation';
9
+ };
10
+ const isCreateEntityOp = (op) => {
11
+ return op.type === 'createEntity';
8
12
  };
9
13
  describe('createRelation', () => {
10
14
  const fromEntityId = Id('30145d36d5a54244be593d111d879ba5');
@@ -23,15 +27,14 @@ describe('createRelation', () => {
23
27
  expect(relation).toBeDefined();
24
28
  expect(typeof relation.id).toBe('string');
25
29
  expect(relation.ops).toBeDefined();
26
- expect(relation.ops).toHaveLength(1); // One CREATE_RELATION op
27
- expect(relation.ops[0]).toMatchObject({
28
- type: 'CREATE_RELATION',
29
- relation: {
30
- fromEntity: fromEntityId,
31
- toEntity: toEntityId,
32
- type: NAME_PROPERTY,
33
- },
34
- });
30
+ expect(relation.ops).toHaveLength(1); // One createRelation op
31
+ const relOp = relation.ops[0];
32
+ expect(relOp.type).toBe('createRelation');
33
+ expect(isCreateRelationOp(relOp)).toBe(true);
34
+ expect(relOp.id).toEqual(toGrcId(relation.id));
35
+ expect(relOp.from).toEqual(toGrcId(fromEntityId));
36
+ expect(relOp.to).toEqual(toGrcId(toEntityId));
37
+ expect(relOp.relationType).toEqual(toGrcId(NAME_PROPERTY));
35
38
  });
36
39
  it('creates a relation with position and toSpace', async () => {
37
40
  const relation = createRelation({
@@ -43,18 +46,15 @@ describe('createRelation', () => {
43
46
  });
44
47
  expect(relation).toBeDefined();
45
48
  expect(relation.ops).toHaveLength(1);
46
- expect(relation.ops[0]).toMatchObject({
47
- type: 'CREATE_RELATION',
48
- relation: {
49
- fromEntity: fromEntityId,
50
- toEntity: toEntityId,
51
- type: NAME_PROPERTY,
52
- position: '1',
53
- toSpace: testSpaceId,
54
- },
55
- });
49
+ const relOp = relation.ops[0];
50
+ expect(relOp.type).toBe('createRelation');
51
+ expect(relOp.from).toEqual(toGrcId(fromEntityId));
52
+ expect(relOp.to).toEqual(toGrcId(toEntityId));
53
+ expect(relOp.relationType).toEqual(toGrcId(NAME_PROPERTY));
54
+ expect(relOp.position).toBe('1');
55
+ expect(relOp.toSpace).toEqual(toGrcId(testSpaceId));
56
56
  });
57
- it('creates a relation with fromSpace, fromVersion, toVersion, and verified', async () => {
57
+ it('creates a relation with fromSpace, fromVersion, and toVersion', async () => {
58
58
  const relation = createRelation({
59
59
  fromEntity: fromEntityId,
60
60
  toEntity: toEntityId,
@@ -62,22 +62,17 @@ describe('createRelation', () => {
62
62
  fromSpace: fromSpaceId,
63
63
  fromVersion: fromVersionId,
64
64
  toVersion: toVersionId,
65
- verified: true,
66
65
  });
67
66
  expect(relation).toBeDefined();
68
67
  expect(relation.ops).toHaveLength(1);
69
- expect(relation.ops[0]).toMatchObject({
70
- type: 'CREATE_RELATION',
71
- relation: {
72
- fromEntity: fromEntityId,
73
- toEntity: toEntityId,
74
- type: NAME_PROPERTY,
75
- fromSpace: fromSpaceId,
76
- fromVersion: fromVersionId,
77
- toVersion: toVersionId,
78
- verified: true,
79
- },
80
- });
68
+ const relOp = relation.ops[0];
69
+ expect(relOp.type).toBe('createRelation');
70
+ expect(relOp.from).toEqual(toGrcId(fromEntityId));
71
+ expect(relOp.to).toEqual(toGrcId(toEntityId));
72
+ expect(relOp.relationType).toEqual(toGrcId(NAME_PROPERTY));
73
+ expect(relOp.fromSpace).toEqual(toGrcId(fromSpaceId));
74
+ expect(relOp.fromVersion).toEqual(toGrcId(fromVersionId));
75
+ expect(relOp.toVersion).toEqual(toGrcId(toVersionId));
81
76
  });
82
77
  it('creates a relation with all optional fields', async () => {
83
78
  const relation = createRelation({
@@ -89,24 +84,20 @@ describe('createRelation', () => {
89
84
  toSpace: testSpaceId,
90
85
  fromVersion: fromVersionId,
91
86
  toVersion: toVersionId,
92
- verified: false,
93
87
  });
94
88
  expect(relation).toBeDefined();
95
89
  expect(relation.ops).toHaveLength(1);
96
- expect(relation.ops[0]).toMatchObject({
97
- type: 'CREATE_RELATION',
98
- relation: {
99
- fromEntity: fromEntityId,
100
- toEntity: toEntityId,
101
- type: NAME_PROPERTY,
102
- position: '1',
103
- fromSpace: fromSpaceId,
104
- toSpace: testSpaceId,
105
- fromVersion: fromVersionId,
106
- toVersion: toVersionId,
107
- verified: false,
108
- },
109
- });
90
+ const relOp = relation.ops[0];
91
+ expect(relOp.type).toBe('createRelation');
92
+ expect(relOp.id).toEqual(toGrcId(relation.id));
93
+ expect(relOp.from).toEqual(toGrcId(fromEntityId));
94
+ expect(relOp.to).toEqual(toGrcId(toEntityId));
95
+ expect(relOp.relationType).toEqual(toGrcId(NAME_PROPERTY));
96
+ expect(relOp.position).toBe('1');
97
+ expect(relOp.fromSpace).toEqual(toGrcId(fromSpaceId));
98
+ expect(relOp.toSpace).toEqual(toGrcId(testSpaceId));
99
+ expect(relOp.fromVersion).toEqual(toGrcId(fromVersionId));
100
+ expect(relOp.toVersion).toEqual(toGrcId(toVersionId));
110
101
  });
111
102
  it('creates a relation with a provided id', async () => {
112
103
  const providedId = Id('c1dc6e5c63e143bab3d4755b251a4ea1');
@@ -119,15 +110,12 @@ describe('createRelation', () => {
119
110
  expect(relation).toBeDefined();
120
111
  expect(relation.id).toBe(providedId);
121
112
  expect(relation.ops).toHaveLength(1);
122
- expect(relation.ops[0]).toMatchObject({
123
- type: 'CREATE_RELATION',
124
- relation: {
125
- id: providedId,
126
- fromEntity: fromEntityId,
127
- toEntity: toEntityId,
128
- type: NAME_PROPERTY,
129
- },
130
- });
113
+ const relOp = relation.ops[0];
114
+ expect(relOp.type).toBe('createRelation');
115
+ expect(relOp.id).toEqual(toGrcId(providedId));
116
+ expect(relOp.from).toEqual(toGrcId(fromEntityId));
117
+ expect(relOp.to).toEqual(toGrcId(toEntityId));
118
+ expect(relOp.relationType).toEqual(toGrcId(NAME_PROPERTY));
131
119
  });
132
120
  it('creates a relation with an entity that has name and description', async () => {
133
121
  const relation = createRelation({
@@ -138,36 +126,37 @@ describe('createRelation', () => {
138
126
  entityDescription: 'Test Description',
139
127
  });
140
128
  expect(relation).toBeDefined();
141
- expect(relation.ops).toHaveLength(2); // CREATE_RELATION + UPDATE_ENTITY
142
- // Check CREATE_RELATION op
143
- expect(relation.ops[0]).toMatchObject({
144
- type: 'CREATE_RELATION',
145
- relation: {
146
- fromEntity: fromEntityId,
147
- toEntity: toEntityId,
148
- type: NAME_PROPERTY,
149
- },
129
+ expect(relation.ops).toHaveLength(2); // createRelation + createEntity
130
+ // Check createRelation op
131
+ const relOp = relation.ops[0];
132
+ expect(relOp.type).toBe('createRelation');
133
+ expect(relOp.from).toEqual(toGrcId(fromEntityId));
134
+ expect(relOp.to).toEqual(toGrcId(toEntityId));
135
+ expect(relOp.relationType).toEqual(toGrcId(NAME_PROPERTY));
136
+ // Check createEntity op
137
+ const entityOp = relation.ops[1];
138
+ expect(entityOp.type).toBe('createEntity');
139
+ expect(isCreateEntityOp(entityOp)).toBe(true);
140
+ // Verify name value
141
+ const nameValue = entityOp.values.find(v => {
142
+ const propBytes = v.property;
143
+ return propBytes.every((b, i) => b === toGrcId(NAME_PROPERTY)[i]);
150
144
  });
151
- // Check UPDATE_ENTITY op
152
- const createRelationOp = relation.ops[0];
153
- if (!createRelationOp || !isCreateRelationOp(createRelationOp)) {
154
- throw new Error('Expected first op to be CREATE_RELATION');
145
+ expect(nameValue).toBeDefined();
146
+ expect(nameValue?.value.type).toBe('text');
147
+ if (nameValue?.value.type === 'text') {
148
+ expect(nameValue.value.value).toBe('Test Entity');
155
149
  }
156
- expect(relation.ops[1]).toMatchObject({
157
- type: 'UPDATE_ENTITY',
158
- entity: {
159
- values: [
160
- {
161
- property: NAME_PROPERTY,
162
- value: 'Test Entity',
163
- },
164
- {
165
- property: DESCRIPTION_PROPERTY,
166
- value: 'Test Description',
167
- },
168
- ],
169
- },
150
+ // Verify description value
151
+ const descValue = entityOp.values.find(v => {
152
+ const propBytes = v.property;
153
+ return propBytes.every((b, i) => b === toGrcId(DESCRIPTION_PROPERTY)[i]);
170
154
  });
155
+ expect(descValue).toBeDefined();
156
+ expect(descValue?.value.type).toBe('text');
157
+ if (descValue?.value.type === 'text') {
158
+ expect(descValue.value.value).toBe('Test Description');
159
+ }
171
160
  });
172
161
  it('creates a relation with an entity that has types', async () => {
173
162
  const relation = createRelation({
@@ -177,42 +166,24 @@ describe('createRelation', () => {
177
166
  entityTypes: [CLAIM_TYPE, NEWS_STORY_TYPE],
178
167
  });
179
168
  expect(relation).toBeDefined();
180
- expect(relation.ops).toHaveLength(4); // CREATE_RELATION + UPDATE_ENTITY + two type relations
181
- // Check CREATE_RELATION op
182
- expect(relation.ops[0]).toMatchObject({
183
- type: 'CREATE_RELATION',
184
- relation: {
185
- fromEntity: fromEntityId,
186
- toEntity: toEntityId,
187
- type: NAME_PROPERTY,
188
- },
189
- });
190
- // Check UPDATE_ENTITY op
191
- const createRelationOp = relation.ops[0];
192
- if (!createRelationOp || !isCreateRelationOp(createRelationOp)) {
193
- throw new Error('Expected first op to be CREATE_RELATION');
194
- }
195
- expect(relation.ops[1]).toMatchObject({
196
- type: 'UPDATE_ENTITY',
197
- entity: {
198
- values: [],
199
- },
200
- });
169
+ expect(relation.ops).toHaveLength(4); // createRelation + createEntity + two type relations
170
+ // Check createRelation op
171
+ const relOp = relation.ops[0];
172
+ expect(relOp.type).toBe('createRelation');
173
+ expect(relOp.from).toEqual(toGrcId(fromEntityId));
174
+ expect(relOp.to).toEqual(toGrcId(toEntityId));
175
+ // Check createEntity op
176
+ const entityOp = relation.ops[1];
177
+ expect(entityOp.type).toBe('createEntity');
201
178
  // Check type relations
202
- expect(relation.ops[2]).toMatchObject({
203
- type: 'CREATE_RELATION',
204
- relation: {
205
- toEntity: CLAIM_TYPE,
206
- type: TYPES_PROPERTY,
207
- },
208
- });
209
- expect(relation.ops[3]).toMatchObject({
210
- type: 'CREATE_RELATION',
211
- relation: {
212
- toEntity: NEWS_STORY_TYPE,
213
- type: TYPES_PROPERTY,
214
- },
215
- });
179
+ const typeRel1 = relation.ops[2];
180
+ expect(typeRel1.type).toBe('createRelation');
181
+ expect(typeRel1.to).toEqual(toGrcId(CLAIM_TYPE));
182
+ expect(typeRel1.relationType).toEqual(toGrcId(TYPES_PROPERTY));
183
+ const typeRel2 = relation.ops[3];
184
+ expect(typeRel2.type).toBe('createRelation');
185
+ expect(typeRel2.to).toEqual(toGrcId(NEWS_STORY_TYPE));
186
+ expect(typeRel2.relationType).toEqual(toGrcId(TYPES_PROPERTY));
216
187
  });
217
188
  it('creates a relation with an entity that has a cover', async () => {
218
189
  const relation = createRelation({
@@ -222,35 +193,20 @@ describe('createRelation', () => {
222
193
  entityCover: coverId,
223
194
  });
224
195
  expect(relation).toBeDefined();
225
- expect(relation.ops).toHaveLength(3); // CREATE_RELATION + UPDATE_ENTITY + cover relation
226
- // Check CREATE_RELATION op
227
- expect(relation.ops[0]).toMatchObject({
228
- type: 'CREATE_RELATION',
229
- relation: {
230
- fromEntity: fromEntityId,
231
- toEntity: toEntityId,
232
- type: NAME_PROPERTY,
233
- },
234
- });
235
- // Check UPDATE_ENTITY op with cover relation
236
- const createRelationOp = relation.ops[0];
237
- if (!createRelationOp || !isCreateRelationOp(createRelationOp)) {
238
- throw new Error('Expected first op to be CREATE_RELATION');
239
- }
240
- expect(relation.ops[1]).toMatchObject({
241
- type: 'UPDATE_ENTITY',
242
- entity: {
243
- values: [],
244
- },
245
- });
196
+ expect(relation.ops).toHaveLength(3); // createRelation + createEntity + cover relation
197
+ // Check createRelation op
198
+ const relOp = relation.ops[0];
199
+ expect(relOp.type).toBe('createRelation');
200
+ expect(relOp.from).toEqual(toGrcId(fromEntityId));
201
+ expect(relOp.to).toEqual(toGrcId(toEntityId));
202
+ // Check createEntity op
203
+ const entityOp = relation.ops[1];
204
+ expect(entityOp.type).toBe('createEntity');
246
205
  // Check cover relation
247
- expect(relation.ops[2]).toMatchObject({
248
- type: 'CREATE_RELATION',
249
- relation: {
250
- toEntity: coverId,
251
- type: COVER_PROPERTY,
252
- },
253
- });
206
+ const coverRel = relation.ops[2];
207
+ expect(coverRel.type).toBe('createRelation');
208
+ expect(coverRel.to).toEqual(toGrcId(coverId));
209
+ expect(coverRel.relationType).toEqual(toGrcId(COVER_PROPERTY));
254
210
  });
255
211
  it('throws an error if the provided id is invalid', () => {
256
212
  expect(() => createRelation({
@@ -290,33 +246,29 @@ describe('createRelation', () => {
290
246
  fromEntity: fromEntityId,
291
247
  toEntity: toEntityId,
292
248
  type: NAME_PROPERTY,
293
- entityValues: [{ property: customPropertyId, value: 'custom value' }],
249
+ entityValues: [{ property: customPropertyId, type: 'text', value: 'custom value' }],
294
250
  });
295
251
  expect(relation).toBeDefined();
296
- expect(relation.ops).toHaveLength(2); // CREATE_RELATION + UPDATE_ENTITY
297
- // Check CREATE_RELATION op
298
- expect(relation.ops[0]).toMatchObject({
299
- type: 'CREATE_RELATION',
300
- relation: {
301
- fromEntity: fromEntityId,
302
- toEntity: toEntityId,
303
- type: NAME_PROPERTY,
304
- },
305
- });
306
- // Check UPDATE_ENTITY op
307
- expect(relation.ops[1]).toMatchObject({
308
- type: 'UPDATE_ENTITY',
309
- entity: {
310
- values: [
311
- {
312
- property: customPropertyId,
313
- value: 'custom value',
314
- },
315
- ],
316
- },
252
+ expect(relation.ops).toHaveLength(2); // createRelation + createEntity
253
+ // Check createRelation op
254
+ const relOp = relation.ops[0];
255
+ expect(relOp.type).toBe('createRelation');
256
+ expect(relOp.from).toEqual(toGrcId(fromEntityId));
257
+ expect(relOp.to).toEqual(toGrcId(toEntityId));
258
+ // Check createEntity op with custom value
259
+ const entityOp = relation.ops[1];
260
+ expect(entityOp.type).toBe('createEntity');
261
+ const customValue = entityOp.values.find(v => {
262
+ const propBytes = v.property;
263
+ return propBytes.every((b, i) => b === toGrcId(customPropertyId)[i]);
317
264
  });
265
+ expect(customValue).toBeDefined();
266
+ expect(customValue?.value.type).toBe('text');
267
+ if (customValue?.value.type === 'text') {
268
+ expect(customValue.value.value).toBe('custom value');
269
+ }
318
270
  });
319
- it('creates a relation with entityValues that have options', () => {
271
+ it('creates a relation with entityValues that have language', () => {
320
272
  const customPropertyId = Id('fa269fd3de9849cf90c44235d905a67c');
321
273
  const languageId = Id('0a4e9810f78f429ea4ceb1904a43251d');
322
274
  const relation = createRelation({
@@ -326,47 +278,81 @@ describe('createRelation', () => {
326
278
  entityValues: [
327
279
  {
328
280
  property: customPropertyId,
281
+ type: 'text',
329
282
  value: 'test',
330
- options: { type: 'text', language: languageId },
283
+ language: languageId,
331
284
  },
332
285
  ],
333
286
  });
334
287
  expect(relation).toBeDefined();
335
- expect(relation.ops).toHaveLength(2); // CREATE_RELATION + UPDATE_ENTITY
336
- // Check CREATE_RELATION op
337
- expect(relation.ops[0]).toMatchObject({
338
- type: 'CREATE_RELATION',
339
- relation: {
340
- fromEntity: fromEntityId,
341
- toEntity: toEntityId,
342
- type: NAME_PROPERTY,
343
- },
344
- });
345
- // Check UPDATE_ENTITY op
346
- expect(relation.ops[1]).toMatchObject({
347
- type: 'UPDATE_ENTITY',
348
- entity: {
349
- values: [
350
- {
351
- property: customPropertyId,
352
- value: 'test',
353
- options: {
354
- text: {
355
- language: languageId,
356
- },
357
- },
358
- },
359
- ],
360
- },
361
- });
288
+ expect(relation.ops).toHaveLength(2); // createRelation + createEntity
289
+ // Check createRelation op
290
+ const relOp = relation.ops[0];
291
+ expect(relOp.type).toBe('createRelation');
292
+ // Check createEntity op
293
+ const entityOp = relation.ops[1];
294
+ expect(entityOp.type).toBe('createEntity');
295
+ const textValue = entityOp.values[0];
296
+ expect(textValue?.value.type).toBe('text');
297
+ if (textValue?.value.type === 'text') {
298
+ expect(textValue.value.value).toBe('test');
299
+ expect(textValue.value.language).toEqual(toGrcId(languageId));
300
+ }
362
301
  });
363
302
  it('throws an error if entityValues property is invalid', () => {
364
303
  expect(() => createRelation({
365
304
  fromEntity: fromEntityId,
366
305
  toEntity: toEntityId,
367
306
  type: NAME_PROPERTY,
368
- entityValues: [{ property: 'invalid', value: 'test' }],
307
+ entityValues: [{ property: 'invalid', type: 'text', value: 'test' }],
369
308
  })).toThrow('Invalid id: "invalid" for `entityValues` in `createRelation`');
370
309
  });
310
+ it('throws an error if toSpace is invalid', () => {
311
+ expect(() => createRelation({
312
+ fromEntity: fromEntityId,
313
+ toEntity: toEntityId,
314
+ type: NAME_PROPERTY,
315
+ toSpace: 'invalid',
316
+ })).toThrow('Invalid id: "invalid" for `toSpace` in `createRelation`');
317
+ });
318
+ it('throws an error if entityCover is invalid', () => {
319
+ expect(() => createRelation({
320
+ fromEntity: fromEntityId,
321
+ toEntity: toEntityId,
322
+ type: NAME_PROPERTY,
323
+ entityCover: 'invalid',
324
+ })).toThrow('Invalid id: "invalid" for `entityCover` in `createRelation`');
325
+ });
326
+ it('creates a relation with entityRelations (nested relations)', () => {
327
+ const outerRelationType = Id('295c8bc61ae342cbb2a65b61080906ff');
328
+ const innerToEntityId = Id('a1dc6e5c63e143bab3d4755b251a4ea6');
329
+ const relation = createRelation({
330
+ fromEntity: fromEntityId,
331
+ toEntity: toEntityId,
332
+ type: NAME_PROPERTY,
333
+ entityRelations: {
334
+ [outerRelationType]: {
335
+ toEntity: innerToEntityId,
336
+ },
337
+ },
338
+ });
339
+ expect(relation).toBeDefined();
340
+ // 1 createRelation (main) + 1 createEntity (main entity) + 1 createRelation (nested)
341
+ expect(relation.ops).toHaveLength(3);
342
+ // Check main createRelation op
343
+ const mainRelOp = relation.ops[0];
344
+ expect(mainRelOp.type).toBe('createRelation');
345
+ expect(mainRelOp.from).toEqual(toGrcId(fromEntityId));
346
+ expect(mainRelOp.to).toEqual(toGrcId(toEntityId));
347
+ expect(mainRelOp.relationType).toEqual(toGrcId(NAME_PROPERTY));
348
+ // Check main createEntity op
349
+ const entityOp = relation.ops[1];
350
+ expect(entityOp.type).toBe('createEntity');
351
+ // Check nested createRelation op
352
+ const nestedRelOp = relation.ops[2];
353
+ expect(nestedRelOp.type).toBe('createRelation');
354
+ expect(nestedRelOp.to).toEqual(toGrcId(innerToEntityId));
355
+ expect(nestedRelOp.relationType).toEqual(toGrcId(outerRelationType));
356
+ });
371
357
  });
372
358
  //# sourceMappingURL=create-relation.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-relation.test.js","sourceRoot":"","sources":["../../../src/graph/create-relation.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-relation.test.js","sourceRoot":"","sources":["../../../src/graph/create-relation.test.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
+ import type { Op as GrcOp } from '@geoprotocol/grc-20';
1
2
  import { Id } from '../id.js';
2
- import type { Op } from '../types.js';
3
+ import { type Network } from './constants.js';
3
4
  type CreateSpaceParams = {
4
5
  editorAddress: string;
5
6
  name: string;
6
- network?: 'TESTNET' | 'MAINNET';
7
- ops?: Op[];
7
+ network?: Network;
8
+ ops?: GrcOp[];
8
9
  spaceEntityId?: string;
9
10
  /**
10
11
  * Select which contracts to deploy based on the governance type.
@@ -1 +1 @@
1
- {"version":3,"file":"create-space.d.ts","sourceRoot":"","sources":["../../../src/graph/create-space.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGtC,KAAK,iBAAiB,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CACxC,CAAC;AAkBF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,GAAU,QAAQ,iBAAiB;;EAqD1D,CAAC"}
1
+ {"version":3,"file":"create-space.d.ts","sourceRoot":"","sources":["../../../src/graph/create-space.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE5D,KAAK,iBAAiB,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CACxC,CAAC;AAkBF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,GAAU,QAAQ,iBAAiB;;EAqD1D,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { IdUtils } from '../../index.js';
2
2
  import { Id } from '../id.js';
3
- import { MAINNET_API_ORIGIN, TESTNET_API_ORIGIN } from './constants.js';
3
+ import { getApiOrigin } from './constants.js';
4
4
  /**
5
5
  * Creates a space with the given name and editor address.
6
6
  *
@@ -20,7 +20,7 @@ import { MAINNET_API_ORIGIN, TESTNET_API_ORIGIN } from './constants.js';
20
20
  */
21
21
  export const createSpace = async (params) => {
22
22
  const governanceType = params.governanceType ?? 'PERSONAL';
23
- const apiHost = params.network === 'TESTNET' ? TESTNET_API_ORIGIN : MAINNET_API_ORIGIN;
23
+ const apiHost = getApiOrigin(params.network);
24
24
  const formData = new FormData();
25
25
  formData.append('name', params.name);
26
26
  formData.append('editorAddress', params.editorAddress);
@@ -1 +1 @@
1
- {"version":3,"file":"create-space.js","sourceRoot":"","sources":["../../../src/graph/create-space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAgCxE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,MAAyB,EAAE,EAAE;IAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,UAAU,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAEvF,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,GAAG,GAAG,GAAG,OAAO,SAAS,CAAC;IAE9B,MAAM,YAAY,GAChB,cAAc,KAAK,UAAU;QAC3B,CAAC,CAAC;YACE,SAAS,EAAE,MAAM,CAAC,IAAI;YACtB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,oBAAoB,EAAE,MAAM,CAAC,aAAa;SAC3C;QACH,CAAC,CAAC;YACE,SAAS,EAAE,MAAM,CAAC,IAAI;YACtB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,sBAAsB,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;SAC/C,CAAC;IAER,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QAClC,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;QAChC,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC9B,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAClC,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;AACxC,CAAC,CAAC"}
1
+ {"version":3,"file":"create-space.js","sourceRoot":"","sources":["../../../src/graph/create-space.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAgC5D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,MAAyB,EAAE,EAAE;IAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,UAAU,CAAC;IAC3D,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,GAAG,GAAG,GAAG,OAAO,SAAS,CAAC;IAE9B,MAAM,YAAY,GAChB,cAAc,KAAK,UAAU;QAC3B,CAAC,CAAC;YACE,SAAS,EAAE,MAAM,CAAC,IAAI;YACtB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,oBAAoB,EAAE,MAAM,CAAC,aAAa;SAC3C;QACH,CAAC,CAAC;YACE,SAAS,EAAE,MAAM,CAAC,IAAI;YACtB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,sBAAsB,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;SAC/C,CAAC;IAER,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QAClC,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;QAChC,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC9B,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAClC,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;AACxC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-type.d.ts","sourceRoot":"","sources":["../../../src/graph/create-type.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGlE;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,UAAU,GAAI,2DAMxB,gBAAgB,KAAG,YA+CrB,CAAC"}
1
+ {"version":3,"file":"create-type.d.ts","sourceRoot":"","sources":["../../../src/graph/create-type.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGlE;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,UAAU,GAAI,2DAMxB,gBAAgB,KAAG,YA6CrB,CAAC"}