@ottochain/sdk 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/README.md +305 -0
  2. package/dist/apps/contracts/index.d.ts +21 -0
  3. package/dist/apps/contracts/index.js +39 -0
  4. package/dist/apps/contracts/types.d.ts +24 -0
  5. package/dist/apps/contracts/types.js +48 -0
  6. package/dist/apps/identity/index.d.ts +22 -0
  7. package/dist/apps/identity/index.js +40 -0
  8. package/dist/apps/identity/types.d.ts +30 -0
  9. package/dist/apps/identity/types.js +53 -0
  10. package/dist/apps/index.d.ts +29 -0
  11. package/dist/apps/index.js +60 -0
  12. package/dist/apps/markets/index.d.ts +26 -0
  13. package/dist/apps/markets/index.js +46 -0
  14. package/dist/apps/markets/types.d.ts +185 -0
  15. package/dist/apps/markets/types.js +252 -0
  16. package/dist/apps/oracles/index.d.ts +26 -0
  17. package/dist/apps/oracles/index.js +46 -0
  18. package/dist/apps/oracles/types.d.ts +211 -0
  19. package/dist/apps/oracles/types.js +306 -0
  20. package/dist/cjs/apps/contracts/index.js +60 -0
  21. package/dist/cjs/apps/contracts/state-machines/contract.json +420 -0
  22. package/dist/cjs/apps/contracts/state-machines/escrow.json +426 -0
  23. package/dist/cjs/apps/contracts/types.js +48 -0
  24. package/dist/cjs/apps/corporate/index.js +112 -0
  25. package/dist/cjs/apps/corporate/state-machines/corporate-board.json +1064 -0
  26. package/dist/cjs/apps/corporate/state-machines/corporate-bylaws.json +751 -0
  27. package/dist/cjs/apps/corporate/state-machines/corporate-committee.json +957 -0
  28. package/dist/cjs/apps/corporate/state-machines/corporate-compliance.json +1293 -0
  29. package/dist/cjs/apps/corporate/state-machines/corporate-entity.json +861 -0
  30. package/dist/cjs/apps/corporate/state-machines/corporate-officers.json +843 -0
  31. package/dist/cjs/apps/corporate/state-machines/corporate-proxy.json +783 -0
  32. package/dist/cjs/apps/corporate/state-machines/corporate-resolution.json +1174 -0
  33. package/dist/cjs/apps/corporate/state-machines/corporate-securities.json +1215 -0
  34. package/dist/cjs/apps/corporate/state-machines/corporate-shareholders.json +1298 -0
  35. package/dist/cjs/apps/corporate/types.js +44 -0
  36. package/dist/cjs/apps/governance/index.js +203 -0
  37. package/dist/cjs/apps/governance/state-machines/dao-multisig.json +711 -0
  38. package/dist/cjs/apps/governance/state-machines/dao-single.json +258 -0
  39. package/dist/cjs/apps/governance/state-machines/dao-threshold.json +660 -0
  40. package/dist/cjs/apps/governance/state-machines/dao-token.json +680 -0
  41. package/dist/cjs/apps/governance/state-machines/governance-constitution.json +401 -0
  42. package/dist/cjs/apps/governance/state-machines/governance-executive.json +441 -0
  43. package/dist/cjs/apps/governance/state-machines/governance-judiciary.json +626 -0
  44. package/dist/cjs/apps/governance/state-machines/governance-legislature.json +726 -0
  45. package/dist/cjs/apps/governance/state-machines/governance-simple.json +679 -0
  46. package/dist/cjs/apps/governance/types.js +42 -0
  47. package/dist/cjs/apps/identity/constants.js +58 -0
  48. package/dist/cjs/apps/identity/index.js +78 -0
  49. package/dist/cjs/apps/identity/state-machines/agent-identity.json +320 -0
  50. package/dist/cjs/apps/identity/types.js +53 -0
  51. package/dist/cjs/apps/index.js +58 -0
  52. package/dist/cjs/apps/markets/index.js +55 -0
  53. package/dist/cjs/apps/markets/state-machines/market-universal.json +354 -0
  54. package/dist/cjs/apps/markets/types.js +219 -0
  55. package/dist/cjs/apps/oracles/index.js +62 -0
  56. package/dist/cjs/apps/oracles/state-machines/oracle.json +452 -0
  57. package/dist/cjs/apps/oracles/types.js +282 -0
  58. package/dist/cjs/errors.js +293 -0
  59. package/dist/cjs/generated/google/protobuf/struct.js +514 -0
  60. package/dist/cjs/generated/google/protobuf/timestamp.js +92 -0
  61. package/dist/cjs/generated/index.js +150 -0
  62. package/dist/cjs/generated/ottochain/apps/contracts/v1/contract.js +873 -0
  63. package/dist/cjs/generated/ottochain/apps/contracts/v1/contract_pb.js +100 -0
  64. package/dist/cjs/generated/ottochain/apps/corporate/v1/corporate.js +4515 -0
  65. package/dist/cjs/generated/ottochain/apps/corporate/v1/corporate_pb.js +392 -0
  66. package/dist/cjs/generated/ottochain/apps/governance/v1/governance.js +3255 -0
  67. package/dist/cjs/generated/ottochain/apps/governance/v1/governance_pb.js +235 -0
  68. package/dist/cjs/generated/ottochain/apps/identity/v1/agent.js +619 -0
  69. package/dist/cjs/generated/ottochain/apps/identity/v1/agent_pb.js +116 -0
  70. package/dist/cjs/generated/ottochain/apps/identity/v1/attestation.js +780 -0
  71. package/dist/cjs/generated/ottochain/apps/identity/v1/attestation_pb.js +79 -0
  72. package/dist/cjs/generated/ottochain/apps/markets/v1/market.js +1261 -0
  73. package/dist/cjs/generated/ottochain/apps/markets/v1/market_pb.js +151 -0
  74. package/dist/cjs/generated/ottochain/apps/oracles/v1/oracle.js +1223 -0
  75. package/dist/cjs/generated/ottochain/apps/oracles/v1/oracle_pb.js +109 -0
  76. package/dist/cjs/generated/ottochain/v1/common.js +10 -0
  77. package/dist/cjs/generated/ottochain/v1/common_pb.js +37 -0
  78. package/dist/cjs/generated/ottochain/v1/fiber.js +1057 -0
  79. package/dist/cjs/generated/ottochain/v1/fiber_pb.js +86 -0
  80. package/dist/cjs/generated/ottochain/v1/messages.js +740 -0
  81. package/dist/cjs/generated/ottochain/v1/messages_pb.js +44 -0
  82. package/dist/cjs/generated/ottochain/v1/records.js +1253 -0
  83. package/dist/cjs/generated/ottochain/v1/records_pb.js +44 -0
  84. package/dist/cjs/index.js +79 -0
  85. package/dist/cjs/metakit/binary.js +58 -0
  86. package/dist/cjs/metakit/canonicalize.js +40 -0
  87. package/dist/cjs/metakit/codec.js +45 -0
  88. package/dist/cjs/metakit/currency-transaction.js +319 -0
  89. package/dist/cjs/metakit/currency-types.js +13 -0
  90. package/dist/cjs/metakit/hash.js +84 -0
  91. package/dist/cjs/metakit/index.js +74 -0
  92. package/dist/cjs/metakit/network/client.js +78 -0
  93. package/dist/cjs/metakit/network/currency-l1-client.js +101 -0
  94. package/dist/cjs/metakit/network/data-l1-client.js +76 -0
  95. package/dist/cjs/metakit/network/index.js +16 -0
  96. package/dist/cjs/metakit/network/types.js +20 -0
  97. package/dist/cjs/metakit/sign.js +120 -0
  98. package/dist/cjs/metakit/signed-object.js +100 -0
  99. package/dist/cjs/metakit/types.js +14 -0
  100. package/dist/cjs/metakit/verify.js +217 -0
  101. package/dist/cjs/metakit/wallet.js +127 -0
  102. package/dist/cjs/ottochain/index.js +47 -0
  103. package/dist/cjs/ottochain/metagraph-client.js +157 -0
  104. package/dist/cjs/ottochain/snapshot.js +110 -0
  105. package/dist/cjs/ottochain/types.js +11 -0
  106. package/dist/cjs/package.json +1 -0
  107. package/dist/cjs/types.js +25 -0
  108. package/dist/cjs/validation.js +312 -0
  109. package/dist/errors.d.ts +221 -0
  110. package/dist/errors.js +293 -0
  111. package/dist/esm/apps/contracts/index.js +42 -0
  112. package/dist/esm/apps/contracts/state-machines/contract.json +420 -0
  113. package/dist/esm/apps/contracts/state-machines/escrow.json +426 -0
  114. package/dist/esm/apps/contracts/types.js +44 -0
  115. package/dist/esm/apps/corporate/index.js +57 -0
  116. package/dist/esm/apps/corporate/state-machines/corporate-board.json +1064 -0
  117. package/dist/esm/apps/corporate/state-machines/corporate-bylaws.json +751 -0
  118. package/dist/esm/apps/corporate/state-machines/corporate-committee.json +957 -0
  119. package/dist/esm/apps/corporate/state-machines/corporate-compliance.json +1293 -0
  120. package/dist/esm/apps/corporate/state-machines/corporate-entity.json +861 -0
  121. package/dist/esm/apps/corporate/state-machines/corporate-officers.json +843 -0
  122. package/dist/esm/apps/corporate/state-machines/corporate-proxy.json +783 -0
  123. package/dist/esm/apps/corporate/state-machines/corporate-resolution.json +1174 -0
  124. package/dist/esm/apps/corporate/state-machines/corporate-securities.json +1215 -0
  125. package/dist/esm/apps/corporate/state-machines/corporate-shareholders.json +1298 -0
  126. package/dist/esm/apps/corporate/types.js +38 -0
  127. package/dist/esm/apps/governance/index.js +154 -0
  128. package/dist/esm/apps/governance/state-machines/dao-multisig.json +711 -0
  129. package/dist/esm/apps/governance/state-machines/dao-single.json +258 -0
  130. package/dist/esm/apps/governance/state-machines/dao-threshold.json +660 -0
  131. package/dist/esm/apps/governance/state-machines/dao-token.json +680 -0
  132. package/dist/esm/apps/governance/state-machines/governance-constitution.json +401 -0
  133. package/dist/esm/apps/governance/state-machines/governance-executive.json +441 -0
  134. package/dist/esm/apps/governance/state-machines/governance-judiciary.json +626 -0
  135. package/dist/esm/apps/governance/state-machines/governance-legislature.json +726 -0
  136. package/dist/esm/apps/governance/state-machines/governance-simple.json +679 -0
  137. package/dist/esm/apps/governance/types.js +35 -0
  138. package/dist/esm/apps/identity/constants.js +53 -0
  139. package/dist/esm/apps/identity/index.js +50 -0
  140. package/dist/esm/apps/identity/state-machines/agent-identity.json +320 -0
  141. package/dist/esm/apps/identity/types.js +50 -0
  142. package/dist/esm/apps/index.js +32 -0
  143. package/dist/esm/apps/markets/index.js +34 -0
  144. package/dist/esm/apps/markets/state-machines/market-universal.json +354 -0
  145. package/dist/esm/apps/markets/types.js +206 -0
  146. package/dist/esm/apps/oracles/index.js +42 -0
  147. package/dist/esm/apps/oracles/state-machines/oracle.json +452 -0
  148. package/dist/esm/apps/oracles/types.js +267 -0
  149. package/dist/esm/errors.js +283 -0
  150. package/dist/esm/generated/google/protobuf/struct.js +508 -0
  151. package/dist/esm/generated/google/protobuf/timestamp.js +89 -0
  152. package/dist/esm/generated/index.js +26 -0
  153. package/dist/esm/generated/ottochain/apps/contracts/v1/contract.js +867 -0
  154. package/dist/esm/generated/ottochain/apps/contracts/v1/contract_pb.js +97 -0
  155. package/dist/esm/generated/ottochain/apps/corporate/v1/corporate.js +4493 -0
  156. package/dist/esm/generated/ottochain/apps/corporate/v1/corporate_pb.js +389 -0
  157. package/dist/esm/generated/ottochain/apps/governance/v1/governance.js +3240 -0
  158. package/dist/esm/generated/ottochain/apps/governance/v1/governance_pb.js +232 -0
  159. package/dist/esm/generated/ottochain/apps/identity/v1/agent.js +610 -0
  160. package/dist/esm/generated/ottochain/apps/identity/v1/agent_pb.js +113 -0
  161. package/dist/esm/generated/ottochain/apps/identity/v1/attestation.js +774 -0
  162. package/dist/esm/generated/ottochain/apps/identity/v1/attestation_pb.js +76 -0
  163. package/dist/esm/generated/ottochain/apps/markets/v1/market.js +1252 -0
  164. package/dist/esm/generated/ottochain/apps/markets/v1/market_pb.js +148 -0
  165. package/dist/esm/generated/ottochain/apps/oracles/v1/oracle.js +1217 -0
  166. package/dist/esm/generated/ottochain/apps/oracles/v1/oracle_pb.js +106 -0
  167. package/dist/esm/generated/ottochain/v1/common.js +7 -0
  168. package/dist/esm/generated/ottochain/v1/common_pb.js +34 -0
  169. package/dist/esm/generated/ottochain/v1/fiber.js +1051 -0
  170. package/dist/esm/generated/ottochain/v1/fiber_pb.js +83 -0
  171. package/dist/esm/generated/ottochain/v1/messages.js +737 -0
  172. package/dist/esm/generated/ottochain/v1/messages_pb.js +41 -0
  173. package/dist/esm/generated/ottochain/v1/records.js +1250 -0
  174. package/dist/esm/generated/ottochain/v1/records_pb.js +41 -0
  175. package/dist/esm/index.js +33 -0
  176. package/dist/esm/metakit/binary.js +53 -0
  177. package/dist/esm/metakit/canonicalize.js +33 -0
  178. package/dist/esm/metakit/codec.js +38 -0
  179. package/dist/esm/metakit/currency-transaction.js +306 -0
  180. package/dist/esm/metakit/currency-types.js +10 -0
  181. package/dist/esm/metakit/hash.js +77 -0
  182. package/dist/esm/metakit/index.js +30 -0
  183. package/dist/esm/metakit/network/client.js +74 -0
  184. package/dist/esm/metakit/network/currency-l1-client.js +97 -0
  185. package/dist/esm/metakit/network/data-l1-client.js +72 -0
  186. package/dist/esm/metakit/network/index.js +9 -0
  187. package/dist/esm/metakit/network/types.js +16 -0
  188. package/dist/esm/metakit/sign.js +114 -0
  189. package/dist/esm/metakit/signed-object.js +94 -0
  190. package/dist/esm/metakit/types.js +11 -0
  191. package/dist/esm/metakit/verify.js +210 -0
  192. package/dist/esm/metakit/wallet.js +117 -0
  193. package/dist/esm/ottochain/index.js +13 -0
  194. package/dist/esm/ottochain/metagraph-client.js +153 -0
  195. package/dist/esm/ottochain/snapshot.js +100 -0
  196. package/dist/esm/ottochain/types.js +10 -0
  197. package/dist/esm/package.json +1 -0
  198. package/dist/esm/types.js +20 -0
  199. package/dist/esm/validation.js +301 -0
  200. package/dist/generated/index.d.ts +15 -0
  201. package/dist/generated/index.js +34 -0
  202. package/dist/generated/ottochain/apps/contracts/v1/contract_pb.d.ts +274 -0
  203. package/dist/generated/ottochain/apps/contracts/v1/contract_pb.js +100 -0
  204. package/dist/generated/ottochain/apps/identity/v1/agent_pb.d.ts +211 -0
  205. package/dist/generated/ottochain/apps/identity/v1/agent_pb.js +116 -0
  206. package/dist/generated/ottochain/apps/identity/v1/attestation_pb.d.ts +238 -0
  207. package/dist/generated/ottochain/apps/identity/v1/attestation_pb.js +79 -0
  208. package/dist/generated/ottochain/apps/markets/v1/market_pb.d.ts +436 -0
  209. package/dist/generated/ottochain/apps/markets/v1/market_pb.js +151 -0
  210. package/dist/generated/ottochain/apps/oracles/v1/oracle_pb.d.ts +393 -0
  211. package/dist/generated/ottochain/apps/oracles/v1/oracle_pb.js +109 -0
  212. package/dist/generated/ottochain/v1/common_pb.d.ts +86 -0
  213. package/dist/generated/ottochain/v1/common_pb.js +37 -0
  214. package/dist/generated/ottochain/v1/fiber_pb.d.ts +292 -0
  215. package/dist/generated/ottochain/v1/fiber_pb.js +86 -0
  216. package/dist/generated/ottochain/v1/messages_pb.d.ts +190 -0
  217. package/dist/generated/ottochain/v1/messages_pb.js +44 -0
  218. package/dist/generated/ottochain/v1/records_pb.d.ts +221 -0
  219. package/dist/generated/ottochain/v1/records_pb.js +44 -0
  220. package/dist/index.d.ts +21 -0
  221. package/dist/index.js +77 -0
  222. package/dist/metakit/binary.d.ts +38 -0
  223. package/dist/metakit/binary.js +58 -0
  224. package/dist/metakit/canonicalize.d.ts +26 -0
  225. package/dist/metakit/canonicalize.js +40 -0
  226. package/dist/metakit/codec.d.ts +16 -0
  227. package/dist/metakit/codec.js +45 -0
  228. package/dist/metakit/currency-transaction.d.ts +157 -0
  229. package/dist/metakit/currency-transaction.js +319 -0
  230. package/dist/metakit/currency-types.d.ts +55 -0
  231. package/dist/metakit/currency-types.js +13 -0
  232. package/dist/metakit/hash.d.ts +50 -0
  233. package/dist/metakit/hash.js +84 -0
  234. package/dist/metakit/index.d.ts +23 -0
  235. package/dist/metakit/index.js +74 -0
  236. package/dist/metakit/network/client.d.ts +23 -0
  237. package/dist/metakit/network/client.js +78 -0
  238. package/dist/metakit/network/currency-l1-client.d.ts +71 -0
  239. package/dist/metakit/network/currency-l1-client.js +101 -0
  240. package/dist/metakit/network/data-l1-client.d.ts +57 -0
  241. package/dist/metakit/network/data-l1-client.js +76 -0
  242. package/dist/metakit/network/index.d.ts +10 -0
  243. package/dist/metakit/network/index.js +16 -0
  244. package/dist/metakit/network/types.d.ts +74 -0
  245. package/dist/metakit/network/types.js +20 -0
  246. package/dist/metakit/sign.d.ts +65 -0
  247. package/dist/metakit/sign.js +120 -0
  248. package/dist/metakit/signed-object.d.ts +66 -0
  249. package/dist/metakit/signed-object.js +100 -0
  250. package/dist/metakit/types.d.ts +67 -0
  251. package/dist/metakit/types.js +14 -0
  252. package/dist/metakit/verify.d.ts +55 -0
  253. package/dist/metakit/verify.js +217 -0
  254. package/dist/metakit/wallet.d.ts +70 -0
  255. package/dist/metakit/wallet.js +127 -0
  256. package/dist/ottochain/index.d.ts +13 -0
  257. package/dist/ottochain/index.js +45 -0
  258. package/dist/ottochain/metagraph-client.d.ts +111 -0
  259. package/dist/ottochain/metagraph-client.js +157 -0
  260. package/dist/ottochain/snapshot.d.ts +86 -0
  261. package/dist/ottochain/snapshot.js +110 -0
  262. package/dist/ottochain/types.d.ts +278 -0
  263. package/dist/ottochain/types.js +11 -0
  264. package/dist/types/apps/contracts/index.d.ts +30 -0
  265. package/dist/types/apps/contracts/types.d.ts +24 -0
  266. package/dist/types/apps/corporate/index.d.ts +27 -0
  267. package/dist/types/apps/corporate/types.d.ts +9861 -0
  268. package/dist/types/apps/governance/index.d.ts +77 -0
  269. package/dist/types/apps/governance/types.d.ts +344 -0
  270. package/dist/types/apps/identity/constants.d.ts +27 -0
  271. package/dist/types/apps/identity/index.d.ts +39 -0
  272. package/dist/types/apps/identity/types.d.ts +30 -0
  273. package/dist/types/apps/index.d.ts +31 -0
  274. package/dist/types/apps/markets/index.d.ts +26 -0
  275. package/dist/types/apps/markets/types.d.ts +155 -0
  276. package/dist/types/apps/oracles/index.d.ts +34 -0
  277. package/dist/types/apps/oracles/types.d.ts +193 -0
  278. package/dist/types/errors.d.ts +221 -0
  279. package/dist/types/generated/google/protobuf/struct.d.ts +134 -0
  280. package/dist/types/generated/google/protobuf/timestamp.d.ts +134 -0
  281. package/dist/types/generated/index.d.ts +18 -0
  282. package/dist/types/generated/ottochain/apps/contracts/v1/contract.d.ts +112 -0
  283. package/dist/types/generated/ottochain/apps/contracts/v1/contract_pb.d.ts +274 -0
  284. package/dist/types/generated/ottochain/apps/corporate/v1/corporate.d.ts +376 -0
  285. package/dist/types/generated/ottochain/apps/corporate/v1/corporate_pb.d.ts +1172 -0
  286. package/dist/types/generated/ottochain/apps/governance/v1/governance.d.ts +296 -0
  287. package/dist/types/generated/ottochain/apps/governance/v1/governance_pb.d.ts +772 -0
  288. package/dist/types/generated/ottochain/apps/identity/v1/agent.d.ts +94 -0
  289. package/dist/types/generated/ottochain/apps/identity/v1/agent_pb.d.ts +211 -0
  290. package/dist/types/generated/ottochain/apps/identity/v1/attestation.d.ts +102 -0
  291. package/dist/types/generated/ottochain/apps/identity/v1/attestation_pb.d.ts +238 -0
  292. package/dist/types/generated/ottochain/apps/markets/v1/market.d.ts +174 -0
  293. package/dist/types/generated/ottochain/apps/markets/v1/market_pb.d.ts +436 -0
  294. package/dist/types/generated/ottochain/apps/oracles/v1/oracle.d.ts +150 -0
  295. package/dist/types/generated/ottochain/apps/oracles/v1/oracle_pb.d.ts +393 -0
  296. package/dist/types/generated/ottochain/v1/common.d.ts +1 -0
  297. package/dist/types/generated/ottochain/v1/common_pb.d.ts +86 -0
  298. package/dist/types/generated/ottochain/v1/fiber.d.ts +130 -0
  299. package/dist/types/generated/ottochain/v1/fiber_pb.d.ts +292 -0
  300. package/dist/types/generated/ottochain/v1/messages.d.ts +89 -0
  301. package/dist/types/generated/ottochain/v1/messages_pb.d.ts +190 -0
  302. package/dist/types/generated/ottochain/v1/records.d.ts +128 -0
  303. package/dist/types/generated/ottochain/v1/records_pb.d.ts +221 -0
  304. package/dist/types/index.d.ts +22 -0
  305. package/dist/types/metakit/binary.d.ts +38 -0
  306. package/dist/types/metakit/canonicalize.d.ts +26 -0
  307. package/dist/types/metakit/codec.d.ts +16 -0
  308. package/dist/types/metakit/currency-transaction.d.ts +157 -0
  309. package/dist/types/metakit/currency-types.d.ts +55 -0
  310. package/dist/types/metakit/hash.d.ts +50 -0
  311. package/dist/types/metakit/index.d.ts +23 -0
  312. package/dist/types/metakit/network/client.d.ts +23 -0
  313. package/dist/types/metakit/network/currency-l1-client.d.ts +71 -0
  314. package/dist/types/metakit/network/data-l1-client.d.ts +57 -0
  315. package/dist/types/metakit/network/index.d.ts +10 -0
  316. package/dist/types/metakit/network/types.d.ts +74 -0
  317. package/dist/types/metakit/sign.d.ts +65 -0
  318. package/dist/types/metakit/signed-object.d.ts +66 -0
  319. package/dist/types/metakit/types.d.ts +67 -0
  320. package/dist/types/metakit/verify.d.ts +55 -0
  321. package/dist/types/metakit/wallet.d.ts +70 -0
  322. package/dist/types/ottochain/index.d.ts +13 -0
  323. package/dist/types/ottochain/metagraph-client.d.ts +111 -0
  324. package/dist/types/ottochain/snapshot.d.ts +86 -0
  325. package/dist/types/ottochain/types.d.ts +210 -0
  326. package/dist/types/types.d.ts +51 -0
  327. package/dist/types/validation.d.ts +449 -0
  328. package/dist/validation.d.ts +449 -0
  329. package/dist/validation.js +312 -0
  330. package/package.json +136 -0
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Ottochain Metagraph Client
3
+ *
4
+ * Client for interacting with ottochain ML0 custom routes (/v1 prefix)
5
+ * and framework snapshot endpoints.
6
+ *
7
+ * @see modules/l0/src/main/scala/xyz/kd5ujc/metagraph_l0/ML0CustomRoutes.scala
8
+ * @see modules/data_l1/src/main/scala/xyz/kd5ujc/data_l1/DataL1CustomRoutes.scala
9
+ * @packageDocumentation
10
+ */
11
+ import type { OnChain, CalculatedState, StateMachineFiberRecord, ScriptFiberRecord, EventReceipt, OracleInvocation, FiberStatus } from './types.js';
12
+ /**
13
+ * Checkpoint response from the metagraph (ordinal + calculated state).
14
+ */
15
+ export interface Checkpoint {
16
+ ordinal: number;
17
+ state: CalculatedState;
18
+ }
19
+ /**
20
+ * Configuration for the MetagraphClient.
21
+ */
22
+ export interface MetagraphClientConfig {
23
+ /** ML0 node base URL (e.g., 'http://localhost:9200') */
24
+ ml0Url: string;
25
+ /** DL1 node base URL for data submission (e.g., 'http://localhost:9400') */
26
+ dl1Url?: string;
27
+ /** Request timeout in milliseconds (default: 30000) */
28
+ timeout?: number;
29
+ }
30
+ /**
31
+ * Client for ottochain metagraph operations.
32
+ *
33
+ * Provides typed access to all ML0 custom routes (under /data-application/v1/)
34
+ * and framework snapshot endpoints.
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * const client = new MetagraphClient({
39
+ * ml0Url: 'http://localhost:9200',
40
+ * dl1Url: 'http://localhost:9400',
41
+ * });
42
+ *
43
+ * // Query on-chain state
44
+ * const onChain = await client.getOnChain();
45
+ *
46
+ * // Get all active state machines
47
+ * const machines = await client.getStateMachines('Active');
48
+ *
49
+ * // Get event receipts for a fiber
50
+ * const events = await client.getStateMachineEvents(fiberId);
51
+ * ```
52
+ */
53
+ export declare class MetagraphClient {
54
+ private ml0;
55
+ private dl1?;
56
+ constructor(config: MetagraphClientConfig);
57
+ /**
58
+ * Get the current on-chain state (directly from L0 context).
59
+ */
60
+ getOnChain(): Promise<OnChain>;
61
+ /**
62
+ * Get the latest checkpoint (ordinal + calculated state).
63
+ */
64
+ getCheckpoint(): Promise<Checkpoint>;
65
+ /**
66
+ * Get all state machines, optionally filtered by status.
67
+ */
68
+ getStateMachines(status?: FiberStatus): Promise<Record<string, StateMachineFiberRecord>>;
69
+ /**
70
+ * Get a single state machine by fiber ID.
71
+ */
72
+ getStateMachine(fiberId: string): Promise<StateMachineFiberRecord | null>;
73
+ /**
74
+ * Get event receipts for a state machine from the current ordinal's logs.
75
+ */
76
+ getStateMachineEvents(fiberId: string): Promise<EventReceipt[]>;
77
+ /**
78
+ * Get all script oracles, optionally filtered by status.
79
+ */
80
+ getScripts(status?: FiberStatus): Promise<Record<string, ScriptFiberRecord>>;
81
+ /**
82
+ * Get a single script oracle by fiber ID.
83
+ */
84
+ getScript(scriptId: string): Promise<ScriptFiberRecord | null>;
85
+ /**
86
+ * Get oracle invocations from the current ordinal's logs.
87
+ */
88
+ getScriptInvocations(scriptId: string): Promise<OracleInvocation[]>;
89
+ /**
90
+ * Get the latest snapshot and decode its on-chain state.
91
+ */
92
+ getLatestSnapshotOnChainState(): Promise<OnChain | null>;
93
+ /**
94
+ * Get a snapshot by ordinal and decode its on-chain state.
95
+ */
96
+ getSnapshotOnChainState(ordinal: number): Promise<OnChain | null>;
97
+ /**
98
+ * Get the latest snapshot ordinal.
99
+ */
100
+ getLatestOrdinal(): Promise<number>;
101
+ /**
102
+ * Submit a signed data update to the DL1 node.
103
+ * The POST /data endpoint is framework-provided (no /v1 prefix).
104
+ *
105
+ * @param signedData - Signed OttochainMessage
106
+ * @returns Response hash
107
+ */
108
+ postData<T>(signedData: T): Promise<{
109
+ hash: string;
110
+ }>;
111
+ }
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Snapshot decoder for ottochain on-chain state
3
+ *
4
+ * Fetches currency incremental snapshots from metagraph L0 and decodes the
5
+ * on-chain state from the DataApplicationPart's binary payload.
6
+ *
7
+ * The on-chain state is serialized using JsonBinaryCodec (canonical JSON → UTF-8 bytes).
8
+ *
9
+ * @see modules/models/src/main/scala/xyz/kd5ujc/schema/OnChain.scala
10
+ * @packageDocumentation
11
+ */
12
+ import type { OnChain, EventReceipt, OracleInvocation, FiberLogEntry } from './types.js';
13
+ /**
14
+ * Decode on-chain state from binary (JsonBinaryCodec format).
15
+ *
16
+ * JsonBinaryCodec serialization is: canonical JSON → UTF-8 bytes.
17
+ * So decoding is simply: UTF-8 bytes → JSON.parse.
18
+ *
19
+ * @param bytes - UTF-8 encoded canonical JSON bytes
20
+ * @returns Decoded OnChain state
21
+ */
22
+ export declare function decodeOnChainState(bytes: Uint8Array): OnChain;
23
+ /**
24
+ * Snapshot response shape from GET /snapshots/{ordinal} or /snapshots/latest
25
+ * on the metagraph L0 node (port 9200 by default).
26
+ */
27
+ export interface CurrencySnapshotResponse {
28
+ value: {
29
+ ordinal: number;
30
+ dataApplication?: {
31
+ onChainState: number[];
32
+ blocks: unknown[];
33
+ };
34
+ [key: string]: unknown;
35
+ };
36
+ proofs: unknown[];
37
+ }
38
+ /**
39
+ * Fetch and decode the on-chain state from a specific snapshot ordinal.
40
+ *
41
+ * @param ml0BaseUrl - Metagraph L0 node base URL (e.g., 'http://localhost:9200')
42
+ * @param ordinal - Snapshot ordinal number
43
+ * @returns Decoded OnChain state, or null if no data application part
44
+ */
45
+ export declare function getSnapshotOnChainState(ml0BaseUrl: string, ordinal: number): Promise<OnChain | null>;
46
+ /**
47
+ * Fetch and decode the on-chain state from the latest snapshot.
48
+ *
49
+ * @param ml0BaseUrl - Metagraph L0 node base URL (e.g., 'http://localhost:9200')
50
+ * @returns Decoded OnChain state, or null if no data application part
51
+ */
52
+ export declare function getLatestOnChainState(ml0BaseUrl: string): Promise<OnChain | null>;
53
+ /**
54
+ * Extract and decode on-chain state from a snapshot response.
55
+ */
56
+ export declare function extractOnChainState(snapshot: CurrencySnapshotResponse): OnChain | null;
57
+ /**
58
+ * Get all log entries for a specific fiber from on-chain state.
59
+ *
60
+ * @param onChain - Decoded on-chain state
61
+ * @param fiberId - Fiber UUID to filter by
62
+ * @returns Array of log entries for the fiber, or empty array
63
+ */
64
+ export declare function getLogsForFiber(onChain: OnChain, fiberId: string): FiberLogEntry[];
65
+ /**
66
+ * Get EventReceipt log entries for a specific fiber.
67
+ *
68
+ * EventReceipts are distinguished from OracleInvocations by the presence
69
+ * of the `eventName` field.
70
+ *
71
+ * @param onChain - Decoded on-chain state
72
+ * @param fiberId - Fiber UUID to filter by
73
+ * @returns Array of EventReceipt entries
74
+ */
75
+ export declare function getEventReceipts(onChain: OnChain, fiberId: string): EventReceipt[];
76
+ /**
77
+ * Get OracleInvocation log entries for a specific fiber.
78
+ *
79
+ * OracleInvocations are distinguished from EventReceipts by the presence
80
+ * of the `method` field.
81
+ *
82
+ * @param onChain - Decoded on-chain state
83
+ * @param fiberId - Fiber UUID to filter by
84
+ * @returns Array of OracleInvocation entries
85
+ */
86
+ export declare function getScriptInvocations(onChain: OnChain, fiberId: string): OracleInvocation[];
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Ottochain-specific type definitions
3
+ *
4
+ * TypeScript interfaces matching the wire format from the Scala metagraph.
5
+ * The JSON Logic engine stores state as plain JSON - no wrapper objects.
6
+ *
7
+ * @see modules/models/src/main/scala/xyz/kd5ujc/schema/
8
+ * @packageDocumentation
9
+ */
10
+ export type { Address, FiberId, StateId, HashValue, FiberOrdinal, SnapshotOrdinal, Timestamp, } from '../types.js';
11
+ /**
12
+ * JSON logic value - arbitrary JSON data used for state data and payloads.
13
+ */
14
+ export type JsonLogicValue = unknown;
15
+ /**
16
+ * JSON logic expression - a JsonLogic program definition.
17
+ */
18
+ export type JsonLogicExpression = unknown;
19
+ /**
20
+ * Lifecycle status of a fiber.
21
+ * Wire format: plain string.
22
+ */
23
+ export type FiberStatus = 'Active' | 'Archived' | 'Failed';
24
+ /**
25
+ * Access control policy for script oracles.
26
+ * Wire format: discriminated union with type key.
27
+ */
28
+ export type AccessControlPolicy = {
29
+ Public: Record<string, never>;
30
+ } | {
31
+ Whitelist: {
32
+ addresses: string[];
33
+ };
34
+ } | {
35
+ FiberOwned: {
36
+ fiberId: string;
37
+ };
38
+ };
39
+ /**
40
+ * Definition of a state machine's structure and transitions.
41
+ * Wire format: plain JSON object with string initialState.
42
+ */
43
+ export interface StateMachineDefinition {
44
+ states: Record<string, unknown>;
45
+ initialState: string;
46
+ transitions: unknown[];
47
+ metadata?: JsonLogicValue;
48
+ }
49
+ /**
50
+ * Event emitted by a state machine transition trigger.
51
+ */
52
+ export interface EmittedEvent {
53
+ name: string;
54
+ data: JsonLogicValue;
55
+ destination?: string;
56
+ }
57
+ /**
58
+ * Receipt of a state machine event processing.
59
+ * Wire format: all ordinals/states are plain primitives.
60
+ */
61
+ export interface EventReceipt {
62
+ fiberId: string;
63
+ sequenceNumber: number;
64
+ eventName: string;
65
+ ordinal: number;
66
+ fromState: string;
67
+ toState: string;
68
+ success: boolean;
69
+ gasUsed: number;
70
+ triggersFired: number;
71
+ errorMessage?: string;
72
+ sourceFiberId?: string;
73
+ emittedEvents: EmittedEvent[];
74
+ }
75
+ /**
76
+ * Log entry for a script oracle invocation.
77
+ */
78
+ export interface OracleInvocation {
79
+ fiberId: string;
80
+ method: string;
81
+ args: JsonLogicValue;
82
+ result: JsonLogicValue;
83
+ gasUsed: number;
84
+ invokedAt: number;
85
+ invokedBy: string;
86
+ }
87
+ /**
88
+ * Union type for all fiber log entries.
89
+ */
90
+ export type FiberLogEntry = EventReceipt | OracleInvocation;
91
+ /**
92
+ * On-chain record for a state machine fiber.
93
+ * Wire format: all ordinals/states/hashes are plain primitives.
94
+ */
95
+ export interface StateMachineFiberRecord {
96
+ fiberId: string;
97
+ creationOrdinal: number;
98
+ previousUpdateOrdinal: number;
99
+ latestUpdateOrdinal: number;
100
+ definition: StateMachineDefinition;
101
+ currentState: string;
102
+ stateData: JsonLogicValue;
103
+ stateDataHash: string;
104
+ sequenceNumber: number;
105
+ owners: string[];
106
+ status: FiberStatus;
107
+ lastReceipt?: EventReceipt;
108
+ parentFiberId?: string;
109
+ childFiberIds: string[];
110
+ }
111
+ /**
112
+ * On-chain record for a script oracle fiber.
113
+ */
114
+ export interface ScriptFiberRecord {
115
+ fiberId: string;
116
+ creationOrdinal: number;
117
+ latestUpdateOrdinal: number;
118
+ scriptProgram: JsonLogicExpression;
119
+ stateData?: JsonLogicValue;
120
+ stateDataHash?: string;
121
+ accessControl: AccessControlPolicy;
122
+ sequenceNumber: number;
123
+ owners: string[];
124
+ status: FiberStatus;
125
+ lastInvocation?: OracleInvocation;
126
+ }
127
+ /**
128
+ * Union type for all fiber records.
129
+ */
130
+ export type FiberRecord = StateMachineFiberRecord | ScriptFiberRecord;
131
+ /**
132
+ * Commit hash for a single fiber in the on-chain state.
133
+ */
134
+ export interface FiberCommit {
135
+ recordHash: string;
136
+ stateDataHash?: string;
137
+ sequenceNumber: number;
138
+ }
139
+ /**
140
+ * Full on-chain state of the ottochain metagraph.
141
+ */
142
+ export interface OnChain {
143
+ fiberCommits: Record<string, FiberCommit>;
144
+ latestLogs: Record<string, FiberLogEntry[]>;
145
+ }
146
+ /**
147
+ * Full calculated state (served by ML0 /v1/ endpoints).
148
+ */
149
+ export interface CalculatedState {
150
+ stateMachines: Record<string, StateMachineFiberRecord>;
151
+ scripts: Record<string, ScriptFiberRecord>;
152
+ }
153
+ /**
154
+ * Create a new state machine fiber.
155
+ */
156
+ export interface CreateStateMachine {
157
+ fiberId: string;
158
+ definition: StateMachineDefinition;
159
+ initialData: JsonLogicValue;
160
+ parentFiberId?: string;
161
+ }
162
+ /**
163
+ * Trigger a state machine transition.
164
+ */
165
+ export interface TransitionStateMachine {
166
+ fiberId: string;
167
+ eventName: string;
168
+ payload: JsonLogicValue;
169
+ targetSequenceNumber: number;
170
+ }
171
+ /**
172
+ * Archive a state machine fiber.
173
+ */
174
+ export interface ArchiveStateMachine {
175
+ fiberId: string;
176
+ targetSequenceNumber: number;
177
+ }
178
+ /**
179
+ * Create a new script oracle fiber.
180
+ */
181
+ export interface CreateScript {
182
+ fiberId: string;
183
+ scriptProgram: JsonLogicExpression;
184
+ initialState?: JsonLogicValue;
185
+ accessControl: AccessControlPolicy;
186
+ }
187
+ /**
188
+ * Invoke a script oracle.
189
+ */
190
+ export interface InvokeScript {
191
+ fiberId: string;
192
+ method: string;
193
+ args: JsonLogicValue;
194
+ targetSequenceNumber: number;
195
+ }
196
+ /**
197
+ * Union type for all ottochain messages.
198
+ * JSON is wrapped as `{ MessageName: { ...fields } }`.
199
+ */
200
+ export type OttochainMessage = {
201
+ CreateStateMachine: CreateStateMachine;
202
+ } | {
203
+ TransitionStateMachine: TransitionStateMachine;
204
+ } | {
205
+ ArchiveStateMachine: ArchiveStateMachine;
206
+ } | {
207
+ CreateScript: CreateScript;
208
+ } | {
209
+ InvokeScript: InvokeScript;
210
+ };
@@ -0,0 +1,51 @@
1
+ /**
2
+ * OttoChain Type Aliases
3
+ *
4
+ * Semantic type aliases for common primitive types.
5
+ * These match the wire format used by the metagraph's JSON Logic engine.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ /**
10
+ * DAG address (Constellation network address).
11
+ * Format: DAG followed by alphanumeric characters.
12
+ * @example "DAG4o8VX63jPFLQ6pZ5XE7qT8vGp8gkgBHj1QL5c"
13
+ */
14
+ export type Address = string;
15
+ /**
16
+ * Fiber UUID identifier.
17
+ * @example "550e8400-e29b-41d4-a716-446655440000"
18
+ */
19
+ export type FiberId = string;
20
+ /**
21
+ * State machine state identifier.
22
+ * @example "ACTIVE", "PENDING", "REGISTERED"
23
+ */
24
+ export type StateId = string;
25
+ /**
26
+ * Hex-encoded hash value.
27
+ * @example "a1b2c3d4e5f6..."
28
+ */
29
+ export type HashValue = string;
30
+ /**
31
+ * Fiber sequence number (non-negative integer).
32
+ * Increments with each state update.
33
+ */
34
+ export type FiberOrdinal = number;
35
+ /**
36
+ * Constellation snapshot ordinal (non-negative integer).
37
+ * Global ordering of snapshots on the DAG network.
38
+ */
39
+ export type SnapshotOrdinal = number;
40
+ /**
41
+ * Unix timestamp in milliseconds.
42
+ */
43
+ export type Timestamp = number;
44
+ /**
45
+ * Validate a DAG address format.
46
+ */
47
+ export declare function isValidAddress(value: string): value is Address;
48
+ /**
49
+ * Validate a UUID format.
50
+ */
51
+ export declare function isValidFiberId(value: string): value is FiberId;