@graphprotocol/grc-20 0.31.1 → 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 (116) hide show
  1. package/dist/examples/ranks/create-ordinal-rank.js +4 -4
  2. package/dist/examples/ranks/create-ordinal-rank.js.map +1 -1
  3. package/dist/examples/ranks/create-weighted-rank.js +4 -4
  4. package/dist/examples/ranks/create-weighted-rank.js.map +1 -1
  5. package/dist/proto.d.ts +4 -8
  6. package/dist/proto.d.ts.map +1 -1
  7. package/dist/proto.js +4 -8
  8. package/dist/proto.js.map +1 -1
  9. package/dist/scripts/setup-rank-types.d.ts +2 -2
  10. package/dist/scripts/setup-rank-types.d.ts.map +1 -1
  11. package/dist/scripts/setup-rank-types.js.map +1 -1
  12. package/dist/src/codec/convert.d.ts +18 -0
  13. package/dist/src/codec/convert.d.ts.map +1 -0
  14. package/dist/src/codec/convert.js +188 -0
  15. package/dist/src/codec/convert.js.map +1 -0
  16. package/dist/src/core/account.d.ts +2 -2
  17. package/dist/src/core/account.d.ts.map +1 -1
  18. package/dist/src/core/account.js +2 -0
  19. package/dist/src/core/account.js.map +1 -1
  20. package/dist/src/core/account.test.js +69 -22
  21. package/dist/src/core/account.test.js.map +1 -1
  22. package/dist/src/core/blocks/data.d.ts +3 -3
  23. package/dist/src/core/blocks/data.d.ts.map +1 -1
  24. package/dist/src/core/blocks/data.js +2 -1
  25. package/dist/src/core/blocks/data.js.map +1 -1
  26. package/dist/src/core/blocks/data.test.js +74 -36
  27. package/dist/src/core/blocks/data.test.js.map +1 -1
  28. package/dist/src/core/blocks/text.d.ts +3 -3
  29. package/dist/src/core/blocks/text.d.ts.map +1 -1
  30. package/dist/src/core/blocks/text.js +2 -1
  31. package/dist/src/core/blocks/text.js.map +1 -1
  32. package/dist/src/core/blocks/text.test.js +79 -15
  33. package/dist/src/core/blocks/text.test.js.map +1 -1
  34. package/dist/src/encoding.test.d.ts +2 -0
  35. package/dist/src/encoding.test.d.ts.map +1 -0
  36. package/dist/src/encoding.test.js +644 -0
  37. package/dist/src/encoding.test.js.map +1 -0
  38. package/dist/src/full-flow-test.test.js +125 -37
  39. package/dist/src/full-flow-test.test.js.map +1 -1
  40. package/dist/src/graph/constants.d.ts +2 -1
  41. package/dist/src/graph/constants.d.ts.map +1 -1
  42. package/dist/src/graph/constants.js +4 -0
  43. package/dist/src/graph/constants.js.map +1 -1
  44. package/dist/src/graph/create-entity.d.ts +0 -1
  45. package/dist/src/graph/create-entity.d.ts.map +1 -1
  46. package/dist/src/graph/create-entity.js +155 -111
  47. package/dist/src/graph/create-entity.js.map +1 -1
  48. package/dist/src/graph/create-entity.test.js +339 -206
  49. package/dist/src/graph/create-entity.test.js.map +1 -1
  50. package/dist/src/graph/create-image.d.ts.map +1 -1
  51. package/dist/src/graph/create-image.js +14 -13
  52. package/dist/src/graph/create-image.js.map +1 -1
  53. package/dist/src/graph/create-image.test.js +109 -50
  54. package/dist/src/graph/create-image.test.js.map +1 -1
  55. package/dist/src/graph/create-property.d.ts.map +1 -1
  56. package/dist/src/graph/create-property.js +10 -19
  57. package/dist/src/graph/create-property.js.map +1 -1
  58. package/dist/src/graph/create-property.test.js +129 -19
  59. package/dist/src/graph/create-property.test.js.map +1 -1
  60. package/dist/src/graph/create-relation.d.ts +1 -3
  61. package/dist/src/graph/create-relation.d.ts.map +1 -1
  62. package/dist/src/graph/create-relation.js +21 -37
  63. package/dist/src/graph/create-relation.js.map +1 -1
  64. package/dist/src/graph/create-relation.test.js +186 -200
  65. package/dist/src/graph/create-relation.test.js.map +1 -1
  66. package/dist/src/graph/create-space.d.ts +2 -2
  67. package/dist/src/graph/create-space.d.ts.map +1 -1
  68. package/dist/src/graph/create-space.js.map +1 -1
  69. package/dist/src/graph/create-type.d.ts.map +1 -1
  70. package/dist/src/graph/create-type.js +16 -21
  71. package/dist/src/graph/create-type.js.map +1 -1
  72. package/dist/src/graph/create-type.test.js +76 -67
  73. package/dist/src/graph/create-type.test.js.map +1 -1
  74. package/dist/src/graph/delete-relation.d.ts.map +1 -1
  75. package/dist/src/graph/delete-relation.js +3 -6
  76. package/dist/src/graph/delete-relation.js.map +1 -1
  77. package/dist/src/graph/delete-relation.test.js +6 -8
  78. package/dist/src/graph/delete-relation.test.js.map +1 -1
  79. package/dist/src/graph/index.d.ts +1 -4
  80. package/dist/src/graph/index.d.ts.map +1 -1
  81. package/dist/src/graph/index.js +1 -4
  82. package/dist/src/graph/index.js.map +1 -1
  83. package/dist/src/graph/update-entity.d.ts.map +1 -1
  84. package/dist/src/graph/update-entity.js +109 -57
  85. package/dist/src/graph/update-entity.js.map +1 -1
  86. package/dist/src/graph/update-entity.test.js +167 -40
  87. package/dist/src/graph/update-entity.test.js.map +1 -1
  88. package/dist/src/graph/update-relation.d.ts +1 -2
  89. package/dist/src/graph/update-relation.d.ts.map +1 -1
  90. package/dist/src/graph/update-relation.js +12 -16
  91. package/dist/src/graph/update-relation.js.map +1 -1
  92. package/dist/src/graph/update-relation.test.js +75 -109
  93. package/dist/src/graph/update-relation.test.js.map +1 -1
  94. package/dist/src/id-utils.d.ts +6 -0
  95. package/dist/src/id-utils.d.ts.map +1 -1
  96. package/dist/src/id-utils.js +13 -0
  97. package/dist/src/id-utils.js.map +1 -1
  98. package/dist/src/ipfs.d.ts +3 -3
  99. package/dist/src/ipfs.d.ts.map +1 -1
  100. package/dist/src/ipfs.js +27 -7
  101. package/dist/src/ipfs.js.map +1 -1
  102. package/dist/src/ipfs.test.js +130 -17
  103. package/dist/src/ipfs.test.js.map +1 -1
  104. package/dist/src/proto/index.d.ts +7 -1
  105. package/dist/src/proto/index.d.ts.map +1 -1
  106. package/dist/src/proto/index.js +6 -1
  107. package/dist/src/proto/index.js.map +1 -1
  108. package/dist/src/ranks/create-rank.d.ts.map +1 -1
  109. package/dist/src/ranks/create-rank.js +54 -47
  110. package/dist/src/ranks/create-rank.js.map +1 -1
  111. package/dist/src/ranks/create-rank.test.js +181 -94
  112. package/dist/src/ranks/create-rank.test.js.map +1 -1
  113. package/dist/src/types.d.ts +52 -89
  114. package/dist/src/types.d.ts.map +1 -1
  115. package/dist/src/types.js.map +1 -1
  116. package/package.json +2 -5
@@ -32,11 +32,11 @@ console.log('Vote entity IDs:', ordinalRankResult.voteIds);
32
32
  // The ops array contains all the operations needed to create this rank:
33
33
  console.log('\nOperations breakdown:');
34
34
  for (const op of ordinalRankResult.ops) {
35
- if (op.type === 'UPDATE_ENTITY') {
36
- console.log(` - UPDATE_ENTITY: ${op.entity.id}`);
35
+ if (op.type === 'createEntity') {
36
+ console.log(` - createEntity`);
37
37
  }
38
- else if (op.type === 'CREATE_RELATION') {
39
- console.log(` - CREATE_RELATION: ${op.relation.fromEntity} -> ${op.relation.toEntity}`);
38
+ else if (op.type === 'createRelation') {
39
+ console.log(` - createRelation`);
40
40
  }
41
41
  }
42
42
  //# sourceMappingURL=create-ordinal-rank.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-ordinal-rank.js","sourceRoot":"","sources":["../../../examples/ranks/create-ordinal-rank.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEtD,uFAAuF;AACvF,uFAAuF;AACvF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AAEpC,gFAAgF;AAChF,qDAAqD;AACrD,gFAAgF;AAChF,uFAAuF;AACvF,qFAAqF;AAErF,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC;IACxC,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,0CAA0C;IACvD,QAAQ,EAAE,SAAS;IACnB,KAAK,EAAE;QACL,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,YAAY;QACpC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,YAAY;QACpC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,YAAY;KACrC;CACF,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC5C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAC9C,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACnE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAE3D,wEAAwE;AACxE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,KAAK,MAAM,EAAE,IAAI,iBAAiB,CAAC,GAAG,EAAE,CAAC;IACvC,IAAI,EAAE,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;SAAM,IAAI,EAAE,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC,UAAU,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"create-ordinal-rank.js","sourceRoot":"","sources":["../../../examples/ranks/create-ordinal-rank.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEtD,uFAAuF;AACvF,uFAAuF;AACvF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AAEpC,gFAAgF;AAChF,qDAAqD;AACrD,gFAAgF;AAChF,uFAAuF;AACvF,qFAAqF;AAErF,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC;IACxC,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,0CAA0C;IACvD,QAAQ,EAAE,SAAS;IACnB,KAAK,EAAE;QACL,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,YAAY;QACpC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,YAAY;QACpC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,YAAY;KACrC;CACF,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC5C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAC9C,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACnE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAE3D,wEAAwE;AACxE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,KAAK,MAAM,EAAE,IAAI,iBAAiB,CAAC,GAAG,EAAE,CAAC;IACvC,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;AACH,CAAC"}
@@ -32,11 +32,11 @@ console.log('Vote entity IDs:', weightedRankResult.voteIds);
32
32
  // The ops array contains all the operations needed to create this rank:
33
33
  console.log('\nOperations breakdown:');
34
34
  for (const op of weightedRankResult.ops) {
35
- if (op.type === 'UPDATE_ENTITY') {
36
- console.log(` - UPDATE_ENTITY: ${op.entity.id}`);
35
+ if (op.type === 'createEntity') {
36
+ console.log(` - createEntity`);
37
37
  }
38
- else if (op.type === 'CREATE_RELATION') {
39
- console.log(` - CREATE_RELATION: ${op.relation.fromEntity} -> ${op.relation.toEntity}`);
38
+ else if (op.type === 'createRelation') {
39
+ console.log(` - createRelation`);
40
40
  }
41
41
  }
42
42
  //# sourceMappingURL=create-weighted-rank.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-weighted-rank.js","sourceRoot":"","sources":["../../../examples/ranks/create-weighted-rank.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEtD,uFAAuF;AACvF,uFAAuF;AACvF,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACzC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACzC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AAEzC,gFAAgF;AAChF,oDAAoD;AACpD,gFAAgF;AAChF,2EAA2E;AAC3E,wEAAwE;AAExE,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;IACzC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,uBAAuB;IACpC,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE;QACL,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,yCAAyC;QACjF,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;QACtC,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;KACvC;CACF,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AAC/C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC/C,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAE5D,wEAAwE;AACxE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,KAAK,MAAM,EAAE,IAAI,kBAAkB,CAAC,GAAG,EAAE,CAAC;IACxC,IAAI,EAAE,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;SAAM,IAAI,EAAE,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC,UAAU,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"create-weighted-rank.js","sourceRoot":"","sources":["../../../examples/ranks/create-weighted-rank.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEtD,uFAAuF;AACvF,uFAAuF;AACvF,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACzC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AACzC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;AAEzC,gFAAgF;AAChF,oDAAoD;AACpD,gFAAgF;AAChF,2EAA2E;AAC3E,wEAAwE;AAExE,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;IACzC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,uBAAuB;IACpC,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE;QACL,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,yCAAyC;QACjF,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;QACtC,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;KACvC;CACF,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AAC/C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC/C,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAE5D,wEAAwE;AACxE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,KAAK,MAAM,EAAE,IAAI,kBAAkB,CAAC,GAAG,EAAE,CAAC;IACxC,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;AACH,CAAC"}
package/dist/proto.d.ts CHANGED
@@ -1,11 +1,7 @@
1
1
  /**
2
- * This module provides utility functions for working with the GRC-20 Edit
3
- * protobuf in TypeScript.
2
+ * This module provides encoding utilities for GRC-20 Edits.
3
+ *
4
+ * Note: As of this version, the encoding has migrated from protobuf to GRC-20 v2 binary format.
4
5
  */
5
- export * as EditProposal from './src/proto/edit.js';
6
- /**
7
- * This module provides utility functions for working with GRC-20 protobufs
8
- * in TypeScript.
9
- */
10
- export * from './src/proto/gen/src/proto/ipfs_pb.js';
6
+ export { decodeEdit, type Edit, type EncodeOptions, encodeEdit } from '@geoprotocol/grc-20';
11
7
  //# sourceMappingURL=proto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proto.d.ts","sourceRoot":"","sources":["../proto.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAC;AACpD;;;GAGG;AACH,cAAc,sCAAsC,CAAC"}
1
+ {"version":3,"file":"proto.d.ts","sourceRoot":"","sources":["../proto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,KAAK,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/proto.js CHANGED
@@ -1,11 +1,7 @@
1
1
  /**
2
- * This module provides utility functions for working with the GRC-20 Edit
3
- * protobuf in TypeScript.
2
+ * This module provides encoding utilities for GRC-20 Edits.
3
+ *
4
+ * Note: As of this version, the encoding has migrated from protobuf to GRC-20 v2 binary format.
4
5
  */
5
- export * as EditProposal from './src/proto/edit.js';
6
- /**
7
- * This module provides utility functions for working with GRC-20 protobufs
8
- * in TypeScript.
9
- */
10
- export * from './src/proto/gen/src/proto/ipfs_pb.js';
6
+ export { decodeEdit, encodeEdit } from '@geoprotocol/grc-20';
11
7
  //# sourceMappingURL=proto.js.map
package/dist/proto.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"proto.js","sourceRoot":"","sources":["../proto.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAC;AACpD;;;GAGG;AACH,cAAc,sCAAsC,CAAC"}
1
+ {"version":3,"file":"proto.js","sourceRoot":"","sources":["../proto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAiC,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -10,6 +10,6 @@
10
10
  *
11
11
  * Usage: import { ops } from './scripts/setup-rank-types.js'
12
12
  */
13
- import type { Op } from '../src/types.js';
14
- export declare const ops: Op[];
13
+ import type { Op as GrcOp } from '@geoprotocol/grc-20';
14
+ export declare const ops: GrcOp[];
15
15
  //# sourceMappingURL=setup-rank-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-rank-types.d.ts","sourceRoot":"","sources":["../../scripts/setup-rank-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAsD1C,eAAO,MAAM,GAAG,MAAwB,CAAC"}
1
+ {"version":3,"file":"setup-rank-types.d.ts","sourceRoot":"","sources":["../../scripts/setup-rank-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,KAAK,EAAE,MAAM,qBAAqB,CAAC;AA+DvD,eAAO,MAAM,GAAG,SAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-rank-types.js","sourceRoot":"","sources":["../../scripts/setup-rank-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD,MAAM,mBAAmB,GAAG,GAAS,EAAE;IACrC,MAAM,GAAG,GAAS,EAAE,CAAC;IAErB,4EAA4E;IAC5E,MAAM,gBAAgB,GAAG,cAAc,CAAC;QACtC,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,sEAAsE;QACnF,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAElC,0FAA0F;IAC1F,MAAM,qBAAqB,GAAG,cAAc,CAAC;QAC3C,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,UAAU;KACrB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAEvC,oFAAoF;IACpF,MAAM,wBAAwB,GAAG,cAAc,CAAC;QAC9C,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAE1C,gFAAgF;IAChF,MAAM,yBAAyB,GAAG,cAAc,CAAC;QAC/C,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,wCAAwC;QACrD,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAE3C,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,UAAU,CAAC;QAC1B,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,0EAA0E;QACvF,UAAU,EAAE,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;KAC3D,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE1B,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,8BAA8B;AAC9B,MAAM,CAAC,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"setup-rank-types.js","sourceRoot":"","sources":["../../scripts/setup-rank-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,mBAAmB,GAAG,GAAY,EAAE;IACxC,MAAM,GAAG,GAAY,EAAE,CAAC;IAExB,4EAA4E;IAC5E,MAAM,gBAAgB,GAAG,cAAc,CAAC;QACtC,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,sEAAsE;QACnF,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAElC,0FAA0F;IAC1F,MAAM,qBAAqB,GAAG,cAAc,CAAC;QAC3C,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,UAAU;KACrB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAEvC,oFAAoF;IACpF,MAAM,wBAAwB,GAAG,cAAc,CAAC;QAC9C,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAE1C,gFAAgF;IAChF,MAAM,yBAAyB,GAAG,cAAc,CAAC;QAC/C,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,wCAAwC;QACrD,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAE3C,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,UAAU,CAAC;QAC1B,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,0EAA0E;QACvF,UAAU,EAAE,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;KAC3D,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE1B,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,8BAA8B;AAC9B,MAAM,CAAC,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Conversion layer between grc-20-ts ops and @geoprotocol/grc-20 ops.
3
+ *
4
+ * This module bridges the high-level grc-20-ts operation types to the
5
+ * low-level @geoprotocol/grc-20 types used for binary encoding.
6
+ */
7
+ import { type Id as GrcId, type Op as GrcOp } from '@geoprotocol/grc-20';
8
+ import type { Op } from '../types.js';
9
+ /**
10
+ * Converts an array of grc-20-ts Ops to @geoprotocol/grc-20 Ops.
11
+ */
12
+ export declare function convertOps(ops: Op[]): GrcOp[];
13
+ /**
14
+ * Converts a hex address string to a GrcId (Uint8Array).
15
+ * Used for converting author addresses.
16
+ */
17
+ export declare function hexToGrcId(hex: `0x${string}`): GrcId;
18
+ //# sourceMappingURL=convert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/codec/convert.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,KAAK,EAAE,IAAI,KAAK,EAChB,KAAK,EAAE,IAAI,KAAK,EAUjB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,EAAE,EAAqB,MAAM,aAAa,CAAC;AAuKzD;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAE7C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,KAAK,CAcpD"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Conversion layer between grc-20-ts ops and @geoprotocol/grc-20 ops.
3
+ *
4
+ * This module bridges the high-level grc-20-ts operation types to the
5
+ * low-level @geoprotocol/grc-20 types used for binary encoding.
6
+ */
7
+ import { createId, } from '@geoprotocol/grc-20';
8
+ import { toBytes } from '../id-utils.js';
9
+ /**
10
+ * Converts a grc-20-ts Id (string) to @geoprotocol/grc-20 Id (Uint8Array).
11
+ */
12
+ function convertId(id) {
13
+ const bytes = toBytes(id);
14
+ return createId(bytes);
15
+ }
16
+ /**
17
+ * Converts a grc-20-ts TypedValue to @geoprotocol/grc-20 Value.
18
+ */
19
+ function convertTypedValue(v) {
20
+ switch (v.type) {
21
+ case 'bool':
22
+ return { type: 'bool', value: v.value };
23
+ case 'float64':
24
+ return {
25
+ type: 'float64',
26
+ value: v.value,
27
+ unit: v.unit ? convertId(v.unit) : undefined,
28
+ };
29
+ case 'text':
30
+ return {
31
+ type: 'text',
32
+ value: v.value,
33
+ language: v.language ? convertId(v.language) : undefined,
34
+ };
35
+ case 'point':
36
+ return {
37
+ type: 'point',
38
+ lon: v.lon,
39
+ lat: v.lat,
40
+ alt: v.alt,
41
+ };
42
+ case 'date':
43
+ return { type: 'date', value: v.value };
44
+ case 'time':
45
+ return { type: 'time', value: v.value };
46
+ case 'datetime':
47
+ return { type: 'datetime', value: v.value };
48
+ case 'schedule':
49
+ return { type: 'schedule', value: v.value };
50
+ default:
51
+ throw new Error(`Unsupported value type: ${v.type}`);
52
+ }
53
+ }
54
+ /**
55
+ * Converts a grc-20-ts Value to @geoprotocol/grc-20 PropertyValue.
56
+ */
57
+ function convertPropertyValue(v) {
58
+ // Extract property and build TypedValue from remaining fields
59
+ const { property, ...typedValue } = v;
60
+ return {
61
+ property: convertId(property),
62
+ value: convertTypedValue(typedValue),
63
+ };
64
+ }
65
+ /**
66
+ * Converts a single grc-20-ts Op to @geoprotocol/grc-20 Op.
67
+ */
68
+ function convertOp(op) {
69
+ switch (op.type) {
70
+ case 'UPDATE_ENTITY': {
71
+ // In grc-20-ts, UPDATE_ENTITY is used for both create and update
72
+ // In @geoprotocol/grc-20, we use createEntity for new entities
73
+ // Since we can't know if it's a new entity, we use createEntity
74
+ // which acts as an upsert in the spec
75
+ const createEntity = {
76
+ type: 'createEntity',
77
+ id: convertId(op.entity.id),
78
+ values: op.entity.values.map(convertPropertyValue),
79
+ };
80
+ return createEntity;
81
+ }
82
+ case 'CREATE_RELATION': {
83
+ const createRelation = {
84
+ type: 'createRelation',
85
+ id: convertId(op.relation.id),
86
+ relationType: convertId(op.relation.type),
87
+ from: convertId(op.relation.fromEntity),
88
+ to: convertId(op.relation.toEntity),
89
+ entity: op.relation.entity ? convertId(op.relation.entity) : undefined,
90
+ position: op.relation.position,
91
+ fromSpace: op.relation.fromSpace ? convertId(op.relation.fromSpace) : undefined,
92
+ fromVersion: op.relation.fromVersion ? convertId(op.relation.fromVersion) : undefined,
93
+ toSpace: op.relation.toSpace ? convertId(op.relation.toSpace) : undefined,
94
+ toVersion: op.relation.toVersion ? convertId(op.relation.toVersion) : undefined,
95
+ };
96
+ return createRelation;
97
+ }
98
+ case 'DELETE_RELATION': {
99
+ const deleteRelation = {
100
+ type: 'deleteRelation',
101
+ id: convertId(op.id),
102
+ };
103
+ return deleteRelation;
104
+ }
105
+ case 'UPDATE_RELATION': {
106
+ // Build unset array from boolean flags
107
+ const unset = [];
108
+ // Note: grc-20-ts doesn't have unset flags in UPDATE_RELATION,
109
+ // those are in UNSET_RELATION_FIELDS. So we pass empty unset array.
110
+ const updateRelation = {
111
+ type: 'updateRelation',
112
+ id: convertId(op.relation.id),
113
+ position: op.relation.position,
114
+ fromSpace: op.relation.fromSpace ? convertId(op.relation.fromSpace) : undefined,
115
+ fromVersion: op.relation.fromVersion ? convertId(op.relation.fromVersion) : undefined,
116
+ toSpace: op.relation.toSpace ? convertId(op.relation.toSpace) : undefined,
117
+ toVersion: op.relation.toVersion ? convertId(op.relation.toVersion) : undefined,
118
+ unset,
119
+ };
120
+ return updateRelation;
121
+ }
122
+ case 'UNSET_ENTITY_VALUES': {
123
+ // Convert to UpdateEntity with unset values
124
+ const unsetValues = op.unsetEntityValues.properties.map(propertyId => ({
125
+ property: convertId(propertyId),
126
+ language: { type: 'all' },
127
+ }));
128
+ const updateEntity = {
129
+ type: 'updateEntity',
130
+ id: convertId(op.unsetEntityValues.id),
131
+ set: [],
132
+ unset: unsetValues,
133
+ };
134
+ return updateEntity;
135
+ }
136
+ case 'UNSET_RELATION_FIELDS': {
137
+ const unset = [];
138
+ if (op.unsetRelationFields.fromSpace)
139
+ unset.push('fromSpace');
140
+ if (op.unsetRelationFields.fromVersion)
141
+ unset.push('fromVersion');
142
+ if (op.unsetRelationFields.toSpace)
143
+ unset.push('toSpace');
144
+ if (op.unsetRelationFields.toVersion)
145
+ unset.push('toVersion');
146
+ if (op.unsetRelationFields.position)
147
+ unset.push('position');
148
+ const updateRelation = {
149
+ type: 'updateRelation',
150
+ id: convertId(op.unsetRelationFields.id),
151
+ unset,
152
+ };
153
+ return updateRelation;
154
+ }
155
+ case 'CREATE_PROPERTY': {
156
+ // CREATE_PROPERTY is not directly supported in GRC-20 v2 as an op type
157
+ // Properties are implicitly created when used. We skip this op.
158
+ // For now, throw an error to make it explicit.
159
+ throw new Error('CREATE_PROPERTY is not supported in GRC-20 v2 binary format. Properties are created implicitly.');
160
+ }
161
+ default:
162
+ throw new Error(`Unknown op type: ${op.type}`);
163
+ }
164
+ }
165
+ /**
166
+ * Converts an array of grc-20-ts Ops to @geoprotocol/grc-20 Ops.
167
+ */
168
+ export function convertOps(ops) {
169
+ return ops.filter(op => op.type !== 'CREATE_PROPERTY').map(convertOp);
170
+ }
171
+ /**
172
+ * Converts a hex address string to a GrcId (Uint8Array).
173
+ * Used for converting author addresses.
174
+ */
175
+ export function hexToGrcId(hex) {
176
+ let hexString = hex;
177
+ if (hexString.startsWith('0x')) {
178
+ hexString = hexString.slice(2);
179
+ }
180
+ // Pad to 32 hex chars (16 bytes) if shorter
181
+ const paddedHex = hexString.padStart(32, '0');
182
+ const bytes = new Uint8Array(16);
183
+ for (let i = 0; i < 16; i++) {
184
+ bytes[i] = Number.parseInt(paddedHex.slice(i * 2, i * 2 + 2), 16);
185
+ }
186
+ return createId(bytes);
187
+ }
188
+ //# sourceMappingURL=convert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/codec/convert.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,10 @@
4
4
  *
5
5
  * @since 0.0.6
6
6
  */
7
- import type { Op } from '../types.js';
7
+ import type { Op as GrcOp } from '@geoprotocol/grc-20';
8
8
  type MakeAccountReturnType = {
9
9
  accountId: string;
10
- ops: Op[];
10
+ ops: GrcOp[];
11
11
  };
12
12
  /**
13
13
  * Returns the ops to create an entity representing an Account.
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/core/account.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAKtC,KAAK,qBAAqB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,EAAE,EAAE,CAAC;CACX,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CA0C3D"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/core/account.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAQvD,KAAK,qBAAqB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,KAAK,EAAE,CAAC;CACd,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CA4C3D"}
@@ -33,10 +33,12 @@ export function make(address) {
33
33
  values: [
34
34
  {
35
35
  property: ADDRESS_PROPERTY,
36
+ type: 'text',
36
37
  value: checkedAddress,
37
38
  },
38
39
  {
39
40
  property: NAME_PROPERTY,
41
+ type: 'text',
40
42
  value: checkedAddress,
41
43
  },
42
44
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/core/account.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAOlH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,IAAI,CAAC,OAAe;IAClC,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,cAAc,GAAW,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE3D,MAAM,GAAG,GAAS,EAAE,CAAC;IAErB,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;QACtC,EAAE,EAAE,SAAS;QACb,MAAM,EAAE;YACN;gBACE,QAAQ,EAAE,gBAAgB;gBAC1B,KAAK,EAAE,cAAc;aACtB;YACD;gBACE,QAAQ,EAAE,aAAa;gBACvB,KAAK,EAAE,cAAc;aACtB;SACF;KACF,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IAEvB,mBAAmB;IACnB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;QACzC,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAExB,sBAAsB;IACtB,gEAAgE;IAChE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;QACzC,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAExB,OAAO;QACL,SAAS;QACT,GAAG;KACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/core/account.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAOlH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,IAAI,CAAC,OAAe;IAClC,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,cAAc,GAAW,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE3D,MAAM,GAAG,GAAY,EAAE,CAAC;IAExB,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;QACtC,EAAE,EAAE,SAAS;QACb,MAAM,EAAE;YACN;gBACE,QAAQ,EAAE,gBAAgB;gBAC1B,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,cAAc;aACtB;YACD;gBACE,QAAQ,EAAE,aAAa;gBACvB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,cAAc;aACtB;SACF;KACF,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IAEvB,mBAAmB;IACnB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;QACzC,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAExB,sBAAsB;IACtB,gEAAgE;IAChE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;QACzC,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAExB,OAAO;QACL,SAAS;QACT,GAAG;KACJ,CAAC;AACJ,CAAC"}
@@ -1,33 +1,80 @@
1
1
  import { expect, it } from 'vitest';
2
- import { Id } from '../id.js';
3
- import { NetworkIds, SystemIds } from '../system-ids.js';
2
+ import { toGrcId } from '../id-utils.js';
4
3
  import { make } from './account.js';
4
+ import { ETHEREUM } from './ids/network.js';
5
+ import { ACCOUNT_TYPE, ADDRESS_PROPERTY, NAME_PROPERTY, NETWORK_PROPERTY, TYPES_PROPERTY } from './ids/system.js';
5
6
  const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
6
7
  it('should generate ops for an account entity', () => {
7
8
  const { accountId, ops } = make(ZERO_ADDRESS);
8
9
  const [entityOp, accountTypeOp, networkOp] = ops;
9
- expect(entityOp?.type).toBe('UPDATE_ENTITY');
10
- if (entityOp?.type === 'UPDATE_ENTITY' && entityOp?.entity.values?.[0]) {
11
- expect(entityOp.entity.values[0].property).toBe(SystemIds.ADDRESS_PROPERTY);
12
- expect(entityOp.entity.values[0].value).toBe(ZERO_ADDRESS);
13
- expect(entityOp.entity.id).toBe(Id(accountId));
10
+ // Verify we have the expected number of ops
11
+ expect(ops.length).toBe(3);
12
+ // Check createEntity op for the account
13
+ expect(entityOp?.type).toBe('createEntity');
14
+ const createEntityOp = entityOp;
15
+ expect(createEntityOp.id).toEqual(toGrcId(accountId));
16
+ // Verify ADDRESS_PROPERTY value
17
+ const addressValue = createEntityOp.values.find(v => {
18
+ const propBytes = v.property;
19
+ return propBytes.every((b, i) => b === toGrcId(ADDRESS_PROPERTY)[i]);
20
+ });
21
+ expect(addressValue).toBeDefined();
22
+ expect(addressValue?.value.type).toBe('text');
23
+ if (addressValue?.value.type === 'text') {
24
+ expect(addressValue.value.value).toBe(ZERO_ADDRESS);
14
25
  }
15
- if (entityOp?.type === 'UPDATE_ENTITY' && entityOp?.entity.values?.[1]) {
16
- expect(entityOp.entity.values[1].property).toBe(SystemIds.NAME_PROPERTY);
17
- expect(entityOp.entity.values[1].value).toBe(ZERO_ADDRESS);
18
- expect(entityOp.entity.id).toBe(Id(accountId));
26
+ // Verify NAME_PROPERTY value
27
+ const nameValue = createEntityOp.values.find(v => {
28
+ const propBytes = v.property;
29
+ return propBytes.every((b, i) => b === toGrcId(NAME_PROPERTY)[i]);
30
+ });
31
+ expect(nameValue).toBeDefined();
32
+ expect(nameValue?.value.type).toBe('text');
33
+ if (nameValue?.value.type === 'text') {
34
+ expect(nameValue.value.value).toBe(ZERO_ADDRESS);
19
35
  }
20
- expect(accountTypeOp?.type).toBe('CREATE_RELATION');
21
- if (accountTypeOp?.type === 'CREATE_RELATION') {
22
- expect(accountTypeOp.relation.type).toBe(SystemIds.TYPES_PROPERTY);
23
- expect(accountTypeOp.relation.toEntity).toBe(SystemIds.ACCOUNT_TYPE);
24
- expect(accountTypeOp.relation.fromEntity).toBe(Id(accountId));
25
- }
26
- expect(networkOp?.type).toBe('CREATE_RELATION');
27
- if (networkOp?.type === 'CREATE_RELATION') {
28
- expect(networkOp.relation.type).toBe(SystemIds.NETWORK_PROPERTY);
29
- expect(networkOp.relation.toEntity).toBe(NetworkIds.ETHEREUM);
30
- expect(networkOp.relation.fromEntity).toBe(Id(accountId));
36
+ // Check types relation to ACCOUNT_TYPE
37
+ expect(accountTypeOp?.type).toBe('createRelation');
38
+ const accountTypeRelOp = accountTypeOp;
39
+ expect(accountTypeRelOp.from).toEqual(toGrcId(accountId));
40
+ expect(accountTypeRelOp.to).toEqual(toGrcId(ACCOUNT_TYPE));
41
+ expect(accountTypeRelOp.relationType).toEqual(toGrcId(TYPES_PROPERTY));
42
+ // Check network relation to ETHEREUM
43
+ expect(networkOp?.type).toBe('createRelation');
44
+ const networkRelOp = networkOp;
45
+ expect(networkRelOp.from).toEqual(toGrcId(accountId));
46
+ expect(networkRelOp.to).toEqual(toGrcId(ETHEREUM));
47
+ expect(networkRelOp.relationType).toEqual(toGrcId(NETWORK_PROPERTY));
48
+ });
49
+ it('should use checksum address format', () => {
50
+ // Lowercase address should be converted to checksum format
51
+ const lowercaseAddress = '0xabcd1234567890abcdef1234567890abcdef1234';
52
+ const { ops } = make(lowercaseAddress);
53
+ const entityOp = ops[0];
54
+ const addressValue = entityOp.values.find(v => {
55
+ const propBytes = v.property;
56
+ return propBytes.every((b, i) => b === toGrcId(ADDRESS_PROPERTY)[i]);
57
+ });
58
+ expect(addressValue).toBeDefined();
59
+ expect(addressValue?.value.type).toBe('text');
60
+ if (addressValue?.value.type === 'text') {
61
+ // Should be checksum formatted (mixed case)
62
+ expect(addressValue.value.value).not.toBe(lowercaseAddress);
63
+ expect(addressValue.value.value.toLowerCase()).toBe(lowercaseAddress.toLowerCase());
31
64
  }
32
65
  });
66
+ it('should generate unique account IDs for different calls', () => {
67
+ const { accountId: id1 } = make(ZERO_ADDRESS);
68
+ const { accountId: id2 } = make(ZERO_ADDRESS);
69
+ expect(id1).not.toBe(id2);
70
+ });
71
+ it('should generate correct number of ops for account creation', () => {
72
+ const { ops } = make(ZERO_ADDRESS);
73
+ // 1 createEntity + 1 createRelation (type) + 1 createRelation (network)
74
+ expect(ops.length).toBe(3);
75
+ // Verify op types in correct order
76
+ expect(ops[0]?.type).toBe('createEntity');
77
+ expect(ops[1]?.type).toBe('createRelation');
78
+ expect(ops[2]?.type).toBe('createRelation');
79
+ });
33
80
  //# sourceMappingURL=account.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.test.js","sourceRoot":"","sources":["../../../src/core/account.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account.test.js","sourceRoot":"","sources":["../../../src/core/account.test.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * @since 0.0.6
6
6
  */
7
- import type { Op } from '../../types.js';
7
+ import type { Op as GrcOp } from '@geoprotocol/grc-20';
8
8
  type DataBlockSourceType = 'QUERY' | 'COLLECTION' | 'GEO';
9
9
  type DataBlockParams = {
10
10
  fromId: string;
@@ -27,8 +27,8 @@ type DataBlockParams = {
27
27
  * ```
28
28
  *
29
29
  * @param param args {@link TextBlockParams}
30
- * @returns ops – The ops for the Data Block entity: {@link Op}[]
30
+ * @returns ops – The ops for the Data Block entity: {@link GrcOp}[]
31
31
  */
32
- export declare function make({ fromId, sourceType, position, name }: DataBlockParams): Op[];
32
+ export declare function make({ fromId, sourceType, position, name }: DataBlockParams): GrcOp[];
33
33
  export {};
34
34
  //# sourceMappingURL=data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../src/core/blocks/data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAGzC,KAAK,mBAAmB,GAAG,OAAO,GAAG,YAAY,GAAG,KAAK,CAAC;AAa1D,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,eAAe,GAAG,EAAE,EAAE,CAwClF"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../src/core/blocks/data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAQvD,KAAK,mBAAmB,GAAG,OAAO,GAAG,YAAY,GAAG,KAAK,CAAC;AAa1D,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,eAAe,GAAG,KAAK,EAAE,CAyCrF"}
@@ -35,7 +35,7 @@ function getSourceTypeId(sourceType) {
35
35
  * ```
36
36
  *
37
37
  * @param param args {@link TextBlockParams}
38
- * @returns ops – The ops for the Data Block entity: {@link Op}[]
38
+ * @returns ops – The ops for the Data Block entity: {@link GrcOp}[]
39
39
  */
40
40
  export function make({ fromId, sourceType, position, name }) {
41
41
  const newBlockId = generate();
@@ -65,6 +65,7 @@ export function make({ fromId, sourceType, position, name }) {
65
65
  values: [
66
66
  {
67
67
  property: NAME_PROPERTY,
68
+ type: 'text',
68
69
  value: name,
69
70
  },
70
71
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../src/core/blocks/data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,8BAA8B,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIrH,SAAS,eAAe,CAAC,UAA+B;IACtD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,SAAS,CAAC,sBAAsB,CAAC;QAC1C,KAAK,KAAK;YACR,OAAO,SAAS,CAAC,sBAAsB,CAAC;QAC1C,KAAK,OAAO;YACV,OAAO,SAAS,CAAC,iBAAiB,CAAC;IACvC,CAAC;AACH,CAAC;AASD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAmB;IAC1E,MAAM,UAAU,GAAG,QAAQ,EAAE,CAAC;IAE9B,MAAM,GAAG,GAAS,EAAE,CAAC;IACrB,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,cAAc,CAAC;QAC/C,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,UAAU;KACrB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAE9B,MAAM,EAAE,GAAG,EAAE,sBAAsB,EAAE,GAAG,cAAc,CAAC;QACrD,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,8BAA8B;QACpC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC;KACtC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,CAAC;IAEpC,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,cAAc,CAAC;QACnD,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC;QACxB,QAAQ;KACT,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;IAElC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;YACpC,EAAE,EAAE,UAAU;YACd,MAAM,EAAE;gBACN;oBACE,QAAQ,EAAE,aAAa;oBACvB,KAAK,EAAE,IAAI;iBACZ;aACF;SACF,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../src/core/blocks/data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,8BAA8B,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIrH,SAAS,eAAe,CAAC,UAA+B;IACtD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,SAAS,CAAC,sBAAsB,CAAC;QAC1C,KAAK,KAAK;YACR,OAAO,SAAS,CAAC,sBAAsB,CAAC;QAC1C,KAAK,OAAO;YACV,OAAO,SAAS,CAAC,iBAAiB,CAAC;IACvC,CAAC;AACH,CAAC;AASD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAmB;IAC1E,MAAM,UAAU,GAAG,QAAQ,EAAE,CAAC;IAE9B,MAAM,GAAG,GAAY,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,cAAc,CAAC;QAC/C,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,UAAU;KACrB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAE9B,MAAM,EAAE,GAAG,EAAE,sBAAsB,EAAE,GAAG,cAAc,CAAC;QACrD,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,8BAA8B;QACpC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC;KACtC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,CAAC;IAEpC,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,cAAc,CAAC;QACnD,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC;QACxB,QAAQ;KACT,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;IAElC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;YACpC,EAAE,EAAE,UAAU;YACd,MAAM,EAAE;gBACN;oBACE,QAAQ,EAAE,aAAa;oBACvB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,IAAI;iBACZ;aACF;SACF,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}