@ottochain/sdk 2.2.5 → 2.4.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 (222) hide show
  1. package/dist/cjs/apps/contracts/index.js +15 -8
  2. package/dist/cjs/apps/contracts/state-machines/contract-agreement.js +89 -46
  3. package/dist/cjs/apps/contracts/state-machines/contract-escrow.js +152 -45
  4. package/dist/cjs/apps/contracts/state-machines/contract-universal.js +40 -8
  5. package/dist/cjs/apps/corporate/index.js +2 -2
  6. package/dist/cjs/apps/corporate/state-machines/corp-board.js +169 -59
  7. package/dist/cjs/apps/corporate/state-machines/corp-entity.js +245 -47
  8. package/dist/cjs/apps/corporate/state-machines/corp-securities.js +407 -99
  9. package/dist/cjs/apps/corporate/state-machines/corp-shareholders.js +151 -37
  10. package/dist/cjs/apps/governance/index.js +14 -14
  11. package/dist/cjs/apps/governance/state-machines/dao-multisig.js +85 -43
  12. package/dist/cjs/apps/governance/state-machines/dao-reputation.js +73 -43
  13. package/dist/cjs/apps/governance/state-machines/dao-single.js +55 -14
  14. package/dist/cjs/apps/governance/state-machines/dao-token.js +103 -45
  15. package/dist/cjs/apps/governance/state-machines/governance-simple.js +129 -65
  16. package/dist/cjs/apps/governance/state-machines/governance-universal.js +29 -5
  17. package/dist/cjs/apps/identity/constants.js +55 -14
  18. package/dist/cjs/apps/identity/index.js +27 -11
  19. package/dist/cjs/apps/identity/state-machines/identity-agent.js +57 -9
  20. package/dist/cjs/apps/identity/state-machines/identity-oracle.js +70 -27
  21. package/dist/cjs/apps/identity/state-machines/identity-registry.js +288 -0
  22. package/dist/cjs/apps/identity/state-machines/identity-universal.js +30 -6
  23. package/dist/cjs/apps/identity/state-machines/index.js +3 -1
  24. package/dist/cjs/apps/index.js +19 -8
  25. package/dist/cjs/apps/lending/assets.js +223 -0
  26. package/dist/cjs/apps/lending/credit-scoring.js +87 -0
  27. package/dist/cjs/apps/lending/eligibility.js +121 -0
  28. package/dist/cjs/apps/lending/index.js +91 -0
  29. package/dist/cjs/apps/lending/state-machines/index.js +9 -0
  30. package/dist/cjs/apps/lending/state-machines/lending-zk-loan.js +412 -0
  31. package/dist/cjs/apps/markets/index.js +21 -11
  32. package/dist/cjs/apps/markets/state-machines/market-auction.js +44 -19
  33. package/dist/cjs/apps/markets/state-machines/market-crowdfund.js +54 -29
  34. package/dist/cjs/apps/markets/state-machines/market-group-buy.js +53 -31
  35. package/dist/cjs/apps/markets/state-machines/market-prediction.js +120 -61
  36. package/dist/cjs/apps/markets/state-machines/market-universal.js +50 -10
  37. package/dist/cjs/apps/oracles/index.js +2 -2
  38. package/dist/cjs/errors.js +3 -3
  39. package/dist/cjs/generated/google/protobuf/struct.js +4 -4
  40. package/dist/cjs/generated/index.js +11 -7
  41. package/dist/cjs/generated/openapi.js +6 -0
  42. package/dist/cjs/generated/ottochain/apps/contracts/v1/contract.js +50 -50
  43. package/dist/cjs/generated/ottochain/apps/corporate/v1/corporate.js +19 -20
  44. package/dist/cjs/generated/ottochain/apps/governance/v1/governance.js +13 -13
  45. package/dist/cjs/generated/ottochain/apps/identity/v1/attestation.js +4 -4
  46. package/dist/cjs/generated/ottochain/apps/identity/v1/identity.js +124 -130
  47. package/dist/cjs/generated/ottochain/apps/markets/v1/market.js +107 -107
  48. package/dist/cjs/generated/ottochain/v1/common.js +1722 -1
  49. package/dist/cjs/generated/ottochain/v1/fiber.js +355 -5
  50. package/dist/cjs/generated/ottochain/v1/messages.js +775 -3
  51. package/dist/cjs/generated/ottochain/v1/records.js +350 -3
  52. package/dist/cjs/index.js +45 -7
  53. package/dist/cjs/openapi.js +2 -0
  54. package/dist/cjs/ottochain/drop-nulls.js +1 -2
  55. package/dist/cjs/ottochain/genesis-manifest.js +193 -0
  56. package/dist/cjs/ottochain/index.js +27 -13
  57. package/dist/cjs/ottochain/metagraph-client.js +65 -8
  58. package/dist/cjs/ottochain/snapshot.js +11 -12
  59. package/dist/cjs/ottochain/transaction.js +57 -14
  60. package/dist/cjs/ottochain/types.js +19 -1
  61. package/dist/cjs/privacy/index.js +14 -0
  62. package/dist/cjs/privacy/sealed-bid.js +210 -0
  63. package/dist/cjs/privacy/shield-app.js +131 -0
  64. package/dist/cjs/schema/effects.js +40 -0
  65. package/dist/cjs/schema/fiber-app.js +19 -13
  66. package/dist/cjs/schema/guard-lint.js +352 -0
  67. package/dist/cjs/schema/guards.js +246 -0
  68. package/dist/cjs/signing.js +80 -0
  69. package/dist/cjs/types.js +2 -3
  70. package/dist/cjs/validation.js +8 -8
  71. package/dist/cjs/verify.js +9 -4
  72. package/dist/cjs/zk/commit.js +53 -0
  73. package/dist/cjs/zk/guard.js +107 -0
  74. package/dist/cjs/zk/index.js +48 -0
  75. package/dist/cjs/zk/preimage.js +37 -0
  76. package/dist/cjs/zk/prover.js +87 -0
  77. package/dist/cjs/zk/registry.js +62 -0
  78. package/dist/cjs/zk/types.js +28 -0
  79. package/dist/cjs/zk/witness.js +19 -0
  80. package/dist/esm/apps/contracts/index.js +7 -3
  81. package/dist/esm/apps/contracts/state-machines/contract-agreement.js +89 -46
  82. package/dist/esm/apps/contracts/state-machines/contract-escrow.js +152 -45
  83. package/dist/esm/apps/contracts/state-machines/contract-universal.js +40 -8
  84. package/dist/esm/apps/corporate/state-machines/corp-board.js +169 -59
  85. package/dist/esm/apps/corporate/state-machines/corp-entity.js +245 -47
  86. package/dist/esm/apps/corporate/state-machines/corp-securities.js +407 -99
  87. package/dist/esm/apps/corporate/state-machines/corp-shareholders.js +151 -37
  88. package/dist/esm/apps/governance/state-machines/dao-multisig.js +85 -43
  89. package/dist/esm/apps/governance/state-machines/dao-reputation.js +73 -43
  90. package/dist/esm/apps/governance/state-machines/dao-single.js +55 -14
  91. package/dist/esm/apps/governance/state-machines/dao-token.js +103 -45
  92. package/dist/esm/apps/governance/state-machines/governance-simple.js +129 -65
  93. package/dist/esm/apps/governance/state-machines/governance-universal.js +29 -5
  94. package/dist/esm/apps/identity/constants.js +51 -12
  95. package/dist/esm/apps/identity/index.js +12 -7
  96. package/dist/esm/apps/identity/state-machines/identity-agent.js +57 -9
  97. package/dist/esm/apps/identity/state-machines/identity-oracle.js +70 -27
  98. package/dist/esm/apps/identity/state-machines/identity-registry.js +285 -0
  99. package/dist/esm/apps/identity/state-machines/identity-universal.js +30 -6
  100. package/dist/esm/apps/identity/state-machines/index.js +1 -0
  101. package/dist/esm/apps/index.js +1 -0
  102. package/dist/esm/apps/lending/assets.js +207 -0
  103. package/dist/esm/apps/lending/credit-scoring.js +81 -0
  104. package/dist/esm/apps/lending/eligibility.js +115 -0
  105. package/dist/esm/apps/lending/index.js +69 -0
  106. package/dist/esm/apps/lending/state-machines/index.js +5 -0
  107. package/dist/esm/apps/lending/state-machines/lending-zk-loan.js +409 -0
  108. package/dist/esm/apps/markets/index.js +8 -4
  109. package/dist/esm/apps/markets/state-machines/market-auction.js +44 -19
  110. package/dist/esm/apps/markets/state-machines/market-crowdfund.js +54 -29
  111. package/dist/esm/apps/markets/state-machines/market-group-buy.js +53 -31
  112. package/dist/esm/apps/markets/state-machines/market-prediction.js +120 -61
  113. package/dist/esm/apps/markets/state-machines/market-universal.js +50 -10
  114. package/dist/esm/generated/index.js +9 -5
  115. package/dist/esm/generated/openapi.js +5 -0
  116. package/dist/esm/generated/ottochain/apps/contracts/v1/contract.js +46 -46
  117. package/dist/esm/generated/ottochain/apps/identity/v1/identity.js +114 -120
  118. package/dist/esm/generated/ottochain/apps/markets/v1/market.js +100 -100
  119. package/dist/esm/generated/ottochain/v1/common.js +1718 -0
  120. package/dist/esm/generated/ottochain/v1/fiber.js +351 -1
  121. package/dist/esm/generated/ottochain/v1/messages.js +774 -2
  122. package/dist/esm/generated/ottochain/v1/records.js +349 -2
  123. package/dist/esm/index.js +23 -2
  124. package/dist/esm/openapi.js +1 -0
  125. package/dist/esm/ottochain/genesis-manifest.js +189 -0
  126. package/dist/esm/ottochain/index.js +4 -3
  127. package/dist/esm/ottochain/metagraph-client.js +65 -8
  128. package/dist/esm/ottochain/snapshot.js +4 -4
  129. package/dist/esm/ottochain/transaction.js +43 -3
  130. package/dist/esm/ottochain/types.js +18 -0
  131. package/dist/esm/privacy/index.js +6 -0
  132. package/dist/esm/privacy/sealed-bid.js +206 -0
  133. package/dist/esm/privacy/shield-app.js +127 -0
  134. package/dist/esm/schema/effects.js +35 -0
  135. package/dist/esm/schema/fiber-app.js +13 -6
  136. package/dist/esm/schema/guard-lint.js +346 -0
  137. package/dist/esm/schema/guards.js +229 -0
  138. package/dist/esm/signing.js +74 -0
  139. package/dist/esm/verify.js +8 -2
  140. package/dist/esm/zk/commit.js +44 -0
  141. package/dist/esm/zk/guard.js +99 -0
  142. package/dist/esm/zk/index.js +19 -0
  143. package/dist/esm/zk/preimage.js +30 -0
  144. package/dist/esm/zk/prover.js +82 -0
  145. package/dist/esm/zk/registry.js +55 -0
  146. package/dist/esm/zk/types.js +25 -0
  147. package/dist/esm/zk/witness.js +15 -0
  148. package/dist/types/apps/contracts/index.d.ts +159 -227
  149. package/dist/types/apps/contracts/state-machines/contract-agreement.d.ts +50 -101
  150. package/dist/types/apps/contracts/state-machines/contract-escrow.d.ts +86 -120
  151. package/dist/types/apps/contracts/state-machines/contract-universal.d.ts +20 -4
  152. package/dist/types/apps/corporate/index.d.ts +1040 -304
  153. package/dist/types/apps/corporate/state-machines/corp-board.d.ts +188 -52
  154. package/dist/types/apps/corporate/state-machines/corp-entity.d.ts +267 -62
  155. package/dist/types/apps/corporate/state-machines/corp-securities.d.ts +355 -131
  156. package/dist/types/apps/corporate/state-machines/corp-shareholders.d.ts +225 -53
  157. package/dist/types/apps/governance/index.d.ts +396 -417
  158. package/dist/types/apps/governance/state-machines/dao-multisig.d.ts +92 -95
  159. package/dist/types/apps/governance/state-machines/dao-reputation.d.ts +57 -69
  160. package/dist/types/apps/governance/state-machines/dao-single.d.ts +40 -50
  161. package/dist/types/apps/governance/state-machines/dao-token.d.ts +80 -53
  162. package/dist/types/apps/governance/state-machines/governance-simple.d.ts +107 -121
  163. package/dist/types/apps/governance/state-machines/governance-universal.d.ts +17 -5
  164. package/dist/types/apps/identity/constants.d.ts +32 -4
  165. package/dist/types/apps/identity/index.d.ts +449 -100
  166. package/dist/types/apps/identity/state-machines/identity-agent.d.ts +30 -0
  167. package/dist/types/apps/identity/state-machines/identity-oracle.d.ts +41 -87
  168. package/dist/types/apps/identity/state-machines/identity-registry.d.ts +379 -0
  169. package/dist/types/apps/identity/state-machines/identity-universal.d.ts +15 -0
  170. package/dist/types/apps/identity/state-machines/index.d.ts +1 -0
  171. package/dist/types/apps/index.d.ts +1 -0
  172. package/dist/types/apps/lending/assets.d.ts +258 -0
  173. package/dist/types/apps/lending/credit-scoring.d.ts +80 -0
  174. package/dist/types/apps/lending/eligibility.d.ts +83 -0
  175. package/dist/types/apps/lending/index.d.ts +548 -0
  176. package/dist/types/apps/lending/state-machines/index.d.ts +5 -0
  177. package/dist/types/apps/lending/state-machines/lending-zk-loan.d.ts +528 -0
  178. package/dist/types/apps/markets/index.d.ts +184 -204
  179. package/dist/types/apps/markets/state-machines/market-auction.d.ts +25 -37
  180. package/dist/types/apps/markets/state-machines/market-crowdfund.d.ts +26 -34
  181. package/dist/types/apps/markets/state-machines/market-group-buy.d.ts +31 -43
  182. package/dist/types/apps/markets/state-machines/market-prediction.d.ts +67 -72
  183. package/dist/types/apps/markets/state-machines/market-universal.d.ts +30 -10
  184. package/dist/types/generated/index.d.ts +5 -5
  185. package/dist/types/generated/openapi.d.ts +1257 -0
  186. package/dist/types/generated/ottochain/apps/contracts/v1/contract.d.ts +5 -5
  187. package/dist/types/generated/ottochain/apps/identity/v1/identity.d.ts +12 -12
  188. package/dist/types/generated/ottochain/apps/markets/v1/market.d.ts +11 -11
  189. package/dist/types/generated/ottochain/v1/common.d.ts +228 -0
  190. package/dist/types/generated/ottochain/v1/fiber.d.ts +32 -1
  191. package/dist/types/generated/ottochain/v1/messages.d.ts +84 -0
  192. package/dist/types/generated/ottochain/v1/records.d.ts +34 -0
  193. package/dist/types/index.d.ts +8 -2
  194. package/dist/types/openapi.d.ts +22 -0
  195. package/dist/types/ottochain/genesis-manifest.d.ts +130 -0
  196. package/dist/types/ottochain/index.d.ts +6 -5
  197. package/dist/types/ottochain/metagraph-client.d.ts +49 -7
  198. package/dist/types/ottochain/snapshot.d.ts +6 -6
  199. package/dist/types/ottochain/transaction.d.ts +33 -1
  200. package/dist/types/ottochain/types.d.ts +602 -11
  201. package/dist/types/privacy/index.d.ts +6 -0
  202. package/dist/types/privacy/sealed-bid.d.ts +348 -0
  203. package/dist/types/privacy/shield-app.d.ts +48 -0
  204. package/dist/types/schema/effects.d.ts +34 -0
  205. package/dist/types/schema/fiber-app.d.ts +41 -3
  206. package/dist/types/schema/guard-lint.d.ts +111 -0
  207. package/dist/types/schema/guards.d.ts +134 -0
  208. package/dist/types/signing.d.ts +45 -0
  209. package/dist/types/validation.d.ts +22 -217
  210. package/dist/types/verify.d.ts +4 -0
  211. package/dist/types/zk/commit.d.ts +28 -0
  212. package/dist/types/zk/guard.d.ts +46 -0
  213. package/dist/types/zk/index.d.ts +19 -0
  214. package/dist/types/zk/preimage.d.ts +10 -0
  215. package/dist/types/zk/prover.d.ts +34 -0
  216. package/dist/types/zk/registry.d.ts +34 -0
  217. package/dist/types/zk/types.d.ts +33 -0
  218. package/dist/types/zk/witness.d.ts +40 -0
  219. package/package.json +52 -35
  220. package/dist/cjs/ottochain/normalize.js +0 -186
  221. package/dist/esm/ottochain/normalize.js +0 -179
  222. package/dist/types/ottochain/normalize.d.ts +0 -79
@@ -5,10 +5,11 @@
5
5
  // protoc unknown
6
6
  // source: ottochain/v1/records.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.CalculatedState_ScriptsEntry = exports.CalculatedState_StateMachinesEntry = exports.CalculatedState = exports.FiberLogEntryList = exports.OnChainState_LatestLogsEntry = exports.OnChainState_FiberCommitsEntry = exports.OnChainState = exports.FiberCommit = exports.ScriptFiberRecord = exports.StateMachineFiberRecord = exports.protobufPackage = void 0;
8
+ exports.CalculatedState_ReverseNamesEntry = exports.CalculatedState_RegistryEntriesEntry = exports.CalculatedState_ScriptsEntry = exports.CalculatedState_StateMachinesEntry = exports.CalculatedState = exports.FiberLogEntryList = exports.OnChainState_RegistryCommitsEntry = exports.OnChainState_LatestLogsEntry = exports.OnChainState_FiberCommitsEntry = exports.OnChainState = exports.FiberCommit = exports.ScriptFiberRecord = exports.StateMachineFiberRecord = exports.protobufPackage = void 0;
9
9
  /* eslint-disable */
10
10
  const wire_1 = require("@bufbuild/protobuf/wire");
11
11
  const struct_js_1 = require("../../google/protobuf/struct.js");
12
+ const common_js_1 = require("./common.js");
12
13
  const fiber_js_1 = require("./fiber.js");
13
14
  exports.protobufPackage = "ottochain.v1";
14
15
  function createBaseStateMachineFiberRecord() {
@@ -27,6 +28,7 @@ function createBaseStateMachineFiberRecord() {
27
28
  lastReceipt: undefined,
28
29
  parentFiberId: undefined,
29
30
  childFiberIds: [],
31
+ schemaBinding: undefined,
30
32
  };
31
33
  }
32
34
  exports.StateMachineFiberRecord = {
@@ -73,6 +75,9 @@ exports.StateMachineFiberRecord = {
73
75
  for (const v of message.childFiberIds) {
74
76
  writer.uint32(114).string(v);
75
77
  }
78
+ if (message.schemaBinding !== undefined) {
79
+ common_js_1.SchemaBinding.encode(message.schemaBinding, writer.uint32(122).fork()).join();
80
+ }
76
81
  return writer;
77
82
  },
78
83
  decode(input, length) {
@@ -180,6 +185,13 @@ exports.StateMachineFiberRecord = {
180
185
  message.childFiberIds.push(reader.string());
181
186
  continue;
182
187
  }
188
+ case 15: {
189
+ if (tag !== 122) {
190
+ break;
191
+ }
192
+ message.schemaBinding = common_js_1.SchemaBinding.decode(reader, reader.uint32());
193
+ continue;
194
+ }
183
195
  }
184
196
  if ((tag & 7) === 4 || tag === 0) {
185
197
  break;
@@ -248,6 +260,11 @@ exports.StateMachineFiberRecord = {
248
260
  : globalThis.Array.isArray(object?.child_fiber_ids)
249
261
  ? object.child_fiber_ids.map((e) => globalThis.String(e))
250
262
  : [],
263
+ schemaBinding: isSet(object.schemaBinding)
264
+ ? common_js_1.SchemaBinding.fromJSON(object.schemaBinding)
265
+ : isSet(object.schema_binding)
266
+ ? common_js_1.SchemaBinding.fromJSON(object.schema_binding)
267
+ : undefined,
251
268
  };
252
269
  },
253
270
  toJSON(message) {
@@ -294,6 +311,9 @@ exports.StateMachineFiberRecord = {
294
311
  if (message.childFiberIds?.length) {
295
312
  obj.childFiberIds = message.childFiberIds;
296
313
  }
314
+ if (message.schemaBinding !== undefined) {
315
+ obj.schemaBinding = common_js_1.SchemaBinding.toJSON(message.schemaBinding);
316
+ }
297
317
  return obj;
298
318
  },
299
319
  create(base) {
@@ -319,6 +339,9 @@ exports.StateMachineFiberRecord = {
319
339
  : undefined;
320
340
  message.parentFiberId = object.parentFiberId ?? undefined;
321
341
  message.childFiberIds = object.childFiberIds?.map((e) => e) || [];
342
+ message.schemaBinding = (object.schemaBinding !== undefined && object.schemaBinding !== null)
343
+ ? common_js_1.SchemaBinding.fromPartial(object.schemaBinding)
344
+ : undefined;
322
345
  return message;
323
346
  },
324
347
  };
@@ -673,7 +696,7 @@ exports.FiberCommit = {
673
696
  },
674
697
  };
675
698
  function createBaseOnChainState() {
676
- return { fiberCommits: {}, latestLogs: {} };
699
+ return { fiberCommits: {}, latestLogs: {}, registryCommits: {} };
677
700
  }
678
701
  exports.OnChainState = {
679
702
  encode(message, writer = new wire_1.BinaryWriter()) {
@@ -683,6 +706,9 @@ exports.OnChainState = {
683
706
  globalThis.Object.entries(message.latestLogs).forEach(([key, value]) => {
684
707
  exports.OnChainState_LatestLogsEntry.encode({ key: key, value }, writer.uint32(18).fork()).join();
685
708
  });
709
+ globalThis.Object.entries(message.registryCommits).forEach(([key, value]) => {
710
+ exports.OnChainState_RegistryCommitsEntry.encode({ key: key, value }, writer.uint32(26).fork()).join();
711
+ });
686
712
  return writer;
687
713
  },
688
714
  decode(input, length) {
@@ -712,6 +738,16 @@ exports.OnChainState = {
712
738
  }
713
739
  continue;
714
740
  }
741
+ case 3: {
742
+ if (tag !== 26) {
743
+ break;
744
+ }
745
+ const entry3 = exports.OnChainState_RegistryCommitsEntry.decode(reader, reader.uint32());
746
+ if (entry3.value !== undefined) {
747
+ message.registryCommits[entry3.key] = entry3.value;
748
+ }
749
+ continue;
750
+ }
715
751
  }
716
752
  if ((tag & 7) === 4 || tag === 0) {
717
753
  break;
@@ -744,6 +780,17 @@ exports.OnChainState = {
744
780
  return acc;
745
781
  }, {})
746
782
  : {},
783
+ registryCommits: isObject(object.registryCommits)
784
+ ? globalThis.Object.entries(object.registryCommits).reduce((acc, [key, value]) => {
785
+ acc[key] = globalThis.String(value);
786
+ return acc;
787
+ }, {})
788
+ : isObject(object.registry_commits)
789
+ ? globalThis.Object.entries(object.registry_commits).reduce((acc, [key, value]) => {
790
+ acc[key] = globalThis.String(value);
791
+ return acc;
792
+ }, {})
793
+ : {},
747
794
  };
748
795
  },
749
796
  toJSON(message) {
@@ -766,6 +813,15 @@ exports.OnChainState = {
766
813
  });
767
814
  }
768
815
  }
816
+ if (message.registryCommits) {
817
+ const entries = globalThis.Object.entries(message.registryCommits);
818
+ if (entries.length > 0) {
819
+ obj.registryCommits = {};
820
+ entries.forEach(([k, v]) => {
821
+ obj.registryCommits[k] = v;
822
+ });
823
+ }
824
+ }
769
825
  return obj;
770
826
  },
771
827
  create(base) {
@@ -785,6 +841,12 @@ exports.OnChainState = {
785
841
  }
786
842
  return acc;
787
843
  }, {});
844
+ message.registryCommits = globalThis.Object.entries(object.registryCommits ?? {}).reduce((acc, [key, value]) => {
845
+ if (value !== undefined) {
846
+ acc[key] = globalThis.String(value);
847
+ }
848
+ return acc;
849
+ }, {});
788
850
  return message;
789
851
  },
790
852
  };
@@ -928,6 +990,74 @@ exports.OnChainState_LatestLogsEntry = {
928
990
  return message;
929
991
  },
930
992
  };
993
+ function createBaseOnChainState_RegistryCommitsEntry() {
994
+ return { key: "", value: "" };
995
+ }
996
+ exports.OnChainState_RegistryCommitsEntry = {
997
+ encode(message, writer = new wire_1.BinaryWriter()) {
998
+ if (message.key !== "") {
999
+ writer.uint32(10).string(message.key);
1000
+ }
1001
+ if (message.value !== "") {
1002
+ writer.uint32(18).string(message.value);
1003
+ }
1004
+ return writer;
1005
+ },
1006
+ decode(input, length) {
1007
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1008
+ const end = length === undefined ? reader.len : reader.pos + length;
1009
+ const message = createBaseOnChainState_RegistryCommitsEntry();
1010
+ while (reader.pos < end) {
1011
+ const tag = reader.uint32();
1012
+ switch (tag >>> 3) {
1013
+ case 1: {
1014
+ if (tag !== 10) {
1015
+ break;
1016
+ }
1017
+ message.key = reader.string();
1018
+ continue;
1019
+ }
1020
+ case 2: {
1021
+ if (tag !== 18) {
1022
+ break;
1023
+ }
1024
+ message.value = reader.string();
1025
+ continue;
1026
+ }
1027
+ }
1028
+ if ((tag & 7) === 4 || tag === 0) {
1029
+ break;
1030
+ }
1031
+ reader.skip(tag & 7);
1032
+ }
1033
+ return message;
1034
+ },
1035
+ fromJSON(object) {
1036
+ return {
1037
+ key: isSet(object.key) ? globalThis.String(object.key) : "",
1038
+ value: isSet(object.value) ? globalThis.String(object.value) : "",
1039
+ };
1040
+ },
1041
+ toJSON(message) {
1042
+ const obj = {};
1043
+ if (message.key !== "") {
1044
+ obj.key = message.key;
1045
+ }
1046
+ if (message.value !== "") {
1047
+ obj.value = message.value;
1048
+ }
1049
+ return obj;
1050
+ },
1051
+ create(base) {
1052
+ return exports.OnChainState_RegistryCommitsEntry.fromPartial(base ?? {});
1053
+ },
1054
+ fromPartial(object) {
1055
+ const message = createBaseOnChainState_RegistryCommitsEntry();
1056
+ message.key = object.key ?? "";
1057
+ message.value = object.value ?? "";
1058
+ return message;
1059
+ },
1060
+ };
931
1061
  function createBaseFiberLogEntryList() {
932
1062
  return { entries: [] };
933
1063
  }
@@ -984,7 +1114,7 @@ exports.FiberLogEntryList = {
984
1114
  },
985
1115
  };
986
1116
  function createBaseCalculatedState() {
987
- return { stateMachines: {}, scripts: {} };
1117
+ return { stateMachines: {}, scripts: {}, registryEntries: {}, reverseNames: {} };
988
1118
  }
989
1119
  exports.CalculatedState = {
990
1120
  encode(message, writer = new wire_1.BinaryWriter()) {
@@ -994,6 +1124,12 @@ exports.CalculatedState = {
994
1124
  globalThis.Object.entries(message.scripts).forEach(([key, value]) => {
995
1125
  exports.CalculatedState_ScriptsEntry.encode({ key: key, value }, writer.uint32(18).fork()).join();
996
1126
  });
1127
+ globalThis.Object.entries(message.registryEntries).forEach(([key, value]) => {
1128
+ exports.CalculatedState_RegistryEntriesEntry.encode({ key: key, value }, writer.uint32(26).fork()).join();
1129
+ });
1130
+ globalThis.Object.entries(message.reverseNames).forEach(([key, value]) => {
1131
+ exports.CalculatedState_ReverseNamesEntry.encode({ key: key, value }, writer.uint32(34).fork()).join();
1132
+ });
997
1133
  return writer;
998
1134
  },
999
1135
  decode(input, length) {
@@ -1023,6 +1159,26 @@ exports.CalculatedState = {
1023
1159
  }
1024
1160
  continue;
1025
1161
  }
1162
+ case 3: {
1163
+ if (tag !== 26) {
1164
+ break;
1165
+ }
1166
+ const entry3 = exports.CalculatedState_RegistryEntriesEntry.decode(reader, reader.uint32());
1167
+ if (entry3.value !== undefined) {
1168
+ message.registryEntries[entry3.key] = entry3.value;
1169
+ }
1170
+ continue;
1171
+ }
1172
+ case 4: {
1173
+ if (tag !== 34) {
1174
+ break;
1175
+ }
1176
+ const entry4 = exports.CalculatedState_ReverseNamesEntry.decode(reader, reader.uint32());
1177
+ if (entry4.value !== undefined) {
1178
+ message.reverseNames[entry4.key] = entry4.value;
1179
+ }
1180
+ continue;
1181
+ }
1026
1182
  }
1027
1183
  if ((tag & 7) === 4 || tag === 0) {
1028
1184
  break;
@@ -1050,6 +1206,28 @@ exports.CalculatedState = {
1050
1206
  return acc;
1051
1207
  }, {})
1052
1208
  : {},
1209
+ registryEntries: isObject(object.registry)
1210
+ ? globalThis.Object.entries(object.registry).reduce((acc, [key, value]) => {
1211
+ acc[key] = common_js_1.RegistryEntry.fromJSON(value);
1212
+ return acc;
1213
+ }, {})
1214
+ : isObject(object.registry_entries)
1215
+ ? globalThis.Object.entries(object.registry_entries).reduce((acc, [key, value]) => {
1216
+ acc[key] = common_js_1.RegistryEntry.fromJSON(value);
1217
+ return acc;
1218
+ }, {})
1219
+ : {},
1220
+ reverseNames: isObject(object.reverseNames)
1221
+ ? globalThis.Object.entries(object.reverseNames).reduce((acc, [key, value]) => {
1222
+ acc[key] = globalThis.String(value);
1223
+ return acc;
1224
+ }, {})
1225
+ : isObject(object.reverse_names)
1226
+ ? globalThis.Object.entries(object.reverse_names).reduce((acc, [key, value]) => {
1227
+ acc[key] = globalThis.String(value);
1228
+ return acc;
1229
+ }, {})
1230
+ : {},
1053
1231
  };
1054
1232
  },
1055
1233
  toJSON(message) {
@@ -1072,6 +1250,24 @@ exports.CalculatedState = {
1072
1250
  });
1073
1251
  }
1074
1252
  }
1253
+ if (message.registryEntries) {
1254
+ const entries = globalThis.Object.entries(message.registryEntries);
1255
+ if (entries.length > 0) {
1256
+ obj.registry = {};
1257
+ entries.forEach(([k, v]) => {
1258
+ obj.registry[k] = common_js_1.RegistryEntry.toJSON(v);
1259
+ });
1260
+ }
1261
+ }
1262
+ if (message.reverseNames) {
1263
+ const entries = globalThis.Object.entries(message.reverseNames);
1264
+ if (entries.length > 0) {
1265
+ obj.reverseNames = {};
1266
+ entries.forEach(([k, v]) => {
1267
+ obj.reverseNames[k] = v;
1268
+ });
1269
+ }
1270
+ }
1075
1271
  return obj;
1076
1272
  },
1077
1273
  create(base) {
@@ -1092,6 +1288,19 @@ exports.CalculatedState = {
1092
1288
  }
1093
1289
  return acc;
1094
1290
  }, {});
1291
+ message.registryEntries = globalThis.Object.entries(object.registryEntries ?? {})
1292
+ .reduce((acc, [key, value]) => {
1293
+ if (value !== undefined) {
1294
+ acc[key] = common_js_1.RegistryEntry.fromPartial(value);
1295
+ }
1296
+ return acc;
1297
+ }, {});
1298
+ message.reverseNames = globalThis.Object.entries(object.reverseNames ?? {}).reduce((acc, [key, value]) => {
1299
+ if (value !== undefined) {
1300
+ acc[key] = globalThis.String(value);
1301
+ }
1302
+ return acc;
1303
+ }, {});
1095
1304
  return message;
1096
1305
  },
1097
1306
  };
@@ -1235,6 +1444,144 @@ exports.CalculatedState_ScriptsEntry = {
1235
1444
  return message;
1236
1445
  },
1237
1446
  };
1447
+ function createBaseCalculatedState_RegistryEntriesEntry() {
1448
+ return { key: "", value: undefined };
1449
+ }
1450
+ exports.CalculatedState_RegistryEntriesEntry = {
1451
+ encode(message, writer = new wire_1.BinaryWriter()) {
1452
+ if (message.key !== "") {
1453
+ writer.uint32(10).string(message.key);
1454
+ }
1455
+ if (message.value !== undefined) {
1456
+ common_js_1.RegistryEntry.encode(message.value, writer.uint32(18).fork()).join();
1457
+ }
1458
+ return writer;
1459
+ },
1460
+ decode(input, length) {
1461
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1462
+ const end = length === undefined ? reader.len : reader.pos + length;
1463
+ const message = createBaseCalculatedState_RegistryEntriesEntry();
1464
+ while (reader.pos < end) {
1465
+ const tag = reader.uint32();
1466
+ switch (tag >>> 3) {
1467
+ case 1: {
1468
+ if (tag !== 10) {
1469
+ break;
1470
+ }
1471
+ message.key = reader.string();
1472
+ continue;
1473
+ }
1474
+ case 2: {
1475
+ if (tag !== 18) {
1476
+ break;
1477
+ }
1478
+ message.value = common_js_1.RegistryEntry.decode(reader, reader.uint32());
1479
+ continue;
1480
+ }
1481
+ }
1482
+ if ((tag & 7) === 4 || tag === 0) {
1483
+ break;
1484
+ }
1485
+ reader.skip(tag & 7);
1486
+ }
1487
+ return message;
1488
+ },
1489
+ fromJSON(object) {
1490
+ return {
1491
+ key: isSet(object.key) ? globalThis.String(object.key) : "",
1492
+ value: isSet(object.value) ? common_js_1.RegistryEntry.fromJSON(object.value) : undefined,
1493
+ };
1494
+ },
1495
+ toJSON(message) {
1496
+ const obj = {};
1497
+ if (message.key !== "") {
1498
+ obj.key = message.key;
1499
+ }
1500
+ if (message.value !== undefined) {
1501
+ obj.value = common_js_1.RegistryEntry.toJSON(message.value);
1502
+ }
1503
+ return obj;
1504
+ },
1505
+ create(base) {
1506
+ return exports.CalculatedState_RegistryEntriesEntry.fromPartial(base ?? {});
1507
+ },
1508
+ fromPartial(object) {
1509
+ const message = createBaseCalculatedState_RegistryEntriesEntry();
1510
+ message.key = object.key ?? "";
1511
+ message.value = (object.value !== undefined && object.value !== null)
1512
+ ? common_js_1.RegistryEntry.fromPartial(object.value)
1513
+ : undefined;
1514
+ return message;
1515
+ },
1516
+ };
1517
+ function createBaseCalculatedState_ReverseNamesEntry() {
1518
+ return { key: "", value: "" };
1519
+ }
1520
+ exports.CalculatedState_ReverseNamesEntry = {
1521
+ encode(message, writer = new wire_1.BinaryWriter()) {
1522
+ if (message.key !== "") {
1523
+ writer.uint32(10).string(message.key);
1524
+ }
1525
+ if (message.value !== "") {
1526
+ writer.uint32(18).string(message.value);
1527
+ }
1528
+ return writer;
1529
+ },
1530
+ decode(input, length) {
1531
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1532
+ const end = length === undefined ? reader.len : reader.pos + length;
1533
+ const message = createBaseCalculatedState_ReverseNamesEntry();
1534
+ while (reader.pos < end) {
1535
+ const tag = reader.uint32();
1536
+ switch (tag >>> 3) {
1537
+ case 1: {
1538
+ if (tag !== 10) {
1539
+ break;
1540
+ }
1541
+ message.key = reader.string();
1542
+ continue;
1543
+ }
1544
+ case 2: {
1545
+ if (tag !== 18) {
1546
+ break;
1547
+ }
1548
+ message.value = reader.string();
1549
+ continue;
1550
+ }
1551
+ }
1552
+ if ((tag & 7) === 4 || tag === 0) {
1553
+ break;
1554
+ }
1555
+ reader.skip(tag & 7);
1556
+ }
1557
+ return message;
1558
+ },
1559
+ fromJSON(object) {
1560
+ return {
1561
+ key: isSet(object.key) ? globalThis.String(object.key) : "",
1562
+ value: isSet(object.value) ? globalThis.String(object.value) : "",
1563
+ };
1564
+ },
1565
+ toJSON(message) {
1566
+ const obj = {};
1567
+ if (message.key !== "") {
1568
+ obj.key = message.key;
1569
+ }
1570
+ if (message.value !== "") {
1571
+ obj.value = message.value;
1572
+ }
1573
+ return obj;
1574
+ },
1575
+ create(base) {
1576
+ return exports.CalculatedState_ReverseNamesEntry.fromPartial(base ?? {});
1577
+ },
1578
+ fromPartial(object) {
1579
+ const message = createBaseCalculatedState_ReverseNamesEntry();
1580
+ message.key = object.key ?? "";
1581
+ message.value = object.value ?? "";
1582
+ return message;
1583
+ },
1584
+ };
1238
1585
  function longToNumber(int64) {
1239
1586
  const num = globalThis.Number(int64.toString());
1240
1587
  if (num > globalThis.Number.MAX_SAFE_INTEGER) {
package/dist/cjs/index.js CHANGED
@@ -31,14 +31,24 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
31
31
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
32
32
  };
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
- exports.defineFiberApp = exports.toProtoDefinition = exports.OttoMetagraphClient = exports.assert = exports.safeParse = exports.validateKeyPair = exports.validateAddress = exports.validatePublicKey = exports.validatePrivateKey = exports.validate = exports.CompleteContractRequestSchema = exports.AcceptContractRequestSchema = exports.ProposeContractRequestSchema = exports.ContractTermsSchema = exports.PlatformLinkSchema = exports.AgentIdentityRegistrationSchema = exports.TransferParamsSchema = exports.CurrencyTransactionSchema = exports.CurrencyTransactionValueSchema = exports.TransactionReferenceSchema = exports.SignedSchema = exports.SignatureProofSchema = exports.KeyPairSchema = exports.PublicKeySchema = exports.PrivateKeySchema = exports.DagAddressSchema = exports.wrapError = exports.isErrorCode = exports.ErrorCode = exports.TransactionError = exports.SigningError = exports.ValidationError = exports.NetworkError = exports.OttoChainError = exports.dropNulls = exports.normalizeMessage = exports.normalizeArchiveStateMachine = exports.normalizeTransitionStateMachine = exports.normalizeCreateStateMachine = exports.MetagraphNetworkError = exports.HttpClient = exports.createMetagraphClient = exports.MetagraphClient = exports.verify = void 0;
34
+ exports.signerIsNotParty = exports.signerInSet = exports.signerIsAnyParty = exports.signerIsParty = exports.defineFiberApp = exports.toProtoDefinition = exports.OttoMetagraphClient = exports.assert = exports.safeParse = exports.validateKeyPair = exports.validateAddress = exports.validatePublicKey = exports.validatePrivateKey = exports.validate = exports.CompleteContractRequestSchema = exports.AcceptContractRequestSchema = exports.ProposeContractRequestSchema = exports.ContractTermsSchema = exports.PlatformLinkSchema = exports.AgentIdentityRegistrationSchema = exports.TransferParamsSchema = exports.CurrencyTransactionSchema = exports.CurrencyTransactionValueSchema = exports.TransactionReferenceSchema = exports.SignedSchema = exports.SignatureProofSchema = exports.KeyPairSchema = exports.PublicKeySchema = exports.PrivateKeySchema = exports.DagAddressSchema = exports.wrapError = exports.isErrorCode = exports.ErrorCode = exports.TransactionError = exports.SigningError = exports.ValidationError = exports.NetworkError = exports.OttoChainError = exports.GENESIS_MANIFEST_VERSION = exports.buildGenesisManifest = exports.dropNulls = exports.MetagraphNetworkError = exports.HttpClient = exports.createMetagraphClient = exports.MetagraphClient = exports.batchSign = exports.addSignature = exports.createSignedObject = exports.signDataUpdate = exports.verify = void 0;
35
+ exports.SHIELDED_POOL_STATE = exports.shieldApp = exports.setDependencyActive = exports.addDependency = exports.depInState = exports.signerHasRoleVia = exports.signerHasReputationVia = exports.signerHasRole = exports.signerHasReputation = exports.actorHasEntry = exports.actorInSet = exports.actorIsSigner = exports.assetSignerIs = exports.signerHasEntry = void 0;
35
36
  // ─── Core metagraph SDK ───────────────────────────────────────────────────────
36
37
  // Consumers can also import directly from '@constellation-network/metagraph-sdk'
37
38
  __exportStar(require("@constellation-network/metagraph-sdk"), exports);
38
39
  // Override verify — package embeds `mode` in signed objects and ignores isDataUpdate
39
- // when mode is present. Our wrapper strips mode so isDataUpdate always wins.
40
+ // when mode is present. Our wrapper strips mode so isDataUpdate always wins,
41
+ // and dataUpdate verification happens over null-dropped canonical bytes.
40
42
  var verify_js_1 = require("./verify.js");
41
43
  Object.defineProperty(exports, "verify", { enumerable: true, get: function () { return verify_js_1.verify; } });
44
+ // Override the dataUpdate signing surface — dropNulls is applied internally
45
+ // (drop null object fields, preserve array nulls, then RFC 8785) to match
46
+ // metakit's content-hash rule. Standard-mode signing is passed through.
47
+ var signing_js_1 = require("./signing.js");
48
+ Object.defineProperty(exports, "signDataUpdate", { enumerable: true, get: function () { return signing_js_1.signDataUpdate; } });
49
+ Object.defineProperty(exports, "createSignedObject", { enumerable: true, get: function () { return signing_js_1.createSignedObject; } });
50
+ Object.defineProperty(exports, "addSignature", { enumerable: true, get: function () { return signing_js_1.addSignature; } });
51
+ Object.defineProperty(exports, "batchSign", { enumerable: true, get: function () { return signing_js_1.batchSign; } });
42
52
  // ─── Network clients ──────────────────────────────────────────────────────────
43
53
  // Re-export from package network subpath
44
54
  var network_1 = require("@constellation-network/metagraph-sdk/network");
@@ -50,13 +60,12 @@ Object.defineProperty(exports, "MetagraphNetworkError", { enumerable: true, get:
50
60
  __exportStar(require("./types.js"), exports);
51
61
  // ─── OttoChain-specific transaction helpers ───────────────────────────────────
52
62
  __exportStar(require("./ottochain/transaction.js"), exports);
53
- var normalize_js_1 = require("./ottochain/normalize.js");
54
- Object.defineProperty(exports, "normalizeCreateStateMachine", { enumerable: true, get: function () { return normalize_js_1.normalizeCreateStateMachine; } });
55
- Object.defineProperty(exports, "normalizeTransitionStateMachine", { enumerable: true, get: function () { return normalize_js_1.normalizeTransitionStateMachine; } });
56
- Object.defineProperty(exports, "normalizeArchiveStateMachine", { enumerable: true, get: function () { return normalize_js_1.normalizeArchiveStateMachine; } });
57
- Object.defineProperty(exports, "normalizeMessage", { enumerable: true, get: function () { return normalize_js_1.normalizeMessage; } });
58
63
  var drop_nulls_js_1 = require("./ottochain/drop-nulls.js");
59
64
  Object.defineProperty(exports, "dropNulls", { enumerable: true, get: function () { return drop_nulls_js_1.dropNulls; } });
65
+ // ─── Genesis manifest exporter (std-app pre-registration content) ─────────────
66
+ var genesis_manifest_js_1 = require("./ottochain/genesis-manifest.js");
67
+ Object.defineProperty(exports, "buildGenesisManifest", { enumerable: true, get: function () { return genesis_manifest_js_1.buildGenesisManifest; } });
68
+ Object.defineProperty(exports, "GENESIS_MANIFEST_VERSION", { enumerable: true, get: function () { return genesis_manifest_js_1.GENESIS_MANIFEST_VERSION; } });
60
69
  // ─── Generated protobuf types (canonical definitions) ────────────────────────
61
70
  __exportStar(require("./generated/index.js"), exports);
62
71
  // ─── Custom error classes ─────────────────────────────────────────────────────
@@ -103,3 +112,32 @@ Object.defineProperty(exports, "OttoMetagraphClient", { enumerable: true, get: f
103
112
  var fiber_app_js_1 = require("./schema/fiber-app.js");
104
113
  Object.defineProperty(exports, "toProtoDefinition", { enumerable: true, get: function () { return fiber_app_js_1.toProtoDefinition; } });
105
114
  Object.defineProperty(exports, "defineFiberApp", { enumerable: true, get: function () { return fiber_app_js_1.defineFiberApp; } });
115
+ // Canonical authorization-guard builders (bind to verified signers, not attacker payloads).
116
+ var guards_js_1 = require("./schema/guards.js");
117
+ Object.defineProperty(exports, "signerIsParty", { enumerable: true, get: function () { return guards_js_1.signerIsParty; } });
118
+ Object.defineProperty(exports, "signerIsAnyParty", { enumerable: true, get: function () { return guards_js_1.signerIsAnyParty; } });
119
+ Object.defineProperty(exports, "signerInSet", { enumerable: true, get: function () { return guards_js_1.signerInSet; } });
120
+ Object.defineProperty(exports, "signerIsNotParty", { enumerable: true, get: function () { return guards_js_1.signerIsNotParty; } });
121
+ Object.defineProperty(exports, "signerHasEntry", { enumerable: true, get: function () { return guards_js_1.signerHasEntry; } });
122
+ Object.defineProperty(exports, "assetSignerIs", { enumerable: true, get: function () { return guards_js_1.assetSignerIs; } });
123
+ // effect-key coupling (S1): bind a dynamic map key to a verified signer
124
+ Object.defineProperty(exports, "actorIsSigner", { enumerable: true, get: function () { return guards_js_1.actorIsSigner; } });
125
+ Object.defineProperty(exports, "actorInSet", { enumerable: true, get: function () { return guards_js_1.actorInSet; } });
126
+ Object.defineProperty(exports, "actorHasEntry", { enumerable: true, get: function () { return guards_js_1.actorHasEntry; } });
127
+ // identity-registry reads (static machines.<uuid> path)
128
+ Object.defineProperty(exports, "signerHasReputation", { enumerable: true, get: function () { return guards_js_1.signerHasReputation; } });
129
+ Object.defineProperty(exports, "signerHasRole", { enumerable: true, get: function () { return guards_js_1.signerHasRole; } });
130
+ // identity-registry reads (runtime-bound registry id, #24)
131
+ Object.defineProperty(exports, "signerHasReputationVia", { enumerable: true, get: function () { return guards_js_1.signerHasReputationVia; } });
132
+ Object.defineProperty(exports, "signerHasRoleVia", { enumerable: true, get: function () { return guards_js_1.signerHasRoleVia; } });
133
+ // cross-fiber state gate (runtime-bound dependency, #24) — replaces object-form deps
134
+ Object.defineProperty(exports, "depInState", { enumerable: true, get: function () { return guards_js_1.depInState; } });
135
+ // Reserved EFFECT-directive builders (dynamic dependencies, #24).
136
+ var effects_js_1 = require("./schema/effects.js");
137
+ Object.defineProperty(exports, "addDependency", { enumerable: true, get: function () { return effects_js_1.addDependency; } });
138
+ Object.defineProperty(exports, "setDependencyActive", { enumerable: true, get: function () { return effects_js_1.setDependencyActive; } });
139
+ // ─── Privacy: shield any fiber app into a zk-jlvm-shielded private-state pool ──
140
+ // See docs/design/zk-private-contract-state-rfc.md.
141
+ var shield_app_js_1 = require("./privacy/shield-app.js");
142
+ Object.defineProperty(exports, "shieldApp", { enumerable: true, get: function () { return shield_app_js_1.shieldApp; } });
143
+ Object.defineProperty(exports, "SHIELDED_POOL_STATE", { enumerable: true, get: function () { return shield_app_js_1.SHIELDED_POOL_STATE; } });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -13,7 +13,7 @@
13
13
  * positions). Only object field values that are null are removed.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.dropNulls = void 0;
16
+ exports.dropNulls = dropNulls;
17
17
  /**
18
18
  * Recursively remove null values from objects
19
19
  *
@@ -47,4 +47,3 @@ function dropNulls(value) {
47
47
  }
48
48
  return value;
49
49
  }
50
- exports.dropNulls = dropNulls;