@peerbit/shared-log 9.2.13 → 10.0.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 (104) hide show
  1. package/dist/benchmark/get-samples.js +190 -64
  2. package/dist/benchmark/get-samples.js.map +1 -1
  3. package/dist/benchmark/index.js +16 -38
  4. package/dist/benchmark/index.js.map +1 -1
  5. package/dist/benchmark/memory/child.js.map +1 -1
  6. package/dist/benchmark/partial-sync.d.ts +3 -0
  7. package/dist/benchmark/partial-sync.d.ts.map +1 -0
  8. package/dist/benchmark/partial-sync.js +121 -0
  9. package/dist/benchmark/partial-sync.js.map +1 -0
  10. package/dist/benchmark/replication-prune.js.map +1 -1
  11. package/dist/benchmark/replication.js.map +1 -1
  12. package/dist/benchmark/to-rebalance.d.ts +2 -0
  13. package/dist/benchmark/to-rebalance.d.ts.map +1 -0
  14. package/dist/benchmark/to-rebalance.js +117 -0
  15. package/dist/benchmark/to-rebalance.js.map +1 -0
  16. package/dist/benchmark/utils.d.ts +24 -0
  17. package/dist/benchmark/utils.d.ts.map +1 -0
  18. package/dist/benchmark/utils.js +47 -0
  19. package/dist/benchmark/utils.js.map +1 -0
  20. package/dist/src/debounce.d.ts +2 -2
  21. package/dist/src/debounce.d.ts.map +1 -1
  22. package/dist/src/debounce.js +17 -47
  23. package/dist/src/debounce.js.map +1 -1
  24. package/dist/src/exchange-heads.d.ts +1 -13
  25. package/dist/src/exchange-heads.d.ts.map +1 -1
  26. package/dist/src/exchange-heads.js +0 -32
  27. package/dist/src/exchange-heads.js.map +1 -1
  28. package/dist/src/index.d.ts +119 -60
  29. package/dist/src/index.d.ts.map +1 -1
  30. package/dist/src/index.js +1116 -762
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/integers.d.ts +22 -0
  33. package/dist/src/integers.d.ts.map +1 -0
  34. package/dist/src/integers.js +76 -0
  35. package/dist/src/integers.js.map +1 -0
  36. package/dist/src/pid.d.ts.map +1 -1
  37. package/dist/src/pid.js +22 -22
  38. package/dist/src/pid.js.map +1 -1
  39. package/dist/src/ranges.d.ts +168 -38
  40. package/dist/src/ranges.d.ts.map +1 -1
  41. package/dist/src/ranges.js +869 -272
  42. package/dist/src/ranges.js.map +1 -1
  43. package/dist/src/replication-domain-hash.d.ts +2 -3
  44. package/dist/src/replication-domain-hash.d.ts.map +1 -1
  45. package/dist/src/replication-domain-hash.js +40 -15
  46. package/dist/src/replication-domain-hash.js.map +1 -1
  47. package/dist/src/replication-domain-time.d.ts +5 -5
  48. package/dist/src/replication-domain-time.d.ts.map +1 -1
  49. package/dist/src/replication-domain-time.js +2 -0
  50. package/dist/src/replication-domain-time.js.map +1 -1
  51. package/dist/src/replication-domain.d.ts +17 -19
  52. package/dist/src/replication-domain.d.ts.map +1 -1
  53. package/dist/src/replication-domain.js +2 -6
  54. package/dist/src/replication-domain.js.map +1 -1
  55. package/dist/src/replication.d.ts +6 -6
  56. package/dist/src/replication.d.ts.map +1 -1
  57. package/dist/src/replication.js +4 -4
  58. package/dist/src/replication.js.map +1 -1
  59. package/dist/src/role.d.ts +3 -6
  60. package/dist/src/role.d.ts.map +1 -1
  61. package/dist/src/role.js +4 -5
  62. package/dist/src/role.js.map +1 -1
  63. package/dist/src/sync/index.d.ts +40 -0
  64. package/dist/src/sync/index.d.ts.map +1 -0
  65. package/dist/src/sync/index.js +2 -0
  66. package/dist/src/sync/index.js.map +1 -0
  67. package/dist/src/sync/rateless-iblt.d.ts +124 -0
  68. package/dist/src/sync/rateless-iblt.d.ts.map +1 -0
  69. package/dist/src/sync/rateless-iblt.js +495 -0
  70. package/dist/src/sync/rateless-iblt.js.map +1 -0
  71. package/dist/src/sync/simple.d.ts +69 -0
  72. package/dist/src/sync/simple.d.ts.map +1 -0
  73. package/dist/src/sync/simple.js +338 -0
  74. package/dist/src/sync/simple.js.map +1 -0
  75. package/dist/src/sync/wasm-init.browser.d.ts +1 -0
  76. package/dist/src/sync/wasm-init.browser.d.ts.map +1 -0
  77. package/dist/src/sync/wasm-init.browser.js +3 -0
  78. package/dist/src/sync/wasm-init.browser.js.map +1 -0
  79. package/dist/src/sync/wasm-init.d.ts +2 -0
  80. package/dist/src/sync/wasm-init.d.ts.map +1 -0
  81. package/dist/src/sync/wasm-init.js +13 -0
  82. package/dist/src/sync/wasm-init.js.map +1 -0
  83. package/dist/src/utils.d.ts +3 -3
  84. package/dist/src/utils.d.ts.map +1 -1
  85. package/dist/src/utils.js +2 -2
  86. package/dist/src/utils.js.map +1 -1
  87. package/package.json +10 -6
  88. package/src/debounce.ts +16 -51
  89. package/src/exchange-heads.ts +1 -23
  90. package/src/index.ts +1532 -1038
  91. package/src/integers.ts +102 -0
  92. package/src/pid.ts +23 -22
  93. package/src/ranges.ts +1204 -413
  94. package/src/replication-domain-hash.ts +43 -18
  95. package/src/replication-domain-time.ts +9 -9
  96. package/src/replication-domain.ts +21 -31
  97. package/src/replication.ts +10 -9
  98. package/src/role.ts +4 -6
  99. package/src/sync/index.ts +51 -0
  100. package/src/sync/rateless-iblt.ts +617 -0
  101. package/src/sync/simple.ts +403 -0
  102. package/src/sync/wasm-init.browser.ts +1 -0
  103. package/src/sync/wasm-init.ts +14 -0
  104. package/src/utils.ts +10 -4
@@ -1 +1 @@
1
- {"version":3,"file":"ranges.js","sourceRoot":"","sources":["../../src/ranges.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ranges.js","sourceRoot":"","sources":["../../src/ranges.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { type ReplicationDomain } from "./replication-domain.js";
2
- export declare const hashToU32: (hash: Uint8Array) => number;
3
- export type ReplicationDomainHash = ReplicationDomain<undefined, any>;
4
- export declare const createReplicationDomainHash: () => ReplicationDomainHash;
2
+ export type ReplicationDomainHash<R extends "u32" | "u64"> = ReplicationDomain<undefined, any, R>;
3
+ export declare const createReplicationDomainHash: <R extends "u32" | "u64">(resolution: R) => ReplicationDomainHash<R>;
5
4
  //# sourceMappingURL=replication-domain-hash.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"replication-domain-hash.d.ts","sourceRoot":"","sources":["../../src/replication-domain-hash.ts"],"names":[],"mappings":"AAIA,OAAO,EAEN,KAAK,iBAAiB,EAEtB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,SAAS,SAAU,UAAU,WAKzC,CAAC;AAkBF,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACtE,eAAO,MAAM,2BAA2B,EAAE,MAAM,qBAU/C,CAAC"}
1
+ {"version":3,"file":"replication-domain-hash.d.ts","sourceRoot":"","sources":["../../src/replication-domain-hash.ts"],"names":[],"mappings":"AAKA,OAAO,EAEN,KAAK,iBAAiB,EAEtB,MAAM,yBAAyB,CAAC;AAyCjC,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI,iBAAiB,CAC7E,SAAS,EACT,GAAG,EACH,CAAC,CACD,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,CAAC,SAAS,KAAK,GAAG,KAAK,cACtD,CAAC,KACX,qBAAqB,CAAC,CAAC,CAWzB,CAAC"}
@@ -1,25 +1,50 @@
1
- import { BinaryReader, BinaryWriter } from "@dao-xyz/borsh";
1
+ import { BinaryWriter } from "@dao-xyz/borsh";
2
2
  import { sha256 } from "@peerbit/crypto";
3
+ import { bytesToNumber } from "./integers.js";
4
+ import {} from "./ranges.js";
3
5
  import {} from "./replication-domain.js";
4
- export const hashToU32 = (hash) => {
5
- const seedNumber = new BinaryReader(hash.subarray(hash.length - 4, hash.length)).u32();
6
+ /* const hashToU32 = (hash: Uint8Array) => {
7
+ const seedNumber = new BinaryReader(
8
+ hash.subarray(hash.length - 4, hash.length),
9
+ ).u32();
6
10
  return seedNumber;
7
11
  };
8
- const hashTransformer = async (entry) => {
9
- // For a fixed set or members, the choosen leaders will always be the same (address invariant)
10
- // This allows for that same content is always chosen to be distributed to same peers, to remove unecessary copies
11
- // Convert this thing we wan't to distribute to 8 bytes so we get can convert it into a u64
12
- // modulus into an index
13
- const utf8writer = new BinaryWriter();
14
- utf8writer.string(entry.meta.gid);
15
- const seed = await sha256(utf8writer.finalize());
16
- // convert hash of slot to a number
17
- return hashToU32(seed);
12
+
13
+
14
+ const hashToU64 = (hash: Uint8Array): bigint => {
15
+ const seedNumber = new BinaryReader(
16
+ hash.subarray(hash.length - 4, hash.length), //
17
+ ).u64();
18
+ return seedNumber;
19
+ };
20
+ */
21
+ const hashTransformer = (resolution) => {
22
+ const numberConverter = bytesToNumber(resolution);
23
+ if (resolution === "u32") {
24
+ return (async (entry) => {
25
+ const utf8writer = new BinaryWriter();
26
+ utf8writer.string(entry.meta.gid);
27
+ const seed = await sha256(utf8writer.finalize());
28
+ return numberConverter(seed);
29
+ });
30
+ }
31
+ else if (resolution === "u64") {
32
+ return (async (entry) => {
33
+ const utf8writer = new BinaryWriter();
34
+ utf8writer.string(entry.meta.gid);
35
+ const seed = await sha256(utf8writer.finalize());
36
+ return numberConverter(seed);
37
+ });
38
+ }
39
+ else {
40
+ throw new Error("Unsupported resolution");
41
+ }
18
42
  };
19
- export const createReplicationDomainHash = () => {
43
+ export const createReplicationDomainHash = (resolution) => {
20
44
  return {
45
+ resolution,
21
46
  type: "hash",
22
- fromEntry: hashTransformer,
47
+ fromEntry: hashTransformer(resolution),
23
48
  fromArgs: async (args, log) => {
24
49
  return {
25
50
  offset: log.node.identity.publicKey,
@@ -1 +1 @@
1
- {"version":3,"file":"replication-domain-hash.js","sourceRoot":"","sources":["../../src/replication-domain-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAIN,MAAM,yBAAyB,CAAC;AAEjC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAgB,EAAE,EAAE;IAC7C,MAAM,UAAU,GAAG,IAAI,YAAY,CAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAC3C,CAAC,GAAG,EAAE,CAAC;IACR,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAiC,KAAK,EAC1D,KAAgD,EAC/C,EAAE;IACH,8FAA8F;IAC9F,kHAAkH;IAElH,2FAA2F;IAC3F,wBAAwB;IACxB,MAAM,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;IACtC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEjD,mCAAmC;IACnC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,2BAA2B,GAAgC,GAAG,EAAE;IAC5E,OAAO;QACN,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,KAAK,EAAE,IAAe,EAAE,GAAQ,EAAE,EAAE;YAC7C,OAAO;gBACN,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;aACnC,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"replication-domain-hash.js","sourceRoot":"","sources":["../../src/replication-domain-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAwB,MAAM,aAAa,CAAC;AACnD,OAAO,EAIN,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;;;GAcG;AAEH,MAAM,eAAe,GAAG,CACvB,UAAa,EACqB,EAAE;IACpC,MAAM,eAAe,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,EAAE,KAAmD,EAAE,EAAE;YACrE,MAAM,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;YACtC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAoC,CAAC;IACvC,CAAC;SAAM,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,EAAE,KAAmD,EAAE,EAAE;YACrE,MAAM,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;YACtC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAoC,CAAC;IACvC,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC3C,CAAC;AACF,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAC1C,UAAa,EACc,EAAE;IAC7B,OAAO;QACN,UAAU;QACV,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,eAAe,CAAI,UAAU,CAAC;QACzC,QAAQ,EAAE,KAAK,EAAE,IAAe,EAAE,GAAQ,EAAE,EAAE;YAC7C,OAAO;gBACN,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;aACnC,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC,CAAC"}
@@ -1,13 +1,13 @@
1
- import { type ReplicationDomain, type ReplicationDomainMapper, type u32 } from "./replication-domain.js";
1
+ import { type ReplicationDomain, type ReplicationDomainMapper } from "./replication-domain.js";
2
2
  type TimeUnit = "seconds" | "milliseconds" | "microseconds" | "nanoseconds";
3
- export declare const fromEntry: (origin: Date, unit?: TimeUnit) => ReplicationDomainMapper<any>;
3
+ export declare const fromEntry: (origin: Date, unit?: TimeUnit) => ReplicationDomainMapper<any, "u32">;
4
4
  type TimeRange = {
5
5
  from: number;
6
6
  to: number;
7
7
  };
8
- export type ReplicationDomainTime = ReplicationDomain<TimeRange, any> & {
9
- fromTime: (time: number | Date) => u32;
10
- fromDuration: (duration: number) => u32;
8
+ export type ReplicationDomainTime = ReplicationDomain<TimeRange, any, "u32"> & {
9
+ fromTime: (time: number | Date) => number;
10
+ fromDuration: (duration: number) => number;
11
11
  };
12
12
  export declare const createReplicationDomainTime: (origin: Date, unit?: TimeUnit) => ReplicationDomainTime;
13
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"replication-domain-time.d.ts","sourceRoot":"","sources":["../../src/replication-domain-time.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,GAAG,EACR,MAAM,yBAAyB,CAAC;AAEjC,KAAK,QAAQ,GAAG,SAAS,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,CAAC;AAe5E,eAAO,MAAM,SAAS,WACb,IAAI,SACN,QAAQ,KACZ,uBAAuB,CAAC,GAAG,CAS7B,CAAC;AAEF,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG;IACvE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,GAAG,CAAC;IACvC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,2BAA2B,WAC/B,IAAI,SACN,QAAQ,KACZ,qBAsCF,CAAC"}
1
+ {"version":3,"file":"replication-domain-time.d.ts","sourceRoot":"","sources":["../../src/replication-domain-time.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,MAAM,yBAAyB,CAAC;AAEjC,KAAK,QAAQ,GAAG,SAAS,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,CAAC;AAe5E,eAAO,MAAM,SAAS,WACb,IAAI,SACN,QAAQ,KACZ,uBAAuB,CAAC,GAAG,EAAE,KAAK,CASpC,CAAC;AAEF,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;IAC9E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;IAC1C,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C,CAAC;AAEF,eAAO,MAAM,2BAA2B,WAC/B,IAAI,SACN,QAAQ,KACZ,qBAuCF,CAAC"}
@@ -1,3 +1,4 @@
1
+ import {} from "./ranges.js";
1
2
  import {} from "./replication-domain.js";
2
3
  const scalarNanoToUnit = {
3
4
  seconds: BigInt(1e9),
@@ -30,6 +31,7 @@ export const createReplicationDomainTime = (origin, unit = "milliseconds") => {
30
31
  return duration;
31
32
  };
32
33
  return {
34
+ resolution: "u32",
33
35
  type: "time",
34
36
  fromTime,
35
37
  fromDuration,
@@ -1 +1 @@
1
- {"version":3,"file":"replication-domain-time.js","sourceRoot":"","sources":["../../src/replication-domain-time.ts"],"names":[],"mappings":"AAEA,OAAO,EAIN,MAAM,yBAAyB,CAAC;AAIjC,MAAM,gBAAgB,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;CACtB,CAAC;AACF,MAAM,iBAAiB,GAAG;IACzB,OAAO,EAAE,GAAG;IACZ,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,MAAY,EACZ,OAAiB,cAAc,EACA,EAAE;IACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,EAAE,GAAG,CAAC,KAAgD,EAAE,EAAE;QAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;QAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC;IAChD,CAAC,CAAC;IACF,OAAO,EAAE,CAAC;AACX,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAC1C,MAAY,EACZ,OAAiB,cAAc,EACP,EAAE;IAC1B,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAC,IAAmB,EAAO,EAAE;QAC7C,OAAO,CACN,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,eAAe,CAAC,GAAG,YAAY,CAC1E,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAO,EAAE;QAC9C,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC;IACF,OAAO;QACN,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,YAAY;QACZ,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;QAClC,QAAQ,EAAE,KAAK,EAAE,IAA2B,EAAE,GAAG,EAAE,EAAE;YACpD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,OAAO;oBACN,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;iBACnC,CAAC;YACH,CAAC;YACD,OAAO;gBACN,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC3B,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;aACzC,CAAC;YACF;;;;;;;;sCAQuB;QACxB,CAAC;KACD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"replication-domain-time.js","sourceRoot":"","sources":["../../src/replication-domain-time.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,MAAM,aAAa,CAAC;AACnD,OAAO,EAGN,MAAM,yBAAyB,CAAC;AAIjC,MAAM,gBAAgB,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;CACtB,CAAC;AACF,MAAM,iBAAiB,GAAG;IACzB,OAAO,EAAE,GAAG;IACZ,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,MAAY,EACZ,OAAiB,cAAc,EACO,EAAE;IACxC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,EAAE,GAAG,CAAC,KAAuD,EAAE,EAAE;QACtE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;QAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC;IAChD,CAAC,CAAC;IACF,OAAO,EAAE,CAAC;AACX,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAC1C,MAAY,EACZ,OAAiB,cAAc,EACP,EAAE;IAC1B,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAC,IAAmB,EAAU,EAAE;QAChD,OAAO,CACN,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,eAAe,CAAC,GAAG,YAAY,CAC1E,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAU,EAAE;QACjD,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC;IACF,OAAO;QACN,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,YAAY;QACZ,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;QAClC,QAAQ,EAAE,KAAK,EAAE,IAA2B,EAAE,GAAG,EAAE,EAAE;YACpD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,OAAO;oBACN,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;iBACnC,CAAC;YACH,CAAC;YACD,OAAO;gBACN,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC3B,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;aACzC,CAAC;YACF;;;;;;;;sCAQuB;QACxB,CAAC;KACD,CAAC;AACH,CAAC,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import type { PublicSignKey } from "@peerbit/crypto";
2
2
  import { type Index } from "@peerbit/indexer-interface";
3
3
  import type { Entry, ShallowEntry } from "@peerbit/log";
4
- import type { EntryReplicated, ReplicationRangeIndexable } from "./ranges.js";
4
+ import type { ReplicationRangeIndexable } from "./index.js";
5
+ import type { NumberFromType } from "./integers.js";
6
+ import type { EntryReplicated } from "./ranges.js";
5
7
  import type { ReplicationLimits } from "./replication.js";
6
- export type u32 = number;
7
- export type ReplicationDomainMapper<T> = (entry: Entry<T> | ShallowEntry | EntryReplicated) => Promise<u32> | u32;
8
+ export type ReplicationDomainMapper<T, R extends "u32" | "u64"> = (entry: Entry<T> | ShallowEntry | EntryReplicated<R>) => Promise<NumberFromType<R>> | NumberFromType<R>;
8
9
  export type Log = {
9
10
  replicas: ReplicationLimits;
10
11
  node: {
@@ -12,28 +13,25 @@ export type Log = {
12
13
  publicKey: PublicSignKey;
13
14
  };
14
15
  };
15
- syncInFlight: Map<string, Map<string, {
16
- timestamp: number;
17
- }>>;
18
- replicationIndex: Index<ReplicationRangeIndexable>;
16
+ replicationIndex: Index<ReplicationRangeIndexable<any>>;
19
17
  getDefaultMinRoleAge: () => Promise<number>;
20
18
  };
21
19
  export type ReplicationDomainCoverSet<Args> = (log: Log, roleAge: number | undefined, args: Args) => Promise<string[]> | string[];
22
- type CoverRange = {
23
- offset: number | PublicSignKey;
24
- length?: number;
20
+ type CoverRange<T extends number | bigint> = {
21
+ offset: T | PublicSignKey;
22
+ length?: T;
25
23
  };
26
24
  export type ReplicationChanges = ReplicationChange[];
27
25
  export type ReplicationChange = {
28
26
  type: "added";
29
- range: ReplicationRangeIndexable;
27
+ range: ReplicationRangeIndexable<any>;
30
28
  } | {
31
29
  type: "removed";
32
- range: ReplicationRangeIndexable;
30
+ range: ReplicationRangeIndexable<any>;
33
31
  } | {
34
32
  type: "updated";
35
- range: ReplicationRangeIndexable;
36
- prev: ReplicationRangeIndexable;
33
+ range: ReplicationRangeIndexable<any>;
34
+ prev: ReplicationRangeIndexable<any>;
37
35
  };
38
36
  export declare const mergeReplicationChanges: (changes: ReplicationChanges | ReplicationChanges[]) => ReplicationChanges;
39
37
  export declare const debounceAggregationChanges: (fn: (changeOrChanges: ReplicationChange[]) => void, delay: number) => {
@@ -42,12 +40,12 @@ export declare const debounceAggregationChanges: (fn: (changeOrChanges: Replicat
42
40
  size: () => () => number;
43
41
  invoke: () => Promise<void>;
44
42
  };
45
- export type ReplicationDomain<Args, T> = {
43
+ export type ReplicationDomain<Args, T, R extends "u32" | "u64"> = {
44
+ resolution: R;
46
45
  type: string;
47
- fromEntry: ReplicationDomainMapper<T>;
48
- fromArgs: (args: Args | undefined, log: Log) => Promise<CoverRange> | CoverRange;
46
+ fromEntry: ReplicationDomainMapper<T, R>;
47
+ fromArgs: (args: Args | undefined, log: Log) => Promise<CoverRange<NumberFromType<R>>> | CoverRange<NumberFromType<R>>;
49
48
  };
50
- export declare const uniformToU32: (cursor: number) => number;
51
- export type ExtractDomainArgs<T> = T extends ReplicationDomain<infer Args, any> ? Args : never;
49
+ export type ExtractDomainArgs<T> = T extends ReplicationDomain<infer Args, any, any> ? Args : never;
52
50
  export {};
53
51
  //# sourceMappingURL=replication-domain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"replication-domain.d.ts","sourceRoot":"","sources":["../../src/replication-domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CACxC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,eAAe,KAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAExB,MAAM,MAAM,GAAG,GAAG;IACjB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE;QACL,QAAQ,EAAE;YACT,SAAS,EAAE,aAAa,CAAC;SACzB,CAAC;KACF,CAAC;IACF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC9D,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACnD,oBAAoB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C,CAAC;AACF,MAAM,MAAM,yBAAyB,CAAC,IAAI,IAAI,CAC7C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,IAAI,EAAE,IAAI,KACN,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC;AAElC,KAAK,UAAU,GAAG;IACjB,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;AACrD,MAAM,MAAM,iBAAiB,GAC1B;IACA,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,yBAAyB,CAAC;CAChC,GACD;IACA,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,yBAAyB,CAAC;CAChC,GACD;IACA,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,yBAAyB,CAAC;IACjC,IAAI,EAAE,yBAAyB,CAAC;CAC/B,CAAC;AAEL,eAAO,MAAM,uBAAuB,YAC1B,kBAAkB,GAAG,kBAAkB,EAAE,KAChD,kBAMF,CAAC;AAEF,eAAO,MAAM,0BAA0B,OAClC,CAAC,eAAe,EAAE,iBAAiB,EAAE,KAAK,IAAI,SAC3C,MAAM;;;;;CA4Bb,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC,IAAI;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACtC,QAAQ,EAAE,CACT,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,GAAG,EAAE,GAAG,KACJ,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;CAOtC,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,MAAM,WAE1C,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAC9B,CAAC,SAAS,iBAAiB,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"replication-domain.d.ts","sourceRoot":"","sources":["../../src/replication-domain.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import {} from "@peerbit/indexer-interface";
2
- import { debounceAcculmulator } from "./debounce.js";
3
- import { MAX_U32 } from "./role.js";
2
+ import { debounceAccumulator } from "./debounce.js";
4
3
  export const mergeReplicationChanges = (changes) => {
5
4
  let first = changes[0];
6
5
  if (!Array.isArray(first)) {
@@ -9,7 +8,7 @@ export const mergeReplicationChanges = (changes) => {
9
8
  return changes.flat();
10
9
  };
11
10
  export const debounceAggregationChanges = (fn, delay) => {
12
- return debounceAcculmulator((result) => {
11
+ return debounceAccumulator((result) => {
13
12
  return fn([...result.values()]);
14
13
  }, () => {
15
14
  let aggregated = new Map();
@@ -33,7 +32,4 @@ export const debounceAggregationChanges = (fn, delay) => {
33
32
  };
34
33
  }, delay);
35
34
  };
36
- export const uniformToU32 = (cursor) => {
37
- return cursor * MAX_U32;
38
- };
39
35
  //# sourceMappingURL=replication-domain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"replication-domain.js","sourceRoot":"","sources":["../../src/replication-domain.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4CpC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACtC,OAAkD,EAC7B,EAAE;IACvB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,OAA6B,CAAC;IACtC,CAAC;IACD,OAAQ,OAAgC,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,EAAkD,EAClD,KAAa,EACZ,EAAE;IACH,OAAO,oBAAoB,CAC1B,CAAC,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,EACD,GAAG,EAAE;QACJ,IAAI,UAAU,GAAmC,IAAI,GAAG,EAAE,CAAC;QAC3D,OAAO;YACN,GAAG,EAAE,CAAC,MAAyB,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,IAAI,EAAE,CAAC;oBACV,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBACnD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC/C,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC/C,CAAC;YACF,CAAC;YACD,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE;gBACvB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI;YAC3B,KAAK,EAAE,UAAU;SACjB,CAAC;IACH,CAAC,EACD,KAAK,CACL,CAAC;AACH,CAAC,CAAC;AAiBF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,EAAE;IAC9C,OAAO,MAAM,GAAG,OAAO,CAAC;AACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"replication-domain.js","sourceRoot":"","sources":["../../src/replication-domain.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AA8CpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACtC,OAAkD,EAC7B,EAAE;IACvB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,OAA6B,CAAC;IACtC,CAAC;IACD,OAAQ,OAAgC,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,EAAkD,EAClD,KAAa,EACZ,EAAE;IACH,OAAO,mBAAmB,CACzB,CAAC,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,EACD,GAAG,EAAE;QACJ,IAAI,UAAU,GAAmC,IAAI,GAAG,EAAE,CAAC;QAC3D,OAAO;YACN,GAAG,EAAE,CAAC,MAAyB,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,IAAI,EAAE,CAAC;oBACV,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBACnD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC/C,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC/C,CAAC;YACF,CAAC;YACD,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE;gBACvB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI;YAC3B,KAAK,EAAE,UAAU;SACjB,CAAC;IACH,CAAC,EACD,KAAK,CACL,CAAC;AACH,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type Index } from "@peerbit/indexer-interface";
2
2
  import { TransportMessage } from "./message.js";
3
- import { ReplicationRange, type ReplicationRangeIndexable } from "./ranges.js";
3
+ import { type ReplicationRangeIndexable, ReplicationRangeMessage } from "./ranges.js";
4
4
  import { Observer, Replicator } from "./role.js";
5
5
  export type ReplicationLimits = {
6
6
  min: MinReplicas;
@@ -8,7 +8,7 @@ export type ReplicationLimits = {
8
8
  };
9
9
  interface SharedLog {
10
10
  replicas: Partial<ReplicationLimits>;
11
- replicationIndex: Index<ReplicationRangeIndexable> | undefined;
11
+ replicationIndex: Index<ReplicationRangeIndexable<any>> | undefined;
12
12
  }
13
13
  export declare class MinReplicas {
14
14
  getValue(log: SharedLog): number;
@@ -29,15 +29,15 @@ export declare class ResponseRoleMessage extends TransportMessage {
29
29
  toReplicationInfoMessage(): AllReplicatingSegmentsMessage;
30
30
  }
31
31
  export declare class AllReplicatingSegmentsMessage extends TransportMessage {
32
- segments: ReplicationRange[];
32
+ segments: ReplicationRangeMessage<any>[];
33
33
  constructor(properties: {
34
- segments: ReplicationRange[];
34
+ segments: ReplicationRangeMessage<any>[];
35
35
  });
36
36
  }
37
37
  export declare class AddedReplicationSegmentMessage extends TransportMessage {
38
- segments: ReplicationRange[];
38
+ segments: ReplicationRangeMessage<any>[];
39
39
  constructor(properties: {
40
- segments: ReplicationRange[];
40
+ segments: ReplicationRangeMessage<any>[];
41
41
  });
42
42
  }
43
43
  export declare class StoppedReplicating extends TransportMessage {
@@ -1 +1 @@
1
- {"version":3,"file":"replication.d.ts","sourceRoot":"","sources":["../../src/replication.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAEN,gBAAgB,EAChB,KAAK,yBAAyB,EAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAQ,MAAM,WAAW,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAExE,UAAU,SAAS;IAClB,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACrC,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,CAAC,GAAG,SAAS,CAAC;CAC/D;AAED,qBAAa,WAAW;IACvB,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM;CAGhC;AAED,qBACa,gBAAiB,SAAQ,WAAW;IAEhD,MAAM,EAAE,MAAM,CAAC;gBAEH,KAAK,EAAE,MAAM;IAKzB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;CAGjC;AAED,qBACa,6BAA8B,SAAQ,gBAAgB;;CAIlE;AAGD,qBACa,mBAAoB,SAAQ,gBAAgB;IAExD,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;gBAEhB,UAAU,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAA;KAAE;IAKvD,wBAAwB,IAAI,6BAA6B;CAgBzD;AAED,qBACa,6BAA8B,SAAQ,gBAAgB;IAElE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;gBAEjB,UAAU,EAAE;QAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;KAAE;CAIxD;AAED,qBACa,8BAA+B,SAAQ,gBAAgB;IAEnE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;gBAEjB,UAAU,EAAE;QAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;KAAE;CAIxD;AAED,qBACa,kBAAmB,SAAQ,gBAAgB;IAEvD,UAAU,EAAE,UAAU,EAAE,CAAC;gBAEb,UAAU,EAAE;QAAE,UAAU,EAAE,UAAU,EAAE,CAAA;KAAE;CAIpD;AAiBD,eAAO,MAAM,cAAc,gBAAiB,WAAW,KAAG,UAEzD,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAG3B;AACD,eAAO,MAAM,cAAc,UAAW;IACrC,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;CAC5B,KAAG,WAKH,CAAC;AAEF,eAAO,MAAM,WAAW,QAClB,SAAS,WAEX;IAAE,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,CAAA;CAAE,EAAE,GACjC,gBAAgB,CAAC;IAAE,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,CAAA;CAAE,CAAC,WAUpD,CAAC"}
1
+ {"version":3,"file":"replication.d.ts","sourceRoot":"","sources":["../../src/replication.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAEN,KAAK,yBAAyB,EAC9B,uBAAuB,EAEvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAQ,MAAM,WAAW,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAExE,UAAU,SAAS;IAClB,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACrC,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;CACpE;AAED,qBAAa,WAAW;IACvB,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM;CAGhC;AAED,qBACa,gBAAiB,SAAQ,WAAW;IAEhD,MAAM,EAAE,MAAM,CAAC;gBAEH,KAAK,EAAE,MAAM;IAKzB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;CAGjC;AAED,qBACa,6BAA8B,SAAQ,gBAAgB;;CAIlE;AAGD,qBACa,mBAAoB,SAAQ,gBAAgB;IAExD,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;gBAEhB,UAAU,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAA;KAAE;IAKvD,wBAAwB,IAAI,6BAA6B;CAgBzD;AAED,qBACa,6BAA8B,SAAQ,gBAAgB;IAElE,QAAQ,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAE7B,UAAU,EAAE;QAAE,QAAQ,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAA;KAAE;CAIpE;AAED,qBACa,8BAA+B,SAAQ,gBAAgB;IAEnE,QAAQ,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAE7B,UAAU,EAAE;QAAE,QAAQ,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAA;KAAE;CAIpE;AAED,qBACa,kBAAmB,SAAQ,gBAAgB;IAEvD,UAAU,EAAE,UAAU,EAAE,CAAC;gBAEb,UAAU,EAAE;QAAE,UAAU,EAAE,UAAU,EAAE,CAAA;KAAE;CAIpD;AAiBD,eAAO,MAAM,cAAc,gBAAiB,WAAW,KAAG,UAEzD,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAG3B;AACD,eAAO,MAAM,cAAc,UAAW;IACrC,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;CAC5B,KAAG,WAKH,CAAC;AAEF,eAAO,MAAM,WAAW,QAClB,SAAS,WAEX;IAAE,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,CAAA;CAAE,EAAE,GACjC,gBAAgB,CAAC;IAAE,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,CAAA;CAAE,CAAC,WAUpD,CAAC"}
@@ -11,7 +11,7 @@ import { deserialize, field, option, serialize, variant, vec, } from "@dao-xyz/b
11
11
  import { randomBytes } from "@peerbit/crypto";
12
12
  import {} from "@peerbit/indexer-interface";
13
13
  import { TransportMessage } from "./message.js";
14
- import { ReplicationIntent, ReplicationRange, } from "./ranges.js";
14
+ import { ReplicationIntent, ReplicationRangeMessage, ReplicationRangeMessageU32, } from "./ranges.js";
15
15
  import { Observer, Replicator, Role } from "./role.js";
16
16
  export class MinReplicas {
17
17
  getValue(log) {
@@ -58,7 +58,7 @@ let ResponseRoleMessage = class ResponseRoleMessage extends TransportMessage {
58
58
  return new AllReplicatingSegmentsMessage({
59
59
  segments: this.role instanceof Replicator
60
60
  ? this.role.segments.map((x) => {
61
- return new ReplicationRange({
61
+ return new ReplicationRangeMessageU32({
62
62
  id: randomBytes(32),
63
63
  offset: x.offset,
64
64
  factor: x.factor,
@@ -87,7 +87,7 @@ let AllReplicatingSegmentsMessage = class AllReplicatingSegmentsMessage extends
87
87
  }
88
88
  };
89
89
  __decorate([
90
- field({ type: vec(ReplicationRange) }),
90
+ field({ type: vec(ReplicationRangeMessage) }),
91
91
  __metadata("design:type", Array)
92
92
  ], AllReplicatingSegmentsMessage.prototype, "segments", void 0);
93
93
  AllReplicatingSegmentsMessage = __decorate([
@@ -103,7 +103,7 @@ let AddedReplicationSegmentMessage = class AddedReplicationSegmentMessage extend
103
103
  }
104
104
  };
105
105
  __decorate([
106
- field({ type: vec(ReplicationRange) }),
106
+ field({ type: vec(ReplicationRangeMessage) }),
107
107
  __metadata("design:type", Array)
108
108
  ], AddedReplicationSegmentMessage.prototype, "segments", void 0);
109
109
  AddedReplicationSegmentMessage = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"replication.js","sourceRoot":"","sources":["../../src/replication.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACN,WAAW,EACX,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,GAAG,GACH,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACN,iBAAiB,EACjB,gBAAgB,GAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASvD,MAAM,OAAO,WAAW;IACvB,QAAQ,CAAC,GAAc;QACtB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACD;AAGM,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,WAAW;IAEhD,MAAM,CAAS;IAEf,YAAY,KAAa;QACxB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,IAAe;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;CACD,CAAA;AAVA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;gDACR;AAFH,gBAAgB;IAD5B,OAAO,CAAC,CAAC,CAAC;;GACE,gBAAgB,CAY5B;;AAGM,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,gBAAgB;IAClE;QACC,KAAK,EAAE,CAAC;IACT,CAAC;CACD,CAAA;AAJY,6BAA6B;IADzC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;GACH,6BAA6B,CAIzC;;AAED,mCAAmC;AAE5B,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,gBAAgB;IAExD,IAAI,CAAwB;IAE5B,YAAY,UAA2C;QACtD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,wBAAwB;QACvB,OAAO,IAAI,6BAA6B,CAAC;YACxC,QAAQ,EACP,IAAI,CAAC,IAAI,YAAY,UAAU;gBAC9B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC7B,OAAO,IAAI,gBAAgB,CAAC;wBAC3B,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC;wBACnB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,IAAI,EAAE,iBAAiB,CAAC,SAAS;qBACjC,CAAC,CAAC;gBACJ,CAAC,CAAC;gBACH,CAAC,CAAC,EAAE;SACN,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AAvBA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;;iDACF;AAFhB,mBAAmB;IAD/B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;GACH,mBAAmB,CAyB/B;;AAGM,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,gBAAgB;IAElE,QAAQ,CAAqB;IAE7B,YAAY,UAA4C;QACvD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACrC,CAAC;CACD,CAAA;AANA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;;+DACV;AAFjB,6BAA6B;IADzC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;GACH,6BAA6B,CAQzC;;AAGM,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,gBAAgB;IAEnE,QAAQ,CAAqB;IAE7B,YAAY,UAA4C;QACvD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACrC,CAAC;CACD,CAAA;AANA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;;gEACV;AAFjB,8BAA8B;IAD1C,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;GACH,8BAA8B,CAQ1C;;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,gBAAgB;IAEvD,UAAU,CAAe;IAEzB,YAAY,UAAwC;QACnD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IACzC,CAAC;CACD,CAAA;AANA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;;sDACR;AAFb,kBAAkB;IAD9B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;GACH,kBAAkB,CAQ9B;;AAED;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAwB,EAAc,EAAE;IACtE,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;IAChB,CAAC;CACD;AACD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAE9B,EAAe,EAAE;IACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAC1B,GAAc,EACd,OAEoD,EACnD,EAAE;IACH,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC;IAC1E,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/D,OAAO,eAAe,CAAC;AACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"replication.js","sourceRoot":"","sources":["../../src/replication.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,16 @@
1
- export declare const MAX_U32 = 4294967295;
2
- export declare const HALF_MAX_U32 = 2147483647;
3
- export declare const scaleToU32: (value: number) => number;
4
1
  export declare const overlaps: (x1: number, x2: number, y1: number, y2: number) => boolean;
5
2
  export declare abstract class Role {
6
3
  abstract equals(other: Role): boolean;
7
4
  }
8
- export declare const NO_TYPE_VARIANT: Uint8Array;
5
+ export declare const NO_TYPE_VARIANT: Uint8Array<ArrayBuffer>;
9
6
  export declare class NoType extends Role {
10
7
  equals(other: Role): other is NoType;
11
8
  }
12
- export declare const OBSERVER_TYPE_VARIANT: Uint8Array;
9
+ export declare const OBSERVER_TYPE_VARIANT: Uint8Array<ArrayBuffer>;
13
10
  export declare class Observer extends Role {
14
11
  equals(other: Role): other is Observer;
15
12
  }
16
- export declare const REPLICATOR_TYPE_VARIANT: Uint8Array;
13
+ export declare const REPLICATOR_TYPE_VARIANT: Uint8Array<ArrayBuffer>;
17
14
  export declare class RoleReplicationSegment {
18
15
  timestamp: bigint;
19
16
  private factorNominator;
@@ -1 +1 @@
1
- {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../src/role.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,OAAO,aAAa,CAAC;AAClC,eAAO,MAAM,YAAY,aAAa,CAAC;AACvC,eAAO,MAAM,UAAU,UAAW,MAAM,WAAgC,CAAC;AAEzE,eAAO,MAAM,QAAQ,OAAQ,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,YAKtE,CAAC;AAEF,8BAAsB,IAAI;IACzB,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;CACrC;AAED,eAAO,MAAM,eAAe,YAAsB,CAAC;AAEnD,qBACa,MAAO,SAAQ,IAAI;IAC/B,MAAM,CAAC,KAAK,EAAE,IAAI;CAGlB;AAED,eAAO,MAAM,qBAAqB,YAAsB,CAAC;AAEzD,qBACa,QAAS,SAAQ,IAAI;IACjC,MAAM,CAAC,KAAK,EAAE,IAAI;CAGlB;AAED,eAAO,MAAM,uBAAuB,YAAsB,CAAC;AAE3D,qBAAa,sBAAsB;IAElC,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,CAAC,eAAe,CAAS;IAGhC,OAAO,CAAC,eAAe,CAAS;gBAEpB,UAAU,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB;IAeD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;CACD;AAED,qBACa,UAAW,SAAQ,IAAI;IAEnC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;gBAEvB,UAAU,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KACf;IAQD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,MAAM,CAAC,KAAK,EAAE,IAAI;CAOlB"}
1
+ {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../src/role.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,QAAQ,OAAQ,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,YAKtE,CAAC;AAEF,8BAAsB,IAAI;IACzB,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;CACrC;AAED,eAAO,MAAM,eAAe,yBAAsB,CAAC;AAEnD,qBACa,MAAO,SAAQ,IAAI;IAC/B,MAAM,CAAC,KAAK,EAAE,IAAI;CAGlB;AAED,eAAO,MAAM,qBAAqB,yBAAsB,CAAC;AAEzD,qBACa,QAAS,SAAQ,IAAI;IACjC,MAAM,CAAC,KAAK,EAAE,IAAI;CAGlB;AAED,eAAO,MAAM,uBAAuB,yBAAsB,CAAC;AAG3D,qBAAa,sBAAsB;IAElC,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,CAAC,eAAe,CAAS;IAGhC,OAAO,CAAC,eAAe,CAAS;gBAEpB,UAAU,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB;IAeD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;CACD;AAED,qBACa,UAAW,SAAQ,IAAI;IAEnC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;gBAEvB,UAAU,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KACf;IAQD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,MAAM,CAAC,KAAK,EAAE,IAAI;CAOlB"}