@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,15 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
3
  if (k2 === undefined) k2 = k;
15
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -26,316 +15,208 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
26
15
  }) : function(o, v) {
27
16
  o["default"] = v;
28
17
  });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
- return new (P || (P = Promise))(function (resolve, reject) {
39
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
- step((generator = generator.apply(thisArg, _arguments || [])).next());
43
- });
44
- };
45
- var __generator = (this && this.__generator) || function (thisArg, body) {
46
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
47
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
- function verb(n) { return function (v) { return step([n, v]); }; }
49
- function step(op) {
50
- if (f) throw new TypeError("Generator is already executing.");
51
- while (_) try {
52
- 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;
53
- if (y = 0, t) op = [op[0] & 2, t.value];
54
- switch (op[0]) {
55
- case 0: case 1: t = op; break;
56
- case 4: _.label++; return { value: op[1], done: false };
57
- case 5: _.label++; y = op[1]; op = [0]; continue;
58
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
- default:
60
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
- if (t[2]) _.ops.pop();
65
- _.trys.pop(); continue;
66
- }
67
- op = body.call(thisArg, _);
68
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
- }
71
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
72
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
73
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
74
37
  };
75
38
  Object.defineProperty(exports, "__esModule", { value: true });
76
39
  exports.SubstrateCommonTransactionController = void 0;
77
- var coinlib_core_1 = require("@airgap/coinlib-core");
78
- var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
40
+ const coinlib_core_1 = require("@airgap/coinlib-core");
41
+ const bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
79
42
  // @ts-ignore
80
- var keccak = require("@airgap/coinlib-core/dependencies/src/keccak-1.0.2/js");
43
+ const keccak = require("@airgap/coinlib-core/dependencies/src/keccak-1.0.2/js");
81
44
  // @ts-ignore
82
- var secp256k1 = __importStar(require("@airgap/coinlib-core/dependencies/src/secp256k1-4.0.2/elliptic"));
83
- var errors_1 = require("@airgap/coinlib-core/errors");
84
- var blake2b_1 = require("@airgap/coinlib-core/utils/blake2b");
85
- var wasm_crypto_1 = require("@polkadot/wasm-crypto");
86
- var SubstrateAddressFactory_1 = require("../../data/account/address/SubstrateAddressFactory");
87
- var SCALEDecoder_1 = require("../../data/scale/SCALEDecoder");
88
- var SCALEArray_1 = require("../../data/scale/type/SCALEArray");
89
- var SCALEBytes_1 = require("../../data/scale/type/SCALEBytes");
90
- var SCALECompactInt_1 = require("../../data/scale/type/SCALECompactInt");
91
- var SCALEEnum_1 = require("../../data/scale/type/SCALEEnum");
92
- var SCALEInt_1 = require("../../data/scale/type/SCALEInt");
93
- var SCALEOptional_1 = require("../../data/scale/type/SCALEOptional");
94
- var SCALEString_1 = require("../../data/scale/type/SCALEString");
95
- var SubstrateSignature_1 = require("../../data/transaction/SubstrateSignature");
96
- var SubstrateTransaction_1 = require("../../data/transaction/SubstrateTransaction");
97
- var SubstrateTransactionPayload_1 = require("../../data/transaction/SubstrateTransactionPayload");
98
- var keys_1 = require("../../utils/keys");
99
- var SubstrateCommonTransactionController = /** @class */ (function () {
100
- function SubstrateCommonTransactionController(configuration, nodeClient) {
45
+ const secp256k1 = __importStar(require("@airgap/coinlib-core/dependencies/src/secp256k1-4.0.2/elliptic"));
46
+ const errors_1 = require("@airgap/coinlib-core/errors");
47
+ const blake2b_1 = require("@airgap/coinlib-core/utils/blake2b");
48
+ const wasm_crypto_1 = require("@polkadot/wasm-crypto");
49
+ const SubstrateAddressFactory_1 = require("../../data/account/address/SubstrateAddressFactory");
50
+ const SCALEDecoder_1 = require("../../data/scale/SCALEDecoder");
51
+ const SCALEArray_1 = require("../../data/scale/type/SCALEArray");
52
+ const SCALEBytes_1 = require("../../data/scale/type/SCALEBytes");
53
+ const SCALECompactInt_1 = require("../../data/scale/type/SCALECompactInt");
54
+ const SCALEEnum_1 = require("../../data/scale/type/SCALEEnum");
55
+ const SCALEInt_1 = require("../../data/scale/type/SCALEInt");
56
+ const SCALEOptional_1 = require("../../data/scale/type/SCALEOptional");
57
+ const SCALEString_1 = require("../../data/scale/type/SCALEString");
58
+ const SubstrateSignature_1 = require("../../data/transaction/SubstrateSignature");
59
+ const SubstrateTransaction_1 = require("../../data/transaction/SubstrateTransaction");
60
+ const SubstrateTransactionPayload_1 = require("../../data/transaction/SubstrateTransactionPayload");
61
+ const keys_1 = require("../../utils/keys");
62
+ class SubstrateCommonTransactionController {
63
+ constructor(configuration, nodeClient) {
101
64
  this.configuration = configuration;
102
65
  this.nodeClient = nodeClient;
103
66
  }
104
- SubstrateCommonTransactionController.prototype.prepareSubmittableTransactions = function (accountId, available, params) {
105
- return __awaiter(this, void 0, void 0, function () {
106
- var accountInfo, nonce, txs, totalFee;
107
- var _this = this;
108
- return __generator(this, function (_a) {
109
- switch (_a.label) {
110
- case 0: return [4 /*yield*/, this.nodeClient.getAccountInfo(this.substrateAddressFrom(accountId))];
111
- case 1:
112
- accountInfo = _a.sent();
113
- if (!accountInfo) {
114
- return [2 /*return*/, Promise.reject('Could not fetch all necessary data')];
115
- }
116
- nonce = accountInfo.nonce.value;
117
- return [4 /*yield*/, Promise.all(params.map(function (tx, index) { return _this.prepareTransactionDetails(tx.type, accountId, tx.tip, nonce.plus(index), tx.args); }))];
118
- case 2:
119
- txs = _a.sent();
120
- totalFee = txs.map(function (tx) { return tx.fee; }).reduce(function (total, next) { return total.plus(next); }, new bignumber_1.default(0));
121
- if (new bignumber_1.default(available).lt(totalFee)) {
122
- throw new coinlib_core_1.BalanceError(coinlib_core_1.Domain.SUBSTRATE, "Not enough balance");
123
- }
124
- return [2 /*return*/, this.encodeDetails(txs)];
125
- }
126
- });
127
- });
128
- };
129
- SubstrateCommonTransactionController.prototype.prepareTransactionDetails = function (type, accountId, tip, nonce, args) {
130
- if (args === void 0) { args = {}; }
131
- return __awaiter(this, void 0, void 0, function () {
132
- var chainHeight, results, transaction, fee, lastHash, genesisHash, runtimeVersion, payload;
133
- return __generator(this, function (_a) {
134
- switch (_a.label) {
135
- case 0: return [4 /*yield*/, this.nodeClient.getCurrentHeight()];
136
- case 1:
137
- chainHeight = _a.sent();
138
- return [4 /*yield*/, Promise.all([
139
- this.createTransaction(type, accountId, tip, args, chainHeight, nonce),
140
- this.nodeClient.getLastBlockHash(),
141
- this.nodeClient.getFirstBlockHash(),
142
- this.nodeClient.getRuntimeVersion()
143
- ])];
144
- case 2:
145
- results = _a.sent();
146
- if (results.some(function (result) { return result === null; })) {
147
- return [2 /*return*/, Promise.reject('Could not fetch all necessary data.')];
148
- }
149
- transaction = results[0];
150
- return [4 /*yield*/, this.calculateTransactionFee(transaction)];
151
- case 3:
152
- fee = _a.sent();
153
- if (!fee) {
154
- return [2 /*return*/, Promise.reject('Could not fetch all necessary data.')];
155
- }
156
- lastHash = results[1];
157
- genesisHash = results[2];
158
- runtimeVersion = results[3];
159
- payload = SubstrateTransactionPayload_1.SubstrateTransactionPayload.create(transaction, {
160
- specVersion: runtimeVersion.specVersion,
161
- transactionVersion: runtimeVersion.transactionVersion,
162
- genesisHash: genesisHash,
163
- lastHash: lastHash
164
- });
165
- return [2 /*return*/, {
166
- runtimeVersion: runtimeVersion.specVersion,
167
- fee: fee,
168
- transaction: transaction,
169
- payload: payload.encode({ configuration: this.configuration, runtimeVersion: runtimeVersion.specVersion })
170
- }];
171
- }
172
- });
67
+ async prepareSubmittableTransactions(accountId, available, params) {
68
+ const accountInfo = await this.nodeClient.getAccountInfo(this.substrateAddressFrom(accountId));
69
+ if (!accountInfo) {
70
+ return Promise.reject('Could not fetch all necessary data');
71
+ }
72
+ const nonce = accountInfo.nonce.value;
73
+ const txs = await Promise.all(params.map((tx, index) => this.prepareTransactionDetails(tx.type, accountId, tx.tip, nonce.plus(index), tx.args)));
74
+ const totalFee = txs.map((tx) => tx.fee).reduce((total, next) => total.plus(next), new bignumber_1.default(0));
75
+ if (new bignumber_1.default(available).lt(totalFee)) {
76
+ throw new coinlib_core_1.BalanceError(coinlib_core_1.Domain.SUBSTRATE, `Not enough balance`);
77
+ }
78
+ return this.encodeDetails(txs);
79
+ }
80
+ async prepareTransactionDetails(type, accountId, tip, nonce, args = {}) {
81
+ const chainHeight = await this.nodeClient.getCurrentHeight();
82
+ const results = await Promise.all([
83
+ this.createTransaction(type, accountId, tip, args, chainHeight, nonce),
84
+ this.nodeClient.getLastBlockHash(),
85
+ this.nodeClient.getFirstBlockHash(),
86
+ this.nodeClient.getRuntimeVersion()
87
+ ]);
88
+ if (results.some((result) => result === null)) {
89
+ return Promise.reject('Could not fetch all necessary data.');
90
+ }
91
+ const transaction = results[0];
92
+ const fee = await this.calculateTransactionFee(transaction);
93
+ if (!fee) {
94
+ return Promise.reject('Could not fetch all necessary data.');
95
+ }
96
+ const lastHash = results[1];
97
+ const genesisHash = results[2];
98
+ const runtimeVersion = results[3];
99
+ const payload = SubstrateTransactionPayload_1.SubstrateTransactionPayload.create(transaction, {
100
+ specVersion: runtimeVersion.specVersion,
101
+ transactionVersion: runtimeVersion.transactionVersion,
102
+ genesisHash,
103
+ lastHash
173
104
  });
174
- };
175
- SubstrateCommonTransactionController.prototype.createTransaction = function (type, accountId, tip, args, chainHeight, nonce) {
176
- if (tip === void 0) { tip = 0; }
177
- if (args === void 0) { args = {}; }
178
- if (chainHeight === void 0) { chainHeight = 1; }
179
- if (nonce === void 0) { nonce = 0; }
180
- return __awaiter(this, void 0, void 0, function () {
181
- var methodId, signatureType;
182
- return __generator(this, function (_a) {
183
- switch (_a.label) {
184
- case 0: return [4 /*yield*/, this.nodeClient.getTransactionMetadata(type)];
185
- case 1:
186
- methodId = _a.sent();
187
- signatureType = this.getSignatureType('placeholder');
188
- return [2 /*return*/, SubstrateTransaction_1.SubstrateTransaction.create(this.configuration, type, {
189
- from: accountId,
190
- tip: bignumber_1.default.isBigNumber(tip) ? tip : new bignumber_1.default(tip),
191
- methodId: methodId,
192
- args: args,
193
- era: { chainHeight: chainHeight },
194
- nonce: nonce,
195
- signatureType: signatureType
196
- })];
197
- }
198
- });
105
+ return {
106
+ runtimeVersion: runtimeVersion.specVersion,
107
+ fee,
108
+ transaction,
109
+ payload: payload.encode({ configuration: this.configuration, runtimeVersion: runtimeVersion.specVersion })
110
+ };
111
+ }
112
+ async createTransaction(type, accountId, tip = 0, args = {}, chainHeight = 1, nonce = 0) {
113
+ const methodId = await this.nodeClient.getTransactionMetadata(type);
114
+ const signatureType = this.getSignatureType('placeholder');
115
+ return SubstrateTransaction_1.SubstrateTransaction.create(this.configuration, type, {
116
+ from: accountId,
117
+ tip: bignumber_1.default.isBigNumber(tip) ? tip : new bignumber_1.default(tip),
118
+ methodId,
119
+ args,
120
+ era: { chainHeight },
121
+ nonce,
122
+ signatureType
199
123
  });
200
- };
201
- SubstrateCommonTransactionController.prototype.getSignatureType = function (purpose) {
124
+ }
125
+ getSignatureType(purpose) {
202
126
  switch (this.configuration.account.type) {
203
127
  case 'eth':
204
128
  return SubstrateSignature_1.SubstrateSignatureType.Ecdsa;
205
129
  case 'ss58':
206
130
  return purpose === 'sign' ? SubstrateSignature_1.SubstrateSignatureType.Sr25519 : SubstrateSignature_1.SubstrateSignatureType.Ed25519;
207
131
  }
208
- };
209
- SubstrateCommonTransactionController.prototype.signTransaction = function (secretKey, transaction, payload) {
210
- return __awaiter(this, void 0, void 0, function () {
211
- var hexSecretKey, signatureType, signature;
212
- return __generator(this, function (_a) {
213
- switch (_a.label) {
214
- case 0:
215
- hexSecretKey = (0, keys_1.convertSecretKey)(secretKey, 'hex');
216
- signatureType = this.getSignatureType('sign');
217
- return [4 /*yield*/, this.signPayload(Buffer.from(hexSecretKey.value, 'hex'), transaction.signer.asBytes(), payload, signatureType)];
218
- case 1:
219
- signature = _a.sent();
220
- return [2 /*return*/, SubstrateTransaction_1.SubstrateTransaction.fromTransaction(transaction, { signature: signature })];
221
- }
222
- });
223
- });
224
- };
225
- SubstrateCommonTransactionController.prototype.signPayload = function (privateKey, publicKey, payload, signatureType) {
226
- return __awaiter(this, void 0, void 0, function () {
227
- return __generator(this, function (_a) {
228
- switch (signatureType) {
229
- case SubstrateSignature_1.SubstrateSignatureType.Ed25519:
230
- return [2 /*return*/, this.signEd25519Payload(privateKey, publicKey, payload)];
231
- case SubstrateSignature_1.SubstrateSignatureType.Sr25519:
232
- return [2 /*return*/, this.signSr25519Payload(privateKey, publicKey, payload)];
233
- case SubstrateSignature_1.SubstrateSignatureType.Ecdsa:
234
- return [2 /*return*/, this.signEcdsaPayload(privateKey, payload)];
235
- default:
236
- return [2 /*return*/, Promise.reject('Signature type not supported.')];
237
- }
238
- return [2 /*return*/];
239
- });
240
- });
241
- };
242
- SubstrateCommonTransactionController.prototype.signEd25519Payload = function (privateKey, publicKey, payload) {
243
- return __awaiter(this, void 0, void 0, function () {
244
- return __generator(this, function (_a) {
245
- throw new Error('signEd25519Payload not implemented');
246
- });
247
- });
248
- };
249
- SubstrateCommonTransactionController.prototype.signSr25519Payload = function (privateKey, publicKey, payload) {
250
- return __awaiter(this, void 0, void 0, function () {
251
- var payloadBuffer, message, signature;
252
- return __generator(this, function (_a) {
253
- switch (_a.label) {
254
- case 0: return [4 /*yield*/, (0, wasm_crypto_1.waitReady)()];
255
- case 1:
256
- _a.sent();
257
- payloadBuffer = Buffer.from(payload, 'hex');
258
- message = payloadBuffer.length > 256 ? Buffer.from((0, blake2b_1.blake2bAsBytes)(payloadBuffer, 256)) : payloadBuffer;
259
- signature = (0, wasm_crypto_1.sr25519Sign)(publicKey, privateKey, message);
260
- return [2 /*return*/, SubstrateSignature_1.SubstrateSignature.create(SubstrateSignature_1.SubstrateSignatureType.Sr25519, signature)];
261
- }
262
- });
263
- });
264
- };
265
- SubstrateCommonTransactionController.prototype.signEcdsaPayload = function (privateKey, payload) {
266
- var _a;
267
- return __awaiter(this, void 0, void 0, function () {
268
- var message, signatureObj, signature;
269
- return __generator(this, function (_b) {
270
- message = keccak('keccak256').update(Buffer.from(payload, 'hex')).digest();
271
- signatureObj = secp256k1.ecdsaSign(message, privateKey);
272
- signature = Buffer.concat([Buffer.from(signatureObj.signature), Buffer.from([(_a = signatureObj.recid) !== null && _a !== void 0 ? _a : 0])]);
273
- return [2 /*return*/, SubstrateSignature_1.SubstrateSignature.create(SubstrateSignature_1.SubstrateSignatureType.Ecdsa, signature)];
274
- });
275
- });
276
- };
277
- SubstrateCommonTransactionController.prototype.encodeDetails = function (txs) {
278
- var _this = this;
279
- var bytesEncoded = txs.map(function (tx) {
280
- var scaleRuntimeVersion = tx.runtimeVersion !== undefined ? SCALEOptional_1.SCALEOptional.from(SCALEInt_1.SCALEInt.from(tx.runtimeVersion, 32)) : SCALEOptional_1.SCALEOptional.empty();
281
- var scaleType = _this.encodeTransactionType(tx.transaction.type);
282
- var scaleFee = SCALECompactInt_1.SCALECompactInt.from(tx.fee);
132
+ }
133
+ async signTransaction(secretKey, transaction, payload) {
134
+ const hexSecretKey = (0, keys_1.convertSecretKey)(secretKey, 'hex');
135
+ const signatureType = this.getSignatureType('sign');
136
+ const signature = await this.signPayload(Buffer.from(hexSecretKey.value, 'hex'), transaction.signer.asBytes(), payload, signatureType);
137
+ return SubstrateTransaction_1.SubstrateTransaction.fromTransaction(transaction, { signature });
138
+ }
139
+ async signPayload(privateKey, publicKey, payload, signatureType) {
140
+ switch (signatureType) {
141
+ case SubstrateSignature_1.SubstrateSignatureType.Ed25519:
142
+ return this.signEd25519Payload(privateKey, publicKey, payload);
143
+ case SubstrateSignature_1.SubstrateSignatureType.Sr25519:
144
+ return this.signSr25519Payload(privateKey, publicKey, payload);
145
+ case SubstrateSignature_1.SubstrateSignatureType.Ecdsa:
146
+ return this.signEcdsaPayload(privateKey, payload);
147
+ default:
148
+ return Promise.reject('Signature type not supported.');
149
+ }
150
+ }
151
+ async signEd25519Payload(privateKey, publicKey, payload) {
152
+ throw new Error('signEd25519Payload not implemented');
153
+ }
154
+ async signSr25519Payload(privateKey, publicKey, payload) {
155
+ await (0, wasm_crypto_1.waitReady)();
156
+ const payloadBuffer = Buffer.from(payload, 'hex');
157
+ const message = payloadBuffer.length > 256 ? Buffer.from((0, blake2b_1.blake2bAsBytes)(payloadBuffer, 256)) : payloadBuffer;
158
+ const signature = (0, wasm_crypto_1.sr25519Sign)(publicKey, privateKey, message);
159
+ return SubstrateSignature_1.SubstrateSignature.create(SubstrateSignature_1.SubstrateSignatureType.Sr25519, signature);
160
+ }
161
+ async signEcdsaPayload(privateKey, payload) {
162
+ const message = keccak('keccak256').update(Buffer.from(payload, 'hex')).digest();
163
+ const signatureObj = secp256k1.ecdsaSign(message, privateKey);
164
+ const signature = Buffer.concat([Buffer.from(signatureObj.signature), Buffer.from([signatureObj.recid ?? 0])]);
165
+ return SubstrateSignature_1.SubstrateSignature.create(SubstrateSignature_1.SubstrateSignatureType.Ecdsa, signature);
166
+ }
167
+ encodeDetails(txs) {
168
+ const bytesEncoded = txs.map((tx) => {
169
+ const scaleRuntimeVersion = tx.runtimeVersion !== undefined ? SCALEOptional_1.SCALEOptional.from(SCALEInt_1.SCALEInt.from(tx.runtimeVersion, 32)) : SCALEOptional_1.SCALEOptional.empty();
170
+ const scaleType = this.encodeTransactionType(tx.transaction.type);
171
+ const scaleFee = SCALECompactInt_1.SCALECompactInt.from(tx.fee);
283
172
  return SCALEBytes_1.SCALEBytes.from(scaleRuntimeVersion.encode() +
284
- scaleType.reduce(function (hex, next) { return hex + next.encode({ configuration: _this.configuration, runtimeVersion: tx.runtimeVersion }); }, '') +
285
- scaleFee.encode({ configuration: _this.configuration, runtimeVersion: tx.runtimeVersion }) +
286
- tx.transaction.encode({ configuration: _this.configuration, runtimeVersion: tx.runtimeVersion }) +
287
- SCALEString_1.SCALEString.from(tx.payload).encode({ configuration: _this.configuration, runtimeVersion: tx.runtimeVersion }));
173
+ scaleType.reduce((hex, next) => hex + next.encode({ configuration: this.configuration, runtimeVersion: tx.runtimeVersion }), '') +
174
+ scaleFee.encode({ configuration: this.configuration, runtimeVersion: tx.runtimeVersion }) +
175
+ tx.transaction.encode({ configuration: this.configuration, runtimeVersion: tx.runtimeVersion }) +
176
+ SCALEString_1.SCALEString.from(tx.payload).encode({ configuration: this.configuration, runtimeVersion: tx.runtimeVersion }));
288
177
  });
289
178
  return SCALEArray_1.SCALEArray.from(bytesEncoded).encode();
290
- };
291
- SubstrateCommonTransactionController.prototype.encodeTransactionType = function (type) {
292
- var enumType = transactionTypeAsEnum(this.configuration, type);
179
+ }
180
+ encodeTransactionType(type) {
181
+ const enumType = transactionTypeAsEnum(this.configuration, type);
293
182
  if (enumType !== undefined) {
294
183
  // legacy
295
184
  return [SCALEEnum_1.SCALEEnum.from(transactionTypeAsEnum(this.configuration, type))];
296
185
  }
297
186
  return [SCALEEnum_1.SCALEEnum.from(255), SCALEString_1.SCALEString.from(type)];
298
- };
299
- SubstrateCommonTransactionController.prototype.decodeDetails = function (serialized) {
300
- var _this = this;
301
- var decoder = new SCALEDecoder_1.SCALEDecoder(this.configuration, undefined, serialized);
302
- var encodedTxs = decoder
303
- .decodeNextArray(function (_configuration, _runtimeVersion, hex) { return SCALEBytes_1.SCALEBytes.decode(hex); })
304
- .decoded.elements.map(function (bytesEncoded) { return bytesEncoded.bytes.toString('hex'); });
305
- return encodedTxs.map(function (encodedTx) {
306
- var _a;
307
- var runtimeVersionOptional = SCALEOptional_1.SCALEOptional.decode(_this.configuration, undefined, encodedTx, function (_configuration, _runtimeVersion, hex) { return SCALEInt_1.SCALEInt.decode(hex, 32); });
308
- var _encodedTx = encodedTx.slice(runtimeVersionOptional.bytesDecoded * 2);
309
- var runtimeVersion = (_a = runtimeVersionOptional.decoded.value) === null || _a === void 0 ? void 0 : _a.toNumber();
310
- var txDecoder = new SCALEDecoder_1.SCALEDecoder(_this.configuration, runtimeVersion, _encodedTx);
311
- var type = _this.decodeTransactionType(txDecoder);
312
- var fee = txDecoder.decodeNextCompactInt();
313
- var transaction = txDecoder.decodeNextObject(function (configuration, runtimeVersion, hex) {
314
- return SubstrateTransaction_1.SubstrateTransaction.decode(configuration, runtimeVersion, type.decoded, hex);
315
- });
316
- var payload = txDecoder.decodeNextString();
187
+ }
188
+ decodeDetails(serialized) {
189
+ const decoder = new SCALEDecoder_1.SCALEDecoder(this.configuration, undefined, serialized);
190
+ const encodedTxs = decoder
191
+ .decodeNextArray((_configuration, _runtimeVersion, hex) => SCALEBytes_1.SCALEBytes.decode(hex))
192
+ .decoded.elements.map((bytesEncoded) => bytesEncoded.bytes.toString('hex'));
193
+ return encodedTxs.map((encodedTx) => {
194
+ const runtimeVersionOptional = SCALEOptional_1.SCALEOptional.decode(this.configuration, undefined, encodedTx, (_configuration, _runtimeVersion, hex) => SCALEInt_1.SCALEInt.decode(hex, 32));
195
+ const _encodedTx = encodedTx.slice(runtimeVersionOptional.bytesDecoded * 2);
196
+ const runtimeVersion = runtimeVersionOptional.decoded.value?.toNumber();
197
+ const txDecoder = new SCALEDecoder_1.SCALEDecoder(this.configuration, runtimeVersion, _encodedTx);
198
+ const type = this.decodeTransactionType(txDecoder);
199
+ const fee = txDecoder.decodeNextCompactInt();
200
+ const transaction = txDecoder.decodeNextObject((configuration, runtimeVersion, hex) => SubstrateTransaction_1.SubstrateTransaction.decode(configuration, runtimeVersion, type.decoded, hex));
201
+ const payload = txDecoder.decodeNextString();
317
202
  return {
318
- runtimeVersion: runtimeVersion,
203
+ runtimeVersion,
319
204
  fee: fee.decoded.value,
320
205
  transaction: transaction.decoded,
321
206
  payload: payload.decoded.value
322
207
  };
323
208
  });
324
- };
325
- SubstrateCommonTransactionController.prototype.decodeTransactionType = function (decoder) {
326
- var _a;
327
- var enumValue = decoder.decodeNextEnum(function (value) { return value; });
209
+ }
210
+ decodeTransactionType(decoder) {
211
+ const enumValue = decoder.decodeNextEnum((value) => value);
328
212
  if (enumValue.decoded.value === 255) {
329
- var type_1 = decoder.decodeNextString();
213
+ const type = decoder.decodeNextString();
330
214
  return {
331
- bytesDecoded: enumValue.bytesDecoded + type_1.bytesDecoded,
332
- decoded: type_1.decoded.value
215
+ bytesDecoded: enumValue.bytesDecoded + type.bytesDecoded,
216
+ decoded: type.decoded.value
333
217
  };
334
218
  }
335
- var type = (_a = Object.entries(transactionTypeIndices(this.configuration)).find(function (_a) {
336
- var _ = _a[0], index = _a[1];
337
- return index === enumValue.decoded.value;
338
- })) === null || _a === void 0 ? void 0 : _a[0];
219
+ const type = Object.entries(transactionTypeIndices(this.configuration)).find(([_, index]) => index === enumValue.decoded.value)?.[0];
339
220
  if (type === undefined) {
340
221
  throw new errors_1.UnsupportedError(coinlib_core_1.Domain.SUBSTRATE, 'Unknown substrate transaction type');
341
222
  }
@@ -343,82 +224,39 @@ var SubstrateCommonTransactionController = /** @class */ (function () {
343
224
  bytesDecoded: enumValue.bytesDecoded,
344
225
  decoded: type
345
226
  };
346
- };
347
- SubstrateCommonTransactionController.prototype.calculateTransactionFee = function (transaction) {
348
- return __awaiter(this, void 0, void 0, function () {
349
- var runtimeVersion, encoded, partialEstimate;
350
- return __generator(this, function (_a) {
351
- switch (_a.label) {
352
- case 0: return [4 /*yield*/, this.nodeClient.getRuntimeVersion()];
353
- case 1:
354
- runtimeVersion = _a.sent();
355
- encoded = transaction.encode({ configuration: this.configuration, runtimeVersion: runtimeVersion === null || runtimeVersion === void 0 ? void 0 : runtimeVersion.specVersion });
356
- return [4 /*yield*/, this.nodeClient.getTransferFeeEstimate(encoded)];
357
- case 2:
358
- partialEstimate = _a.sent();
359
- if (partialEstimate) {
360
- this.nodeClient.saveLastFee(transaction.type, partialEstimate);
361
- }
362
- return [2 /*return*/, partialEstimate === null || partialEstimate === void 0 ? void 0 : partialEstimate.plus(transaction.tip.value)];
363
- }
364
- });
365
- });
366
- };
367
- SubstrateCommonTransactionController.prototype.estimateTransactionFees = function (accountId, transationTypes) {
368
- return __awaiter(this, void 0, void 0, function () {
369
- var fees, safetyFactor;
370
- var _this = this;
371
- return __generator(this, function (_a) {
372
- switch (_a.label) {
373
- case 0: return [4 /*yield*/, Promise.all(transationTypes
374
- .map(function (_a) {
375
- var type = _a[0], args = _a[1];
376
- return [type, args, _this.nodeClient.getSavedLastFee(type, 'largest')];
377
- })
378
- .map(function (_a) {
379
- var type = _a[0], args = _a[1], fee = _a[2];
380
- return __awaiter(_this, void 0, void 0, function () { var _b, _c; return __generator(this, function (_d) {
381
- switch (_d.label) {
382
- case 0:
383
- if (!fee) return [3 /*break*/, 1];
384
- _b = fee;
385
- return [3 /*break*/, 3];
386
- case 1:
387
- _c = this.calculateTransactionFee;
388
- return [4 /*yield*/, this.createTransaction(type, this.substrateAddressFrom(accountId), 0, args)];
389
- case 2:
390
- _b = _c.apply(this, [_d.sent()]);
391
- _d.label = 3;
392
- case 3: return [2 /*return*/, _b];
393
- }
394
- }); });
395
- }))];
396
- case 1:
397
- fees = _a.sent();
398
- if (fees.some(function (fee) { return fee === undefined; })) {
399
- return [2 /*return*/, Promise.reject('Could not estimate transaction fees.')];
400
- }
401
- safetyFactor = 1.2;
402
- return [2 /*return*/, fees.reduce(function (sum, next) { return sum.plus(next); }, new bignumber_1.default(0)).multipliedBy(safetyFactor)];
403
- }
404
- });
405
- });
406
- };
407
- SubstrateCommonTransactionController.prototype.substrateAddressFrom = function (accountId) {
227
+ }
228
+ async calculateTransactionFee(transaction) {
229
+ const runtimeVersion = await this.nodeClient.getRuntimeVersion();
230
+ const encoded = transaction.encode({ configuration: this.configuration, runtimeVersion: runtimeVersion?.specVersion });
231
+ const partialEstimate = await this.nodeClient.getTransferFeeEstimate(encoded);
232
+ if (partialEstimate) {
233
+ this.nodeClient.saveLastFee(transaction.type, partialEstimate);
234
+ }
235
+ return partialEstimate?.plus(transaction.tip.value);
236
+ }
237
+ async estimateTransactionFees(accountId, transationTypes) {
238
+ const fees = await Promise.all(transationTypes
239
+ .map(([type, args]) => [type, args, this.nodeClient.getSavedLastFee(type, 'largest')])
240
+ .map(async ([type, args, fee]) => fee ? fee : this.calculateTransactionFee(await this.createTransaction(type, this.substrateAddressFrom(accountId), 0, args))));
241
+ if (fees.some((fee) => fee === undefined)) {
242
+ return Promise.reject('Could not estimate transaction fees.');
243
+ }
244
+ const safetyFactor = 1.2;
245
+ return fees.reduce((sum, next) => sum.plus(next), new bignumber_1.default(0)).multipliedBy(safetyFactor);
246
+ }
247
+ substrateAddressFrom(accountId) {
408
248
  return (0, SubstrateAddressFactory_1.substrateAddressFactory)(this.configuration).from(accountId);
409
- };
410
- return SubstrateCommonTransactionController;
411
- }());
249
+ }
250
+ }
412
251
  exports.SubstrateCommonTransactionController = SubstrateCommonTransactionController;
413
252
  function transactionTypeAsEnum(configuration, type) {
414
253
  return transactionTypeIndices(configuration)[type];
415
254
  }
416
255
  function transactionTypeIndices(configuration) {
417
- var configuredIndices = Object.entries(configuration.transaction.types).reduce(function (obj, _a) {
418
- var _b;
419
- var type = _a[0], metadata = _a[1];
420
- return Object.assign(obj, (_b = {}, _b[type] = metadata.index, _b));
421
- }, {});
422
- return __assign(__assign({}, configuredIndices), { transfer: 0 });
256
+ const configuredIndices = Object.entries(configuration.transaction.types).reduce((obj, [type, metadata]) => Object.assign(obj, { [type]: metadata.index }), {});
257
+ return {
258
+ ...configuredIndices,
259
+ transfer: 0
260
+ };
423
261
  }
424
262
  //# sourceMappingURL=SubstrateCommonTransactionController.js.map