@airgap/tezos 0.13.45-beta.3 → 0.13.45-beta.4

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 (421) hide show
  1. package/package.json +5 -5
  2. package/v0/actions/GetKtAccountsAction.js +81 -11
  3. package/v0/actions/GetKtAccountsAction.js.map +1 -1
  4. package/v0/constants.js +6 -6
  5. package/v0/constants.js.map +1 -1
  6. package/v0/index.js +38 -38
  7. package/v0/index.js.map +1 -1
  8. package/v0/protocol/TezosAddress.d.ts +1 -0
  9. package/v0/protocol/TezosAddress.js +81 -41
  10. package/v0/protocol/TezosAddress.js.map +1 -1
  11. package/v0/protocol/TezosCryptoClient.d.ts +1 -0
  12. package/v0/protocol/TezosCryptoClient.js +123 -68
  13. package/v0/protocol/TezosCryptoClient.js.map +1 -1
  14. package/v0/protocol/TezosProtocol.js +1631 -978
  15. package/v0/protocol/TezosProtocol.js.map +1 -1
  16. package/v0/protocol/TezosProtocolOptions.d.ts +1 -1
  17. package/v0/protocol/TezosProtocolOptions.js +98 -26
  18. package/v0/protocol/TezosProtocolOptions.js.map +1 -1
  19. package/v0/protocol/TezosUtils.d.ts +1 -0
  20. package/v0/protocol/TezosUtils.js +165 -131
  21. package/v0/protocol/TezosUtils.js.map +1 -1
  22. package/v0/protocol/contract/TezosContract.js +472 -243
  23. package/v0/protocol/contract/TezosContract.js.map +1 -1
  24. package/v0/protocol/contract/TezosContractCall.js +10 -8
  25. package/v0/protocol/contract/TezosContractCall.js.map +1 -1
  26. package/v0/protocol/contract/TezosContractEntrypoint.js +19 -14
  27. package/v0/protocol/contract/TezosContractEntrypoint.js.map +1 -1
  28. package/v0/protocol/contract/TezosContractStorage.js +9 -8
  29. package/v0/protocol/contract/TezosContractStorage.js.map +1 -1
  30. package/v0/protocol/contract/remote-data/TezosContractRemoteDataFactory.js +25 -8
  31. package/v0/protocol/contract/remote-data/TezosContractRemoteDataFactory.js.map +1 -1
  32. package/v0/protocol/contract/remote-data/TezosStorageRemoteData.js +113 -39
  33. package/v0/protocol/contract/remote-data/TezosStorageRemoteData.js.map +1 -1
  34. package/v0/protocol/domains/TezosDomains.js +270 -165
  35. package/v0/protocol/domains/TezosDomains.js.map +1 -1
  36. package/v0/protocol/fa/TezosBTC.js +98 -19
  37. package/v0/protocol/fa/TezosBTC.js.map +1 -1
  38. package/v0/protocol/fa/TezosBTCtez.js +48 -17
  39. package/v0/protocol/fa/TezosBTCtez.js.map +1 -1
  40. package/v0/protocol/fa/TezosCTez.js +45 -17
  41. package/v0/protocol/fa/TezosCTez.js.map +1 -1
  42. package/v0/protocol/fa/TezosDOGA.js +45 -17
  43. package/v0/protocol/fa/TezosDOGA.js.map +1 -1
  44. package/v0/protocol/fa/TezosETHtz.js +68 -10
  45. package/v0/protocol/fa/TezosETHtz.js.map +1 -1
  46. package/v0/protocol/fa/TezosFA1Protocol.js +276 -119
  47. package/v0/protocol/fa/TezosFA1Protocol.js.map +1 -1
  48. package/v0/protocol/fa/TezosFA1p2Protocol.js +101 -22
  49. package/v0/protocol/fa/TezosFA1p2Protocol.js.map +1 -1
  50. package/v0/protocol/fa/TezosFA2Protocol.js +402 -213
  51. package/v0/protocol/fa/TezosFA2Protocol.js.map +1 -1
  52. package/v0/protocol/fa/TezosFAProtocol.js +418 -211
  53. package/v0/protocol/fa/TezosFAProtocol.js.map +1 -1
  54. package/v0/protocol/fa/TezosFAProtocolOptions.d.ts +2 -2
  55. package/v0/protocol/fa/TezosFAProtocolOptions.js +195 -92
  56. package/v0/protocol/fa/TezosFAProtocolOptions.js.map +1 -1
  57. package/v0/protocol/fa/TezosKolibriUSD.js +70 -11
  58. package/v0/protocol/fa/TezosKolibriUSD.js.map +1 -1
  59. package/v0/protocol/fa/TezosPlanty.js +45 -17
  60. package/v0/protocol/fa/TezosPlanty.js.map +1 -1
  61. package/v0/protocol/fa/TezosQUIPU.js +48 -17
  62. package/v0/protocol/fa/TezosQUIPU.js.map +1 -1
  63. package/v0/protocol/fa/TezosSIRS.js +45 -17
  64. package/v0/protocol/fa/TezosSIRS.js.map +1 -1
  65. package/v0/protocol/fa/TezosStaker.js +70 -11
  66. package/v0/protocol/fa/TezosStaker.js.map +1 -1
  67. package/v0/protocol/fa/TezosUBTC.js +48 -17
  68. package/v0/protocol/fa/TezosUBTC.js.map +1 -1
  69. package/v0/protocol/fa/TezosUDEFI.js +48 -17
  70. package/v0/protocol/fa/TezosUDEFI.js.map +1 -1
  71. package/v0/protocol/fa/TezosUSD.js +70 -11
  72. package/v0/protocol/fa/TezosUSD.js.map +1 -1
  73. package/v0/protocol/fa/TezosUSDT.js +48 -17
  74. package/v0/protocol/fa/TezosUSDT.js.map +1 -1
  75. package/v0/protocol/fa/TezosUUSD.js +27 -8
  76. package/v0/protocol/fa/TezosUUSD.js.map +1 -1
  77. package/v0/protocol/fa/TezosUXTZ.js +48 -17
  78. package/v0/protocol/fa/TezosUXTZ.js.map +1 -1
  79. package/v0/protocol/fa/TezosWRAP.js +48 -17
  80. package/v0/protocol/fa/TezosWRAP.js.map +1 -1
  81. package/v0/protocol/fa/TezosWrapped.js +70 -11
  82. package/v0/protocol/fa/TezosWrapped.js.map +1 -1
  83. package/v0/protocol/fa/TezosYOU.js +27 -8
  84. package/v0/protocol/fa/TezosYOU.js.map +1 -1
  85. package/v0/protocol/fa/metadata/BigMapTokenMetadataIndexer.js +162 -84
  86. package/v0/protocol/fa/metadata/BigMapTokenMetadataIndexer.js.map +1 -1
  87. package/v0/protocol/fa/metadata/ObjktTokenMetadataIndexer.js +87 -37
  88. package/v0/protocol/fa/metadata/ObjktTokenMetadataIndexer.js.map +1 -1
  89. package/v0/protocol/indexerClient/TezosIndexerClient.js +259 -115
  90. package/v0/protocol/indexerClient/TezosIndexerClient.js.map +1 -1
  91. package/v0/protocol/kt/TezosKtAddress.js +67 -7
  92. package/v0/protocol/kt/TezosKtAddress.js.map +1 -1
  93. package/v0/protocol/kt/TezosKtProtocol.js +309 -161
  94. package/v0/protocol/kt/TezosKtProtocol.js.map +1 -1
  95. package/v0/protocol/sapling/TezosSaplingAddress.d.ts +1 -0
  96. package/v0/protocol/sapling/TezosSaplingAddress.js +117 -46
  97. package/v0/protocol/sapling/TezosSaplingAddress.js.map +1 -1
  98. package/v0/protocol/sapling/TezosSaplingCryptoClient.d.ts +1 -0
  99. package/v0/protocol/sapling/TezosSaplingCryptoClient.js +220 -125
  100. package/v0/protocol/sapling/TezosSaplingCryptoClient.js.map +1 -1
  101. package/v0/protocol/sapling/TezosSaplingProtocol.d.ts +1 -0
  102. package/v0/protocol/sapling/TezosSaplingProtocol.js +1127 -600
  103. package/v0/protocol/sapling/TezosSaplingProtocol.js.map +1 -1
  104. package/v0/protocol/sapling/TezosSaplingProtocolOptions.d.ts +1 -0
  105. package/v0/protocol/sapling/TezosSaplingProtocolOptions.js +61 -32
  106. package/v0/protocol/sapling/TezosSaplingProtocolOptions.js.map +1 -1
  107. package/v0/protocol/sapling/TezosShieldedTezProtocol.js +134 -50
  108. package/v0/protocol/sapling/TezosShieldedTezProtocol.js.map +1 -1
  109. package/v0/protocol/sapling/injector/TezosSaplingInjectorClient.js +56 -10
  110. package/v0/protocol/sapling/injector/TezosSaplingInjectorClient.js.map +1 -1
  111. package/v0/protocol/sapling/node/TezosSaplingNodeClient.js +67 -12
  112. package/v0/protocol/sapling/node/TezosSaplingNodeClient.js.map +1 -1
  113. package/v0/protocol/sapling/utils/TezosSaplingBookkeeper.d.ts +1 -0
  114. package/v0/protocol/sapling/utils/TezosSaplingBookkeeper.js +539 -221
  115. package/v0/protocol/sapling/utils/TezosSaplingBookkeeper.js.map +1 -1
  116. package/v0/protocol/sapling/utils/TezosSaplingEncoder.d.ts +1 -0
  117. package/v0/protocol/sapling/utils/TezosSaplingEncoder.js +104 -101
  118. package/v0/protocol/sapling/utils/TezosSaplingEncoder.js.map +1 -1
  119. package/v0/protocol/sapling/utils/TezosSaplingForger.d.ts +1 -0
  120. package/v0/protocol/sapling/utils/TezosSaplingForger.js +266 -107
  121. package/v0/protocol/sapling/utils/TezosSaplingForger.js.map +1 -1
  122. package/v0/protocol/sapling/utils/TezosSaplingState.js +239 -110
  123. package/v0/protocol/sapling/utils/TezosSaplingState.js.map +1 -1
  124. package/v0/protocol/types/TezosOperationType.js +1 -1
  125. package/v0/protocol/types/TezosOperationType.js.map +1 -1
  126. package/v0/protocol/types/contract/BigMapEntry.d.ts +1 -1
  127. package/v0/protocol/types/contract/TezosContractMetadata.d.ts +2 -2
  128. package/v0/protocol/types/micheline/MichelineNode.d.ts +7 -7
  129. package/v0/protocol/types/micheline/MichelineNodeUtils.js +13 -9
  130. package/v0/protocol/types/micheline/MichelineNodeUtils.js.map +1 -1
  131. package/v0/protocol/types/michelson/MichelsonType.d.ts +1 -0
  132. package/v0/protocol/types/michelson/MichelsonType.js +12 -11
  133. package/v0/protocol/types/michelson/MichelsonType.js.map +1 -1
  134. package/v0/protocol/types/michelson/MichelsonTypeMeta.js +92 -45
  135. package/v0/protocol/types/michelson/MichelsonTypeMeta.js.map +1 -1
  136. package/v0/protocol/types/michelson/MichelsonTypeUtils.d.ts +1 -0
  137. package/v0/protocol/types/michelson/MichelsonTypeUtils.js +219 -58
  138. package/v0/protocol/types/michelson/MichelsonTypeUtils.js.map +1 -1
  139. package/v0/protocol/types/michelson/generics/MichelsonList.js +43 -24
  140. package/v0/protocol/types/michelson/generics/MichelsonList.js.map +1 -1
  141. package/v0/protocol/types/michelson/generics/MichelsonMap.js +61 -39
  142. package/v0/protocol/types/michelson/generics/MichelsonMap.js.map +1 -1
  143. package/v0/protocol/types/michelson/generics/MichelsonOption.d.ts +1 -1
  144. package/v0/protocol/types/michelson/generics/MichelsonOption.js +75 -46
  145. package/v0/protocol/types/michelson/generics/MichelsonOption.js.map +1 -1
  146. package/v0/protocol/types/michelson/generics/MichelsonOr.d.ts +1 -1
  147. package/v0/protocol/types/michelson/generics/MichelsonOr.js +76 -50
  148. package/v0/protocol/types/michelson/generics/MichelsonOr.js.map +1 -1
  149. package/v0/protocol/types/michelson/generics/MichelsonPair.js +85 -52
  150. package/v0/protocol/types/michelson/generics/MichelsonPair.js.map +1 -1
  151. package/v0/protocol/types/michelson/grammar/MichelsonGrammarData.d.ts +1 -1
  152. package/v0/protocol/types/michelson/grammar/MichelsonGrammarInstruction.d.ts +1 -1
  153. package/v0/protocol/types/michelson/grammar/MichelsonGrammarType.d.ts +1 -1
  154. package/v0/protocol/types/michelson/primitives/MichelsonAddress.d.ts +1 -0
  155. package/v0/protocol/types/michelson/primitives/MichelsonAddress.js +47 -28
  156. package/v0/protocol/types/michelson/primitives/MichelsonAddress.js.map +1 -1
  157. package/v0/protocol/types/michelson/primitives/MichelsonBool.js +39 -20
  158. package/v0/protocol/types/michelson/primitives/MichelsonBool.js.map +1 -1
  159. package/v0/protocol/types/michelson/primitives/MichelsonBytes.d.ts +1 -0
  160. package/v0/protocol/types/michelson/primitives/MichelsonBytes.js +54 -35
  161. package/v0/protocol/types/michelson/primitives/MichelsonBytes.js.map +1 -1
  162. package/v0/protocol/types/michelson/primitives/MichelsonInt.d.ts +1 -0
  163. package/v0/protocol/types/michelson/primitives/MichelsonInt.js +49 -30
  164. package/v0/protocol/types/michelson/primitives/MichelsonInt.js.map +1 -1
  165. package/v0/protocol/types/michelson/primitives/MichelsonString.d.ts +1 -0
  166. package/v0/protocol/types/michelson/primitives/MichelsonString.js +52 -33
  167. package/v0/protocol/types/michelson/primitives/MichelsonString.js.map +1 -1
  168. package/v0/protocol/types/michelson/primitives/MichelsonUnit.js +34 -14
  169. package/v0/protocol/types/michelson/primitives/MichelsonUnit.js.map +1 -1
  170. package/v0/protocol/types/sapling/TezosSaplingStateTree.d.ts +1 -1
  171. package/v0/protocol/types/sapling/TezosSaplingTransaction.d.ts +1 -0
  172. package/v0/protocol/types/utils.js +10 -8
  173. package/v0/protocol/types/utils.js.map +1 -1
  174. package/v0/serializer/validators/transaction-validator.js +78 -29
  175. package/v0/serializer/validators/transaction-validator.js.map +1 -1
  176. package/v0/serializer/validators/transaction-xtz-btc-validator.js +129 -55
  177. package/v0/serializer/validators/transaction-xtz-btc-validator.js.map +1 -1
  178. package/v0/serializer/validators/validators.js +103 -43
  179. package/v0/serializer/validators/validators.js.map +1 -1
  180. package/v1/block-explorer/TzKTBlockExplorer.js +61 -12
  181. package/v1/block-explorer/TzKTBlockExplorer.js.map +1 -1
  182. package/v1/block-explorer/factory.js +5 -4
  183. package/v1/block-explorer/factory.js.map +1 -1
  184. package/v1/contract/TezosContract.js +471 -242
  185. package/v1/contract/TezosContract.js.map +1 -1
  186. package/v1/contract/TezosContractCall.js +10 -8
  187. package/v1/contract/TezosContractCall.js.map +1 -1
  188. package/v1/contract/TezosContractEntrypoint.d.ts +1 -1
  189. package/v1/contract/TezosContractEntrypoint.js +19 -14
  190. package/v1/contract/TezosContractEntrypoint.js.map +1 -1
  191. package/v1/contract/TezosContractStorage.js +9 -8
  192. package/v1/contract/TezosContractStorage.js.map +1 -1
  193. package/v1/contract/remote-data/TezosContractRemoteDataFactory.js +25 -8
  194. package/v1/contract/remote-data/TezosContractRemoteDataFactory.js.map +1 -1
  195. package/v1/contract/remote-data/TezosStorageRemoteData.js +113 -39
  196. package/v1/contract/remote-data/TezosStorageRemoteData.js.map +1 -1
  197. package/v1/crypto/TezosCryptoClient.d.ts +1 -0
  198. package/v1/crypto/TezosCryptoClient.js +117 -64
  199. package/v1/crypto/TezosCryptoClient.js.map +1 -1
  200. package/v1/crypto/TezosSaplingCryptoClient.d.ts +1 -0
  201. package/v1/crypto/TezosSaplingCryptoClient.js +194 -116
  202. package/v1/crypto/TezosSaplingCryptoClient.js.map +1 -1
  203. package/v1/data/TezosAddress.js +14 -13
  204. package/v1/data/TezosAddress.js.map +1 -1
  205. package/v1/data/TezosSaplingAddress.d.ts +1 -0
  206. package/v1/data/TezosSaplingAddress.js +94 -29
  207. package/v1/data/TezosSaplingAddress.js.map +1 -1
  208. package/v1/domains/TezosDomains.js +270 -165
  209. package/v1/domains/TezosDomains.js.map +1 -1
  210. package/v1/index.js +39 -39
  211. package/v1/index.js.map +1 -1
  212. package/v1/indexer/TzKTIndexerClient.js +270 -126
  213. package/v1/indexer/TzKTIndexerClient.js.map +1 -1
  214. package/v1/indexer/factory.js +5 -4
  215. package/v1/indexer/factory.js.map +1 -1
  216. package/v1/indexer/token-metadata/BigMapTokenMetadataIndexerClient.js +161 -83
  217. package/v1/indexer/token-metadata/BigMapTokenMetadataIndexerClient.js.map +1 -1
  218. package/v1/indexer/token-metadata/ObjktTokenMetadataIndexerClient.js +85 -36
  219. package/v1/indexer/token-metadata/ObjktTokenMetadataIndexerClient.js.map +1 -1
  220. package/v1/injector/TezosSaplingInjectorClient.js +56 -10
  221. package/v1/injector/TezosSaplingInjectorClient.js.map +1 -1
  222. package/v1/module/TezosModule.js +155 -88
  223. package/v1/module/TezosModule.js.map +1 -1
  224. package/v1/module.js +3 -2
  225. package/v1/module.js.map +1 -1
  226. package/v1/node/TezosSaplingNodeClient.js +67 -12
  227. package/v1/node/TezosSaplingNodeClient.js.map +1 -1
  228. package/v1/protocol/TezosProtocol.js +1385 -848
  229. package/v1/protocol/TezosProtocol.js.map +1 -1
  230. package/v1/protocol/fa/TezosFA1Protocol.js +205 -81
  231. package/v1/protocol/fa/TezosFA1Protocol.js.map +1 -1
  232. package/v1/protocol/fa/TezosFA1p2Protocol.js +111 -32
  233. package/v1/protocol/fa/TezosFA1p2Protocol.js.map +1 -1
  234. package/v1/protocol/fa/TezosFA2Protocol.js +332 -174
  235. package/v1/protocol/fa/TezosFA2Protocol.js.map +1 -1
  236. package/v1/protocol/fa/TezosFAProtocol.js +528 -255
  237. package/v1/protocol/fa/TezosFAProtocol.js.map +1 -1
  238. package/v1/protocol/fa/tokens/BTCTezProtocol.d.ts +2 -2
  239. package/v1/protocol/fa/tokens/BTCTezProtocol.js +47 -30
  240. package/v1/protocol/fa/tokens/BTCTezProtocol.js.map +1 -1
  241. package/v1/protocol/fa/tokens/CTezProtocol.d.ts +2 -2
  242. package/v1/protocol/fa/tokens/CTezProtocol.js +47 -27
  243. package/v1/protocol/fa/tokens/CTezProtocol.js.map +1 -1
  244. package/v1/protocol/fa/tokens/DogamiProtocol.d.ts +2 -2
  245. package/v1/protocol/fa/tokens/DogamiProtocol.js +47 -27
  246. package/v1/protocol/fa/tokens/DogamiProtocol.js.map +1 -1
  247. package/v1/protocol/fa/tokens/ETHTezProtocol.d.ts +2 -2
  248. package/v1/protocol/fa/tokens/ETHTezProtocol.js +90 -30
  249. package/v1/protocol/fa/tokens/ETHTezProtocol.js.map +1 -1
  250. package/v1/protocol/fa/tokens/KolibriUSDProtocol.d.ts +2 -2
  251. package/v1/protocol/fa/tokens/KolibriUSDProtocol.js +90 -30
  252. package/v1/protocol/fa/tokens/KolibriUSDProtocol.js.map +1 -1
  253. package/v1/protocol/fa/tokens/PlentyProtocol.d.ts +2 -2
  254. package/v1/protocol/fa/tokens/PlentyProtocol.js +90 -30
  255. package/v1/protocol/fa/tokens/PlentyProtocol.js.map +1 -1
  256. package/v1/protocol/fa/tokens/QuipuswapProtocol.d.ts +2 -2
  257. package/v1/protocol/fa/tokens/QuipuswapProtocol.js +47 -30
  258. package/v1/protocol/fa/tokens/QuipuswapProtocol.js.map +1 -1
  259. package/v1/protocol/fa/tokens/SiriusProtocol.d.ts +2 -2
  260. package/v1/protocol/fa/tokens/SiriusProtocol.js +47 -27
  261. package/v1/protocol/fa/tokens/SiriusProtocol.js.map +1 -1
  262. package/v1/protocol/fa/tokens/StakerProtocol.d.ts +2 -2
  263. package/v1/protocol/fa/tokens/StakerProtocol.js +90 -30
  264. package/v1/protocol/fa/tokens/StakerProtocol.js.map +1 -1
  265. package/v1/protocol/fa/tokens/TetherUSDProtocol.d.ts +2 -2
  266. package/v1/protocol/fa/tokens/TetherUSDProtocol.js +47 -30
  267. package/v1/protocol/fa/tokens/TetherUSDProtocol.js.map +1 -1
  268. package/v1/protocol/fa/tokens/TzBTCProtocol.d.ts +2 -2
  269. package/v1/protocol/fa/tokens/TzBTCProtocol.js +47 -27
  270. package/v1/protocol/fa/tokens/TzBTCProtocol.js.map +1 -1
  271. package/v1/protocol/fa/tokens/UBTCProtocol.d.ts +2 -2
  272. package/v1/protocol/fa/tokens/UBTCProtocol.js +47 -30
  273. package/v1/protocol/fa/tokens/UBTCProtocol.js.map +1 -1
  274. package/v1/protocol/fa/tokens/UDEFIProtocol.d.ts +2 -2
  275. package/v1/protocol/fa/tokens/UDEFIProtocol.js +47 -30
  276. package/v1/protocol/fa/tokens/UDEFIProtocol.js.map +1 -1
  277. package/v1/protocol/fa/tokens/USDTezProtocol.d.ts +2 -2
  278. package/v1/protocol/fa/tokens/USDTezProtocol.js +47 -27
  279. package/v1/protocol/fa/tokens/USDTezProtocol.js.map +1 -1
  280. package/v1/protocol/fa/tokens/UUSDProtocol.d.ts +2 -2
  281. package/v1/protocol/fa/tokens/UUSDProtocol.js +47 -30
  282. package/v1/protocol/fa/tokens/UUSDProtocol.js.map +1 -1
  283. package/v1/protocol/fa/tokens/UXTZProtocol.d.ts +2 -2
  284. package/v1/protocol/fa/tokens/UXTZProtocol.js +47 -30
  285. package/v1/protocol/fa/tokens/UXTZProtocol.js.map +1 -1
  286. package/v1/protocol/fa/tokens/WrapProtocol.d.ts +2 -2
  287. package/v1/protocol/fa/tokens/WrapProtocol.js +47 -30
  288. package/v1/protocol/fa/tokens/WrapProtocol.js.map +1 -1
  289. package/v1/protocol/fa/tokens/WrappedTezosProtocol.d.ts +2 -2
  290. package/v1/protocol/fa/tokens/WrappedTezosProtocol.js +47 -27
  291. package/v1/protocol/fa/tokens/WrappedTezosProtocol.js.map +1 -1
  292. package/v1/protocol/fa/tokens/YouProtocol.d.ts +2 -2
  293. package/v1/protocol/fa/tokens/YouProtocol.js +47 -30
  294. package/v1/protocol/fa/tokens/YouProtocol.js.map +1 -1
  295. package/v1/protocol/fa/tokens/stXTZProtocol.d.ts +2 -2
  296. package/v1/protocol/fa/tokens/stXTZProtocol.js +47 -30
  297. package/v1/protocol/fa/tokens/stXTZProtocol.js.map +1 -1
  298. package/v1/protocol/kt/TezosKtProtocol.js +498 -254
  299. package/v1/protocol/kt/TezosKtProtocol.js.map +1 -1
  300. package/v1/protocol/sapling/TezosSaplingProtocol.d.ts +1 -0
  301. package/v1/protocol/sapling/TezosSaplingProtocol.js +933 -532
  302. package/v1/protocol/sapling/TezosSaplingProtocol.js.map +1 -1
  303. package/v1/protocol/sapling/TezosShieldedTezProtocol.js +164 -72
  304. package/v1/protocol/sapling/TezosShieldedTezProtocol.js.map +1 -1
  305. package/v1/serializer/v3/schemas/converter/transaction-converter.js +26 -14
  306. package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -1
  307. package/v1/serializer/v3/serializer-companion.js +188 -103
  308. package/v1/serializer/v3/serializer-companion.js.map +1 -1
  309. package/v1/serializer/v3/validators/transaction-validator.js +143 -54
  310. package/v1/serializer/v3/validators/transaction-validator.js.map +1 -1
  311. package/v1/serializer/v3/validators/validators.js +100 -40
  312. package/v1/serializer/v3/validators/validators.js.map +1 -1
  313. package/v1/types/block-explorer.d.ts +1 -1
  314. package/v1/types/contract/TezosContractMetadata.d.ts +2 -2
  315. package/v1/types/contract/bigmap/BigMapEntry.d.ts +1 -1
  316. package/v1/types/crypto.d.ts +2 -2
  317. package/v1/types/fa/TezosFA1ContractEntrypoint.d.ts +1 -1
  318. package/v1/types/fa/TezosFA1p2ContractEntrypoint.d.ts +1 -1
  319. package/v1/types/fa/TezosFA2ContractEntrypoint.d.ts +1 -1
  320. package/v1/types/indexer.d.ts +1 -1
  321. package/v1/types/micheline/MichelineNode.d.ts +7 -7
  322. package/v1/types/micheline/MichelineNodeUtils.js +13 -9
  323. package/v1/types/micheline/MichelineNodeUtils.js.map +1 -1
  324. package/v1/types/michelson/MichelsonType.d.ts +1 -0
  325. package/v1/types/michelson/MichelsonType.js +12 -11
  326. package/v1/types/michelson/MichelsonType.js.map +1 -1
  327. package/v1/types/michelson/MichelsonTypeMeta.js +92 -45
  328. package/v1/types/michelson/MichelsonTypeMeta.js.map +1 -1
  329. package/v1/types/michelson/MichelsonTypeUtils.d.ts +1 -0
  330. package/v1/types/michelson/MichelsonTypeUtils.js +219 -58
  331. package/v1/types/michelson/MichelsonTypeUtils.js.map +1 -1
  332. package/v1/types/michelson/generics/MichelsonList.js +43 -24
  333. package/v1/types/michelson/generics/MichelsonList.js.map +1 -1
  334. package/v1/types/michelson/generics/MichelsonMap.js +61 -39
  335. package/v1/types/michelson/generics/MichelsonMap.js.map +1 -1
  336. package/v1/types/michelson/generics/MichelsonOption.d.ts +1 -1
  337. package/v1/types/michelson/generics/MichelsonOption.js +75 -46
  338. package/v1/types/michelson/generics/MichelsonOption.js.map +1 -1
  339. package/v1/types/michelson/generics/MichelsonOr.d.ts +1 -1
  340. package/v1/types/michelson/generics/MichelsonOr.js +76 -50
  341. package/v1/types/michelson/generics/MichelsonOr.js.map +1 -1
  342. package/v1/types/michelson/generics/MichelsonPair.js +85 -52
  343. package/v1/types/michelson/generics/MichelsonPair.js.map +1 -1
  344. package/v1/types/michelson/grammar/MichelsonGrammarData.d.ts +1 -1
  345. package/v1/types/michelson/grammar/MichelsonGrammarInstruction.d.ts +1 -1
  346. package/v1/types/michelson/grammar/MichelsonGrammarType.d.ts +1 -1
  347. package/v1/types/michelson/primitives/MichelsonAddress.d.ts +1 -0
  348. package/v1/types/michelson/primitives/MichelsonAddress.js +47 -28
  349. package/v1/types/michelson/primitives/MichelsonAddress.js.map +1 -1
  350. package/v1/types/michelson/primitives/MichelsonBool.js +39 -20
  351. package/v1/types/michelson/primitives/MichelsonBool.js.map +1 -1
  352. package/v1/types/michelson/primitives/MichelsonBytes.d.ts +1 -0
  353. package/v1/types/michelson/primitives/MichelsonBytes.js +54 -35
  354. package/v1/types/michelson/primitives/MichelsonBytes.js.map +1 -1
  355. package/v1/types/michelson/primitives/MichelsonInt.d.ts +1 -0
  356. package/v1/types/michelson/primitives/MichelsonInt.js +49 -30
  357. package/v1/types/michelson/primitives/MichelsonInt.js.map +1 -1
  358. package/v1/types/michelson/primitives/MichelsonString.d.ts +1 -0
  359. package/v1/types/michelson/primitives/MichelsonString.js +52 -33
  360. package/v1/types/michelson/primitives/MichelsonString.js.map +1 -1
  361. package/v1/types/michelson/primitives/MichelsonUnit.js +34 -14
  362. package/v1/types/michelson/primitives/MichelsonUnit.js.map +1 -1
  363. package/v1/types/network.js +1 -1
  364. package/v1/types/network.js.map +1 -1
  365. package/v1/types/operations/TezosOperationType.js +1 -1
  366. package/v1/types/operations/TezosOperationType.js.map +1 -1
  367. package/v1/types/protocol.d.ts +3 -3
  368. package/v1/types/sapling/TezosSaplingExternalMethodProvider.d.ts +1 -0
  369. package/v1/types/sapling/TezosSaplingStateTree.d.ts +1 -1
  370. package/v1/types/sapling/TezosSaplingTransaction.d.ts +1 -0
  371. package/v1/types/staking/TezosDelegatorAction.js +1 -1
  372. package/v1/types/staking/TezosDelegatorAction.js.map +1 -1
  373. package/v1/utils/address.js +7 -6
  374. package/v1/utils/address.js.map +1 -1
  375. package/v1/utils/bip.d.ts +1 -0
  376. package/v1/utils/bip.js +7 -6
  377. package/v1/utils/bip.js.map +1 -1
  378. package/v1/utils/convert.js +8 -7
  379. package/v1/utils/convert.js.map +1 -1
  380. package/v1/utils/encoding.d.ts +1 -0
  381. package/v1/utils/encoding.js +64 -74
  382. package/v1/utils/encoding.js.map +1 -1
  383. package/v1/utils/fa.js +3 -2
  384. package/v1/utils/fa.js.map +1 -1
  385. package/v1/utils/key.js +12 -9
  386. package/v1/utils/key.js.map +1 -1
  387. package/v1/utils/micheline.js +10 -8
  388. package/v1/utils/micheline.js.map +1 -1
  389. package/v1/utils/operations.js +22 -21
  390. package/v1/utils/operations.js.map +1 -1
  391. package/v1/utils/pack.d.ts +1 -0
  392. package/v1/utils/pack.js +107 -65
  393. package/v1/utils/pack.js.map +1 -1
  394. package/v1/utils/protocol/fa/TezosFA1Accountant.js +52 -24
  395. package/v1/utils/protocol/fa/TezosFA1Accountant.js.map +1 -1
  396. package/v1/utils/protocol/fa/TezosFA2Accountant.js +77 -40
  397. package/v1/utils/protocol/fa/TezosFA2Accountant.js.map +1 -1
  398. package/v1/utils/protocol/fa/TezosFAAccountant.js +89 -21
  399. package/v1/utils/protocol/fa/TezosFAAccountant.js.map +1 -1
  400. package/v1/utils/protocol/instance.js +26 -90
  401. package/v1/utils/protocol/instance.js.map +1 -1
  402. package/v1/utils/protocol/sapling/TezosSaplingAccountant.d.ts +1 -0
  403. package/v1/utils/protocol/sapling/TezosSaplingAccountant.js +539 -221
  404. package/v1/utils/protocol/sapling/TezosSaplingAccountant.js.map +1 -1
  405. package/v1/utils/protocol/sapling/TezosSaplingEncoder.d.ts +1 -0
  406. package/v1/utils/protocol/sapling/TezosSaplingEncoder.js +104 -101
  407. package/v1/utils/protocol/sapling/TezosSaplingEncoder.js.map +1 -1
  408. package/v1/utils/protocol/sapling/TezosSaplingForger.d.ts +1 -0
  409. package/v1/utils/protocol/sapling/TezosSaplingForger.js +266 -107
  410. package/v1/utils/protocol/sapling/TezosSaplingForger.js.map +1 -1
  411. package/v1/utils/protocol/sapling/TezosSaplingState.js +239 -110
  412. package/v1/utils/protocol/sapling/TezosSaplingState.js.map +1 -1
  413. package/v1/utils/protocol/tezos/TezosAccountant.js +166 -97
  414. package/v1/utils/protocol/tezos/TezosAccountant.js.map +1 -1
  415. package/v1/utils/protocol/tezos/TezosForger.js +76 -21
  416. package/v1/utils/protocol/tezos/TezosForger.js.map +1 -1
  417. package/v1/utils/signature.js +6 -5
  418. package/v1/utils/signature.js.map +1 -1
  419. package/v1/utils/transaction.d.ts +5 -4
  420. package/v1/utils/transaction.js +3 -3
  421. package/v1/utils/transaction.js.map +1 -1
@@ -1,277 +1,521 @@
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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
+ if (ar || !(i in from)) {
52
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
+ ar[i] = from[i];
54
+ }
55
+ }
56
+ return to.concat(ar || Array.prototype.slice.call(from));
57
+ };
2
58
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
59
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
60
  };
5
61
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createTezosKtProtocol = createTezosKtProtocol;
7
- const coinlib_core_1 = require("@airgap/coinlib-core");
8
- const axios_0_19_0_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/axios-0.19.0"));
9
- const bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
10
- const errors_1 = require("@airgap/coinlib-core/errors");
11
- const module_kit_1 = require("@airgap/module-kit");
12
- const factory_1 = require("../../indexer/factory");
13
- const TezosOperationType_1 = require("../../types/operations/TezosOperationType");
14
- const encoding_1 = require("../../utils/encoding");
15
- const operations_1 = require("../../utils/operations");
16
- const TezosProtocol_1 = require("../TezosProtocol");
62
+ exports.createTezosKtProtocol = void 0;
63
+ var coinlib_core_1 = require("@airgap/coinlib-core");
64
+ var axios_0_19_0_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/axios-0.19.0"));
65
+ var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
66
+ var errors_1 = require("@airgap/coinlib-core/errors");
67
+ var module_kit_1 = require("@airgap/module-kit");
68
+ var factory_1 = require("../../indexer/factory");
69
+ var TezosOperationType_1 = require("../../types/operations/TezosOperationType");
70
+ var encoding_1 = require("../../utils/encoding");
71
+ var operations_1 = require("../../utils/operations");
72
+ var TezosProtocol_1 = require("../TezosProtocol");
17
73
  // Implementation
18
- const INDEX_LIMIT = 10000;
19
- const MIGRATION_FEE = 5000;
20
- class TezosKtProtocolImpl {
21
- constructor(options) {
22
- const completeOptions = (0, TezosProtocol_1.createTezosProtocolOptions)(options.network);
74
+ var INDEX_LIMIT = 10000;
75
+ var MIGRATION_FEE = 5000;
76
+ var TezosKtProtocolImpl = /** @class */ (function () {
77
+ function TezosKtProtocolImpl(options) {
78
+ var completeOptions = (0, TezosProtocol_1.createTezosProtocolOptions)(options.network);
23
79
  this.tezos = (0, TezosProtocol_1.createTezosProtocol)(completeOptions);
24
80
  this.indexerClient = (0, factory_1.createTezosIndexerClient)(completeOptions.network.indexerType, completeOptions.network.indexerApi);
25
81
  }
26
82
  // SubProtocol
27
- async getType() {
28
- return 'account';
29
- }
30
- async mainProtocol() {
31
- return coinlib_core_1.MainProtocolSymbols.XTZ;
32
- }
83
+ TezosKtProtocolImpl.prototype.getType = function () {
84
+ return __awaiter(this, void 0, void 0, function () {
85
+ return __generator(this, function (_a) {
86
+ return [2 /*return*/, 'account'];
87
+ });
88
+ });
89
+ };
90
+ TezosKtProtocolImpl.prototype.mainProtocol = function () {
91
+ return __awaiter(this, void 0, void 0, function () {
92
+ return __generator(this, function (_a) {
93
+ return [2 /*return*/, coinlib_core_1.MainProtocolSymbols.XTZ];
94
+ });
95
+ });
96
+ };
33
97
  // Common
34
- async getMetadata() {
35
- const tezosMetadata = await this.tezos.getMetadata();
36
- return {
37
- ...tezosMetadata,
38
- identifier: coinlib_core_1.SubProtocolSymbols.XTZ_KT,
39
- account: {
40
- ...(tezosMetadata.account ?? {}),
41
- address: {
42
- ...(tezosMetadata.account?.address ?? {}),
43
- regex: '^(tz1|KT1)[1-9A-Za-z]{33}$'
98
+ TezosKtProtocolImpl.prototype.getMetadata = function () {
99
+ var _a, _b, _c;
100
+ return __awaiter(this, void 0, void 0, function () {
101
+ var tezosMetadata;
102
+ return __generator(this, function (_d) {
103
+ switch (_d.label) {
104
+ case 0: return [4 /*yield*/, this.tezos.getMetadata()];
105
+ case 1:
106
+ tezosMetadata = _d.sent();
107
+ return [2 /*return*/, __assign(__assign({}, tezosMetadata), { identifier: coinlib_core_1.SubProtocolSymbols.XTZ_KT, account: __assign(__assign({}, ((_a = tezosMetadata.account) !== null && _a !== void 0 ? _a : {})), { address: __assign(__assign({}, ((_c = (_b = tezosMetadata.account) === null || _b === void 0 ? void 0 : _b.address) !== null && _c !== void 0 ? _c : {})), { regex: '^(tz1|KT1)[1-9A-Za-z]{33}$' }) }) })];
44
108
  }
45
- }
46
- };
47
- }
48
- async getAddressFromPublicKey(publicKey) {
49
- const tzAddress = await this.tezos.getAddressFromPublicKey(publicKey);
50
- return {
51
- address: tzAddress,
52
- cursor: {
53
- hasNext: true,
54
- index: 0
55
- }
56
- };
57
- }
58
- async getInitialAddressesFromPublicKey(publicKey) {
59
- const tzAddress = await this.tezos.getAddressFromPublicKey(publicKey);
60
- const ktAddresses = await this.indexerClient.getDelegatorContracts(tzAddress, INDEX_LIMIT);
61
- const addresses = [tzAddress, ...ktAddresses];
62
- return addresses.map((address, index) => ({
63
- address,
64
- cursor: {
65
- hasNext: index < addresses.length - 1,
66
- index
67
- }
68
- }));
69
- }
70
- async getNextAddressFromPublicKey(publicKey, cursor) {
71
- if (!cursor.hasNext) {
72
- return undefined;
73
- }
74
- const addresses = await this.getInitialAddressesFromPublicKey(publicKey);
75
- const index = cursor.index + 1;
76
- return addresses[index];
77
- }
78
- async getDetailsFromTransaction(transaction, publicKey) {
79
- return this.tezos.getDetailsFromTransaction(transaction, publicKey);
80
- }
81
- async verifyMessageWithPublicKey(message, signature, publicKey) {
82
- return this.tezos.verifyMessageWithPublicKey(message, signature, publicKey);
83
- }
84
- async encryptAsymmetricWithPublicKey(payload, publicKey) {
85
- return this.tezos.encryptAsymmetricWithPublicKey(payload, publicKey);
86
- }
109
+ });
110
+ });
111
+ };
112
+ TezosKtProtocolImpl.prototype.getAddressFromPublicKey = function (publicKey) {
113
+ return __awaiter(this, void 0, void 0, function () {
114
+ var tzAddress;
115
+ return __generator(this, function (_a) {
116
+ switch (_a.label) {
117
+ case 0: return [4 /*yield*/, this.tezos.getAddressFromPublicKey(publicKey)];
118
+ case 1:
119
+ tzAddress = _a.sent();
120
+ return [2 /*return*/, {
121
+ address: tzAddress,
122
+ cursor: {
123
+ hasNext: true,
124
+ index: 0
125
+ }
126
+ }];
127
+ }
128
+ });
129
+ });
130
+ };
131
+ TezosKtProtocolImpl.prototype.getInitialAddressesFromPublicKey = function (publicKey) {
132
+ return __awaiter(this, void 0, void 0, function () {
133
+ var tzAddress, ktAddresses, addresses;
134
+ return __generator(this, function (_a) {
135
+ switch (_a.label) {
136
+ case 0: return [4 /*yield*/, this.tezos.getAddressFromPublicKey(publicKey)];
137
+ case 1:
138
+ tzAddress = _a.sent();
139
+ return [4 /*yield*/, this.indexerClient.getDelegatorContracts(tzAddress, INDEX_LIMIT)];
140
+ case 2:
141
+ ktAddresses = _a.sent();
142
+ addresses = __spreadArray([tzAddress], ktAddresses, true);
143
+ return [2 /*return*/, addresses.map(function (address, index) { return ({
144
+ address: address,
145
+ cursor: {
146
+ hasNext: index < addresses.length - 1,
147
+ index: index
148
+ }
149
+ }); })];
150
+ }
151
+ });
152
+ });
153
+ };
154
+ TezosKtProtocolImpl.prototype.getNextAddressFromPublicKey = function (publicKey, cursor) {
155
+ return __awaiter(this, void 0, void 0, function () {
156
+ var addresses, index;
157
+ return __generator(this, function (_a) {
158
+ switch (_a.label) {
159
+ case 0:
160
+ if (!cursor.hasNext) {
161
+ return [2 /*return*/, undefined];
162
+ }
163
+ return [4 /*yield*/, this.getInitialAddressesFromPublicKey(publicKey)];
164
+ case 1:
165
+ addresses = _a.sent();
166
+ index = cursor.index + 1;
167
+ return [2 /*return*/, addresses[index]];
168
+ }
169
+ });
170
+ });
171
+ };
172
+ TezosKtProtocolImpl.prototype.getDetailsFromTransaction = function (transaction, publicKey) {
173
+ return __awaiter(this, void 0, void 0, function () {
174
+ return __generator(this, function (_a) {
175
+ return [2 /*return*/, this.tezos.getDetailsFromTransaction(transaction, publicKey)];
176
+ });
177
+ });
178
+ };
179
+ TezosKtProtocolImpl.prototype.verifyMessageWithPublicKey = function (message, signature, publicKey) {
180
+ return __awaiter(this, void 0, void 0, function () {
181
+ return __generator(this, function (_a) {
182
+ return [2 /*return*/, this.tezos.verifyMessageWithPublicKey(message, signature, publicKey)];
183
+ });
184
+ });
185
+ };
186
+ TezosKtProtocolImpl.prototype.encryptAsymmetricWithPublicKey = function (payload, publicKey) {
187
+ return __awaiter(this, void 0, void 0, function () {
188
+ return __generator(this, function (_a) {
189
+ return [2 /*return*/, this.tezos.encryptAsymmetricWithPublicKey(payload, publicKey)];
190
+ });
191
+ });
192
+ };
87
193
  // Offline
88
- async getCryptoConfiguration() {
89
- return this.tezos.getCryptoConfiguration();
90
- }
91
- async getKeyPairFromDerivative(derivative) {
92
- return this.tezos.getKeyPairFromDerivative(derivative);
93
- }
94
- async signTransactionWithSecretKey(transaction, secretKey) {
95
- return this.tezos.signTransactionWithSecretKey(transaction, secretKey);
96
- }
97
- async signMessageWithKeyPair(message, keyPair) {
98
- return this.tezos.signMessageWithKeyPair(message, keyPair);
99
- }
100
- async decryptAsymmetricWithKeyPair(payload, keyPair) {
101
- return this.decryptAsymmetricWithKeyPair(payload, keyPair);
102
- }
103
- async encryptAESWithSecretKey(payload, secretKey) {
104
- return this.encryptAESWithSecretKey(payload, secretKey);
105
- }
106
- async decryptAESWithSecretKey(payload, secretKey) {
107
- return this.decryptAESWithSecretKey(payload, secretKey);
108
- }
194
+ TezosKtProtocolImpl.prototype.getCryptoConfiguration = function () {
195
+ return __awaiter(this, void 0, void 0, function () {
196
+ return __generator(this, function (_a) {
197
+ return [2 /*return*/, this.tezos.getCryptoConfiguration()];
198
+ });
199
+ });
200
+ };
201
+ TezosKtProtocolImpl.prototype.getKeyPairFromDerivative = function (derivative) {
202
+ return __awaiter(this, void 0, void 0, function () {
203
+ return __generator(this, function (_a) {
204
+ return [2 /*return*/, this.tezos.getKeyPairFromDerivative(derivative)];
205
+ });
206
+ });
207
+ };
208
+ TezosKtProtocolImpl.prototype.signTransactionWithSecretKey = function (transaction, secretKey) {
209
+ return __awaiter(this, void 0, void 0, function () {
210
+ return __generator(this, function (_a) {
211
+ return [2 /*return*/, this.tezos.signTransactionWithSecretKey(transaction, secretKey)];
212
+ });
213
+ });
214
+ };
215
+ TezosKtProtocolImpl.prototype.signMessageWithKeyPair = function (message, keyPair) {
216
+ return __awaiter(this, void 0, void 0, function () {
217
+ return __generator(this, function (_a) {
218
+ return [2 /*return*/, this.tezos.signMessageWithKeyPair(message, keyPair)];
219
+ });
220
+ });
221
+ };
222
+ TezosKtProtocolImpl.prototype.decryptAsymmetricWithKeyPair = function (payload, keyPair) {
223
+ return __awaiter(this, void 0, void 0, function () {
224
+ return __generator(this, function (_a) {
225
+ return [2 /*return*/, this.decryptAsymmetricWithKeyPair(payload, keyPair)];
226
+ });
227
+ });
228
+ };
229
+ TezosKtProtocolImpl.prototype.encryptAESWithSecretKey = function (payload, secretKey) {
230
+ return __awaiter(this, void 0, void 0, function () {
231
+ return __generator(this, function (_a) {
232
+ return [2 /*return*/, this.encryptAESWithSecretKey(payload, secretKey)];
233
+ });
234
+ });
235
+ };
236
+ TezosKtProtocolImpl.prototype.decryptAESWithSecretKey = function (payload, secretKey) {
237
+ return __awaiter(this, void 0, void 0, function () {
238
+ return __generator(this, function (_a) {
239
+ return [2 /*return*/, this.decryptAESWithSecretKey(payload, secretKey)];
240
+ });
241
+ });
242
+ };
109
243
  // Online
110
- async getNetwork() {
111
- return this.tezos.getNetwork();
112
- }
113
- async getTransactionsForPublicKey(publicKey, limit, cursor) {
114
- const address = await this.getAddressFromPublicKey(publicKey);
115
- return this.getTransactionsForAddress(address.address, limit, cursor);
116
- }
117
- async getTransactionsForAddress(address, limit, cursor) {
118
- const transactions = await this.tezos.getTransactionsForAddress(address, limit, this.toTezosTransactionCursor(cursor, address));
119
- return {
120
- transactions: transactions.transactions,
121
- cursor: {
122
- hasNext: transactions.cursor.hasNext,
123
- offsets: Object.assign(cursor?.offsets ?? {}, { [address]: transactions.cursor.offset })
124
- }
125
- };
126
- }
127
- async getTransactionsForAddresses(addresses, limit, cursor) {
128
- if (addresses.length === 0) {
129
- throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.TEZOS, 'At least one address must be provided.');
130
- }
131
- const singleLimit = new bignumber_1.default(limit).div(addresses.length).decimalPlaces(0, bignumber_1.default.ROUND_FLOOR).toNumber();
132
- const singleLimitCompensation = Math.max(limit - addresses.length * singleLimit, 0);
133
- const allTransactions = await Promise.all(addresses.map(async (address, index) => {
134
- const limit = index === 0 ? singleLimit + singleLimitCompensation : singleLimit;
135
- const transactions = await this.tezos.getTransactionsForAddress(address, limit, this.toTezosTransactionCursor(cursor, address));
136
- return [address, transactions];
137
- }));
138
- return allTransactions.reduce((acc, next) => {
139
- // tslint:disable-next-line: no-object-literal-type-assertion
140
- return {
141
- transactions: acc.transactions.concat(next[1].transactions),
142
- cursor: {
143
- hasNext: acc.cursor.hasNext || next[1].cursor.hasNext,
144
- offsets: Object.assign(acc.cursor.offsets, { [next[0]]: next[1].cursor.offset })
244
+ TezosKtProtocolImpl.prototype.getNetwork = function () {
245
+ return __awaiter(this, void 0, void 0, function () {
246
+ return __generator(this, function (_a) {
247
+ return [2 /*return*/, this.tezos.getNetwork()];
248
+ });
249
+ });
250
+ };
251
+ TezosKtProtocolImpl.prototype.getTransactionsForPublicKey = function (publicKey, limit, cursor) {
252
+ return __awaiter(this, void 0, void 0, function () {
253
+ var address;
254
+ return __generator(this, function (_a) {
255
+ switch (_a.label) {
256
+ case 0: return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
257
+ case 1:
258
+ address = _a.sent();
259
+ return [2 /*return*/, this.getTransactionsForAddress(address.address, limit, cursor)];
145
260
  }
146
- };
147
- }, {
148
- transactions: [],
149
- cursor: { hasNext: false, offsets: {} }
150
- // tslint:disable-next-line: no-object-literal-type-assertion
261
+ });
151
262
  });
152
- }
153
- async getBalanceOfPublicKey(publicKey) {
154
- return this.tezos.getBalanceOfPublicKey(publicKey);
155
- }
156
- async getBalanceOfAddress(address) {
157
- return this.tezos.getBalanceOfAddress(address);
158
- }
159
- async getBalanceOfAddresses(addresses) {
160
- const metadata = await this.getMetadata();
161
- const allBalances = await Promise.all(addresses.map((address) => this.tezos.getBalanceOfAddress(address)));
162
- return allBalances.reduce((acc, next) => ({
163
- total: (0, module_kit_1.newAmount)(new bignumber_1.default((0, module_kit_1.newAmount)(acc.total).blockchain(metadata.units).value).plus((0, module_kit_1.newAmount)(next.total).blockchain(metadata.units).value), 'blockchain')
164
- }));
165
- }
166
- async getTransactionMaxAmountWithPublicKey(publicKey, _to, _configuration) {
167
- const balance = await this.getBalanceOfPublicKey(publicKey);
168
- return balance.total;
169
- }
170
- async getTransactionFeeWithPublicKey(_publicKey, _details, _configuration) {
171
- return (0, module_kit_1.newAmount)(MIGRATION_FEE, 'blockchain');
172
- }
173
- async prepareTransactionWithPublicKey(_publicKey, _details, _configuration) {
174
- throw new errors_1.UnsupportedError(coinlib_core_1.Domain.TEZOS, 'sending funds from KT addresses is not supported. Please use the migration feature.');
175
- }
176
- async broadcastTransaction(transaction) {
177
- return this.tezos.broadcastTransaction(transaction);
178
- }
263
+ };
264
+ TezosKtProtocolImpl.prototype.getTransactionsForAddress = function (address, limit, cursor) {
265
+ var _a;
266
+ return __awaiter(this, void 0, void 0, function () {
267
+ var transactions;
268
+ var _b;
269
+ return __generator(this, function (_c) {
270
+ switch (_c.label) {
271
+ case 0: return [4 /*yield*/, this.tezos.getTransactionsForAddress(address, limit, this.toTezosTransactionCursor(cursor, address))];
272
+ case 1:
273
+ transactions = _c.sent();
274
+ return [2 /*return*/, {
275
+ transactions: transactions.transactions,
276
+ cursor: {
277
+ hasNext: transactions.cursor.hasNext,
278
+ offsets: Object.assign((_a = cursor === null || cursor === void 0 ? void 0 : cursor.offsets) !== null && _a !== void 0 ? _a : {}, (_b = {}, _b[address] = transactions.cursor.offset, _b))
279
+ }
280
+ }];
281
+ }
282
+ });
283
+ });
284
+ };
285
+ TezosKtProtocolImpl.prototype.getTransactionsForAddresses = function (addresses, limit, cursor) {
286
+ return __awaiter(this, void 0, void 0, function () {
287
+ var singleLimit, singleLimitCompensation, allTransactions;
288
+ var _this = this;
289
+ return __generator(this, function (_a) {
290
+ switch (_a.label) {
291
+ case 0:
292
+ if (addresses.length === 0) {
293
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.TEZOS, 'At least one address must be provided.');
294
+ }
295
+ singleLimit = new bignumber_1.default(limit).div(addresses.length).decimalPlaces(0, bignumber_1.default.ROUND_FLOOR).toNumber();
296
+ singleLimitCompensation = Math.max(limit - addresses.length * singleLimit, 0);
297
+ return [4 /*yield*/, Promise.all(addresses.map(function (address, index) { return __awaiter(_this, void 0, void 0, function () {
298
+ var limit, transactions;
299
+ return __generator(this, function (_a) {
300
+ switch (_a.label) {
301
+ case 0:
302
+ limit = index === 0 ? singleLimit + singleLimitCompensation : singleLimit;
303
+ return [4 /*yield*/, this.tezos.getTransactionsForAddress(address, limit, this.toTezosTransactionCursor(cursor, address))];
304
+ case 1:
305
+ transactions = _a.sent();
306
+ return [2 /*return*/, [address, transactions]];
307
+ }
308
+ });
309
+ }); }))];
310
+ case 1:
311
+ allTransactions = _a.sent();
312
+ return [2 /*return*/, allTransactions.reduce(function (acc, next) {
313
+ var _a;
314
+ // tslint:disable-next-line: no-object-literal-type-assertion
315
+ return {
316
+ transactions: acc.transactions.concat(next[1].transactions),
317
+ cursor: {
318
+ hasNext: acc.cursor.hasNext || next[1].cursor.hasNext,
319
+ offsets: Object.assign(acc.cursor.offsets, (_a = {}, _a[next[0]] = next[1].cursor.offset, _a))
320
+ }
321
+ };
322
+ }, {
323
+ transactions: [],
324
+ cursor: { hasNext: false, offsets: {} }
325
+ // tslint:disable-next-line: no-object-literal-type-assertion
326
+ })];
327
+ }
328
+ });
329
+ });
330
+ };
331
+ TezosKtProtocolImpl.prototype.getBalanceOfPublicKey = function (publicKey) {
332
+ return __awaiter(this, void 0, void 0, function () {
333
+ return __generator(this, function (_a) {
334
+ return [2 /*return*/, this.tezos.getBalanceOfPublicKey(publicKey)];
335
+ });
336
+ });
337
+ };
338
+ TezosKtProtocolImpl.prototype.getBalanceOfAddress = function (address) {
339
+ return __awaiter(this, void 0, void 0, function () {
340
+ return __generator(this, function (_a) {
341
+ return [2 /*return*/, this.tezos.getBalanceOfAddress(address)];
342
+ });
343
+ });
344
+ };
345
+ TezosKtProtocolImpl.prototype.getBalanceOfAddresses = function (addresses) {
346
+ return __awaiter(this, void 0, void 0, function () {
347
+ var metadata, allBalances;
348
+ var _this = this;
349
+ return __generator(this, function (_a) {
350
+ switch (_a.label) {
351
+ case 0: return [4 /*yield*/, this.getMetadata()];
352
+ case 1:
353
+ metadata = _a.sent();
354
+ return [4 /*yield*/, Promise.all(addresses.map(function (address) { return _this.tezos.getBalanceOfAddress(address); }))];
355
+ case 2:
356
+ allBalances = _a.sent();
357
+ return [2 /*return*/, allBalances.reduce(function (acc, next) { return ({
358
+ total: (0, module_kit_1.newAmount)(new bignumber_1.default((0, module_kit_1.newAmount)(acc.total).blockchain(metadata.units).value).plus((0, module_kit_1.newAmount)(next.total).blockchain(metadata.units).value), 'blockchain')
359
+ }); })];
360
+ }
361
+ });
362
+ });
363
+ };
364
+ TezosKtProtocolImpl.prototype.getTransactionMaxAmountWithPublicKey = function (publicKey, _to, _configuration) {
365
+ return __awaiter(this, void 0, void 0, function () {
366
+ var balance;
367
+ return __generator(this, function (_a) {
368
+ switch (_a.label) {
369
+ case 0: return [4 /*yield*/, this.getBalanceOfPublicKey(publicKey)];
370
+ case 1:
371
+ balance = _a.sent();
372
+ return [2 /*return*/, balance.total];
373
+ }
374
+ });
375
+ });
376
+ };
377
+ TezosKtProtocolImpl.prototype.getTransactionFeeWithPublicKey = function (_publicKey, _details, _configuration) {
378
+ return __awaiter(this, void 0, void 0, function () {
379
+ return __generator(this, function (_a) {
380
+ return [2 /*return*/, (0, module_kit_1.newAmount)(MIGRATION_FEE, 'blockchain')];
381
+ });
382
+ });
383
+ };
384
+ TezosKtProtocolImpl.prototype.prepareTransactionWithPublicKey = function (_publicKey, _details, _configuration) {
385
+ return __awaiter(this, void 0, void 0, function () {
386
+ return __generator(this, function (_a) {
387
+ throw new errors_1.UnsupportedError(coinlib_core_1.Domain.TEZOS, 'sending funds from KT addresses is not supported. Please use the migration feature.');
388
+ });
389
+ });
390
+ };
391
+ TezosKtProtocolImpl.prototype.broadcastTransaction = function (transaction) {
392
+ return __awaiter(this, void 0, void 0, function () {
393
+ return __generator(this, function (_a) {
394
+ return [2 /*return*/, this.tezos.broadcastTransaction(transaction)];
395
+ });
396
+ });
397
+ };
179
398
  // Custom
180
- async migrateKtContract(publicKey, destinationContract) {
181
- const metadata = await this.getMetadata();
182
- let counter = new bignumber_1.default(1);
183
- let branch = '';
184
- const operations = [];
185
- const tzAddress = await this.tezos.getAddressFromPublicKey(publicKey);
186
- const balanceOfManager = await this.tezos.getBalanceOfAddress(tzAddress);
187
- const wrappedBalanceOfManager = new bignumber_1.default((0, module_kit_1.newAmount)(balanceOfManager.total).blockchain(metadata.units).value);
188
- if (wrappedBalanceOfManager.isLessThan(MIGRATION_FEE)) {
189
- throw new errors_1.BalanceError(coinlib_core_1.Domain.TEZOS, 'not enough balance on tz address for fee');
190
- }
191
- const amount = await this.getBalanceOfAddress(destinationContract);
192
- const wrappedAmount = new bignumber_1.default((0, module_kit_1.newAmount)(amount.total).blockchain(metadata.units).value);
193
- const network = await this.tezos.getNetwork();
194
- const results = (await Promise.all([
195
- axios_0_19_0_1.default.get(`${network.rpcUrl}/chains/main/blocks/head/context/contracts/${tzAddress}/counter`),
196
- axios_0_19_0_1.default.get(`${network.rpcUrl}/chains/main/blocks/head~2/hash`),
197
- axios_0_19_0_1.default.get(`${network.rpcUrl}/chains/main/blocks/head/context/contracts/${tzAddress}/manager_key`)
198
- ]).catch((error) => {
199
- if (error.response && error.response.status !== 404) {
200
- throw new errors_1.NetworkError(coinlib_core_1.Domain.TEZOS, error);
201
- }
202
- }));
203
- counter = new bignumber_1.default(results[0].data).plus(1);
204
- branch = results[1].data;
205
- const accountManager = results[2].data;
206
- // check if we have revealed the address already
207
- if (!accountManager) {
208
- operations.push((0, operations_1.createRevealOperation)(counter, publicKey, tzAddress));
209
- counter = counter.plus(1);
210
- }
211
- let hexDestination = (0, encoding_1.decodeBase58)(tzAddress).toString('hex');
212
- if (hexDestination.length > 42) {
213
- // must be less or equal 21 bytes
214
- throw new errors_1.InvalidValueError(coinlib_core_1.Domain.TEZOS, 'provided source is invalid');
215
- }
216
- while (hexDestination.length !== 42) {
217
- // fill up with 0s to match 21 bytes
218
- hexDestination = `0${hexDestination}`;
219
- }
220
- // Taken from https://blog.nomadic-labs.com/babylon-update-instructions-for-delegation-wallet-developers.html#transfer-from-a-managertz-smart-contract-to-an-implicit-tz-account
221
- const spendOperation = {
222
- kind: TezosOperationType_1.TezosOperationType.TRANSACTION,
223
- fee: MIGRATION_FEE.toString(),
224
- gas_limit: '26283',
225
- storage_limit: '0',
226
- amount: '0',
227
- counter: counter.toFixed(),
228
- destination: destinationContract,
229
- source: tzAddress,
230
- parameters: {
231
- entrypoint: 'do',
232
- value: [
233
- { prim: 'DROP' },
234
- { prim: 'NIL', args: [{ prim: 'operation' }] },
235
- {
236
- prim: 'PUSH',
237
- args: [
238
- { prim: 'key_hash' },
239
- {
240
- bytes: hexDestination
399
+ TezosKtProtocolImpl.prototype.migrateKtContract = function (publicKey, destinationContract) {
400
+ return __awaiter(this, void 0, void 0, function () {
401
+ var metadata, counter, branch, operations, tzAddress, balanceOfManager, wrappedBalanceOfManager, amount, wrappedAmount, network, results, accountManager, hexDestination, spendOperation, tezosWrappedOperation, binaryTx, error_1;
402
+ return __generator(this, function (_a) {
403
+ switch (_a.label) {
404
+ case 0: return [4 /*yield*/, this.getMetadata()];
405
+ case 1:
406
+ metadata = _a.sent();
407
+ counter = new bignumber_1.default(1);
408
+ branch = '';
409
+ operations = [];
410
+ return [4 /*yield*/, this.tezos.getAddressFromPublicKey(publicKey)];
411
+ case 2:
412
+ tzAddress = _a.sent();
413
+ return [4 /*yield*/, this.tezos.getBalanceOfAddress(tzAddress)];
414
+ case 3:
415
+ balanceOfManager = _a.sent();
416
+ wrappedBalanceOfManager = new bignumber_1.default((0, module_kit_1.newAmount)(balanceOfManager.total).blockchain(metadata.units).value);
417
+ if (wrappedBalanceOfManager.isLessThan(MIGRATION_FEE)) {
418
+ throw new errors_1.BalanceError(coinlib_core_1.Domain.TEZOS, 'not enough balance on tz address for fee');
419
+ }
420
+ return [4 /*yield*/, this.getBalanceOfAddress(destinationContract)];
421
+ case 4:
422
+ amount = _a.sent();
423
+ wrappedAmount = new bignumber_1.default((0, module_kit_1.newAmount)(amount.total).blockchain(metadata.units).value);
424
+ return [4 /*yield*/, this.tezos.getNetwork()];
425
+ case 5:
426
+ network = _a.sent();
427
+ return [4 /*yield*/, Promise.all([
428
+ axios_0_19_0_1.default.get("".concat(network.rpcUrl, "/chains/main/blocks/head/context/contracts/").concat(tzAddress, "/counter")),
429
+ axios_0_19_0_1.default.get("".concat(network.rpcUrl, "/chains/main/blocks/head~2/hash")),
430
+ axios_0_19_0_1.default.get("".concat(network.rpcUrl, "/chains/main/blocks/head/context/contracts/").concat(tzAddress, "/manager_key"))
431
+ ]).catch(function (error) {
432
+ if (error.response && error.response.status !== 404) {
433
+ throw new errors_1.NetworkError(coinlib_core_1.Domain.TEZOS, error);
434
+ }
435
+ })];
436
+ case 6:
437
+ results = (_a.sent());
438
+ counter = new bignumber_1.default(results[0].data).plus(1);
439
+ branch = results[1].data;
440
+ accountManager = results[2].data;
441
+ // check if we have revealed the address already
442
+ if (!accountManager) {
443
+ operations.push((0, operations_1.createRevealOperation)(counter, publicKey, tzAddress));
444
+ counter = counter.plus(1);
445
+ }
446
+ hexDestination = (0, encoding_1.decodeBase58)(tzAddress).toString('hex');
447
+ if (hexDestination.length > 42) {
448
+ // must be less or equal 21 bytes
449
+ throw new errors_1.InvalidValueError(coinlib_core_1.Domain.TEZOS, 'provided source is invalid');
450
+ }
451
+ while (hexDestination.length !== 42) {
452
+ // fill up with 0s to match 21 bytes
453
+ hexDestination = "0".concat(hexDestination);
454
+ }
455
+ spendOperation = {
456
+ kind: TezosOperationType_1.TezosOperationType.TRANSACTION,
457
+ fee: MIGRATION_FEE.toString(),
458
+ gas_limit: '26283',
459
+ storage_limit: '0',
460
+ amount: '0',
461
+ counter: counter.toFixed(),
462
+ destination: destinationContract,
463
+ source: tzAddress,
464
+ parameters: {
465
+ entrypoint: 'do',
466
+ value: [
467
+ { prim: 'DROP' },
468
+ { prim: 'NIL', args: [{ prim: 'operation' }] },
469
+ {
470
+ prim: 'PUSH',
471
+ args: [
472
+ { prim: 'key_hash' },
473
+ {
474
+ bytes: hexDestination
475
+ }
476
+ ]
477
+ },
478
+ { prim: 'IMPLICIT_ACCOUNT' },
479
+ {
480
+ prim: 'PUSH',
481
+ args: [{ prim: 'mutez' }, { int: wrappedAmount.toString(10) }]
482
+ },
483
+ { prim: 'UNIT' },
484
+ { prim: 'TRANSFER_TOKENS' },
485
+ { prim: 'CONS' }
486
+ ]
241
487
  }
242
- ]
243
- },
244
- { prim: 'IMPLICIT_ACCOUNT' },
245
- {
246
- prim: 'PUSH',
247
- args: [{ prim: 'mutez' }, { int: wrappedAmount.toString(10) }]
248
- },
249
- { prim: 'UNIT' },
250
- { prim: 'TRANSFER_TOKENS' },
251
- { prim: 'CONS' }
252
- ]
253
- }
254
- };
255
- operations.push(spendOperation);
256
- try {
257
- const tezosWrappedOperation = {
258
- branch,
259
- contents: operations
260
- };
261
- const binaryTx = await this.tezos.forgeOperation(tezosWrappedOperation);
262
- return (0, module_kit_1.newUnsignedTransaction)({ binary: binaryTx });
263
- }
264
- catch (error) {
265
- console.warn(error.message);
266
- throw new errors_1.OperationFailedError(coinlib_core_1.Domain.TEZOS, 'Forging Tezos TX failed.');
267
- }
268
- }
269
- toTezosTransactionCursor(cursor, address) {
488
+ };
489
+ operations.push(spendOperation);
490
+ _a.label = 7;
491
+ case 7:
492
+ _a.trys.push([7, 9, , 10]);
493
+ tezosWrappedOperation = {
494
+ branch: branch,
495
+ contents: operations
496
+ };
497
+ return [4 /*yield*/, this.tezos.forgeOperation(tezosWrappedOperation)];
498
+ case 8:
499
+ binaryTx = _a.sent();
500
+ return [2 /*return*/, (0, module_kit_1.newUnsignedTransaction)({ binary: binaryTx })];
501
+ case 9:
502
+ error_1 = _a.sent();
503
+ console.warn(error_1.message);
504
+ throw new errors_1.OperationFailedError(coinlib_core_1.Domain.TEZOS, 'Forging Tezos TX failed.');
505
+ case 10: return [2 /*return*/];
506
+ }
507
+ });
508
+ });
509
+ };
510
+ TezosKtProtocolImpl.prototype.toTezosTransactionCursor = function (cursor, address) {
270
511
  return cursor && cursor.offsets[address] ? { hasNext: cursor.hasNext, offset: cursor.offsets[address] } : undefined;
271
- }
272
- }
512
+ };
513
+ return TezosKtProtocolImpl;
514
+ }());
273
515
  // Factory
274
- function createTezosKtProtocol(options = {}) {
516
+ function createTezosKtProtocol(options) {
517
+ if (options === void 0) { options = {}; }
275
518
  return new TezosKtProtocolImpl(options);
276
519
  }
520
+ exports.createTezosKtProtocol = createTezosKtProtocol;
277
521
  //# sourceMappingURL=TezosKtProtocol.js.map