@bitgo-beta/sdk-core 8.2.1-beta.98 → 8.2.1-beta.980

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 (527) hide show
  1. package/CHANGELOG.md +2785 -0
  2. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +0 -1
  3. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -1
  4. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +3 -3
  5. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
  6. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +4 -3
  7. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +1 -0
  8. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -1
  9. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +41 -29
  10. package/dist/src/account-lib/baseCoin/enum.d.ts +17 -3
  11. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  12. package/dist/src/account-lib/baseCoin/enum.js +32 -7
  13. package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
  14. package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
  15. package/dist/src/account-lib/baseCoin/errors.js +8 -2
  16. package/dist/src/account-lib/baseCoin/iface.d.ts +11 -35
  17. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  18. package/dist/src/account-lib/baseCoin/iface.js +4 -18
  19. package/dist/src/account-lib/baseCoin/index.d.ts +1 -1
  20. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
  21. package/dist/src/account-lib/baseCoin/index.js +8 -5
  22. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +76 -0
  23. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  24. package/dist/src/account-lib/baseCoin/messages/baseMessage.js +120 -0
  25. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +66 -0
  26. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  27. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +96 -0
  28. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
  29. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  30. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +34 -0
  31. package/dist/src/account-lib/baseCoin/messages/iface.d.ts +156 -0
  32. package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
  33. package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
  34. package/dist/src/account-lib/baseCoin/messages/index.d.ts +5 -0
  35. package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
  36. package/dist/src/account-lib/baseCoin/messages/index.js +21 -0
  37. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
  38. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
  39. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
  40. package/dist/src/account-lib/index.js +23 -9
  41. package/dist/src/account-lib/mpc/curves/ed25519.d.ts +4 -18
  42. package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -1
  43. package/dist/src/account-lib/mpc/curves/ed25519.js +6 -60
  44. package/dist/src/account-lib/mpc/index.d.ts +4 -4
  45. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  46. package/dist/src/account-lib/mpc/index.js +11 -7
  47. package/dist/src/account-lib/mpc/shamir.d.ts +5 -37
  48. package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -1
  49. package/dist/src/account-lib/mpc/shamir.js +6 -130
  50. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +38 -9
  51. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  52. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +497 -349
  53. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
  54. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
  55. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
  56. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
  57. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +73 -52
  58. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  59. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  60. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +1 -2
  61. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  62. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
  63. package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
  64. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -1
  65. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
  66. package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
  67. package/dist/src/account-lib/mpc/tss/index.js +23 -9
  68. package/dist/src/account-lib/mpc/util.d.ts +7 -1
  69. package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
  70. package/dist/src/account-lib/mpc/util.js +19 -1
  71. package/dist/src/account-lib/staking/index.js +6 -2
  72. package/dist/src/account-lib/staking/utils.js +3 -3
  73. package/dist/src/account-lib/util/crypto.d.ts +8 -2
  74. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  75. package/dist/src/account-lib/util/crypto.js +69 -38
  76. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +2 -1
  77. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
  78. package/dist/src/account-lib/util/ed25519KeyDeriver.js +5 -3
  79. package/dist/src/api/bip32path.js +2 -3
  80. package/dist/src/api/index.js +6 -2
  81. package/dist/src/api/types.d.ts +8 -0
  82. package/dist/src/api/types.d.ts.map +1 -1
  83. package/dist/src/api/types.js +1 -1
  84. package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
  85. package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
  86. package/dist/src/bitgo/address-book/address-book.js +139 -0
  87. package/dist/src/bitgo/address-book/index.d.ts +3 -0
  88. package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
  89. package/dist/src/bitgo/address-book/index.js +19 -0
  90. package/dist/src/bitgo/address-book/types.d.ts +170 -0
  91. package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
  92. package/dist/src/bitgo/address-book/types.js +3 -0
  93. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +90 -10
  94. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  95. package/dist/src/bitgo/baseCoin/baseCoin.js +142 -16
  96. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +111 -19
  97. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  98. package/dist/src/bitgo/baseCoin/iBaseCoin.js +7 -3
  99. package/dist/src/bitgo/baseCoin/index.js +6 -2
  100. package/dist/src/bitgo/bip32util.d.ts +3 -16
  101. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  102. package/dist/src/bitgo/bip32util.js +4 -56
  103. package/dist/src/bitgo/bitcoin.d.ts +0 -1
  104. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  105. package/dist/src/bitgo/bitcoin.js +26 -13
  106. package/dist/src/bitgo/bitgoBase.d.ts +6 -2
  107. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  108. package/dist/src/bitgo/bitgoBase.js +1 -1
  109. package/dist/src/bitgo/coinFactory.d.ts +17 -3
  110. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  111. package/dist/src/bitgo/coinFactory.js +26 -3
  112. package/dist/src/bitgo/config.d.ts +94 -20
  113. package/dist/src/bitgo/config.d.ts.map +1 -1
  114. package/dist/src/bitgo/config.js +26 -15
  115. package/dist/src/bitgo/ecdh.d.ts +0 -1
  116. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  117. package/dist/src/bitgo/ecdh.js +26 -13
  118. package/dist/src/bitgo/enterprise/enterprise.d.ts +16 -14
  119. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  120. package/dist/src/bitgo/enterprise/enterprise.js +64 -31
  121. package/dist/src/bitgo/enterprise/enterprises.d.ts +6 -0
  122. package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -1
  123. package/dist/src/bitgo/enterprise/enterprises.js +48 -9
  124. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +6 -7
  125. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  126. package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
  127. package/dist/src/bitgo/enterprise/iEnterprises.d.ts +2 -0
  128. package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -1
  129. package/dist/src/bitgo/enterprise/iEnterprises.js +1 -1
  130. package/dist/src/bitgo/enterprise/index.js +6 -2
  131. package/dist/src/bitgo/environments.d.ts +60 -5
  132. package/dist/src/bitgo/environments.d.ts.map +1 -1
  133. package/dist/src/bitgo/environments.js +96 -32
  134. package/dist/src/bitgo/errors.d.ts +6 -0
  135. package/dist/src/bitgo/errors.d.ts.map +1 -1
  136. package/dist/src/bitgo/errors.js +14 -2
  137. package/dist/src/bitgo/index.d.ts +1 -1
  138. package/dist/src/bitgo/index.d.ts.map +1 -1
  139. package/dist/src/bitgo/index.js +26 -11
  140. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
  141. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  142. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
  143. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  144. package/dist/src/bitgo/internal/index.js +6 -2
  145. package/dist/src/bitgo/internal/internal.js +5 -6
  146. package/dist/src/bitgo/internal/keycard.js +6 -7
  147. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +13 -0
  148. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  149. package/dist/src/bitgo/keychain/decryptKeychain.js +35 -0
  150. package/dist/src/bitgo/keychain/iKeychains.d.ts +63 -7
  151. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  152. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  153. package/dist/src/bitgo/keychain/index.d.ts +1 -0
  154. package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
  155. package/dist/src/bitgo/keychain/index.js +7 -2
  156. package/dist/src/bitgo/keychain/keychains.d.ts +13 -3
  157. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  158. package/dist/src/bitgo/keychain/keychains.js +128 -37
  159. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
  160. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  161. package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
  162. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
  163. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  164. package/dist/src/bitgo/legacyBitcoin.js +27 -13
  165. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
  166. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
  167. package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
  168. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  169. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  170. package/dist/src/bitgo/market/index.js +6 -2
  171. package/dist/src/bitgo/market/markets.js +23 -9
  172. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +1 -0
  173. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  174. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  175. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  176. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
  177. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  178. package/dist/src/bitgo/pendingApproval/pendingApproval.js +221 -107
  179. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
  180. package/dist/src/bitgo/recovery/index.js +6 -2
  181. package/dist/src/bitgo/recovery/initiate.d.ts +8 -2
  182. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  183. package/dist/src/bitgo/recovery/initiate.js +7 -8
  184. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +129 -0
  185. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
  186. package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
  187. package/dist/src/bitgo/staking/goStakingWallet.d.ts +62 -0
  188. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
  189. package/dist/src/bitgo/staking/goStakingWallet.js +143 -0
  190. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +17 -0
  191. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
  192. package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
  193. package/dist/src/bitgo/staking/iStakingWallet.d.ts +120 -4
  194. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  195. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  196. package/dist/src/bitgo/staking/index.d.ts +3 -0
  197. package/dist/src/bitgo/staking/index.d.ts.map +1 -1
  198. package/dist/src/bitgo/staking/index.js +9 -2
  199. package/dist/src/bitgo/staking/stakingWallet.d.ts +13 -2
  200. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  201. package/dist/src/bitgo/staking/stakingWallet.js +45 -4
  202. package/dist/src/bitgo/trading/iTradingAccount.d.ts +2 -32
  203. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
  204. package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
  205. package/dist/src/bitgo/trading/index.d.ts +1 -15
  206. package/dist/src/bitgo/trading/index.d.ts.map +1 -1
  207. package/dist/src/bitgo/trading/index.js +7 -17
  208. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  209. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  210. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  211. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  212. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  213. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  214. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  215. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  216. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  217. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  218. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  219. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  220. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  221. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  222. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  223. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  224. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  225. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  226. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  227. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  228. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  229. package/dist/src/bitgo/trading/network/index.d.ts +5 -0
  230. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
  231. package/dist/src/bitgo/trading/network/index.js +21 -0
  232. package/dist/src/bitgo/trading/network/network.d.ts +36 -0
  233. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
  234. package/dist/src/bitgo/trading/network/network.js +101 -0
  235. package/dist/src/bitgo/trading/network/types.d.ts +277 -0
  236. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
  237. package/dist/src/bitgo/trading/network/types.js +3 -0
  238. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  239. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  240. package/dist/src/bitgo/trading/network/utils.js +54 -0
  241. package/dist/src/bitgo/trading/tradingAccount.d.ts +11 -35
  242. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
  243. package/dist/src/bitgo/trading/tradingAccount.js +9 -96
  244. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +27 -0
  245. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  246. package/dist/src/bitgo/tss/bitgoPubKeys.js +61 -0
  247. package/dist/src/bitgo/tss/common.d.ts +37 -5
  248. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  249. package/dist/src/bitgo/tss/common.js +103 -17
  250. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
  251. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  252. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
  253. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  254. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  255. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +162 -0
  256. package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
  257. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  258. package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
  259. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  260. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  261. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  262. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +11 -8
  263. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  264. package/dist/src/bitgo/tss/eddsa/eddsa.js +38 -41
  265. package/dist/src/bitgo/tss/eddsa/index.js +23 -9
  266. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  267. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  268. package/dist/src/bitgo/tss/index.d.ts +3 -2
  269. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  270. package/dist/src/bitgo/tss/index.js +26 -10
  271. package/dist/src/bitgo/tss/types.d.ts +3 -3
  272. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  273. package/dist/src/bitgo/tss/types.js +2 -2
  274. package/dist/src/bitgo/types.d.ts +3 -3
  275. package/dist/src/bitgo/types.d.ts.map +1 -1
  276. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +11 -0
  277. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
  278. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +66 -10
  279. package/dist/src/bitgo/utils/codecProps.js +24 -11
  280. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  281. package/dist/src/bitgo/utils/decode.js +30 -16
  282. package/dist/src/bitgo/utils/index.d.ts +3 -2
  283. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  284. package/dist/src/bitgo/utils/index.js +26 -11
  285. package/dist/src/bitgo/utils/messageTypes.d.ts +34 -0
  286. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  287. package/dist/src/bitgo/utils/messageTypes.js +12 -0
  288. package/dist/src/bitgo/utils/mpcUtils.d.ts +2 -3
  289. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  290. package/dist/src/bitgo/utils/mpcUtils.js +34 -12
  291. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  292. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  293. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  294. package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -9
  295. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  296. package/dist/src/bitgo/utils/opengpgUtils.js +74 -73
  297. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -1
  298. package/dist/src/bitgo/utils/postWithCodec.js +4 -38
  299. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  300. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  301. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  302. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  303. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  304. package/dist/src/bitgo/utils/triple.js +2 -3
  305. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +38 -14
  306. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  307. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +141 -45
  308. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +202 -34
  309. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  310. package/dist/src/bitgo/utils/tss/baseTypes.js +22 -20
  311. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  312. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  313. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  314. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  315. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  316. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  317. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +20 -52
  318. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  319. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +145 -280
  320. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +199 -0
  321. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  322. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +950 -0
  323. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
  324. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  325. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
  326. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
  327. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  328. package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
  329. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +15 -9
  330. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  331. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  332. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
  333. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  334. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  335. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +5 -3
  336. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  337. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +75 -58
  338. package/dist/src/bitgo/utils/tss/eddsa/index.js +23 -9
  339. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +7 -7
  340. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  341. package/dist/src/bitgo/utils/tss/index.js +23 -9
  342. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  343. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  344. package/dist/src/bitgo/utils/txRequest.js +47 -0
  345. package/dist/src/bitgo/utils/util.js +24 -10
  346. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  347. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  348. package/dist/src/bitgo/utils/wallet.js +48 -0
  349. package/dist/src/bitgo/wallet/BuildParams.d.ts +52 -8
  350. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  351. package/dist/src/bitgo/wallet/BuildParams.js +65 -19
  352. package/dist/src/bitgo/wallet/iWallet.d.ts +203 -19
  353. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  354. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  355. package/dist/src/bitgo/wallet/iWallets.d.ts +91 -16
  356. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  357. package/dist/src/bitgo/wallet/iWallets.js +43 -3
  358. package/dist/src/bitgo/wallet/index.js +6 -2
  359. package/dist/src/bitgo/wallet/wallet.d.ts +191 -25
  360. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  361. package/dist/src/bitgo/wallet/wallet.js +937 -303
  362. package/dist/src/bitgo/wallet/wallets.d.ts +96 -9
  363. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  364. package/dist/src/bitgo/wallet/wallets.js +816 -193
  365. package/dist/src/bitgo/webhook/index.js +6 -2
  366. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  367. package/dist/src/coins/fiataed.d.ts +32 -0
  368. package/dist/src/coins/fiataed.d.ts.map +1 -0
  369. package/dist/src/coins/fiataed.js +61 -0
  370. package/dist/src/coins/fiateur.d.ts +3 -2
  371. package/dist/src/coins/fiateur.d.ts.map +1 -1
  372. package/dist/src/coins/fiateur.js +5 -1
  373. package/dist/src/coins/fiatgbp.d.ts +3 -2
  374. package/dist/src/coins/fiatgbp.d.ts.map +1 -1
  375. package/dist/src/coins/fiatgbp.js +5 -1
  376. package/dist/src/coins/fiatsgd.d.ts +32 -0
  377. package/dist/src/coins/fiatsgd.d.ts.map +1 -0
  378. package/dist/src/coins/fiatsgd.js +61 -0
  379. package/dist/src/coins/fiatusd.d.ts +3 -2
  380. package/dist/src/coins/fiatusd.d.ts.map +1 -1
  381. package/dist/src/coins/fiatusd.js +5 -1
  382. package/dist/src/coins/index.d.ts +4 -0
  383. package/dist/src/coins/index.d.ts.map +1 -1
  384. package/dist/src/coins/index.js +10 -2
  385. package/dist/src/coins/ofc.d.ts +3 -2
  386. package/dist/src/coins/ofc.d.ts.map +1 -1
  387. package/dist/src/coins/ofc.js +6 -2
  388. package/dist/src/coins/ofcToken.js +2 -2
  389. package/dist/src/coins/susd.d.ts +3 -2
  390. package/dist/src/coins/susd.d.ts.map +1 -1
  391. package/dist/src/coins/susd.js +5 -1
  392. package/dist/src/coins/tfiataed.d.ts +11 -0
  393. package/dist/src/coins/tfiataed.d.ts.map +1 -0
  394. package/dist/src/coins/tfiataed.js +17 -0
  395. package/dist/src/coins/tfiatsgd.d.ts +11 -0
  396. package/dist/src/coins/tfiatsgd.d.ts.map +1 -0
  397. package/dist/src/coins/tfiatsgd.js +17 -0
  398. package/dist/src/common.js +27 -13
  399. package/dist/src/index.d.ts +2 -1
  400. package/dist/src/index.d.ts.map +1 -1
  401. package/dist/src/index.js +26 -11
  402. package/dist/src/units.js +5 -6
  403. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  404. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  405. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +204 -0
  406. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  407. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  408. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +130 -0
  409. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  410. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  411. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +86 -0
  412. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +36 -0
  413. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  414. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +70 -0
  415. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
  416. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  417. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +233 -0
  418. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
  419. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
  420. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
  421. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  422. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  423. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  424. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts +2 -0
  425. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
  426. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -0
  427. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  428. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  429. package/dist/test/unit/bitgo/utils/messageTypes.js +76 -0
  430. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  431. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  432. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  433. package/dist/test/unit/bitgo/utils/postWithCodec.js +32 -38
  434. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  435. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  436. package/dist/test/unit/bitgo/utils/txRequest.js +105 -0
  437. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  438. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  439. package/dist/test/unit/bitgo/wallet/BuildParams.js +68 -0
  440. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +37 -17
  441. package/dist/test/unit/units.js +63 -63
  442. package/dist/tsconfig.tsbuildinfo +1 -1
  443. package/package.json +24 -21
  444. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
  445. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
  446. package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
  447. package/dist/src/account-lib/mpc/hdTree.d.ts +0 -31
  448. package/dist/src/account-lib/mpc/hdTree.d.ts.map +0 -1
  449. package/dist/src/account-lib/mpc/hdTree.js +0 -141
  450. package/dist/src/account-lib/mpc/types.d.ts +0 -5
  451. package/dist/src/account-lib/mpc/types.d.ts.map +0 -1
  452. package/dist/src/account-lib/mpc/types.js +0 -3
  453. package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
  454. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  455. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  456. package/dist/src/bitgo/lightning/index.d.ts +0 -5
  457. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  458. package/dist/src/bitgo/lightning/index.js +0 -17
  459. package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
  460. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  461. package/dist/src/bitgo/lightning/lightning.js +0 -111
  462. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
  463. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  464. package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
  465. package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
  466. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  467. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  468. package/dist/src/bitgo/trading/affirmation.d.ts +0 -35
  469. package/dist/src/bitgo/trading/affirmation.d.ts.map +0 -1
  470. package/dist/src/bitgo/trading/affirmation.js +0 -53
  471. package/dist/src/bitgo/trading/affirmations.d.ts +0 -23
  472. package/dist/src/bitgo/trading/affirmations.d.ts.map +0 -1
  473. package/dist/src/bitgo/trading/affirmations.js +0 -45
  474. package/dist/src/bitgo/trading/iAffirmation.d.ts +0 -15
  475. package/dist/src/bitgo/trading/iAffirmation.d.ts.map +0 -1
  476. package/dist/src/bitgo/trading/iAffirmation.js +0 -13
  477. package/dist/src/bitgo/trading/iAffirmations.d.ts +0 -10
  478. package/dist/src/bitgo/trading/iAffirmations.d.ts.map +0 -1
  479. package/dist/src/bitgo/trading/iAffirmations.js +0 -3
  480. package/dist/src/bitgo/trading/iSettlement.d.ts +0 -25
  481. package/dist/src/bitgo/trading/iSettlement.d.ts.map +0 -1
  482. package/dist/src/bitgo/trading/iSettlement.js +0 -17
  483. package/dist/src/bitgo/trading/iSettlements.d.ts +0 -19
  484. package/dist/src/bitgo/trading/iSettlements.d.ts.map +0 -1
  485. package/dist/src/bitgo/trading/iSettlements.js +0 -3
  486. package/dist/src/bitgo/trading/iTradingPartner.d.ts +0 -14
  487. package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +0 -1
  488. package/dist/src/bitgo/trading/iTradingPartner.js +0 -17
  489. package/dist/src/bitgo/trading/iTradingPartners.d.ts +0 -15
  490. package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +0 -1
  491. package/dist/src/bitgo/trading/iTradingPartners.js +0 -9
  492. package/dist/src/bitgo/trading/lock.d.ts +0 -16
  493. package/dist/src/bitgo/trading/lock.d.ts.map +0 -1
  494. package/dist/src/bitgo/trading/lock.js +0 -12
  495. package/dist/src/bitgo/trading/payload.d.ts +0 -22
  496. package/dist/src/bitgo/trading/payload.d.ts.map +0 -1
  497. package/dist/src/bitgo/trading/payload.js +0 -3
  498. package/dist/src/bitgo/trading/settlement.d.ts +0 -16
  499. package/dist/src/bitgo/trading/settlement.d.ts.map +0 -1
  500. package/dist/src/bitgo/trading/settlement.js +0 -21
  501. package/dist/src/bitgo/trading/settlements.d.ts +0 -32
  502. package/dist/src/bitgo/trading/settlements.d.ts.map +0 -1
  503. package/dist/src/bitgo/trading/settlements.js +0 -61
  504. package/dist/src/bitgo/trading/trade.d.ts +0 -29
  505. package/dist/src/bitgo/trading/trade.d.ts.map +0 -1
  506. package/dist/src/bitgo/trading/trade.js +0 -11
  507. package/dist/src/bitgo/trading/tradingPartner.d.ts +0 -26
  508. package/dist/src/bitgo/trading/tradingPartner.d.ts.map +0 -1
  509. package/dist/src/bitgo/trading/tradingPartner.js +0 -31
  510. package/dist/src/bitgo/trading/tradingPartners.d.ts +0 -24
  511. package/dist/src/bitgo/trading/tradingPartners.d.ts.map +0 -1
  512. package/dist/src/bitgo/trading/tradingPartners.js +0 -32
  513. package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
  514. package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
  515. package/dist/src/bitgo/utils/blsUtils.js +0 -237
  516. package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
  517. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
  518. package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
  519. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts +0 -71
  520. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts.map +0 -1
  521. package/dist/src/bitgo/wallet/SendTransactionRequest.js +0 -41
  522. package/dist/src/openssl/index.d.ts +0 -5
  523. package/dist/src/openssl/index.d.ts.map +0 -1
  524. package/dist/src/openssl/index.js +0 -9
  525. package/dist/test/unit/openssl.d.ts +0 -2
  526. package/dist/test/unit/openssl.d.ts.map +0 -1
  527. package/dist/test/unit/openssl.js +0 -39
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const statics_1 = require("@bitgo-beta/statics");
7
+ const sinon_1 = __importDefault(require("sinon"));
8
+ const should_1 = __importDefault(require("should"));
9
+ const src_1 = require("../../../../../src");
10
+ const fixtures_1 = require("./fixtures");
11
+ describe('Base Message', () => {
12
+ let coinConfig;
13
+ beforeEach(() => {
14
+ coinConfig = sinon_1.default.createStubInstance(statics_1.BaseCoin);
15
+ });
16
+ it('should initialize with default values', () => {
17
+ const message = new fixtures_1.TestMessage({
18
+ coinConfig,
19
+ payload: '',
20
+ });
21
+ should_1.default.equal(message.getType(), src_1.MessageStandardType.UNKNOWN);
22
+ should_1.default.equal(message.getPayload(), '');
23
+ should_1.default.deepEqual(message.getMetadata(), {});
24
+ should_1.default.deepEqual(message.getSignatures(), []);
25
+ should_1.default.deepEqual(message.getSigners(), []);
26
+ });
27
+ it('should initialize with provided values', () => {
28
+ const { payload, type, metadata, signers, signatures } = fixtures_1.messageSamples.eip191;
29
+ const message = new fixtures_1.TestMessage({
30
+ coinConfig,
31
+ payload,
32
+ type,
33
+ metadata,
34
+ signers,
35
+ signatures,
36
+ });
37
+ should_1.default.equal(message.getType(), type);
38
+ should_1.default.equal(message.getPayload(), payload);
39
+ should_1.default.deepEqual(message.getMetadata(), metadata);
40
+ should_1.default.deepEqual(message.getSignatures(), signatures);
41
+ should_1.default.deepEqual(message.getSigners(), signers);
42
+ });
43
+ describe('Getters and Setters', () => {
44
+ let message;
45
+ beforeEach(() => {
46
+ message = new fixtures_1.TestMessage({
47
+ coinConfig,
48
+ payload: 'test',
49
+ });
50
+ });
51
+ it('should handle adding and getting signers', () => {
52
+ const signer1 = '0xabc123';
53
+ const signer2 = '0xdef456';
54
+ message.addSigner(signer1);
55
+ should_1.default.deepEqual(message.getSigners(), [signer1]);
56
+ message.addSigner(signer2);
57
+ should_1.default.deepEqual(message.getSigners(), [signer1, signer2]);
58
+ // Adding a duplicate signer should not add it again
59
+ message.addSigner(signer1);
60
+ should_1.default.deepEqual(message.getSigners(), [signer1, signer2]);
61
+ // Set signers should replace all existing signers
62
+ const newSigners = ['0x111', '0x222'];
63
+ message.setSigners(newSigners);
64
+ should_1.default.deepEqual(message.getSigners(), newSigners);
65
+ });
66
+ it('should handle adding and getting signatures', () => {
67
+ const sig1 = 'signature1';
68
+ const sig2 = 'signature2';
69
+ message.addSignature(sig1);
70
+ should_1.default.deepEqual(message.getSignatures(), [sig1]);
71
+ message.addSignature(sig2);
72
+ should_1.default.deepEqual(message.getSignatures(), [sig1, sig2]);
73
+ // Set signatures should replace all existing signatures
74
+ const newSignatures = ['sig3', 'sig4'];
75
+ message.setSignatures(newSignatures);
76
+ should_1.default.deepEqual(message.getSignatures(), newSignatures);
77
+ });
78
+ it('should return copies of arrays to prevent mutation', () => {
79
+ const signers = ['addr1', 'addr2'];
80
+ const signatures = ['sig1', 'sig2'];
81
+ message.setSigners(signers);
82
+ message.setSignatures(signatures);
83
+ // Modifying the returned arrays should not affect the internal state
84
+ const returnedSigners = message.getSigners();
85
+ const returnedSignatures = message.getSignatures();
86
+ returnedSigners.push('addr3');
87
+ returnedSignatures.push('sig3');
88
+ should_1.default.deepEqual(message.getSigners(), signers);
89
+ should_1.default.deepEqual(message.getSignatures(), signatures);
90
+ });
91
+ });
92
+ describe('getSignablePayload', () => {
93
+ it('should return the signablePayload if set', async () => {
94
+ const customSignablePayload = '0xabcdef123456';
95
+ const message = new fixtures_1.TestMessage({
96
+ coinConfig,
97
+ payload: 'original payload',
98
+ signablePayload: customSignablePayload,
99
+ });
100
+ const result = await message.getSignablePayload();
101
+ should_1.default.equal(result, customSignablePayload);
102
+ });
103
+ it('should return the payload as buffer if signablePayload is not set', async () => {
104
+ const payload = 'test payload';
105
+ const message = new fixtures_1.TestMessage({
106
+ coinConfig,
107
+ payload,
108
+ });
109
+ const result = await message.getSignablePayload();
110
+ should_1.default.deepEqual(result, Buffer.from(payload));
111
+ });
112
+ });
113
+ describe('toBroadcastFormat', () => {
114
+ it('should throw an error if no signatures are available', async () => {
115
+ const message = new fixtures_1.TestMessage({
116
+ coinConfig,
117
+ payload: 'test',
118
+ signers: ['addr1'],
119
+ });
120
+ await message
121
+ .toBroadcastFormat()
122
+ .should.be.rejectedWith('No signatures available for broadcast. Call setSignatures or addSignature first.');
123
+ });
124
+ it('should throw an error if no signers are available', async () => {
125
+ const message = new fixtures_1.TestMessage({
126
+ coinConfig,
127
+ payload: 'test',
128
+ signatures: ['sig1'],
129
+ });
130
+ await message
131
+ .toBroadcastFormat()
132
+ .should.be.rejectedWith('No signers available for broadcast. Call setSigners or addSigner first.');
133
+ });
134
+ it('should create a proper broadcastable format with all fields', async () => {
135
+ const { payload, type, metadata, signers, signatures } = fixtures_1.messageSamples.eip191;
136
+ const customSignablePayload = Buffer.from('custom signable payload');
137
+ const message = new fixtures_1.TestMessage({
138
+ coinConfig,
139
+ payload,
140
+ type,
141
+ metadata,
142
+ signers,
143
+ signatures,
144
+ signablePayload: customSignablePayload,
145
+ });
146
+ const broadcastFormat = await message.toBroadcastFormat();
147
+ should_1.default.deepEqual(broadcastFormat, {
148
+ type,
149
+ payload,
150
+ signatures,
151
+ signers,
152
+ metadata,
153
+ signablePayload: customSignablePayload,
154
+ });
155
+ });
156
+ it('should perform a deep copy of metadata to prevent mutation', async () => {
157
+ const nestedMetadata = {
158
+ version: '1.0',
159
+ settings: {
160
+ chainId: 1,
161
+ gasLimit: 21000,
162
+ },
163
+ };
164
+ const message = new fixtures_1.TestMessage({
165
+ coinConfig,
166
+ payload: 'test',
167
+ metadata: nestedMetadata,
168
+ signers: ['addr1'],
169
+ signatures: ['sig1'],
170
+ });
171
+ const broadcastFormat = await message.toBroadcastFormat();
172
+ // The metadata in the broadcast format should be a deep copy
173
+ should_1.default.deepEqual(broadcastFormat.metadata, nestedMetadata);
174
+ // But it should not be the same object reference
175
+ should_1.default.notEqual(broadcastFormat.metadata, nestedMetadata);
176
+ // Modifying the original should not affect the broadcasted version
177
+ nestedMetadata.settings.gasLimit = 50000;
178
+ should_1.default.notEqual(broadcastFormat.metadata.settings.gasLimit, 50000);
179
+ });
180
+ });
181
+ describe('toBroadcastString', () => {
182
+ it('should serialize the broadcastable format to JSON string', async () => {
183
+ const { payload, type, metadata, signers, signatures } = fixtures_1.messageSamples.eip191;
184
+ const message = new fixtures_1.TestMessage({
185
+ coinConfig,
186
+ payload,
187
+ type,
188
+ metadata,
189
+ signers,
190
+ signatures,
191
+ });
192
+ const broadcastString = await message.toBroadcastString();
193
+ const parsed = JSON.parse(broadcastString);
194
+ should_1.default.deepEqual(parsed, {
195
+ type,
196
+ payload,
197
+ signatures,
198
+ signers,
199
+ metadata,
200
+ });
201
+ });
202
+ });
203
+ });
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvYmFzZU1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpREFBK0M7QUFDL0Msa0RBQTBCO0FBQzFCLG9EQUE0QjtBQUM1Qiw0Q0FBeUQ7QUFDekQseUNBQXlEO0FBRXpELFFBQVEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO0lBQzVCLElBQUksVUFBZ0QsQ0FBQztJQUVyRCxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsVUFBVSxHQUFHLGVBQUssQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUNBQXVDLEVBQUUsR0FBRyxFQUFFO1FBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksc0JBQVcsQ0FBQztZQUM5QixVQUFVO1lBQ1YsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDLENBQUM7UUFFSCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUseUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0QsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLGdCQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUMsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdDQUF3QyxF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LENBQUM7WUFDMUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUUzQyxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3ZCLElBQUk7Z0JBQ0osT0FBTztnQkFDUCxVQUFVO2dCQUNWLE9BQU87Z0JBQ1AsUUFBUTthQUNULENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBtZXNzYWdlU2FtcGxlcywgVGVzdE1lc3NhZ2UgfSBmcm9tICcuL2ZpeHR1cmVzJztcblxuZGVzY3JpYmUoJ0Jhc2UgTWVzc2FnZScsICgpID0+IHtcbiAgbGV0IGNvaW5Db25maWc6IHNpbm9uLlNpbm9uU3R1YmJlZEluc3RhbmNlPEJhc2VDb2luPjtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBjb2luQ29uZmlnID0gc2lub24uY3JlYXRlU3R1Ykluc3RhbmNlKEJhc2VDb2luKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBpbml0aWFsaXplIHdpdGggZGVmYXVsdCB2YWx1ZXMnLCAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBUZXN0TWVzc2FnZSh7XG4gICAgICBjb2luQ29uZmlnLFxuICAgICAgcGF5bG9hZDogJycsXG4gICAgfSk7XG5cbiAgICBzaG91bGQuZXF1YWwobWVzc2FnZS5nZXRUeXBlKCksIE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTik7XG4gICAgc2hvdWxkLmVxdWFsKG1lc3NhZ2UuZ2V0UGF5bG9hZCgpLCAnJyk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldE1ldGFkYXRhKCksIHt9KTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLCBbXSk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25lcnMoKSwgW10pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGluaXRpYWxpemUgd2l0aCBwcm92aWRlZCB2YWx1ZXMnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBwYXlsb2FkLCB0eXBlLCBtZXRhZGF0YSwgc2lnbmVycywgc2lnbmF0dXJlcyB9ID0gbWVzc2FnZVNhbXBsZXMuZWlwMTkxO1xuXG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBUZXN0TWVzc2FnZSh7XG4gICAgICBjb2luQ29uZmlnLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHR5cGUsXG4gICAgICBtZXRhZGF0YSxcbiAgICAgIHNpZ25lcnMsXG4gICAgICBzaWduYXR1cmVzLFxuICAgIH0pO1xuXG4gICAgc2hvdWxkLmVxdWFsKG1lc3NhZ2UuZ2V0VHlwZSgpLCB0eXBlKTtcbiAgICBzaG91bGQuZXF1YWwobWVzc2FnZS5nZXRQYXlsb2FkKCksIHBheWxvYWQpO1xuICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRNZXRhZGF0YSgpLCBtZXRhZGF0YSk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25hdHVyZXMoKSwgc2lnbmF0dXJlcyk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25lcnMoKSwgc2lnbmVycyk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdHZXR0ZXJzIGFuZCBTZXR0ZXJzJywgKCkgPT4ge1xuICAgIGxldCBtZXNzYWdlOiBUZXN0TWVzc2FnZTtcblxuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgbWVzc2FnZSA9IG5ldyBUZXN0TWVzc2FnZSh7XG4gICAgICAgIGNvaW5Db25maWcsXG4gICAgICAgIHBheWxvYWQ6ICd0ZXN0JyxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgYWRkaW5nIGFuZCBnZXR0aW5nIHNpZ25lcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzaWduZXIxID0gJzB4YWJjMTIzJztcbiAgICAgIGNvbnN0IHNpZ25lcjIgPSAnMHhkZWY0NTYnO1xuXG4gICAgICBtZXNzYWdlLmFkZFNpZ25lcihzaWduZXIxKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduZXJzKCksIFtzaWduZXIxXSk7XG5cbiAgICAgIG1lc3NhZ2UuYWRkU2lnbmVyKHNpZ25lcjIpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25lcnMoKSwgW3NpZ25lcjEsIHNpZ25lcjJdKTtcblxuICAgICAgLy8gQWRkaW5nIGEgZHVwbGljYXRlIHNpZ25lciBzaG91bGQgbm90IGFkZCBpdCBhZ2FpblxuICAgICAgbWVzc2FnZS5hZGRTaWduZXIoc2lnbmVyMSk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmVycygpLCBbc2lnbmVyMSwgc2lnbmVyMl0pO1xuXG4gICAgICAvLyBTZXQgc2lnbmVycyBzaG91bGQgcmVwbGFjZSBhbGwgZXhpc3Rpbmcgc2lnbmVyc1xuICAgICAgY29uc3QgbmV3U2lnbmVycyA9IFsnMHgxMTEnLCAnMHgyMjInXTtcbiAgICAgIG1lc3NhZ2Uuc2V0U2lnbmVycyhuZXdTaWduZXJzKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduZXJzKCksIG5ld1NpZ25lcnMpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgYWRkaW5nIGFuZCBnZXR0aW5nIHNpZ25hdHVyZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzaWcxID0gJ3NpZ25hdHVyZTEnO1xuICAgICAgY29uc3Qgc2lnMiA9ICdzaWduYXR1cmUyJztcblxuICAgICAgbWVzc2FnZS5hZGRTaWduYXR1cmUoc2lnMSk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLCBbc2lnMV0pO1xuXG4gICAgICBtZXNzYWdlLmFkZFNpZ25hdHVyZShzaWcyKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduYXR1cmVzKCksIFtzaWcxLCBzaWcyXSk7XG5cbiAgICAgIC8vIFNldCBzaWduYXR1cmVzIHNob3VsZCByZXBsYWNlIGFsbCBleGlzdGluZyBzaWduYXR1cmVzXG4gICAgICBjb25zdCBuZXdTaWduYXR1cmVzID0gWydzaWczJywgJ3NpZzQnXTtcbiAgICAgIG1lc3NhZ2Uuc2V0U2lnbmF0dXJlcyhuZXdTaWduYXR1cmVzKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduYXR1cmVzKCksIG5ld1NpZ25hdHVyZXMpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29waWVzIG9mIGFycmF5cyB0byBwcmV2ZW50IG11dGF0aW9uJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc2lnbmVycyA9IFsnYWRkcjEnLCAnYWRkcjInXTtcbiAgICAgIGNvbnN0IHNpZ25hdHVyZXMgPSBbJ3NpZzEnLCAnc2lnMiddO1xuXG4gICAgICBtZXNzYWdlLnNldFNpZ25lcnMoc2lnbmVycyk7XG4gICAgICBtZXNzYWdlLnNldFNpZ25hdHVyZXMoc2lnbmF0dXJlcyk7XG5cbiAgICAgIC8vIE1vZGlmeWluZyB0aGUgcmV0dXJuZWQgYXJyYXlzIHNob3VsZCBub3QgYWZmZWN0IHRoZSBpbnRlcm5hbCBzdGF0ZVxuICAgICAgY29uc3QgcmV0dXJuZWRTaWduZXJzID0gbWVzc2FnZS5nZXRTaWduZXJzKCk7XG4gICAgICBjb25zdCByZXR1cm5lZFNpZ25hdHVyZXMgPSBtZXNzYWdlLmdldFNpZ25hdHVyZXMoKTtcblxuICAgICAgcmV0dXJuZWRTaWduZXJzLnB1c2goJ2FkZHIzJyk7XG4gICAgICByZXR1cm5lZFNpZ25hdHVyZXMucHVzaCgnc2lnMycpO1xuXG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmVycygpLCBzaWduZXJzKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduYXR1cmVzKCksIHNpZ25hdHVyZXMpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0U2lnbmFibGVQYXlsb2FkJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBzaWduYWJsZVBheWxvYWQgaWYgc2V0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgY3VzdG9tU2lnbmFibGVQYXlsb2FkID0gJzB4YWJjZGVmMTIzNDU2JztcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgVGVzdE1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnLFxuICAgICAgICBwYXlsb2FkOiAnb3JpZ2luYWwgcGF5bG9hZCcsXG4gICAgICAgIHNpZ25hYmxlUGF5bG9hZDogY3VzdG9tU2lnbmFibGVQYXlsb2FkLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG1lc3NhZ2UuZ2V0U2lnbmFibGVQYXlsb2FkKCk7XG4gICAgICBzaG91bGQuZXF1YWwocmVzdWx0LCBjdXN0b21TaWduYWJsZVBheWxvYWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIHBheWxvYWQgYXMgYnVmZmVyIGlmIHNpZ25hYmxlUGF5bG9hZCBpcyBub3Qgc2V0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcGF5bG9hZCA9ICd0ZXN0IHBheWxvYWQnO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBUZXN0TWVzc2FnZSh7XG4gICAgICAgIGNvaW5Db25maWcsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbWVzc2FnZS5nZXRTaWduYWJsZVBheWxvYWQoKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwocmVzdWx0LCBCdWZmZXIuZnJvbShwYXlsb2FkKSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd0b0Jyb2FkY2FzdEZvcm1hdCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIG5vIHNpZ25hdHVyZXMgYXJlIGF2YWlsYWJsZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgVGVzdE1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnLFxuICAgICAgICBwYXlsb2FkOiAndGVzdCcsXG4gICAgICAgIHNpZ25lcnM6IFsnYWRkcjEnXSxcbiAgICAgIH0pO1xuXG4gICAgICBhd2FpdCBtZXNzYWdlXG4gICAgICAgIC50b0Jyb2FkY2FzdEZvcm1hdCgpXG4gICAgICAgIC5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdObyBzaWduYXR1cmVzIGF2YWlsYWJsZSBmb3IgYnJvYWRjYXN0LiBDYWxsIHNldFNpZ25hdHVyZXMgb3IgYWRkU2lnbmF0dXJlIGZpcnN0LicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBpZiBubyBzaWduZXJzIGFyZSBhdmFpbGFibGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gbmV3IFRlc3RNZXNzYWdlKHtcbiAgICAgICAgY29pbkNvbmZpZyxcbiAgICAgICAgcGF5bG9hZDogJ3Rlc3QnLFxuICAgICAgICBzaWduYXR1cmVzOiBbJ3NpZzEnXSxcbiAgICAgIH0pO1xuXG4gICAgICBhd2FpdCBtZXNzYWdlXG4gICAgICAgIC50b0Jyb2FkY2FzdEZvcm1hdCgpXG4gICAgICAgIC5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdObyBzaWduZXJzIGF2YWlsYWJsZSBmb3IgYnJvYWRjYXN0LiBDYWxsIHNldFNpZ25lcnMgb3IgYWRkU2lnbmVyIGZpcnN0LicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjcmVhdGUgYSBwcm9wZXIgYnJvYWRjYXN0YWJsZSBmb3JtYXQgd2l0aCBhbGwgZmllbGRzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgeyBwYXlsb2FkLCB0eXBlLCBtZXRhZGF0YSwgc2lnbmVycywgc2lnbmF0dXJlcyB9ID0gbWVzc2FnZVNhbXBsZXMuZWlwMTkxO1xuICAgICAgY29uc3QgY3VzdG9tU2lnbmFibGVQYXlsb2FkID0gQnVmZmVyLmZyb20oJ2N1c3RvbSBzaWduYWJsZSBwYXlsb2FkJyk7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgVGVzdE1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICB0eXBlLFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgc2lnbmVycyxcbiAgICAgICAgc2lnbmF0dXJlcyxcbiAgICAgICAgc2lnbmFibGVQYXlsb2FkOiBjdXN0b21TaWduYWJsZVBheWxvYWQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgYnJvYWRjYXN0Rm9ybWF0ID0gYXdhaXQgbWVzc2FnZS50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuXG4gICAgICBzaG91bGQuZGVlcEVxdWFsKGJyb2FkY2FzdEZvcm1hdCwge1xuICAgICAgICB0eXBlLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICBzaWduYXR1cmVzLFxuICAgICAgICBzaWduZXJzLFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgc2lnbmFibGVQYXlsb2FkOiBjdXN0b21TaWduYWJsZVBheWxvYWQsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcGVyZm9ybSBhIGRlZXAgY29weSBvZiBtZXRhZGF0YSB0byBwcmV2ZW50IG11dGF0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbmVzdGVkTWV0YWRhdGEgPSB7XG4gICAgICAgIHZlcnNpb246ICcxLjAnLFxuICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgIGNoYWluSWQ6IDEsXG4gICAgICAgICAgZ2FzTGltaXQ6IDIxMDAwLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBUZXN0TWVzc2FnZSh7XG4gICAgICAgIGNvaW5Db25maWcsXG4gICAgICAgIHBheWxvYWQ6ICd0ZXN0JyxcbiAgICAgICAgbWV0YWRhdGE6IG5lc3RlZE1ldGFkYXRhLFxuICAgICAgICBzaWduZXJzOiBbJ2FkZHIxJ10sXG4gICAgICAgIHNpZ25hdHVyZXM6IFsnc2lnMSddLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGJyb2FkY2FzdEZvcm1hdCA9IGF3YWl0IG1lc3NhZ2UudG9Ccm9hZGNhc3RGb3JtYXQoKTtcblxuICAgICAgLy8gVGhlIG1ldGFkYXRhIGluIHRoZSBicm9hZGNhc3QgZm9ybWF0IHNob3VsZCBiZSBhIGRlZXAgY29weVxuICAgICAgc2hvdWxkLmRlZXBFcXVhbChicm9hZGNhc3RGb3JtYXQubWV0YWRhdGEsIG5lc3RlZE1ldGFkYXRhKTtcblxuICAgICAgLy8gQnV0IGl0IHNob3VsZCBub3QgYmUgdGhlIHNhbWUgb2JqZWN0IHJlZmVyZW5jZVxuICAgICAgc2hvdWxkLm5vdEVxdWFsKGJyb2FkY2FzdEZvcm1hdC5tZXRhZGF0YSwgbmVzdGVkTWV0YWRhdGEpO1xuXG4gICAgICAvLyBNb2RpZnlpbmcgdGhlIG9yaWdpbmFsIHNob3VsZCBub3QgYWZmZWN0IHRoZSBicm9hZGNhc3RlZCB2ZXJzaW9uXG4gICAgICBuZXN0ZWRNZXRhZGF0YS5zZXR0aW5ncy5nYXNMaW1pdCA9IDUwMDAwO1xuICAgICAgc2hvdWxkLm5vdEVxdWFsKChicm9hZGNhc3RGb3JtYXQubWV0YWRhdGEgYXMgYW55KS5zZXR0aW5ncy5nYXNMaW1pdCwgNTAwMDApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndG9Ccm9hZGNhc3RTdHJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBzZXJpYWxpemUgdGhlIGJyb2FkY2FzdGFibGUgZm9ybWF0IHRvIEpTT04gc3RyaW5nJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgeyBwYXlsb2FkLCB0eXBlLCBtZXRhZGF0YSwgc2lnbmVycywgc2lnbmF0dXJlcyB9ID0gbWVzc2FnZVNhbXBsZXMuZWlwMTkxO1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gbmV3IFRlc3RNZXNzYWdlKHtcbiAgICAgICAgY29pbkNvbmZpZyxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgdHlwZSxcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgIHNpZ25lcnMsXG4gICAgICAgIHNpZ25hdHVyZXMsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgYnJvYWRjYXN0U3RyaW5nID0gYXdhaXQgbWVzc2FnZS50b0Jyb2FkY2FzdFN0cmluZygpO1xuICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShicm9hZGNhc3RTdHJpbmcpO1xuXG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHBhcnNlZCwge1xuICAgICAgICB0eXBlLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICBzaWduYXR1cmVzLFxuICAgICAgICBzaWduZXJzLFxuICAgICAgICBtZXRhZGF0YSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=baseMessageBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseMessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/account-lib/baseCoin/messages/baseMessageBuilder.ts"],"names":[],"mappings":""}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const statics_1 = require("@bitgo-beta/statics");
7
+ const sinon_1 = __importDefault(require("sinon"));
8
+ const should_1 = __importDefault(require("should"));
9
+ const src_1 = require("../../../../../src");
10
+ const fixtures_1 = require("./fixtures");
11
+ describe('Base Message Builder', () => {
12
+ let builder;
13
+ let mockCoinConfig;
14
+ beforeEach(() => {
15
+ mockCoinConfig = sinon_1.default.createStubInstance(statics_1.BaseCoin);
16
+ builder = new fixtures_1.TestMessageBuilder(mockCoinConfig, src_1.MessageStandardType.EIP191);
17
+ });
18
+ it('should initialize with default values', () => {
19
+ should_1.default.equal(builder.getPayload(), '');
20
+ should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
21
+ should_1.default.deepEqual(builder.getSignatures(), []);
22
+ should_1.default.deepEqual(builder.getSigners(), []);
23
+ should_1.default.deepEqual(builder.getMetadata(), {});
24
+ should_1.default.equal(builder.getDigest(), undefined);
25
+ });
26
+ it('should set and get payload', () => {
27
+ const payload = 'test payload';
28
+ builder.setPayload(payload);
29
+ should_1.default.equal(builder.getPayload(), payload);
30
+ });
31
+ it('should set and get metadata', () => {
32
+ const metadata = { key: 'value', num: 123 };
33
+ builder.setMetadata(metadata);
34
+ should_1.default.deepEqual(builder.getMetadata(), metadata);
35
+ });
36
+ it('should set and get type', () => {
37
+ const type = src_1.MessageStandardType.UNKNOWN;
38
+ builder.setType(type);
39
+ should_1.default.equal(builder.getType(), type);
40
+ });
41
+ it('should set and get signatures', () => {
42
+ const signatures = ['sig1', 'sig2', 'sig3'];
43
+ builder.setSignatures(signatures);
44
+ should_1.default.deepEqual(builder.getSignatures(), signatures);
45
+ });
46
+ it('should set and get signers', () => {
47
+ const signers = ['address1', 'address2', 'address3'];
48
+ builder.setSigners(signers);
49
+ should_1.default.deepEqual(builder.getSigners(), signers);
50
+ });
51
+ it('should set and get digest', () => {
52
+ const digest = '0x1234abcd';
53
+ builder.setDigest(digest);
54
+ should_1.default.equal(builder.getDigest(), digest);
55
+ });
56
+ it('should build a message with the correct properties', async () => {
57
+ const payload = 'test message';
58
+ const metadata = { foo: 'bar' };
59
+ const signatures = ['sig1', 'sig2'];
60
+ const signers = ['addr1', 'addr2'];
61
+ builder
62
+ .setType(src_1.MessageStandardType.EIP191)
63
+ .setPayload(payload)
64
+ .setMetadata(metadata)
65
+ .setSignatures(signatures)
66
+ .setSigners(signers);
67
+ const message = await builder.build();
68
+ should_1.default.equal(message.getType(), src_1.MessageStandardType.EIP191);
69
+ should_1.default.equal(message.getPayload(), payload);
70
+ should_1.default.deepEqual(message.getMetadata(), metadata);
71
+ should_1.default.deepEqual(message.getSignatures(), signatures);
72
+ should_1.default.deepEqual(message.getSigners(), signers);
73
+ const signablePayload = await message.getSignablePayload();
74
+ should_1.default.deepEqual(signablePayload, Buffer.from(payload));
75
+ });
76
+ it('should correctly handle toBroadcastFormat', async () => {
77
+ const payload = 'hello world';
78
+ const metadata = { version: '1.0' };
79
+ const signatures = ['sig1'];
80
+ const signers = ['addr1'];
81
+ builder
82
+ .setType(src_1.MessageStandardType.EIP191)
83
+ .setPayload(payload)
84
+ .setMetadata(metadata)
85
+ .setSignatures(signatures)
86
+ .setSigners(signers);
87
+ const message = await builder.build();
88
+ const broadcastFormat = await message.toBroadcastFormat();
89
+ should_1.default.deepEqual(broadcastFormat, {
90
+ type: src_1.MessageStandardType.EIP191,
91
+ payload: payload,
92
+ signatures: signatures,
93
+ signers: signers,
94
+ metadata: metadata,
95
+ signablePayload: undefined,
96
+ });
97
+ });
98
+ it('should correctly handle fromBroadcastFormat', async () => {
99
+ const broadcastMessage = {
100
+ type: src_1.MessageStandardType.EIP191,
101
+ payload: 'broadcast test',
102
+ signatures: ['sig1', 'sig2'],
103
+ signers: ['addr1', 'addr2'],
104
+ metadata: { chainId: 1 },
105
+ };
106
+ const message = await builder.fromBroadcastFormat(broadcastMessage);
107
+ should_1.default.equal(message.getType(), broadcastMessage.type);
108
+ should_1.default.equal(message.getPayload(), broadcastMessage.payload);
109
+ should_1.default.deepEqual(message.getSignatures(), broadcastMessage.signatures);
110
+ should_1.default.deepEqual(message.getSigners(), broadcastMessage.signers);
111
+ should_1.default.deepEqual(message.getMetadata(), broadcastMessage.metadata);
112
+ });
113
+ it('should correctly handle toBroadcastString', async () => {
114
+ const payload = 'serialize me';
115
+ const signatures = ['sig1'];
116
+ const signers = ['addr1'];
117
+ builder.setType(src_1.MessageStandardType.EIP191).setPayload(payload).setSignatures(signatures).setSigners(signers);
118
+ const message = await builder.build();
119
+ const broadcastString = await message.toBroadcastString();
120
+ const expectedJson = JSON.stringify({
121
+ type: src_1.MessageStandardType.EIP191,
122
+ payload: payload,
123
+ signatures: signatures,
124
+ signers: signers,
125
+ metadata: {},
126
+ });
127
+ should_1.default.equal(broadcastString, expectedJson);
128
+ });
129
+ });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2FjY291bnQtbGliL2Jhc2VDb2luL21lc3NhZ2VzL2Jhc2VNZXNzYWdlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUErQztBQUMvQyxrREFBMEI7QUFDMUIsb0RBQTRCO0FBQzVCLDRDQUF5RDtBQUN6RCx5Q0FBZ0Q7QUFFaEQsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtJQUNwQyxJQUFJLE9BQTJCLENBQUM7SUFDaEMsSUFBSSxjQUFvRCxDQUFDO0lBRXpELFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxjQUFjLEdBQUcsZUFBSyxDQUFDLGtCQUFrQixDQUFDLGtCQUFRLENBQUMsQ0FBQztRQUNwRCxPQUFPLEdBQUcsSUFBSSw2QkFBa0IsQ0FBQyxjQUFxQyxFQUFFLHlCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RHLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRTtRQUMvQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLHlCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELGdCQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLGdCQUFNLENBQUMs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Q0FBQyxDQUFDO1FBQ2pFLGdCQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN6RCxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUM7UUFDL0IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixNQUFNLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLE9BQU8sQ0FBQyxPQUFPLENBQUMseUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUcsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEMsTUFBTSxlQUFlLEdBQUcsTUFBTSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUUxRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2xDLElBQUksRUFBRSx5QkFBbUIsQ0FBQyxNQUFNO1lBQ2hDLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQyxDQUFDO1FBRUgsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IE1lc3NhZ2VTdGFuZGFyZFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHsgVGVzdE1lc3NhZ2VCdWlsZGVyIH0gZnJvbSAnLi9maXh0dXJlcyc7XG5cbmRlc2NyaWJlKCdCYXNlIE1lc3NhZ2UgQnVpbGRlcicsICgpID0+IHtcbiAgbGV0IGJ1aWxkZXI6IFRlc3RNZXNzYWdlQnVpbGRlcjtcbiAgbGV0IG1vY2tDb2luQ29uZmlnOiBzaW5vbi5TaW5vblN0dWJiZWRJbnN0YW5jZTxCYXNlQ29pbj47XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgbW9ja0NvaW5Db25maWcgPSBzaW5vbi5jcmVhdGVTdHViSW5zdGFuY2UoQmFzZUNvaW4pO1xuICAgIGJ1aWxkZXIgPSBuZXcgVGVzdE1lc3NhZ2VCdWlsZGVyKG1vY2tDb2luQ29uZmlnIGFzIHVua25vd24gYXMgQmFzZUNvaW4sIE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBpbml0aWFsaXplIHdpdGggZGVmYXVsdCB2YWx1ZXMnLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0UGF5bG9hZCgpLCAnJyk7XG4gICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0VHlwZSgpLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChidWlsZGVyLmdldFNpZ25hdHVyZXMoKSwgW10pO1xuICAgIHNob3VsZC5kZWVwRXF1YWwoYnVpbGRlci5nZXRTaWduZXJzKCksIFtdKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKGJ1aWxkZXIuZ2V0TWV0YWRhdGEoKSwge30pO1xuICAgIHNob3VsZC5lcXVhbChidWlsZGVyLmdldERpZ2VzdCgpLCB1bmRlZmluZWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHNldCBhbmQgZ2V0IHBheWxvYWQnLCAoKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9ICd0ZXN0IHBheWxvYWQnO1xuICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChwYXlsb2FkKTtcbiAgICBzaG91bGQuZXF1YWwoYnVpbGRlci5nZXRQYXlsb2FkKCksIHBheWxvYWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHNldCBhbmQgZ2V0IG1ldGFkYXRhJywgKCkgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhID0geyBrZXk6ICd2YWx1ZScsIG51bTogMTIzIH07XG4gICAgYnVpbGRlci5zZXRNZXRhZGF0YShtZXRhZGF0YSk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChidWlsZGVyLmdldE1ldGFkYXRhKCksIG1ldGFkYXRhKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzZXQgYW5kIGdldCB0eXBlJywgKCkgPT4ge1xuICAgIGNvbnN0IHR5cGUgPSBNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV047XG4gICAgYnVpbGRlci5zZXRUeXBlKHR5cGUpO1xuICAgIHNob3VsZC5lcXVhbChidWlsZGVyLmdldFR5cGUoKSwgdHlwZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgc2V0IGFuZCBnZXQgc2lnbmF0dXJlcycsICgpID0+IHtcbiAgICBjb25zdCBzaWduYXR1cmVzID0gWydzaWcxJywgJ3NpZzInLCAnc2lnMyddO1xuICAgIGJ1aWxkZXIuc2V0U2lnbmF0dXJlcyhzaWduYXR1cmVzKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKGJ1aWxkZXIuZ2V0U2lnbmF0dXJlcygpLCBzaWduYXR1cmVzKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzZXQgYW5kIGdldCBzaWduZXJzJywgKCkgPT4ge1xuICAgIGNvbnN0IHNpZ25lcnMgPSBbJ2FkZHJlc3MxJywgJ2FkZHJlc3MyJywgJ2FkZHJlc3MzJ107XG4gICAgYnVpbGRlci5zZXRTaWduZXJzKHNpZ25lcnMpO1xuICAgIHNob3VsZC5kZWVwRXF1YWwoYnVpbGRlci5nZXRTaWduZXJzKCksIHNpZ25lcnMpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHNldCBhbmQgZ2V0IGRpZ2VzdCcsICgpID0+IHtcbiAgICBjb25zdCBkaWdlc3QgPSAnMHgxMjM0YWJjZCc7XG4gICAgYnVpbGRlci5zZXREaWdlc3QoZGlnZXN0KTtcbiAgICBzaG91bGQuZXF1YWwoYnVpbGRlci5nZXREaWdlc3QoKSwgZGlnZXN0KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBidWlsZCBhIG1lc3NhZ2Ugd2l0aCB0aGUgY29ycmVjdCBwcm9wZXJ0aWVzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSAndGVzdCBtZXNzYWdlJztcbiAgICBjb25zdCBtZXRhZGF0YSA9IHsgZm9vOiAnYmFyJyB9O1xuICAgIGNvbnN0IHNpZ25hdHVyZXMgPSBbJ3NpZzEnLCAnc2lnMiddO1xuICAgIGNvbnN0IHNpZ25lcnMgPSBbJ2FkZHIxJywgJ2FkZHIyJ107XG5cbiAgICBidWlsZGVyXG4gICAgICAuc2V0VHlwZShNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSlcbiAgICAgIC5zZXRQYXlsb2FkKHBheWxvYWQpXG4gICAgICAuc2V0TWV0YWRhdGEobWV0YWRhdGEpXG4gICAgICAuc2V0U2lnbmF0dXJlcyhzaWduYXR1cmVzKVxuICAgICAgLnNldFNpZ25lcnMoc2lnbmVycyk7XG5cbiAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuXG4gICAgc2hvdWxkLmVxdWFsKG1lc3NhZ2UuZ2V0VHlwZSgpLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgc2hvdWxkLmVxdWFsKG1lc3NhZ2UuZ2V0UGF5bG9hZCgpLCBwYXlsb2FkKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0TWV0YWRhdGEoKSwgbWV0YWRhdGEpO1xuICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduYXR1cmVzKCksIHNpZ25hdHVyZXMpO1xuICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRTaWduZXJzKCksIHNpZ25lcnMpO1xuXG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gYXdhaXQgbWVzc2FnZS5nZXRTaWduYWJsZVBheWxvYWQoKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKHNpZ25hYmxlUGF5bG9hZCwgQnVmZmVyLmZyb20ocGF5bG9hZCkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNvcnJlY3RseSBoYW5kbGUgdG9Ccm9hZGNhc3RGb3JtYXQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9ICdoZWxsbyB3b3JsZCc7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB7IHZlcnNpb246ICcxLjAnIH07XG4gICAgY29uc3Qgc2lnbmF0dXJlcyA9IFsnc2lnMSddO1xuICAgIGNvbnN0IHNpZ25lcnMgPSBbJ2FkZHIxJ107XG5cbiAgICBidWlsZGVyXG4gICAgICAuc2V0VHlwZShNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSlcbiAgICAgIC5zZXRQYXlsb2FkKHBheWxvYWQpXG4gICAgICAuc2V0TWV0YWRhdGEobWV0YWRhdGEpXG4gICAgICAuc2V0U2lnbmF0dXJlcyhzaWduYXR1cmVzKVxuICAgICAgLnNldFNpZ25lcnMoc2lnbmVycyk7XG5cbiAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuICAgIGNvbnN0IGJyb2FkY2FzdEZvcm1hdCA9IGF3YWl0IG1lc3NhZ2UudG9Ccm9hZGNhc3RGb3JtYXQoKTtcblxuICAgIHNob3VsZC5kZWVwRXF1YWwoYnJvYWRjYXN0Rm9ybWF0LCB7XG4gICAgICB0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSxcbiAgICAgIHBheWxvYWQ6IHBheWxvYWQsXG4gICAgICBzaWduYXR1cmVzOiBzaWduYXR1cmVzLFxuICAgICAgc2lnbmVyczogc2lnbmVycyxcbiAgICAgIG1ldGFkYXRhOiBtZXRhZGF0YSxcbiAgICAgIHNpZ25hYmxlUGF5bG9hZDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNvcnJlY3RseSBoYW5kbGUgZnJvbUJyb2FkY2FzdEZvcm1hdCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBicm9hZGNhc3RNZXNzYWdlID0ge1xuICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgICBwYXlsb2FkOiAnYnJvYWRjYXN0IHRlc3QnLFxuICAgICAgc2lnbmF0dXJlczogWydzaWcxJywgJ3NpZzInXSxcbiAgICAgIHNpZ25lcnM6IFsnYWRkcjEnLCAnYWRkcjInXSxcbiAgICAgIG1ldGFkYXRhOiB7IGNoYWluSWQ6IDEgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuZnJvbUJyb2FkY2FzdEZvcm1hdChicm9hZGNhc3RNZXNzYWdlKTtcblxuICAgIHNob3VsZC5lcXVhbChtZXNzYWdlLmdldFR5cGUoKSwgYnJvYWRjYXN0TWVzc2FnZS50eXBlKTtcbiAgICBzaG91bGQuZXF1YWwobWVzc2FnZS5nZXRQYXlsb2FkKCksIGJyb2FkY2FzdE1lc3NhZ2UucGF5bG9hZCk7XG4gICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLmdldFNpZ25hdHVyZXMoKSwgYnJvYWRjYXN0TWVzc2FnZS5zaWduYXR1cmVzKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0U2lnbmVycygpLCBicm9hZGNhc3RNZXNzYWdlLnNpZ25lcnMpO1xuICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRNZXRhZGF0YSgpLCBicm9hZGNhc3RNZXNzYWdlLm1ldGFkYXRhKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjb3JyZWN0bHkgaGFuZGxlIHRvQnJvYWRjYXN0U3RyaW5nJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSAnc2VyaWFsaXplIG1lJztcbiAgICBjb25zdCBzaWduYXR1cmVzID0gWydzaWcxJ107XG4gICAgY29uc3Qgc2lnbmVycyA9IFsnYWRkcjEnXTtcblxuICAgIGJ1aWxkZXIuc2V0VHlwZShNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSkuc2V0UGF5bG9hZChwYXlsb2FkKS5zZXRTaWduYXR1cmVzKHNpZ25hdHVyZXMpLnNldFNpZ25lcnMoc2lnbmVycyk7XG5cbiAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuICAgIGNvbnN0IGJyb2FkY2FzdFN0cmluZyA9IGF3YWl0IG1lc3NhZ2UudG9Ccm9hZGNhc3RTdHJpbmcoKTtcblxuICAgIGNvbnN0IGV4cGVjdGVkSnNvbiA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxLFxuICAgICAgcGF5bG9hZDogcGF5bG9hZCxcbiAgICAgIHNpZ25hdHVyZXM6IHNpZ25hdHVyZXMsXG4gICAgICBzaWduZXJzOiBzaWduZXJzLFxuICAgICAgbWV0YWRhdGE6IHt9LFxuICAgIH0pO1xuXG4gICAgc2hvdWxkLmVxdWFsKGJyb2FkY2FzdFN0cmluZywgZXhwZWN0ZWRKc29uKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=baseMessageBuilderFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseMessageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.ts"],"names":[],"mappings":""}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const statics_1 = require("@bitgo-beta/statics");
7
+ const sinon_1 = __importDefault(require("sinon"));
8
+ const should_1 = __importDefault(require("should"));
9
+ const src_1 = require("../../../../../src");
10
+ const fixtures_1 = require("./fixtures");
11
+ describe('Base Message Builder Factory', () => {
12
+ let factory;
13
+ let mockCoinConfig;
14
+ beforeEach(() => {
15
+ mockCoinConfig = sinon_1.default.createStubInstance(statics_1.BaseCoin);
16
+ factory = new fixtures_1.TestMessageBuilderFactory(mockCoinConfig);
17
+ });
18
+ describe('getMessageBuilder', () => {
19
+ it('should create a message builder for EIP191 type', () => {
20
+ const builder = factory.getMessageBuilder(src_1.MessageStandardType.EIP191);
21
+ should_1.default.exist(builder);
22
+ should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
23
+ });
24
+ it('should create a message builder for UNKNOWN type', () => {
25
+ const builder = factory.getMessageBuilder(src_1.MessageStandardType.UNKNOWN);
26
+ should_1.default.exist(builder);
27
+ should_1.default.equal(builder.getType(), src_1.MessageStandardType.UNKNOWN);
28
+ });
29
+ });
30
+ describe('fromBroadcastFormat', () => {
31
+ it('should create a builder from a broadcast message', () => {
32
+ const broadcastMessage = {
33
+ type: src_1.MessageStandardType.EIP191,
34
+ payload: 'hello world',
35
+ signatures: ['sig1'],
36
+ signers: ['addr1'],
37
+ metadata: { version: '1.0' },
38
+ };
39
+ const builder = factory.fromBroadcastFormat(broadcastMessage);
40
+ should_1.default.exist(builder);
41
+ // Since the TestMessageBuilder always returns the same type that was passed to constructor
42
+ should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
43
+ });
44
+ });
45
+ describe('fromBroadcastString', () => {
46
+ it('should parse a broadcast message string and create the appropriate builder', () => {
47
+ const broadcastMessage = {
48
+ type: src_1.MessageStandardType.EIP191,
49
+ payload: 'test message',
50
+ signatures: ['sig1', 'sig2'],
51
+ signers: ['addr1', 'addr2'],
52
+ metadata: { chainId: 1 },
53
+ };
54
+ const broadcastString = JSON.stringify(broadcastMessage);
55
+ const builder = factory.fromBroadcastString(broadcastString);
56
+ should_1.default.exist(builder);
57
+ // Since the TestMessageBuilder always returns the same type that was passed to constructor
58
+ should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
59
+ });
60
+ it('should handle broadcast messages with different types', () => {
61
+ const broadcastMessage = {
62
+ type: src_1.MessageStandardType.UNKNOWN,
63
+ payload: 'unknown message',
64
+ signatures: ['sig1'],
65
+ signers: ['addr1'],
66
+ };
67
+ const broadcastString = JSON.stringify(broadcastMessage);
68
+ const builder = factory.fromBroadcastString(broadcastString);
69
+ should_1.default.exist(builder);
70
+ should_1.default.equal(builder.getType(), src_1.MessageStandardType.UNKNOWN);
71
+ });
72
+ it('should handle broadcast messages without optional fields', () => {
73
+ const broadcastMessage = {
74
+ type: src_1.MessageStandardType.EIP191,
75
+ payload: 'minimal message',
76
+ signatures: [],
77
+ signers: [],
78
+ };
79
+ const broadcastString = JSON.stringify(broadcastMessage);
80
+ const builder = factory.fromBroadcastString(broadcastString);
81
+ should_1.default.exist(builder);
82
+ should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
83
+ });
84
+ });
85
+ });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9hY2NvdW50LWxpYi9iYXNlQ29pbi9tZXNzYWdlcy9iYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQStDO0FBQy9DLGtEQUEwQjtBQUMxQixvREFBNEI7QUFDNUIsNENBQStFO0FBQy9FLHlDQUF1RDtBQUV2RCxRQUFRLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO0lBQzVDLElBQUksT0FBa0MsQ0FBQztJQUN2QyxJQUFJLGNBQW9ELENBQUM7SUFFekQsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLGNBQWMsR0FBRyxlQUFLLENBQUMsa0JBQWtCLENBQUMsa0JBQVEsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sR0FBRyxJQUFJLG9DQUF5QixDQUFDLGNBQXFDLENBQUMsQ0FBQztJQUNqRixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFDakMsRUFBRSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRTtZQUN6RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMseUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLHlCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtZQUMxRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMseUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkUsZ0JBQU0sQ0FB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LEVBQUU7Z0JBQ2QsT0FBTyxFQUFFLEVBQUU7YUFDWixDQUFDO1lBRUYsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3pELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUU3RCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUseUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBCcm9hZGNhc3RhYmxlTWVzc2FnZSwgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBUZXN0TWVzc2FnZUJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi9maXh0dXJlcyc7XG5cbmRlc2NyaWJlKCdCYXNlIE1lc3NhZ2UgQnVpbGRlciBGYWN0b3J5JywgKCkgPT4ge1xuICBsZXQgZmFjdG9yeTogVGVzdE1lc3NhZ2VCdWlsZGVyRmFjdG9yeTtcbiAgbGV0IG1vY2tDb2luQ29uZmlnOiBzaW5vbi5TaW5vblN0dWJiZWRJbnN0YW5jZTxCYXNlQ29pbj47XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgbW9ja0NvaW5Db25maWcgPSBzaW5vbi5jcmVhdGVTdHViSW5zdGFuY2UoQmFzZUNvaW4pO1xuICAgIGZhY3RvcnkgPSBuZXcgVGVzdE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShtb2NrQ29pbkNvbmZpZyBhcyB1bmtub3duIGFzIEJhc2VDb2luKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldE1lc3NhZ2VCdWlsZGVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY3JlYXRlIGEgbWVzc2FnZSBidWlsZGVyIGZvciBFSVAxOTEgdHlwZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgICAgIHNob3VsZC5leGlzdChidWlsZGVyKTtcbiAgICAgIHNob3VsZC5lcXVhbChidWlsZGVyLmdldFR5cGUoKSwgTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjcmVhdGUgYSBtZXNzYWdlIGJ1aWxkZXIgZm9yIFVOS05PV04gdHlwZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTik7XG4gICAgICBzaG91bGQuZXhpc3QoYnVpbGRlcik7XG4gICAgICBzaG91bGQuZXF1YWwoYnVpbGRlci5nZXRUeXBlKCksIE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmcm9tQnJvYWRjYXN0Rm9ybWF0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY3JlYXRlIGEgYnVpbGRlciBmcm9tIGEgYnJvYWRjYXN0IG1lc3NhZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBicm9hZGNhc3RNZXNzYWdlOiBCcm9hZGNhc3RhYmxlTWVzc2FnZSA9IHtcbiAgICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgICAgIHBheWxvYWQ6ICdoZWxsbyB3b3JsZCcsXG4gICAgICAgIHNpZ25hdHVyZXM6IFsnc2lnMSddLFxuICAgICAgICBzaWduZXJzOiBbJ2FkZHIxJ10sXG4gICAgICAgIG1ldGFkYXRhOiB7IHZlcnNpb246ICcxLjAnIH0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5mcm9tQnJvYWRjYXN0Rm9ybWF0KGJyb2FkY2FzdE1lc3NhZ2UpO1xuICAgICAgc2hvdWxkLmV4aXN0KGJ1aWxkZXIpO1xuICAgICAgLy8gU2luY2UgdGhlIFRlc3RNZXNzYWdlQnVpbGRlciBhbHdheXMgcmV0dXJucyB0aGUgc2FtZSB0eXBlIHRoYXQgd2FzIHBhc3NlZCB0byBjb25zdHJ1Y3RvclxuICAgICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0VHlwZSgpLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmcm9tQnJvYWRjYXN0U3RyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcGFyc2UgYSBicm9hZGNhc3QgbWVzc2FnZSBzdHJpbmcgYW5kIGNyZWF0ZSB0aGUgYXBwcm9wcmlhdGUgYnVpbGRlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IGJyb2FkY2FzdE1lc3NhZ2U6IEJyb2FkY2FzdGFibGVNZXNzYWdlID0ge1xuICAgICAgICB0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSxcbiAgICAgICAgcGF5bG9hZDogJ3Rlc3QgbWVzc2FnZScsXG4gICAgICAgIHNpZ25hdHVyZXM6IFsnc2lnMScsICdzaWcyJ10sXG4gICAgICAgIHNpZ25lcnM6IFsnYWRkcjEnLCAnYWRkcjInXSxcbiAgICAgICAgbWV0YWRhdGE6IHsgY2hhaW5JZDogMSB9LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgYnJvYWRjYXN0U3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoYnJvYWRjYXN0TWVzc2FnZSk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5mcm9tQnJvYWRjYXN0U3RyaW5nKGJyb2FkY2FzdFN0cmluZyk7XG5cbiAgICAgIHNob3VsZC5leGlzdChidWlsZGVyKTtcbiAgICAgIC8vIFNpbmNlIHRoZSBUZXN0TWVzc2FnZUJ1aWxkZXIgYWx3YXlzIHJldHVybnMgdGhlIHNhbWUgdHlwZSB0aGF0IHdhcyBwYXNzZWQgdG8gY29uc3RydWN0b3JcbiAgICAgIHNob3VsZC5lcXVhbChidWlsZGVyLmdldFR5cGUoKSwgTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgYnJvYWRjYXN0IG1lc3NhZ2VzIHdpdGggZGlmZmVyZW50IHR5cGVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYnJvYWRjYXN0TWVzc2FnZTogQnJvYWRjYXN0YWJsZU1lc3NhZ2UgPSB7XG4gICAgICAgIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTixcbiAgICAgICAgcGF5bG9hZDogJ3Vua25vd24gbWVzc2FnZScsXG4gICAgICAgIHNpZ25hdHVyZXM6IFsnc2lnMSddLFxuICAgICAgICBzaWduZXJzOiBbJ2FkZHIxJ10sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBicm9hZGNhc3RTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShicm9hZGNhc3RNZXNzYWdlKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmZyb21Ccm9hZGNhc3RTdHJpbmcoYnJvYWRjYXN0U3RyaW5nKTtcblxuICAgICAgc2hvdWxkLmV4aXN0KGJ1aWxkZXIpO1xuICAgICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0VHlwZSgpLCBNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV04pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgYnJvYWRjYXN0IG1lc3NhZ2VzIHdpdGhvdXQgb3B0aW9uYWwgZmllbGRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYnJvYWRjYXN0TWVzc2FnZSA9IHtcbiAgICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgICAgIHBheWxvYWQ6ICdtaW5pbWFsIG1lc3NhZ2UnLFxuICAgICAgICBzaWduYXR1cmVzOiBbXSxcbiAgICAgICAgc2lnbmVyczogW10sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBicm9hZGNhc3RTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShicm9hZGNhc3RNZXNzYWdlKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmZyb21Ccm9hZGNhc3RTdHJpbmcoYnJvYWRjYXN0U3RyaW5nKTtcblxuICAgICAgc2hvdWxkLmV4aXN0KGJ1aWxkZXIpO1xuICAgICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0VHlwZSgpLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { BaseMessage, BaseMessageBuilder, BaseMessageBuilderFactory, IMessage, IMessageBuilder, MessageOptions, MessageStandardType } from '../../../../../src';
2
+ import { BaseCoin } from '@bitgo-beta/statics';
3
+ export declare class TestMessageBuilderFactory extends BaseMessageBuilderFactory {
4
+ constructor(coinConfig: Readonly<BaseCoin>);
5
+ getMessageBuilder(type: MessageStandardType): IMessageBuilder;
6
+ }
7
+ export declare class TestMessageBuilder extends BaseMessageBuilder {
8
+ constructor(coinConfig: Readonly<BaseCoin>, type?: MessageStandardType);
9
+ build(): Promise<IMessage>;
10
+ fromBroadcastFormat(broadcastMessage: any): Promise<IMessage>;
11
+ }
12
+ export declare class TestMessage extends BaseMessage {
13
+ constructor(options: MessageOptions);
14
+ getSignablePayload(): Promise<string | Buffer>;
15
+ }
16
+ export declare const messageSamples: {
17
+ eip191: {
18
+ payload: string;
19
+ type: MessageStandardType;
20
+ metadata: {
21
+ chainId: number;
22
+ };
23
+ signers: string[];
24
+ signatures: string[];
25
+ };
26
+ unknown: {
27
+ payload: string;
28
+ type: MessageStandardType;
29
+ metadata: {
30
+ version: string;
31
+ };
32
+ signers: string[];
33
+ signatures: string[];
34
+ };
35
+ };
36
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/account-lib/baseCoin/messages/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,qBAAa,yBAA0B,SAAQ,yBAAyB;gBAC1D,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAI1C,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;CAG9D;AAED,qBAAa,kBAAmB,SAAQ,kBAAkB;gBAC5C,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAE,mBAAiD;IAI7F,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAa1B,mBAAmB,CAAC,gBAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;CAUpE;AAED,qBAAa,WAAY,SAAQ,WAAW;gBAC9B,OAAO,EAAE,cAAc;IAI7B,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;CAMrD;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;CAe1B,CAAC"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.messageSamples = exports.TestMessage = exports.TestMessageBuilder = exports.TestMessageBuilderFactory = void 0;
4
+ const src_1 = require("../../../../../src");
5
+ class TestMessageBuilderFactory extends src_1.BaseMessageBuilderFactory {
6
+ constructor(coinConfig) {
7
+ super(coinConfig);
8
+ }
9
+ getMessageBuilder(type) {
10
+ return new TestMessageBuilder(this.coinConfig, type);
11
+ }
12
+ }
13
+ exports.TestMessageBuilderFactory = TestMessageBuilderFactory;
14
+ class TestMessageBuilder extends src_1.BaseMessageBuilder {
15
+ constructor(coinConfig, type = src_1.MessageStandardType.UNKNOWN) {
16
+ super(coinConfig, type);
17
+ }
18
+ async build() {
19
+ return new TestMessage({
20
+ coinConfig: this.coinConfig,
21
+ payload: this.payload,
22
+ type: this.type,
23
+ signatures: this.signatures,
24
+ signers: this.signers,
25
+ metadata: {
26
+ ...this.metadata,
27
+ },
28
+ });
29
+ }
30
+ async fromBroadcastFormat(broadcastMessage) {
31
+ this.setType(broadcastMessage.type);
32
+ this.setPayload(broadcastMessage.payload);
33
+ this.setSignatures(broadcastMessage.signatures || []);
34
+ this.setSigners(broadcastMessage.signers || []);
35
+ if (broadcastMessage.metadata) {
36
+ this.setMetadata(broadcastMessage.metadata);
37
+ }
38
+ return this.build();
39
+ }
40
+ }
41
+ exports.TestMessageBuilder = TestMessageBuilder;
42
+ class TestMessage extends src_1.BaseMessage {
43
+ constructor(options) {
44
+ super(options);
45
+ }
46
+ async getSignablePayload() {
47
+ if (this.signablePayload) {
48
+ return this.signablePayload;
49
+ }
50
+ return Buffer.from(this.payload);
51
+ }
52
+ }
53
+ exports.TestMessage = TestMessage;
54
+ exports.messageSamples = {
55
+ eip191: {
56
+ payload: 'Hello BitGo!',
57
+ type: src_1.MessageStandardType.EIP191,
58
+ metadata: { chainId: 1 },
59
+ signers: ['0x1234567890abcdef1234567890abcdef12345678'],
60
+ signatures: ['0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890'],
61
+ },
62
+ unknown: {
63
+ payload: 'Unknown message type',
64
+ type: src_1.MessageStandardType.UNKNOWN,
65
+ metadata: { version: '1.0' },
66
+ signers: ['12345'],
67
+ signatures: ['67890'],
68
+ },
69
+ };
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBUTRCO0FBRzVCLE1BQWEseUJBQTBCLFNBQVEsK0JBQXlCO0lBQ3RFLFlBQVksVUFBOEI7UUFDeEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUF5QjtRQUN6QyxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0Y7QUFSRCw4REFRQztBQUVELE1BQWEsa0JBQW1CLFNBQVEsd0JBQWtCO0lBQ3hELFlBQVksVUFBOEIsRUFBRSxPQUE0Qix5QkFBbUIsQ0FBQyxPQUFPO1FBQ2pHLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsUUFBUSxFQUFFO2dCQUNSLEdBQUcsSUFBSSxDQUFDLFFBQVE7YUFDakI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGdCQUFxQjtRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUE1QkQsZ0RBNEJDO0FBRUQsTUFBYSxXQUFZLFNBQVEsaUJBQVc7SUFDMUMsWUFBWSxPQUF1QjtRQUNqQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzlCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQVhELGtDQVdDO0FBRVksUUFBQSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFLGNBQWM7UUFDdkIsSUFBSSxFQUFFLHlCQUFtQixDQUFDLE1BQU07UUFDaEMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRTtRQUN4QixPQUFPLEVBQUUsQ0FBQyw0Q0FBNEMsQ0FBQztRQUN2RCxVQUFVLEVBQUUsQ0FBQyxvRUFBb0UsQ0FBQztLQUNuRjtJQUNELE9BQU8sRUFBRTtRQUNQLE9BQU8sRUFBRSxzQkFBc0I7UUFDL0IsSUFBSSxFQUFFLHlCQUFtQixDQUFDLE9BQU87UUFDakMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUM1QixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDbEIsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDO0tBQ3RCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VNZXNzYWdlLFxuICBCYXNlTWVzc2FnZUJ1aWxkZXIsXG4gIEJhc2VNZXNzYWdlQnVpbGRlckZhY3RvcnksXG4gIElNZXNzYWdlLFxuICBJTWVzc2FnZUJ1aWxkZXIsXG4gIE1lc3NhZ2VPcHRpb25zLFxuICBNZXNzYWdlU3RhbmRhcmRUeXBlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuZXhwb3J0IGNsYXNzIFRlc3RNZXNzYWdlQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8QmFzZUNvaW4+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXRNZXNzYWdlQnVpbGRlcih0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFRlc3RNZXNzYWdlQnVpbGRlcih0aGlzLmNvaW5Db25maWcsIHR5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUZXN0TWVzc2FnZUJ1aWxkZXIgZXh0ZW5kcyBCYXNlTWVzc2FnZUJ1aWxkZXIge1xuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxCYXNlQ29pbj4sIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUgPSBNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV04pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnLCB0eXBlKTtcbiAgfVxuXG4gIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8SU1lc3NhZ2U+IHtcbiAgICByZXR1cm4gbmV3IFRlc3RNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWc6IHRoaXMuY29pbkNvbmZpZyxcbiAgICAgIHBheWxvYWQ6IHRoaXMucGF5bG9hZCxcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIHNpZ25hdHVyZXM6IHRoaXMuc2lnbmF0dXJlcyxcbiAgICAgIHNpZ25lcnM6IHRoaXMuc2lnbmVycyxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIC4uLnRoaXMubWV0YWRhdGEsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZnJvbUJyb2FkY2FzdEZvcm1hdChicm9hZGNhc3RNZXNzYWdlOiBhbnkpOiBQcm9taXNlPElNZXNzYWdlPiB7XG4gICAgdGhpcy5zZXRUeXBlKGJyb2FkY2FzdE1lc3NhZ2UudHlwZSk7XG4gICAgdGhpcy5zZXRQYXlsb2FkKGJyb2FkY2FzdE1lc3NhZ2UucGF5bG9hZCk7XG4gICAgdGhpcy5zZXRTaWduYXR1cmVzKGJyb2FkY2FzdE1lc3NhZ2Uuc2lnbmF0dXJlcyB8fCBbXSk7XG4gICAgdGhpcy5zZXRTaWduZXJzKGJyb2FkY2FzdE1lc3NhZ2Uuc2lnbmVycyB8fCBbXSk7XG4gICAgaWYgKGJyb2FkY2FzdE1lc3NhZ2UubWV0YWRhdGEpIHtcbiAgICAgIHRoaXMuc2V0TWV0YWRhdGEoYnJvYWRjYXN0TWVzc2FnZS5tZXRhZGF0YSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmJ1aWxkKCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRlc3RNZXNzYWdlIGV4dGVuZHMgQmFzZU1lc3NhZ2Uge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBNZXNzYWdlT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuICB9XG5cbiAgYXN5bmMgZ2V0U2lnbmFibGVQYXlsb2FkKCk6IFByb21pc2U8c3RyaW5nIHwgQnVmZmVyPiB7XG4gICAgaWYgKHRoaXMuc2lnbmFibGVQYXlsb2FkKSB7XG4gICAgICByZXR1cm4gdGhpcy5zaWduYWJsZVBheWxvYWQ7XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLnBheWxvYWQpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBtZXNzYWdlU2FtcGxlcyA9IHtcbiAgZWlwMTkxOiB7XG4gICAgcGF5bG9hZDogJ0hlbGxvIEJpdEdvIScsXG4gICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgbWV0YWRhdGE6IHsgY2hhaW5JZDogMSB9LFxuICAgIHNpZ25lcnM6IFsnMHgxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4J10sXG4gICAgc2lnbmF0dXJlczogWycweGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTAnXSxcbiAgfSxcbiAgdW5rbm93bjoge1xuICAgIHBheWxvYWQ6ICdVbmtub3duIG1lc3NhZ2UgdHlwZScsXG4gICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5VTktOT1dOLFxuICAgIG1ldGFkYXRhOiB7IHZlcnNpb246ICcxLjAnIH0sXG4gICAgc2lnbmVyczogWycxMjM0NSddLFxuICAgIHNpZ25hdHVyZXM6IFsnNjc4OTAnXSxcbiAgfSxcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ import 'should';
2
+ //# sourceMappingURL=ecdsa.d.ts.map