@openzeppelin/miden-multisig-client 0.13.0 → 0.13.2

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 (273) hide show
  1. package/README.md +98 -119
  2. package/dist/account/builder.d.ts +18 -0
  3. package/dist/account/builder.d.ts.map +1 -1
  4. package/dist/account/builder.js +59 -29
  5. package/dist/account/builder.js.map +1 -1
  6. package/dist/account/builder.test.d.ts +2 -0
  7. package/dist/account/builder.test.d.ts.map +1 -0
  8. package/dist/account/builder.test.js +115 -0
  9. package/dist/account/builder.test.js.map +1 -0
  10. package/dist/account/index.d.ts +1 -1
  11. package/dist/account/index.d.ts.map +1 -1
  12. package/dist/account/index.js +1 -1
  13. package/dist/account/index.js.map +1 -1
  14. package/dist/account/masm/account-components/auth.d.ts +5 -0
  15. package/dist/account/masm/account-components/auth.d.ts.map +1 -0
  16. package/dist/account/masm/account-components/auth.js +67 -0
  17. package/dist/account/masm/account-components/auth.js.map +1 -0
  18. package/dist/account/masm/auth.d.ts +5 -0
  19. package/dist/account/masm/auth.d.ts.map +1 -0
  20. package/dist/account/masm/auth.js +1395 -0
  21. package/dist/account/masm/auth.js.map +1 -0
  22. package/dist/account/masm/index.d.ts +3 -0
  23. package/dist/account/masm/index.d.ts.map +1 -0
  24. package/dist/account/masm/index.js +5 -0
  25. package/dist/account/masm/index.js.map +1 -0
  26. package/dist/account/masm.d.ts +1 -4
  27. package/dist/account/masm.d.ts.map +1 -1
  28. package/dist/account/masm.js +3 -1034
  29. package/dist/account/masm.js.map +1 -1
  30. package/dist/account/storage.d.ts +2 -2
  31. package/dist/account/storage.d.ts.map +1 -1
  32. package/dist/account/storage.js +18 -16
  33. package/dist/account/storage.js.map +1 -1
  34. package/dist/client.d.ts +67 -9
  35. package/dist/client.d.ts.map +1 -1
  36. package/dist/client.js +73 -22
  37. package/dist/client.js.map +1 -1
  38. package/dist/client.test.js +31 -32
  39. package/dist/client.test.js.map +1 -1
  40. package/dist/index.d.ts +54 -12
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +53 -9
  43. package/dist/index.js.map +1 -1
  44. package/dist/inspector.d.ts +32 -6
  45. package/dist/inspector.d.ts.map +1 -1
  46. package/dist/inspector.js +58 -23
  47. package/dist/inspector.js.map +1 -1
  48. package/dist/inspector.test.js +18 -18
  49. package/dist/inspector.test.js.map +1 -1
  50. package/dist/multisig/proposal/execution.d.ts +6 -5
  51. package/dist/multisig/proposal/execution.d.ts.map +1 -1
  52. package/dist/multisig/proposal/execution.js +49 -27
  53. package/dist/multisig/proposal/execution.js.map +1 -1
  54. package/dist/multisig/proposal/parser.d.ts +3 -3
  55. package/dist/multisig/proposal/parser.d.ts.map +1 -1
  56. package/dist/multisig/proposal/parser.js +23 -23
  57. package/dist/multisig/proposal/parser.js.map +1 -1
  58. package/dist/multisig/signing.d.ts +3 -3
  59. package/dist/multisig/signing.d.ts.map +1 -1
  60. package/dist/multisig/signing.js +3 -3
  61. package/dist/multisig/signing.js.map +1 -1
  62. package/dist/multisig.d.ts +187 -46
  63. package/dist/multisig.d.ts.map +1 -1
  64. package/dist/multisig.js +650 -289
  65. package/dist/multisig.js.map +1 -1
  66. package/dist/multisig.test.js +1680 -241
  67. package/dist/multisig.test.js.map +1 -1
  68. package/dist/procedures.d.ts +46 -24
  69. package/dist/procedures.d.ts.map +1 -1
  70. package/dist/procedures.js +46 -21
  71. package/dist/procedures.js.map +1 -1
  72. package/dist/proposal/factory.d.ts +18 -0
  73. package/dist/proposal/factory.d.ts.map +1 -0
  74. package/dist/proposal/factory.js +99 -0
  75. package/dist/proposal/factory.js.map +1 -0
  76. package/dist/proposal/metadata.d.ts +8 -0
  77. package/dist/proposal/metadata.d.ts.map +1 -0
  78. package/dist/proposal/metadata.js +156 -0
  79. package/dist/proposal/metadata.js.map +1 -0
  80. package/dist/proposal/signatures.d.ts +10 -0
  81. package/dist/proposal/signatures.d.ts.map +1 -0
  82. package/dist/proposal/signatures.js +54 -0
  83. package/dist/proposal/signatures.js.map +1 -0
  84. package/dist/signer.d.ts +2 -0
  85. package/dist/signer.d.ts.map +1 -1
  86. package/dist/signer.js +2 -0
  87. package/dist/signer.js.map +1 -1
  88. package/dist/signers/ecdsa.d.ts +3 -0
  89. package/dist/signers/ecdsa.d.ts.map +1 -1
  90. package/dist/signers/ecdsa.js +8 -4
  91. package/dist/signers/ecdsa.js.map +1 -1
  92. package/dist/signers/ecdsa.test.d.ts +2 -0
  93. package/dist/signers/ecdsa.test.d.ts.map +1 -0
  94. package/dist/signers/ecdsa.test.js +65 -0
  95. package/dist/signers/ecdsa.test.js.map +1 -0
  96. package/dist/signers/falcon.d.ts +3 -0
  97. package/dist/signers/falcon.d.ts.map +1 -1
  98. package/dist/signers/falcon.js +8 -4
  99. package/dist/signers/falcon.js.map +1 -1
  100. package/dist/signers/falcon.test.js +12 -0
  101. package/dist/signers/falcon.test.js.map +1 -1
  102. package/dist/signers/miden-wallet.d.ts +3 -1
  103. package/dist/signers/miden-wallet.d.ts.map +1 -1
  104. package/dist/signers/miden-wallet.js +11 -2
  105. package/dist/signers/miden-wallet.js.map +1 -1
  106. package/dist/signers/miden-wallet.test.js +26 -0
  107. package/dist/signers/miden-wallet.test.js.map +1 -1
  108. package/dist/signers/para.d.ts +3 -3
  109. package/dist/signers/para.d.ts.map +1 -1
  110. package/dist/signers/para.js +15 -6
  111. package/dist/signers/para.js.map +1 -1
  112. package/dist/signers/para.test.js +39 -0
  113. package/dist/signers/para.test.js.map +1 -1
  114. package/dist/transaction/consumeNotes.d.ts.map +1 -1
  115. package/dist/transaction/consumeNotes.js +1 -0
  116. package/dist/transaction/consumeNotes.js.map +1 -1
  117. package/dist/transaction/index.d.ts +2 -1
  118. package/dist/transaction/index.d.ts.map +1 -1
  119. package/dist/transaction/index.js +2 -1
  120. package/dist/transaction/index.js.map +1 -1
  121. package/dist/transaction/options.d.ts +1 -1
  122. package/dist/transaction/options.d.ts.map +1 -1
  123. package/dist/transaction/p2id.d.ts +1 -0
  124. package/dist/transaction/p2id.d.ts.map +1 -1
  125. package/dist/transaction/p2id.js +9 -3
  126. package/dist/transaction/p2id.js.map +1 -1
  127. package/dist/transaction/p2id.test.d.ts +2 -0
  128. package/dist/transaction/p2id.test.d.ts.map +1 -0
  129. package/dist/transaction/p2id.test.js +138 -0
  130. package/dist/transaction/p2id.test.js.map +1 -0
  131. package/dist/transaction/rpoRandomCoin.d.ts +7 -0
  132. package/dist/transaction/rpoRandomCoin.d.ts.map +1 -0
  133. package/dist/transaction/rpoRandomCoin.js +17 -0
  134. package/dist/transaction/rpoRandomCoin.js.map +1 -0
  135. package/dist/transaction/rpoRandomCoin.test.d.ts +2 -0
  136. package/dist/transaction/rpoRandomCoin.test.d.ts.map +1 -0
  137. package/dist/transaction/rpoRandomCoin.test.js +52 -0
  138. package/dist/transaction/rpoRandomCoin.test.js.map +1 -0
  139. package/dist/transaction/updateGuardian.d.ts +7 -0
  140. package/dist/transaction/updateGuardian.d.ts.map +1 -0
  141. package/dist/transaction/{updatePsm.js → updateGuardian.js} +15 -29
  142. package/dist/transaction/updateGuardian.js.map +1 -0
  143. package/dist/transaction/updateProcedureThreshold.d.ts +9 -0
  144. package/dist/transaction/updateProcedureThreshold.d.ts.map +1 -0
  145. package/dist/transaction/updateProcedureThreshold.js +55 -0
  146. package/dist/transaction/updateProcedureThreshold.js.map +1 -0
  147. package/dist/transaction/updateSigners.d.ts.map +1 -1
  148. package/dist/transaction/updateSigners.js +5 -23
  149. package/dist/transaction/updateSigners.js.map +1 -1
  150. package/dist/transaction.d.ts +2 -1
  151. package/dist/transaction.d.ts.map +1 -1
  152. package/dist/transaction.js +2 -1
  153. package/dist/transaction.js.map +1 -1
  154. package/dist/types/proposal.d.ts +32 -15
  155. package/dist/types/proposal.d.ts.map +1 -1
  156. package/dist/types.d.ts +24 -7
  157. package/dist/types.d.ts.map +1 -1
  158. package/dist/utils/digest.d.ts +5 -0
  159. package/dist/utils/digest.d.ts.map +1 -1
  160. package/dist/utils/digest.js +34 -1
  161. package/dist/utils/digest.js.map +1 -1
  162. package/dist/utils/digest.test.d.ts +2 -0
  163. package/dist/utils/digest.test.d.ts.map +1 -0
  164. package/dist/utils/digest.test.js +48 -0
  165. package/dist/utils/digest.test.js.map +1 -0
  166. package/dist/utils/signature.d.ts +3 -1
  167. package/dist/utils/signature.d.ts.map +1 -1
  168. package/dist/utils/signature.js +31 -6
  169. package/dist/utils/signature.js.map +1 -1
  170. package/dist/utils/word.test.js +1 -52
  171. package/dist/utils/word.test.js.map +1 -1
  172. package/masm/account_components/auth/multisig.masm +13 -0
  173. package/masm/account_components/auth/multisig_ecdsa.masm +13 -0
  174. package/masm/account_components/auth/multisig_guardian.masm +17 -0
  175. package/masm/account_components/auth/multisig_guardian_ecdsa.masm +17 -0
  176. package/masm/auth/guardian.masm +177 -0
  177. package/masm/auth/guardian_ecdsa.masm +178 -0
  178. package/masm/{multisig.masm → auth/multisig.masm} +149 -55
  179. package/masm/{multisig_ecdsa.masm → auth/multisig_ecdsa.masm} +148 -56
  180. package/package.json +11 -9
  181. package/src/account/builder.test.ts +165 -0
  182. package/src/account/builder.ts +71 -34
  183. package/src/account/index.ts +1 -1
  184. package/src/account/masm/account-components/auth.ts +70 -0
  185. package/src/account/masm/auth.ts +1398 -0
  186. package/src/account/masm/index.ts +5 -0
  187. package/src/account/masm.ts +3 -1040
  188. package/src/account/storage.ts +18 -16
  189. package/src/client.test.ts +31 -35
  190. package/src/client.ts +98 -26
  191. package/src/index.ts +84 -22
  192. package/src/inspector.test.ts +17 -17
  193. package/src/inspector.ts +63 -29
  194. package/src/multisig/proposal/execution.ts +102 -41
  195. package/src/multisig/proposal/parser.ts +26 -26
  196. package/src/multisig/signing.ts +4 -4
  197. package/src/multisig.test.ts +2097 -248
  198. package/src/multisig.ts +882 -365
  199. package/src/procedures.ts +50 -26
  200. package/src/proposal/factory.ts +171 -0
  201. package/src/proposal/metadata.ts +165 -0
  202. package/src/proposal/signatures.ts +68 -0
  203. package/src/signer.ts +2 -0
  204. package/src/signers/ecdsa.test.ts +80 -0
  205. package/src/signers/ecdsa.ts +15 -4
  206. package/src/signers/falcon.test.ts +19 -0
  207. package/src/signers/falcon.ts +16 -5
  208. package/src/signers/miden-wallet.test.ts +47 -0
  209. package/src/signers/miden-wallet.ts +18 -1
  210. package/src/signers/para.test.ts +57 -0
  211. package/src/signers/para.ts +26 -7
  212. package/src/transaction/consumeNotes.ts +1 -0
  213. package/src/transaction/index.ts +2 -2
  214. package/src/transaction/options.ts +1 -2
  215. package/src/transaction/p2id.test.ts +190 -0
  216. package/src/transaction/p2id.ts +11 -5
  217. package/src/transaction/rpoRandomCoin.test.ts +64 -0
  218. package/src/transaction/rpoRandomCoin.ts +24 -0
  219. package/src/transaction/{updatePsm.ts → updateGuardian.ts} +19 -32
  220. package/src/transaction/updateProcedureThreshold.ts +97 -0
  221. package/src/transaction/updateSigners.ts +12 -27
  222. package/src/transaction.ts +5 -3
  223. package/src/types/proposal.ts +43 -11
  224. package/src/types.ts +29 -11
  225. package/src/utils/digest.test.ts +55 -0
  226. package/src/utils/digest.ts +51 -1
  227. package/src/utils/signature.ts +47 -9
  228. package/src/utils/word.test.ts +1 -55
  229. package/dist/account.d.ts +0 -104
  230. package/dist/account.d.ts.map +0 -1
  231. package/dist/account.js +0 -136
  232. package/dist/account.js.map +0 -1
  233. package/dist/builder.d.ts +0 -54
  234. package/dist/builder.d.ts.map +0 -1
  235. package/dist/builder.js +0 -78
  236. package/dist/builder.js.map +0 -1
  237. package/dist/http.d.ts +0 -64
  238. package/dist/http.d.ts.map +0 -1
  239. package/dist/http.js +0 -162
  240. package/dist/http.js.map +0 -1
  241. package/dist/keystore.d.ts +0 -65
  242. package/dist/keystore.d.ts.map +0 -1
  243. package/dist/keystore.js +0 -121
  244. package/dist/keystore.js.map +0 -1
  245. package/dist/miden.d.ts +0 -9
  246. package/dist/miden.d.ts.map +0 -1
  247. package/dist/miden.js +0 -26
  248. package/dist/miden.js.map +0 -1
  249. package/dist/multisig/metadata.d.ts +0 -18
  250. package/dist/multisig/metadata.d.ts.map +0 -1
  251. package/dist/multisig/metadata.js +0 -100
  252. package/dist/multisig/metadata.js.map +0 -1
  253. package/dist/multisig/metadata.test.d.ts +0 -2
  254. package/dist/multisig/metadata.test.d.ts.map +0 -1
  255. package/dist/multisig/metadata.test.js +0 -323
  256. package/dist/multisig/metadata.test.js.map +0 -1
  257. package/dist/signer.test.d.ts +0 -2
  258. package/dist/signer.test.d.ts.map +0 -1
  259. package/dist/signer.test.js +0 -117
  260. package/dist/signer.test.js.map +0 -1
  261. package/dist/transaction/updatePsm.d.ts +0 -7
  262. package/dist/transaction/updatePsm.d.ts.map +0 -1
  263. package/dist/transaction/updatePsm.js.map +0 -1
  264. package/dist/transport/http.d.ts +0 -64
  265. package/dist/transport/http.d.ts.map +0 -1
  266. package/dist/transport/http.js +0 -162
  267. package/dist/transport/http.js.map +0 -1
  268. package/dist/transport/index.d.ts +0 -5
  269. package/dist/transport/index.d.ts.map +0 -1
  270. package/dist/transport/index.js +0 -5
  271. package/dist/transport/index.js.map +0 -1
  272. package/masm/psm.masm +0 -178
  273. package/masm/psm_ecdsa.masm +0 -179
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,oCAAoC,EACpC,gCAAgC,EAChC,mCAAmC,EACnC,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE7F,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,UAAU,EACV,yBAAyB,EACzB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,SAAS,EACT,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,MAAM,EACN,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,oCAAoC,EACpC,+CAA+C,EAC/C,qCAAqC,EACrC,mCAAmC,EACnC,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEtF,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAEV,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAGlB,QAAQ,EACR,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,EACnB,4BAA4B,EAC5B,yBAAyB,EAGzB,eAAe,EAGf,cAAc,EACd,SAAS,EAGT,eAAe,EACf,MAAM,EACN,eAAe,EAGf,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,iBAAiB,EAGjB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,14 +1,58 @@
1
+ /**
2
+ * @openzeppelin/miden-multisig-client
3
+ *
4
+ * TypeScript SDK for Miden multisig accounts with Guardian integration.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import {
9
+ * MultisigClient,
10
+ * FalconSigner,
11
+ * } from '@openzeppelin/miden-multisig-client';
12
+ * import { WebClient, SecretKey } from '@miden-sdk/miden-sdk';
13
+ *
14
+ * // Initialize WebClient
15
+ * const webClient = await WebClient.createClient('https://rpc.testnet.miden.io:443');
16
+ * await webClient.syncState();
17
+ *
18
+ * // Generate a key dynamically
19
+ * const seed = new Uint8Array(32);
20
+ * crypto.getRandomValues(seed);
21
+ * const secretKey = SecretKey.rpoFalconWithRNG(seed);
22
+ *
23
+ * // Store in miden-sdk's keystore
24
+ * await webClient.addAccountSecretKeyToWebStore(secretKey);
25
+ *
26
+ * // Create a signer
27
+ * const signer = new FalconSigner(secretKey);
28
+ *
29
+ * // Create multisig client
30
+ * const client = new MultisigClient(webClient, {
31
+ * guardianEndpoint: 'http://localhost:3000',
32
+ * midenRpcEndpoint: 'https://rpc.testnet.miden.io:443',
33
+ * });
34
+ *
35
+ * // Get GUARDIAN pubkey for config
36
+ * const guardianCommitment = await client.guardianClient.getPubkey();
37
+ *
38
+ * // Create multisig account
39
+ * const config = { threshold: 2, signerCommitments: [signer.commitment, ...], guardianCommitment };
40
+ * const multisig = await client.create(config, signer);
41
+ *
42
+ * // Register on GUARDIAN and work with proposals
43
+ * await multisig.registerOnGuardian();
44
+ * await multisig.syncProposals();
45
+ * ```
46
+ */
1
47
  export { MultisigClient } from './client.js';
2
48
  export { Multisig } from './multisig.js';
3
49
  export { AccountInspector } from './inspector.js';
4
- export { executeForSummary, buildUpdateSignersTransactionRequest, buildUpdatePsmTransactionRequest, buildConsumeNotesTransactionRequest, buildP2idTransactionRequest, } from './transaction.js';
5
- export { PsmHttpClient, PsmHttpError } from '@openzeppelin/psm-client';
6
- export { FalconSigner, EcdsaSigner, ParaSigner, MidenWalletSigner } from './signers/index.js';
7
- export { AuthDigest } from './utils/digest.js';
8
- export { EcdsaFormat } from './utils/ecdsa.js';
50
+ export { executeForSummary, buildUpdateSignersTransactionRequest, buildUpdateProcedureThresholdTransactionRequest, buildUpdateGuardianTransactionRequest, buildConsumeNotesTransactionRequest, buildP2idTransactionRequest, } from './transaction.js';
51
+ export { GuardianHttpClient, GuardianHttpError } from '@openzeppelin/guardian-client';
52
+ export { FalconSigner, EcdsaSigner, ParaSigner, MidenWalletSigner, } from './signer.js';
9
53
  export { PublicKeyFormat } from './utils/key.js';
10
- export { wordToBytes } from './utils/word.js';
11
- export { tryComputeEcdsaCommitmentHex, tryComputeCommitmentHex } from './utils/signature.js';
12
- export { createMultisigAccount, validateMultisigConfig, buildMultisigStorageSlots, buildPsmStorageSlots, storageLayoutBuilder, StorageLayoutBuilder, } from './account/index.js';
13
- export { PROCEDURE_ROOTS, PROCEDURE_ROOTS_FALCON, PROCEDURE_ROOTS_ECDSA, getProcedureRoot, isProcedureName, getProcedureNames, } from './procedures.js';
54
+ export { EcdsaFormat } from './utils/ecdsa.js';
55
+ export { tryComputeEcdsaCommitmentHex } from './utils/signature.js';
56
+ export { createMultisigAccount, validateMultisigConfig, buildMultisigStorageSlots, buildGuardianStorageSlots, storageLayoutBuilder, StorageLayoutBuilder, } from './account/index.js';
57
+ export { PROCEDURE_ROOTS, getProcedureRoot, isProcedureName, getProcedureNames, } from './procedures.js';
14
58
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA6B,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAkD,MAAM,gBAAgB,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,oCAAoC,EACpC,gCAAgC,EAChC,mCAAmC,EACnC,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG9F,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE7F,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAElB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,cAAc,EAA6B,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAkD,MAAM,gBAAgB,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,oCAAoC,EACpC,+CAA+C,EAC/C,qCAAqC,EACrC,mCAAmC,EACnC,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEtF,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,iBAAiB,GAGlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAElB,MAAM,iBAAiB,CAAC"}
@@ -1,6 +1,8 @@
1
+ /**
2
+ * Account Inspector - Inspects account storage to detect multisig configuration.
3
+ */
1
4
  import { Account } from '@miden-sdk/miden-sdk';
2
5
  import { type ProcedureName } from './procedures.js';
3
- import type { SignatureScheme } from './types.js';
4
6
  export interface VaultBalance {
5
7
  faucetId: string;
6
8
  amount: bigint;
@@ -9,15 +11,39 @@ export interface DetectedMultisigConfig {
9
11
  threshold: number;
10
12
  numSigners: number;
11
13
  signerCommitments: string[];
12
- psmEnabled: boolean;
13
- psmCommitment: string | null;
14
+ guardianEnabled: boolean;
15
+ guardianCommitment: string | null;
14
16
  vaultBalances: VaultBalance[];
15
17
  procedureThresholds: Map<ProcedureName, number>;
16
- signatureScheme: SignatureScheme;
17
18
  }
19
+ /**
20
+ * Inspects an account to detect its multisig configuration.
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * // From base64-encoded state
25
+ * const config = AccountInspector.fromBase64(stateDataBase64);
26
+ * console.log(`${config.threshold}-of-${config.numSigners} multisig`);
27
+ *
28
+ * // From Miden SDK Account
29
+ * const config = AccountInspector.fromAccount(account);
30
+ * ```
31
+ */
18
32
  export declare class AccountInspector {
19
33
  private constructor();
20
- static fromBase64(base64Data: string, signatureScheme?: SignatureScheme): DetectedMultisigConfig;
21
- static fromAccount(account: Account, signatureScheme?: SignatureScheme): DetectedMultisigConfig;
34
+ /**
35
+ * Inspect a base64-encoded serialized account.
36
+ *
37
+ * @param base64Data - Base64-encoded Account bytes
38
+ * @returns Detected multisig configuration
39
+ */
40
+ static fromBase64(base64Data: string): DetectedMultisigConfig;
41
+ /**
42
+ * Inspect a Miden SDK Account object.
43
+ *
44
+ * @param account - The Account object from Miden SDK
45
+ * @returns Detected multisig configuration
46
+ */
47
+ static fromAccount(account: Account): DetectedMultisigConfig;
22
48
  }
23
49
  //# sourceMappingURL=inspector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../src/inspector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAclD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,mBAAmB,EAAE,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAChD,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,qBAAa,gBAAgB;IAC3B,OAAO;IAEP,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,GAAE,eAA0B,GAAG,sBAAsB;IAM1G,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,GAAE,eAA0B,GAAG,sBAAsB;CA6E1G"}
1
+ {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../src/inspector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAQ,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAe1F,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,mBAAmB,EAAE,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;CACjD;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAgB;IAC3B,OAAO;IAEP;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,sBAAsB;IAM7D;;;;;OAKG;IAEH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,sBAAsB;CAkF7D"}
package/dist/inspector.js CHANGED
@@ -1,25 +1,55 @@
1
+ /**
2
+ * Account Inspector - Inspects account storage to detect multisig configuration.
3
+ */
1
4
  import { Account, Word } from '@miden-sdk/miden-sdk';
2
5
  import { base64ToUint8Array } from './utils/encoding.js';
3
6
  import { wordElementToBigInt, wordToHex } from './utils/word.js';
4
7
  import { getProcedureRoot, getProcedureNames } from './procedures.js';
8
+ // Storage slot names matching the MASM definitions
5
9
  const MULTISIG_SLOT_NAMES = {
6
10
  THRESHOLD_CONFIG: 'openzeppelin::multisig::threshold_config',
7
11
  SIGNER_PUBLIC_KEYS: 'openzeppelin::multisig::signer_public_keys',
8
12
  EXECUTED_TRANSACTIONS: 'openzeppelin::multisig::executed_transactions',
9
13
  PROCEDURE_THRESHOLDS: 'openzeppelin::multisig::procedure_thresholds',
10
14
  };
11
- const PSM_SLOT_NAMES = {
12
- SELECTOR: 'openzeppelin::psm::selector',
13
- PUBLIC_KEY: 'openzeppelin::psm::public_key',
15
+ const GUARDIAN_SLOT_NAMES = {
16
+ SELECTOR: 'openzeppelin::guardian::selector',
17
+ PUBLIC_KEY: 'openzeppelin::guardian::public_key',
14
18
  };
19
+ /**
20
+ * Inspects an account to detect its multisig configuration.
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * // From base64-encoded state
25
+ * const config = AccountInspector.fromBase64(stateDataBase64);
26
+ * console.log(`${config.threshold}-of-${config.numSigners} multisig`);
27
+ *
28
+ * // From Miden SDK Account
29
+ * const config = AccountInspector.fromAccount(account);
30
+ * ```
31
+ */
15
32
  export class AccountInspector {
16
33
  constructor() { }
17
- static fromBase64(base64Data, signatureScheme = 'falcon') {
34
+ /**
35
+ * Inspect a base64-encoded serialized account.
36
+ *
37
+ * @param base64Data - Base64-encoded Account bytes
38
+ * @returns Detected multisig configuration
39
+ */
40
+ static fromBase64(base64Data) {
18
41
  const bytes = base64ToUint8Array(base64Data);
19
42
  const account = Account.deserialize(bytes);
20
- return AccountInspector.fromAccount(account, signatureScheme);
43
+ return AccountInspector.fromAccount(account);
21
44
  }
22
- static fromAccount(account, signatureScheme = 'falcon') {
45
+ /**
46
+ * Inspect a Miden SDK Account object.
47
+ *
48
+ * @param account - The Account object from Miden SDK
49
+ * @returns Detected multisig configuration
50
+ */
51
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
+ static fromAccount(account) {
23
53
  const storage = account.storage();
24
54
  const slot0 = storage.getItem(MULTISIG_SLOT_NAMES.THRESHOLD_CONFIG);
25
55
  const threshold = Number(wordElementToBigInt(slot0, 0));
@@ -33,24 +63,26 @@ export class AccountInspector {
33
63
  signerCommitments.push(wordToHex(commitment));
34
64
  }
35
65
  }
36
- catch {
66
+ catch (error) {
67
+ console.warn(error);
37
68
  }
38
69
  }
39
- let psmEnabled = false;
40
- let psmCommitment = null;
70
+ let guardianEnabled = false;
71
+ let guardianCommitment = null;
41
72
  try {
42
- const psmSlot0 = storage.getItem(PSM_SLOT_NAMES.SELECTOR);
43
- const selector = Number(wordElementToBigInt(psmSlot0, 0));
44
- psmEnabled = selector === 1;
45
- if (psmEnabled) {
73
+ const guardianSlot0 = storage.getItem(GUARDIAN_SLOT_NAMES.SELECTOR);
74
+ const selector = Number(wordElementToBigInt(guardianSlot0, 0));
75
+ guardianEnabled = selector === 1;
76
+ if (guardianEnabled) {
46
77
  const zeroKey = new Word(new BigUint64Array([0n, 0n, 0n, 0n]));
47
- const psmKey = storage.getMapItem(PSM_SLOT_NAMES.PUBLIC_KEY, zeroKey);
48
- if (psmKey) {
49
- psmCommitment = wordToHex(psmKey);
78
+ const guardianKey = storage.getMapItem(GUARDIAN_SLOT_NAMES.PUBLIC_KEY, zeroKey);
79
+ if (guardianKey) {
80
+ guardianCommitment = wordToHex(guardianKey);
50
81
  }
51
82
  }
52
83
  }
53
- catch {
84
+ catch (error) {
85
+ console.warn(error);
54
86
  }
55
87
  const vaultBalances = [];
56
88
  try {
@@ -63,12 +95,15 @@ export class AccountInspector {
63
95
  });
64
96
  }
65
97
  }
66
- catch {
98
+ catch (error) {
99
+ console.warn(error);
67
100
  }
101
+ // Read procedure threshold overrides from storage slot 3
102
+ // Storage layout: slot 3 is a map of PROC_ROOT => [threshold, 0, 0, 0]
68
103
  const procedureThresholds = new Map();
69
- for (const procName of getProcedureNames(signatureScheme)) {
104
+ for (const procName of getProcedureNames()) {
70
105
  try {
71
- const rootHex = getProcedureRoot(procName, signatureScheme);
106
+ const rootHex = getProcedureRoot(procName);
72
107
  const rootWord = Word.fromHex(rootHex);
73
108
  const value = storage.getMapItem(MULTISIG_SLOT_NAMES.PROCEDURE_THRESHOLDS, rootWord);
74
109
  if (value) {
@@ -79,17 +114,17 @@ export class AccountInspector {
79
114
  }
80
115
  }
81
116
  catch {
117
+ // Procedure threshold not set - use default
82
118
  }
83
119
  }
84
120
  return {
85
121
  threshold,
86
122
  numSigners,
87
123
  signerCommitments,
88
- psmEnabled,
89
- psmCommitment,
124
+ guardianEnabled,
125
+ guardianCommitment,
90
126
  vaultBalances,
91
127
  procedureThresholds,
92
- signatureScheme,
93
128
  };
94
129
  }
95
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../src/inspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../src/inspector.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,9 @@ const MULTISIG_SLOT_NAMES = {
7
7
  EXECUTED_TRANSACTIONS: 'openzeppelin::multisig::executed_transactions',
8
8
  PROCEDURE_THRESHOLDS: 'openzeppelin::multisig::procedure_thresholds',
9
9
  };
10
- const PSM_SLOT_NAMES = {
11
- SELECTOR: 'openzeppelin::psm::selector',
12
- PUBLIC_KEY: 'openzeppelin::psm::public_key',
10
+ const GUARDIAN_SLOT_NAMES = {
11
+ SELECTOR: 'openzeppelin::guardian::selector',
12
+ PUBLIC_KEY: 'openzeppelin::guardian::public_key',
13
13
  };
14
14
  // Mock the Miden SDK
15
15
  vi.mock('@miden-sdk/miden-sdk', () => {
@@ -40,21 +40,21 @@ vi.mock('@miden-sdk/miden-sdk', () => {
40
40
  Account: {
41
41
  deserialize: vi.fn((bytes) => {
42
42
  // Return different mocked accounts based on test scenario
43
- // Default: 2-of-3 multisig with PSM enabled
43
+ // Default: 2-of-3 multisig with GUARDIAN enabled
44
44
  const slot0 = createMockWord([2n, 3n, 0n, 0n]); // threshold=2, numSigners=3
45
- const slot4 = createMockWord([1n, 0n, 0n, 0n]); // PSM enabled
45
+ const slot4 = createMockWord([1n, 0n, 0n, 0n]); // GUARDIAN enabled
46
46
  const signerMap = new Map();
47
47
  signerMap.set('0', createMockWord([BigInt('0x1111111111111111'), BigInt('0x2222222222222222'), BigInt('0x3333333333333333'), BigInt('0x4444444444444444')]));
48
48
  signerMap.set('1', createMockWord([BigInt('0x5555555555555555'), BigInt('0x6666666666666666'), BigInt('0x7777777777777777'), BigInt('0x8888888888888888')]));
49
49
  signerMap.set('2', createMockWord([BigInt('0xaaaaaaaaaaaaaaaa'), BigInt('0xbbbbbbbbbbbbbbbb'), BigInt('0xcccccccccccccccc'), BigInt('0xdddddddddddddddd')]));
50
- const psmMap = new Map();
51
- psmMap.set('0', createMockWord([BigInt('0xeeeeeeeeeeeeeeee'), BigInt('0xffffffffffffffff'), BigInt('0x0000000000000001'), BigInt('0x0000000000000002')]));
50
+ const guardianMap = new Map();
51
+ guardianMap.set('0', createMockWord([BigInt('0xeeeeeeeeeeeeeeee'), BigInt('0xffffffffffffffff'), BigInt('0x0000000000000001'), BigInt('0x0000000000000002')]));
52
52
  const slots = new Map();
53
53
  slots.set('openzeppelin::multisig::threshold_config', slot0);
54
- slots.set('openzeppelin::psm::selector', slot4);
54
+ slots.set('openzeppelin::guardian::selector', slot4);
55
55
  const maps = new Map();
56
56
  maps.set('openzeppelin::multisig::signer_public_keys', signerMap);
57
- maps.set('openzeppelin::psm::public_key', psmMap);
57
+ maps.set('openzeppelin::guardian::public_key', guardianMap);
58
58
  return {
59
59
  storage: () => createMockStorage(slots, maps),
60
60
  vault: () => createMockVault([
@@ -81,11 +81,11 @@ describe('AccountInspector', () => {
81
81
  expect(config.threshold).toBe(2);
82
82
  expect(config.numSigners).toBe(3);
83
83
  });
84
- it('extracts PSM status', () => {
84
+ it('extracts GUARDIAN status', () => {
85
85
  const base64 = btoa(String.fromCharCode(...new Uint8Array([1, 2, 3])));
86
86
  const config = AccountInspector.fromBase64(base64);
87
- expect(config.psmEnabled).toBe(true);
88
- expect(config.psmCommitment).toMatch(/^0x[a-f0-9]+$/);
87
+ expect(config.guardianEnabled).toBe(true);
88
+ expect(config.guardianCommitment).toMatch(/^0x[a-f0-9]+$/);
89
89
  });
90
90
  it('extracts signer commitments', () => {
91
91
  const base64 = btoa(String.fromCharCode(...new Uint8Array([1, 2, 3])));
@@ -122,7 +122,7 @@ describe('AccountInspector edge cases', () => {
122
122
  beforeEach(() => {
123
123
  vi.clearAllMocks();
124
124
  });
125
- it('handles account with PSM disabled', async () => {
125
+ it('handles account with GUARDIAN disabled', async () => {
126
126
  const { Account } = await import('@miden-sdk/miden-sdk');
127
127
  // Override mock for this test
128
128
  vi.mocked(Account.deserialize).mockReturnValueOnce({
@@ -130,8 +130,8 @@ describe('AccountInspector edge cases', () => {
130
130
  getItem: (slotName) => {
131
131
  if (slotName === 'openzeppelin::multisig::threshold_config')
132
132
  return { toU64s: () => [1n, 1n, 0n, 0n] };
133
- if (slotName === 'openzeppelin::psm::selector')
134
- return { toU64s: () => [0n, 0n, 0n, 0n] }; // PSM disabled
133
+ if (slotName === 'openzeppelin::guardian::selector')
134
+ return { toU64s: () => [0n, 0n, 0n, 0n] }; // GUARDIAN disabled
135
135
  return { toU64s: () => [0n, 0n, 0n, 0n] };
136
136
  },
137
137
  getMapItem: (slotName, key) => {
@@ -150,8 +150,8 @@ describe('AccountInspector edge cases', () => {
150
150
  });
151
151
  const account = Account.deserialize(new Uint8Array([1, 2, 3]));
152
152
  const config = AccountInspector.fromAccount(account);
153
- expect(config.psmEnabled).toBe(false);
154
- expect(config.psmCommitment).toBeNull();
153
+ expect(config.guardianEnabled).toBe(false);
154
+ expect(config.guardianCommitment).toBeNull();
155
155
  });
156
156
  it('handles account with empty vault', async () => {
157
157
  const { Account } = await import('@miden-sdk/miden-sdk');
@@ -177,7 +177,7 @@ describe('AccountInspector edge cases', () => {
177
177
  getItem: (slotName) => {
178
178
  if (slotName === 'openzeppelin::multisig::threshold_config')
179
179
  return { toU64s: () => [2n, 5n, 0n, 0n] }; // threshold=2, numSigners=5
180
- if (slotName === 'openzeppelin::psm::selector')
180
+ if (slotName === 'openzeppelin::guardian::selector')
181
181
  return { toU64s: () => [0n, 0n, 0n, 0n] };
182
182
  return { toU64s: () => [0n, 0n, 0n, 0n] };
183
183
  },
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.test.js","sourceRoot":"","sources":["../src/inspector.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspector.test.js","sourceRoot":"","sources":["../src/inspector.test.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,19 @@
1
- import { type PsmHttpClient } from '@openzeppelin/psm-client';
2
- import type { WebClient } from '@miden-sdk/miden-sdk';
1
+ import { type GuardianHttpClient } from '@openzeppelin/guardian-client';
2
+ import type { WebClient, TransactionRequest } from '@miden-sdk/miden-sdk';
3
3
  import type { ProposalType, TransactionProposal } from '../../types.js';
4
4
  interface ExecuteProposalWorkflowParams {
5
5
  proposal: TransactionProposal;
6
6
  accountId: string;
7
7
  threshold: number;
8
8
  signerCommitments: string[];
9
- psmCommitment: string;
10
- psmPublicKey?: string;
9
+ guardianCommitment: string;
10
+ guardianPublicKey?: string;
11
11
  signatureScheme: 'falcon' | 'ecdsa';
12
12
  getEffectiveThreshold: (proposalType: ProposalType) => number;
13
- psm: PsmHttpClient;
13
+ guardian: GuardianHttpClient;
14
14
  webClient: WebClient;
15
15
  }
16
16
  export declare function executeProposalWorkflow(params: ExecuteProposalWorkflowParams): Promise<void>;
17
+ export declare function createTransactionProposalRequest(params: ExecuteProposalWorkflowParams): Promise<TransactionRequest>;
17
18
  export {};
18
19
  //# sourceMappingURL=execution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../src/multisig/proposal/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAsB,MAAM,sBAAsB,CAAC;AAS1E,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AA0BxE,UAAU,6BAA6B;IACrC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,QAAQ,GAAG,OAAO,CAAC;IACpC,qBAAqB,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,MAAM,CAAC;IAC9D,GAAG,EAAE,aAAa,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,IAAI,CAAC,CAwCf"}
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../src/multisig/proposal/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAS1E,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AA2BxE,UAAU,6BAA6B;IACrC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,QAAQ,GAAG,OAAO,CAAC;IACpC,qBAAqB,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,MAAM,CAAC;IAC9D,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,IAAI,CAAC,CAwCf;AAGD,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,kBAAkB,CAAC,CAuC7B"}
@@ -1,20 +1,31 @@
1
1
  import { AccountId, AdviceMap, FeltArray, Signature, TransactionSummary, Word, } from '@miden-sdk/miden-sdk';
2
- import { buildConsumeNotesTransactionRequest, buildP2idTransactionRequest, buildUpdatePsmTransactionRequest, buildUpdateSignersTransactionRequest, } from '../../transaction.js';
2
+ import { buildConsumeNotesTransactionRequest, buildP2idTransactionRequest, buildUpdateGuardianTransactionRequest, buildUpdateProcedureThresholdTransactionRequest, buildUpdateSignersTransactionRequest, } from '../../transaction.js';
3
3
  import { base64ToUint8Array, normalizeHexWord } from '../../utils/encoding.js';
4
4
  import { buildSignatureAdviceEntry, signatureHexToBytes, tryComputeEcdsaCommitmentHex, } from '../../utils/signature.js';
5
5
  import { computeCommitmentFromTxSummary } from '../helpers.js';
6
6
  export async function executeProposalWorkflow(params) {
7
7
  ensureProposalReady(params.proposal, params.threshold, params.getEffectiveThreshold);
8
- const isSwitchPsm = params.proposal.metadata.proposalType === 'switch_psm';
9
- const executionSource = await resolveExecutionSource(params.psm, params.accountId, params.proposal, isSwitchPsm);
8
+ const isSwitchGuardian = params.proposal.metadata.proposalType === 'switch_guardian';
9
+ const executionSource = await resolveExecutionSource(params.guardian, params.accountId, params.proposal, isSwitchGuardian);
10
10
  const executionData = prepareExecutionData(executionSource.txSummaryBase64);
11
11
  const adviceMap = buildCosignerAdviceMap(params.proposal, params.signerCommitments, executionData.txCommitmentHex);
12
- if (!isSwitchPsm && executionSource.delta) {
13
- await appendPsmAckAdvice(params.psm, executionSource.delta, params.psmCommitment, params.psmPublicKey, params.signatureScheme, executionData.txCommitmentHex, adviceMap);
12
+ if (!isSwitchGuardian && executionSource.delta) {
13
+ await appendGuardianAckAdvice(params.guardian, executionSource.delta, params.guardianCommitment, params.guardianPublicKey, params.signatureScheme, executionData.txCommitmentHex, adviceMap);
14
14
  }
15
15
  const finalRequest = await buildFinalRequest(params, executionData.saltHex, adviceMap);
16
16
  await submitTransaction(params.webClient, params.accountId, finalRequest);
17
17
  }
18
+ export async function createTransactionProposalRequest(params) {
19
+ ensureProposalReady(params.proposal, params.threshold, params.getEffectiveThreshold);
20
+ const isSwitchGuardian = params.proposal.metadata.proposalType === 'switch_guardian';
21
+ const executionSource = await resolveExecutionSource(params.guardian, params.accountId, params.proposal, isSwitchGuardian);
22
+ const executionData = prepareExecutionData(executionSource.txSummaryBase64);
23
+ const adviceMap = buildCosignerAdviceMap(params.proposal, params.signerCommitments, executionData.txCommitmentHex);
24
+ if (!isSwitchGuardian && executionSource.delta) {
25
+ await appendGuardianAckAdvice(params.guardian, executionSource.delta, params.guardianCommitment, params.guardianPublicKey, params.signatureScheme, executionData.txCommitmentHex, adviceMap);
26
+ }
27
+ return await buildFinalRequest(params, executionData.saltHex, adviceMap);
28
+ }
18
29
  function ensureProposalReady(proposal, defaultThreshold, getEffectiveThreshold) {
19
30
  const proposalType = proposal.metadata?.proposalType;
20
31
  const effectiveThreshold = proposalType
@@ -24,11 +35,11 @@ function ensureProposalReady(proposal, defaultThreshold, getEffectiveThreshold)
24
35
  throw new Error('Proposal is not ready for execution. Still pending signatures.');
25
36
  }
26
37
  }
27
- async function resolveExecutionSource(psm, accountId, proposal, isSwitchPsm) {
28
- if (isSwitchPsm) {
38
+ async function resolveExecutionSource(guardian, accountId, proposal, isSwitchGuardian) {
39
+ if (isSwitchGuardian) {
29
40
  return { txSummaryBase64: proposal.txSummary };
30
41
  }
31
- const deltas = await psm.getDeltaProposals(accountId);
42
+ const deltas = await guardian.getDeltaProposals(accountId);
32
43
  const delta = deltas.find((d) => computeCommitmentFromTxSummary(d.deltaPayload.txSummary.data) === proposal.commitment);
33
44
  if (!delta) {
34
45
  throw new Error(`Proposal not found on server: ${proposal.commitment}`);
@@ -63,37 +74,40 @@ function buildCosignerAdviceMap(proposal, signerCommitments, txCommitmentHex) {
63
74
  const sigBytes = signatureHexToBytes(cosignerSig.signature.signature, cosignerSig.signature.scheme);
64
75
  const signature = Signature.deserialize(sigBytes);
65
76
  const txCommitment = Word.fromHex(normalizeHexWord(txCommitmentHex));
66
- const isEcdsa = cosignerSig.signature.scheme === 'ecdsa' && cosignerSig.signature.publicKey;
67
- const { key, values } = buildSignatureAdviceEntry(signerCommitment, txCommitment, signature, isEcdsa ? cosignerSig.signature.publicKey : undefined, isEcdsa ? cosignerSig.signature.signature : undefined);
77
+ const ecdsaPublicKey = cosignerSig.signature.scheme === 'ecdsa'
78
+ ? cosignerSig.signature.publicKey
79
+ : undefined;
80
+ const isEcdsa = cosignerSig.signature.scheme === 'ecdsa' && Boolean(ecdsaPublicKey);
81
+ const { key, values } = buildSignatureAdviceEntry(signerCommitment, txCommitment, signature, ecdsaPublicKey, isEcdsa ? cosignerSig.signature.signature : undefined);
68
82
  adviceMap.insert(key, new FeltArray(values));
69
83
  }
70
84
  return adviceMap;
71
85
  }
72
- async function appendPsmAckAdvice(psm, delta, psmCommitmentHex, psmPublicKey, defaultAckScheme, txCommitmentHex, adviceMap) {
86
+ async function appendGuardianAckAdvice(guardian, delta, guardianCommitmentHex, guardianPublicKey, defaultAckScheme, txCommitmentHex, adviceMap) {
73
87
  const executionDelta = {
74
88
  ...delta,
75
89
  deltaPayload: delta.deltaPayload.txSummary,
76
90
  };
77
- const pushResult = await psm.pushDelta(executionDelta);
91
+ const pushResult = await guardian.pushDelta(executionDelta);
78
92
  const ackSigHex = pushResult.ackSig;
79
93
  if (!ackSigHex) {
80
- throw new Error('PSM did not return acknowledgment signature');
94
+ throw new Error('GUARDIAN did not return acknowledgment signature');
81
95
  }
82
- const psmAckScheme = pushResult.ackScheme || defaultAckScheme;
83
- const ackPubkey = pushResult.ackPubkey || psmPublicKey;
84
- const normalizedPsmCommitment = normalizeHexWord(psmCommitmentHex);
85
- if (psmAckScheme === 'ecdsa' && ackPubkey) {
96
+ const guardianAckScheme = pushResult.ackScheme || defaultAckScheme;
97
+ const ackPubkey = pushResult.ackPubkey || guardianPublicKey;
98
+ const normalizedGuardianCommitment = normalizeHexWord(guardianCommitmentHex);
99
+ if (guardianAckScheme === 'ecdsa' && ackPubkey) {
86
100
  const derived = tryComputeEcdsaCommitmentHex(ackPubkey);
87
- if (derived && derived !== normalizedPsmCommitment) {
88
- throw new Error('PSM public key commitment mismatch');
101
+ if (derived && derived !== normalizedGuardianCommitment) {
102
+ throw new Error('GUARDIAN public key commitment mismatch');
89
103
  }
90
104
  }
91
- const psmCommitment = Word.fromHex(normalizedPsmCommitment);
92
- const ackSigBytes = signatureHexToBytes(ackSigHex, psmAckScheme);
105
+ const guardianCommitment = Word.fromHex(normalizedGuardianCommitment);
106
+ const ackSigBytes = signatureHexToBytes(ackSigHex, guardianAckScheme);
93
107
  const ackSignature = Signature.deserialize(ackSigBytes);
94
108
  const txCommitment = Word.fromHex(normalizeHexWord(txCommitmentHex));
95
- const isAckEcdsa = psmAckScheme === 'ecdsa' && ackPubkey;
96
- const { key, values } = buildSignatureAdviceEntry(psmCommitment, txCommitment, ackSignature, isAckEcdsa ? ackPubkey : undefined, isAckEcdsa ? ackSigHex : undefined);
109
+ const isAckEcdsa = guardianAckScheme === 'ecdsa' && ackPubkey;
110
+ const { key, values } = buildSignatureAdviceEntry(guardianCommitment, txCommitment, ackSignature, isAckEcdsa ? ackPubkey : undefined, isAckEcdsa ? ackSigHex : undefined);
97
111
  adviceMap.insert(key, new FeltArray(values));
98
112
  }
99
113
  async function buildFinalRequest(params, saltHex, adviceMap) {
@@ -107,11 +121,19 @@ async function buildFinalRequest(params, saltHex, adviceMap) {
107
121
  const { request } = await buildConsumeNotesTransactionRequest(params.webClient, metadata.noteIds, { salt: normalizedSalt, signatureAdviceMap: adviceMap });
108
122
  return request;
109
123
  }
110
- case 'switch_psm': {
111
- if (!metadata.newPsmPubkey) {
112
- throw new Error('Proposal missing newPsmPubkey. Was it created with createSwitchPsmProposal?');
124
+ case 'switch_guardian': {
125
+ if (!metadata.newGuardianPubkey) {
126
+ throw new Error('Proposal missing newGuardianPubkey. Was it created with createSwitchGuardianProposal?');
113
127
  }
114
- const { request } = await buildUpdatePsmTransactionRequest(params.webClient, metadata.newPsmPubkey, {
128
+ const { request } = await buildUpdateGuardianTransactionRequest(params.webClient, metadata.newGuardianPubkey, {
129
+ salt: normalizedSalt,
130
+ signatureAdviceMap: adviceMap,
131
+ signatureScheme: params.signatureScheme,
132
+ });
133
+ return request;
134
+ }
135
+ case 'update_procedure_threshold': {
136
+ const { request } = await buildUpdateProcedureThresholdTransactionRequest(params.webClient, metadata.targetProcedure, metadata.targetThreshold, {
115
137
  salt: normalizedSalt,
116
138
  signatureAdviceMap: adviceMap,
117
139
  signatureScheme: params.signatureScheme,