@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,211 @@
1
+ /**
2
+ * Oracles Application Types
3
+ *
4
+ * Constants, types, and utilities for the Oracle system on OttoChain.
5
+ * Oracles provide truth resolution for markets and disputes.
6
+ *
7
+ * Note: When proto files are generated, enums will move to generated types.
8
+ *
9
+ * @packageDocumentation
10
+ */
11
+ /**
12
+ * Oracle lifecycle states
13
+ */
14
+ export declare enum OracleState {
15
+ UNSPECIFIED = 0,
16
+ /** Oracle has registered but not yet staked */
17
+ REGISTERED = 1,
18
+ /** Oracle is staked and available for assignments */
19
+ ACTIVE = 2,
20
+ /** Oracle is currently assigned to resolve a market */
21
+ ASSIGNED = 3,
22
+ /** Oracle has submitted a resolution, in challenge period */
23
+ SUBMITTED = 4,
24
+ /** Oracle is under review due to dispute */
25
+ CHALLENGED = 5,
26
+ /** Oracle is suspended due to slashing */
27
+ SUSPENDED = 6,
28
+ /** Oracle has withdrawn stake and exited */
29
+ WITHDRAWN = 7
30
+ }
31
+ /**
32
+ * Types of oracle resolutions
33
+ */
34
+ export declare enum ResolutionType {
35
+ UNSPECIFIED = 0,
36
+ /** Binary yes/no outcome */
37
+ BINARY = 1,
38
+ /** One of multiple predefined outcomes */
39
+ MULTI_CHOICE = 2,
40
+ /** Numeric value (e.g., price) */
41
+ NUMERIC = 3,
42
+ /** Free-form attestation */
43
+ ATTESTATION = 4
44
+ }
45
+ /**
46
+ * Reasons for slashing oracle stake
47
+ */
48
+ export declare enum SlashingReason {
49
+ UNSPECIFIED = 0,
50
+ /** Failed to submit resolution in time */
51
+ TIMEOUT = 1,
52
+ /** Resolution overturned by dispute */
53
+ INCORRECT_RESOLUTION = 2,
54
+ /** Evidence of collusion or manipulation */
55
+ COLLUSION = 3,
56
+ /** Violation of oracle protocol */
57
+ PROTOCOL_VIOLATION = 4
58
+ }
59
+ /**
60
+ * Oracle configuration type
61
+ */
62
+ export interface OracleConfig {
63
+ /** Minimum stake required to become an oracle (in base units) */
64
+ minStake: bigint;
65
+ /** Stake slashed for timeout (percentage) */
66
+ timeoutSlashPercent: number;
67
+ /** Stake slashed for incorrect resolution (percentage) */
68
+ incorrectSlashPercent: number;
69
+ /** Stake slashed for collusion (percentage) */
70
+ collusionSlashPercent: number;
71
+ /** Stake slashed for protocol violation (percentage) */
72
+ violationSlashPercent: number;
73
+ /** Epochs to wait before withdrawal after unstaking */
74
+ cooldownEpochs: number;
75
+ /** Base reputation for new oracles */
76
+ baseReputation: number;
77
+ /** Minimum reputation to accept high-value markets */
78
+ highValueThreshold: number;
79
+ /** Resolution window in epochs */
80
+ resolutionWindowEpochs: number;
81
+ /** Challenge window after submission in epochs */
82
+ challengeWindowEpochs: number;
83
+ /** Reward percentage from resolved market fees */
84
+ oracleRewardPercent: number;
85
+ }
86
+ /**
87
+ * Default oracle configuration
88
+ */
89
+ export declare const DEFAULT_ORACLE_CONFIG: OracleConfig;
90
+ /**
91
+ * Slashing percentages by reason
92
+ */
93
+ export declare const SLASHING_PERCENTAGES: Record<SlashingReason, number>;
94
+ /**
95
+ * Valid transitions for each oracle state
96
+ */
97
+ export declare const ORACLE_TRANSITIONS: Record<OracleState, readonly string[]>;
98
+ /**
99
+ * Check if an oracle state is terminal
100
+ */
101
+ export declare function isTerminalOracleState(state: OracleState): boolean;
102
+ /**
103
+ * Check if an oracle can accept new assignments
104
+ */
105
+ export declare function canAcceptAssignment(state: OracleState): boolean;
106
+ /**
107
+ * Reputation update factors
108
+ */
109
+ export declare const REPUTATION_DELTAS: {
110
+ /** Successfully resolved market without challenge */
111
+ readonly successfulResolution: 5;
112
+ /** Resolution upheld after challenge */
113
+ readonly upheldChallenge: 10;
114
+ /** Resolution overturned (negative) */
115
+ readonly overturnedResolution: -25;
116
+ /** Timeout on assigned market (negative) */
117
+ readonly timeout: -15;
118
+ /** Collusion detected (negative) */
119
+ readonly collusion: -100;
120
+ /** Protocol violation (negative) */
121
+ readonly violation: -20;
122
+ /** Bonus for high-value market resolution */
123
+ readonly highValueBonus: 3;
124
+ };
125
+ /**
126
+ * Calculate new reputation after an event
127
+ *
128
+ * @param currentReputation - Current reputation score
129
+ * @param delta - Reputation change (positive or negative)
130
+ * @param minReputation - Minimum reputation floor (default 0)
131
+ * @returns New reputation score
132
+ */
133
+ export declare function calculateReputation(currentReputation: number, delta: number, minReputation?: number): number;
134
+ /**
135
+ * Calculate weighted reputation considering history
136
+ *
137
+ * @param baseReputation - Current base reputation
138
+ * @param successCount - Number of successful resolutions
139
+ * @param failureCount - Number of failed/overturned resolutions
140
+ * @returns Weighted reputation score
141
+ */
142
+ export declare function calculateWeightedReputation(baseReputation: number, successCount: number, failureCount: number): number;
143
+ /**
144
+ * Check if oracle qualifies for high-value markets
145
+ */
146
+ export declare function qualifiesForHighValue(reputation: number, stake: bigint, threshold?: number, minStakeMultiplier?: number): boolean;
147
+ /**
148
+ * Slashing condition definition
149
+ */
150
+ export interface SlashingCondition {
151
+ reason: SlashingReason;
152
+ slashPercent: number;
153
+ description: string;
154
+ appealable: boolean;
155
+ suspensionEpochs: number;
156
+ }
157
+ /**
158
+ * Predefined slashing conditions
159
+ */
160
+ export declare const SLASHING_CONDITIONS: Record<SlashingReason, SlashingCondition>;
161
+ /**
162
+ * Calculate slash amount for a given stake and reason
163
+ *
164
+ * @param stake - Oracle's current stake
165
+ * @param reason - Reason for slashing
166
+ * @returns Amount to be slashed
167
+ */
168
+ export declare function calculateSlashAmount(stake: bigint, reason: SlashingReason): bigint;
169
+ /**
170
+ * Calculate remaining stake after slashing
171
+ */
172
+ export declare function calculateStakeAfterSlash(stake: bigint, reason: SlashingReason): bigint;
173
+ /**
174
+ * Oracle candidate for selection
175
+ */
176
+ export interface OracleCandidate {
177
+ address: string;
178
+ reputation: number;
179
+ stake: bigint;
180
+ activeAssignments: number;
181
+ successRate: number;
182
+ }
183
+ /**
184
+ * Calculate oracle selection score
185
+ * Higher score = more likely to be selected
186
+ *
187
+ * @param candidate - Oracle candidate details
188
+ * @param marketValue - Value of market to resolve (affects weight for high-value markets)
189
+ * @returns Selection score
190
+ */
191
+ export declare function calculateSelectionScore(candidate: OracleCandidate, marketValue?: bigint): number;
192
+ /**
193
+ * Calculate oracle reward for successful resolution
194
+ *
195
+ * @param marketFees - Total fees collected from market
196
+ * @param rewardPercent - Oracle's reward percentage (default from config)
197
+ * @returns Oracle reward amount
198
+ */
199
+ export declare function calculateOracleReward(marketFees: bigint, rewardPercent?: number): bigint;
200
+ /**
201
+ * Check if a value is a valid OracleState
202
+ */
203
+ export declare function isOracleState(value: unknown): value is OracleState;
204
+ /**
205
+ * Check if a value is a valid SlashingReason
206
+ */
207
+ export declare function isSlashingReason(value: unknown): value is SlashingReason;
208
+ /**
209
+ * Check if a value is a valid ResolutionType
210
+ */
211
+ export declare function isResolutionType(value: unknown): value is ResolutionType;
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+ /**
3
+ * Oracles Application Types
4
+ *
5
+ * Constants, types, and utilities for the Oracle system on OttoChain.
6
+ * Oracles provide truth resolution for markets and disputes.
7
+ *
8
+ * Note: When proto files are generated, enums will move to generated types.
9
+ *
10
+ * @packageDocumentation
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.isResolutionType = exports.isSlashingReason = exports.isOracleState = exports.calculateOracleReward = exports.calculateSelectionScore = exports.calculateStakeAfterSlash = exports.calculateSlashAmount = exports.SLASHING_CONDITIONS = exports.qualifiesForHighValue = exports.calculateWeightedReputation = exports.calculateReputation = exports.REPUTATION_DELTAS = exports.canAcceptAssignment = exports.isTerminalOracleState = exports.ORACLE_TRANSITIONS = exports.SLASHING_PERCENTAGES = exports.DEFAULT_ORACLE_CONFIG = exports.SlashingReason = exports.ResolutionType = exports.OracleState = void 0;
14
+ // ---------------------------------------------------------------------------
15
+ // Enums (will be replaced by proto-generated versions)
16
+ // ---------------------------------------------------------------------------
17
+ /**
18
+ * Oracle lifecycle states
19
+ */
20
+ var OracleState;
21
+ (function (OracleState) {
22
+ OracleState[OracleState["UNSPECIFIED"] = 0] = "UNSPECIFIED";
23
+ /** Oracle has registered but not yet staked */
24
+ OracleState[OracleState["REGISTERED"] = 1] = "REGISTERED";
25
+ /** Oracle is staked and available for assignments */
26
+ OracleState[OracleState["ACTIVE"] = 2] = "ACTIVE";
27
+ /** Oracle is currently assigned to resolve a market */
28
+ OracleState[OracleState["ASSIGNED"] = 3] = "ASSIGNED";
29
+ /** Oracle has submitted a resolution, in challenge period */
30
+ OracleState[OracleState["SUBMITTED"] = 4] = "SUBMITTED";
31
+ /** Oracle is under review due to dispute */
32
+ OracleState[OracleState["CHALLENGED"] = 5] = "CHALLENGED";
33
+ /** Oracle is suspended due to slashing */
34
+ OracleState[OracleState["SUSPENDED"] = 6] = "SUSPENDED";
35
+ /** Oracle has withdrawn stake and exited */
36
+ OracleState[OracleState["WITHDRAWN"] = 7] = "WITHDRAWN";
37
+ })(OracleState || (exports.OracleState = OracleState = {}));
38
+ /**
39
+ * Types of oracle resolutions
40
+ */
41
+ var ResolutionType;
42
+ (function (ResolutionType) {
43
+ ResolutionType[ResolutionType["UNSPECIFIED"] = 0] = "UNSPECIFIED";
44
+ /** Binary yes/no outcome */
45
+ ResolutionType[ResolutionType["BINARY"] = 1] = "BINARY";
46
+ /** One of multiple predefined outcomes */
47
+ ResolutionType[ResolutionType["MULTI_CHOICE"] = 2] = "MULTI_CHOICE";
48
+ /** Numeric value (e.g., price) */
49
+ ResolutionType[ResolutionType["NUMERIC"] = 3] = "NUMERIC";
50
+ /** Free-form attestation */
51
+ ResolutionType[ResolutionType["ATTESTATION"] = 4] = "ATTESTATION";
52
+ })(ResolutionType || (exports.ResolutionType = ResolutionType = {}));
53
+ /**
54
+ * Reasons for slashing oracle stake
55
+ */
56
+ var SlashingReason;
57
+ (function (SlashingReason) {
58
+ SlashingReason[SlashingReason["UNSPECIFIED"] = 0] = "UNSPECIFIED";
59
+ /** Failed to submit resolution in time */
60
+ SlashingReason[SlashingReason["TIMEOUT"] = 1] = "TIMEOUT";
61
+ /** Resolution overturned by dispute */
62
+ SlashingReason[SlashingReason["INCORRECT_RESOLUTION"] = 2] = "INCORRECT_RESOLUTION";
63
+ /** Evidence of collusion or manipulation */
64
+ SlashingReason[SlashingReason["COLLUSION"] = 3] = "COLLUSION";
65
+ /** Violation of oracle protocol */
66
+ SlashingReason[SlashingReason["PROTOCOL_VIOLATION"] = 4] = "PROTOCOL_VIOLATION";
67
+ })(SlashingReason || (exports.SlashingReason = SlashingReason = {}));
68
+ /**
69
+ * Default oracle configuration
70
+ */
71
+ exports.DEFAULT_ORACLE_CONFIG = {
72
+ minStake: 10000n,
73
+ timeoutSlashPercent: 0.05,
74
+ incorrectSlashPercent: 0.25,
75
+ collusionSlashPercent: 1.0,
76
+ violationSlashPercent: 0.10,
77
+ cooldownEpochs: 48,
78
+ baseReputation: 50,
79
+ highValueThreshold: 100,
80
+ resolutionWindowEpochs: 12,
81
+ challengeWindowEpochs: 6,
82
+ oracleRewardPercent: 0.01,
83
+ };
84
+ /**
85
+ * Slashing percentages by reason
86
+ */
87
+ exports.SLASHING_PERCENTAGES = {
88
+ [SlashingReason.UNSPECIFIED]: 0,
89
+ [SlashingReason.TIMEOUT]: exports.DEFAULT_ORACLE_CONFIG.timeoutSlashPercent,
90
+ [SlashingReason.INCORRECT_RESOLUTION]: exports.DEFAULT_ORACLE_CONFIG.incorrectSlashPercent,
91
+ [SlashingReason.COLLUSION]: exports.DEFAULT_ORACLE_CONFIG.collusionSlashPercent,
92
+ [SlashingReason.PROTOCOL_VIOLATION]: exports.DEFAULT_ORACLE_CONFIG.violationSlashPercent,
93
+ };
94
+ // ---------------------------------------------------------------------------
95
+ // State Machine Transitions
96
+ // ---------------------------------------------------------------------------
97
+ /**
98
+ * Valid transitions for each oracle state
99
+ */
100
+ exports.ORACLE_TRANSITIONS = {
101
+ [OracleState.UNSPECIFIED]: [],
102
+ [OracleState.REGISTERED]: ['stake', 'withdraw'],
103
+ [OracleState.ACTIVE]: ['assign', 'unstake'],
104
+ [OracleState.ASSIGNED]: ['submit', 'timeout'],
105
+ [OracleState.SUBMITTED]: ['finalize', 'challenge'],
106
+ [OracleState.CHALLENGED]: ['uphold', 'overturn'],
107
+ [OracleState.SUSPENDED]: ['begin_probation', 'permanent_ban'],
108
+ [OracleState.WITHDRAWN]: [], // Terminal state
109
+ };
110
+ /**
111
+ * Check if an oracle state is terminal
112
+ */
113
+ function isTerminalOracleState(state) {
114
+ return state === OracleState.WITHDRAWN;
115
+ }
116
+ exports.isTerminalOracleState = isTerminalOracleState;
117
+ /**
118
+ * Check if an oracle can accept new assignments
119
+ */
120
+ function canAcceptAssignment(state) {
121
+ return state === OracleState.ACTIVE;
122
+ }
123
+ exports.canAcceptAssignment = canAcceptAssignment;
124
+ // ---------------------------------------------------------------------------
125
+ // Reputation Calculations
126
+ // ---------------------------------------------------------------------------
127
+ /**
128
+ * Reputation update factors
129
+ */
130
+ exports.REPUTATION_DELTAS = {
131
+ /** Successfully resolved market without challenge */
132
+ successfulResolution: 5,
133
+ /** Resolution upheld after challenge */
134
+ upheldChallenge: 10,
135
+ /** Resolution overturned (negative) */
136
+ overturnedResolution: -25,
137
+ /** Timeout on assigned market (negative) */
138
+ timeout: -15,
139
+ /** Collusion detected (negative) */
140
+ collusion: -100,
141
+ /** Protocol violation (negative) */
142
+ violation: -20,
143
+ /** Bonus for high-value market resolution */
144
+ highValueBonus: 3,
145
+ };
146
+ /**
147
+ * Calculate new reputation after an event
148
+ *
149
+ * @param currentReputation - Current reputation score
150
+ * @param delta - Reputation change (positive or negative)
151
+ * @param minReputation - Minimum reputation floor (default 0)
152
+ * @returns New reputation score
153
+ */
154
+ function calculateReputation(currentReputation, delta, minReputation = 0) {
155
+ return Math.max(minReputation, currentReputation + delta);
156
+ }
157
+ exports.calculateReputation = calculateReputation;
158
+ /**
159
+ * Calculate weighted reputation considering history
160
+ *
161
+ * @param baseReputation - Current base reputation
162
+ * @param successCount - Number of successful resolutions
163
+ * @param failureCount - Number of failed/overturned resolutions
164
+ * @returns Weighted reputation score
165
+ */
166
+ function calculateWeightedReputation(baseReputation, successCount, failureCount) {
167
+ const totalAttempts = successCount + failureCount;
168
+ if (totalAttempts === 0)
169
+ return baseReputation;
170
+ const successRate = successCount / totalAttempts;
171
+ const experienceMultiplier = Math.min(1 + Math.log10(totalAttempts + 1) * 0.2, 1.5);
172
+ return Math.round(baseReputation * successRate * experienceMultiplier);
173
+ }
174
+ exports.calculateWeightedReputation = calculateWeightedReputation;
175
+ /**
176
+ * Check if oracle qualifies for high-value markets
177
+ */
178
+ function qualifiesForHighValue(reputation, stake, threshold = exports.DEFAULT_ORACLE_CONFIG.highValueThreshold, minStakeMultiplier = 5) {
179
+ return (reputation >= threshold &&
180
+ stake >= exports.DEFAULT_ORACLE_CONFIG.minStake * BigInt(minStakeMultiplier));
181
+ }
182
+ exports.qualifiesForHighValue = qualifiesForHighValue;
183
+ /**
184
+ * Predefined slashing conditions
185
+ */
186
+ exports.SLASHING_CONDITIONS = {
187
+ [SlashingReason.UNSPECIFIED]: {
188
+ reason: SlashingReason.UNSPECIFIED,
189
+ slashPercent: 0,
190
+ description: 'No slashing',
191
+ appealable: false,
192
+ suspensionEpochs: 0,
193
+ },
194
+ [SlashingReason.TIMEOUT]: {
195
+ reason: SlashingReason.TIMEOUT,
196
+ slashPercent: exports.DEFAULT_ORACLE_CONFIG.timeoutSlashPercent,
197
+ description: 'Failed to submit resolution within deadline',
198
+ appealable: true,
199
+ suspensionEpochs: 12,
200
+ },
201
+ [SlashingReason.INCORRECT_RESOLUTION]: {
202
+ reason: SlashingReason.INCORRECT_RESOLUTION,
203
+ slashPercent: exports.DEFAULT_ORACLE_CONFIG.incorrectSlashPercent,
204
+ description: 'Resolution overturned by dispute process',
205
+ appealable: true,
206
+ suspensionEpochs: 48,
207
+ },
208
+ [SlashingReason.COLLUSION]: {
209
+ reason: SlashingReason.COLLUSION,
210
+ slashPercent: exports.DEFAULT_ORACLE_CONFIG.collusionSlashPercent,
211
+ description: 'Evidence of collusion or market manipulation',
212
+ appealable: false,
213
+ suspensionEpochs: -1, // Permanent
214
+ },
215
+ [SlashingReason.PROTOCOL_VIOLATION]: {
216
+ reason: SlashingReason.PROTOCOL_VIOLATION,
217
+ slashPercent: exports.DEFAULT_ORACLE_CONFIG.violationSlashPercent,
218
+ description: 'Violation of oracle operating protocol',
219
+ appealable: true,
220
+ suspensionEpochs: 24,
221
+ },
222
+ };
223
+ /**
224
+ * Calculate slash amount for a given stake and reason
225
+ *
226
+ * @param stake - Oracle's current stake
227
+ * @param reason - Reason for slashing
228
+ * @returns Amount to be slashed
229
+ */
230
+ function calculateSlashAmount(stake, reason) {
231
+ const condition = exports.SLASHING_CONDITIONS[reason];
232
+ return (stake * BigInt(Math.floor(condition.slashPercent * 10000))) / 10000n;
233
+ }
234
+ exports.calculateSlashAmount = calculateSlashAmount;
235
+ /**
236
+ * Calculate remaining stake after slashing
237
+ */
238
+ function calculateStakeAfterSlash(stake, reason) {
239
+ return stake - calculateSlashAmount(stake, reason);
240
+ }
241
+ exports.calculateStakeAfterSlash = calculateStakeAfterSlash;
242
+ /**
243
+ * Calculate oracle selection score
244
+ * Higher score = more likely to be selected
245
+ *
246
+ * @param candidate - Oracle candidate details
247
+ * @param marketValue - Value of market to resolve (affects weight for high-value markets)
248
+ * @returns Selection score
249
+ */
250
+ function calculateSelectionScore(candidate, marketValue = 0n) {
251
+ const reputationWeight = 0.4;
252
+ const stakeWeight = 0.3;
253
+ const successWeight = 0.2;
254
+ const loadWeight = 0.1;
255
+ // Normalize stake to 0-100 range (assuming 1M max)
256
+ const normalizedStake = Math.min(Number(candidate.stake / 10000n), 100);
257
+ // Load penalty (fewer active = better)
258
+ const loadScore = Math.max(0, 100 - candidate.activeAssignments * 20);
259
+ // High-value market bonus for qualified oracles
260
+ const highValueBonus = marketValue > 100000n &&
261
+ qualifiesForHighValue(candidate.reputation, candidate.stake) ? 10 : 0;
262
+ return (candidate.reputation * reputationWeight +
263
+ normalizedStake * stakeWeight +
264
+ candidate.successRate * 100 * successWeight +
265
+ loadScore * loadWeight +
266
+ highValueBonus);
267
+ }
268
+ exports.calculateSelectionScore = calculateSelectionScore;
269
+ // ---------------------------------------------------------------------------
270
+ // Reward Calculations
271
+ // ---------------------------------------------------------------------------
272
+ /**
273
+ * Calculate oracle reward for successful resolution
274
+ *
275
+ * @param marketFees - Total fees collected from market
276
+ * @param rewardPercent - Oracle's reward percentage (default from config)
277
+ * @returns Oracle reward amount
278
+ */
279
+ function calculateOracleReward(marketFees, rewardPercent = exports.DEFAULT_ORACLE_CONFIG.oracleRewardPercent) {
280
+ return (marketFees * BigInt(Math.floor(rewardPercent * 10000))) / 10000n;
281
+ }
282
+ exports.calculateOracleReward = calculateOracleReward;
283
+ // ---------------------------------------------------------------------------
284
+ // Type Guards
285
+ // ---------------------------------------------------------------------------
286
+ /**
287
+ * Check if a value is a valid OracleState
288
+ */
289
+ function isOracleState(value) {
290
+ return typeof value === 'number' && value in OracleState;
291
+ }
292
+ exports.isOracleState = isOracleState;
293
+ /**
294
+ * Check if a value is a valid SlashingReason
295
+ */
296
+ function isSlashingReason(value) {
297
+ return typeof value === 'number' && value in SlashingReason;
298
+ }
299
+ exports.isSlashingReason = isSlashingReason;
300
+ /**
301
+ * Check if a value is a valid ResolutionType
302
+ */
303
+ function isResolutionType(value) {
304
+ return typeof value === 'number' && value in ResolutionType;
305
+ }
306
+ exports.isResolutionType = isResolutionType;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ /**
3
+ * Contracts Application
4
+ *
5
+ * Types and utilities for smart contracts on OttoChain.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import {
10
+ * ContractState,
11
+ * Contract,
12
+ * getContractDefinition,
13
+ * getEscrowDefinition
14
+ * } from '@ottochain/sdk/apps/contracts';
15
+ *
16
+ * const contractDef = getContractDefinition();
17
+ * ```
18
+ *
19
+ * @packageDocumentation
20
+ */
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.getEscrowDefinition = exports.getContractDefinition = exports.CONTRACT_DEFINITIONS = exports.contractStateToJSON = exports.contractStateFromJSON = exports.ContractDefinition = exports.DisputeContractRequest = exports.RejectContractRequest = exports.CompleteContractRequest = exports.AcceptContractRequest = exports.ProposeContractRequest = exports.Contract = exports.ContractState = void 0;
26
+ // Re-export generated protobuf types (source of truth)
27
+ var contract_js_1 = require("../../generated/ottochain/apps/contracts/v1/contract.js");
28
+ Object.defineProperty(exports, "ContractState", { enumerable: true, get: function () { return contract_js_1.ContractState; } });
29
+ Object.defineProperty(exports, "Contract", { enumerable: true, get: function () { return contract_js_1.Contract; } });
30
+ Object.defineProperty(exports, "ProposeContractRequest", { enumerable: true, get: function () { return contract_js_1.ProposeContractRequest; } });
31
+ Object.defineProperty(exports, "AcceptContractRequest", { enumerable: true, get: function () { return contract_js_1.AcceptContractRequest; } });
32
+ Object.defineProperty(exports, "CompleteContractRequest", { enumerable: true, get: function () { return contract_js_1.CompleteContractRequest; } });
33
+ Object.defineProperty(exports, "RejectContractRequest", { enumerable: true, get: function () { return contract_js_1.RejectContractRequest; } });
34
+ Object.defineProperty(exports, "DisputeContractRequest", { enumerable: true, get: function () { return contract_js_1.DisputeContractRequest; } });
35
+ Object.defineProperty(exports, "ContractDefinition", { enumerable: true, get: function () { return contract_js_1.ContractDefinition; } });
36
+ Object.defineProperty(exports, "contractStateFromJSON", { enumerable: true, get: function () { return contract_js_1.contractStateFromJSON; } });
37
+ Object.defineProperty(exports, "contractStateToJSON", { enumerable: true, get: function () { return contract_js_1.contractStateToJSON; } });
38
+ // ---------------------------------------------------------------------------
39
+ // State Machine JSON Definitions
40
+ // ---------------------------------------------------------------------------
41
+ const contract_json_1 = __importDefault(require("./state-machines/contract.json"));
42
+ const escrow_json_1 = __importDefault(require("./state-machines/escrow.json"));
43
+ exports.CONTRACT_DEFINITIONS = {
44
+ Contract: contract_json_1.default,
45
+ Escrow: escrow_json_1.default,
46
+ };
47
+ /**
48
+ * Get the contract state machine definition.
49
+ */
50
+ function getContractDefinition() {
51
+ return contract_json_1.default;
52
+ }
53
+ exports.getContractDefinition = getContractDefinition;
54
+ /**
55
+ * Get the escrow state machine definition.
56
+ */
57
+ function getEscrowDefinition() {
58
+ return escrow_json_1.default;
59
+ }
60
+ exports.getEscrowDefinition = getEscrowDefinition;