@airgap/substrate 0.13.45-beta.2 → 0.13.45-beta.3

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 (396) hide show
  1. package/package.json +5 -5
  2. package/v0/index.js +12 -12
  3. package/v0/index.js.map +1 -1
  4. package/v0/protocol/SubstrateCryptoClient.js +23 -94
  5. package/v0/protocol/SubstrateCryptoClient.js.map +1 -1
  6. package/v0/protocol/SubstrateDelegateProtocol.js +297 -542
  7. package/v0/protocol/SubstrateDelegateProtocol.js.map +1 -1
  8. package/v0/protocol/SubstrateNetwork.js +1 -1
  9. package/v0/protocol/SubstrateNetwork.js.map +1 -1
  10. package/v0/protocol/SubstrateProtocol.js +333 -672
  11. package/v0/protocol/SubstrateProtocol.js.map +1 -1
  12. package/v0/protocol/SubstrateProtocolOptions.js +25 -93
  13. package/v0/protocol/SubstrateProtocolOptions.js.map +1 -1
  14. package/v0/protocol/astar/AstarAddress.js +7 -27
  15. package/v0/protocol/astar/AstarAddress.js.map +1 -1
  16. package/v0/protocol/common/SubstrateAccountController.js +400 -687
  17. package/v0/protocol/common/SubstrateAccountController.js.map +1 -1
  18. package/v0/protocol/common/SubstrateTransactionController.d.ts +0 -1
  19. package/v0/protocol/common/SubstrateTransactionController.js +185 -346
  20. package/v0/protocol/common/SubstrateTransactionController.js.map +1 -1
  21. package/v0/protocol/common/blockexplorer/SubstrateBlockExplorerClient.js +52 -100
  22. package/v0/protocol/common/blockexplorer/SubstrateBlockExplorerClient.js.map +1 -1
  23. package/v0/protocol/common/data/account/SubstrateAccountInfo.js +27 -29
  24. package/v0/protocol/common/data/account/SubstrateAccountInfo.js.map +1 -1
  25. package/v0/protocol/common/data/account/SubstrateAddress.d.ts +0 -1
  26. package/v0/protocol/common/data/account/SubstrateAddress.js +43 -46
  27. package/v0/protocol/common/data/account/SubstrateAddress.js.map +1 -1
  28. package/v0/protocol/common/data/account/SubstrateRegistration.js +50 -56
  29. package/v0/protocol/common/data/account/SubstrateRegistration.js.map +1 -1
  30. package/v0/protocol/common/data/metadata/Metadata.js +24 -25
  31. package/v0/protocol/common/data/metadata/Metadata.js.map +1 -1
  32. package/v0/protocol/common/data/metadata/MetadataVersioned.js +2 -5
  33. package/v0/protocol/common/data/metadata/MetadataVersioned.js.map +1 -1
  34. package/v0/protocol/common/data/metadata/decorator/MetadataDecorator.js +18 -20
  35. package/v0/protocol/common/data/metadata/decorator/MetadataDecorator.js.map +1 -1
  36. package/v0/protocol/common/data/metadata/decorator/constant/SubstrateConstant.d.ts +0 -1
  37. package/v0/protocol/common/data/metadata/decorator/storage/SubstrateStorageEntry.js +89 -237
  38. package/v0/protocol/common/data/metadata/decorator/storage/SubstrateStorageEntry.js.map +1 -1
  39. package/v0/protocol/common/data/metadata/v11/MetadataV11.js +43 -63
  40. package/v0/protocol/common/data/metadata/v11/MetadataV11.js.map +1 -1
  41. package/v0/protocol/common/data/metadata/v11/module/MetadataV11Call.js +30 -51
  42. package/v0/protocol/common/data/metadata/v11/module/MetadataV11Call.js.map +1 -1
  43. package/v0/protocol/common/data/metadata/v11/module/MetadataV11Constant.js +20 -38
  44. package/v0/protocol/common/data/metadata/v11/module/MetadataV11Constant.js.map +1 -1
  45. package/v0/protocol/common/data/metadata/v11/module/MetadataV11Error.js +16 -34
  46. package/v0/protocol/common/data/metadata/v11/module/MetadataV11Error.js.map +1 -1
  47. package/v0/protocol/common/data/metadata/v11/module/MetadataV11Event.js +18 -36
  48. package/v0/protocol/common/data/metadata/v11/module/MetadataV11Event.js.map +1 -1
  49. package/v0/protocol/common/data/metadata/v11/module/MetadataV11Module.js +29 -51
  50. package/v0/protocol/common/data/metadata/v11/module/MetadataV11Module.js.map +1 -1
  51. package/v0/protocol/common/data/metadata/v11/module/storage/MetadataV11Storage.js +17 -35
  52. package/v0/protocol/common/data/metadata/v11/module/storage/MetadataV11Storage.js.map +1 -1
  53. package/v0/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntry.js +23 -41
  54. package/v0/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntry.js.map +1 -1
  55. package/v0/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntryType.js +72 -114
  56. package/v0/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntryType.js.map +1 -1
  57. package/v0/protocol/common/data/metadata/v12/MetadataV12.js +41 -61
  58. package/v0/protocol/common/data/metadata/v12/MetadataV12.js.map +1 -1
  59. package/v0/protocol/common/data/metadata/v12/module/MetadataV12Module.js +14 -32
  60. package/v0/protocol/common/data/metadata/v12/module/MetadataV12Module.js.map +1 -1
  61. package/v0/protocol/common/data/metadata/v13/MetadataV13.js +41 -61
  62. package/v0/protocol/common/data/metadata/v13/MetadataV13.js.map +1 -1
  63. package/v0/protocol/common/data/metadata/v13/module/MetadataV13Module.js +31 -53
  64. package/v0/protocol/common/data/metadata/v13/module/MetadataV13Module.js.map +1 -1
  65. package/v0/protocol/common/data/metadata/v13/module/storage/MetadataV13Storage.js +17 -35
  66. package/v0/protocol/common/data/metadata/v13/module/storage/MetadataV13Storage.js.map +1 -1
  67. package/v0/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntry.js +23 -41
  68. package/v0/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntry.js.map +1 -1
  69. package/v0/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntryType.js +83 -130
  70. package/v0/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntryType.js.map +1 -1
  71. package/v0/protocol/common/data/metadata/v14/MetadataV14.js +53 -74
  72. package/v0/protocol/common/data/metadata/v14/MetadataV14.js.map +1 -1
  73. package/v0/protocol/common/data/metadata/v14/MetadataV14Component.js +7 -25
  74. package/v0/protocol/common/data/metadata/v14/MetadataV14Component.js.map +1 -1
  75. package/v0/protocol/common/data/metadata/v14/extrinsic/MetadataV14Extrinsic.js +17 -35
  76. package/v0/protocol/common/data/metadata/v14/extrinsic/MetadataV14Extrinsic.js.map +1 -1
  77. package/v0/protocol/common/data/metadata/v14/extrinsic/MetadataV14SignedExtension.js +16 -34
  78. package/v0/protocol/common/data/metadata/v14/extrinsic/MetadataV14SignedExtension.js.map +1 -1
  79. package/v0/protocol/common/data/metadata/v14/pallet/MetadataV14Call.js +8 -28
  80. package/v0/protocol/common/data/metadata/v14/pallet/MetadataV14Call.js.map +1 -1
  81. package/v0/protocol/common/data/metadata/v14/pallet/MetadataV14Constant.js +19 -37
  82. package/v0/protocol/common/data/metadata/v14/pallet/MetadataV14Constant.js.map +1 -1
  83. package/v0/protocol/common/data/metadata/v14/pallet/MetadataV14Error.js +8 -28
  84. package/v0/protocol/common/data/metadata/v14/pallet/MetadataV14Error.js.map +1 -1
  85. package/v0/protocol/common/data/metadata/v14/pallet/MetadataV14Event.js +8 -28
  86. package/v0/protocol/common/data/metadata/v14/pallet/MetadataV14Event.js.map +1 -1
  87. package/v0/protocol/common/data/metadata/v14/pallet/MetadataV14Pallet.js +30 -48
  88. package/v0/protocol/common/data/metadata/v14/pallet/MetadataV14Pallet.js.map +1 -1
  89. package/v0/protocol/common/data/metadata/v14/pallet/storage/MetadataV14Storage.js +16 -34
  90. package/v0/protocol/common/data/metadata/v14/pallet/storage/MetadataV14Storage.js.map +1 -1
  91. package/v0/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntry.js +23 -41
  92. package/v0/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntry.js.map +1 -1
  93. package/v0/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntryType.js +49 -90
  94. package/v0/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntryType.js.map +1 -1
  95. package/v0/protocol/common/data/metadata/v14/registry/MetadataV14PortableRegistry.js +20 -41
  96. package/v0/protocol/common/data/metadata/v14/registry/MetadataV14PortableRegistry.js.map +1 -1
  97. package/v0/protocol/common/data/metadata/v14/registry/MetadataV14PortableType.js +17 -35
  98. package/v0/protocol/common/data/metadata/v14/registry/MetadataV14PortableType.js.map +1 -1
  99. package/v0/protocol/common/data/metadata/v14/registry/si/MetadataV14SiField.js +20 -38
  100. package/v0/protocol/common/data/metadata/v14/registry/si/MetadataV14SiField.js.map +1 -1
  101. package/v0/protocol/common/data/metadata/v14/registry/si/MetadataV14SiType.js +22 -40
  102. package/v0/protocol/common/data/metadata/v14/registry/si/MetadataV14SiType.js.map +1 -1
  103. package/v0/protocol/common/data/metadata/v14/registry/si/MetadataV14SiTypeParameter.js +16 -34
  104. package/v0/protocol/common/data/metadata/v14/registry/si/MetadataV14SiTypeParameter.js.map +1 -1
  105. package/v0/protocol/common/data/metadata/v14/registry/si/MetadataV14SiVariant.js +21 -39
  106. package/v0/protocol/common/data/metadata/v14/registry/si/MetadataV14SiVariant.js.map +1 -1
  107. package/v0/protocol/common/data/metadata/v14/registry/si/MetadataV14TypeDef.js +106 -150
  108. package/v0/protocol/common/data/metadata/v14/registry/si/MetadataV14TypeDef.js.map +1 -1
  109. package/v0/protocol/common/data/scale/SCALEDecoder.d.ts +2 -3
  110. package/v0/protocol/common/data/scale/SCALEDecoder.js +69 -74
  111. package/v0/protocol/common/data/scale/SCALEDecoder.js.map +1 -1
  112. package/v0/protocol/common/data/scale/type/SCALEAccountId.d.ts +0 -1
  113. package/v0/protocol/common/data/scale/type/SCALEAccountId.js +25 -44
  114. package/v0/protocol/common/data/scale/type/SCALEAccountId.js.map +1 -1
  115. package/v0/protocol/common/data/scale/type/SCALEArray.js +27 -45
  116. package/v0/protocol/common/data/scale/type/SCALEArray.js.map +1 -1
  117. package/v0/protocol/common/data/scale/type/SCALEBoolean.js +18 -36
  118. package/v0/protocol/common/data/scale/type/SCALEBoolean.js.map +1 -1
  119. package/v0/protocol/common/data/scale/type/SCALEBytes.d.ts +0 -1
  120. package/v0/protocol/common/data/scale/type/SCALEBytes.js +23 -42
  121. package/v0/protocol/common/data/scale/type/SCALEBytes.js.map +1 -1
  122. package/v0/protocol/common/data/scale/type/SCALEClass.js +8 -28
  123. package/v0/protocol/common/data/scale/type/SCALEClass.js.map +1 -1
  124. package/v0/protocol/common/data/scale/type/SCALECompactInt.d.ts +1 -1
  125. package/v0/protocol/common/data/scale/type/SCALECompactInt.js +54 -73
  126. package/v0/protocol/common/data/scale/type/SCALECompactInt.js.map +1 -1
  127. package/v0/protocol/common/data/scale/type/SCALEData.d.ts +0 -1
  128. package/v0/protocol/common/data/scale/type/SCALEData.js +33 -51
  129. package/v0/protocol/common/data/scale/type/SCALEData.js.map +1 -1
  130. package/v0/protocol/common/data/scale/type/SCALEEnum.js +21 -39
  131. package/v0/protocol/common/data/scale/type/SCALEEnum.js.map +1 -1
  132. package/v0/protocol/common/data/scale/type/SCALEEra.js +46 -68
  133. package/v0/protocol/common/data/scale/type/SCALEEra.js.map +1 -1
  134. package/v0/protocol/common/data/scale/type/SCALEHash.d.ts +0 -1
  135. package/v0/protocol/common/data/scale/type/SCALEHash.js +29 -53
  136. package/v0/protocol/common/data/scale/type/SCALEHash.js.map +1 -1
  137. package/v0/protocol/common/data/scale/type/SCALEInt.d.ts +1 -1
  138. package/v0/protocol/common/data/scale/type/SCALEInt.js +46 -65
  139. package/v0/protocol/common/data/scale/type/SCALEInt.js.map +1 -1
  140. package/v0/protocol/common/data/scale/type/SCALEMultiAddress.d.ts +1 -2
  141. package/v0/protocol/common/data/scale/type/SCALEMultiAddress.js +40 -59
  142. package/v0/protocol/common/data/scale/type/SCALEMultiAddress.js.map +1 -1
  143. package/v0/protocol/common/data/scale/type/SCALEOptional.js +27 -47
  144. package/v0/protocol/common/data/scale/type/SCALEOptional.js.map +1 -1
  145. package/v0/protocol/common/data/scale/type/SCALEString.js +25 -44
  146. package/v0/protocol/common/data/scale/type/SCALEString.js.map +1 -1
  147. package/v0/protocol/common/data/scale/type/SCALETuple.js +22 -40
  148. package/v0/protocol/common/data/scale/type/SCALETuple.js.map +1 -1
  149. package/v0/protocol/common/data/scale/type/SCALEType.js +6 -9
  150. package/v0/protocol/common/data/scale/type/SCALEType.js.map +1 -1
  151. package/v0/protocol/common/data/staking/SubstrateActiveEraInfo.js +11 -12
  152. package/v0/protocol/common/data/staking/SubstrateActiveEraInfo.js.map +1 -1
  153. package/v0/protocol/common/data/staking/SubstrateEraElectionStatus.js +14 -15
  154. package/v0/protocol/common/data/staking/SubstrateEraElectionStatus.js.map +1 -1
  155. package/v0/protocol/common/data/staking/SubstrateEraRewardPoints.js +13 -16
  156. package/v0/protocol/common/data/staking/SubstrateEraRewardPoints.js.map +1 -1
  157. package/v0/protocol/common/data/staking/SubstrateExposure.js +14 -17
  158. package/v0/protocol/common/data/staking/SubstrateExposure.js.map +1 -1
  159. package/v0/protocol/common/data/staking/SubstrateNominationStatus.js +1 -1
  160. package/v0/protocol/common/data/staking/SubstrateNominationStatus.js.map +1 -1
  161. package/v0/protocol/common/data/staking/SubstrateNominations.js +12 -13
  162. package/v0/protocol/common/data/staking/SubstrateNominations.js.map +1 -1
  163. package/v0/protocol/common/data/staking/SubstrateNominatorDetails.d.ts +1 -1
  164. package/v0/protocol/common/data/staking/SubstratePayee.js +1 -1
  165. package/v0/protocol/common/data/staking/SubstratePayee.js.map +1 -1
  166. package/v0/protocol/common/data/staking/SubstrateSlashingSpans.js +13 -14
  167. package/v0/protocol/common/data/staking/SubstrateSlashingSpans.js.map +1 -1
  168. package/v0/protocol/common/data/staking/SubstrateStakingActionType.js +1 -1
  169. package/v0/protocol/common/data/staking/SubstrateStakingActionType.js.map +1 -1
  170. package/v0/protocol/common/data/staking/SubstrateStakingLedger.js +16 -19
  171. package/v0/protocol/common/data/staking/SubstrateStakingLedger.js.map +1 -1
  172. package/v0/protocol/common/data/staking/SubstrateValidatorDetails.d.ts +1 -1
  173. package/v0/protocol/common/data/staking/SubstrateValidatorPrefs.js +9 -10
  174. package/v0/protocol/common/data/staking/SubstrateValidatorPrefs.js.map +1 -1
  175. package/v0/protocol/common/data/transaction/SubstrateSignature.d.ts +0 -1
  176. package/v0/protocol/common/data/transaction/SubstrateSignature.js +30 -53
  177. package/v0/protocol/common/data/transaction/SubstrateSignature.js.map +1 -1
  178. package/v0/protocol/common/data/transaction/SubstrateTransaction.d.ts +1 -1
  179. package/v0/protocol/common/data/transaction/SubstrateTransaction.js +53 -73
  180. package/v0/protocol/common/data/transaction/SubstrateTransaction.js.map +1 -1
  181. package/v0/protocol/common/data/transaction/SubstrateTransactionPayload.js +44 -76
  182. package/v0/protocol/common/data/transaction/SubstrateTransactionPayload.js.map +1 -1
  183. package/v0/protocol/common/data/transaction/method/SubstrateTransactionMethod.js +40 -76
  184. package/v0/protocol/common/data/transaction/method/SubstrateTransactionMethod.js.map +1 -1
  185. package/v0/protocol/common/data/transaction/method/SubstrateTransactionMethodArgs.js +360 -631
  186. package/v0/protocol/common/data/transaction/method/SubstrateTransactionMethodArgs.js.map +1 -1
  187. package/v0/protocol/common/node/SubstrateNodeClient.js +226 -533
  188. package/v0/protocol/common/node/SubstrateNodeClient.js.map +1 -1
  189. package/v0/protocol/common/node/supported.d.ts +9 -9
  190. package/v0/protocol/common/node/supported.js +1 -1
  191. package/v0/protocol/common/node/supported.js.map +1 -1
  192. package/v0/protocol/compat/SubstrateCompatAddress.d.ts +1 -2
  193. package/v0/protocol/compat/SubstrateCompatAddress.js +17 -30
  194. package/v0/protocol/compat/SubstrateCompatAddress.js.map +1 -1
  195. package/v0/protocol/compat/SubstrateCompatSignature.d.ts +0 -1
  196. package/v0/protocol/compat/SubstrateCompatSignature.js +4 -5
  197. package/v0/protocol/compat/SubstrateCompatSignature.js.map +1 -1
  198. package/v0/protocol/kusama/KusamaAddress.js +7 -27
  199. package/v0/protocol/kusama/KusamaAddress.js.map +1 -1
  200. package/v0/protocol/moonbeam/MoonbeamAddress.d.ts +0 -1
  201. package/v0/protocol/moonbeam/MoonbeamAddress.js +45 -36
  202. package/v0/protocol/moonbeam/MoonbeamAddress.js.map +1 -1
  203. package/v0/protocol/moonbeam/MoonbeamSignature.d.ts +0 -1
  204. package/v0/protocol/moonbeam/MoonbeamSignature.js +16 -35
  205. package/v0/protocol/moonbeam/MoonbeamSignature.js.map +1 -1
  206. package/v0/protocol/polkadot/PolkadotAddress.js +7 -27
  207. package/v0/protocol/polkadot/PolkadotAddress.js.map +1 -1
  208. package/v0/serializer/validators/transaction-validator.js +30 -83
  209. package/v0/serializer/validators/transaction-validator.js.map +1 -1
  210. package/v0/serializer/validators/validators.js +54 -133
  211. package/v0/serializer/validators/validators.js.map +1 -1
  212. package/v0/utils/sr25519.js +26 -74
  213. package/v0/utils/sr25519.js.map +1 -1
  214. package/v1/block-explorer/subscan/SubscanBlockExplorer.js +12 -61
  215. package/v1/block-explorer/subscan/SubscanBlockExplorer.js.map +1 -1
  216. package/v1/block-explorer/subscan/SubscanBlockExplorerClient.js +55 -103
  217. package/v1/block-explorer/subscan/SubscanBlockExplorerClient.js.map +1 -1
  218. package/v1/controller/account/SubstrateCommonAccountController.js +65 -132
  219. package/v1/controller/account/SubstrateCommonAccountController.js.map +1 -1
  220. package/v1/controller/transaction/SubstrateCommonTransactionController.js +194 -356
  221. package/v1/controller/transaction/SubstrateCommonTransactionController.js.map +1 -1
  222. package/v1/crypto/SubstrateCryptoClient.js +23 -94
  223. package/v1/crypto/SubstrateCryptoClient.js.map +1 -1
  224. package/v1/data/account/SubstrateAccountInfo.js +27 -29
  225. package/v1/data/account/SubstrateAccountInfo.js.map +1 -1
  226. package/v1/data/account/SubstrateRegistration.js +50 -56
  227. package/v1/data/account/SubstrateRegistration.js.map +1 -1
  228. package/v1/data/account/address/SubstrateAddress.d.ts +1 -2
  229. package/v1/data/account/address/SubstrateAddress.js +2 -3
  230. package/v1/data/account/address/SubstrateAddress.js.map +1 -1
  231. package/v1/data/account/address/SubstrateAddressFactory.d.ts +2 -3
  232. package/v1/data/account/address/SubstrateAddressFactory.js +16 -23
  233. package/v1/data/account/address/SubstrateAddressFactory.js.map +1 -1
  234. package/v1/data/account/address/SubstrateEthAddress.d.ts +0 -1
  235. package/v1/data/account/address/SubstrateEthAddress.js +48 -39
  236. package/v1/data/account/address/SubstrateEthAddress.js.map +1 -1
  237. package/v1/data/account/address/SubstrateSS58Address.d.ts +0 -1
  238. package/v1/data/account/address/SubstrateSS58Address.js +47 -50
  239. package/v1/data/account/address/SubstrateSS58Address.js.map +1 -1
  240. package/v1/data/metadata/Metadata.js +24 -25
  241. package/v1/data/metadata/Metadata.js.map +1 -1
  242. package/v1/data/metadata/MetadataVersioned.js +2 -5
  243. package/v1/data/metadata/MetadataVersioned.js.map +1 -1
  244. package/v1/data/metadata/decorator/MetadataDecorator.js +18 -20
  245. package/v1/data/metadata/decorator/MetadataDecorator.js.map +1 -1
  246. package/v1/data/metadata/decorator/constant/SubstrateConstant.d.ts +0 -1
  247. package/v1/data/metadata/decorator/storage/SubstrateStorageEntry.js +89 -237
  248. package/v1/data/metadata/decorator/storage/SubstrateStorageEntry.js.map +1 -1
  249. package/v1/data/metadata/v11/MetadataV11.js +43 -63
  250. package/v1/data/metadata/v11/MetadataV11.js.map +1 -1
  251. package/v1/data/metadata/v11/module/MetadataV11Call.js +30 -51
  252. package/v1/data/metadata/v11/module/MetadataV11Call.js.map +1 -1
  253. package/v1/data/metadata/v11/module/MetadataV11Constant.js +20 -38
  254. package/v1/data/metadata/v11/module/MetadataV11Constant.js.map +1 -1
  255. package/v1/data/metadata/v11/module/MetadataV11Error.js +16 -34
  256. package/v1/data/metadata/v11/module/MetadataV11Error.js.map +1 -1
  257. package/v1/data/metadata/v11/module/MetadataV11Event.js +18 -36
  258. package/v1/data/metadata/v11/module/MetadataV11Event.js.map +1 -1
  259. package/v1/data/metadata/v11/module/MetadataV11Module.js +29 -51
  260. package/v1/data/metadata/v11/module/MetadataV11Module.js.map +1 -1
  261. package/v1/data/metadata/v11/module/storage/MetadataV11Storage.js +17 -35
  262. package/v1/data/metadata/v11/module/storage/MetadataV11Storage.js.map +1 -1
  263. package/v1/data/metadata/v11/module/storage/MetadataV11StorageEntry.js +23 -41
  264. package/v1/data/metadata/v11/module/storage/MetadataV11StorageEntry.js.map +1 -1
  265. package/v1/data/metadata/v11/module/storage/MetadataV11StorageEntryType.js +72 -114
  266. package/v1/data/metadata/v11/module/storage/MetadataV11StorageEntryType.js.map +1 -1
  267. package/v1/data/metadata/v12/MetadataV12.js +41 -61
  268. package/v1/data/metadata/v12/MetadataV12.js.map +1 -1
  269. package/v1/data/metadata/v12/module/MetadataV12Module.js +14 -32
  270. package/v1/data/metadata/v12/module/MetadataV12Module.js.map +1 -1
  271. package/v1/data/metadata/v13/MetadataV13.js +41 -61
  272. package/v1/data/metadata/v13/MetadataV13.js.map +1 -1
  273. package/v1/data/metadata/v13/module/MetadataV13Module.js +31 -53
  274. package/v1/data/metadata/v13/module/MetadataV13Module.js.map +1 -1
  275. package/v1/data/metadata/v13/module/storage/MetadataV13Storage.js +17 -35
  276. package/v1/data/metadata/v13/module/storage/MetadataV13Storage.js.map +1 -1
  277. package/v1/data/metadata/v13/module/storage/MetadataV13StorageEntry.js +23 -41
  278. package/v1/data/metadata/v13/module/storage/MetadataV13StorageEntry.js.map +1 -1
  279. package/v1/data/metadata/v13/module/storage/MetadataV13StorageEntryType.js +83 -130
  280. package/v1/data/metadata/v13/module/storage/MetadataV13StorageEntryType.js.map +1 -1
  281. package/v1/data/metadata/v14/MetadataV14.js +53 -74
  282. package/v1/data/metadata/v14/MetadataV14.js.map +1 -1
  283. package/v1/data/metadata/v14/MetadataV14Component.js +7 -25
  284. package/v1/data/metadata/v14/MetadataV14Component.js.map +1 -1
  285. package/v1/data/metadata/v14/extrinsic/MetadataV14Extrinsic.js +17 -35
  286. package/v1/data/metadata/v14/extrinsic/MetadataV14Extrinsic.js.map +1 -1
  287. package/v1/data/metadata/v14/extrinsic/MetadataV14SignedExtension.js +16 -34
  288. package/v1/data/metadata/v14/extrinsic/MetadataV14SignedExtension.js.map +1 -1
  289. package/v1/data/metadata/v14/pallet/MetadataV14Call.js +8 -28
  290. package/v1/data/metadata/v14/pallet/MetadataV14Call.js.map +1 -1
  291. package/v1/data/metadata/v14/pallet/MetadataV14Constant.js +19 -37
  292. package/v1/data/metadata/v14/pallet/MetadataV14Constant.js.map +1 -1
  293. package/v1/data/metadata/v14/pallet/MetadataV14Error.js +8 -28
  294. package/v1/data/metadata/v14/pallet/MetadataV14Error.js.map +1 -1
  295. package/v1/data/metadata/v14/pallet/MetadataV14Event.js +8 -28
  296. package/v1/data/metadata/v14/pallet/MetadataV14Event.js.map +1 -1
  297. package/v1/data/metadata/v14/pallet/MetadataV14Pallet.js +30 -48
  298. package/v1/data/metadata/v14/pallet/MetadataV14Pallet.js.map +1 -1
  299. package/v1/data/metadata/v14/pallet/storage/MetadataV14Storage.js +16 -34
  300. package/v1/data/metadata/v14/pallet/storage/MetadataV14Storage.js.map +1 -1
  301. package/v1/data/metadata/v14/pallet/storage/MetadataV14StorageEntry.js +23 -41
  302. package/v1/data/metadata/v14/pallet/storage/MetadataV14StorageEntry.js.map +1 -1
  303. package/v1/data/metadata/v14/pallet/storage/MetadataV14StorageEntryType.js +49 -90
  304. package/v1/data/metadata/v14/pallet/storage/MetadataV14StorageEntryType.js.map +1 -1
  305. package/v1/data/metadata/v14/registry/MetadataV14PortableRegistry.js +20 -41
  306. package/v1/data/metadata/v14/registry/MetadataV14PortableRegistry.js.map +1 -1
  307. package/v1/data/metadata/v14/registry/MetadataV14PortableType.js +17 -35
  308. package/v1/data/metadata/v14/registry/MetadataV14PortableType.js.map +1 -1
  309. package/v1/data/metadata/v14/registry/si/MetadataV14SiField.js +20 -38
  310. package/v1/data/metadata/v14/registry/si/MetadataV14SiField.js.map +1 -1
  311. package/v1/data/metadata/v14/registry/si/MetadataV14SiType.js +22 -40
  312. package/v1/data/metadata/v14/registry/si/MetadataV14SiType.js.map +1 -1
  313. package/v1/data/metadata/v14/registry/si/MetadataV14SiTypeParameter.js +16 -34
  314. package/v1/data/metadata/v14/registry/si/MetadataV14SiTypeParameter.js.map +1 -1
  315. package/v1/data/metadata/v14/registry/si/MetadataV14SiVariant.js +21 -39
  316. package/v1/data/metadata/v14/registry/si/MetadataV14SiVariant.js.map +1 -1
  317. package/v1/data/metadata/v14/registry/si/MetadataV14TypeDef.js +106 -150
  318. package/v1/data/metadata/v14/registry/si/MetadataV14TypeDef.js.map +1 -1
  319. package/v1/data/scale/SCALEDecoder.d.ts +2 -3
  320. package/v1/data/scale/SCALEDecoder.js +69 -80
  321. package/v1/data/scale/SCALEDecoder.js.map +1 -1
  322. package/v1/data/scale/type/SCALEAccountId.d.ts +0 -1
  323. package/v1/data/scale/type/SCALEAccountId.js +27 -46
  324. package/v1/data/scale/type/SCALEAccountId.js.map +1 -1
  325. package/v1/data/scale/type/SCALEArray.js +27 -45
  326. package/v1/data/scale/type/SCALEArray.js.map +1 -1
  327. package/v1/data/scale/type/SCALEBoolean.js +18 -36
  328. package/v1/data/scale/type/SCALEBoolean.js.map +1 -1
  329. package/v1/data/scale/type/SCALEBytes.d.ts +0 -1
  330. package/v1/data/scale/type/SCALEBytes.js +23 -42
  331. package/v1/data/scale/type/SCALEBytes.js.map +1 -1
  332. package/v1/data/scale/type/SCALEClass.js +8 -28
  333. package/v1/data/scale/type/SCALEClass.js.map +1 -1
  334. package/v1/data/scale/type/SCALECompactInt.d.ts +1 -1
  335. package/v1/data/scale/type/SCALECompactInt.js +54 -73
  336. package/v1/data/scale/type/SCALECompactInt.js.map +1 -1
  337. package/v1/data/scale/type/SCALEData.d.ts +0 -1
  338. package/v1/data/scale/type/SCALEData.js +33 -51
  339. package/v1/data/scale/type/SCALEData.js.map +1 -1
  340. package/v1/data/scale/type/SCALEEnum.js +21 -39
  341. package/v1/data/scale/type/SCALEEnum.js.map +1 -1
  342. package/v1/data/scale/type/SCALEEra.js +46 -68
  343. package/v1/data/scale/type/SCALEEra.js.map +1 -1
  344. package/v1/data/scale/type/SCALEHash.d.ts +0 -1
  345. package/v1/data/scale/type/SCALEHash.js +29 -53
  346. package/v1/data/scale/type/SCALEHash.js.map +1 -1
  347. package/v1/data/scale/type/SCALEInt.d.ts +1 -1
  348. package/v1/data/scale/type/SCALEInt.js +46 -65
  349. package/v1/data/scale/type/SCALEInt.js.map +1 -1
  350. package/v1/data/scale/type/SCALEMultiAddress.d.ts +1 -2
  351. package/v1/data/scale/type/SCALEMultiAddress.js +40 -59
  352. package/v1/data/scale/type/SCALEMultiAddress.js.map +1 -1
  353. package/v1/data/scale/type/SCALEOptional.js +27 -47
  354. package/v1/data/scale/type/SCALEOptional.js.map +1 -1
  355. package/v1/data/scale/type/SCALEString.js +25 -44
  356. package/v1/data/scale/type/SCALEString.js.map +1 -1
  357. package/v1/data/scale/type/SCALETuple.js +22 -40
  358. package/v1/data/scale/type/SCALETuple.js.map +1 -1
  359. package/v1/data/scale/type/SCALEType.js +6 -9
  360. package/v1/data/scale/type/SCALEType.js.map +1 -1
  361. package/v1/data/transaction/SubstrateSignature.d.ts +0 -1
  362. package/v1/data/transaction/SubstrateSignature.js +36 -61
  363. package/v1/data/transaction/SubstrateSignature.js.map +1 -1
  364. package/v1/data/transaction/SubstrateTransaction.d.ts +2 -2
  365. package/v1/data/transaction/SubstrateTransaction.js +66 -87
  366. package/v1/data/transaction/SubstrateTransaction.js.map +1 -1
  367. package/v1/data/transaction/SubstrateTransactionPayload.js +81 -114
  368. package/v1/data/transaction/SubstrateTransactionPayload.js.map +1 -1
  369. package/v1/data/transaction/method/SubstrateTransactionMethod.js +40 -76
  370. package/v1/data/transaction/method/SubstrateTransactionMethod.js.map +1 -1
  371. package/v1/data/transaction/method/SubstrateTransactionMethodArgs.js +35 -65
  372. package/v1/data/transaction/method/SubstrateTransactionMethodArgs.js.map +1 -1
  373. package/v1/index.js +38 -38
  374. package/v1/index.js.map +1 -1
  375. package/v1/node/SubstrateCommonNodeClient.d.ts +12 -12
  376. package/v1/node/SubstrateCommonNodeClient.js +159 -357
  377. package/v1/node/SubstrateCommonNodeClient.js.map +1 -1
  378. package/v1/protocol/SubstrateProtocol.d.ts +2 -4
  379. package/v1/protocol/SubstrateProtocol.js +182 -410
  380. package/v1/protocol/SubstrateProtocol.js.map +1 -1
  381. package/v1/protocol/SubstrateStakingProtocol.js +15 -82
  382. package/v1/protocol/SubstrateStakingProtocol.js.map +1 -1
  383. package/v1/serializer/v3/schemas/converter/transaction-converter.js +8 -20
  384. package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -1
  385. package/v1/serializer/v3/validators/transaction-validator.js +15 -63
  386. package/v1/serializer/v3/validators/transaction-validator.js.map +1 -1
  387. package/v1/serializer/v3/validators/validators.js +48 -129
  388. package/v1/serializer/v3/validators/validators.js.map +1 -1
  389. package/v1/types/configuration.d.ts +6 -6
  390. package/v1/types/crypto.d.ts +1 -1
  391. package/v1/utils/keys.js +4 -5
  392. package/v1/utils/keys.js.map +1 -1
  393. package/v1/utils/protocol.js +14 -15
  394. package/v1/utils/protocol.js.map +1 -1
  395. package/v1/utils/signature.js +3 -4
  396. package/v1/utils/signature.js.map +1 -1
@@ -1,566 +1,321 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
33
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
54
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
55
- if (ar || !(i in from)) {
56
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
57
- ar[i] = from[i];
58
- }
59
- }
60
- return to.concat(ar || Array.prototype.slice.call(from));
61
- };
62
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
63
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
64
4
  };
65
5
  Object.defineProperty(exports, "__esModule", { value: true });
66
6
  exports.SubstrateDelegateProtocol = void 0;
67
- var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
68
- var assert_1 = require("@airgap/coinlib-core/utils/assert");
69
- var SubstratePayee_1 = require("./common/data/staking/SubstratePayee");
70
- var SubstrateStakingActionType_1 = require("./common/data/staking/SubstrateStakingActionType");
71
- var SubstrateTransaction_1 = require("./common/data/transaction/SubstrateTransaction");
72
- var SubstrateProtocol_1 = require("./SubstrateProtocol");
73
- var SubstrateDelegateProtocol = /** @class */ (function (_super) {
74
- __extends(SubstrateDelegateProtocol, _super);
75
- function SubstrateDelegateProtocol() {
76
- return _super !== null && _super.apply(this, arguments) || this;
7
+ const bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
8
+ const assert_1 = require("@airgap/coinlib-core/utils/assert");
9
+ const SubstratePayee_1 = require("./common/data/staking/SubstratePayee");
10
+ const SubstrateStakingActionType_1 = require("./common/data/staking/SubstrateStakingActionType");
11
+ const SubstrateTransaction_1 = require("./common/data/transaction/SubstrateTransaction");
12
+ const SubstrateProtocol_1 = require("./SubstrateProtocol");
13
+ class SubstrateDelegateProtocol extends SubstrateProtocol_1.SubstrateProtocol {
14
+ async getDefaultDelegatee() {
15
+ if (this.defaultValidator) {
16
+ return this.defaultValidator;
17
+ }
18
+ const validators = await this.options.nodeClient.getValidators();
19
+ return validators ? validators[0].asString() : '';
20
+ }
21
+ async getCurrentDelegateesForPublicKey(publicKey) {
22
+ return this.options.accountController.getCurrentValidators(publicKey);
23
+ }
24
+ async getCurrentDelegateesForAddress(address) {
25
+ return this.options.accountController.getCurrentValidators(address);
26
+ }
27
+ async getDelegateeDetails(address) {
28
+ const validatorDetails = await this.options.accountController.getValidatorDetails(address);
29
+ return {
30
+ name: validatorDetails.name || '',
31
+ status: validatorDetails.status || '',
32
+ address
33
+ };
34
+ }
35
+ async isPublicKeyDelegating(publicKey) {
36
+ return this.options.accountController.isDelegating(publicKey);
77
37
  }
78
- SubstrateDelegateProtocol.prototype.getDefaultDelegatee = function () {
79
- return __awaiter(this, void 0, void 0, function () {
80
- var validators;
81
- return __generator(this, function (_a) {
82
- switch (_a.label) {
83
- case 0:
84
- if (this.defaultValidator) {
85
- return [2 /*return*/, this.defaultValidator];
38
+ async isAddressDelegating(address) {
39
+ return this.options.accountController.isDelegating(address);
40
+ }
41
+ async getDelegatorDetailsFromPublicKey(publicKey) {
42
+ const address = await this.getAddressFromPublicKey(publicKey);
43
+ return this.getDelegatorDetailsFromAddress(address.address);
44
+ }
45
+ async getDelegatorDetailsFromAddress(address) {
46
+ return this.options.accountController.getNominatorDetails(address);
47
+ }
48
+ async getDelegationDetailsFromPublicKey(publicKey, delegatees) {
49
+ const address = await this.getAddressFromPublicKey(publicKey);
50
+ return this.getDelegationDetailsFromAddress(address.address, delegatees);
51
+ }
52
+ async getDelegationDetailsFromAddress(address, delegatees) {
53
+ const [nominatorDetails, validatorsDetails] = await Promise.all([
54
+ this.options.accountController.getNominatorDetails(address, delegatees),
55
+ Promise.all(delegatees.map((validator) => this.options.accountController.getValidatorDetails(validator)))
56
+ ]);
57
+ nominatorDetails.rewards =
58
+ nominatorDetails.delegatees.length > 0 && nominatorDetails.stakingDetails
59
+ ? nominatorDetails.stakingDetails.rewards.map((reward) => ({
60
+ index: reward.eraIndex,
61
+ amount: reward.amount,
62
+ timestamp: reward.timestamp
63
+ }))
64
+ : [];
65
+ return {
66
+ delegator: nominatorDetails,
67
+ delegatees: validatorsDetails
68
+ };
69
+ }
70
+ // tslint:disable-next-line: cyclomatic-complexity
71
+ async prepareDelegatorActionFromPublicKey(publicKey, type, data) {
72
+ if (!data) {
73
+ data = {};
74
+ }
75
+ switch (type) {
76
+ case SubstrateStakingActionType_1.SubstrateStakingActionType.BOND_NOMINATE:
77
+ (0, assert_1.assertFields)(`${type} action`, data, 'targets', 'value', 'payee');
78
+ return this.prepareNomination(publicKey, data.tip || 0, data.targets, data.controller || publicKey, data.value, data.payee);
79
+ case SubstrateStakingActionType_1.SubstrateStakingActionType.REBOND_NOMINATE:
80
+ (0, assert_1.assertFields)(`${type} action`, data, 'targets', 'value');
81
+ return this.prepareRebondNominate(publicKey, data.tip || 0, data.targets, data.value);
82
+ case SubstrateStakingActionType_1.SubstrateStakingActionType.NOMINATE:
83
+ (0, assert_1.assertFields)(`${type} action`, data, 'targets');
84
+ return this.prepareNomination(publicKey, data.tip || 0, data.targets);
85
+ case SubstrateStakingActionType_1.SubstrateStakingActionType.CANCEL_NOMINATION:
86
+ return this.prepareScheduleUndelegate(publicKey, data.tip || 0, data.value);
87
+ case SubstrateStakingActionType_1.SubstrateStakingActionType.CHANGE_NOMINATION:
88
+ (0, assert_1.assertFields)(`${type} action`, data, 'targets');
89
+ return this.prepareChangeValidator(publicKey, data.tip || 0, data.targets);
90
+ case SubstrateStakingActionType_1.SubstrateStakingActionType.UNBOND:
91
+ (0, assert_1.assertFields)(`${type} action`, data, 'value');
92
+ return this.prepareUnbond(publicKey, data.tip || 0, data.value);
93
+ case SubstrateStakingActionType_1.SubstrateStakingActionType.REBOND:
94
+ (0, assert_1.assertFields)(`${type} action`, data, 'value');
95
+ return this.prepareRebond(publicKey, data.tip || 0, data.value);
96
+ case SubstrateStakingActionType_1.SubstrateStakingActionType.BOND_EXTRA:
97
+ (0, assert_1.assertFields)(`${type} action`, data, 'value');
98
+ return this.prepareBondExtra(publicKey, data.tip || 0, data.value);
99
+ case SubstrateStakingActionType_1.SubstrateStakingActionType.REBOND_EXTRA:
100
+ (0, assert_1.assertFields)(`${type} action`, data, 'value');
101
+ return this.prepareRebondExtra(publicKey, data.tip || 0, data.value);
102
+ case SubstrateStakingActionType_1.SubstrateStakingActionType.WITHDRAW_UNBONDED:
103
+ return this.prepareWithdrawUnbonded(publicKey, data.tip || 0);
104
+ case SubstrateStakingActionType_1.SubstrateStakingActionType.CHANGE_REWARD_DESTINATION:
105
+ return Promise.reject('Unsupported delegator action.');
106
+ case SubstrateStakingActionType_1.SubstrateStakingActionType.CHANGE_CONTROLLER:
107
+ return Promise.reject('Unsupported delegator action.');
108
+ default:
109
+ return Promise.reject('Unsupported delegator action.');
110
+ }
111
+ }
112
+ async prepareNomination(publicKey, tip, targets, controller, value, payee) {
113
+ const transferableBalance = await this.options.accountController.getTransferableBalance(publicKey, false, false);
114
+ const available = new bignumber_1.default(transferableBalance).minus(value || 0);
115
+ const bondFirst = controller !== undefined && value !== undefined && payee !== undefined;
116
+ const encoded = await this.options.transactionController.prepareSubmittableTransactions(publicKey, available, [
117
+ ...(bondFirst
118
+ ? [
119
+ {
120
+ type: SubstrateTransaction_1.SubstrateTransactionType.BOND,
121
+ tip,
122
+ args: {
123
+ controller,
124
+ value: bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value),
125
+ payee: typeof payee === 'string' ? SubstratePayee_1.SubstratePayee[payee] : payee
86
126
  }
87
- return [4 /*yield*/, this.options.nodeClient.getValidators()];
88
- case 1:
89
- validators = _a.sent();
90
- return [2 /*return*/, validators ? validators[0].asString() : ''];
127
+ }
128
+ ]
129
+ : []),
130
+ {
131
+ type: SubstrateTransaction_1.SubstrateTransactionType.NOMINATE,
132
+ tip,
133
+ args: {
134
+ targets: typeof targets === 'string' ? [targets] : targets
91
135
  }
92
- });
93
- });
94
- };
95
- SubstrateDelegateProtocol.prototype.getCurrentDelegateesForPublicKey = function (publicKey) {
96
- return __awaiter(this, void 0, void 0, function () {
97
- return __generator(this, function (_a) {
98
- return [2 /*return*/, this.options.accountController.getCurrentValidators(publicKey)];
99
- });
100
- });
101
- };
102
- SubstrateDelegateProtocol.prototype.getCurrentDelegateesForAddress = function (address) {
103
- return __awaiter(this, void 0, void 0, function () {
104
- return __generator(this, function (_a) {
105
- return [2 /*return*/, this.options.accountController.getCurrentValidators(address)];
106
- });
107
- });
108
- };
109
- SubstrateDelegateProtocol.prototype.getDelegateeDetails = function (address) {
110
- return __awaiter(this, void 0, void 0, function () {
111
- var validatorDetails;
112
- return __generator(this, function (_a) {
113
- switch (_a.label) {
114
- case 0: return [4 /*yield*/, this.options.accountController.getValidatorDetails(address)];
115
- case 1:
116
- validatorDetails = _a.sent();
117
- return [2 /*return*/, {
118
- name: validatorDetails.name || '',
119
- status: validatorDetails.status || '',
120
- address: address
121
- }];
122
- }
123
- });
124
- });
125
- };
126
- SubstrateDelegateProtocol.prototype.isPublicKeyDelegating = function (publicKey) {
127
- return __awaiter(this, void 0, void 0, function () {
128
- return __generator(this, function (_a) {
129
- return [2 /*return*/, this.options.accountController.isDelegating(publicKey)];
130
- });
131
- });
132
- };
133
- SubstrateDelegateProtocol.prototype.isAddressDelegating = function (address) {
134
- return __awaiter(this, void 0, void 0, function () {
135
- return __generator(this, function (_a) {
136
- return [2 /*return*/, this.options.accountController.isDelegating(address)];
137
- });
138
- });
139
- };
140
- SubstrateDelegateProtocol.prototype.getDelegatorDetailsFromPublicKey = function (publicKey) {
141
- return __awaiter(this, void 0, void 0, function () {
142
- var address;
143
- return __generator(this, function (_a) {
144
- switch (_a.label) {
145
- case 0: return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
146
- case 1:
147
- address = _a.sent();
148
- return [2 /*return*/, this.getDelegatorDetailsFromAddress(address.address)];
149
- }
150
- });
151
- });
152
- };
153
- SubstrateDelegateProtocol.prototype.getDelegatorDetailsFromAddress = function (address) {
154
- return __awaiter(this, void 0, void 0, function () {
155
- return __generator(this, function (_a) {
156
- return [2 /*return*/, this.options.accountController.getNominatorDetails(address)];
157
- });
158
- });
159
- };
160
- SubstrateDelegateProtocol.prototype.getDelegationDetailsFromPublicKey = function (publicKey, delegatees) {
161
- return __awaiter(this, void 0, void 0, function () {
162
- var address;
163
- return __generator(this, function (_a) {
164
- switch (_a.label) {
165
- case 0: return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
166
- case 1:
167
- address = _a.sent();
168
- return [2 /*return*/, this.getDelegationDetailsFromAddress(address.address, delegatees)];
169
- }
170
- });
171
- });
172
- };
173
- SubstrateDelegateProtocol.prototype.getDelegationDetailsFromAddress = function (address, delegatees) {
174
- return __awaiter(this, void 0, void 0, function () {
175
- var _a, nominatorDetails, validatorsDetails;
176
- var _this = this;
177
- return __generator(this, function (_b) {
178
- switch (_b.label) {
179
- case 0: return [4 /*yield*/, Promise.all([
180
- this.options.accountController.getNominatorDetails(address, delegatees),
181
- Promise.all(delegatees.map(function (validator) { return _this.options.accountController.getValidatorDetails(validator); }))
182
- ])];
183
- case 1:
184
- _a = _b.sent(), nominatorDetails = _a[0], validatorsDetails = _a[1];
185
- nominatorDetails.rewards =
186
- nominatorDetails.delegatees.length > 0 && nominatorDetails.stakingDetails
187
- ? nominatorDetails.stakingDetails.rewards.map(function (reward) { return ({
188
- index: reward.eraIndex,
189
- amount: reward.amount,
190
- timestamp: reward.timestamp
191
- }); })
192
- : [];
193
- return [2 /*return*/, {
194
- delegator: nominatorDetails,
195
- delegatees: validatorsDetails
196
- }];
197
- }
198
- });
199
- });
200
- };
201
- // tslint:disable-next-line: cyclomatic-complexity
202
- SubstrateDelegateProtocol.prototype.prepareDelegatorActionFromPublicKey = function (publicKey, type, data) {
203
- return __awaiter(this, void 0, void 0, function () {
204
- return __generator(this, function (_a) {
205
- if (!data) {
206
- data = {};
136
+ }
137
+ ]);
138
+ return [{ encoded }];
139
+ }
140
+ async prepareRebondNominate(publicKey, tip, targets, value) {
141
+ const [transferableBalance, lockedBalance] = await Promise.all([
142
+ this.options.accountController.getTransferableBalance(publicKey, false, false),
143
+ this.options.accountController.getUnlockingBalance(publicKey)
144
+ ]);
145
+ const toDelegate = bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value);
146
+ const configs = [];
147
+ if (toDelegate.gt(lockedBalance)) {
148
+ configs.push({
149
+ type: SubstrateTransaction_1.SubstrateTransactionType.REBOND,
150
+ tip,
151
+ args: {
152
+ value: lockedBalance
207
153
  }
208
- switch (type) {
209
- case SubstrateStakingActionType_1.SubstrateStakingActionType.BOND_NOMINATE:
210
- (0, assert_1.assertFields)("".concat(type, " action"), data, 'targets', 'value', 'payee');
211
- return [2 /*return*/, this.prepareNomination(publicKey, data.tip || 0, data.targets, data.controller || publicKey, data.value, data.payee)];
212
- case SubstrateStakingActionType_1.SubstrateStakingActionType.REBOND_NOMINATE:
213
- (0, assert_1.assertFields)("".concat(type, " action"), data, 'targets', 'value');
214
- return [2 /*return*/, this.prepareRebondNominate(publicKey, data.tip || 0, data.targets, data.value)];
215
- case SubstrateStakingActionType_1.SubstrateStakingActionType.NOMINATE:
216
- (0, assert_1.assertFields)("".concat(type, " action"), data, 'targets');
217
- return [2 /*return*/, this.prepareNomination(publicKey, data.tip || 0, data.targets)];
218
- case SubstrateStakingActionType_1.SubstrateStakingActionType.CANCEL_NOMINATION:
219
- return [2 /*return*/, this.prepareScheduleUndelegate(publicKey, data.tip || 0, data.value)];
220
- case SubstrateStakingActionType_1.SubstrateStakingActionType.CHANGE_NOMINATION:
221
- (0, assert_1.assertFields)("".concat(type, " action"), data, 'targets');
222
- return [2 /*return*/, this.prepareChangeValidator(publicKey, data.tip || 0, data.targets)];
223
- case SubstrateStakingActionType_1.SubstrateStakingActionType.UNBOND:
224
- (0, assert_1.assertFields)("".concat(type, " action"), data, 'value');
225
- return [2 /*return*/, this.prepareUnbond(publicKey, data.tip || 0, data.value)];
226
- case SubstrateStakingActionType_1.SubstrateStakingActionType.REBOND:
227
- (0, assert_1.assertFields)("".concat(type, " action"), data, 'value');
228
- return [2 /*return*/, this.prepareRebond(publicKey, data.tip || 0, data.value)];
229
- case SubstrateStakingActionType_1.SubstrateStakingActionType.BOND_EXTRA:
230
- (0, assert_1.assertFields)("".concat(type, " action"), data, 'value');
231
- return [2 /*return*/, this.prepareBondExtra(publicKey, data.tip || 0, data.value)];
232
- case SubstrateStakingActionType_1.SubstrateStakingActionType.REBOND_EXTRA:
233
- (0, assert_1.assertFields)("".concat(type, " action"), data, 'value');
234
- return [2 /*return*/, this.prepareRebondExtra(publicKey, data.tip || 0, data.value)];
235
- case SubstrateStakingActionType_1.SubstrateStakingActionType.WITHDRAW_UNBONDED:
236
- return [2 /*return*/, this.prepareWithdrawUnbonded(publicKey, data.tip || 0)];
237
- case SubstrateStakingActionType_1.SubstrateStakingActionType.CHANGE_REWARD_DESTINATION:
238
- return [2 /*return*/, Promise.reject('Unsupported delegator action.')];
239
- case SubstrateStakingActionType_1.SubstrateStakingActionType.CHANGE_CONTROLLER:
240
- return [2 /*return*/, Promise.reject('Unsupported delegator action.')];
241
- default:
242
- return [2 /*return*/, Promise.reject('Unsupported delegator action.')];
154
+ }, {
155
+ type: SubstrateTransaction_1.SubstrateTransactionType.BOND_EXTRA,
156
+ tip,
157
+ args: {
158
+ value: toDelegate.minus(lockedBalance)
243
159
  }
244
- return [2 /*return*/];
245
160
  });
246
- });
247
- };
248
- SubstrateDelegateProtocol.prototype.prepareNomination = function (publicKey, tip, targets, controller, value, payee) {
249
- return __awaiter(this, void 0, void 0, function () {
250
- var transferableBalance, available, bondFirst, encoded;
251
- return __generator(this, function (_a) {
252
- switch (_a.label) {
253
- case 0: return [4 /*yield*/, this.options.accountController.getTransferableBalance(publicKey, false, false)];
254
- case 1:
255
- transferableBalance = _a.sent();
256
- available = new bignumber_1.default(transferableBalance).minus(value || 0);
257
- bondFirst = controller !== undefined && value !== undefined && payee !== undefined;
258
- return [4 /*yield*/, this.options.transactionController.prepareSubmittableTransactions(publicKey, available, __spreadArray(__spreadArray([], (bondFirst
259
- ? [
260
- {
261
- type: SubstrateTransaction_1.SubstrateTransactionType.BOND,
262
- tip: tip,
263
- args: {
264
- controller: controller,
265
- value: bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value),
266
- payee: typeof payee === 'string' ? SubstratePayee_1.SubstratePayee[payee] : payee
267
- }
268
- }
269
- ]
270
- : []), true), [
271
- {
272
- type: SubstrateTransaction_1.SubstrateTransactionType.NOMINATE,
273
- tip: tip,
274
- args: {
275
- targets: typeof targets === 'string' ? [targets] : targets
276
- }
277
- }
278
- ], false))];
279
- case 2:
280
- encoded = _a.sent();
281
- return [2 /*return*/, [{ encoded: encoded }]];
161
+ }
162
+ else {
163
+ configs.push({
164
+ type: SubstrateTransaction_1.SubstrateTransactionType.REBOND,
165
+ tip,
166
+ args: {
167
+ value: toDelegate
282
168
  }
283
169
  });
170
+ }
171
+ configs.push({
172
+ type: SubstrateTransaction_1.SubstrateTransactionType.NOMINATE,
173
+ tip,
174
+ args: {
175
+ targets: typeof targets === 'string' ? [targets] : targets
176
+ }
284
177
  });
285
- };
286
- SubstrateDelegateProtocol.prototype.prepareRebondNominate = function (publicKey, tip, targets, value) {
287
- return __awaiter(this, void 0, void 0, function () {
288
- var _a, transferableBalance, lockedBalance, toDelegate, configs, encoded;
289
- return __generator(this, function (_b) {
290
- switch (_b.label) {
291
- case 0: return [4 /*yield*/, Promise.all([
292
- this.options.accountController.getTransferableBalance(publicKey, false, false),
293
- this.options.accountController.getUnlockingBalance(publicKey)
294
- ])];
295
- case 1:
296
- _a = _b.sent(), transferableBalance = _a[0], lockedBalance = _a[1];
297
- toDelegate = bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value);
298
- configs = [];
299
- if (toDelegate.gt(lockedBalance)) {
300
- configs.push({
301
- type: SubstrateTransaction_1.SubstrateTransactionType.REBOND,
302
- tip: tip,
303
- args: {
304
- value: lockedBalance
305
- }
306
- }, {
307
- type: SubstrateTransaction_1.SubstrateTransactionType.BOND_EXTRA,
308
- tip: tip,
309
- args: {
310
- value: toDelegate.minus(lockedBalance)
311
- }
312
- });
313
- }
314
- else {
315
- configs.push({
316
- type: SubstrateTransaction_1.SubstrateTransactionType.REBOND,
317
- tip: tip,
318
- args: {
319
- value: toDelegate
320
- }
321
- });
178
+ const encoded = await this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, configs);
179
+ return [{ encoded }];
180
+ }
181
+ async prepareScheduleUndelegate(publicKey, tip, value) {
182
+ const transferableBalance = await this.options.accountController.getTransferableBalance(publicKey, false, false);
183
+ const keepController = value === undefined;
184
+ const encoded = await this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, [
185
+ {
186
+ type: SubstrateTransaction_1.SubstrateTransactionType.CANCEL_NOMINATION,
187
+ tip,
188
+ args: {}
189
+ },
190
+ ...(keepController
191
+ ? []
192
+ : [
193
+ {
194
+ type: SubstrateTransaction_1.SubstrateTransactionType.UNBOND,
195
+ tip,
196
+ args: {
197
+ value: bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value)
322
198
  }
323
- configs.push({
324
- type: SubstrateTransaction_1.SubstrateTransactionType.NOMINATE,
325
- tip: tip,
326
- args: {
327
- targets: typeof targets === 'string' ? [targets] : targets
328
- }
329
- });
330
- return [4 /*yield*/, this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, configs)];
331
- case 2:
332
- encoded = _b.sent();
333
- return [2 /*return*/, [{ encoded: encoded }]];
334
- }
335
- });
336
- });
337
- };
338
- SubstrateDelegateProtocol.prototype.prepareScheduleUndelegate = function (publicKey, tip, value) {
339
- return __awaiter(this, void 0, void 0, function () {
340
- var transferableBalance, keepController, encoded;
341
- return __generator(this, function (_a) {
342
- switch (_a.label) {
343
- case 0: return [4 /*yield*/, this.options.accountController.getTransferableBalance(publicKey, false, false)];
344
- case 1:
345
- transferableBalance = _a.sent();
346
- keepController = value === undefined;
347
- return [4 /*yield*/, this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, __spreadArray([
348
- {
349
- type: SubstrateTransaction_1.SubstrateTransactionType.CANCEL_NOMINATION,
350
- tip: tip,
351
- args: {}
352
- }
353
- ], (keepController
354
- ? []
355
- : [
356
- {
357
- type: SubstrateTransaction_1.SubstrateTransactionType.UNBOND,
358
- tip: tip,
359
- args: {
360
- value: bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value)
361
- }
362
- }
363
- ]), true))];
364
- case 2:
365
- encoded = _a.sent();
366
- return [2 /*return*/, [{ encoded: encoded }]];
367
- }
368
- });
369
- });
370
- };
371
- SubstrateDelegateProtocol.prototype.prepareChangeValidator = function (publicKey, tip, targets) {
372
- return __awaiter(this, void 0, void 0, function () {
373
- var transferableBalance, encoded;
374
- return __generator(this, function (_a) {
375
- switch (_a.label) {
376
- case 0: return [4 /*yield*/, this.options.accountController.getTransferableBalance(publicKey, false, false)];
377
- case 1:
378
- transferableBalance = _a.sent();
379
- return [4 /*yield*/, this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, [
380
- {
381
- type: SubstrateTransaction_1.SubstrateTransactionType.NOMINATE,
382
- tip: tip,
383
- args: {
384
- targets: typeof targets === 'string' ? [targets] : targets
385
- }
386
- }
387
- ])];
388
- case 2:
389
- encoded = _a.sent();
390
- return [2 /*return*/, [{ encoded: encoded }]];
391
- }
392
- });
393
- });
394
- };
395
- SubstrateDelegateProtocol.prototype.prepareUnbond = function (publicKey, tip, value) {
396
- return __awaiter(this, void 0, void 0, function () {
397
- var transferableBalance, encoded;
398
- return __generator(this, function (_a) {
399
- switch (_a.label) {
400
- case 0: return [4 /*yield*/, this.options.accountController.getTransferableBalance(publicKey, false, false)];
401
- case 1:
402
- transferableBalance = _a.sent();
403
- return [4 /*yield*/, this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, [
404
- {
405
- type: SubstrateTransaction_1.SubstrateTransactionType.UNBOND,
406
- tip: tip,
407
- args: {
408
- value: bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value)
409
- }
410
- }
411
- ])];
412
- case 2:
413
- encoded = _a.sent();
414
- return [2 /*return*/, [{ encoded: encoded }]];
199
+ }
200
+ ])
201
+ ]);
202
+ return [{ encoded }];
203
+ }
204
+ async prepareChangeValidator(publicKey, tip, targets) {
205
+ const transferableBalance = await this.options.accountController.getTransferableBalance(publicKey, false, false);
206
+ const encoded = await this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, [
207
+ {
208
+ type: SubstrateTransaction_1.SubstrateTransactionType.NOMINATE,
209
+ tip,
210
+ args: {
211
+ targets: typeof targets === 'string' ? [targets] : targets
415
212
  }
416
- });
417
- });
418
- };
419
- SubstrateDelegateProtocol.prototype.prepareRebond = function (publicKey, tip, value) {
420
- return __awaiter(this, void 0, void 0, function () {
421
- var transferableBalance, encoded;
422
- return __generator(this, function (_a) {
423
- switch (_a.label) {
424
- case 0: return [4 /*yield*/, this.options.accountController.getTransferableBalance(publicKey, false, false)];
425
- case 1:
426
- transferableBalance = _a.sent();
427
- return [4 /*yield*/, this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, [
428
- {
429
- type: SubstrateTransaction_1.SubstrateTransactionType.REBOND,
430
- tip: tip,
431
- args: {
432
- value: bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value)
433
- }
434
- }
435
- ])];
436
- case 2:
437
- encoded = _a.sent();
438
- return [2 /*return*/, [{ encoded: encoded }]];
213
+ }
214
+ ]);
215
+ return [{ encoded }];
216
+ }
217
+ async prepareUnbond(publicKey, tip, value) {
218
+ const transferableBalance = await this.options.accountController.getTransferableBalance(publicKey, false, false);
219
+ const encoded = await this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, [
220
+ {
221
+ type: SubstrateTransaction_1.SubstrateTransactionType.UNBOND,
222
+ tip,
223
+ args: {
224
+ value: bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value)
439
225
  }
440
- });
441
- });
442
- };
443
- SubstrateDelegateProtocol.prototype.prepareBondExtra = function (publicKey, tip, value) {
444
- return __awaiter(this, void 0, void 0, function () {
445
- var transferableBalance, encoded;
446
- return __generator(this, function (_a) {
447
- switch (_a.label) {
448
- case 0: return [4 /*yield*/, this.options.accountController.getTransferableBalance(publicKey, false, false)];
449
- case 1:
450
- transferableBalance = _a.sent();
451
- return [4 /*yield*/, this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, [
452
- {
453
- type: SubstrateTransaction_1.SubstrateTransactionType.BOND_EXTRA,
454
- tip: tip,
455
- args: {
456
- value: bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value)
457
- }
458
- }
459
- ])];
460
- case 2:
461
- encoded = _a.sent();
462
- return [2 /*return*/, [{ encoded: encoded }]];
226
+ }
227
+ ]);
228
+ return [{ encoded }];
229
+ }
230
+ async prepareRebond(publicKey, tip, value) {
231
+ const transferableBalance = await this.options.accountController.getTransferableBalance(publicKey, false, false);
232
+ const encoded = await this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, [
233
+ {
234
+ type: SubstrateTransaction_1.SubstrateTransactionType.REBOND,
235
+ tip,
236
+ args: {
237
+ value: bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value)
463
238
  }
464
- });
465
- });
466
- };
467
- SubstrateDelegateProtocol.prototype.prepareRebondExtra = function (publicKey, tip, value) {
468
- return __awaiter(this, void 0, void 0, function () {
469
- var _a, transferableBalance, lockedBalance, toDelegate, configs, encoded;
470
- return __generator(this, function (_b) {
471
- switch (_b.label) {
472
- case 0: return [4 /*yield*/, Promise.all([
473
- this.options.accountController.getTransferableBalance(publicKey, false, false),
474
- this.options.accountController.getUnlockingBalance(publicKey)
475
- ])];
476
- case 1:
477
- _a = _b.sent(), transferableBalance = _a[0], lockedBalance = _a[1];
478
- toDelegate = bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value);
479
- configs = toDelegate.gt(lockedBalance)
480
- ? [
481
- {
482
- type: SubstrateTransaction_1.SubstrateTransactionType.REBOND,
483
- tip: tip,
484
- args: {
485
- value: lockedBalance
486
- }
487
- },
488
- {
489
- type: SubstrateTransaction_1.SubstrateTransactionType.BOND_EXTRA,
490
- tip: tip,
491
- args: {
492
- value: toDelegate.minus(lockedBalance)
493
- }
494
- }
495
- ]
496
- : [
497
- {
498
- type: SubstrateTransaction_1.SubstrateTransactionType.REBOND,
499
- tip: tip,
500
- args: {
501
- value: toDelegate
502
- }
503
- }
504
- ];
505
- return [4 /*yield*/, this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, configs)];
506
- case 2:
507
- encoded = _b.sent();
508
- return [2 /*return*/, [{ encoded: encoded }]];
239
+ }
240
+ ]);
241
+ return [{ encoded }];
242
+ }
243
+ async prepareBondExtra(publicKey, tip, value) {
244
+ const transferableBalance = await this.options.accountController.getTransferableBalance(publicKey, false, false);
245
+ const encoded = await this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, [
246
+ {
247
+ type: SubstrateTransaction_1.SubstrateTransactionType.BOND_EXTRA,
248
+ tip,
249
+ args: {
250
+ value: bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value)
509
251
  }
510
- });
511
- });
512
- };
513
- SubstrateDelegateProtocol.prototype.prepareWithdrawUnbonded = function (publicKey, tip) {
514
- return __awaiter(this, void 0, void 0, function () {
515
- var _a, transferableBalance, slashingSpansNumber, encoded;
516
- return __generator(this, function (_b) {
517
- switch (_b.label) {
518
- case 0: return [4 /*yield*/, Promise.all([
519
- this.options.accountController.getTransferableBalance(publicKey, false, false),
520
- this.options.accountController.getSlashingSpansNumber(publicKey)
521
- ])];
522
- case 1:
523
- _a = _b.sent(), transferableBalance = _a[0], slashingSpansNumber = _a[1];
524
- return [4 /*yield*/, this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, [
525
- {
526
- type: SubstrateTransaction_1.SubstrateTransactionType.WITHDRAW_UNBONDED,
527
- tip: tip,
528
- args: { slashingSpansNumber: slashingSpansNumber }
529
- }
530
- ])];
531
- case 2:
532
- encoded = _b.sent();
533
- return [2 /*return*/, [{ encoded: encoded }]];
252
+ }
253
+ ]);
254
+ return [{ encoded }];
255
+ }
256
+ async prepareRebondExtra(publicKey, tip, value) {
257
+ const [transferableBalance, lockedBalance] = await Promise.all([
258
+ this.options.accountController.getTransferableBalance(publicKey, false, false),
259
+ this.options.accountController.getUnlockingBalance(publicKey)
260
+ ]);
261
+ const toDelegate = bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value);
262
+ const configs = toDelegate.gt(lockedBalance)
263
+ ? [
264
+ {
265
+ type: SubstrateTransaction_1.SubstrateTransactionType.REBOND,
266
+ tip,
267
+ args: {
268
+ value: lockedBalance
269
+ }
270
+ },
271
+ {
272
+ type: SubstrateTransaction_1.SubstrateTransactionType.BOND_EXTRA,
273
+ tip,
274
+ args: {
275
+ value: toDelegate.minus(lockedBalance)
276
+ }
534
277
  }
535
- });
536
- });
537
- };
538
- SubstrateDelegateProtocol.prototype.estimateMaxDelegationValueFromAddress = function (address) {
539
- return __awaiter(this, void 0, void 0, function () {
540
- var results, transferableBalance, futureTransactions, feeEstimate, maxValue;
541
- return __generator(this, function (_a) {
542
- switch (_a.label) {
543
- case 0: return [4 /*yield*/, Promise.all([
544
- this.options.accountController.getTransferableBalance(address, false, false),
545
- this.getFutureRequiredTransactions(address, 'delegate')
546
- ])];
547
- case 1:
548
- results = _a.sent();
549
- transferableBalance = results[0];
550
- futureTransactions = results[1];
551
- return [4 /*yield*/, this.options.transactionController.estimateTransactionFees(address, futureTransactions)];
552
- case 2:
553
- feeEstimate = _a.sent();
554
- if (!feeEstimate) {
555
- return [2 /*return*/, Promise.reject('Could not estimate max value.')];
556
- }
557
- maxValue = transferableBalance.minus(feeEstimate);
558
- return [2 /*return*/, (maxValue.gte(0) ? maxValue : new bignumber_1.default(0)).toString(10)];
278
+ ]
279
+ : [
280
+ {
281
+ type: SubstrateTransaction_1.SubstrateTransactionType.REBOND,
282
+ tip,
283
+ args: {
284
+ value: toDelegate
285
+ }
559
286
  }
560
- });
561
- });
562
- };
563
- return SubstrateDelegateProtocol;
564
- }(SubstrateProtocol_1.SubstrateProtocol));
287
+ ];
288
+ const encoded = await this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, configs);
289
+ return [{ encoded }];
290
+ }
291
+ async prepareWithdrawUnbonded(publicKey, tip) {
292
+ const [transferableBalance, slashingSpansNumber] = await Promise.all([
293
+ this.options.accountController.getTransferableBalance(publicKey, false, false),
294
+ this.options.accountController.getSlashingSpansNumber(publicKey)
295
+ ]);
296
+ const encoded = await this.options.transactionController.prepareSubmittableTransactions(publicKey, transferableBalance, [
297
+ {
298
+ type: SubstrateTransaction_1.SubstrateTransactionType.WITHDRAW_UNBONDED,
299
+ tip,
300
+ args: { slashingSpansNumber }
301
+ }
302
+ ]);
303
+ return [{ encoded }];
304
+ }
305
+ async estimateMaxDelegationValueFromAddress(address) {
306
+ const results = await Promise.all([
307
+ this.options.accountController.getTransferableBalance(address, false, false),
308
+ this.getFutureRequiredTransactions(address, 'delegate')
309
+ ]);
310
+ const transferableBalance = results[0];
311
+ const futureTransactions = results[1];
312
+ const feeEstimate = await this.options.transactionController.estimateTransactionFees(address, futureTransactions);
313
+ if (!feeEstimate) {
314
+ return Promise.reject('Could not estimate max value.');
315
+ }
316
+ const maxValue = transferableBalance.minus(feeEstimate);
317
+ return (maxValue.gte(0) ? maxValue : new bignumber_1.default(0)).toString(10);
318
+ }
319
+ }
565
320
  exports.SubstrateDelegateProtocol = SubstrateDelegateProtocol;
566
321
  //# sourceMappingURL=SubstrateDelegateProtocol.js.map