@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,751 @@
1
+ {
2
+ "$schema": "https://ottochain.dev/schemas/state-machine-v1.json",
3
+ "name": "corporate-bylaws",
4
+ "version": "1.0.0",
5
+ "category": "corporate-governance",
6
+ "description": "Bylaws state machine tracking the adoption, amendment, and restatement of corporate bylaws. Maintains version history and amendment requirements.",
7
+ "context": {
8
+ "bylawsId": {
9
+ "type": "string",
10
+ "description": "Unique identifier for this bylaws instance"
11
+ },
12
+ "entityId": {
13
+ "type": "string",
14
+ "description": "Reference to parent corporate-entity"
15
+ },
16
+ "currentVersion": {
17
+ "type": "string",
18
+ "description": "Current version number (semantic versioning)"
19
+ },
20
+ "originalAdoptionDate": {
21
+ "type": "string",
22
+ "format": "date"
23
+ },
24
+ "lastAmendedDate": {
25
+ "type": "string",
26
+ "format": "date",
27
+ "nullable": true
28
+ },
29
+ "documentRef": {
30
+ "type": "string",
31
+ "description": "Reference to current bylaws document"
32
+ },
33
+ "sections": {
34
+ "type": "array",
35
+ "description": "Bylaws organized by section",
36
+ "items": {
37
+ "type": "object",
38
+ "properties": {
39
+ "sectionId": {
40
+ "type": "string"
41
+ },
42
+ "sectionNumber": {
43
+ "type": "string",
44
+ "description": "e.g., 'Article III, Section 2'"
45
+ },
46
+ "title": {
47
+ "type": "string"
48
+ },
49
+ "content": {
50
+ "type": "string"
51
+ },
52
+ "amendmentRequirement": {
53
+ "type": "string",
54
+ "enum": [
55
+ "BOARD_ONLY",
56
+ "BOARD_OR_SHAREHOLDERS",
57
+ "SHAREHOLDERS_ONLY",
58
+ "SUPERMAJORITY_SHAREHOLDERS"
59
+ ],
60
+ "description": "Who can amend this section"
61
+ },
62
+ "supermajorityThreshold": {
63
+ "type": "number",
64
+ "nullable": true
65
+ },
66
+ "lastModifiedVersion": {
67
+ "type": "string"
68
+ }
69
+ }
70
+ }
71
+ },
72
+ "keyProvisions": {
73
+ "type": "object",
74
+ "description": "Quick reference to key bylaw provisions",
75
+ "properties": {
76
+ "boardSize": {
77
+ "type": "object",
78
+ "properties": {
79
+ "minimum": {
80
+ "type": "integer"
81
+ },
82
+ "maximum": {
83
+ "type": "integer"
84
+ },
85
+ "sectionRef": {
86
+ "type": "string"
87
+ }
88
+ }
89
+ },
90
+ "quorumRequirements": {
91
+ "type": "object",
92
+ "properties": {
93
+ "boardQuorum": {
94
+ "type": "number"
95
+ },
96
+ "shareholderQuorum": {
97
+ "type": "number"
98
+ },
99
+ "sectionRef": {
100
+ "type": "string"
101
+ }
102
+ }
103
+ },
104
+ "meetingNotice": {
105
+ "type": "object",
106
+ "properties": {
107
+ "annualMeetingNotice": {
108
+ "type": "integer",
109
+ "description": "Days of notice required"
110
+ },
111
+ "specialMeetingNotice": {
112
+ "type": "integer"
113
+ },
114
+ "boardMeetingNotice": {
115
+ "type": "integer"
116
+ },
117
+ "sectionRef": {
118
+ "type": "string"
119
+ }
120
+ }
121
+ },
122
+ "indemnification": {
123
+ "type": "object",
124
+ "properties": {
125
+ "directorsIndemnified": {
126
+ "type": "boolean"
127
+ },
128
+ "officersIndemnified": {
129
+ "type": "boolean"
130
+ },
131
+ "mandatory": {
132
+ "type": "boolean"
133
+ },
134
+ "advancementOfExpenses": {
135
+ "type": "boolean"
136
+ },
137
+ "sectionRef": {
138
+ "type": "string"
139
+ }
140
+ }
141
+ },
142
+ "specialMeetingThreshold": {
143
+ "type": "object",
144
+ "properties": {
145
+ "boardCanCall": {
146
+ "type": "boolean"
147
+ },
148
+ "shareholderThreshold": {
149
+ "type": "number",
150
+ "description": "% of shares to call special meeting"
151
+ },
152
+ "sectionRef": {
153
+ "type": "string"
154
+ }
155
+ }
156
+ }
157
+ }
158
+ },
159
+ "pendingAmendment": {
160
+ "type": "object",
161
+ "nullable": true,
162
+ "properties": {
163
+ "amendmentId": {
164
+ "type": "string"
165
+ },
166
+ "description": {
167
+ "type": "string"
168
+ },
169
+ "proposedBy": {
170
+ "type": "string"
171
+ },
172
+ "proposedDate": {
173
+ "type": "string",
174
+ "format": "date"
175
+ },
176
+ "sectionsAffected": {
177
+ "type": "array",
178
+ "items": {
179
+ "type": "string"
180
+ }
181
+ },
182
+ "proposedChanges": {
183
+ "type": "array",
184
+ "items": {
185
+ "type": "object"
186
+ }
187
+ },
188
+ "approvalRequired": {
189
+ "type": "string"
190
+ },
191
+ "boardApprovalRef": {
192
+ "type": "string",
193
+ "nullable": true
194
+ },
195
+ "shareholderApprovalRef": {
196
+ "type": "string",
197
+ "nullable": true
198
+ },
199
+ "status": {
200
+ "type": "string",
201
+ "enum": [
202
+ "PROPOSED",
203
+ "BOARD_APPROVED",
204
+ "SHAREHOLDER_APPROVED",
205
+ "REJECTED"
206
+ ]
207
+ }
208
+ }
209
+ },
210
+ "amendmentHistory": {
211
+ "type": "array",
212
+ "items": {
213
+ "type": "object",
214
+ "properties": {
215
+ "amendmentId": {
216
+ "type": "string"
217
+ },
218
+ "version": {
219
+ "type": "string"
220
+ },
221
+ "description": {
222
+ "type": "string"
223
+ },
224
+ "sectionsAffected": {
225
+ "type": "array",
226
+ "items": {
227
+ "type": "string"
228
+ }
229
+ },
230
+ "effectiveDate": {
231
+ "type": "string",
232
+ "format": "date"
233
+ },
234
+ "approvedBy": {
235
+ "type": "string",
236
+ "enum": [
237
+ "BOARD",
238
+ "SHAREHOLDERS",
239
+ "BOTH"
240
+ ]
241
+ },
242
+ "boardResolutionRef": {
243
+ "type": "string",
244
+ "nullable": true
245
+ },
246
+ "shareholderResolutionRef": {
247
+ "type": "string",
248
+ "nullable": true
249
+ },
250
+ "documentRef": {
251
+ "type": "string"
252
+ }
253
+ }
254
+ }
255
+ },
256
+ "createdAt": {
257
+ "type": "string",
258
+ "format": "date-time"
259
+ },
260
+ "updatedAt": {
261
+ "type": "string",
262
+ "format": "date-time"
263
+ }
264
+ },
265
+ "states": {
266
+ "DRAFT": {
267
+ "description": "Initial bylaws being drafted prior to incorporation or adoption",
268
+ "metadata": null
269
+ },
270
+ "ADOPTED": {
271
+ "description": "Bylaws have been formally adopted and are in effect",
272
+ "metadata": null
273
+ },
274
+ "AMENDING": {
275
+ "description": "Amendment in progress - proposed changes pending approval",
276
+ "metadata": null
277
+ }
278
+ },
279
+ "initialState": "DRAFT",
280
+ "transitions": {
281
+ "adopt": {
282
+ "from": "DRAFT",
283
+ "to": "ADOPTED",
284
+ "description": "Initial adoption of bylaws (typically by incorporators or initial board)",
285
+ "event": {
286
+ "name": "adopt",
287
+ "payload": {
288
+ "adoptionDate": {
289
+ "type": "string",
290
+ "format": "date",
291
+ "required": true
292
+ },
293
+ "adoptedBy": {
294
+ "type": "string",
295
+ "enum": [
296
+ "INCORPORATORS",
297
+ "INITIAL_BOARD"
298
+ ],
299
+ "required": true
300
+ },
301
+ "resolutionRef": {
302
+ "type": "string",
303
+ "required": true
304
+ },
305
+ "documentRef": {
306
+ "type": "string",
307
+ "required": true
308
+ },
309
+ "sections": {
310
+ "type": "array",
311
+ "required": true
312
+ },
313
+ "keyProvisions": {
314
+ "type": "object"
315
+ }
316
+ }
317
+ },
318
+ "effects": [
319
+ {
320
+ "type": "SET_CONTEXT",
321
+ "path": "currentVersion",
322
+ "value": "1.0.0"
323
+ },
324
+ {
325
+ "type": "SET_CONTEXT",
326
+ "path": "originalAdoptionDate",
327
+ "value": "{{ event.adoptionDate }}"
328
+ },
329
+ {
330
+ "type": "SET_CONTEXT",
331
+ "path": "documentRef",
332
+ "value": "{{ event.documentRef }}"
333
+ },
334
+ {
335
+ "type": "SET_CONTEXT",
336
+ "path": "sections",
337
+ "value": "{{ event.sections }}"
338
+ },
339
+ {
340
+ "type": "SET_CONTEXT",
341
+ "path": "keyProvisions",
342
+ "value": "{{ event.keyProvisions }}"
343
+ },
344
+ {
345
+ "type": "EMIT_EVENT",
346
+ "eventType": "BYLAWS_ADOPTED",
347
+ "payload": {
348
+ "entityId": "{{ context.entityId }}",
349
+ "bylawsId": "{{ context.bylawsId }}",
350
+ "version": "1.0.0"
351
+ }
352
+ }
353
+ ]
354
+ },
355
+ "propose_amendment": {
356
+ "from": "ADOPTED",
357
+ "to": "AMENDING",
358
+ "description": "Propose an amendment to the bylaws",
359
+ "event": {
360
+ "name": "propose_amendment",
361
+ "payload": {
362
+ "amendmentId": {
363
+ "type": "string",
364
+ "required": true
365
+ },
366
+ "description": {
367
+ "type": "string",
368
+ "required": true
369
+ },
370
+ "proposedBy": {
371
+ "type": "string",
372
+ "required": true,
373
+ "description": "Director ID, officer ID, or SHAREHOLDER_PROPOSAL"
374
+ },
375
+ "sectionsAffected": {
376
+ "type": "array",
377
+ "items": {
378
+ "type": "string"
379
+ },
380
+ "required": true
381
+ },
382
+ "proposedChanges": {
383
+ "type": "array",
384
+ "required": true,
385
+ "items": {
386
+ "type": "object",
387
+ "properties": {
388
+ "sectionId": {
389
+ "type": "string"
390
+ },
391
+ "changeType": {
392
+ "type": "string",
393
+ "enum": [
394
+ "MODIFY",
395
+ "ADD",
396
+ "DELETE"
397
+ ]
398
+ },
399
+ "currentContent": {
400
+ "type": "string"
401
+ },
402
+ "proposedContent": {
403
+ "type": "string"
404
+ }
405
+ }
406
+ }
407
+ }
408
+ }
409
+ },
410
+ "guards": [
411
+ {
412
+ "name": "validProposer",
413
+ "description": "Amendment must be proposed by authorized party",
414
+ "expression": "true"
415
+ }
416
+ ],
417
+ "effects": [
418
+ {
419
+ "type": "COMPUTE",
420
+ "path": "pendingAmendment.approvalRequired",
421
+ "expression": "context.sections.filter(s => event.sectionsAffected.includes(s.sectionId)).some(s => s.amendmentRequirement === 'SHAREHOLDERS_ONLY' || s.amendmentRequirement === 'SUPERMAJORITY_SHAREHOLDERS') ? 'SHAREHOLDERS_REQUIRED' : 'BOARD_ONLY'"
422
+ },
423
+ {
424
+ "type": "SET_CONTEXT",
425
+ "path": "pendingAmendment",
426
+ "value": {
427
+ "amendmentId": "{{ event.amendmentId }}",
428
+ "description": "{{ event.description }}",
429
+ "proposedBy": "{{ event.proposedBy }}",
430
+ "proposedDate": "{{ today() }}",
431
+ "sectionsAffected": "{{ event.sectionsAffected }}",
432
+ "proposedChanges": "{{ event.proposedChanges }}",
433
+ "status": "PROPOSED"
434
+ }
435
+ },
436
+ {
437
+ "type": "EMIT_EVENT",
438
+ "eventType": "BYLAW_AMENDMENT_PROPOSED",
439
+ "payload": {
440
+ "entityId": "{{ context.entityId }}",
441
+ "amendmentId": "{{ event.amendmentId }}",
442
+ "sectionsAffected": "{{ event.sectionsAffected }}"
443
+ }
444
+ }
445
+ ]
446
+ },
447
+ "board_approve_amendment": {
448
+ "from": "AMENDING",
449
+ "to": "AMENDING",
450
+ "description": "Board approves the proposed amendment",
451
+ "event": {
452
+ "name": "board_approve_amendment",
453
+ "payload": {
454
+ "resolutionRef": {
455
+ "type": "string",
456
+ "required": true
457
+ },
458
+ "approvalDate": {
459
+ "type": "string",
460
+ "format": "date",
461
+ "required": true
462
+ }
463
+ }
464
+ },
465
+ "guards": [
466
+ {
467
+ "name": "hasPendingAmendment",
468
+ "expression": "context.pendingAmendment != null && context.pendingAmendment.status === 'PROPOSED'"
469
+ },
470
+ {
471
+ "name": "boardResolutionExecuted",
472
+ "crossMachine": {
473
+ "machine": "corporate-resolution",
474
+ "instanceRef": "{{ event.resolutionRef }}",
475
+ "requiredState": "EXECUTED"
476
+ }
477
+ }
478
+ ],
479
+ "effects": [
480
+ {
481
+ "type": "SET_CONTEXT",
482
+ "path": "pendingAmendment.boardApprovalRef",
483
+ "value": "{{ event.resolutionRef }}"
484
+ },
485
+ {
486
+ "type": "SET_CONTEXT",
487
+ "path": "pendingAmendment.status",
488
+ "value": "BOARD_APPROVED"
489
+ }
490
+ ]
491
+ },
492
+ "approve_amendment": {
493
+ "from": "AMENDING",
494
+ "to": "ADOPTED",
495
+ "description": "Finalize and approve the amendment (after required approvals obtained)",
496
+ "event": {
497
+ "name": "approve_amendment",
498
+ "payload": {
499
+ "effectiveDate": {
500
+ "type": "string",
501
+ "format": "date",
502
+ "required": true
503
+ },
504
+ "shareholderResolutionRef": {
505
+ "type": "string",
506
+ "description": "Required if shareholders must approve"
507
+ },
508
+ "newDocumentRef": {
509
+ "type": "string",
510
+ "required": true
511
+ }
512
+ }
513
+ },
514
+ "guards": [
515
+ {
516
+ "name": "boardApproved",
517
+ "description": "Board must have approved",
518
+ "expression": "context.pendingAmendment.boardApprovalRef != null"
519
+ },
520
+ {
521
+ "name": "shareholderApprovedIfRequired",
522
+ "description": "If shareholder approval required, must have it",
523
+ "expression": "context.pendingAmendment.approvalRequired !== 'SHAREHOLDERS_REQUIRED' || event.shareholderResolutionRef != null"
524
+ }
525
+ ],
526
+ "effects": [
527
+ {
528
+ "type": "COMPUTE",
529
+ "path": "currentVersion",
530
+ "expression": "(parseFloat(context.currentVersion) + 0.1).toFixed(1) + '.0'"
531
+ },
532
+ {
533
+ "type": "SET_CONTEXT",
534
+ "path": "lastAmendedDate",
535
+ "value": "{{ event.effectiveDate }}"
536
+ },
537
+ {
538
+ "type": "SET_CONTEXT",
539
+ "path": "documentRef",
540
+ "value": "{{ event.newDocumentRef }}"
541
+ },
542
+ {
543
+ "type": "FOR_EACH",
544
+ "array": "{{ context.pendingAmendment.proposedChanges }}",
545
+ "do": {
546
+ "type": "UPDATE_ARRAY_ITEM",
547
+ "path": "sections",
548
+ "matchKey": "sectionId",
549
+ "matchValue": "{{ item.sectionId }}",
550
+ "updates": {
551
+ "content": "{{ item.proposedContent }}",
552
+ "lastModifiedVersion": "{{ context.currentVersion }}"
553
+ }
554
+ }
555
+ },
556
+ {
557
+ "type": "APPEND_ARRAY",
558
+ "path": "amendmentHistory",
559
+ "value": {
560
+ "amendmentId": "{{ context.pendingAmendment.amendmentId }}",
561
+ "version": "{{ context.currentVersion }}",
562
+ "description": "{{ context.pendingAmendment.description }}",
563
+ "sectionsAffected": "{{ context.pendingAmendment.sectionsAffected }}",
564
+ "effectiveDate": "{{ event.effectiveDate }}",
565
+ "approvedBy": "{{ event.shareholderResolutionRef ? 'BOTH' : 'BOARD' }}",
566
+ "boardResolutionRef": "{{ context.pendingAmendment.boardApprovalRef }}",
567
+ "shareholderResolutionRef": "{{ event.shareholderResolutionRef }}",
568
+ "documentRef": "{{ event.newDocumentRef }}"
569
+ }
570
+ },
571
+ {
572
+ "type": "SET_CONTEXT",
573
+ "path": "pendingAmendment",
574
+ "value": null
575
+ },
576
+ {
577
+ "type": "EMIT_EVENT",
578
+ "eventType": "BYLAWS_AMENDED",
579
+ "payload": {
580
+ "entityId": "{{ context.entityId }}",
581
+ "bylawsId": "{{ context.bylawsId }}",
582
+ "newVersion": "{{ context.currentVersion }}",
583
+ "effectiveDate": "{{ event.effectiveDate }}"
584
+ }
585
+ }
586
+ ]
587
+ },
588
+ "reject_amendment": {
589
+ "from": "AMENDING",
590
+ "to": "ADOPTED",
591
+ "description": "Amendment rejected by board or shareholders",
592
+ "event": {
593
+ "name": "reject_amendment",
594
+ "payload": {
595
+ "rejectedBy": {
596
+ "type": "string",
597
+ "enum": [
598
+ "BOARD",
599
+ "SHAREHOLDERS"
600
+ ],
601
+ "required": true
602
+ },
603
+ "reason": {
604
+ "type": "string"
605
+ }
606
+ }
607
+ },
608
+ "effects": [
609
+ {
610
+ "type": "SET_CONTEXT",
611
+ "path": "pendingAmendment.status",
612
+ "value": "REJECTED"
613
+ },
614
+ {
615
+ "type": "EMIT_EVENT",
616
+ "eventType": "BYLAW_AMENDMENT_REJECTED",
617
+ "payload": {
618
+ "entityId": "{{ context.entityId }}",
619
+ "amendmentId": "{{ context.pendingAmendment.amendmentId }}",
620
+ "rejectedBy": "{{ event.rejectedBy }}"
621
+ }
622
+ },
623
+ {
624
+ "type": "SET_CONTEXT",
625
+ "path": "pendingAmendment",
626
+ "value": null
627
+ }
628
+ ]
629
+ },
630
+ "restate": {
631
+ "from": "ADOPTED",
632
+ "to": "ADOPTED",
633
+ "description": "Complete restatement of bylaws (consolidating all amendments)",
634
+ "event": {
635
+ "name": "restate",
636
+ "payload": {
637
+ "restatedDate": {
638
+ "type": "string",
639
+ "format": "date",
640
+ "required": true
641
+ },
642
+ "boardResolutionRef": {
643
+ "type": "string",
644
+ "required": true
645
+ },
646
+ "newDocumentRef": {
647
+ "type": "string",
648
+ "required": true
649
+ },
650
+ "sections": {
651
+ "type": "array",
652
+ "required": true
653
+ },
654
+ "keyProvisions": {
655
+ "type": "object"
656
+ }
657
+ }
658
+ },
659
+ "guards": [
660
+ {
661
+ "name": "boardApproved",
662
+ "crossMachine": {
663
+ "machine": "corporate-resolution",
664
+ "instanceRef": "{{ event.boardResolutionRef }}",
665
+ "requiredState": "EXECUTED"
666
+ }
667
+ }
668
+ ],
669
+ "effects": [
670
+ {
671
+ "type": "COMPUTE",
672
+ "path": "currentVersion",
673
+ "expression": "(Math.floor(parseFloat(context.currentVersion)) + 1).toString() + '.0.0'"
674
+ },
675
+ {
676
+ "type": "SET_CONTEXT",
677
+ "path": "lastAmendedDate",
678
+ "value": "{{ event.restatedDate }}"
679
+ },
680
+ {
681
+ "type": "SET_CONTEXT",
682
+ "path": "documentRef",
683
+ "value": "{{ event.newDocumentRef }}"
684
+ },
685
+ {
686
+ "type": "SET_CONTEXT",
687
+ "path": "sections",
688
+ "value": "{{ event.sections }}"
689
+ },
690
+ {
691
+ "type": "SET_CONTEXT",
692
+ "path": "keyProvisions",
693
+ "value": "{{ event.keyProvisions }}"
694
+ },
695
+ {
696
+ "type": "APPEND_ARRAY",
697
+ "path": "amendmentHistory",
698
+ "value": {
699
+ "amendmentId": "RESTATEMENT-{{ event.restatedDate }}",
700
+ "version": "{{ context.currentVersion }}",
701
+ "description": "Complete Restatement of Bylaws",
702
+ "sectionsAffected": [
703
+ "ALL"
704
+ ],
705
+ "effectiveDate": "{{ event.restatedDate }}",
706
+ "approvedBy": "BOARD",
707
+ "boardResolutionRef": "{{ event.boardResolutionRef }}",
708
+ "documentRef": "{{ event.newDocumentRef }}"
709
+ }
710
+ },
711
+ {
712
+ "type": "EMIT_EVENT",
713
+ "eventType": "BYLAWS_RESTATED",
714
+ "payload": {
715
+ "entityId": "{{ context.entityId }}",
716
+ "bylawsId": "{{ context.bylawsId }}",
717
+ "newVersion": "{{ context.currentVersion }}"
718
+ }
719
+ }
720
+ ]
721
+ }
722
+ },
723
+ "crossMachineRefs": {
724
+ "entity": {
725
+ "machine": "corporate-entity",
726
+ "description": "Parent corporate entity",
727
+ "foreignKey": "entityId"
728
+ },
729
+ "board": {
730
+ "machine": "corporate-board",
731
+ "description": "Board that can amend bylaws",
732
+ "foreignKey": "entityId"
733
+ },
734
+ "shareholders": {
735
+ "machine": "corporate-shareholders",
736
+ "description": "Shareholders for bylaw amendments requiring shareholder approval",
737
+ "foreignKey": "entityId"
738
+ }
739
+ },
740
+ "metadata": {
741
+ "author": "OttoChain",
742
+ "license": "MIT",
743
+ "tags": [
744
+ "corporate",
745
+ "governance",
746
+ "bylaws",
747
+ "amendments"
748
+ ],
749
+ "documentation": "https://ottochain.dev/docs/corporate/bylaws"
750
+ }
751
+ }