@airgap/substrate 0.13.7-beta.11

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 (313) hide show
  1. package/LICENSE.md +7 -0
  2. package/airgap-coinlib-substrate.min.js +70760 -0
  3. package/index.d.ts +18 -0
  4. package/index.js +31 -0
  5. package/index.js.map +1 -0
  6. package/package.json +65 -0
  7. package/protocol/SubstrateCryptoClient.d.ts +9 -0
  8. package/protocol/SubstrateCryptoClient.js +98 -0
  9. package/protocol/SubstrateCryptoClient.js.map +1 -0
  10. package/protocol/SubstrateDelegateProtocol.d.ts +31 -0
  11. package/protocol/SubstrateDelegateProtocol.js +562 -0
  12. package/protocol/SubstrateDelegateProtocol.js.map +1 -0
  13. package/protocol/SubstrateNetwork.d.ts +6 -0
  14. package/protocol/SubstrateNetwork.js +11 -0
  15. package/protocol/SubstrateNetwork.js.map +1 -0
  16. package/protocol/SubstrateProtocol.d.ts +88 -0
  17. package/protocol/SubstrateProtocol.js +682 -0
  18. package/protocol/SubstrateProtocol.js.map +1 -0
  19. package/protocol/SubstrateProtocolOptions.d.ts +34 -0
  20. package/protocol/SubstrateProtocolOptions.js +114 -0
  21. package/protocol/SubstrateProtocolOptions.js.map +1 -0
  22. package/protocol/SubstrateTypes.d.ts +14 -0
  23. package/protocol/SubstrateTypes.js +3 -0
  24. package/protocol/SubstrateTypes.js.map +1 -0
  25. package/protocol/astar/AstarAddress.d.ts +6 -0
  26. package/protocol/astar/AstarAddress.js +32 -0
  27. package/protocol/astar/AstarAddress.js.map +1 -0
  28. package/protocol/common/SubstrateAccountController.d.ts +38 -0
  29. package/protocol/common/SubstrateAccountController.js +717 -0
  30. package/protocol/common/SubstrateAccountController.js.map +1 -0
  31. package/protocol/common/SubstrateTransactionController.d.ts +40 -0
  32. package/protocol/common/SubstrateTransactionController.js +382 -0
  33. package/protocol/common/SubstrateTransactionController.js.map +1 -0
  34. package/protocol/common/blockexplorer/SubstrateBlockExplorerClient.d.ts +9 -0
  35. package/protocol/common/blockexplorer/SubstrateBlockExplorerClient.js +111 -0
  36. package/protocol/common/blockexplorer/SubstrateBlockExplorerClient.js.map +1 -0
  37. package/protocol/common/data/account/SubstrateAccountInfo.d.ts +21 -0
  38. package/protocol/common/data/account/SubstrateAccountInfo.js +45 -0
  39. package/protocol/common/data/account/SubstrateAccountInfo.js.map +1 -0
  40. package/protocol/common/data/account/SubstrateAddress.d.ts +21 -0
  41. package/protocol/common/data/account/SubstrateAddress.js +93 -0
  42. package/protocol/common/data/account/SubstrateAddress.js.map +1 -0
  43. package/protocol/common/data/account/SubstrateRegistration.d.ts +35 -0
  44. package/protocol/common/data/account/SubstrateRegistration.js +88 -0
  45. package/protocol/common/data/account/SubstrateRegistration.js.map +1 -0
  46. package/protocol/common/data/metadata/Metadata.d.ts +10 -0
  47. package/protocol/common/data/metadata/Metadata.js +51 -0
  48. package/protocol/common/data/metadata/Metadata.js.map +1 -0
  49. package/protocol/common/data/metadata/MetadataVersioned.d.ts +6 -0
  50. package/protocol/common/data/metadata/MetadataVersioned.js +10 -0
  51. package/protocol/common/data/metadata/MetadataVersioned.js.map +1 -0
  52. package/protocol/common/data/metadata/decorator/MetadataDecorator.d.ts +13 -0
  53. package/protocol/common/data/metadata/decorator/MetadataDecorator.js +29 -0
  54. package/protocol/common/data/metadata/decorator/MetadataDecorator.js.map +1 -0
  55. package/protocol/common/data/metadata/decorator/call/SubstrateCall.d.ts +6 -0
  56. package/protocol/common/data/metadata/decorator/call/SubstrateCall.js +3 -0
  57. package/protocol/common/data/metadata/decorator/call/SubstrateCall.js.map +1 -0
  58. package/protocol/common/data/metadata/decorator/constant/SubstrateConstant.d.ts +7 -0
  59. package/protocol/common/data/metadata/decorator/constant/SubstrateConstant.js +3 -0
  60. package/protocol/common/data/metadata/decorator/constant/SubstrateConstant.js.map +1 -0
  61. package/protocol/common/data/metadata/decorator/storage/SubstrateStorageEntry.d.ts +43 -0
  62. package/protocol/common/data/metadata/decorator/storage/SubstrateStorageEntry.js +265 -0
  63. package/protocol/common/data/metadata/decorator/storage/SubstrateStorageEntry.js.map +1 -0
  64. package/protocol/common/data/metadata/v11/MetadataV11.d.ts +19 -0
  65. package/protocol/common/data/metadata/v11/MetadataV11.js +99 -0
  66. package/protocol/common/data/metadata/v11/MetadataV11.js.map +1 -0
  67. package/protocol/common/data/metadata/v11/module/MetadataV11Call.d.ts +21 -0
  68. package/protocol/common/data/metadata/v11/module/MetadataV11Call.js +63 -0
  69. package/protocol/common/data/metadata/v11/module/MetadataV11Call.js.map +1 -0
  70. package/protocol/common/data/metadata/v11/module/MetadataV11Constant.d.ts +15 -0
  71. package/protocol/common/data/metadata/v11/module/MetadataV11Constant.js +45 -0
  72. package/protocol/common/data/metadata/v11/module/MetadataV11Constant.js.map +1 -0
  73. package/protocol/common/data/metadata/v11/module/MetadataV11Error.d.ts +12 -0
  74. package/protocol/common/data/metadata/v11/module/MetadataV11Error.js +41 -0
  75. package/protocol/common/data/metadata/v11/module/MetadataV11Error.js.map +1 -0
  76. package/protocol/common/data/metadata/v11/module/MetadataV11Event.d.ts +13 -0
  77. package/protocol/common/data/metadata/v11/module/MetadataV11Event.js +43 -0
  78. package/protocol/common/data/metadata/v11/module/MetadataV11Event.js.map +1 -0
  79. package/protocol/common/data/metadata/v11/module/MetadataV11Module.d.ts +23 -0
  80. package/protocol/common/data/metadata/v11/module/MetadataV11Module.js +58 -0
  81. package/protocol/common/data/metadata/v11/module/MetadataV11Module.js.map +1 -0
  82. package/protocol/common/data/metadata/v11/module/storage/MetadataV11Storage.d.ts +13 -0
  83. package/protocol/common/data/metadata/v11/module/storage/MetadataV11Storage.js +42 -0
  84. package/protocol/common/data/metadata/v11/module/storage/MetadataV11Storage.js.map +1 -0
  85. package/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntry.d.ts +23 -0
  86. package/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntry.js +53 -0
  87. package/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntry.js.map +1 -0
  88. package/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntryType.d.ts +52 -0
  89. package/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntryType.js +157 -0
  90. package/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntryType.js.map +1 -0
  91. package/protocol/common/data/metadata/v12/MetadataV12.d.ts +18 -0
  92. package/protocol/common/data/metadata/v12/MetadataV12.js +95 -0
  93. package/protocol/common/data/metadata/v12/MetadataV12.js.map +1 -0
  94. package/protocol/common/data/metadata/v12/module/MetadataV12Module.d.ts +19 -0
  95. package/protocol/common/data/metadata/v12/module/MetadataV12Module.js +39 -0
  96. package/protocol/common/data/metadata/v12/module/MetadataV12Module.js.map +1 -0
  97. package/protocol/common/data/metadata/v13/MetadataV13.d.ts +18 -0
  98. package/protocol/common/data/metadata/v13/MetadataV13.js +95 -0
  99. package/protocol/common/data/metadata/v13/MetadataV13.js.map +1 -0
  100. package/protocol/common/data/metadata/v13/module/MetadataV13Module.d.ts +25 -0
  101. package/protocol/common/data/metadata/v13/module/MetadataV13Module.js +66 -0
  102. package/protocol/common/data/metadata/v13/module/MetadataV13Module.js.map +1 -0
  103. package/protocol/common/data/metadata/v13/module/storage/MetadataV13Storage.d.ts +13 -0
  104. package/protocol/common/data/metadata/v13/module/storage/MetadataV13Storage.js +42 -0
  105. package/protocol/common/data/metadata/v13/module/storage/MetadataV13Storage.js.map +1 -0
  106. package/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntry.d.ts +23 -0
  107. package/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntry.js +53 -0
  108. package/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntry.js.map +1 -0
  109. package/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntryType.d.ts +64 -0
  110. package/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntryType.js +182 -0
  111. package/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntryType.js.map +1 -0
  112. package/protocol/common/data/metadata/v14/MetadataV14.d.ts +23 -0
  113. package/protocol/common/data/metadata/v14/MetadataV14.js +113 -0
  114. package/protocol/common/data/metadata/v14/MetadataV14.js.map +1 -0
  115. package/protocol/common/data/metadata/v14/MetadataV14Component.d.ts +8 -0
  116. package/protocol/common/data/metadata/v14/MetadataV14Component.js +29 -0
  117. package/protocol/common/data/metadata/v14/MetadataV14Component.js.map +1 -0
  118. package/protocol/common/data/metadata/v14/extrinsic/MetadataV14Extrinsic.d.ts +14 -0
  119. package/protocol/common/data/metadata/v14/extrinsic/MetadataV14Extrinsic.js +42 -0
  120. package/protocol/common/data/metadata/v14/extrinsic/MetadataV14Extrinsic.js.map +1 -0
  121. package/protocol/common/data/metadata/v14/extrinsic/MetadataV14SignedExtension.d.ts +13 -0
  122. package/protocol/common/data/metadata/v14/extrinsic/MetadataV14SignedExtension.js +41 -0
  123. package/protocol/common/data/metadata/v14/extrinsic/MetadataV14SignedExtension.js.map +1 -0
  124. package/protocol/common/data/metadata/v14/pallet/MetadataV14Call.d.ts +6 -0
  125. package/protocol/common/data/metadata/v14/pallet/MetadataV14Call.js +35 -0
  126. package/protocol/common/data/metadata/v14/pallet/MetadataV14Call.js.map +1 -0
  127. package/protocol/common/data/metadata/v14/pallet/MetadataV14Constant.d.ts +15 -0
  128. package/protocol/common/data/metadata/v14/pallet/MetadataV14Constant.js +44 -0
  129. package/protocol/common/data/metadata/v14/pallet/MetadataV14Constant.js.map +1 -0
  130. package/protocol/common/data/metadata/v14/pallet/MetadataV14Error.d.ts +6 -0
  131. package/protocol/common/data/metadata/v14/pallet/MetadataV14Error.js +35 -0
  132. package/protocol/common/data/metadata/v14/pallet/MetadataV14Error.js.map +1 -0
  133. package/protocol/common/data/metadata/v14/pallet/MetadataV14Event.d.ts +6 -0
  134. package/protocol/common/data/metadata/v14/pallet/MetadataV14Event.js +35 -0
  135. package/protocol/common/data/metadata/v14/pallet/MetadataV14Event.js.map +1 -0
  136. package/protocol/common/data/metadata/v14/pallet/MetadataV14Pallet.d.ts +25 -0
  137. package/protocol/common/data/metadata/v14/pallet/MetadataV14Pallet.js +61 -0
  138. package/protocol/common/data/metadata/v14/pallet/MetadataV14Pallet.js.map +1 -0
  139. package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14Storage.d.ts +13 -0
  140. package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14Storage.js +41 -0
  141. package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14Storage.js.map +1 -0
  142. package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntry.d.ts +23 -0
  143. package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntry.js +53 -0
  144. package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntry.js.map +1 -0
  145. package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntryType.d.ts +38 -0
  146. package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntryType.js +122 -0
  147. package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntryType.js.map +1 -0
  148. package/protocol/common/data/metadata/v14/registry/MetadataV14PortableRegistry.d.ts +15 -0
  149. package/protocol/common/data/metadata/v14/registry/MetadataV14PortableRegistry.js +52 -0
  150. package/protocol/common/data/metadata/v14/registry/MetadataV14PortableRegistry.js.map +1 -0
  151. package/protocol/common/data/metadata/v14/registry/MetadataV14PortableType.d.ts +13 -0
  152. package/protocol/common/data/metadata/v14/registry/MetadataV14PortableType.js +42 -0
  153. package/protocol/common/data/metadata/v14/registry/MetadataV14PortableType.js.map +1 -0
  154. package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiField.d.ts +17 -0
  155. package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiField.js +45 -0
  156. package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiField.js.map +1 -0
  157. package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiType.d.ts +17 -0
  158. package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiType.js +47 -0
  159. package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiType.js.map +1 -0
  160. package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiTypeParameter.d.ts +14 -0
  161. package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiTypeParameter.js +41 -0
  162. package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiTypeParameter.js.map +1 -0
  163. package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiVariant.d.ts +17 -0
  164. package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiVariant.js +46 -0
  165. package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiVariant.js.map +1 -0
  166. package/protocol/common/data/metadata/v14/registry/si/MetadataV14TypeDef.d.ts +81 -0
  167. package/protocol/common/data/metadata/v14/registry/si/MetadataV14TypeDef.js +255 -0
  168. package/protocol/common/data/metadata/v14/registry/si/MetadataV14TypeDef.js.map +1 -0
  169. package/protocol/common/data/scale/SCALEDecoder.d.ts +49 -0
  170. package/protocol/common/data/scale/SCALEDecoder.js +92 -0
  171. package/protocol/common/data/scale/SCALEDecoder.js.map +1 -0
  172. package/protocol/common/data/scale/type/SCALEAccountId.d.ts +16 -0
  173. package/protocol/common/data/scale/type/SCALEAccountId.js +64 -0
  174. package/protocol/common/data/scale/type/SCALEAccountId.js.map +1 -0
  175. package/protocol/common/data/scale/type/SCALEArray.d.ts +11 -0
  176. package/protocol/common/data/scale/type/SCALEArray.js +63 -0
  177. package/protocol/common/data/scale/type/SCALEArray.js.map +1 -0
  178. package/protocol/common/data/scale/type/SCALEBoolean.d.ts +10 -0
  179. package/protocol/common/data/scale/type/SCALEBoolean.js +46 -0
  180. package/protocol/common/data/scale/type/SCALEBoolean.js.map +1 -0
  181. package/protocol/common/data/scale/type/SCALEBytes.d.ts +11 -0
  182. package/protocol/common/data/scale/type/SCALEBytes.js +61 -0
  183. package/protocol/common/data/scale/type/SCALEBytes.js.map +1 -0
  184. package/protocol/common/data/scale/type/SCALEClass.d.ts +6 -0
  185. package/protocol/common/data/scale/type/SCALEClass.js +32 -0
  186. package/protocol/common/data/scale/type/SCALEClass.js.map +1 -0
  187. package/protocol/common/data/scale/type/SCALECompactInt.d.ts +26 -0
  188. package/protocol/common/data/scale/type/SCALECompactInt.js +129 -0
  189. package/protocol/common/data/scale/type/SCALECompactInt.js.map +1 -0
  190. package/protocol/common/data/scale/type/SCALEData.d.ts +20 -0
  191. package/protocol/common/data/scale/type/SCALEData.js +110 -0
  192. package/protocol/common/data/scale/type/SCALEData.js.map +1 -0
  193. package/protocol/common/data/scale/type/SCALEEnum.d.ts +10 -0
  194. package/protocol/common/data/scale/type/SCALEEnum.js +55 -0
  195. package/protocol/common/data/scale/type/SCALEEnum.js.map +1 -0
  196. package/protocol/common/data/scale/type/SCALEEra.d.ts +21 -0
  197. package/protocol/common/data/scale/type/SCALEEra.js +100 -0
  198. package/protocol/common/data/scale/type/SCALEEra.js.map +1 -0
  199. package/protocol/common/data/scale/type/SCALEHash.d.ts +13 -0
  200. package/protocol/common/data/scale/type/SCALEHash.js +74 -0
  201. package/protocol/common/data/scale/type/SCALEHash.js.map +1 -0
  202. package/protocol/common/data/scale/type/SCALEInt.d.ts +27 -0
  203. package/protocol/common/data/scale/type/SCALEInt.js +96 -0
  204. package/protocol/common/data/scale/type/SCALEInt.js.map +1 -0
  205. package/protocol/common/data/scale/type/SCALEMultiAddress.d.ts +32 -0
  206. package/protocol/common/data/scale/type/SCALEMultiAddress.js +139 -0
  207. package/protocol/common/data/scale/type/SCALEMultiAddress.js.map +1 -0
  208. package/protocol/common/data/scale/type/SCALEOptional.d.ts +17 -0
  209. package/protocol/common/data/scale/type/SCALEOptional.js +70 -0
  210. package/protocol/common/data/scale/type/SCALEOptional.js.map +1 -0
  211. package/protocol/common/data/scale/type/SCALEString.d.ts +13 -0
  212. package/protocol/common/data/scale/type/SCALEString.js +59 -0
  213. package/protocol/common/data/scale/type/SCALEString.js.map +1 -0
  214. package/protocol/common/data/scale/type/SCALETuple.d.ts +13 -0
  215. package/protocol/common/data/scale/type/SCALETuple.js +53 -0
  216. package/protocol/common/data/scale/type/SCALETuple.js.map +1 -0
  217. package/protocol/common/data/scale/type/SCALEType.d.ts +11 -0
  218. package/protocol/common/data/scale/type/SCALEType.js +15 -0
  219. package/protocol/common/data/scale/type/SCALEType.js.map +1 -0
  220. package/protocol/common/data/staking/SubstrateActiveEraInfo.d.ts +9 -0
  221. package/protocol/common/data/staking/SubstrateActiveEraInfo.js +20 -0
  222. package/protocol/common/data/staking/SubstrateActiveEraInfo.js.map +1 -0
  223. package/protocol/common/data/staking/SubstrateEraElectionStatus.d.ts +13 -0
  224. package/protocol/common/data/staking/SubstrateEraElectionStatus.js +27 -0
  225. package/protocol/common/data/staking/SubstrateEraElectionStatus.js.map +1 -0
  226. package/protocol/common/data/staking/SubstrateEraRewardPoints.d.ts +11 -0
  227. package/protocol/common/data/staking/SubstrateEraRewardPoints.js +24 -0
  228. package/protocol/common/data/staking/SubstrateEraRewardPoints.js.map +1 -0
  229. package/protocol/common/data/staking/SubstrateExposure.d.ts +12 -0
  230. package/protocol/common/data/staking/SubstrateExposure.js +26 -0
  231. package/protocol/common/data/staking/SubstrateExposure.js.map +1 -0
  232. package/protocol/common/data/staking/SubstrateNominationStatus.d.ts +5 -0
  233. package/protocol/common/data/staking/SubstrateNominationStatus.js +10 -0
  234. package/protocol/common/data/staking/SubstrateNominationStatus.js.map +1 -0
  235. package/protocol/common/data/staking/SubstrateNominations.d.ts +12 -0
  236. package/protocol/common/data/staking/SubstrateNominations.js +22 -0
  237. package/protocol/common/data/staking/SubstrateNominations.js.map +1 -0
  238. package/protocol/common/data/staking/SubstrateNominatorDetails.d.ts +24 -0
  239. package/protocol/common/data/staking/SubstrateNominatorDetails.js +3 -0
  240. package/protocol/common/data/staking/SubstrateNominatorDetails.js.map +1 -0
  241. package/protocol/common/data/staking/SubstratePayee.d.ts +5 -0
  242. package/protocol/common/data/staking/SubstratePayee.js +10 -0
  243. package/protocol/common/data/staking/SubstratePayee.js.map +1 -0
  244. package/protocol/common/data/staking/SubstrateSlashingSpans.d.ts +11 -0
  245. package/protocol/common/data/staking/SubstrateSlashingSpans.js +24 -0
  246. package/protocol/common/data/staking/SubstrateSlashingSpans.js.map +1 -0
  247. package/protocol/common/data/staking/SubstrateStakingActionType.d.ts +14 -0
  248. package/protocol/common/data/staking/SubstrateStakingActionType.js +19 -0
  249. package/protocol/common/data/staking/SubstrateStakingActionType.js.map +1 -0
  250. package/protocol/common/data/staking/SubstrateStakingLedger.d.ts +15 -0
  251. package/protocol/common/data/staking/SubstrateStakingLedger.js +30 -0
  252. package/protocol/common/data/staking/SubstrateStakingLedger.js.map +1 -0
  253. package/protocol/common/data/staking/SubstrateValidatorDetails.d.ts +16 -0
  254. package/protocol/common/data/staking/SubstrateValidatorDetails.js +3 -0
  255. package/protocol/common/data/staking/SubstrateValidatorDetails.js.map +1 -0
  256. package/protocol/common/data/staking/SubstrateValidatorPrefs.d.ts +7 -0
  257. package/protocol/common/data/staking/SubstrateValidatorPrefs.js +17 -0
  258. package/protocol/common/data/staking/SubstrateValidatorPrefs.js.map +1 -0
  259. package/protocol/common/data/state/SubstrateRuntimeVersion.d.ts +9 -0
  260. package/protocol/common/data/state/SubstrateRuntimeVersion.js +3 -0
  261. package/protocol/common/data/state/SubstrateRuntimeVersion.js.map +1 -0
  262. package/protocol/common/data/transaction/SubstrateSignature.d.ts +22 -0
  263. package/protocol/common/data/transaction/SubstrateSignature.js +71 -0
  264. package/protocol/common/data/transaction/SubstrateSignature.js.map +1 -0
  265. package/protocol/common/data/transaction/SubstrateTransaction.d.ts +72 -0
  266. package/protocol/common/data/transaction/SubstrateTransaction.js +129 -0
  267. package/protocol/common/data/transaction/SubstrateTransaction.js.map +1 -0
  268. package/protocol/common/data/transaction/SubstrateTransactionPayload.d.ts +33 -0
  269. package/protocol/common/data/transaction/SubstrateTransactionPayload.js +91 -0
  270. package/protocol/common/data/transaction/SubstrateTransactionPayload.js.map +1 -0
  271. package/protocol/common/data/transaction/method/SubstrateTransactionMethod.d.ts +18 -0
  272. package/protocol/common/data/transaction/method/SubstrateTransactionMethod.js +82 -0
  273. package/protocol/common/data/transaction/method/SubstrateTransactionMethod.js.map +1 -0
  274. package/protocol/common/data/transaction/method/SubstrateTransactionMethodArgs.d.ts +18 -0
  275. package/protocol/common/data/transaction/method/SubstrateTransactionMethodArgs.js +963 -0
  276. package/protocol/common/data/transaction/method/SubstrateTransactionMethodArgs.js.map +1 -0
  277. package/protocol/common/node/SubstrateNodeClient.d.ts +81 -0
  278. package/protocol/common/node/SubstrateNodeClient.js +560 -0
  279. package/protocol/common/node/SubstrateNodeClient.js.map +1 -0
  280. package/protocol/common/node/supported.d.ts +44 -0
  281. package/protocol/common/node/supported.js +119 -0
  282. package/protocol/common/node/supported.js.map +1 -0
  283. package/protocol/compat/SubstrateCompatAddress.d.ts +40 -0
  284. package/protocol/compat/SubstrateCompatAddress.js +81 -0
  285. package/protocol/compat/SubstrateCompatAddress.js.map +1 -0
  286. package/protocol/compat/SubstrateCompatSignature.d.ts +16 -0
  287. package/protocol/compat/SubstrateCompatSignature.js +34 -0
  288. package/protocol/compat/SubstrateCompatSignature.js.map +1 -0
  289. package/protocol/kusama/KusamaAddress.d.ts +6 -0
  290. package/protocol/kusama/KusamaAddress.js +32 -0
  291. package/protocol/kusama/KusamaAddress.js.map +1 -0
  292. package/protocol/moonbeam/MoonbeamAddress.d.ts +14 -0
  293. package/protocol/moonbeam/MoonbeamAddress.js +75 -0
  294. package/protocol/moonbeam/MoonbeamAddress.js.map +1 -0
  295. package/protocol/moonbeam/MoonbeamSignature.d.ts +10 -0
  296. package/protocol/moonbeam/MoonbeamSignature.js +44 -0
  297. package/protocol/moonbeam/MoonbeamSignature.js.map +1 -0
  298. package/protocol/polkadot/PolkadotAddress.d.ts +6 -0
  299. package/protocol/polkadot/PolkadotAddress.js +32 -0
  300. package/protocol/polkadot/PolkadotAddress.js.map +1 -0
  301. package/readme.md +121 -0
  302. package/types/signed-transaction-substrate.d.ts +3 -0
  303. package/types/signed-transaction-substrate.js +3 -0
  304. package/types/signed-transaction-substrate.js.map +1 -0
  305. package/types/transaction-substrate.d.ts +3 -0
  306. package/types/transaction-substrate.js +3 -0
  307. package/types/transaction-substrate.js.map +1 -0
  308. package/types/unsigned-transaction-substrate.d.ts +8 -0
  309. package/types/unsigned-transaction-substrate.js +3 -0
  310. package/types/unsigned-transaction-substrate.js.map +1 -0
  311. package/utils/sr25519.d.ts +2 -0
  312. package/utils/sr25519.js +99 -0
  313. package/utils/sr25519.js.map +1 -0
@@ -0,0 +1,129 @@
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
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __importDefault = (this && this.__importDefault) || function (mod) {
16
+ return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.SCALECompactInt = void 0;
20
+ var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
21
+ var hex_1 = require("@airgap/coinlib-core/utils/hex");
22
+ var padStart_1 = require("@airgap/coinlib-core/utils/padStart");
23
+ var SCALEType_1 = require("./SCALEType");
24
+ var SCALECompactInt = /** @class */ (function (_super) {
25
+ __extends(SCALECompactInt, _super);
26
+ function SCALECompactInt(value) {
27
+ var _this = _super.call(this) || this;
28
+ _this.value = value;
29
+ return _this;
30
+ }
31
+ SCALECompactInt.from = function (value) {
32
+ return new SCALECompactInt(bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value));
33
+ };
34
+ SCALECompactInt.decode = function (hex) {
35
+ var _hex = hex_1.stripHexPrefix(hex);
36
+ var firstByte = padStart_1.padStart(parseInt(_hex.substr(0, 2), 16).toString(2), 8, '0');
37
+ var mode = parseInt(firstByte.slice(-2), 2);
38
+ var bytes;
39
+ var metaBits;
40
+ if (mode === 3) {
41
+ bytes = parseInt(firstByte.slice(0, -2), 2) + 5; // + 4 bytes of original length + 1 byte of meta
42
+ metaBits = 8;
43
+ }
44
+ else {
45
+ bytes = 1 << mode;
46
+ metaBits = 2;
47
+ }
48
+ var encodedHex = _hex.substr(0, bytes * 2);
49
+ var encodedBin = padStart_1.padStart(new bignumber_1.default(hex_1.changeEndianness(encodedHex), 16).toString(2), metaBits + 1, '0');
50
+ return {
51
+ bytesDecoded: bytes,
52
+ decoded: SCALECompactInt.from(new bignumber_1.default(encodedBin.slice(0, -metaBits), 2))
53
+ };
54
+ };
55
+ SCALECompactInt.prototype.toString = function (base) {
56
+ if (base === void 0) { base = 10; }
57
+ return this.value.toString(base);
58
+ };
59
+ SCALECompactInt.prototype.toNumber = function () {
60
+ return this.value.toNumber();
61
+ };
62
+ SCALECompactInt.prototype.plus = function (other) {
63
+ return this.applyOperation(other, bignumber_1.default.prototype.plus);
64
+ };
65
+ SCALECompactInt.prototype.minus = function (other) {
66
+ return this.applyOperation(other, bignumber_1.default.prototype.minus);
67
+ };
68
+ SCALECompactInt.prototype.multiply = function (other) {
69
+ return this.applyOperation(other, bignumber_1.default.prototype.multipliedBy);
70
+ };
71
+ SCALECompactInt.prototype.divide = function (other) {
72
+ return this.applyOperation(other, bignumber_1.default.prototype.dividedBy);
73
+ };
74
+ SCALECompactInt.prototype.lt = function (other) {
75
+ return this.performOperation(other, bignumber_1.default.prototype.lt);
76
+ };
77
+ SCALECompactInt.prototype.lte = function (other) {
78
+ return this.performOperation(other, bignumber_1.default.prototype.lte);
79
+ };
80
+ SCALECompactInt.prototype.gt = function (other) {
81
+ return this.performOperation(other, bignumber_1.default.prototype.gt);
82
+ };
83
+ SCALECompactInt.prototype.gte = function (other) {
84
+ return this.performOperation(other, bignumber_1.default.prototype.gte);
85
+ };
86
+ SCALECompactInt.prototype.eq = function (other) {
87
+ return this.performOperation(other, bignumber_1.default.prototype.eq);
88
+ };
89
+ SCALECompactInt.prototype._encode = function (config) {
90
+ var bits = this.value.toString(2).length;
91
+ var mode;
92
+ if (bits <= 6) {
93
+ // 0b00: single-byte mode, upper six bits are the LE encoding of the value (valid only for values of 0-63)
94
+ mode = 0;
95
+ }
96
+ else if (bits <= 14) {
97
+ // 0b01: two-byte mode: upper six bits and the following byte is the LE encoding of the value (valid only for values 64-(2**14-1))
98
+ mode = 1;
99
+ }
100
+ else if (bits <= 30) {
101
+ // 0b10: four-byte mode: upper six bits and the following three bytes are the LE encoding of the value (valid only for values (2**14)-(2**30-1))
102
+ mode = 2;
103
+ }
104
+ else {
105
+ // 0b11: Big-integer mode: The upper six bits are the number of bytes following, less four. The value is contained, LE encoded, in the bytes following. The final (most significant) byte must be non-zero. Valid only for values (2**30)-(2**536-1)
106
+ mode = 3;
107
+ }
108
+ var bytes = mode === 3 ? Math.ceil(bits / 8) : Math.pow(2, mode);
109
+ var value = mode === 3
110
+ ? this.value.multipliedBy(64).plus(bytes - 4) // value << 6 + number of bytes less 4
111
+ : this.value;
112
+ var encodedValue = value.multipliedBy(4).plus(mode); // value << 2 + mode
113
+ return hex_1.changeEndianness(hex_1.toHexStringRaw(encodedValue, bytes * 8));
114
+ };
115
+ SCALECompactInt.prototype.applyOperation = function (other, operation) {
116
+ return new SCALECompactInt(this.performOperation(other, operation));
117
+ };
118
+ SCALECompactInt.prototype.performOperation = function (other, operation) {
119
+ if (typeof other === 'number' || bignumber_1.default.isBigNumber(other)) {
120
+ return operation.apply(this.value, [other]);
121
+ }
122
+ else {
123
+ return this.performOperation(other.value, operation);
124
+ }
125
+ };
126
+ return SCALECompactInt;
127
+ }(SCALEType_1.SCALEType));
128
+ exports.SCALECompactInt = SCALECompactInt;
129
+ //# sourceMappingURL=SCALECompactInt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SCALECompactInt.js","sourceRoot":"","sources":["../../../../../../src/protocol/common/data/scale/type/SCALECompactInt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /// <reference types="node" />
2
+ import { SCALEDecodeResult } from '../SCALEDecoder';
3
+ import { SCALEEncodeConfig, SCALEType } from './SCALEType';
4
+ export declare enum SCALEDataType {
5
+ None = 0,
6
+ Raw = 1,
7
+ BlakeTwo256 = 2,
8
+ Sha256 = 3,
9
+ Keccak256 = 4,
10
+ ShaThree256 = 5
11
+ }
12
+ export declare class SCALEData extends SCALEType {
13
+ readonly type: SCALEDataType;
14
+ readonly bytes: Buffer | null;
15
+ static from(type: SCALEDataType, bytes?: string | Uint8Array | Buffer): SCALEData;
16
+ static decode(hex: string): SCALEDecodeResult<SCALEData>;
17
+ constructor(type: SCALEDataType, bytes: Buffer | null);
18
+ toString(): string;
19
+ protected _encode(config?: SCALEEncodeConfig): string;
20
+ }
@@ -0,0 +1,110 @@
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
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SCALEData = exports.SCALEDataType = void 0;
17
+ var errors_1 = require("@airgap/coinlib-core/errors");
18
+ var coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
19
+ var hex_1 = require("@airgap/coinlib-core/utils/hex");
20
+ var SCALEBytes_1 = require("./SCALEBytes");
21
+ var SCALEType_1 = require("./SCALEType");
22
+ var SCALEDataType;
23
+ (function (SCALEDataType) {
24
+ SCALEDataType[SCALEDataType["None"] = 0] = "None";
25
+ SCALEDataType[SCALEDataType["Raw"] = 1] = "Raw";
26
+ SCALEDataType[SCALEDataType["BlakeTwo256"] = 2] = "BlakeTwo256";
27
+ SCALEDataType[SCALEDataType["Sha256"] = 3] = "Sha256";
28
+ SCALEDataType[SCALEDataType["Keccak256"] = 4] = "Keccak256";
29
+ SCALEDataType[SCALEDataType["ShaThree256"] = 5] = "ShaThree256";
30
+ })(SCALEDataType = exports.SCALEDataType || (exports.SCALEDataType = {}));
31
+ var SCALEData = /** @class */ (function (_super) {
32
+ __extends(SCALEData, _super);
33
+ function SCALEData(type, bytes) {
34
+ var _this = _super.call(this) || this;
35
+ _this.type = type;
36
+ _this.bytes = bytes;
37
+ return _this;
38
+ }
39
+ SCALEData.from = function (type, bytes) {
40
+ var dataType = type;
41
+ var buffer;
42
+ if (typeof bytes === 'string' && hex_1.isHex(bytes)) {
43
+ buffer = Buffer.from(hex_1.stripHexPrefix(bytes), 'hex');
44
+ }
45
+ else if (bytes && !(typeof bytes === 'string')) {
46
+ buffer = Buffer.from(bytes);
47
+ }
48
+ else {
49
+ dataType = SCALEDataType.None;
50
+ buffer = null;
51
+ }
52
+ return new SCALEData(dataType, buffer);
53
+ };
54
+ SCALEData.decode = function (hex) {
55
+ var encoded = hex_1.hexToBytes(hex);
56
+ var indicator = encoded[0];
57
+ var bytesDecoded;
58
+ var type;
59
+ if (indicator === 0) {
60
+ bytesDecoded = 1;
61
+ type = SCALEDataType.None;
62
+ }
63
+ else if (indicator >= 1 && indicator <= 33) {
64
+ bytesDecoded = indicator;
65
+ type = SCALEDataType.Raw;
66
+ }
67
+ else if (indicator >= 34 && indicator <= 37) {
68
+ bytesDecoded = 32 + 1;
69
+ type = SCALEDataType[SCALEDataType[indicator - 32]];
70
+ }
71
+ else {
72
+ throw new errors_1.InvalidValueError(coinlib_error_1.Domain.SUBSTRATE, 'SCALEData#decode: Unknown data type');
73
+ }
74
+ var buffer = type !== SCALEDataType.None ? SCALEBytes_1.SCALEBytes.from(encoded.subarray(1, bytesDecoded)).bytes : null;
75
+ return {
76
+ bytesDecoded: bytesDecoded,
77
+ decoded: new SCALEData(type, buffer)
78
+ };
79
+ };
80
+ SCALEData.prototype.toString = function () {
81
+ if (this.type !== SCALEDataType.None && this.bytes === null) {
82
+ throw new errors_1.ConditionViolationError(coinlib_error_1.Domain.SUBSTRATE, "SCALEData#toString: type is " + SCALEDataType[this.type] + " but data is null.");
83
+ }
84
+ switch (this.type) {
85
+ case SCALEDataType.None:
86
+ return 'null';
87
+ case SCALEDataType.Raw:
88
+ var textDecoder = new TextDecoder();
89
+ return textDecoder.decode(this.bytes);
90
+ default:
91
+ return ''; // TODO: add support for other types
92
+ }
93
+ };
94
+ SCALEData.prototype._encode = function (config) {
95
+ if (this.type !== SCALEDataType.None && this.bytes === null) {
96
+ throw new errors_1.ConditionViolationError(coinlib_error_1.Domain.SUBSTRATE, "SCALEData#encode: type is " + SCALEDataType[this.type] + " but data is null.");
97
+ }
98
+ switch (this.type) {
99
+ case SCALEDataType.None:
100
+ return '0';
101
+ case SCALEDataType.Raw:
102
+ return SCALEBytes_1.SCALEBytes.from(this.bytes).encode(config);
103
+ default:
104
+ throw new errors_1.UnsupportedError(coinlib_error_1.Domain.SUBSTRATE, "SCALEData#encode: type " + SCALEDataType[this.type] + " is not supported.");
105
+ }
106
+ };
107
+ return SCALEData;
108
+ }(SCALEType_1.SCALEType));
109
+ exports.SCALEData = SCALEData;
110
+ //# sourceMappingURL=SCALEData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SCALEData.js","sourceRoot":"","sources":["../../../../../../src/protocol/common/data/scale/type/SCALEData.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { SCALEDecodeResult } from '../SCALEDecoder';
2
+ import { SCALEEncodeConfig, SCALEType } from './SCALEType';
3
+ export declare class SCALEEnum<T> extends SCALEType {
4
+ readonly value: T;
5
+ static from<T>(value: T): SCALEEnum<T>;
6
+ static decode<T>(hex: string, getEnumValue: (value: number) => T | null): SCALEDecodeResult<SCALEEnum<T>>;
7
+ private constructor();
8
+ toString(): string;
9
+ protected _encode(config?: SCALEEncodeConfig): string;
10
+ }
@@ -0,0 +1,55 @@
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
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SCALEEnum = void 0;
17
+ var errors_1 = require("@airgap/coinlib-core/errors");
18
+ var coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
19
+ var hex_1 = require("@airgap/coinlib-core/utils/hex");
20
+ var SCALEType_1 = require("./SCALEType");
21
+ var SCALEEnum = /** @class */ (function (_super) {
22
+ __extends(SCALEEnum, _super);
23
+ function SCALEEnum(value) {
24
+ var _this = _super.call(this) || this;
25
+ _this.value = value;
26
+ return _this;
27
+ }
28
+ SCALEEnum.from = function (value) {
29
+ if (!(typeof value === 'number')) {
30
+ throw new errors_1.InvalidValueError(coinlib_error_1.Domain.SUBSTRATE, 'SCALEEnum#from: Invalid enum value');
31
+ }
32
+ return new SCALEEnum(value);
33
+ };
34
+ SCALEEnum.decode = function (hex, getEnumValue) {
35
+ var _hex = hex_1.stripHexPrefix(hex);
36
+ var value = parseInt(_hex.substring(0, 2), 16);
37
+ var enumValue = getEnumValue(value);
38
+ if (enumValue === null) {
39
+ throw new errors_1.InvalidValueError(coinlib_error_1.Domain.SUBSTRATE, 'SCALEEnum#decode: Unknown enum value');
40
+ }
41
+ return {
42
+ bytesDecoded: 1,
43
+ decoded: SCALEEnum.from(enumValue)
44
+ };
45
+ };
46
+ SCALEEnum.prototype.toString = function () {
47
+ return this.value.toString();
48
+ };
49
+ SCALEEnum.prototype._encode = function (config) {
50
+ return hex_1.toHexStringRaw(this.value);
51
+ };
52
+ return SCALEEnum;
53
+ }(SCALEType_1.SCALEType));
54
+ exports.SCALEEnum = SCALEEnum;
55
+ //# sourceMappingURL=SCALEEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SCALEEnum.js","sourceRoot":"","sources":["../../../../../../src/protocol/common/data/scale/type/SCALEEnum.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAA+D;AAC/D,2EAAkE;AAClE,sDAA+E;AAG/E,yCAA0D;AAE1D;IAAkC,6BAAS;IAyBzC,mBAA6B,KAAQ;QAArC,YACE,iBAAO,SACR;QAF4B,WAAK,GAAL,KAAK,CAAG;;IAErC,CAAC;IA1Ba,cAAI,GAAlB,UAAsB,KAAQ;QAC5B,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE;YAChC,MAAM,IAAI,0BAAiB,CAAC,sBAAM,CAAC,SAAS,EAAE,oCAAoC,CAAC,CAAA;SACpF;QAED,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAEa,gBAAM,GAApB,UAAwB,GAAW,EAAE,YAAyC;QAC5E,IAAM,IAAI,GAAG,oBAAc,CAAC,GAAG,CAAC,CAAA;QAEhC,IAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAChD,IAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAErC,IAAI,SAAS,KAAK,IAAI,EAAE;YACtB,MAAM,IAAI,0BAAiB,CAAC,sBAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAA;SACtF;QAED,OAAO;YACL,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;SACnC,CAAA;IACH,CAAC;IAMM,4BAAQ,GAAf;QACE,OAAS,IAAI,CAAC,KAAwB,CAAC,QAAQ,EAAE,CAAA;IACnD,CAAC;IAES,2BAAO,GAAjB,UAAkB,MAA0B;QAC1C,OAAO,oBAAc,CAAE,IAAI,CAAC,KAAuB,CAAC,CAAA;IACtD,CAAC;IACH,gBAAC;AAAD,CAAC,AApCD,CAAkC,qBAAS,GAoC1C;AApCY,8BAAS"}
@@ -0,0 +1,21 @@
1
+ import BigNumber from '@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber';
2
+ import { SCALEDecodeResult } from '../SCALEDecoder';
3
+ import { SCALEEncodeConfig, SCALEType } from './SCALEType';
4
+ export interface EraConfig {
5
+ chainHeight: number | BigNumber;
6
+ period?: number | BigNumber;
7
+ }
8
+ export declare class SCALEEra extends SCALEType {
9
+ readonly period: number;
10
+ readonly phase: number;
11
+ static Immortal(): SCALEEra;
12
+ static Mortal(config: EraConfig): SCALEEra;
13
+ readonly isMortal: boolean;
14
+ static decode(hex: string): SCALEDecodeResult<SCALEEra>;
15
+ private static decodeImmortal;
16
+ private static decodeMortal;
17
+ private constructor();
18
+ toString(): string;
19
+ protected _encode(config?: SCALEEncodeConfig): string;
20
+ private getTrailingZeros;
21
+ }
@@ -0,0 +1,100 @@
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
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __importDefault = (this && this.__importDefault) || function (mod) {
16
+ return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.SCALEEra = void 0;
20
+ var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
21
+ var errors_1 = require("@airgap/coinlib-core/errors");
22
+ var coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
23
+ var hex_1 = require("@airgap/coinlib-core/utils/hex");
24
+ var SCALEType_1 = require("./SCALEType");
25
+ var IMMORTAL_ENCODED = '00';
26
+ var ERA_DEFAULT_PERIOD = 50; // 5 min at 6s block times
27
+ var SCALEEra = /** @class */ (function (_super) {
28
+ __extends(SCALEEra, _super);
29
+ function SCALEEra(period, phase) {
30
+ var _this = _super.call(this) || this;
31
+ _this.period = period;
32
+ _this.phase = phase;
33
+ return _this;
34
+ }
35
+ SCALEEra.Immortal = function () {
36
+ return new SCALEEra(0, 0);
37
+ };
38
+ SCALEEra.Mortal = function (config) {
39
+ var chainHeight = bignumber_1.default.isBigNumber(config.chainHeight) ? config.chainHeight.toNumber() : config.chainHeight;
40
+ var period = bignumber_1.default.isBigNumber(config.period) ? config.period.toNumber() : config.period;
41
+ period = Math.pow(2, Math.ceil(Math.log2(period || ERA_DEFAULT_PERIOD)));
42
+ period = Math.min(Math.max(period, 4), 1 << 16);
43
+ var phase = chainHeight % period;
44
+ var quantizeFactor = Math.max(period >> 12, 1);
45
+ var quantizePhase = (phase / quantizeFactor) * quantizeFactor;
46
+ return new SCALEEra(period, quantizePhase);
47
+ };
48
+ Object.defineProperty(SCALEEra.prototype, "isMortal", {
49
+ get: function () {
50
+ return this.period !== 0;
51
+ },
52
+ enumerable: false,
53
+ configurable: true
54
+ });
55
+ SCALEEra.decode = function (hex) {
56
+ var _hex = hex_1.stripHexPrefix(hex);
57
+ return _hex.substr(0, 2) === IMMORTAL_ENCODED ? SCALEEra.decodeImmortal() : SCALEEra.decodeMortal(_hex);
58
+ };
59
+ SCALEEra.decodeImmortal = function () {
60
+ return {
61
+ bytesDecoded: 1,
62
+ decoded: SCALEEra.Immortal()
63
+ };
64
+ };
65
+ SCALEEra.decodeMortal = function (hex) {
66
+ var encoded = parseInt(hex_1.changeEndianness(hex.substr(0, 4)), 16);
67
+ var period = 2 << encoded % (1 << 4);
68
+ var quantizeFactor = Math.max(period >> 12, 1);
69
+ var phase = (encoded >> 4) * quantizeFactor;
70
+ if (period < 4 || period < phase) {
71
+ throw new errors_1.InvalidValueError(coinlib_error_1.Domain.SUBSTRATE, 'SCALEEra#decodeMortal: Invalid mortal era');
72
+ }
73
+ return {
74
+ bytesDecoded: 2,
75
+ decoded: new SCALEEra(period, phase)
76
+ };
77
+ };
78
+ SCALEEra.prototype.toString = function () {
79
+ return JSON.stringify({
80
+ isMortal: this.isMortal,
81
+ period: this.period,
82
+ phase: this.phase
83
+ }, null, 2);
84
+ };
85
+ SCALEEra.prototype._encode = function (config) {
86
+ if (!this.isMortal) {
87
+ return IMMORTAL_ENCODED;
88
+ }
89
+ var quantizeFactor = Math.max(this.period >> 12, 1);
90
+ var trailingZeros = this.getTrailingZeros(this.period);
91
+ var encoded = Math.min(15, Math.max(1, trailingZeros - 1)) + ((this.phase / quantizeFactor) << 4);
92
+ return hex_1.changeEndianness(hex_1.toHexStringRaw(encoded, 16));
93
+ };
94
+ SCALEEra.prototype.getTrailingZeros = function (value) {
95
+ return value.toString(2).split('').reverse().join('').indexOf('1');
96
+ };
97
+ return SCALEEra;
98
+ }(SCALEType_1.SCALEType));
99
+ exports.SCALEEra = SCALEEra;
100
+ //# sourceMappingURL=SCALEEra.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SCALEEra.js","sourceRoot":"","sources":["../../../../../../src/protocol/common/data/scale/type/SCALEEra.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="node" />
2
+ import { SCALEDecodeResult } from '../SCALEDecoder';
3
+ import { SCALEEncodeConfig, SCALEType } from './SCALEType';
4
+ export declare class SCALEHash extends SCALEType {
5
+ readonly value: Buffer;
6
+ static empty(bitLength?: number): SCALEHash;
7
+ static from(bytes: string | Buffer | Uint8Array): SCALEHash;
8
+ static decode(hex: string, bitLength: number): SCALEDecodeResult<SCALEHash>;
9
+ readonly isEmpty: boolean;
10
+ private constructor();
11
+ toString(encoding?: BufferEncoding): string;
12
+ protected _encode(config?: SCALEEncodeConfig): string;
13
+ }
@@ -0,0 +1,74 @@
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
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SCALEHash = void 0;
17
+ var errors_1 = require("@airgap/coinlib-core/errors");
18
+ var coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
19
+ var hex_1 = require("@airgap/coinlib-core/utils/hex");
20
+ var SCALEType_1 = require("./SCALEType");
21
+ var SCALEHash = /** @class */ (function (_super) {
22
+ __extends(SCALEHash, _super);
23
+ function SCALEHash(value) {
24
+ var _this = _super.call(this) || this;
25
+ _this.value = value;
26
+ return _this;
27
+ }
28
+ SCALEHash.empty = function (bitLength) {
29
+ if (bitLength === void 0) { bitLength = 0; }
30
+ var byteLength = Math.ceil(bitLength / 8);
31
+ var u8a = new Uint8Array(byteLength);
32
+ u8a.fill(0);
33
+ return new SCALEHash(Buffer.from(u8a));
34
+ };
35
+ SCALEHash.from = function (bytes) {
36
+ var buffer;
37
+ if (typeof bytes === 'string' && hex_1.isHex(bytes)) {
38
+ buffer = Buffer.from(hex_1.stripHexPrefix(bytes), 'hex');
39
+ }
40
+ else if (!(typeof bytes === 'string')) {
41
+ buffer = Buffer.from(bytes);
42
+ }
43
+ else {
44
+ throw new errors_1.InvalidValueError(coinlib_error_1.Domain.SUBSTRATE, 'SCALEHash#from: Unknown bytes type.');
45
+ }
46
+ return new SCALEHash(buffer);
47
+ };
48
+ SCALEHash.decode = function (hex, bitLength) {
49
+ var _hex = hex_1.stripHexPrefix(hex);
50
+ var nibbles = Math.ceil(bitLength / 4);
51
+ var hash = _hex.substr(0, nibbles);
52
+ return {
53
+ bytesDecoded: Math.ceil(nibbles / 2),
54
+ decoded: SCALEHash.from(hash)
55
+ };
56
+ };
57
+ Object.defineProperty(SCALEHash.prototype, "isEmpty", {
58
+ get: function () {
59
+ return this.value.length === 0 || this.value.every(function (value) { return value === 0; });
60
+ },
61
+ enumerable: false,
62
+ configurable: true
63
+ });
64
+ SCALEHash.prototype.toString = function (encoding) {
65
+ if (encoding === void 0) { encoding = 'hex'; }
66
+ return this.value.toString(encoding);
67
+ };
68
+ SCALEHash.prototype._encode = function (config) {
69
+ return this.value.toString('hex');
70
+ };
71
+ return SCALEHash;
72
+ }(SCALEType_1.SCALEType));
73
+ exports.SCALEHash = SCALEHash;
74
+ //# sourceMappingURL=SCALEHash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SCALEHash.js","sourceRoot":"","sources":["../../../../../../src/protocol/common/data/scale/type/SCALEHash.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAA+D;AAC/D,2EAAkE;AAClE,sDAAsE;AAGtE,yCAA0D;AAE1D;IAA+B,6BAAS;IAsCtC,mBAA6B,KAAa;QAA1C,YACE,iBAAO,SACR;QAF4B,WAAK,GAAL,KAAK,CAAQ;;IAE1C,CAAC;IAvCa,eAAK,GAAnB,UAAoB,SAAqB;QAArB,0BAAA,EAAA,aAAqB;QACvC,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QAC3C,IAAM,GAAG,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAA;QACtC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEX,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,CAAC;IAEa,cAAI,GAAlB,UAAmB,KAAmC;QACpD,IAAI,MAAc,CAAA;QAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,WAAK,CAAC,KAAK,CAAC,EAAE;YAC7C,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;SACnD;aAAM,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE;YACvC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SAC5B;aAAM;YACL,MAAM,IAAI,0BAAiB,CAAC,sBAAM,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAA;SACrF;QAED,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;IAEa,gBAAM,GAApB,UAAqB,GAAW,EAAE,SAAiB;QACjD,IAAM,IAAI,GAAG,oBAAc,CAAC,GAAG,CAAC,CAAA;QAEhC,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QACxC,IAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAEpC,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACpC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;SAC9B,CAAA;IACH,CAAC;IAED,sBAAW,8BAAO;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,KAAK,CAAC,EAAX,CAAW,CAAC,CAAA;QAC5E,CAAC;;;OAAA;IAMM,4BAAQ,GAAf,UAAgB,QAAgC;QAAhC,yBAAA,EAAA,gBAAgC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IAES,2BAAO,GAAjB,UAAkB,MAA0B;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC;IACH,gBAAC;AAAD,CAAC,AAjDD,CAA+B,qBAAS,GAiDvC;AAjDY,8BAAS"}
@@ -0,0 +1,27 @@
1
+ import BigNumber from '@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber';
2
+ import { SCALEDecodeResult } from '../SCALEDecoder';
3
+ import { SCALECompactInt } from './SCALECompactInt';
4
+ import { SCALEEncodeConfig, SCALEType } from './SCALEType';
5
+ declare type Number = SCALECompactInt | SCALEInt | BigNumber | number;
6
+ export declare class SCALEInt extends SCALEType {
7
+ readonly value: BigNumber;
8
+ readonly bitLength?: number | undefined;
9
+ static from(value: number | BigNumber | string, bitLength?: number): SCALEInt;
10
+ static decode(hex: string, bitLength?: number): SCALEDecodeResult<SCALEInt>;
11
+ private constructor();
12
+ toString(base?: number): string;
13
+ toNumber(): number;
14
+ plus(other: Number): SCALEInt;
15
+ minus(other: Number): SCALEInt;
16
+ multiply(other: Number): SCALEInt;
17
+ divide(other: Number): SCALEInt;
18
+ lt(other: Number): boolean;
19
+ lte(other: Number): boolean;
20
+ gt(other: Number): boolean;
21
+ gte(other: Number): boolean;
22
+ eq(other: Number): boolean;
23
+ protected _encode(config?: SCALEEncodeConfig): string;
24
+ private applyOperation;
25
+ private performOperation;
26
+ }
27
+ export {};