@bitgo-beta/sdk-core 8.2.1-beta.201 → 8.2.1-beta.2011

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 (726) hide show
  1. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +0 -1
  2. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -1
  3. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +3 -3
  4. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
  5. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +4 -3
  6. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +1 -0
  7. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -1
  8. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +41 -29
  9. package/dist/src/account-lib/baseCoin/enum.d.ts +57 -5
  10. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  11. package/dist/src/account-lib/baseCoin/enum.js +107 -10
  12. package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
  13. package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
  14. package/dist/src/account-lib/baseCoin/errors.js +8 -2
  15. package/dist/src/account-lib/baseCoin/iface.d.ts +19 -35
  16. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  17. package/dist/src/account-lib/baseCoin/iface.js +26 -18
  18. package/dist/src/account-lib/baseCoin/index.d.ts +1 -1
  19. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
  20. package/dist/src/account-lib/baseCoin/index.js +8 -5
  21. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +88 -0
  22. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  23. package/dist/src/account-lib/baseCoin/messages/baseMessage.js +154 -0
  24. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +67 -0
  25. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  26. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +144 -0
  27. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
  28. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  29. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +45 -0
  30. package/dist/src/account-lib/baseCoin/messages/iface.d.ts +164 -0
  31. package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
  32. package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
  33. package/dist/src/account-lib/baseCoin/messages/index.d.ts +6 -0
  34. package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
  35. package/dist/src/account-lib/baseCoin/messages/index.js +22 -0
  36. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
  37. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
  38. package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
  39. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
  40. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
  41. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
  42. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
  43. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
  44. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
  45. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
  46. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
  47. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
  48. package/dist/src/account-lib/index.js +23 -9
  49. package/dist/src/account-lib/mpc/index.d.ts +1 -1
  50. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  51. package/dist/src/account-lib/mpc/index.js +6 -2
  52. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -3
  53. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  54. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +376 -354
  55. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
  56. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
  57. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
  58. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
  59. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +46 -53
  60. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  61. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  62. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +0 -1
  63. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  64. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
  65. package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
  66. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -1
  67. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
  68. package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
  69. package/dist/src/account-lib/mpc/tss/index.js +23 -9
  70. package/dist/src/account-lib/mpc/util.d.ts +7 -1
  71. package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
  72. package/dist/src/account-lib/mpc/util.js +24 -1
  73. package/dist/src/account-lib/staking/index.js +6 -2
  74. package/dist/src/account-lib/staking/utils.js +3 -3
  75. package/dist/src/account-lib/util/crypto.d.ts +8 -2
  76. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  77. package/dist/src/account-lib/util/crypto.js +69 -38
  78. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +2 -1
  79. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
  80. package/dist/src/account-lib/util/ed25519KeyDeriver.js +5 -3
  81. package/dist/src/api/bip32path.js +2 -3
  82. package/dist/src/api/index.js +6 -2
  83. package/dist/src/api/types.d.ts +31 -0
  84. package/dist/src/api/types.d.ts.map +1 -1
  85. package/dist/src/api/types.js +1 -1
  86. package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -1
  87. package/dist/src/bitgo/address-book/address-book.js +20 -12
  88. package/dist/src/bitgo/address-book/index.js +6 -2
  89. package/dist/src/bitgo/address-book/types.d.ts +36 -36
  90. package/dist/src/bitgo/address-book/types.d.ts.map +1 -1
  91. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +121 -12
  92. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  93. package/dist/src/bitgo/baseCoin/baseCoin.js +203 -16
  94. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +288 -27
  95. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  96. package/dist/src/bitgo/baseCoin/iBaseCoin.js +14 -3
  97. package/dist/src/bitgo/baseCoin/index.js +6 -2
  98. package/dist/src/bitgo/bip32util.d.ts +3 -16
  99. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  100. package/dist/src/bitgo/bip32util.js +4 -56
  101. package/dist/src/bitgo/bitcoin.d.ts +0 -1
  102. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  103. package/dist/src/bitgo/bitcoin.js +26 -13
  104. package/dist/src/bitgo/bitgoBase.d.ts +17 -4
  105. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  106. package/dist/src/bitgo/bitgoBase.js +1 -1
  107. package/dist/src/bitgo/coinFactory.d.ts +17 -3
  108. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  109. package/dist/src/bitgo/coinFactory.js +26 -3
  110. package/dist/src/bitgo/config.d.ts +3 -101
  111. package/dist/src/bitgo/config.d.ts.map +1 -1
  112. package/dist/src/bitgo/config.js +26 -15
  113. package/dist/src/bitgo/defi/defiVault.d.ts +137 -0
  114. package/dist/src/bitgo/defi/defiVault.d.ts.map +1 -0
  115. package/dist/src/bitgo/defi/defiVault.js +379 -0
  116. package/dist/src/bitgo/defi/iDefiVault.d.ts +81 -0
  117. package/dist/src/bitgo/defi/iDefiVault.d.ts.map +1 -0
  118. package/dist/src/bitgo/defi/iDefiVault.js +6 -0
  119. package/dist/src/bitgo/defi/index.d.ts +3 -0
  120. package/dist/src/bitgo/defi/index.d.ts.map +1 -0
  121. package/dist/src/bitgo/defi/index.js +22 -0
  122. package/dist/src/bitgo/ecdh.d.ts +0 -1
  123. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  124. package/dist/src/bitgo/ecdh.js +26 -13
  125. package/dist/src/bitgo/enterprise/enterprise.d.ts +9 -4
  126. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  127. package/dist/src/bitgo/enterprise/enterprise.js +47 -21
  128. package/dist/src/bitgo/enterprise/enterprises.js +27 -13
  129. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +5 -3
  130. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  131. package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
  132. package/dist/src/bitgo/enterprise/index.js +6 -2
  133. package/dist/src/bitgo/environments.d.ts +68 -3
  134. package/dist/src/bitgo/environments.d.ts.map +1 -1
  135. package/dist/src/bitgo/environments.js +414 -34
  136. package/dist/src/bitgo/errors.d.ts +182 -1
  137. package/dist/src/bitgo/errors.d.ts.map +1 -1
  138. package/dist/src/bitgo/errors.js +177 -3
  139. package/dist/src/bitgo/evm/evmUtils.d.ts +26 -0
  140. package/dist/src/bitgo/evm/evmUtils.d.ts.map +1 -0
  141. package/dist/src/bitgo/evm/evmUtils.js +50 -0
  142. package/dist/src/bitgo/index.d.ts +5 -1
  143. package/dist/src/bitgo/index.d.ts.map +1 -1
  144. package/dist/src/bitgo/index.js +31 -11
  145. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
  146. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  147. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
  148. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  149. package/dist/src/bitgo/internal/index.js +6 -2
  150. package/dist/src/bitgo/internal/internal.js +5 -6
  151. package/dist/src/bitgo/internal/keycard.d.ts +12 -8
  152. package/dist/src/bitgo/internal/keycard.d.ts.map +1 -1
  153. package/dist/src/bitgo/internal/keycard.js +60 -48
  154. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +14 -0
  155. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  156. package/dist/src/bitgo/keychain/decryptKeychain.js +36 -0
  157. package/dist/src/bitgo/keychain/iKeychains.d.ts +128 -11
  158. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  159. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  160. package/dist/src/bitgo/keychain/index.d.ts +1 -0
  161. package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
  162. package/dist/src/bitgo/keychain/index.js +7 -2
  163. package/dist/src/bitgo/keychain/keychains.d.ts +55 -7
  164. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  165. package/dist/src/bitgo/keychain/keychains.js +269 -52
  166. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
  167. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  168. package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
  169. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
  170. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  171. package/dist/src/bitgo/legacyBitcoin.js +27 -13
  172. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
  173. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
  174. package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
  175. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  176. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  177. package/dist/src/bitgo/market/index.js +6 -2
  178. package/dist/src/bitgo/market/markets.js +23 -9
  179. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +5 -1
  180. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  181. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  182. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  183. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
  184. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  185. package/dist/src/bitgo/pendingApproval/pendingApproval.js +246 -111
  186. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
  187. package/dist/src/bitgo/proofs/WalletProofs.d.ts +19 -0
  188. package/dist/src/bitgo/proofs/WalletProofs.d.ts.map +1 -0
  189. package/dist/src/bitgo/proofs/WalletProofs.js +37 -0
  190. package/dist/src/bitgo/proofs/index.d.ts +2 -0
  191. package/dist/src/bitgo/proofs/index.d.ts.map +1 -0
  192. package/dist/src/bitgo/proofs/index.js +6 -0
  193. package/dist/src/bitgo/proofs/types.d.ts +80 -0
  194. package/dist/src/bitgo/proofs/types.d.ts.map +1 -0
  195. package/dist/src/bitgo/proofs/types.js +80 -0
  196. package/dist/src/bitgo/recovery/index.js +6 -2
  197. package/dist/src/bitgo/recovery/initiate.d.ts +13 -3
  198. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  199. package/dist/src/bitgo/recovery/initiate.js +49 -41
  200. package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts +67 -0
  201. package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
  202. package/dist/src/bitgo/safe/derivableEd25519Pub.js +156 -0
  203. package/dist/src/bitgo/safe/iSafe.d.ts +87 -0
  204. package/dist/src/bitgo/safe/iSafe.d.ts.map +1 -0
  205. package/dist/src/bitgo/safe/iSafe.js +3 -0
  206. package/dist/src/bitgo/safe/iSafes.d.ts +94 -0
  207. package/dist/src/bitgo/safe/iSafes.d.ts.map +1 -0
  208. package/dist/src/bitgo/safe/iSafes.js +3 -0
  209. package/dist/src/bitgo/safe/index.d.ts +7 -0
  210. package/dist/src/bitgo/safe/index.d.ts.map +1 -0
  211. package/dist/src/bitgo/safe/index.js +23 -0
  212. package/dist/src/bitgo/safe/safe.d.ts +61 -0
  213. package/dist/src/bitgo/safe/safe.d.ts.map +1 -0
  214. package/dist/src/bitgo/safe/safe.js +230 -0
  215. package/dist/src/bitgo/safe/safeDerivation.d.ts +30 -0
  216. package/dist/src/bitgo/safe/safeDerivation.d.ts.map +1 -0
  217. package/dist/src/bitgo/safe/safeDerivation.js +122 -0
  218. package/dist/src/bitgo/safe/safes.d.ts +107 -0
  219. package/dist/src/bitgo/safe/safes.d.ts.map +1 -0
  220. package/dist/src/bitgo/safe/safes.js +306 -0
  221. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +136 -0
  222. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
  223. package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
  224. package/dist/src/bitgo/staking/goStakingWallet.d.ts +62 -0
  225. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
  226. package/dist/src/bitgo/staking/goStakingWallet.js +141 -0
  227. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +17 -0
  228. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
  229. package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
  230. package/dist/src/bitgo/staking/iStakingWallet.d.ts +157 -8
  231. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  232. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  233. package/dist/src/bitgo/staking/index.d.ts +3 -0
  234. package/dist/src/bitgo/staking/index.d.ts.map +1 -1
  235. package/dist/src/bitgo/staking/index.js +9 -2
  236. package/dist/src/bitgo/staking/stakingWallet.d.ts +21 -8
  237. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  238. package/dist/src/bitgo/staking/stakingWallet.js +140 -7
  239. package/dist/src/bitgo/trading/iTradingAccount.d.ts +13 -1
  240. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
  241. package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
  242. package/dist/src/bitgo/trading/index.d.ts +1 -0
  243. package/dist/src/bitgo/trading/index.d.ts.map +1 -1
  244. package/dist/src/bitgo/trading/index.js +7 -2
  245. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  246. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  247. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  248. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  249. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  250. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  251. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  252. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  253. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  254. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  255. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  256. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  257. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  258. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  259. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  260. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  261. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  262. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  263. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  264. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  265. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  266. package/dist/src/bitgo/trading/network/index.d.ts +2 -0
  267. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -1
  268. package/dist/src/bitgo/trading/network/index.js +8 -2
  269. package/dist/src/bitgo/trading/network/network.d.ts +4 -3
  270. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -1
  271. package/dist/src/bitgo/trading/network/network.js +24 -27
  272. package/dist/src/bitgo/trading/network/types.d.ts +79 -46
  273. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -1
  274. package/dist/src/bitgo/trading/network/types.js +1 -1
  275. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  276. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  277. package/dist/src/bitgo/trading/network/utils.js +54 -0
  278. package/dist/src/bitgo/trading/tradingAccount.d.ts +15 -1
  279. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
  280. package/dist/src/bitgo/trading/tradingAccount.js +55 -7
  281. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +49 -0
  282. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  283. package/dist/src/bitgo/tss/bitgoPubKeys.js +92 -0
  284. package/dist/src/bitgo/tss/common.d.ts +41 -6
  285. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  286. package/dist/src/bitgo/tss/common.js +124 -17
  287. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
  288. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  289. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
  290. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  291. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  292. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +167 -0
  293. package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
  294. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  295. package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
  296. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  297. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  298. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  299. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +15 -6
  300. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  301. package/dist/src/bitgo/tss/eddsa/eddsa.js +47 -40
  302. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts +42 -0
  303. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  304. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.js +104 -0
  305. package/dist/src/bitgo/tss/eddsa/index.js +23 -9
  306. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  307. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  308. package/dist/src/bitgo/tss/index.d.ts +3 -2
  309. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  310. package/dist/src/bitgo/tss/index.js +26 -10
  311. package/dist/src/bitgo/tss/types.d.ts +3 -3
  312. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  313. package/dist/src/bitgo/tss/types.js +2 -2
  314. package/dist/src/bitgo/types.d.ts +3 -3
  315. package/dist/src/bitgo/types.d.ts.map +1 -1
  316. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +10 -0
  317. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
  318. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +76 -14
  319. package/dist/src/bitgo/utils/codecProps.js +24 -11
  320. package/dist/src/bitgo/utils/codecs.d.ts +11 -0
  321. package/dist/src/bitgo/utils/codecs.d.ts.map +1 -0
  322. package/dist/src/bitgo/utils/codecs.js +59 -0
  323. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  324. package/dist/src/bitgo/utils/decode.js +30 -16
  325. package/dist/src/bitgo/utils/index.d.ts +4 -2
  326. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  327. package/dist/src/bitgo/utils/index.js +27 -11
  328. package/dist/src/bitgo/utils/messageTypes.d.ts +40 -0
  329. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  330. package/dist/src/bitgo/utils/messageTypes.js +17 -0
  331. package/dist/src/bitgo/utils/mpcUtils.d.ts +4 -4
  332. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  333. package/dist/src/bitgo/utils/mpcUtils.js +175 -14
  334. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  335. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  336. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  337. package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -7
  338. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  339. package/dist/src/bitgo/utils/opengpgUtils.js +79 -62
  340. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -1
  341. package/dist/src/bitgo/utils/postWithCodec.js +4 -38
  342. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  343. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  344. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  345. package/dist/src/bitgo/utils/transactionUtils.d.ts +9 -0
  346. package/dist/src/bitgo/utils/transactionUtils.d.ts.map +1 -0
  347. package/dist/src/bitgo/utils/transactionUtils.js +29 -0
  348. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  349. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  350. package/dist/src/bitgo/utils/triple.js +2 -3
  351. package/dist/src/bitgo/utils/tss/addressVerification.d.ts +62 -0
  352. package/dist/src/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  353. package/dist/src/bitgo/utils/tss/addressVerification.js +93 -0
  354. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +94 -17
  355. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  356. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +305 -45
  357. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +432 -55
  358. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  359. package/dist/src/bitgo/utils/tss/baseTypes.js +47 -22
  360. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  361. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  362. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  363. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  364. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  365. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  366. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +25 -51
  367. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  368. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +173 -246
  369. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +216 -0
  370. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  371. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1053 -0
  372. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
  373. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  374. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +16 -0
  375. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
  376. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  377. package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
  378. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +7 -10
  379. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  380. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  381. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
  382. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  383. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  384. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts +21 -0
  385. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts.map +1 -0
  386. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.js +118 -0
  387. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts +18 -0
  388. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts.map +1 -0
  389. package/dist/src/bitgo/utils/tss/eddsa/base.js +64 -0
  390. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +38 -11
  391. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  392. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +254 -96
  393. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +204 -0
  394. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  395. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +862 -0
  396. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts +6 -0
  397. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts.map +1 -0
  398. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.js +16 -0
  399. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +4 -0
  400. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -1
  401. package/dist/src/bitgo/utils/tss/eddsa/index.js +29 -8
  402. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +12 -7
  403. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  404. package/dist/src/bitgo/utils/tss/eddsa/types.js +1 -1
  405. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts +40 -0
  406. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts.map +1 -0
  407. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.js +44 -0
  408. package/dist/src/bitgo/utils/tss/index.d.ts +5 -0
  409. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
  410. package/dist/src/bitgo/utils/tss/index.js +29 -10
  411. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts +23 -0
  412. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  413. package/dist/src/bitgo/utils/tss/preHashedSignable.js +26 -0
  414. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts +41 -0
  415. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  416. package/dist/src/bitgo/utils/tss/recipientUtils.js +142 -0
  417. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts +29 -0
  418. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts.map +1 -0
  419. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.js +126 -0
  420. package/dist/src/bitgo/utils/tss/redpallas/index.d.ts +4 -0
  421. package/dist/src/bitgo/utils/tss/redpallas/index.d.ts.map +1 -0
  422. package/dist/src/bitgo/utils/tss/redpallas/index.js +20 -0
  423. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +27 -0
  424. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  425. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.js +43 -0
  426. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts +45 -0
  427. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts.map +1 -0
  428. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.js +55 -0
  429. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts +8 -0
  430. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts.map +1 -0
  431. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.js +13 -0
  432. package/dist/src/bitgo/utils/tss/signableConsistency.d.ts +12 -0
  433. package/dist/src/bitgo/utils/tss/signableConsistency.d.ts.map +1 -0
  434. package/dist/src/bitgo/utils/tss/signableConsistency.js +9 -0
  435. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  436. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  437. package/dist/src/bitgo/utils/txRequest.js +49 -0
  438. package/dist/src/bitgo/utils/util.js +24 -10
  439. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  440. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  441. package/dist/src/bitgo/utils/wallet.js +48 -0
  442. package/dist/src/bitgo/v1Wallets.d.ts +170 -0
  443. package/dist/src/bitgo/v1Wallets.d.ts.map +1 -0
  444. package/dist/src/bitgo/v1Wallets.js +3 -0
  445. package/dist/src/bitgo/wallet/BuildParams.d.ts +81 -1
  446. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  447. package/dist/src/bitgo/wallet/BuildParams.js +85 -11
  448. package/dist/src/bitgo/wallet/iWallet.d.ts +552 -31
  449. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  450. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  451. package/dist/src/bitgo/wallet/iWallets.d.ts +308 -16
  452. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  453. package/dist/src/bitgo/wallet/iWallets.js +83 -3
  454. package/dist/src/bitgo/wallet/index.d.ts +1 -0
  455. package/dist/src/bitgo/wallet/index.d.ts.map +1 -1
  456. package/dist/src/bitgo/wallet/index.js +7 -2
  457. package/dist/src/bitgo/wallet/safeKeychain.d.ts +52 -0
  458. package/dist/src/bitgo/wallet/safeKeychain.d.ts.map +1 -0
  459. package/dist/src/bitgo/wallet/safeKeychain.js +97 -0
  460. package/dist/src/bitgo/wallet/wallet.d.ts +360 -28
  461. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  462. package/dist/src/bitgo/wallet/wallet.js +2179 -383
  463. package/dist/src/bitgo/wallet/wallets.d.ts +93 -4
  464. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  465. package/dist/src/bitgo/wallet/wallets.js +1226 -155
  466. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts +12 -0
  467. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts.map +1 -0
  468. package/dist/src/bitgo/walletUtil/iMessageProvider.js +3 -0
  469. package/dist/src/bitgo/walletUtil/index.d.ts +3 -0
  470. package/dist/src/bitgo/walletUtil/index.d.ts.map +1 -0
  471. package/dist/src/bitgo/walletUtil/index.js +19 -0
  472. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts +22 -0
  473. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts.map +1 -0
  474. package/dist/src/bitgo/walletUtil/midnightMessageProvider.js +95 -0
  475. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts +9 -0
  476. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts.map +1 -0
  477. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.js +72 -0
  478. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts +15 -0
  479. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts.map +1 -0
  480. package/dist/src/bitgo/walletUtil/utxoMessageProof.js +40 -0
  481. package/dist/src/bitgo/webhook/index.js +6 -2
  482. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  483. package/dist/src/coins/fiat.d.ts +45 -0
  484. package/dist/src/coins/fiat.d.ts.map +1 -0
  485. package/dist/src/coins/fiat.js +94 -0
  486. package/dist/src/coins/index.d.ts +1 -6
  487. package/dist/src/coins/index.d.ts.map +1 -1
  488. package/dist/src/coins/index.js +7 -8
  489. package/dist/src/coins/ofc.d.ts +21 -2
  490. package/dist/src/coins/ofc.d.ts.map +1 -1
  491. package/dist/src/coins/ofc.js +29 -3
  492. package/dist/src/coins/ofcToken.d.ts +15 -4
  493. package/dist/src/coins/ofcToken.d.ts.map +1 -1
  494. package/dist/src/coins/ofcToken.js +43 -5
  495. package/dist/src/coins/susd.d.ts +3 -2
  496. package/dist/src/coins/susd.d.ts.map +1 -1
  497. package/dist/src/coins/susd.js +5 -1
  498. package/dist/src/common.js +27 -13
  499. package/dist/src/index.d.ts +9 -1
  500. package/dist/src/index.d.ts.map +1 -1
  501. package/dist/src/index.js +40 -11
  502. package/dist/src/lightning.d.ts +20 -0
  503. package/dist/src/lightning.d.ts.map +1 -0
  504. package/dist/src/lightning.js +13 -0
  505. package/dist/src/units.js +5 -6
  506. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  507. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  508. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
  509. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  510. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  511. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
  512. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  513. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  514. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
  515. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
  516. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  517. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
  518. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +91 -29
  519. package/dist/test/unit/account-lib/mpc/util.d.ts +2 -0
  520. package/dist/test/unit/account-lib/mpc/util.d.ts.map +1 -0
  521. package/dist/test/unit/account-lib/mpc/util.js +53 -0
  522. package/dist/test/unit/bitgo/address-book/address-book.d.ts +2 -0
  523. package/dist/test/unit/bitgo/address-book/address-book.d.ts.map +1 -0
  524. package/dist/test/unit/bitgo/address-book/address-book.js +159 -0
  525. package/dist/test/unit/bitgo/defi/defiVault.d.ts +2 -0
  526. package/dist/test/unit/bitgo/defi/defiVault.d.ts.map +1 -0
  527. package/dist/test/unit/bitgo/defi/defiVault.js +600 -0
  528. package/dist/test/unit/bitgo/environment.d.ts +2 -0
  529. package/dist/test/unit/bitgo/environment.d.ts.map +1 -0
  530. package/dist/test/unit/bitgo/environment.js +38 -0
  531. package/dist/test/unit/bitgo/errors.d.ts +2 -0
  532. package/dist/test/unit/bitgo/errors.d.ts.map +1 -0
  533. package/dist/test/unit/bitgo/errors.js +262 -0
  534. package/dist/test/unit/bitgo/recovery/initiate.d.ts +2 -0
  535. package/dist/test/unit/bitgo/recovery/initiate.d.ts.map +1 -0
  536. package/dist/test/unit/bitgo/recovery/initiate.js +159 -0
  537. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts +2 -0
  538. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
  539. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.js +122 -0
  540. package/dist/test/unit/bitgo/safe/fixtures/derivableEd25519Pub.json +145 -0
  541. package/dist/test/unit/bitgo/safe/safe.d.ts +2 -0
  542. package/dist/test/unit/bitgo/safe/safe.d.ts.map +1 -0
  543. package/dist/test/unit/bitgo/safe/safe.js +277 -0
  544. package/dist/test/unit/bitgo/safe/safes.d.ts +2 -0
  545. package/dist/test/unit/bitgo/safe/safes.d.ts.map +1 -0
  546. package/dist/test/unit/bitgo/safe/safes.js +338 -0
  547. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  548. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  549. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  550. package/dist/test/unit/bitgo/trading/network/network.test.d.ts +2 -0
  551. package/dist/test/unit/bitgo/trading/network/network.test.d.ts.map +1 -0
  552. package/dist/test/unit/bitgo/trading/network/network.test.js +136 -0
  553. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts +2 -0
  554. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts.map +1 -0
  555. package/dist/test/unit/bitgo/trading/tradingAccount.js +192 -0
  556. package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts +2 -0
  557. package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  558. package/dist/test/unit/bitgo/tss/bitgoPubKeys.js +66 -0
  559. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -4
  560. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  561. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  562. package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
  563. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts +2 -0
  564. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts.map +1 -0
  565. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.js +106 -0
  566. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  567. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  568. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  569. package/dist/test/unit/bitgo/utils/postWithCodec.js +32 -38
  570. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts +2 -0
  571. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  572. package/dist/test/unit/bitgo/utils/tss/addressVerification.js +251 -0
  573. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts +2 -0
  574. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -0
  575. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.js +348 -0
  576. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts +2 -0
  577. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts.map +1 -0
  578. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.js +94 -0
  579. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +2 -0
  580. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  581. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +999 -0
  582. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts +5 -0
  583. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts.map +1 -0
  584. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.js +36 -0
  585. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts +2 -0
  586. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts.map +1 -0
  587. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.js +158 -0
  588. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +2 -0
  589. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  590. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +1918 -0
  591. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts +2 -0
  592. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts.map +1 -0
  593. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.js +311 -0
  594. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts +2 -0
  595. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  596. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.js +55 -0
  597. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts +2 -0
  598. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  599. package/dist/test/unit/bitgo/utils/tss/recipientUtils.js +374 -0
  600. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +2 -0
  601. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  602. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.js +80 -0
  603. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts +2 -0
  604. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts.map +1 -0
  605. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.js +279 -0
  606. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts +2 -0
  607. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts.map +1 -0
  608. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.js +111 -0
  609. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  610. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  611. package/dist/test/unit/bitgo/utils/txRequest.js +179 -0
  612. package/dist/test/unit/bitgo/utils/wallet.d.ts +2 -0
  613. package/dist/test/unit/bitgo/utils/wallet.d.ts.map +1 -0
  614. package/dist/test/unit/bitgo/utils/wallet.js +55 -0
  615. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  616. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  617. package/dist/test/unit/bitgo/wallet/BuildParams.js +141 -0
  618. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +79 -9
  619. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts +2 -0
  620. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts.map +1 -0
  621. package/dist/test/unit/bitgo/wallet/getAccountResources.js +133 -0
  622. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts +2 -0
  623. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts.map +1 -0
  624. package/dist/test/unit/bitgo/wallet/getResourceDelegations.js +118 -0
  625. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts +2 -0
  626. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts.map +1 -0
  627. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.js +141 -0
  628. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts +2 -0
  629. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts.map +1 -0
  630. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.js +185 -0
  631. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts +2 -0
  632. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts.map +1 -0
  633. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.js +20 -0
  634. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts +3 -0
  635. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts.map +1 -0
  636. package/dist/test/unit/bitgo/wallet/resourceManagement.js +441 -0
  637. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts +5 -0
  638. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts.map +1 -0
  639. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.js +671 -0
  640. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts +2 -0
  641. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts.map +1 -0
  642. package/dist/test/unit/bitgo/wallet/tokenApproval.js +201 -0
  643. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts +2 -0
  644. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts.map +1 -0
  645. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.js +181 -0
  646. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts +2 -0
  647. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts.map +1 -0
  648. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.js +66 -0
  649. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts +2 -0
  650. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts.map +1 -0
  651. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.js +320 -0
  652. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts +2 -0
  653. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts.map +1 -0
  654. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.js +293 -0
  655. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts +2 -0
  656. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts.map +1 -0
  657. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.js +216 -0
  658. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts +2 -0
  659. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts.map +1 -0
  660. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.js +675 -0
  661. package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts +2 -0
  662. package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts.map +1 -0
  663. package/dist/test/unit/bitgo/wallet/walletsGoAccount.js +150 -0
  664. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts +2 -0
  665. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts.map +1 -0
  666. package/dist/test/unit/bitgo/wallet/walletsWebauthn.js +201 -0
  667. package/dist/test/unit/coins/ofc.d.ts +2 -0
  668. package/dist/test/unit/coins/ofc.d.ts.map +1 -0
  669. package/dist/test/unit/coins/ofc.js +124 -0
  670. package/dist/test/unit/lightning.d.ts +2 -0
  671. package/dist/test/unit/lightning.d.ts.map +1 -0
  672. package/dist/test/unit/lightning.js +23 -0
  673. package/dist/test/unit/units.d.ts.map +1 -1
  674. package/dist/test/unit/units.js +64 -64
  675. package/dist/tsconfig.tsbuildinfo +1 -1
  676. package/package.json +23 -21
  677. package/.eslintignore +0 -5
  678. package/CHANGELOG.md +0 -1712
  679. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
  680. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
  681. package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
  682. package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
  683. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  684. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  685. package/dist/src/bitgo/lightning/index.d.ts +0 -5
  686. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  687. package/dist/src/bitgo/lightning/index.js +0 -17
  688. package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
  689. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  690. package/dist/src/bitgo/lightning/lightning.js +0 -111
  691. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
  692. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  693. package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
  694. package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
  695. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  696. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  697. package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
  698. package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
  699. package/dist/src/bitgo/utils/blsUtils.js +0 -237
  700. package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
  701. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
  702. package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
  703. package/dist/src/coins/fiateur.d.ts +0 -31
  704. package/dist/src/coins/fiateur.d.ts.map +0 -1
  705. package/dist/src/coins/fiateur.js +0 -57
  706. package/dist/src/coins/fiatgbp.d.ts +0 -31
  707. package/dist/src/coins/fiatgbp.d.ts.map +0 -1
  708. package/dist/src/coins/fiatgbp.js +0 -57
  709. package/dist/src/coins/fiatusd.d.ts +0 -31
  710. package/dist/src/coins/fiatusd.d.ts.map +0 -1
  711. package/dist/src/coins/fiatusd.js +0 -57
  712. package/dist/src/coins/tfiateur.d.ts +0 -11
  713. package/dist/src/coins/tfiateur.d.ts.map +0 -1
  714. package/dist/src/coins/tfiateur.js +0 -17
  715. package/dist/src/coins/tfiatgbp.d.ts +0 -11
  716. package/dist/src/coins/tfiatgbp.d.ts.map +0 -1
  717. package/dist/src/coins/tfiatgbp.js +0 -17
  718. package/dist/src/coins/tfiatusd.d.ts +0 -11
  719. package/dist/src/coins/tfiatusd.d.ts.map +0 -1
  720. package/dist/src/coins/tfiatusd.js +0 -17
  721. package/dist/src/openssl/index.d.ts +0 -5
  722. package/dist/src/openssl/index.d.ts.map +0 -1
  723. package/dist/src/openssl/index.js +0 -9
  724. package/dist/test/unit/openssl.d.ts +0 -2
  725. package/dist/test/unit/openssl.d.ts.map +0 -1
  726. package/dist/test/unit/openssl.js +0 -39
@@ -0,0 +1,88 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { BroadcastableMessage, MessageMetadata, MessageOptions, MessagePayload, MessageStandardType } from '../../../bitgo';
3
+ import { IMessage } from './iface';
4
+ import { Signature } from '../iface';
5
+ export declare abstract class BaseMessage implements IMessage {
6
+ protected coinConfig: Readonly<CoinConfig>;
7
+ protected type: MessageStandardType;
8
+ protected payload: MessagePayload;
9
+ protected signatures: Signature[];
10
+ protected signers: string[];
11
+ protected signablePayload?: string | Buffer;
12
+ protected metadata?: MessageMetadata;
13
+ /**
14
+ * Base constructor.
15
+ *
16
+ * @param options Message options containing type, payload, metadata, etc.
17
+ */
18
+ protected constructor(options: MessageOptions);
19
+ /**
20
+ * Get the message type
21
+ */
22
+ getType(): MessageStandardType;
23
+ /**
24
+ * Get the message payload
25
+ */
26
+ getPayload(): MessagePayload;
27
+ /**
28
+ * Get the metadata associated with the message
29
+ */
30
+ getMetadata(): MessageMetadata | undefined;
31
+ /**
32
+ * Gets all signers addresses or public keys
33
+ */
34
+ getSigners(): string[];
35
+ /**
36
+ * Adds a signer address or public key
37
+ * @param signer The address or public key of the signer
38
+ */
39
+ addSigner(signer: string): void;
40
+ /**
41
+ * Sets signers addresses or public keys
42
+ * @param signers Array of addresses or public keys
43
+ */
44
+ setSigners(signers: string[]): void;
45
+ /**
46
+ * Gets all signatures associated with this message
47
+ */
48
+ getSignatures(): Signature[];
49
+ /**
50
+ * Sets signatures for this message
51
+ * @param signatures Array of signatures to set
52
+ */
53
+ setSignatures(signatures: Signature[]): void;
54
+ /**
55
+ * Adds a signature to this message
56
+ * @param signature The signature to add
57
+ */
58
+ addSignature(signature: Signature): void;
59
+ /**
60
+ * Gets the payload that should be signed
61
+ * Each message standard must implement this method
62
+ */
63
+ abstract getSignablePayload(): Promise<string | Buffer>;
64
+ /**
65
+ * Gets the signatures in a format suitable for broadcasting
66
+ */
67
+ getBroadcastableSignatures(): Signature[];
68
+ /**
69
+ * Converts this message to a broadcastable format
70
+ * Uses internal signatures and signers that were previously set
71
+ * @returns A broadcastable message
72
+ */
73
+ toBroadcastFormat(): Promise<BroadcastableMessage>;
74
+ /**
75
+ * Serializes the broadcastable message to a string
76
+ * Uses internal signatures and signers that were previously set
77
+ * @returns A JSON string representation of the broadcastable message
78
+ */
79
+ toBroadcastString(): Promise<string>;
80
+ /**
81
+ * Verifies if the provided encoded message matches the signable payload
82
+ * @param messageEncodedHex The encoded message in hex format
83
+ * @param metadata Optional metadata for additional verification context
84
+ * @returns True if the encoded message matches the signable payload, false otherwise
85
+ */
86
+ verifyEncodedPayload(messageEncodedHex: string, metadata?: Record<string, unknown>): Promise<boolean>;
87
+ }
88
+ //# sourceMappingURL=baseMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseMessage.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/baseMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAuB,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1D,8BAAsB,WAAY,YAAW,QAAQ;IACnD,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,SAAS,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACpC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAClC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IACvC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IACjC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAErC;;;;OAIG;IACH,SAAS,aAAa,OAAO,EAAE,cAAc;IAmB7C;;OAEG;IACH,OAAO,IAAI,mBAAmB;IAI9B;;OAEG;IACH,UAAU,IAAI,cAAc;IAI5B;;OAEG;IACH,WAAW,IAAI,eAAe,GAAG,SAAS;IAI1C;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM/B;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE;IAI5B;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAI5C;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIxC;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvD;;OAEG;IACH,0BAA0B,IAAI,SAAS,EAAE;IAIzC;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAwBxD;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAM1C;;;;;OAKG;IACG,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAU5G"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseMessage = void 0;
4
+ const bitgo_1 = require("../../../bitgo");
5
+ const iface_1 = require("../iface");
6
+ class BaseMessage {
7
+ /**
8
+ * Base constructor.
9
+ *
10
+ * @param options Message options containing type, payload, metadata, etc.
11
+ */
12
+ constructor(options) {
13
+ this.signatures = [];
14
+ this.signers = [];
15
+ this.coinConfig = options.coinConfig;
16
+ this.payload = options.payload;
17
+ this.type = options.type || bitgo_1.MessageStandardType.UNKNOWN;
18
+ this.signablePayload = options.signablePayload;
19
+ this.metadata = options.metadata || {};
20
+ if (options.signatures) {
21
+ // Deep copy each Signature object, including the Buffer
22
+ this.signatures = options.signatures.map((sig) => ({
23
+ publicKey: { ...sig.publicKey },
24
+ signature: Buffer.from(sig.signature),
25
+ }));
26
+ }
27
+ if (options.signers) {
28
+ this.signers = [...options.signers];
29
+ }
30
+ }
31
+ /**
32
+ * Get the message type
33
+ */
34
+ getType() {
35
+ return this.type;
36
+ }
37
+ /**
38
+ * Get the message payload
39
+ */
40
+ getPayload() {
41
+ return this.payload;
42
+ }
43
+ /**
44
+ * Get the metadata associated with the message
45
+ */
46
+ getMetadata() {
47
+ return this.metadata;
48
+ }
49
+ /**
50
+ * Gets all signers addresses or public keys
51
+ */
52
+ getSigners() {
53
+ return [...this.signers];
54
+ }
55
+ /**
56
+ * Adds a signer address or public key
57
+ * @param signer The address or public key of the signer
58
+ */
59
+ addSigner(signer) {
60
+ if (!this.signers.includes(signer)) {
61
+ this.signers.push(signer);
62
+ }
63
+ }
64
+ /**
65
+ * Sets signers addresses or public keys
66
+ * @param signers Array of addresses or public keys
67
+ */
68
+ setSigners(signers) {
69
+ this.signers = [...signers];
70
+ }
71
+ /**
72
+ * Gets all signatures associated with this message
73
+ */
74
+ getSignatures() {
75
+ return [...this.signatures];
76
+ }
77
+ /**
78
+ * Sets signatures for this message
79
+ * @param signatures Array of signatures to set
80
+ */
81
+ setSignatures(signatures) {
82
+ this.signatures = [...signatures];
83
+ }
84
+ /**
85
+ * Adds a signature to this message
86
+ * @param signature The signature to add
87
+ */
88
+ addSignature(signature) {
89
+ this.signatures.push(signature);
90
+ }
91
+ /**
92
+ * Gets the signatures in a format suitable for broadcasting
93
+ */
94
+ getBroadcastableSignatures() {
95
+ return this.signatures;
96
+ }
97
+ /**
98
+ * Converts this message to a broadcastable format
99
+ * Uses internal signatures and signers that were previously set
100
+ * @returns A broadcastable message
101
+ */
102
+ async toBroadcastFormat() {
103
+ if (!this.payload) {
104
+ throw new Error('Message payload must be set before converting to broadcast format');
105
+ }
106
+ const signablePayload = await this.getSignablePayload();
107
+ let serializedSignablePayload;
108
+ if (Buffer.isBuffer(signablePayload)) {
109
+ serializedSignablePayload = signablePayload.toString('base64');
110
+ }
111
+ else {
112
+ serializedSignablePayload = Buffer.from(String(signablePayload)).toString('base64');
113
+ }
114
+ return {
115
+ type: this.type,
116
+ payload: this.payload,
117
+ serializedSignatures: (0, iface_1.serializeSignatures)(this.getBroadcastableSignatures()),
118
+ signers: [...this.signers],
119
+ metadata: {
120
+ ...(this.metadata ? JSON.parse(JSON.stringify(this.metadata)) : {}), // deep copy to avoid mutation
121
+ },
122
+ signablePayload: serializedSignablePayload,
123
+ };
124
+ }
125
+ /**
126
+ * Serializes the broadcastable message to a string
127
+ * Uses internal signatures and signers that were previously set
128
+ * @returns A JSON string representation of the broadcastable message
129
+ */
130
+ async toBroadcastString() {
131
+ const broadcastable = await this.toBroadcastFormat();
132
+ const broadcastableStr = JSON.stringify(broadcastable);
133
+ return Buffer.from(broadcastableStr).toString('hex');
134
+ }
135
+ /**
136
+ * Verifies if the provided encoded message matches the signable payload
137
+ * @param messageEncodedHex The encoded message in hex format
138
+ * @param metadata Optional metadata for additional verification context
139
+ * @returns True if the encoded message matches the signable payload, false otherwise
140
+ */
141
+ async verifyEncodedPayload(messageEncodedHex, metadata) {
142
+ const signablePayload = await this.getSignablePayload();
143
+ let signablePayloadHex;
144
+ if (Buffer.isBuffer(signablePayload)) {
145
+ signablePayloadHex = signablePayload.toString('hex');
146
+ }
147
+ else {
148
+ signablePayloadHex = signablePayload;
149
+ }
150
+ return signablePayloadHex === messageEncodedHex;
151
+ }
152
+ }
153
+ exports.BaseMessage = BaseMessage;
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvYmFzZU1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMENBTXdCO0FBRXhCLG9DQUEwRDtBQUUxRCxNQUFzQixXQUFXO0lBUy9COzs7O09BSUc7SUFDSCxZQUFzQixPQUF1QjtRQVZuQyxlQUFVLEdBQWdCLEVBQUUsQ0FBQztRQUM3QixZQUFPLEdBQWEsRUFBRSxDQUFDO1FBVS9CLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLDJCQUFtQixDQUFDLE9BQU8sQ0FBQztRQUN4RCxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUV2QyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN2Qix3REFBd0Q7WUFDeEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDakQsU0FBUyxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsU0FBUyxFQUFFO2dCQUMvQixTQUFTLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO2FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFP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QUFDO1FBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLG9CQUFvQixDQUFDLGlCQUF5QixFQUFFLFFBQWtDO1FBQ3RGLE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDeEQsSUFBSSxrQkFBMEIsQ0FBQztRQUMvQixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxrQkFBa0IsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7YUFBTSxDQUFDO1lBQ04sa0JBQWtCLEdBQUcsZUFBZSxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLGtCQUFrQixLQUFLLGlCQUFpQixDQUFDO0lBQ2xELENBQUM7Q0FDRjtBQTNLRCxrQ0EyS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBCcm9hZGNhc3RhYmxlTWVzc2FnZSxcbiAgTWVzc2FnZU1ldGFkYXRhLFxuICBNZXNzYWdlT3B0aW9ucyxcbiAgTWVzc2FnZVBheWxvYWQsXG4gIE1lc3NhZ2VTdGFuZGFyZFR5cGUsXG59IGZyb20gJy4uLy4uLy4uL2JpdGdvJztcbmltcG9ydCB7IElNZXNzYWdlIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBzZXJpYWxpemVTaWduYXR1cmVzLCBTaWduYXR1cmUgfSBmcm9tICcuLi9pZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTWVzc2FnZSBpbXBsZW1lbnRzIElNZXNzYWdlIHtcbiAgcHJvdGVjdGVkIGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuICBwcm90ZWN0ZWQgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZTtcbiAgcHJvdGVjdGVkIHBheWxvYWQ6IE1lc3NhZ2VQYXlsb2FkO1xuICBwcm90ZWN0ZWQgc2lnbmF0dXJlczogU2lnbmF0dXJlW10gPSBbXTtcbiAgcHJvdGVjdGVkIHNpZ25lcnM6IHN0cmluZ1tdID0gW107XG4gIHByb3RlY3RlZCBzaWduYWJsZVBheWxvYWQ/OiBzdHJpbmcgfCBCdWZmZXI7XG4gIHByb3RlY3RlZCBtZXRhZGF0YT86IE1lc3NhZ2VNZXRhZGF0YTtcblxuICAvKipcbiAgICogQmFzZSBjb25zdHJ1Y3Rvci5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgTWVzc2FnZSBvcHRpb25zIGNvbnRhaW5pbmcgdHlwZSwgcGF5bG9hZCwgbWV0YWRhdGEsIGV0Yy5cbiAgICovXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihvcHRpb25zOiBNZXNzYWdlT3B0aW9ucykge1xuICAgIHRoaXMuY29pbkNvbmZpZyA9IG9wdGlvbnMuY29pbkNvbmZpZztcbiAgICB0aGlzLnBheWxvYWQgPSBvcHRpb25zLnBheWxvYWQ7XG4gICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlIHx8IE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTjtcbiAgICB0aGlzLnNpZ25hYmxlUGF5bG9hZCA9IG9wdGlvbnMuc2lnbmFibGVQYXlsb2FkO1xuICAgIHRoaXMubWV0YWRhdGEgPSBvcHRpb25zLm1ldGFkYXRhIHx8IHt9O1xuXG4gICAgaWYgKG9wdGlvbnMuc2lnbmF0dXJlcykge1xuICAgICAgLy8gRGVlcCBjb3B5IGVhY2ggU2lnbmF0dXJlIG9iamVjdCwgaW5jbHVkaW5nIHRoZSBCdWZmZXJcbiAgICAgIHRoaXMuc2lnbmF0dXJlcyA9IG9wdGlvbnMuc2lnbmF0dXJlcy5tYXAoKHNpZykgPT4gKHtcbiAgICAgICAgcHVibGljS2V5OiB7IC4uLnNpZy5wdWJsaWNLZXkgfSxcbiAgICAgICAgc2lnbmF0dXJlOiBCdWZmZXIuZnJvbShzaWcuc2lnbmF0dXJlKSxcbiAgICAgIH0pKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuc2lnbmVycykge1xuICAgICAgdGhpcy5zaWduZXJzID0gWy4uLm9wdGlvbnMuc2lnbmVyc107XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbWVzc2FnZSB0eXBlXG4gICAqL1xuICBnZXRUeXBlKCk6IE1lc3NhZ2VTdGFuZGFyZFR5cGUge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtZXNzYWdlIHBheWxvYWRcbiAgICovXG4gIGdldFBheWxvYWQoKTogTWVzc2FnZVBheWxvYWQge1xuICAgIHJldHVybiB0aGlzLnBheWxvYWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtZXRhZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIG1lc3NhZ2VcbiAgICovXG4gIGdldE1ldGFkYXRhKCk6IE1lc3NhZ2VNZXRhZGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubWV0YWRhdGE7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbGwgc2lnbmVycyBhZGRyZXNzZXMgb3IgcHVibGljIGtleXNcbiAgICovXG4gIGdldFNpZ25lcnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbLi4udGhpcy5zaWduZXJzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgc2lnbmVyIGFkZHJlc3Mgb3IgcHVibGljIGtleVxuICAgKiBAcGFyYW0gc2lnbmVyIFRoZSBhZGRyZXNzIG9yIHB1YmxpYyBrZXkgb2YgdGhlIHNpZ25lclxuICAgKi9cbiAgYWRkU2lnbmVyKHNpZ25lcjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNpZ25lcnMuaW5jbHVkZXMoc2lnbmVyKSkge1xuICAgICAgdGhpcy5zaWduZXJzLnB1c2goc2lnbmVyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBzaWduZXJzIGFkZHJlc3NlcyBvciBwdWJsaWMga2V5c1xuICAgKiBAcGFyYW0gc2lnbmVycyBBcnJheSBvZiBhZGRyZXNzZXMgb3IgcHVibGljIGtleXNcbiAgICovXG4gIHNldFNpZ25lcnMoc2lnbmVyczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLnNpZ25lcnMgPSBbLi4uc2lnbmVyc107XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbGwgc2lnbmF0dXJlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZXNzYWdlXG4gICAqL1xuICBnZXRTaWduYXR1cmVzKCk6IFNpZ25hdHVyZVtdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuc2lnbmF0dXJlc107XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBzaWduYXR1cmVzIGZvciB0aGlzIG1lc3NhZ2VcbiAgICogQHBhcmFtIHNpZ25hdHVyZXMgQXJyYXkgb2Ygc2lnbmF0dXJlcyB0byBzZXRcbiAgICovXG4gIHNldFNpZ25hdHVyZXMoc2lnbmF0dXJlczogU2lnbmF0dXJlW10pOiB2b2lkIHtcbiAgICB0aGlzLnNpZ25hdHVyZXMgPSBbLi4uc2lnbmF0dXJlc107XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHNpZ25hdHVyZSB0byB0aGlzIG1lc3NhZ2VcbiAgICogQHBhcmFtIHNpZ25hdHVyZSBUaGUgc2lnbmF0dXJlIHRvIGFkZFxuICAgKi9cbiAgYWRkU2lnbmF0dXJlKHNpZ25hdHVyZTogU2lnbmF0dXJlKTogdm9pZCB7XG4gICAgdGhpcy5zaWduYXR1cmVzLnB1c2goc2lnbmF0dXJlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBwYXlsb2FkIHRoYXQgc2hvdWxkIGJlIHNpZ25lZFxuICAgKiBFYWNoIG1lc3NhZ2Ugc3RhbmRhcmQgbXVzdCBpbXBsZW1lbnQgdGhpcyBtZXRob2RcbiAgICovXG4gIGFic3RyYWN0IGdldFNpZ25hYmxlUGF5bG9hZCgpOiBQcm9taXNlPHN0cmluZyB8IEJ1ZmZlcj47XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHNpZ25hdHVyZXMgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGJyb2FkY2FzdGluZ1xuICAgKi9cbiAgZ2V0QnJvYWRjYXN0YWJsZVNpZ25hdHVyZXMoKTogU2lnbmF0dXJlW10ge1xuICAgIHJldHVybiB0aGlzLnNpZ25hdHVyZXM7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhpcyBtZXNzYWdlIHRvIGEgYnJvYWRjYXN0YWJsZSBmb3JtYXRcbiAgICogVXNlcyBpbnRlcm5hbCBzaWduYXR1cmVzIGFuZCBzaWduZXJzIHRoYXQgd2VyZSBwcmV2aW91c2x5IHNldFxuICAgKiBAcmV0dXJucyBBIGJyb2FkY2FzdGFibGUgbWVzc2FnZVxuICAgKi9cbiAgYXN5bmMgdG9Ccm9hZGNhc3RGb3JtYXQoKTogUHJvbWlzZTxCcm9hZGNhc3RhYmxlTWVzc2FnZT4ge1xuICAgIGlmICghdGhpcy5wYXlsb2FkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01lc3NhZ2UgcGF5bG9hZCBtdXN0IGJlIHNldCBiZWZvcmUgY29udmVydGluZyB0byBicm9hZGNhc3QgZm9ybWF0Jyk7XG4gICAgfVxuICAgIGNvbnN0IHNpZ25hYmxlUGF5bG9hZCA9IGF3YWl0IHRoaXMuZ2V0U2lnbmFibGVQYXlsb2FkKCk7XG4gICAgbGV0IHNlcmlhbGl6ZWRTaWduYWJsZVBheWxvYWQ6IHN0cmluZztcbiAgICBpZiAoQnVmZmVyLmlzQnVmZmVyKHNpZ25hYmxlUGF5bG9hZCkpIHtcbiAgICAgIHNlcmlhbGl6ZWRTaWduYWJsZVBheWxvYWQgPSBzaWduYWJsZVBheWxvYWQudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXJpYWxpemVkU2lnbmFibGVQYXlsb2FkID0gQnVmZmVyLmZyb20oU3RyaW5nKHNpZ25hYmxlUGF5bG9hZCkpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgcGF5bG9hZDogdGhpcy5wYXlsb2FkLFxuICAgICAgc2VyaWFsaXplZFNpZ25hdHVyZXM6IHNlcmlhbGl6ZVNpZ25hdHVyZXModGhpcy5nZXRCcm9hZGNhc3RhYmxlU2lnbmF0dXJlcygpKSxcbiAgICAgIHNpZ25lcnM6IFsuLi50aGlzLnNpZ25lcnNdLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgLi4uKHRoaXMubWV0YWRhdGEgPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMubWV0YWRhdGEpKSA6IHt9KSwgLy8gZGVlcCBjb3B5IHRvIGF2b2lkIG11dGF0aW9uXG4gICAgICB9LFxuICAgICAgc2lnbmFibGVQYXlsb2FkOiBzZXJpYWxpemVkU2lnbmFibGVQYXlsb2FkLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplcyB0aGUgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIHRvIGEgc3RyaW5nXG4gICAqIFVzZXMgaW50ZXJuYWwgc2lnbmF0dXJlcyBhbmQgc2lnbmVycyB0aGF0IHdlcmUgcHJldmlvdXNseSBzZXRcbiAgICogQHJldHVybnMgQSBKU09OIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgYnJvYWRjYXN0YWJsZSBtZXNzYWdlXG4gICAqL1xuICBhc3luYyB0b0Jyb2FkY2FzdFN0cmluZygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGJyb2FkY2FzdGFibGUgPSBhd2FpdCB0aGlzLnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgY29uc3QgYnJvYWRjYXN0YWJsZVN0ciA9IEpTT04uc3RyaW5naWZ5KGJyb2FkY2FzdGFibGUpO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShicm9hZGNhc3RhYmxlU3RyKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpZXMgaWYgdGhlIHByb3ZpZGVkIGVuY29kZWQgbWVzc2FnZSBtYXRjaGVzIHRoZSBzaWduYWJsZSBwYXlsb2FkXG4gICAqIEBwYXJhbSBtZXNzYWdlRW5jb2RlZEhleCBUaGUgZW5jb2RlZCBtZXNzYWdlIGluIGhleCBmb3JtYXRcbiAgICogQHBhcmFtIG1ldGFkYXRhIE9wdGlvbmFsIG1ldGFkYXRhIGZvciBhZGRpdGlvbmFsIHZlcmlmaWNhdGlvbiBjb250ZXh0XG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGVuY29kZWQgbWVzc2FnZSBtYXRjaGVzIHRoZSBzaWduYWJsZSBwYXlsb2FkLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIGFzeW5jIHZlcmlmeUVuY29kZWRQYXlsb2FkKG1lc3NhZ2VFbmNvZGVkSGV4OiBzdHJpbmcsIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBhd2FpdCB0aGlzLmdldFNpZ25hYmxlUGF5bG9hZCgpO1xuICAgIGxldCBzaWduYWJsZVBheWxvYWRIZXg6IHN0cmluZztcbiAgICBpZiAoQnVmZmVyLmlzQnVmZmVyKHNpZ25hYmxlUGF5bG9hZCkpIHtcbiAgICAgIHNpZ25hYmxlUGF5bG9hZEhleCA9IHNpZ25hYmxlUGF5bG9hZC50b1N0cmluZygnaGV4Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNpZ25hYmxlUGF5bG9hZEhleCA9IHNpZ25hYmxlUGF5bG9hZDtcbiAgICB9XG4gICAgcmV0dXJuIHNpZ25hYmxlUGF5bG9hZEhleCA9PT0gbWVzc2FnZUVuY29kZWRIZXg7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,67 @@
1
+ import { BroadcastableMessage, MessageOptions, MessagePayload, MessageStandardType } from '../../../bitgo';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { IMessage, IMessageBuilder } from './iface';
4
+ import { Signature } from '../iface';
5
+ /**
6
+ * Base Message Builder
7
+ */
8
+ export declare abstract class BaseMessageBuilder implements IMessageBuilder {
9
+ protected coinConfig: Readonly<CoinConfig>;
10
+ protected payload: MessagePayload;
11
+ protected type: MessageStandardType;
12
+ protected signatures: Signature[];
13
+ protected signers: string[];
14
+ protected metadata?: Record<string, unknown>;
15
+ protected digest?: string;
16
+ /**
17
+ * Base constructor.
18
+ * @param coinConfig BaseCoin from statics library
19
+ * @param messageType The type of message this builder creates, defaults to UNKNOWN
20
+ */
21
+ protected constructor(coinConfig: Readonly<CoinConfig>, messageType?: MessageStandardType);
22
+ /**
23
+ * Sets the message payload to be used when building the message
24
+ * @param payload The message payload (string, JSON, etc.)
25
+ * @returns The builder instance for chaining
26
+ */
27
+ setPayload(payload: MessagePayload): IMessageBuilder;
28
+ /**
29
+ * Sets metadata for the message
30
+ * @param metadata Additional metadata for the message
31
+ * @returns The builder instance for chaining
32
+ */
33
+ setMetadata(metadata: Record<string, unknown>): IMessageBuilder;
34
+ /**
35
+ * Gets the current message payload
36
+ * @returns The current message payload
37
+ */
38
+ getPayload(): MessagePayload | undefined;
39
+ /**
40
+ * Gets the current metadata
41
+ * @returns The current metadata
42
+ */
43
+ getMetadata(): Record<string, unknown> | undefined;
44
+ getType(): MessageStandardType;
45
+ setType(value: MessageStandardType): IMessageBuilder;
46
+ getSignatures(): Signature[];
47
+ setSignatures(signatures: Signature[]): IMessageBuilder;
48
+ addSignature(signature: Signature): IMessageBuilder;
49
+ getSigners(): string[];
50
+ setSigners(value: string[]): IMessageBuilder;
51
+ addSigner(signer: string): IMessageBuilder;
52
+ getDigest(): string | undefined;
53
+ setDigest(value: string): IMessageBuilder;
54
+ /**
55
+ * Builds a message using the previously set payload and metadata
56
+ * @returns A Promise resolving to the built IMessage
57
+ */
58
+ build(): Promise<IMessage>;
59
+ protected abstract buildMessage(options: MessageOptions): Promise<IMessage>;
60
+ /**
61
+ * Parse a broadcastable message back into a message
62
+ * @param broadcastMessage The broadcastable message to parse
63
+ * @returns The parsed message
64
+ */
65
+ fromBroadcastFormat(broadcastMessage: BroadcastableMessage): Promise<IMessage>;
66
+ }
67
+ //# sourceMappingURL=baseMessageBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseMessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/baseMessageBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC3G,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAyB,SAAS,EAAE,MAAM,UAAU,CAAC;AAE5D;;GAEG;AACH,8BAAsB,kBAAmB,YAAW,eAAe;IACjE,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,SAAS,CAAC,OAAO,EAAE,cAAc,CAAM;IACvC,SAAS,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACpC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IACvC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAClD,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,SAAS,aACP,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAChC,WAAW,GAAE,mBAAiD;IAMhE;;;;OAIG;IACI,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe;IAK3D;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe;IAKtE;;;OAGG;IACI,UAAU,IAAI,cAAc,GAAG,SAAS;IAI/C;;;OAGG;IACI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAIlD,OAAO,IAAI,mBAAmB;IAI9B,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,eAAe;IAKpD,aAAa,IAAI,SAAS,EAAE;IAI5B,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,eAAe;IAKvD,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe;IAWnD,UAAU,IAAI,MAAM,EAAE;IAItB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe;IAK5C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAO1C,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAKhD;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAwBvC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IAE3E;;;;OAIG;IACU,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAc5F"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseMessageBuilder = void 0;
4
+ const bitgo_1 = require("../../../bitgo");
5
+ const iface_1 = require("../iface");
6
+ /**
7
+ * Base Message Builder
8
+ */
9
+ class BaseMessageBuilder {
10
+ /**
11
+ * Base constructor.
12
+ * @param coinConfig BaseCoin from statics library
13
+ * @param messageType The type of message this builder creates, defaults to UNKNOWN
14
+ */
15
+ constructor(coinConfig, messageType = bitgo_1.MessageStandardType.UNKNOWN) {
16
+ this.payload = '';
17
+ this.signatures = [];
18
+ this.signers = [];
19
+ this.metadata = {};
20
+ this.coinConfig = coinConfig;
21
+ this.type = messageType;
22
+ }
23
+ /**
24
+ * Sets the message payload to be used when building the message
25
+ * @param payload The message payload (string, JSON, etc.)
26
+ * @returns The builder instance for chaining
27
+ */
28
+ setPayload(payload) {
29
+ this.payload = payload;
30
+ return this;
31
+ }
32
+ /**
33
+ * Sets metadata for the message
34
+ * @param metadata Additional metadata for the message
35
+ * @returns The builder instance for chaining
36
+ */
37
+ setMetadata(metadata) {
38
+ this.metadata = metadata;
39
+ return this;
40
+ }
41
+ /**
42
+ * Gets the current message payload
43
+ * @returns The current message payload
44
+ */
45
+ getPayload() {
46
+ return this.payload;
47
+ }
48
+ /**
49
+ * Gets the current metadata
50
+ * @returns The current metadata
51
+ */
52
+ getMetadata() {
53
+ return this.metadata;
54
+ }
55
+ getType() {
56
+ return this.type;
57
+ }
58
+ setType(value) {
59
+ this.type = value;
60
+ return this;
61
+ }
62
+ getSignatures() {
63
+ return this.signatures;
64
+ }
65
+ setSignatures(signatures) {
66
+ this.signatures = signatures;
67
+ return this;
68
+ }
69
+ addSignature(signature) {
70
+ if (!this.signatures.some((sig) => sig.publicKey.pub === signature.publicKey.pub && sig.signature.equals(signature.signature))) {
71
+ this.signatures.push(signature);
72
+ }
73
+ return this;
74
+ }
75
+ getSigners() {
76
+ return this.signers;
77
+ }
78
+ setSigners(value) {
79
+ this.signers = value;
80
+ return this;
81
+ }
82
+ addSigner(signer) {
83
+ if (!this.signers.includes(signer)) {
84
+ this.signers.push(signer);
85
+ }
86
+ return this;
87
+ }
88
+ getDigest() {
89
+ return this.digest;
90
+ }
91
+ setDigest(value) {
92
+ this.digest = value;
93
+ return this;
94
+ }
95
+ /**
96
+ * Builds a message using the previously set payload and metadata
97
+ * @returns A Promise resolving to the built IMessage
98
+ */
99
+ async build() {
100
+ try {
101
+ if (!this.payload) {
102
+ throw new Error('Message payload must be set before building the message');
103
+ }
104
+ return this.buildMessage({
105
+ coinConfig: this.coinConfig,
106
+ payload: this.payload,
107
+ type: this.type,
108
+ signatures: this.signatures,
109
+ signers: this.signers,
110
+ metadata: {
111
+ ...this.metadata,
112
+ encoding: 'utf8',
113
+ },
114
+ });
115
+ }
116
+ catch (err) {
117
+ if (err instanceof Error) {
118
+ throw err;
119
+ }
120
+ throw new Error(`Failed to build message of type ${this.type}`);
121
+ }
122
+ }
123
+ /**
124
+ * Parse a broadcastable message back into a message
125
+ * @param broadcastMessage The broadcastable message to parse
126
+ * @returns The parsed message
127
+ */
128
+ async fromBroadcastFormat(broadcastMessage) {
129
+ const { type, payload, serializedSignatures, signers, metadata } = broadcastMessage;
130
+ if (type !== this.type) {
131
+ throw new Error(`Invalid message type, expected ${this.type}`);
132
+ }
133
+ this.payload = payload;
134
+ this.signatures = (0, iface_1.deserializeSignatures)(serializedSignatures);
135
+ this.signers = signers || [];
136
+ this.metadata = {
137
+ ...metadata,
138
+ encoding: 'utf8',
139
+ };
140
+ return this.build();
141
+ }
142
+ }
143
+ exports.BaseMessageBuilder = BaseMessageBuilder;
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL2Jhc2VDb2luL21lc3NhZ2VzL2Jhc2VNZXNzYWdlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwQ0FBMkc7QUFHM0csb0NBQTREO0FBRTVEOztHQUVHO0FBQ0gsTUFBc0Isa0JBQWtCO0lBU3RDOzs7O09BSUc7SUFDSCxZQUNFLFVBQWdDLEVBQ2hDLGNBQW1DLDJCQUFtQixDQUFDLE9BQU87UUFkdEQsWUFBTyxHQUFtQixFQUFFLENBQUM7UUFFN0IsZUFBVSxHQUFnQixFQUFFLENBQUM7UUFDN0IsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUN2QixhQUFRLEdBQTZCLEVBQUUsQ0FBQztRQVloRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxPQUF1QjtRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksV0FBVyxDQUFDLFFBQWlDO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFTSxPQUFPLENBQUMsS0FBMEI7UUFDdkMsSUFBSSxDQUFDLElBQUksR0FB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QUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUEsNkJBQXFCLEVBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLEdBQUcsUUFBUTtZQUNYLFFBQVEsRUFBRSxNQUFNO1NBQ2pCLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUFqS0QsZ0RBaUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJvYWRjYXN0YWJsZU1lc3NhZ2UsIE1lc3NhZ2VPcHRpb25zLCBNZXNzYWdlUGF5bG9hZCwgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uLy4uLy4uL2JpdGdvJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IElNZXNzYWdlLCBJTWVzc2FnZUJ1aWxkZXIgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IGRlc2VyaWFsaXplU2lnbmF0dXJlcywgU2lnbmF0dXJlIH0gZnJvbSAnLi4vaWZhY2UnO1xuXG4vKipcbiAqIEJhc2UgTWVzc2FnZSBCdWlsZGVyXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTWVzc2FnZUJ1aWxkZXIgaW1wbGVtZW50cyBJTWVzc2FnZUJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz47XG4gIHByb3RlY3RlZCBwYXlsb2FkOiBNZXNzYWdlUGF5bG9hZCA9ICcnO1xuICBwcm90ZWN0ZWQgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZTtcbiAgcHJvdGVjdGVkIHNpZ25hdHVyZXM6IFNpZ25hdHVyZVtdID0gW107XG4gIHByb3RlY3RlZCBzaWduZXJzOiBzdHJpbmdbXSA9IFtdO1xuICBwcm90ZWN0ZWQgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICBwcm90ZWN0ZWQgZGlnZXN0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCYXNlIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0gY29pbkNvbmZpZyBCYXNlQ29pbiBmcm9tIHN0YXRpY3MgbGlicmFyeVxuICAgKiBAcGFyYW0gbWVzc2FnZVR5cGUgVGhlIHR5cGUgb2YgbWVzc2FnZSB0aGlzIGJ1aWxkZXIgY3JlYXRlcywgZGVmYXVsdHMgdG8gVU5LTk9XTlxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+LFxuICAgIG1lc3NhZ2VUeXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlID0gTWVzc2FnZVN0YW5kYXJkVHlwZS5VTktOT1dOXG4gICkge1xuICAgIHRoaXMuY29pbkNvbmZpZyA9IGNvaW5Db25maWc7XG4gICAgdGhpcy50eXBlID0gbWVzc2FnZVR5cGU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWVzc2FnZSBwYXlsb2FkIHRvIGJlIHVzZWQgd2hlbiBidWlsZGluZyB0aGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgbWVzc2FnZSBwYXlsb2FkIChzdHJpbmcsIEpTT04sIGV0Yy4pXG4gICAqIEByZXR1cm5zIFRoZSBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcHVibGljIHNldFBheWxvYWQocGF5bG9hZDogTWVzc2FnZVBheWxvYWQpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIHRoaXMucGF5bG9hZCA9IHBheWxvYWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBtZXRhZGF0YSBmb3IgdGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG1ldGFkYXRhIEFkZGl0aW9uYWwgbWV0YWRhdGEgZm9yIHRoZSBtZXNzYWdlXG4gICAqIEByZXR1cm5zIFRoZSBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcHVibGljIHNldE1ldGFkYXRhKG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgdGhpcy5tZXRhZGF0YSA9IG1ldGFkYXRhO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgbWVzc2FnZSBwYXlsb2FkXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IG1lc3NhZ2UgcGF5bG9hZFxuICAgKi9cbiAgcHVibGljIGdldFBheWxvYWQoKTogTWVzc2FnZVBheWxvYWQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnBheWxvYWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBtZXRhZGF0YVxuICAgKi9cbiAgcHVibGljIGdldE1ldGFkYXRhKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUeXBlKCk6IE1lc3NhZ2VTdGFuZGFyZFR5cGUge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBwdWJsaWMgc2V0VHlwZSh2YWx1ZTogTWVzc2FnZVN0YW5kYXJkVHlwZSk6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgdGhpcy50eXBlID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2lnbmF0dXJlcygpOiBTaWduYXR1cmVbXSB7XG4gICAgcmV0dXJuIHRoaXMuc2lnbmF0dXJlcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRTaWduYXR1cmVzKHNpZ25hdHVyZXM6IFNpZ25hdHVyZVtdKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICB0aGlzLnNpZ25hdHVyZXMgPSBzaWduYXR1cmVzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFkZFNpZ25hdHVyZShzaWduYXR1cmU6IFNpZ25hdHVyZSk6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuc2lnbmF0dXJlcy5zb21lKFxuICAgICAgICAoc2lnKSA9PiBzaWcucHVibGljS2V5LnB1YiA9PT0gc2lnbmF0dXJlLnB1YmxpY0tleS5wdWIgJiYgc2lnLnNpZ25hdHVyZS5lcXVhbHMoc2lnbmF0dXJlLnNpZ25hdHVyZSlcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuc2lnbmF0dXJlcy5wdXNoKHNpZ25hdHVyZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdldFNpZ25lcnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnNpZ25lcnM7XG4gIH1cblxuICBwdWJsaWMgc2V0U2lnbmVycyh2YWx1ZTogc3RyaW5nW10pOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIHRoaXMuc2lnbmVycyA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFkZFNpZ25lcihzaWduZXI6IHN0cmluZyk6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgaWYgKCF0aGlzLnNpZ25lcnMuaW5jbHVkZXMoc2lnbmVyKSkge1xuICAgICAgdGhpcy5zaWduZXJzLnB1c2goc2lnbmVyKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGlnZXN0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZGlnZXN0O1xuICB9XG5cbiAgcHVibGljIHNldERpZ2VzdCh2YWx1ZTogc3RyaW5nKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICB0aGlzLmRpZ2VzdCA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhIG1lc3NhZ2UgdXNpbmcgdGhlIHByZXZpb3VzbHkgc2V0IHBheWxvYWQgYW5kIG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIEEgUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIGJ1aWx0IElNZXNzYWdlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYnVpbGQoKTogUHJvbWlzZTxJTWVzc2FnZT4ge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIXRoaXMucGF5bG9hZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01lc3NhZ2UgcGF5bG9hZCBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIG1lc3NhZ2UnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmJ1aWxkTWVzc2FnZSh7XG4gICAgICAgIGNvaW5Db25maWc6IHRoaXMuY29pbkNvbmZpZyxcbiAgICAgICAgcGF5bG9hZDogdGhpcy5wYXlsb2FkLFxuICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgIHNpZ25hdHVyZXM6IHRoaXMuc2lnbmF0dXJlcyxcbiAgICAgICAgc2lnbmVyczogdGhpcy5zaWduZXJzLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgIC4uLnRoaXMubWV0YWRhdGEsXG4gICAgICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGJ1aWxkIG1lc3NhZ2Ugb2YgdHlwZSAke3RoaXMudHlwZX1gKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgYnVpbGRNZXNzYWdlKG9wdGlvbnM6IE1lc3NhZ2VPcHRpb25zKTogUHJvbWlzZTxJTWVzc2FnZT47XG5cbiAgLyoqXG4gICAqIFBhcnNlIGEgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIGJhY2sgaW50byBhIG1lc3NhZ2VcbiAgICogQHBhcmFtIGJyb2FkY2FzdE1lc3NhZ2UgVGhlIGJyb2FkY2FzdGFibGUgbWVzc2FnZSB0byBwYXJzZVxuICAgKiBAcmV0dXJucyBUaGUgcGFyc2VkIG1lc3NhZ2VcbiAgICovXG4gIHB1YmxpYyBhc3luYyBmcm9tQnJvYWRjYXN0Rm9ybWF0KGJyb2FkY2FzdE1lc3NhZ2U6IEJyb2FkY2FzdGFibGVNZXNzYWdlKTogUHJvbWlzZTxJTWVzc2FnZT4ge1xuICAgIGNvbnN0IHsgdHlwZSwgcGF5bG9hZCwgc2VyaWFsaXplZFNpZ25hdHVyZXMsIHNpZ25lcnMsIG1ldGFkYXRhIH0gPSBicm9hZGNhc3RNZXNzYWdlO1xuICAgIGlmICh0eXBlICE9PSB0aGlzLnR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtZXNzYWdlIHR5cGUsIGV4cGVjdGVkICR7dGhpcy50eXBlfWApO1xuICAgIH1cbiAgICB0aGlzLnBheWxvYWQgPSBwYXlsb2FkO1xuICAgIHRoaXMuc2lnbmF0dXJlcyA9IGRlc2VyaWFsaXplU2lnbmF0dXJlcyhzZXJpYWxpemVkU2lnbmF0dXJlcyk7XG4gICAgdGhpcy5zaWduZXJzID0gc2lnbmVycyB8fCBbXTtcbiAgICB0aGlzLm1ldGFkYXRhID0ge1xuICAgICAgLi4ubWV0YWRhdGEsXG4gICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuYnVpbGQoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,33 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { IMessageBuilder, IMessageBuilderFactory } from './iface';
3
+ import { BroadcastableMessage, MessageStandardType } from '../../../bitgo';
4
+ /**
5
+ * Base Message Builder
6
+ */
7
+ export declare abstract class BaseMessageBuilderFactory implements IMessageBuilderFactory {
8
+ protected coinConfig: Readonly<CoinConfig>;
9
+ /**
10
+ * Base constructor.
11
+ * @param coinConfig BaseCoin from statics library
12
+ */
13
+ protected constructor(coinConfig: Readonly<CoinConfig>);
14
+ /**
15
+ * Gets a message builder for the specified message type
16
+ * @param type The type of message to build
17
+ * @returns A message builder instance for the specified type
18
+ */
19
+ abstract getMessageBuilder(type: MessageStandardType): IMessageBuilder;
20
+ /**
21
+ * Gets a message builder from a broadcastable message
22
+ * @param broadcastMessage The broadcastable message
23
+ * @returns A message builder instance for the broadcastable message type
24
+ */
25
+ fromBroadcastFormat(broadcastMessage: BroadcastableMessage): IMessageBuilder;
26
+ /**
27
+ * Parses a broadcastable message and gets the message builder based on the message type.
28
+ * @param broadcastHex The broadcastable message to parse
29
+ * @returns A message builder instance for the parsed broadcastable message type
30
+ */
31
+ fromBroadcastString(broadcastHex: string): IMessageBuilder;
32
+ }
33
+ //# sourceMappingURL=baseMessageBuilderFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseMessageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/baseMessageBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG3E;;GAEG;AACH,8BAAsB,yBAA0B,YAAW,sBAAsB;IAC/E,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE3C;;;OAGG;IACH,SAAS,aAAa,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAItD;;;;OAIG;aACa,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;IAE7E;;;;OAIG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,eAAe;IAa5E;;;;OAIG;IACH,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe;CAK3D"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseMessageBuilderFactory = void 0;
4
+ const iface_1 = require("../iface");
5
+ /**
6
+ * Base Message Builder
7
+ */
8
+ class BaseMessageBuilderFactory {
9
+ /**
10
+ * Base constructor.
11
+ * @param coinConfig BaseCoin from statics library
12
+ */
13
+ constructor(coinConfig) {
14
+ this.coinConfig = coinConfig;
15
+ }
16
+ /**
17
+ * Gets a message builder from a broadcastable message
18
+ * @param broadcastMessage The broadcastable message
19
+ * @returns A message builder instance for the broadcastable message type
20
+ */
21
+ fromBroadcastFormat(broadcastMessage) {
22
+ const builder = this.getMessageBuilder(broadcastMessage.type);
23
+ builder.setPayload(broadcastMessage.payload);
24
+ builder.setMetadata(broadcastMessage.metadata || {});
25
+ if (broadcastMessage.signers) {
26
+ builder.setSigners(broadcastMessage.signers);
27
+ }
28
+ if (broadcastMessage.serializedSignatures) {
29
+ builder.setSignatures((0, iface_1.deserializeSignatures)(broadcastMessage.serializedSignatures));
30
+ }
31
+ return builder;
32
+ }
33
+ /**
34
+ * Parses a broadcastable message and gets the message builder based on the message type.
35
+ * @param broadcastHex The broadcastable message to parse
36
+ * @returns A message builder instance for the parsed broadcastable message type
37
+ */
38
+ fromBroadcastString(broadcastHex) {
39
+ const broadcastStr = Buffer.from(broadcastHex, 'hex').toString();
40
+ const broadcastMessage = JSON.parse(broadcastStr);
41
+ return this.fromBroadcastFormat(broadcastMessage);
42
+ }
43
+ }
44
+ exports.BaseMessageBuilderFactory = BaseMessageBuilderFactory;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9iYXNlQ29pbi9tZXNzYWdlcy9iYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLG9DQUFpRDtBQUVqRDs7R0FFRztBQUNILE1BQXNCLHlCQUF5QjtJQUc3Qzs7O09BR0c7SUFDSCxZQUFzQixVQUFnQztRQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBU0Q7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLGdCQUFzQztRQUN4RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxPQUFPLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyRCxJQUFJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELElBQUksZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUMxQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUEsNkJBQXFCLEVBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLFlBQW9CO1FBQ3RDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQXlCLENBQUM7UUFDMUUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBQ0Y7QUE5Q0QsOERBOENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgSU1lc3NhZ2VCdWlsZGVyLCBJTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBCcm9hZGNhc3RhYmxlTWVzc2FnZSwgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uLy4uLy4uL2JpdGdvJztcbmltcG9ydCB7IGRlc2VyaWFsaXplU2lnbmF0dXJlcyB9IGZyb20gJy4uL2lmYWNlJztcblxuLyoqXG4gKiBCYXNlIE1lc3NhZ2UgQnVpbGRlclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeSBpbXBsZW1lbnRzIElNZXNzYWdlQnVpbGRlckZhY3Rvcnkge1xuICBwcm90ZWN0ZWQgY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz47XG5cbiAgLyoqXG4gICAqIEJhc2UgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSBjb2luQ29uZmlnIEJhc2VDb2luIGZyb20gc3RhdGljcyBsaWJyYXJ5XG4gICAqL1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICB0aGlzLmNvaW5Db25maWcgPSBjb2luQ29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBtZXNzYWdlIGJ1aWxkZXIgZm9yIHRoZSBzcGVjaWZpZWQgbWVzc2FnZSB0eXBlXG4gICAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIG1lc3NhZ2UgdG8gYnVpbGRcbiAgICogQHJldHVybnMgQSBtZXNzYWdlIGJ1aWxkZXIgaW5zdGFuY2UgZm9yIHRoZSBzcGVjaWZpZWQgdHlwZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldE1lc3NhZ2VCdWlsZGVyKHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUpOiBJTWVzc2FnZUJ1aWxkZXI7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBtZXNzYWdlIGJ1aWxkZXIgZnJvbSBhIGJyb2FkY2FzdGFibGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gYnJvYWRjYXN0TWVzc2FnZSBUaGUgYnJvYWRjYXN0YWJsZSBtZXNzYWdlXG4gICAqIEByZXR1cm5zIEEgbWVzc2FnZSBidWlsZGVyIGluc3RhbmNlIGZvciB0aGUgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIHR5cGVcbiAgICovXG4gIGZyb21Ccm9hZGNhc3RGb3JtYXQoYnJvYWRjYXN0TWVzc2FnZTogQnJvYWRjYXN0YWJsZU1lc3NhZ2UpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIGNvbnN0IGJ1aWxkZXIgPSB0aGlzLmdldE1lc3NhZ2VCdWlsZGVyKGJyb2FkY2FzdE1lc3NhZ2UudHlwZSk7XG4gICAgYnVpbGRlci5zZXRQYXlsb2FkKGJyb2FkY2FzdE1lc3NhZ2UucGF5bG9hZCk7XG4gICAgYnVpbGRlci5zZXRNZXRhZGF0YShicm9hZGNhc3RNZXNzYWdlLm1ldGFkYXRhIHx8IHt9KTtcbiAgICBpZiAoYnJvYWRjYXN0TWVzc2FnZS5zaWduZXJzKSB7XG4gICAgICBidWlsZGVyLnNldFNpZ25lcnMoYnJvYWRjYXN0TWVzc2FnZS5zaWduZXJzKTtcbiAgICB9XG4gICAgaWYgKGJyb2FkY2FzdE1lc3NhZ2Uuc2VyaWFsaXplZFNpZ25hdHVyZXMpIHtcbiAgICAgIGJ1aWxkZXIuc2V0U2lnbmF0dXJlcyhkZXNlcmlhbGl6ZVNpZ25hdHVyZXMoYnJvYWRjYXN0TWVzc2FnZS5zZXJpYWxpemVkU2lnbmF0dXJlcykpO1xuICAgIH1cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZXMgYSBicm9hZGNhc3RhYmxlIG1lc3NhZ2UgYW5kIGdldHMgdGhlIG1lc3NhZ2UgYnVpbGRlciBiYXNlZCBvbiB0aGUgbWVzc2FnZSB0eXBlLlxuICAgKiBAcGFyYW0gYnJvYWRjYXN0SGV4IFRoZSBicm9hZGNhc3RhYmxlIG1lc3NhZ2UgdG8gcGFyc2VcbiAgICogQHJldHVybnMgQSBtZXNzYWdlIGJ1aWxkZXIgaW5zdGFuY2UgZm9yIHRoZSBwYXJzZWQgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIHR5cGVcbiAgICovXG4gIGZyb21Ccm9hZGNhc3RTdHJpbmcoYnJvYWRjYXN0SGV4OiBzdHJpbmcpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIGNvbnN0IGJyb2FkY2FzdFN0ciA9IEJ1ZmZlci5mcm9tKGJyb2FkY2FzdEhleCwgJ2hleCcpLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgYnJvYWRjYXN0TWVzc2FnZSA9IEpTT04ucGFyc2UoYnJvYWRjYXN0U3RyKSBhcyBCcm9hZGNhc3RhYmxlTWVzc2FnZTtcbiAgICByZXR1cm4gdGhpcy5mcm9tQnJvYWRjYXN0Rm9ybWF0KGJyb2FkY2FzdE1lc3NhZ2UpO1xuICB9XG59XG4iXX0=